face-age 2.0.17 → 2.0.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/faceage.js CHANGED
@@ -1,2 +1,2 @@
1
1
  /*! For license information please see faceage.js.LICENSE.txt */
2
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.FaceAge=t():e.FaceAge=t()}(this,(()=>(()=>{var e={135:function(e,t,n){(function(){"use strict";function e(e){var t=0;return function(){return t<e.length?{done:!1,value:e[t++]}:{done:!0}}}var t="function"==typeof Object.defineProperties?Object.defineProperty:function(e,t,n){return e==Array.prototype||e==Object.prototype||(e[t]=n.value),e},i=function(e){e=["object"==typeof globalThis&&globalThis,e,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof n.g&&n.g];for(var t=0;t<e.length;++t){var i=e[t];if(i&&i.Math==Math)return i}throw Error("Cannot find global object")}(this);function r(e,n){if(n)e:{var r=i;e=e.split(".");for(var o=0;o<e.length-1;o++){var a=e[o];if(!(a in r))break e;r=r[a]}(n=n(o=r[e=e[e.length-1]]))!=o&&null!=n&&t(r,e,{configurable:!0,writable:!0,value:n})}}function o(e){return(e={next:e})[Symbol.iterator]=function(){return this},e}function a(t){var n="undefined"!=typeof Symbol&&Symbol.iterator&&t[Symbol.iterator];return n?n.call(t):{next:e(t)}}function s(){this.i=!1,this.g=null,this.o=void 0,this.j=1,this.m=0,this.h=null}function l(e){if(e.i)throw new TypeError("Generator is already running");e.i=!0}function u(e,t){e.h={F:t,G:!0},e.j=e.m}function c(e){this.g=new s,this.h=e}function d(e,t,n,i){try{var r=t.call(e.g.g,n);if(!(r instanceof Object))throw new TypeError("Iterator result "+r+" is not an object");if(!r.done)return e.g.i=!1,r;var o=r.value}catch(t){return e.g.g=null,u(e.g,t),h(e)}return e.g.g=null,i.call(e.g,o),h(e)}function h(e){for(;e.g.j;)try{var t=e.h(e.g);if(t)return e.g.i=!1,{value:t.value,done:!1}}catch(t){e.g.o=void 0,u(e.g,t)}if(e.g.i=!1,e.g.h){if(t=e.g.h,e.g.h=null,t.G)throw t.F;return{value:t.return,done:!0}}return{value:void 0,done:!0}}function p(e){this.next=function(t){return l(e.g),e.g.g?t=d(e,e.g.g.next,t,e.g.l):(e.g.l(t),t=h(e)),t},this.throw=function(t){return l(e.g),e.g.g?t=d(e,e.g.g.throw,t,e.g.l):(u(e.g,t),t=h(e)),t},this.return=function(t){return function(e,t){l(e.g);var n=e.g.g;return n?d(e,"return"in n?n.return:function(e){return{value:e,done:!0}},t,e.g.return):(e.g.return(t),h(e))}(e,t)},this[Symbol.iterator]=function(){return this}}function m(e){function t(t){return e.next(t)}function n(t){return e.throw(t)}return new Promise((function(i,r){!function e(o){o.done?i(o.value):Promise.resolve(o.value).then(t,n).then(e,r)}(e.next())}))}r("Symbol",(function(e){function n(e,n){this.g=e,t(this,"description",{configurable:!0,writable:!0,value:n})}if(e)return e;n.prototype.toString=function(){return this.g};var i="jscomp_symbol_"+(1e9*Math.random()>>>0)+"_",r=0;return function e(t){if(this instanceof e)throw new TypeError("Symbol is not a constructor");return new n(i+(t||"")+"_"+r++,t)}})),r("Symbol.iterator",(function(n){if(n)return n;n=Symbol("Symbol.iterator");for(var r="Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array".split(" "),a=0;a<r.length;a++){var s=i[r[a]];"function"==typeof s&&"function"!=typeof s.prototype[n]&&t(s.prototype,n,{configurable:!0,writable:!0,value:function(){return o(e(this))}})}return n})),s.prototype.l=function(e){this.o=e},s.prototype.return=function(e){this.h={return:e},this.j=this.m},r("Promise",(function(e){function t(e){this.h=0,this.i=void 0,this.g=[],this.o=!1;var t=this.j();try{e(t.resolve,t.reject)}catch(e){t.reject(e)}}function n(){this.g=null}function r(e){return e instanceof t?e:new t((function(t){t(e)}))}if(e)return e;n.prototype.h=function(e){if(null==this.g){this.g=[];var t=this;this.i((function(){t.l()}))}this.g.push(e)};var o=i.setTimeout;n.prototype.i=function(e){o(e,0)},n.prototype.l=function(){for(;this.g&&this.g.length;){var e=this.g;this.g=[];for(var t=0;t<e.length;++t){var n=e[t];e[t]=null;try{n()}catch(e){this.j(e)}}}this.g=null},n.prototype.j=function(e){this.i((function(){throw e}))},t.prototype.j=function(){function e(e){return function(i){n||(n=!0,e.call(t,i))}}var t=this,n=!1;return{resolve:e(this.A),reject:e(this.l)}},t.prototype.A=function(e){if(e===this)this.l(new TypeError("A Promise cannot resolve to itself"));else if(e instanceof t)this.C(e);else{e:switch(typeof e){case"object":var n=null!=e;break e;case"function":n=!0;break e;default:n=!1}n?this.v(e):this.m(e)}},t.prototype.v=function(e){var t=void 0;try{t=e.then}catch(e){return void this.l(e)}"function"==typeof t?this.D(t,e):this.m(e)},t.prototype.l=function(e){this.u(2,e)},t.prototype.m=function(e){this.u(1,e)},t.prototype.u=function(e,t){if(0!=this.h)throw Error("Cannot settle("+e+", "+t+"): Promise already settled in state"+this.h);this.h=e,this.i=t,2===this.h&&this.B(),this.H()},t.prototype.B=function(){var e=this;o((function(){if(e.I()){var t=i.console;void 0!==t&&t.error(e.i)}}),1)},t.prototype.I=function(){if(this.o)return!1;var e=i.CustomEvent,t=i.Event,n=i.dispatchEvent;return void 0===n||("function"==typeof e?e=new e("unhandledrejection",{cancelable:!0}):"function"==typeof t?e=new t("unhandledrejection",{cancelable:!0}):(e=i.document.createEvent("CustomEvent")).initCustomEvent("unhandledrejection",!1,!0,e),e.promise=this,e.reason=this.i,n(e))},t.prototype.H=function(){if(null!=this.g){for(var e=0;e<this.g.length;++e)s.h(this.g[e]);this.g=null}};var s=new n;return t.prototype.C=function(e){var t=this.j();e.s(t.resolve,t.reject)},t.prototype.D=function(e,t){var n=this.j();try{e.call(t,n.resolve,n.reject)}catch(e){n.reject(e)}},t.prototype.then=function(e,n){function i(e,t){return"function"==typeof e?function(t){try{r(e(t))}catch(e){o(e)}}:t}var r,o,a=new t((function(e,t){r=e,o=t}));return this.s(i(e,r),i(n,o)),a},t.prototype.catch=function(e){return this.then(void 0,e)},t.prototype.s=function(e,t){function n(){switch(i.h){case 1:e(i.i);break;case 2:t(i.i);break;default:throw Error("Unexpected state: "+i.h)}}var i=this;null==this.g?s.h(n):this.g.push(n),this.o=!0},t.resolve=r,t.reject=function(e){return new t((function(t,n){n(e)}))},t.race=function(e){return new t((function(t,n){for(var i=a(e),o=i.next();!o.done;o=i.next())r(o.value).s(t,n)}))},t.all=function(e){var n=a(e),i=n.next();return i.done?r([]):new t((function(e,t){function o(t){return function(n){a[t]=n,0==--s&&e(a)}}var a=[],s=0;do{a.push(void 0),s++,r(i.value).s(o(a.length-1),t),i=n.next()}while(!i.done)}))},t}));var f="function"==typeof Object.assign?Object.assign:function(e,t){for(var n=1;n<arguments.length;n++){var i=arguments[n];if(i)for(var r in i)Object.prototype.hasOwnProperty.call(i,r)&&(e[r]=i[r])}return e};r("Object.assign",(function(e){return e||f}));var g=this||self,v={facingMode:"user",width:640,height:480};function y(e,t){this.video=e,this.i=0,this.h=Object.assign(Object.assign({},v),t)}function b(e){window.requestAnimationFrame((function(){!function(e){var t=null;e.video.paused||e.video.currentTime===e.i||(e.i=e.video.currentTime,t=e.h.onFrame()),t?t.then((function(){b(e)})):b(e)}(e)}))}y.prototype.stop=function(){var e,t,n,i=this;return m(new p(new c((function(r){if(i.g){for(e=i.g.getTracks(),t=a(e),n=t.next();!n.done;n=t.next())n.value.stop();i.g=void 0}r.j=0}))))},y.prototype.start=function(){var e,t=this;return m(new p(new c((function(n){return navigator.mediaDevices&&navigator.mediaDevices.getUserMedia||alert("No navigator.mediaDevices.getUserMedia exists."),e=t.h,n.return(navigator.mediaDevices.getUserMedia({video:{facingMode:e.facingMode,width:e.width,height:e.height}}).then((function(e){!function(e,t){e.g=t,e.video.srcObject=t,e.video.onloadedmetadata=function(){e.video.play(),b(e)}}(t,e)})).catch((function(e){var t="Failed to acquire camera feed: "+e;throw console.error(t),alert(t),e})))}))))};var k,w=["Camera"],S=g;w[0]in S||void 0===S.execScript||S.execScript("var "+w[0]);for(;w.length&&(k=w.shift());)w.length||void 0===y?S=S[k]&&S[k]!==Object.prototype[k]?S[k]:S[k]={}:S[k]=y}).call(this)},982:function(e,t,n){(function(){"use strict";var e;function t(e){var t=0;return function(){return t<e.length?{done:!1,value:e[t++]}:{done:!0}}}var i,r="function"==typeof Object.defineProperties?Object.defineProperty:function(e,t,n){return e==Array.prototype||e==Object.prototype||(e[t]=n.value),e},o=function(e){e=["object"==typeof globalThis&&globalThis,e,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof n.g&&n.g];for(var t=0;t<e.length;++t){var i=e[t];if(i&&i.Math==Math)return i}throw Error("Cannot find global object")}(this);function a(e,t){if(t)e:{var n=o;e=e.split(".");for(var i=0;i<e.length-1;i++){var a=e[i];if(!(a in n))break e;n=n[a]}(t=t(i=n[e=e[e.length-1]]))!=i&&null!=t&&r(n,e,{configurable:!0,writable:!0,value:t})}}function s(e){return(e={next:e})[Symbol.iterator]=function(){return this},e}function l(e){var n="undefined"!=typeof Symbol&&Symbol.iterator&&e[Symbol.iterator];return n?n.call(e):{next:t(e)}}function u(e){if(!(e instanceof Array)){e=l(e);for(var t,n=[];!(t=e.next()).done;)n.push(t.value);e=n}return e}if(a("Symbol",(function(e){function t(e,t){this.g=e,r(this,"description",{configurable:!0,writable:!0,value:t})}if(e)return e;t.prototype.toString=function(){return this.g};var n="jscomp_symbol_"+(1e9*Math.random()>>>0)+"_",i=0;return function e(r){if(this instanceof e)throw new TypeError("Symbol is not a constructor");return new t(n+(r||"")+"_"+i++,r)}})),a("Symbol.iterator",(function(e){if(e)return e;e=Symbol("Symbol.iterator");for(var n="Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array".split(" "),i=0;i<n.length;i++){var a=o[n[i]];"function"==typeof a&&"function"!=typeof a.prototype[e]&&r(a.prototype,e,{configurable:!0,writable:!0,value:function(){return s(t(this))}})}return e})),"function"==typeof Object.setPrototypeOf)i=Object.setPrototypeOf;else{var c;e:{var d={};try{d.__proto__={a:!0},c=d.a;break e}catch(e){}c=!1}i=c?function(e,t){if(e.__proto__=t,e.__proto__!==t)throw new TypeError(e+" is not extensible");return e}:null}var h=i;function p(){this.l=!1,this.h=null,this.j=void 0,this.g=1,this.s=this.m=0,this.i=null}function m(e){if(e.l)throw new TypeError("Generator is already running");e.l=!0}function f(e,t){e.i={K:t,L:!0},e.g=e.m||e.s}function g(e,t,n){return e.g=n,{value:t}}function v(e){this.g=new p,this.h=e}function y(e,t,n,i){try{var r=t.call(e.g.h,n);if(!(r instanceof Object))throw new TypeError("Iterator result "+r+" is not an object");if(!r.done)return e.g.l=!1,r;var o=r.value}catch(t){return e.g.h=null,f(e.g,t),b(e)}return e.g.h=null,i.call(e.g,o),b(e)}function b(e){for(;e.g.g;)try{var t=e.h(e.g);if(t)return e.g.l=!1,{value:t.value,done:!1}}catch(t){e.g.j=void 0,f(e.g,t)}if(e.g.l=!1,e.g.i){if(t=e.g.i,e.g.i=null,t.L)throw t.K;return{value:t.return,done:!0}}return{value:void 0,done:!0}}function k(e){this.next=function(t){return m(e.g),e.g.h?t=y(e,e.g.h.next,t,e.g.o):(e.g.o(t),t=b(e)),t},this.throw=function(t){return m(e.g),e.g.h?t=y(e,e.g.h.throw,t,e.g.o):(f(e.g,t),t=b(e)),t},this.return=function(t){return function(e,t){m(e.g);var n=e.g.h;return n?y(e,"return"in n?n.return:function(e){return{value:e,done:!0}},t,e.g.return):(e.g.return(t),b(e))}(e,t)},this[Symbol.iterator]=function(){return this}}function w(e,t){return t=new k(new v(t)),h&&e.prototype&&h(t,e.prototype),t}p.prototype.o=function(e){this.j=e},p.prototype.return=function(e){this.i={return:e},this.g=this.s};var S="function"==typeof Object.assign?Object.assign:function(e,t){for(var n=1;n<arguments.length;n++){var i=arguments[n];if(i)for(var r in i)Object.prototype.hasOwnProperty.call(i,r)&&(e[r]=i[r])}return e};a("Object.assign",(function(e){return e||S})),a("Promise",(function(e){function t(e){this.h=0,this.i=void 0,this.g=[],this.o=!1;var t=this.j();try{e(t.resolve,t.reject)}catch(e){t.reject(e)}}function n(){this.g=null}function i(e){return e instanceof t?e:new t((function(t){t(e)}))}if(e)return e;n.prototype.h=function(e){if(null==this.g){this.g=[];var t=this;this.i((function(){t.l()}))}this.g.push(e)};var r=o.setTimeout;n.prototype.i=function(e){r(e,0)},n.prototype.l=function(){for(;this.g&&this.g.length;){var e=this.g;this.g=[];for(var t=0;t<e.length;++t){var n=e[t];e[t]=null;try{n()}catch(e){this.j(e)}}}this.g=null},n.prototype.j=function(e){this.i((function(){throw e}))},t.prototype.j=function(){function e(e){return function(i){n||(n=!0,e.call(t,i))}}var t=this,n=!1;return{resolve:e(this.D),reject:e(this.l)}},t.prototype.D=function(e){if(e===this)this.l(new TypeError("A Promise cannot resolve to itself"));else if(e instanceof t)this.I(e);else{e:switch(typeof e){case"object":var n=null!=e;break e;case"function":n=!0;break e;default:n=!1}n?this.C(e):this.m(e)}},t.prototype.C=function(e){var t=void 0;try{t=e.then}catch(e){return void this.l(e)}"function"==typeof t?this.J(t,e):this.m(e)},t.prototype.l=function(e){this.s(2,e)},t.prototype.m=function(e){this.s(1,e)},t.prototype.s=function(e,t){if(0!=this.h)throw Error("Cannot settle("+e+", "+t+"): Promise already settled in state"+this.h);this.h=e,this.i=t,2===this.h&&this.H(),this.A()},t.prototype.H=function(){var e=this;r((function(){if(e.B()){var t=o.console;void 0!==t&&t.error(e.i)}}),1)},t.prototype.B=function(){if(this.o)return!1;var e=o.CustomEvent,t=o.Event,n=o.dispatchEvent;return void 0===n||("function"==typeof e?e=new e("unhandledrejection",{cancelable:!0}):"function"==typeof t?e=new t("unhandledrejection",{cancelable:!0}):(e=o.document.createEvent("CustomEvent")).initCustomEvent("unhandledrejection",!1,!0,e),e.promise=this,e.reason=this.i,n(e))},t.prototype.A=function(){if(null!=this.g){for(var e=0;e<this.g.length;++e)a.h(this.g[e]);this.g=null}};var a=new n;return t.prototype.I=function(e){var t=this.j();e.F(t.resolve,t.reject)},t.prototype.J=function(e,t){var n=this.j();try{e.call(t,n.resolve,n.reject)}catch(e){n.reject(e)}},t.prototype.then=function(e,n){function i(e,t){return"function"==typeof e?function(t){try{r(e(t))}catch(e){o(e)}}:t}var r,o,a=new t((function(e,t){r=e,o=t}));return this.F(i(e,r),i(n,o)),a},t.prototype.catch=function(e){return this.then(void 0,e)},t.prototype.F=function(e,t){function n(){switch(i.h){case 1:e(i.i);break;case 2:t(i.i);break;default:throw Error("Unexpected state: "+i.h)}}var i=this;null==this.g?a.h(n):this.g.push(n),this.o=!0},t.resolve=i,t.reject=function(e){return new t((function(t,n){n(e)}))},t.race=function(e){return new t((function(t,n){for(var r=l(e),o=r.next();!o.done;o=r.next())i(o.value).F(t,n)}))},t.all=function(e){var n=l(e),r=n.next();return r.done?i([]):new t((function(e,t){function o(t){return function(n){a[t]=n,0==--s&&e(a)}}var a=[],s=0;do{a.push(void 0),s++,i(r.value).F(o(a.length-1),t),r=n.next()}while(!r.done)}))},t})),a("Array.prototype.keys",(function(e){return e||function(){return function(e,t){e instanceof String&&(e+="");var n=0,i=!1,r={next:function(){if(!i&&n<e.length){var r=n++;return{value:t(r,e[r]),done:!1}}return i=!0,{done:!0,value:void 0}}};return r[Symbol.iterator]=function(){return r},r}(this,(function(e){return e}))}}));var C=this||self;function P(e,t){e=e.split(".");var n,i=C;e[0]in i||void 0===i.execScript||i.execScript("var "+e[0]);for(;e.length&&(n=e.shift());)e.length||void 0===t?i=i[n]&&i[n]!==Object.prototype[n]?i[n]:i[n]={}:i[n]=t}function x(e,t){var n=void 0;return new(n||(n=Promise))((function(i,r){function o(e){try{s(t.next(e))}catch(e){r(e)}}function a(e){try{s(t.throw(e))}catch(e){r(e)}}function s(e){e.done?i(e.value):new n((function(t){t(e.value)})).then(o,a)}s((t=t.apply(e,void 0)).next())}))}var A=[[61,146],[146,91],[91,181],[181,84],[84,17],[17,314],[314,405],[405,321],[321,375],[375,291],[61,185],[185,40],[40,39],[39,37],[37,0],[0,267],[267,269],[269,270],[270,409],[409,291],[78,95],[95,88],[88,178],[178,87],[87,14],[14,317],[317,402],[402,318],[318,324],[324,308],[78,191],[191,80],[80,81],[81,82],[82,13],[13,312],[312,311],[311,310],[310,415],[415,308]],T=[[263,249],[249,390],[390,373],[373,374],[374,380],[380,381],[381,382],[382,362],[263,466],[466,388],[388,387],[387,386],[386,385],[385,384],[384,398],[398,362]],_=[[276,283],[283,282],[282,295],[295,285],[300,293],[293,334],[334,296],[296,336]],j=[[33,7],[7,163],[163,144],[144,145],[145,153],[153,154],[154,155],[155,133],[33,246],[246,161],[161,160],[160,159],[159,158],[158,157],[157,173],[173,133]],E=[[46,53],[53,52],[52,65],[65,55],[70,63],[63,105],[105,66],[66,107]],R=[[10,338],[338,297],[297,332],[332,284],[284,251],[251,389],[389,356],[356,454],[454,323],[323,361],[361,288],[288,397],[397,365],[365,379],[379,378],[378,400],[400,377],[377,152],[152,148],[148,176],[176,149],[149,150],[150,136],[136,172],[172,58],[58,132],[132,93],[93,234],[234,127],[127,162],[162,21],[21,54],[54,103],[103,67],[67,109],[109,10]],z=[].concat(u(A),u(T),u(_),u(j),u(E),u(R));function I(e,t,n){if(n=e.createShader(0===n?e.VERTEX_SHADER:e.FRAGMENT_SHADER),e.shaderSource(n,t),e.compileShader(n),!e.getShaderParameter(n,e.COMPILE_STATUS))throw Error("Could not compile WebGL shader.\n\n"+e.getShaderInfoLog(n));return n}function L(e,t){this.g=e,this.i=t,this.j=0}function O(e,t){var n=e.i;if(void 0===e.l){var i=I(n,"\n attribute vec2 aVertex;\n attribute vec2 aTex;\n varying vec2 vTex;\n void main(void) {\n gl_Position = vec4(aVertex, 0.0, 1.0);\n vTex = aTex;\n }",0),r=I(n,"\n precision highp float;\n varying vec2 vTex;\n uniform sampler2D sampler0;\n void main(){\n gl_FragColor = texture2D(sampler0, vTex);\n }",1),o=n.createProgram();if(n.attachShader(o,i),n.attachShader(o,r),n.linkProgram(o),!n.getProgramParameter(o,n.LINK_STATUS))throw Error("Could not compile WebGL program.\n\n"+n.getProgramInfoLog(o));i=e.l=o,n.useProgram(i),r=n.getUniformLocation(i,"sampler0"),e.h={v:n.getAttribLocation(i,"aVertex"),u:n.getAttribLocation(i,"aTex"),M:r},e.o=n.createBuffer(),n.bindBuffer(n.ARRAY_BUFFER,e.o),n.enableVertexAttribArray(e.h.v),n.vertexAttribPointer(e.h.v,2,n.FLOAT,!1,0,0),n.bufferData(n.ARRAY_BUFFER,new Float32Array([-1,-1,-1,1,1,1,1,-1]),n.STATIC_DRAW),n.bindBuffer(n.ARRAY_BUFFER,null),e.m=n.createBuffer(),n.bindBuffer(n.ARRAY_BUFFER,e.m),n.enableVertexAttribArray(e.h.u),n.vertexAttribPointer(e.h.u,2,n.FLOAT,!1,0,0),n.bufferData(n.ARRAY_BUFFER,new Float32Array([0,1,0,0,1,0,1,1]),n.STATIC_DRAW),n.bindBuffer(n.ARRAY_BUFFER,null),n.uniform1i(r,0)}i=e.h,n.useProgram(e.l),n.canvas.width=t.width,n.canvas.height=t.height,n.viewport(0,0,t.width,t.height),n.activeTexture(n.TEXTURE0),e.g.bindTexture2d(t.glName),n.enableVertexAttribArray(i.v),n.bindBuffer(n.ARRAY_BUFFER,e.o),n.vertexAttribPointer(i.v,2,n.FLOAT,!1,0,0),n.enableVertexAttribArray(i.u),n.bindBuffer(n.ARRAY_BUFFER,e.m),n.vertexAttribPointer(i.u,2,n.FLOAT,!1,0,0),n.bindFramebuffer(n.DRAW_FRAMEBUFFER?n.DRAW_FRAMEBUFFER:n.FRAMEBUFFER,null),n.drawArrays(n.TRIANGLE_FAN,0,4),n.disableVertexAttribArray(i.v),n.disableVertexAttribArray(i.u),n.bindBuffer(n.ARRAY_BUFFER,null),e.g.bindTexture2d(0)}function M(e){this.g=e}var F=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,9,1,7,0,65,0,253,15,26,11]);function D(e,t){return t+e}function B(e,t){window[e]=t}function N(e){for(var t=[],n=e.size(),i=0;i<n;++i){var r=e.get(i);t.push({x:r.x,y:r.y,z:r.z,visibility:r.hasVisibility?r.visibility:void 0})}return t}function G(e){for(var t=[],n=e.size(),i=0;i<n;++i){var r=e.get(i);t.push({index:r.index,score:r.score,label:r.hasLabel?r.label:void 0,displayName:r.hasDisplayName?r.displayName:void 0})}return t}function H(e,t,n){this.graph=e,this.locateFile=t,this.g=n}function W(e){if(this.h=e,this.listeners={},this.j={},this.l={},this.s=this.D=!0,this.B=Promise.resolve(),this.locateFile=e&&e.locateFile||D,"object"==typeof window)e=window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/";else{if("undefined"==typeof location)throw Error("solutions can only be loaded on a web page or in a web worker");e=location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/"}this.C=e}function U(e,t,n){if(n.isNumber())return n.getNumber();if(n.isRect())return n.getRect();if(n.isLandmarks())return n.getLandmarks();if(n.isLandmarksList())return n.getLandmarksList();if(n.isClassificationsList())return n.getClassificationsList();if(n.isObjectDetectionList())return n.getObjectDetectionList();if(n.isTexture2d()){var i=e.l[t];return i||(i=new L(e.g,e.o),e.l[t]=i),O(e=i,n=n.getTexture2d()),e.i.canvas}}function q(e,t){for(var n=t.name||"$",i=[].concat(u(t.wants)),r=new e.g.StringList,o=l(t.wants),a=o.next();!a.done;a=o.next())r.push_back(a.value);o=e.g.PacketListener.implement({onResults:function(r){return x(e,(function e(){var o,a,s,u,c,d=this;return w(e,(function(e){if(1==e.g){for(o={},a=0;a<t.wants.length;++a)o[i[a]]=r.get(a);var h;if(h=t.outs){for(var p={},m=l(Object.keys(h)),f=m.next();!f.done;f=m.next()){var v=h[f=f.value];if("string"==typeof v)p[f]=U(d,f,o[v]);else{var y=o[v.stream];if(void 0!==y){if("detection_list"===v.type){var b=y.getRectList(),k=y.getLandmarksList();y=y.getClassificationsList();var w=[];if(b)for(var S=0;S<b.size();++S){var C={boundingBox:b.get(S),landmarks:N(k.get(S)),G:G(y.get(S))};w.push(C)}p[f]=w}else if("landmarks"===v.type)b=y.getLandmarks(),p[f]=b?N(b):void 0;else if("landmarks_list"===v.type){if(b=y.getLandmarksList()){for(k=[],y=b.size(),w=0;w<y;++w)S=b.get(w),k.push(N(S));b=k}else b=void 0;p[f]=b}else if("rect_list"===v.type){if(b=y.getRectList()){for(k=[],y=b.size(),w=0;w<y;++w)S=b.get(w),k.push(S);b=k}else b=void 0;p[f]=b}else if("classifications_list"===v.type){if(b=y.getClassificationsList()){for(k=[],y=b.size(),w=0;w<y;++w)S=b.get(w),k.push(G(S));b=k}else b=void 0;p[f]=b}else if("object_detection_list"===v.type){if(b=y.getObjectDetectionList()){for(k=[],y=b.size(),w=0;w<y;++w){var P=b.get(w);C=(S=k).push;for(var x=P.id,A=P.keypoints,T=[],_=A.size(),j=0;j<_;++j){var E=A.get(j);T.push({id:E.id,point3d:{x:E.point3d.x,y:E.point3d.y,z:E.point3d.z},point2d:{x:E.point2d.x,y:E.point2d.y,depth:E.point2d.depth}})}C.call(S,{id:x,keypoints:T,visibility:P.visibility})}b=k}else b=void 0;p[f]=b}else{if("texture"!==v.type)throw Error("Unknown output config type: '"+v.type+"'");(b=d.l[f])||(b=new L(d.g,d.o),d.l[f]=b),O(b,k=y.getTexture2d()),p[f]=b.i.canvas}v.transform&&p[f]&&(p[f]=v.transform(p[f]))}}}h=p}else h=o;return s=h,(u=d.listeners[n])?e=g(e,d.B,3):(e.g=0,e=void 0),e}if(c=u(s))return d.B=c,e.return(c);e.g=0}))}))}}),e.i.attachMultiListener(r,o),r.delete()}function V(e){e=e||{},this.g=new W({locateFile:e.locateFile,files:[{url:"face_detection_solution_packed_assets_loader.js"},{simd:!0,url:"face_detection_solution_simd_wasm_bin.js"},{simd:!1,url:"face_detection_solution_wasm_bin.js"}],graph:{url:"face_detection.binarypb"},listeners:[{wants:["detections","image_transformed"],outs:{image:"image_transformed",detections:{type:"detection_list",stream:"detections"}}}],inputs:{image:{type:"video",stream:"input_frames_gpu"}},options:{selfieMode:{type:1,graphOptionXref:{calculatorType:"GlScalerCalculator",calculatorIndex:1,fieldName:"flip_horizontal"}},minDetectionConfidence:{type:0,graphOptionXref:{calculatorType:"TensorsToDetectionsCalculator",calculatorName:"facedetectionfrontgpu__facedetectionfrontcommon__TensorsToDetectionsCalculator",fieldName:"min_score_thresh"}}}})}H.prototype.toArrayBuffer=function(){return x(this,(function e(){var t,n=this;return w(e,(function(e){return 1==e.g?(n.graph.url?e=g(e,fetch(n.locateFile(n.graph.url,n.g)),3):(e.g=2,e=void 0),e):2!=e.g&&(t=e.j).body?e.return(t.arrayBuffer()):e.return(new ArrayBuffer(0))}))}))},(e=W.prototype).close=function(){return this.i&&this.i.delete(),Promise.resolve()},e.reset=function(){return x(this,(function e(){var t=this;return w(e,(function(e){t.i&&(t.i.reset(),t.j={},t.l={}),e.g=0}))}))},e.setOptions=function(e){if(this.h.options){for(var t=[],n=l(Object.keys(e)),i=n.next();!i.done;i=n.next()){var r=i.value;(i=this.h.options[r])&&i.graphOptionXref&&(r={valueNumber:0===i.type?e[r]:0,valueBoolean:1===i.type&&e[r]},i=Object.assign(Object.assign(Object.assign({},{calculatorName:"",calculatorIndex:0}),i.graphOptionXref),r),t.push(i))}0!==t.length&&(this.s=!0,this.A=t)}},e.initialize=function(){return x(this,(function e(){var t=this;return w(e,(function(e){return 1==e.g?g(e,x(t,(function e(){var t,n,i,r,o,a,s,u,c,d=this;return w(e,(function(e){switch(e.g){case 1:return t=d,d.D?(B("createMediapipeSolutionsWasm",{locateFile:d.locateFile}),B("createMediapipeSolutionsPackedAssets",{locateFile:d.locateFile}),n=d.h.files||[],g(e,function(){return x(this,(function e(){return w(e,(function(e){switch(e.g){case 1:return e.m=2,g(e,WebAssembly.instantiate(F),4);case 4:e.g=3,e.m=0;break;case 2:return e.m=0,e.i=null,e.return(!1);case 3:return e.return(!0)}}))}))}(),2)):e.return();case 2:return i=e.j,g(e,Promise.all(n.map((function(e){return void 0===e.simd||e.simd&&i||!e.simd&&!i?function(e){var t=document.createElement("script");return t.setAttribute("src",e),t.setAttribute("crossorigin","anonymous"),document.body.appendChild(t),new Promise((function(e){t.addEventListener("load",(function(){e()}),!1)}))}(t.locateFile(e.url,t.C)):Promise.resolve()}))),3);case 3:return r=window.createMediapipeSolutionsWasm,o=window.createMediapipeSolutionsPackedAssets,g(e,r(o),4);case 4:return d.g=e.j,d.m=document.createElement("canvas"),d.g.canvas=d.m,d.g.createContext(d.m,!0,!0,{}),d.i=new d.g.SolutionWasm,a=new H(d.h.graph,d.locateFile,d.C),g(e,d.loadGraph(a),5);case 5:if(d.h.listeners)for(s=l(d.h.listeners),u=s.next();!u.done;u=s.next())c=u.value,q(d,c);d.D=!1,e.g=0}}))})),2):g(e,x(t,(function e(){var t,n,i,r,o,a=this;return w(e,(function(e){if(!a.s)return e.return();if(!(t=a.m.getContext("webgl2"))&&!(t=a.m.getContext("webgl")))return alert("Failed to create WebGL canvas context when passing video frame."),e.return();if(a.o=t,a.A){for(n=new a.g.GraphOptionChangeRequestList,i=l(a.A),r=i.next();!r.done;r=i.next())o=r.value,n.push_back(o);a.i.changeOptions(n),n.delete(),a.A=void 0}a.s=!1,e.g=0}))})),0)}))}))},e.loadGraph=function(e){return x(this,(function t(){var n,i=this;return w(t,(function(t){if(1==t.g)return g(t,e.toArrayBuffer(),2);n=t.j,i.i.loadGraph(n),t.g=0}))}))},e.send=function(e,t){return x(this,(function n(){var i,r,o,a,s,u,c,d,h,p=this;return w(n,(function(n){if(1==n.g)return p.h.inputs?(i=1e3*(t||performance.now()),g(n,p.B,2)):n.return();if(3!=n.g)return g(n,p.initialize(),3);for(r=new p.g.PacketDataList,o=l(Object.keys(e)),a=o.next();!a.done;a=o.next())if(s=a.value,u=p.h.inputs[s]){e:{var m=p,f=e[s];switch(u.type){case"video":var v=m.j[u.stream];if(v||(v=new L(m.g,m.o),m.j[u.stream]=v),0===(m=v).j&&(m.j=m.g.createTexture()),f instanceof HTMLVideoElement){var y=f.videoWidth;v=f.videoHeight}else f instanceof HTMLImageElement?(y=f.naturalWidth,v=f.naturalHeight):(y=f.width,v=f.height);v={glName:m.j,width:y,height:v},(y=m.i).canvas.width=v.width,y.canvas.height=v.height,y.activeTexture(y.TEXTURE0),m.g.bindTexture2d(m.j),y.texImage2D(y.TEXTURE_2D,0,y.RGBA,y.RGBA,y.UNSIGNED_BYTE,f),m.g.bindTexture2d(0),m=v;break e;case"detections":for((v=m.j[u.stream])||(v=new M(m.g),m.j[u.stream]=v),(m=v).data||(m.data=new m.g.DetectionListData),m.data.reset(f.length),v=0;v<f.length;++v){y=f[v],m.data.setBoundingBox(v,y.boundingBox);for(var b=0;b<y.landmarks.length;++b){var k=y.landmarks[b],w=!!k.visibility;m.data.addNormalizedLandmark(v,Object.assign(Object.assign({},k),{hasVisibility:w,visibility:w?k.visibility:0}))}for(b=0;b<y.G.length;++b){w=!!(k=y.G[b]).index;var S=!!k.label,C=!!k.displayName;m.data.addClassification(v,{score:k.score,hasIndex:w,index:w?k.index:-1,hasLabel:S,label:S?k.label:"",hasDisplayName:C,displayName:C?k.displayName:""})}}m=m.data;break e;default:m={}}}switch(c=m,d=u.stream,u.type){case"video":r.pushTexture2d(Object.assign(Object.assign({},c),{stream:d,timestamp:i}));break;case"detections":(h=c).stream=d,h.timestamp=i,r.pushDetectionList(h);break;default:throw Error("Unknown input config type: '"+u.type+"'")}}p.i.send(r),r.delete(),n.g=0}))}))},e.onResults=function(e,t){this.listeners[t||"$"]=e},P("Solution",W),P("OptionType",{NUMBER:0,BOOL:1,0:"NUMBER",1:"BOOL"}),(e=V.prototype).close=function(){return this.g.close(),Promise.resolve()},e.onResults=function(e){this.g.onResults(e)},e.initialize=function(){return x(this,(function e(){var t=this;return w(e,(function(e){return g(e,t.g.initialize(),0)}))}))},e.reset=function(){this.g.reset()},e.send=function(e){return x(this,(function t(){var n=this;return w(t,(function(t){return g(t,n.g.send(e),0)}))}))},e.setOptions=function(e){this.g.setOptions(e)},P("FaceDetection",V),P("FACEDETECTION_LIPS",A),P("FACEDETECTION_LEFT_EYE",T),P("FACEDETECTION_LEFT_EYEBROW",_),P("FACEDETECTION_RIGHT_EYE",j),P("FACEDETECTION_RIGHT_EYEBROW",E),P("FACEDETECTION_FACE_OVAL",R),P("FACEDETECTION_CONTOURS",z),P("FACEDETECTION_TESSELATION",[[127,34],[34,139],[139,127],[11,0],[0,37],[37,11],[232,231],[231,120],[120,232],[72,37],[37,39],[39,72],[128,121],[121,47],[47,128],[232,121],[121,128],[128,232],[104,69],[69,67],[67,104],[175,171],[171,148],[148,175],[118,50],[50,101],[101,118],[73,39],[39,40],[40,73],[9,151],[151,108],[108,9],[48,115],[115,131],[131,48],[194,204],[204,211],[211,194],[74,40],[40,185],[185,74],[80,42],[42,183],[183,80],[40,92],[92,186],[186,40],[230,229],[229,118],[118,230],[202,212],[212,214],[214,202],[83,18],[18,17],[17,83],[76,61],[61,146],[146,76],[160,29],[29,30],[30,160],[56,157],[157,173],[173,56],[106,204],[204,194],[194,106],[135,214],[214,192],[192,135],[203,165],[165,98],[98,203],[21,71],[71,68],[68,21],[51,45],[45,4],[4,51],[144,24],[24,23],[23,144],[77,146],[146,91],[91,77],[205,50],[50,187],[187,205],[201,200],[200,18],[18,201],[91,106],[106,182],[182,91],[90,91],[91,181],[181,90],[85,84],[84,17],[17,85],[206,203],[203,36],[36,206],[148,171],[171,140],[140,148],[92,40],[40,39],[39,92],[193,189],[189,244],[244,193],[159,158],[158,28],[28,159],[247,246],[246,161],[161,247],[236,3],[3,196],[196,236],[54,68],[68,104],[104,54],[193,168],[168,8],[8,193],[117,228],[228,31],[31,117],[189,193],[193,55],[55,189],[98,97],[97,99],[99,98],[126,47],[47,100],[100,126],[166,79],[79,218],[218,166],[155,154],[154,26],[26,155],[209,49],[49,131],[131,209],[135,136],[136,150],[150,135],[47,126],[126,217],[217,47],[223,52],[52,53],[53,223],[45,51],[51,134],[134,45],[211,170],[170,140],[140,211],[67,69],[69,108],[108,67],[43,106],[106,91],[91,43],[230,119],[119,120],[120,230],[226,130],[130,247],[247,226],[63,53],[53,52],[52,63],[238,20],[20,242],[242,238],[46,70],[70,156],[156,46],[78,62],[62,96],[96,78],[46,53],[53,63],[63,46],[143,34],[34,227],[227,143],[123,117],[117,111],[111,123],[44,125],[125,19],[19,44],[236,134],[134,51],[51,236],[216,206],[206,205],[205,216],[154,153],[153,22],[22,154],[39,37],[37,167],[167,39],[200,201],[201,208],[208,200],[36,142],[142,100],[100,36],[57,212],[212,202],[202,57],[20,60],[60,99],[99,20],[28,158],[158,157],[157,28],[35,226],[226,113],[113,35],[160,159],[159,27],[27,160],[204,202],[202,210],[210,204],[113,225],[225,46],[46,113],[43,202],[202,204],[204,43],[62,76],[76,77],[77,62],[137,123],[123,116],[116,137],[41,38],[38,72],[72,41],[203,129],[129,142],[142,203],[64,98],[98,240],[240,64],[49,102],[102,64],[64,49],[41,73],[73,74],[74,41],[212,216],[216,207],[207,212],[42,74],[74,184],[184,42],[169,170],[170,211],[211,169],[170,149],[149,176],[176,170],[105,66],[66,69],[69,105],[122,6],[6,168],[168,122],[123,147],[147,187],[187,123],[96,77],[77,90],[90,96],[65,55],[55,107],[107,65],[89,90],[90,180],[180,89],[101,100],[100,120],[120,101],[63,105],[105,104],[104,63],[93,137],[137,227],[227,93],[15,86],[86,85],[85,15],[129,102],[102,49],[49,129],[14,87],[87,86],[86,14],[55,8],[8,9],[9,55],[100,47],[47,121],[121,100],[145,23],[23,22],[22,145],[88,89],[89,179],[179,88],[6,122],[122,196],[196,6],[88,95],[95,96],[96,88],[138,172],[172,136],[136,138],[215,58],[58,172],[172,215],[115,48],[48,219],[219,115],[42,80],[80,81],[81,42],[195,3],[3,51],[51,195],[43,146],[146,61],[61,43],[171,175],[175,199],[199,171],[81,82],[82,38],[38,81],[53,46],[46,225],[225,53],[144,163],[163,110],[110,144],[52,65],[65,66],[66,52],[229,228],[228,117],[117,229],[34,127],[127,234],[234,34],[107,108],[108,69],[69,107],[109,108],[108,151],[151,109],[48,64],[64,235],[235,48],[62,78],[78,191],[191,62],[129,209],[209,126],[126,129],[111,35],[35,143],[143,111],[117,123],[123,50],[50,117],[222,65],[65,52],[52,222],[19,125],[125,141],[141,19],[221,55],[55,65],[65,221],[3,195],[195,197],[197,3],[25,7],[7,33],[33,25],[220,237],[237,44],[44,220],[70,71],[71,139],[139,70],[122,193],[193,245],[245,122],[247,130],[130,33],[33,247],[71,21],[21,162],[162,71],[170,169],[169,150],[150,170],[188,174],[174,196],[196,188],[216,186],[186,92],[92,216],[2,97],[97,167],[167,2],[141,125],[125,241],[241,141],[164,167],[167,37],[37,164],[72,38],[38,12],[12,72],[38,82],[82,13],[13,38],[63,68],[68,71],[71,63],[226,35],[35,111],[111,226],[101,50],[50,205],[205,101],[206,92],[92,165],[165,206],[209,198],[198,217],[217,209],[165,167],[167,97],[97,165],[220,115],[115,218],[218,220],[133,112],[112,243],[243,133],[239,238],[238,241],[241,239],[214,135],[135,169],[169,214],[190,173],[173,133],[133,190],[171,208],[208,32],[32,171],[125,44],[44,237],[237,125],[86,87],[87,178],[178,86],[85,86],[86,179],[179,85],[84,85],[85,180],[180,84],[83,84],[84,181],[181,83],[201,83],[83,182],[182,201],[137,93],[93,132],[132,137],[76,62],[62,183],[183,76],[61,76],[76,184],[184,61],[57,61],[61,185],[185,57],[212,57],[57,186],[186,212],[214,207],[207,187],[187,214],[34,143],[143,156],[156,34],[79,239],[239,237],[237,79],[123,137],[137,177],[177,123],[44,1],[1,4],[4,44],[201,194],[194,32],[32,201],[64,102],[102,129],[129,64],[213,215],[215,138],[138,213],[59,166],[166,219],[219,59],[242,99],[99,97],[97,242],[2,94],[94,141],[141,2],[75,59],[59,235],[235,75],[24,110],[110,228],[228,24],[25,130],[130,226],[226,25],[23,24],[24,229],[229,23],[22,23],[23,230],[230,22],[26,22],[22,231],[231,26],[112,26],[26,232],[232,112],[189,190],[190,243],[243,189],[221,56],[56,190],[190,221],[28,56],[56,221],[221,28],[27,28],[28,222],[222,27],[29,27],[27,223],[223,29],[30,29],[29,224],[224,30],[247,30],[30,225],[225,247],[238,79],[79,20],[20,238],[166,59],[59,75],[75,166],[60,75],[75,240],[240,60],[147,177],[177,215],[215,147],[20,79],[79,166],[166,20],[187,147],[147,213],[213,187],[112,233],[233,244],[244,112],[233,128],[128,245],[245,233],[128,114],[114,188],[188,128],[114,217],[217,174],[174,114],[131,115],[115,220],[220,131],[217,198],[198,236],[236,217],[198,131],[131,134],[134,198],[177,132],[132,58],[58,177],[143,35],[35,124],[124,143],[110,163],[163,7],[7,110],[228,110],[110,25],[25,228],[356,389],[389,368],[368,356],[11,302],[302,267],[267,11],[452,350],[350,349],[349,452],[302,303],[303,269],[269,302],[357,343],[343,277],[277,357],[452,453],[453,357],[357,452],[333,332],[332,297],[297,333],[175,152],[152,377],[377,175],[347,348],[348,330],[330,347],[303,304],[304,270],[270,303],[9,336],[336,337],[337,9],[278,279],[279,360],[360,278],[418,262],[262,431],[431,418],[304,408],[408,409],[409,304],[310,415],[415,407],[407,310],[270,409],[409,410],[410,270],[450,348],[348,347],[347,450],[422,430],[430,434],[434,422],[313,314],[314,17],[17,313],[306,307],[307,375],[375,306],[387,388],[388,260],[260,387],[286,414],[414,398],[398,286],[335,406],[406,418],[418,335],[364,367],[367,416],[416,364],[423,358],[358,327],[327,423],[251,284],[284,298],[298,251],[281,5],[5,4],[4,281],[373,374],[374,253],[253,373],[307,320],[320,321],[321,307],[425,427],[427,411],[411,425],[421,313],[313,18],[18,421],[321,405],[405,406],[406,321],[320,404],[404,405],[405,320],[315,16],[16,17],[17,315],[426,425],[425,266],[266,426],[377,400],[400,369],[369,377],[322,391],[391,269],[269,322],[417,465],[465,464],[464,417],[386,257],[257,258],[258,386],[466,260],[260,388],[388,466],[456,399],[399,419],[419,456],[284,332],[332,333],[333,284],[417,285],[285,8],[8,417],[346,340],[340,261],[261,346],[413,441],[441,285],[285,413],[327,460],[460,328],[328,327],[355,371],[371,329],[329,355],[392,439],[439,438],[438,392],[382,341],[341,256],[256,382],[429,420],[420,360],[360,429],[364,394],[394,379],[379,364],[277,343],[343,437],[437,277],[443,444],[444,283],[283,443],[275,440],[440,363],[363,275],[431,262],[262,369],[369,431],[297,338],[338,337],[337,297],[273,375],[375,321],[321,273],[450,451],[451,349],[349,450],[446,342],[342,467],[467,446],[293,334],[334,282],[282,293],[458,461],[461,462],[462,458],[276,353],[353,383],[383,276],[308,324],[324,325],[325,308],[276,300],[300,293],[293,276],[372,345],[345,447],[447,372],[352,345],[345,340],[340,352],[274,1],[1,19],[19,274],[456,248],[248,281],[281,456],[436,427],[427,425],[425,436],[381,256],[256,252],[252,381],[269,391],[391,393],[393,269],[200,199],[199,428],[428,200],[266,330],[330,329],[329,266],[287,273],[273,422],[422,287],[250,462],[462,328],[328,250],[258,286],[286,384],[384,258],[265,353],[353,342],[342,265],[387,259],[259,257],[257,387],[424,431],[431,430],[430,424],[342,353],[353,276],[276,342],[273,335],[335,424],[424,273],[292,325],[325,307],[307,292],[366,447],[447,345],[345,366],[271,303],[303,302],[302,271],[423,266],[266,371],[371,423],[294,455],[455,460],[460,294],[279,278],[278,294],[294,279],[271,272],[272,304],[304,271],[432,434],[434,427],[427,432],[272,407],[407,408],[408,272],[394,430],[430,431],[431,394],[395,369],[369,400],[400,395],[334,333],[333,299],[299,334],[351,417],[417,168],[168,351],[352,280],[280,411],[411,352],[325,319],[319,320],[320,325],[295,296],[296,336],[336,295],[319,403],[403,404],[404,319],[330,348],[348,349],[349,330],[293,298],[298,333],[333,293],[323,454],[454,447],[447,323],[15,16],[16,315],[315,15],[358,429],[429,279],[279,358],[14,15],[15,316],[316,14],[285,336],[336,9],[9,285],[329,349],[349,350],[350,329],[374,380],[380,252],[252,374],[318,402],[402,403],[403,318],[6,197],[197,419],[419,6],[318,319],[319,325],[325,318],[367,364],[364,365],[365,367],[435,367],[367,397],[397,435],[344,438],[438,439],[439,344],[272,271],[271,311],[311,272],[195,5],[5,281],[281,195],[273,287],[287,291],[291,273],[396,428],[428,199],[199,396],[311,271],[271,268],[268,311],[283,444],[444,445],[445,283],[373,254],[254,339],[339,373],[282,334],[334,296],[296,282],[449,347],[347,346],[346,449],[264,447],[447,454],[454,264],[336,296],[296,299],[299,336],[338,10],[10,151],[151,338],[278,439],[439,455],[455,278],[292,407],[407,415],[415,292],[358,371],[371,355],[355,358],[340,345],[345,372],[372,340],[346,347],[347,280],[280,346],[442,443],[443,282],[282,442],[19,94],[94,370],[370,19],[441,442],[442,295],[295,441],[248,419],[419,197],[197,248],[263,255],[255,359],[359,263],[440,275],[275,274],[274,440],[300,383],[383,368],[368,300],[351,412],[412,465],[465,351],[263,467],[467,466],[466,263],[301,368],[368,389],[389,301],[395,378],[378,379],[379,395],[412,351],[351,419],[419,412],[436,426],[426,322],[322,436],[2,164],[164,393],[393,2],[370,462],[462,461],[461,370],[164,0],[0,267],[267,164],[302,11],[11,12],[12,302],[268,12],[12,13],[13,268],[293,300],[300,301],[301,293],[446,261],[261,340],[340,446],[330,266],[266,425],[425,330],[426,423],[423,391],[391,426],[429,355],[355,437],[437,429],[391,327],[327,326],[326,391],[440,457],[457,438],[438,440],[341,382],[382,362],[362,341],[459,457],[457,461],[461,459],[434,430],[430,394],[394,434],[414,463],[463,362],[362,414],[396,369],[369,262],[262,396],[354,461],[461,457],[457,354],[316,403],[403,402],[402,316],[315,404],[404,403],[403,315],[314,405],[405,404],[404,314],[313,406],[406,405],[405,313],[421,418],[418,406],[406,421],[366,401],[401,361],[361,366],[306,408],[408,407],[407,306],[291,409],[409,408],[408,291],[287,410],[410,409],[409,287],[432,436],[436,410],[410,432],[434,416],[416,411],[411,434],[264,368],[368,383],[383,264],[309,438],[438,457],[457,309],[352,376],[376,401],[401,352],[274,275],[275,4],[4,274],[421,428],[428,262],[262,421],[294,327],[327,358],[358,294],[433,416],[416,367],[367,433],[289,455],[455,439],[439,289],[462,370],[370,326],[326,462],[2,326],[326,370],[370,2],[305,460],[460,455],[455,305],[254,449],[449,448],[448,254],[255,261],[261,446],[446,255],[253,450],[450,449],[449,253],[252,451],[451,450],[450,252],[256,452],[452,451],[451,256],[341,453],[453,452],[452,341],[413,464],[464,463],[463,413],[441,413],[413,414],[414,441],[258,442],[442,441],[441,258],[257,443],[443,442],[442,257],[259,444],[444,443],[443,259],[260,445],[445,444],[444,260],[467,342],[342,445],[445,467],[459,458],[458,250],[250,459],[289,392],[392,290],[290,289],[290,328],[328,460],[460,290],[376,433],[433,435],[435,376],[250,290],[290,392],[392,250],[411,416],[416,433],[433,411],[341,463],[463,464],[464,341],[453,464],[464,465],[465,453],[357,465],[465,412],[412,357],[343,412],[412,399],[399,343],[360,363],[363,440],[440,360],[437,399],[399,456],[456,437],[420,456],[456,363],[363,420],[401,435],[435,288],[288,401],[372,383],[383,353],[353,372],[339,255],[255,249],[249,339],[448,261],[261,255],[255,448],[133,243],[243,190],[190,133],[133,155],[155,112],[112,133],[33,246],[246,247],[247,33],[33,130],[130,25],[25,33],[398,384],[384,286],[286,398],[362,398],[398,414],[414,362],[362,463],[463,341],[341,362],[263,359],[359,467],[467,263],[263,249],[249,255],[255,263],[466,467],[467,260],[260,466],[75,60],[60,166],[166,75],[238,239],[239,79],[79,238],[162,127],[127,139],[139,162],[72,11],[11,37],[37,72],[121,232],[232,120],[120,121],[73,72],[72,39],[39,73],[114,128],[128,47],[47,114],[233,232],[232,128],[128,233],[103,104],[104,67],[67,103],[152,175],[175,148],[148,152],[119,118],[118,101],[101,119],[74,73],[73,40],[40,74],[107,9],[9,108],[108,107],[49,48],[48,131],[131,49],[32,194],[194,211],[211,32],[184,74],[74,185],[185,184],[191,80],[80,183],[183,191],[185,40],[40,186],[186,185],[119,230],[230,118],[118,119],[210,202],[202,214],[214,210],[84,83],[83,17],[17,84],[77,76],[76,146],[146,77],[161,160],[160,30],[30,161],[190,56],[56,173],[173,190],[182,106],[106,194],[194,182],[138,135],[135,192],[192,138],[129,203],[203,98],[98,129],[54,21],[21,68],[68,54],[5,51],[51,4],[4,5],[145,144],[144,23],[23,145],[90,77],[77,91],[91,90],[207,205],[205,187],[187,207],[83,201],[201,18],[18,83],[181,91],[91,182],[182,181],[180,90],[90,181],[181,180],[16,85],[85,17],[17,16],[205,206],[206,36],[36,205],[176,148],[148,140],[140,176],[165,92],[92,39],[39,165],[245,193],[193,244],[244,245],[27,159],[159,28],[28,27],[30,247],[247,161],[161,30],[174,236],[236,196],[196,174],[103,54],[54,104],[104,103],[55,193],[193,8],[8,55],[111,117],[117,31],[31,111],[221,189],[189,55],[55,221],[240,98],[98,99],[99,240],[142,126],[126,100],[100,142],[219,166],[166,218],[218,219],[112,155],[155,26],[26,112],[198,209],[209,131],[131,198],[169,135],[135,150],[150,169],[114,47],[47,217],[217,114],[224,223],[223,53],[53,224],[220,45],[45,134],[134,220],[32,211],[211,140],[140,32],[109,67],[67,108],[108,109],[146,43],[43,91],[91,146],[231,230],[230,120],[120,231],[113,226],[226,247],[247,113],[105,63],[63,52],[52,105],[241,238],[238,242],[242,241],[124,46],[46,156],[156,124],[95,78],[78,96],[96,95],[70,46],[46,63],[63,70],[116,143],[143,227],[227,116],[116,123],[123,111],[111,116],[1,44],[44,19],[19,1],[3,236],[236,51],[51,3],[207,216],[216,205],[205,207],[26,154],[154,22],[22,26],[165,39],[39,167],[167,165],[199,200],[200,208],[208,199],[101,36],[36,100],[100,101],[43,57],[57,202],[202,43],[242,20],[20,99],[99,242],[56,28],[28,157],[157,56],[124,35],[35,113],[113,124],[29,160],[160,27],[27,29],[211,204],[204,210],[210,211],[124,113],[113,46],[46,124],[106,43],[43,204],[204,106],[96,62],[62,77],[77,96],[227,137],[137,116],[116,227],[73,41],[41,72],[72,73],[36,203],[203,142],[142,36],[235,64],[64,240],[240,235],[48,49],[49,64],[64,48],[42,41],[41,74],[74,42],[214,212],[212,207],[207,214],[183,42],[42,184],[184,183],[210,169],[169,211],[211,210],[140,170],[170,176],[176,140],[104,105],[105,69],[69,104],[193,122],[122,168],[168,193],[50,123],[123,187],[187,50],[89,96],[96,90],[90,89],[66,65],[65,107],[107,66],[179,89],[89,180],[180,179],[119,101],[101,120],[120,119],[68,63],[63,104],[104,68],[234,93],[93,227],[227,234],[16,15],[15,85],[85,16],[209,129],[129,49],[49,209],[15,14],[14,86],[86,15],[107,55],[55,9],[9,107],[120,100],[100,121],[121,120],[153,145],[145,22],[22,153],[178,88],[88,179],[179,178],[197,6],[6,196],[196,197],[89,88],[88,96],[96,89],[135,138],[138,136],[136,135],[138,215],[215,172],[172,138],[218,115],[115,219],[219,218],[41,42],[42,81],[81,41],[5,195],[195,51],[51,5],[57,43],[43,61],[61,57],[208,171],[171,199],[199,208],[41,81],[81,38],[38,41],[224,53],[53,225],[225,224],[24,144],[144,110],[110,24],[105,52],[52,66],[66,105],[118,229],[229,117],[117,118],[227,34],[34,234],[234,227],[66,107],[107,69],[69,66],[10,109],[109,151],[151,10],[219,48],[48,235],[235,219],[183,62],[62,191],[191,183],[142,129],[129,126],[126,142],[116,111],[111,143],[143,116],[118,117],[117,50],[50,118],[223,222],[222,52],[52,223],[94,19],[19,141],[141,94],[222,221],[221,65],[65,222],[196,3],[3,197],[197,196],[45,220],[220,44],[44,45],[156,70],[70,139],[139,156],[188,122],[122,245],[245,188],[139,71],[71,162],[162,139],[149,170],[170,150],[150,149],[122,188],[188,196],[196,122],[206,216],[216,92],[92,206],[164,2],[2,167],[167,164],[242,141],[141,241],[241,242],[0,164],[164,37],[37,0],[11,72],[72,12],[12,11],[12,38],[38,13],[13,12],[70,63],[63,71],[71,70],[31,226],[226,111],[111,31],[36,101],[101,205],[205,36],[203,206],[206,165],[165,203],[126,209],[209,217],[217,126],[98,165],[165,97],[97,98],[237,220],[220,218],[218,237],[237,239],[239,241],[241,237],[210,214],[214,169],[169,210],[140,171],[171,32],[32,140],[241,125],[125,237],[237,241],[179,86],[86,178],[178,179],[180,85],[85,179],[179,180],[181,84],[84,180],[180,181],[182,83],[83,181],[181,182],[194,201],[201,182],[182,194],[177,137],[137,132],[132,177],[184,76],[76,183],[183,184],[185,61],[61,184],[184,185],[186,57],[57,185],[185,186],[216,212],[212,186],[186,216],[192,214],[214,187],[187,192],[139,34],[34,156],[156,139],[218,79],[79,237],[237,218],[147,123],[123,177],[177,147],[45,44],[44,4],[4,45],[208,201],[201,32],[32,208],[98,64],[64,129],[129,98],[192,213],[213,138],[138,192],[235,59],[59,219],[219,235],[141,242],[242,97],[97,141],[97,2],[2,141],[141,97],[240,75],[75,235],[235,240],[229,24],[24,228],[228,229],[31,25],[25,226],[226,31],[230,23],[23,229],[229,230],[231,22],[22,230],[230,231],[232,26],[26,231],[231,232],[233,112],[112,232],[232,233],[244,189],[189,243],[243,244],[189,221],[221,190],[190,189],[222,28],[28,221],[221,222],[223,27],[27,222],[222,223],[224,29],[29,223],[223,224],[225,30],[30,224],[224,225],[113,247],[247,225],[225,113],[99,60],[60,240],[240,99],[213,147],[147,215],[215,213],[60,20],[20,166],[166,60],[192,187],[187,213],[213,192],[243,112],[112,244],[244,243],[244,233],[233,245],[245,244],[245,128],[128,188],[188,245],[188,114],[114,174],[174,188],[134,131],[131,220],[220,134],[174,217],[217,236],[236,174],[236,198],[198,134],[134,236],[215,177],[177,58],[58,215],[156,143],[143,124],[124,156],[25,110],[110,7],[7,25],[31,228],[228,25],[25,31],[264,356],[356,368],[368,264],[0,11],[11,267],[267,0],[451,452],[452,349],[349,451],[267,302],[302,269],[269,267],[350,357],[357,277],[277,350],[350,452],[452,357],[357,350],[299,333],[333,297],[297,299],[396,175],[175,377],[377,396],[280,347],[347,330],[330,280],[269,303],[303,270],[270,269],[151,9],[9,337],[337,151],[344,278],[278,360],[360,344],[424,418],[418,431],[431,424],[270,304],[304,409],[409,270],[272,310],[310,407],[407,272],[322,270],[270,410],[410,322],[449,450],[450,347],[347,449],[432,422],[422,434],[434,432],[18,313],[313,17],[17,18],[291,306],[306,375],[375,291],[259,387],[387,260],[260,259],[424,335],[335,418],[418,424],[434,364],[364,416],[416,434],[391,423],[423,327],[327,391],[301,251],[251,298],[298,301],[275,281],[281,4],[4,275],[254,373],[373,253],[253,254],[375,307],[307,321],[321,375],[280,425],[425,411],[411,280],[200,421],[421,18],[18,200],[335,321],[321,406],[406,335],[321,320],[320,405],[405,321],[314,315],[315,17],[17,314],[423,426],[426,266],[266,423],[396,377],[377,369],[369,396],[270,322],[322,269],[269,270],[413,417],[417,464],[464,413],[385,386],[386,258],[258,385],[248,456],[456,419],[419,248],[298,284],[284,333],[333,298],[168,417],[417,8],[8,168],[448,346],[346,261],[261,448],[417,413],[413,285],[285,417],[326,327],[327,328],[328,326],[277,355],[355,329],[329,277],[309,392],[392,438],[438,309],[381,382],[382,256],[256,381],[279,429],[429,360],[360,279],[365,364],[364,379],[379,365],[355,277],[277,437],[437,355],[282,443],[443,283],[283,282],[281,275],[275,363],[363,281],[395,431],[431,369],[369,395],[299,297],[297,337],[337,299],[335,273],[273,321],[321,335],[348,450],[450,349],[349,348],[359,446],[446,467],[467,359],[283,293],[293,282],[282,283],[250,458],[458,462],[462,250],[300,276],[276,383],[383,300],[292,308],[308,325],[325,292],[283,276],[276,293],[293,283],[264,372],[372,447],[447,264],[346,352],[352,340],[340,346],[354,274],[274,19],[19,354],[363,456],[456,281],[281,363],[426,436],[436,425],[425,426],[380,381],[381,252],[252,380],[267,269],[269,393],[393,267],[421,200],[200,428],[428,421],[371,266],[266,329],[329,371],[432,287],[287,422],[422,432],[290,250],[250,328],[328,290],[385,258],[258,384],[384,385],[446,265],[265,342],[342,446],[386,387],[387,257],[257,386],[422,424],[424,430],[430,422],[445,342],[342,276],[276,445],[422,273],[273,424],[424,422],[306,292],[292,307],[307,306],[352,366],[366,345],[345,352],[268,271],[271,302],[302,268],[358,423],[423,371],[371,358],[327,294],[294,460],[460,327],[331,279],[279,294],[294,331],[303,271],[271,304],[304,303],[436,432],[432,427],[427,436],[304,272],[272,408],[408,304],[395,394],[394,431],[431,395],[378,395],[395,400],[400,378],[296,334],[334,299],[299,296],[6,351],[351,168],[168,6],[376,352],[352,411],[411,376],[307,325],[325,320],[320,307],[285,295],[295,336],[336,285],[320,319],[319,404],[404,320],[329,330],[330,349],[349,329],[334,293],[293,333],[333,334],[366,323],[323,447],[447,366],[316,15],[15,315],[315,316],[331,358],[358,279],[279,331],[317,14],[14,316],[316,317],[8,285],[285,9],[9,8],[277,329],[329,350],[350,277],[253,374],[374,252],[252,253],[319,318],[318,403],[403,319],[351,6],[6,419],[419,351],[324,318],[318,325],[325,324],[397,367],[367,365],[365,397],[288,435],[435,397],[397,288],[278,344],[344,439],[439,278],[310,272],[272,311],[311,310],[248,195],[195,281],[281,248],[375,273],[273,291],[291,375],[175,396],[396,199],[199,175],[312,311],[311,268],[268,312],[276,283],[283,445],[445,276],[390,373],[373,339],[339,390],[295,282],[282,296],[296,295],[448,449],[449,346],[346,448],[356,264],[264,454],[454,356],[337,336],[336,299],[299,337],[337,338],[338,151],[151,337],[294,278],[278,455],[455,294],[308,292],[292,415],[415,308],[429,358],[358,355],[355,429],[265,340],[340,372],[372,265],[352,346],[346,280],[280,352],[295,442],[442,282],[282,295],[354,19],[19,370],[370,354],[285,441],[441,295],[295,285],[195,248],[248,197],[197,195],[457,440],[440,274],[274,457],[301,300],[300,368],[368,301],[417,351],[351,465],[465,417],[251,301],[301,389],[389,251],[394,395],[395,379],[379,394],[399,412],[412,419],[419,399],[410,436],[436,322],[322,410],[326,2],[2,393],[393,326],[354,370],[370,461],[461,354],[393,164],[164,267],[267,393],[268,302],[302,12],[12,268],[312,268],[268,13],[13,312],[298,293],[293,301],[301,298],[265,446],[446,340],[340,265],[280,330],[330,425],[425,280],[322,426],[426,391],[391,322],[420,429],[429,437],[437,420],[393,391],[391,326],[326,393],[344,440],[440,438],[438,344],[458,459],[459,461],[461,458],[364,434],[434,394],[394,364],[428,396],[396,262],[262,428],[274,354],[354,457],[457,274],[317,316],[316,402],[402,317],[316,315],[315,403],[403,316],[315,314],[314,404],[404,315],[314,313],[313,405],[405,314],[313,421],[421,406],[406,313],[323,366],[366,361],[361,323],[292,306],[306,407],[407,292],[306,291],[291,408],[408,306],[291,287],[287,409],[409,291],[287,432],[432,410],[410,287],[427,434],[434,411],[411,427],[372,264],[264,383],[383,372],[459,309],[309,457],[457,459],[366,352],[352,401],[401,366],[1,274],[274,4],[4,1],[418,421],[421,262],[262,418],[331,294],[294,358],[358,331],[435,433],[433,367],[367,435],[392,289],[289,439],[439,392],[328,462],[462,326],[326,328],[94,2],[2,370],[370,94],[289,305],[305,455],[455,289],[339,254],[254,448],[448,339],[359,255],[255,446],[446,359],[254,253],[253,449],[449,254],[253,252],[252,450],[450,253],[252,256],[256,451],[451,252],[256,341],[341,452],[452,256],[414,413],[413,463],[463,414],[286,441],[441,414],[414,286],[286,258],[258,441],[441,286],[258,257],[257,442],[442,258],[257,259],[259,443],[443,257],[259,260],[260,444],[444,259],[260,467],[467,445],[445,260],[309,459],[459,250],[250,309],[305,289],[289,290],[290,305],[305,290],[290,460],[460,305],[401,376],[376,435],[435,401],[309,250],[250,392],[392,309],[376,411],[411,433],[433,376],[453,341],[341,464],[464,453],[357,453],[453,465],[465,357],[343,357],[357,412],[412,343],[437,343],[343,399],[399,437],[344,360],[360,440],[440,344],[420,437],[437,456],[456,420],[360,420],[420,363],[363,360],[361,401],[401,288],[288,361],[265,372],[372,353],[353,265],[390,339],[339,249],[249,390],[339,448],[448,255],[255,339]])}).call(this)},129:function(e){e.exports=function(){"use strict";function e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function t(t){for(var n=1;n<arguments.length;n++){var i=null!=arguments[n]?arguments[n]:{};n%2?e(Object(i),!0).forEach((function(e){var n,r,o;n=t,r=e,o=i[e],(r=a(r))in n?Object.defineProperty(n,r,{value:o,enumerable:!0,configurable:!0,writable:!0}):n[r]=o})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):e(Object(i)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))}))}return 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},n(e)}function i(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,a(i.key),i)}}function r(e){return function(e){if(Array.isArray(e))return o(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return o(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?o(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function a(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}var s="undefined"!=typeof window&&void 0!==window.document,l=s?window:{},u=!(!s||!l.document.documentElement)&&"ontouchstart"in l.document.documentElement,c=!!s&&"PointerEvent"in l,d="cropper",h="all",p="crop",m="move",f="zoom",g="e",v="w",y="s",b="n",k="ne",w="nw",S="se",C="sw",P="".concat(d,"-crop"),x="".concat(d,"-disabled"),A="".concat(d,"-hidden"),T="".concat(d,"-hide"),_="".concat(d,"-invisible"),j="".concat(d,"-modal"),E="".concat(d,"-move"),R="".concat(d,"Action"),z="".concat(d,"Preview"),I="crop",L="move",O="none",M="crop",F="cropend",D="cropmove",B="cropstart",N="dblclick",G=c?"pointerdown":u?"touchstart":"mousedown",H=c?"pointermove":u?"touchmove":"mousemove",W=c?"pointerup pointercancel":u?"touchend touchcancel":"mouseup",U="ready",q="resize",V="wheel",Y="zoom",J="image/jpeg",K=/^e|w|s|n|se|sw|ne|nw|all|crop|move|zoom$/,$=/^data:/,Z=/^data:image\/jpeg;base64,/,X=/^img|canvas$/i,Q={viewMode:0,dragMode:I,initialAspectRatio:NaN,aspectRatio:NaN,data:null,preview:"",responsive:!0,restore:!0,checkCrossOrigin:!0,checkOrientation:!0,modal:!0,guides:!0,center:!0,highlight:!0,background:!0,autoCrop:!0,autoCropArea:.8,movable:!0,rotatable:!0,scalable:!0,zoomable:!0,zoomOnTouch:!0,zoomOnWheel:!0,wheelZoomRatio:.1,cropBoxMovable:!0,cropBoxResizable:!0,toggleDragModeOnDblclick:!0,minCanvasWidth:0,minCanvasHeight:0,minCropBoxWidth:0,minCropBoxHeight:0,minContainerWidth:200,minContainerHeight:100,ready:null,cropstart:null,cropmove:null,cropend:null,crop:null,zoom:null},ee=Number.isNaN||l.isNaN;function te(e){return"number"==typeof e&&!ee(e)}var ne=function(e){return e>0&&e<1/0};function ie(e){return void 0===e}function re(e){return"object"===n(e)&&null!==e}var oe=Object.prototype.hasOwnProperty;function ae(e){if(!re(e))return!1;try{var t=e.constructor,n=t.prototype;return t&&n&&oe.call(n,"isPrototypeOf")}catch(e){return!1}}function se(e){return"function"==typeof e}var le=Array.prototype.slice;function ue(e){return Array.from?Array.from(e):le.call(e)}function ce(e,t){return e&&se(t)&&(Array.isArray(e)||te(e.length)?ue(e).forEach((function(n,i){t.call(e,n,i,e)})):re(e)&&Object.keys(e).forEach((function(n){t.call(e,e[n],n,e)}))),e}var de=Object.assign||function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return re(e)&&n.length>0&&n.forEach((function(t){re(t)&&Object.keys(t).forEach((function(n){e[n]=t[n]}))})),e},he=/\.\d*(?:0|9){12}\d*$/;function pe(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e11;return he.test(e)?Math.round(e*t)/t:e}var me=/^width|height|left|top|marginLeft|marginTop$/;function fe(e,t){var n=e.style;ce(t,(function(e,t){me.test(t)&&te(e)&&(e="".concat(e,"px")),n[t]=e}))}function ge(e,t){if(t)if(te(e.length))ce(e,(function(e){ge(e,t)}));else if(e.classList)e.classList.add(t);else{var n=e.className.trim();n?n.indexOf(t)<0&&(e.className="".concat(n," ").concat(t)):e.className=t}}function ve(e,t){t&&(te(e.length)?ce(e,(function(e){ve(e,t)})):e.classList?e.classList.remove(t):e.className.indexOf(t)>=0&&(e.className=e.className.replace(t,"")))}function ye(e,t,n){t&&(te(e.length)?ce(e,(function(e){ye(e,t,n)})):n?ge(e,t):ve(e,t))}var be=/([a-z\d])([A-Z])/g;function ke(e){return e.replace(be,"$1-$2").toLowerCase()}function we(e,t){return re(e[t])?e[t]:e.dataset?e.dataset[t]:e.getAttribute("data-".concat(ke(t)))}function Se(e,t,n){re(n)?e[t]=n:e.dataset?e.dataset[t]=n:e.setAttribute("data-".concat(ke(t)),n)}var Ce=/\s\s*/,Pe=function(){var e=!1;if(s){var t=!1,n=function(){},i=Object.defineProperty({},"once",{get:function(){return e=!0,t},set:function(e){t=e}});l.addEventListener("test",n,i),l.removeEventListener("test",n,i)}return e}();function xe(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},r=n;t.trim().split(Ce).forEach((function(t){if(!Pe){var o=e.listeners;o&&o[t]&&o[t][n]&&(r=o[t][n],delete o[t][n],0===Object.keys(o[t]).length&&delete o[t],0===Object.keys(o).length&&delete e.listeners)}e.removeEventListener(t,r,i)}))}function Ae(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},r=n;t.trim().split(Ce).forEach((function(t){if(i.once&&!Pe){var o=e.listeners,a=void 0===o?{}:o;r=function(){delete a[t][n],e.removeEventListener(t,r,i);for(var o=arguments.length,s=new Array(o),l=0;l<o;l++)s[l]=arguments[l];n.apply(e,s)},a[t]||(a[t]={}),a[t][n]&&e.removeEventListener(t,a[t][n],i),a[t][n]=r,e.listeners=a}e.addEventListener(t,r,i)}))}function Te(e,t,n){var i;return se(Event)&&se(CustomEvent)?i=new CustomEvent(t,{detail:n,bubbles:!0,cancelable:!0}):(i=document.createEvent("CustomEvent")).initCustomEvent(t,!0,!0,n),e.dispatchEvent(i)}function _e(e){var t=e.getBoundingClientRect();return{left:t.left+(window.pageXOffset-document.documentElement.clientLeft),top:t.top+(window.pageYOffset-document.documentElement.clientTop)}}var je=l.location,Ee=/^(\w+:)\/\/([^:/?#]*):?(\d*)/i;function Re(e){var t=e.match(Ee);return null!==t&&(t[1]!==je.protocol||t[2]!==je.hostname||t[3]!==je.port)}function ze(e){var t="timestamp=".concat((new Date).getTime());return e+(-1===e.indexOf("?")?"?":"&")+t}function Ie(e){var t=e.rotate,n=e.scaleX,i=e.scaleY,r=e.translateX,o=e.translateY,a=[];te(r)&&0!==r&&a.push("translateX(".concat(r,"px)")),te(o)&&0!==o&&a.push("translateY(".concat(o,"px)")),te(t)&&0!==t&&a.push("rotate(".concat(t,"deg)")),te(n)&&1!==n&&a.push("scaleX(".concat(n,")")),te(i)&&1!==i&&a.push("scaleY(".concat(i,")"));var s=a.length?a.join(" "):"none";return{WebkitTransform:s,msTransform:s,transform:s}}function Le(e,n){var i=e.pageX,r=e.pageY,o={endX:i,endY:r};return n?o:t({startX:i,startY:r},o)}function Oe(e){var t=e.aspectRatio,n=e.height,i=e.width,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"contain",o=ne(i),a=ne(n);if(o&&a){var s=n*t;"contain"===r&&s>i||"cover"===r&&s<i?n=i/t:i=n*t}else o?n=i/t:a&&(i=n*t);return{width:i,height:n}}var Me=String.fromCharCode;var Fe=/^data:.*,/;function De(e){var t,n=new DataView(e);try{var i,r,o;if(255===n.getUint8(0)&&216===n.getUint8(1))for(var a=n.byteLength,s=2;s+1<a;){if(255===n.getUint8(s)&&225===n.getUint8(s+1)){r=s;break}s+=1}if(r){var l=r+10;if("Exif"===function(e,t,n){var i="";n+=t;for(var r=t;r<n;r+=1)i+=Me(e.getUint8(r));return i}(n,r+4,4)){var u=n.getUint16(l);if(((i=18761===u)||19789===u)&&42===n.getUint16(l+2,i)){var c=n.getUint32(l+4,i);c>=8&&(o=l+c)}}}if(o){var d,h,p=n.getUint16(o,i);for(h=0;h<p;h+=1)if(d=o+12*h+2,274===n.getUint16(d,i)){d+=8,t=n.getUint16(d,i),n.setUint16(d,1,i);break}}}catch(e){t=1}return t}var Be={render:function(){this.initContainer(),this.initCanvas(),this.initCropBox(),this.renderCanvas(),this.cropped&&this.renderCropBox()},initContainer:function(){var e=this.element,t=this.options,n=this.container,i=this.cropper,r=Number(t.minContainerWidth),o=Number(t.minContainerHeight);ge(i,A),ve(e,A);var a={width:Math.max(n.offsetWidth,r>=0?r:200),height:Math.max(n.offsetHeight,o>=0?o:100)};this.containerData=a,fe(i,{width:a.width,height:a.height}),ge(e,A),ve(i,A)},initCanvas:function(){var e=this.containerData,t=this.imageData,n=this.options.viewMode,i=Math.abs(t.rotate)%180==90,r=i?t.naturalHeight:t.naturalWidth,o=i?t.naturalWidth:t.naturalHeight,a=r/o,s=e.width,l=e.height;e.height*a>e.width?3===n?s=e.height*a:l=e.width/a:3===n?l=e.width/a:s=e.height*a;var u={aspectRatio:a,naturalWidth:r,naturalHeight:o,width:s,height:l};this.canvasData=u,this.limited=1===n||2===n,this.limitCanvas(!0,!0),u.width=Math.min(Math.max(u.width,u.minWidth),u.maxWidth),u.height=Math.min(Math.max(u.height,u.minHeight),u.maxHeight),u.left=(e.width-u.width)/2,u.top=(e.height-u.height)/2,u.oldLeft=u.left,u.oldTop=u.top,this.initialCanvasData=de({},u)},limitCanvas:function(e,t){var n=this.options,i=this.containerData,r=this.canvasData,o=this.cropBoxData,a=n.viewMode,s=r.aspectRatio,l=this.cropped&&o;if(e){var u=Number(n.minCanvasWidth)||0,c=Number(n.minCanvasHeight)||0;a>1?(u=Math.max(u,i.width),c=Math.max(c,i.height),3===a&&(c*s>u?u=c*s:c=u/s)):a>0&&(u?u=Math.max(u,l?o.width:0):c?c=Math.max(c,l?o.height:0):l&&(u=o.width,(c=o.height)*s>u?u=c*s:c=u/s));var d=Oe({aspectRatio:s,width:u,height:c});u=d.width,c=d.height,r.minWidth=u,r.minHeight=c,r.maxWidth=1/0,r.maxHeight=1/0}if(t)if(a>(l?0:1)){var h=i.width-r.width,p=i.height-r.height;r.minLeft=Math.min(0,h),r.minTop=Math.min(0,p),r.maxLeft=Math.max(0,h),r.maxTop=Math.max(0,p),l&&this.limited&&(r.minLeft=Math.min(o.left,o.left+(o.width-r.width)),r.minTop=Math.min(o.top,o.top+(o.height-r.height)),r.maxLeft=o.left,r.maxTop=o.top,2===a&&(r.width>=i.width&&(r.minLeft=Math.min(0,h),r.maxLeft=Math.max(0,h)),r.height>=i.height&&(r.minTop=Math.min(0,p),r.maxTop=Math.max(0,p))))}else r.minLeft=-r.width,r.minTop=-r.height,r.maxLeft=i.width,r.maxTop=i.height},renderCanvas:function(e,t){var n=this.canvasData,i=this.imageData;if(t){var r=function(e){var t=e.width,n=e.height,i=e.degree;if(90==(i=Math.abs(i)%180))return{width:n,height:t};var r=i%90*Math.PI/180,o=Math.sin(r),a=Math.cos(r),s=t*a+n*o,l=t*o+n*a;return i>90?{width:l,height:s}:{width:s,height:l}}({width:i.naturalWidth*Math.abs(i.scaleX||1),height:i.naturalHeight*Math.abs(i.scaleY||1),degree:i.rotate||0}),o=r.width,a=r.height,s=n.width*(o/n.naturalWidth),l=n.height*(a/n.naturalHeight);n.left-=(s-n.width)/2,n.top-=(l-n.height)/2,n.width=s,n.height=l,n.aspectRatio=o/a,n.naturalWidth=o,n.naturalHeight=a,this.limitCanvas(!0,!1)}(n.width>n.maxWidth||n.width<n.minWidth)&&(n.left=n.oldLeft),(n.height>n.maxHeight||n.height<n.minHeight)&&(n.top=n.oldTop),n.width=Math.min(Math.max(n.width,n.minWidth),n.maxWidth),n.height=Math.min(Math.max(n.height,n.minHeight),n.maxHeight),this.limitCanvas(!1,!0),n.left=Math.min(Math.max(n.left,n.minLeft),n.maxLeft),n.top=Math.min(Math.max(n.top,n.minTop),n.maxTop),n.oldLeft=n.left,n.oldTop=n.top,fe(this.canvas,de({width:n.width,height:n.height},Ie({translateX:n.left,translateY:n.top}))),this.renderImage(e),this.cropped&&this.limited&&this.limitCropBox(!0,!0)},renderImage:function(e){var t=this.canvasData,n=this.imageData,i=n.naturalWidth*(t.width/t.naturalWidth),r=n.naturalHeight*(t.height/t.naturalHeight);de(n,{width:i,height:r,left:(t.width-i)/2,top:(t.height-r)/2}),fe(this.image,de({width:n.width,height:n.height},Ie(de({translateX:n.left,translateY:n.top},n)))),e&&this.output()},initCropBox:function(){var e=this.options,t=this.canvasData,n=e.aspectRatio||e.initialAspectRatio,i=Number(e.autoCropArea)||.8,r={width:t.width,height:t.height};n&&(t.height*n>t.width?r.height=r.width/n:r.width=r.height*n),this.cropBoxData=r,this.limitCropBox(!0,!0),r.width=Math.min(Math.max(r.width,r.minWidth),r.maxWidth),r.height=Math.min(Math.max(r.height,r.minHeight),r.maxHeight),r.width=Math.max(r.minWidth,r.width*i),r.height=Math.max(r.minHeight,r.height*i),r.left=t.left+(t.width-r.width)/2,r.top=t.top+(t.height-r.height)/2,r.oldLeft=r.left,r.oldTop=r.top,this.initialCropBoxData=de({},r)},limitCropBox:function(e,t){var n=this.options,i=this.containerData,r=this.canvasData,o=this.cropBoxData,a=this.limited,s=n.aspectRatio;if(e){var l=Number(n.minCropBoxWidth)||0,u=Number(n.minCropBoxHeight)||0,c=a?Math.min(i.width,r.width,r.width+r.left,i.width-r.left):i.width,d=a?Math.min(i.height,r.height,r.height+r.top,i.height-r.top):i.height;l=Math.min(l,i.width),u=Math.min(u,i.height),s&&(l&&u?u*s>l?u=l/s:l=u*s:l?u=l/s:u&&(l=u*s),d*s>c?d=c/s:c=d*s),o.minWidth=Math.min(l,c),o.minHeight=Math.min(u,d),o.maxWidth=c,o.maxHeight=d}t&&(a?(o.minLeft=Math.max(0,r.left),o.minTop=Math.max(0,r.top),o.maxLeft=Math.min(i.width,r.left+r.width)-o.width,o.maxTop=Math.min(i.height,r.top+r.height)-o.height):(o.minLeft=0,o.minTop=0,o.maxLeft=i.width-o.width,o.maxTop=i.height-o.height))},renderCropBox:function(){var e=this.options,t=this.containerData,n=this.cropBoxData;(n.width>n.maxWidth||n.width<n.minWidth)&&(n.left=n.oldLeft),(n.height>n.maxHeight||n.height<n.minHeight)&&(n.top=n.oldTop),n.width=Math.min(Math.max(n.width,n.minWidth),n.maxWidth),n.height=Math.min(Math.max(n.height,n.minHeight),n.maxHeight),this.limitCropBox(!1,!0),n.left=Math.min(Math.max(n.left,n.minLeft),n.maxLeft),n.top=Math.min(Math.max(n.top,n.minTop),n.maxTop),n.oldLeft=n.left,n.oldTop=n.top,e.movable&&e.cropBoxMovable&&Se(this.face,R,n.width>=t.width&&n.height>=t.height?m:h),fe(this.cropBox,de({width:n.width,height:n.height},Ie({translateX:n.left,translateY:n.top}))),this.cropped&&this.limited&&this.limitCanvas(!0,!0),this.disabled||this.output()},output:function(){this.preview(),Te(this.element,M,this.getData())}},Ne={initPreview:function(){var e=this.element,t=this.crossOrigin,n=this.options.preview,i=t?this.crossOriginUrl:this.url,r=e.alt||"The image to preview",o=document.createElement("img");if(t&&(o.crossOrigin=t),o.src=i,o.alt=r,this.viewBox.appendChild(o),this.viewBoxImage=o,n){var a=n;"string"==typeof n?a=e.ownerDocument.querySelectorAll(n):n.querySelector&&(a=[n]),this.previews=a,ce(a,(function(e){var n=document.createElement("img");Se(e,z,{width:e.offsetWidth,height:e.offsetHeight,html:e.innerHTML}),t&&(n.crossOrigin=t),n.src=i,n.alt=r,n.style.cssText='display:block;width:100%;height:auto;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;image-orientation:0deg!important;"',e.innerHTML="",e.appendChild(n)}))}},resetPreview:function(){ce(this.previews,(function(e){var t=we(e,z);fe(e,{width:t.width,height:t.height}),e.innerHTML=t.html,function(e,t){if(re(e[t]))try{delete e[t]}catch(n){e[t]=void 0}else if(e.dataset)try{delete e.dataset[t]}catch(n){e.dataset[t]=void 0}else e.removeAttribute("data-".concat(ke(t)))}(e,z)}))},preview:function(){var e=this.imageData,t=this.canvasData,n=this.cropBoxData,i=n.width,r=n.height,o=e.width,a=e.height,s=n.left-t.left-e.left,l=n.top-t.top-e.top;this.cropped&&!this.disabled&&(fe(this.viewBoxImage,de({width:o,height:a},Ie(de({translateX:-s,translateY:-l},e)))),ce(this.previews,(function(t){var n=we(t,z),u=n.width,c=n.height,d=u,h=c,p=1;i&&(h=r*(p=u/i)),r&&h>c&&(d=i*(p=c/r),h=c),fe(t,{width:d,height:h}),fe(t.getElementsByTagName("img")[0],de({width:o*p,height:a*p},Ie(de({translateX:-s*p,translateY:-l*p},e))))})))}},Ge={bind:function(){var e=this.element,t=this.options,n=this.cropper;se(t.cropstart)&&Ae(e,B,t.cropstart),se(t.cropmove)&&Ae(e,D,t.cropmove),se(t.cropend)&&Ae(e,F,t.cropend),se(t.crop)&&Ae(e,M,t.crop),se(t.zoom)&&Ae(e,Y,t.zoom),Ae(n,G,this.onCropStart=this.cropStart.bind(this)),t.zoomable&&t.zoomOnWheel&&Ae(n,V,this.onWheel=this.wheel.bind(this),{passive:!1,capture:!0}),t.toggleDragModeOnDblclick&&Ae(n,N,this.onDblclick=this.dblclick.bind(this)),Ae(e.ownerDocument,H,this.onCropMove=this.cropMove.bind(this)),Ae(e.ownerDocument,W,this.onCropEnd=this.cropEnd.bind(this)),t.responsive&&Ae(window,q,this.onResize=this.resize.bind(this))},unbind:function(){var e=this.element,t=this.options,n=this.cropper;se(t.cropstart)&&xe(e,B,t.cropstart),se(t.cropmove)&&xe(e,D,t.cropmove),se(t.cropend)&&xe(e,F,t.cropend),se(t.crop)&&xe(e,M,t.crop),se(t.zoom)&&xe(e,Y,t.zoom),xe(n,G,this.onCropStart),t.zoomable&&t.zoomOnWheel&&xe(n,V,this.onWheel,{passive:!1,capture:!0}),t.toggleDragModeOnDblclick&&xe(n,N,this.onDblclick),xe(e.ownerDocument,H,this.onCropMove),xe(e.ownerDocument,W,this.onCropEnd),t.responsive&&xe(window,q,this.onResize)}},He={resize:function(){if(!this.disabled){var e,t,n=this.options,i=this.container,r=this.containerData,o=i.offsetWidth/r.width,a=i.offsetHeight/r.height,s=Math.abs(o-1)>Math.abs(a-1)?o:a;1!==s&&(n.restore&&(e=this.getCanvasData(),t=this.getCropBoxData()),this.render(),n.restore&&(this.setCanvasData(ce(e,(function(t,n){e[n]=t*s}))),this.setCropBoxData(ce(t,(function(e,n){t[n]=e*s})))))}},dblclick:function(){var e,t;this.disabled||this.options.dragMode===O||this.setDragMode((e=this.dragBox,t=P,(e.classList?e.classList.contains(t):e.className.indexOf(t)>-1)?L:I))},wheel:function(e){var t=this,n=Number(this.options.wheelZoomRatio)||.1,i=1;this.disabled||(e.preventDefault(),this.wheeling||(this.wheeling=!0,setTimeout((function(){t.wheeling=!1}),50),e.deltaY?i=e.deltaY>0?1:-1:e.wheelDelta?i=-e.wheelDelta/120:e.detail&&(i=e.detail>0?1:-1),this.zoom(-i*n,e)))},cropStart:function(e){var t=e.buttons,n=e.button;if(!(this.disabled||("mousedown"===e.type||"pointerdown"===e.type&&"mouse"===e.pointerType)&&(te(t)&&1!==t||te(n)&&0!==n||e.ctrlKey))){var i,r=this.options,o=this.pointers;e.changedTouches?ce(e.changedTouches,(function(e){o[e.identifier]=Le(e)})):o[e.pointerId||0]=Le(e),i=Object.keys(o).length>1&&r.zoomable&&r.zoomOnTouch?f:we(e.target,R),K.test(i)&&!1!==Te(this.element,B,{originalEvent:e,action:i})&&(e.preventDefault(),this.action=i,this.cropping=!1,i===p&&(this.cropping=!0,ge(this.dragBox,j)))}},cropMove:function(e){var t=this.action;if(!this.disabled&&t){var n=this.pointers;e.preventDefault(),!1!==Te(this.element,D,{originalEvent:e,action:t})&&(e.changedTouches?ce(e.changedTouches,(function(e){de(n[e.identifier]||{},Le(e,!0))})):de(n[e.pointerId||0]||{},Le(e,!0)),this.change(e))}},cropEnd:function(e){if(!this.disabled){var t=this.action,n=this.pointers;e.changedTouches?ce(e.changedTouches,(function(e){delete n[e.identifier]})):delete n[e.pointerId||0],t&&(e.preventDefault(),Object.keys(n).length||(this.action=""),this.cropping&&(this.cropping=!1,ye(this.dragBox,j,this.cropped&&this.options.modal)),Te(this.element,F,{originalEvent:e,action:t}))}}},We={change:function(e){var n,i=this.options,r=this.canvasData,o=this.containerData,a=this.cropBoxData,s=this.pointers,l=this.action,u=i.aspectRatio,c=a.left,d=a.top,P=a.width,x=a.height,T=c+P,_=d+x,j=0,E=0,R=o.width,z=o.height,I=!0;!u&&e.shiftKey&&(u=P&&x?P/x:1),this.limited&&(j=a.minLeft,E=a.minTop,R=j+Math.min(o.width,r.width,r.left+r.width),z=E+Math.min(o.height,r.height,r.top+r.height));var L=s[Object.keys(s)[0]],O={x:L.endX-L.startX,y:L.endY-L.startY},M=function(e){switch(e){case g:T+O.x>R&&(O.x=R-T);break;case v:c+O.x<j&&(O.x=j-c);break;case b:d+O.y<E&&(O.y=E-d);break;case y:_+O.y>z&&(O.y=z-_)}};switch(l){case h:c+=O.x,d+=O.y;break;case g:if(O.x>=0&&(T>=R||u&&(d<=E||_>=z))){I=!1;break}M(g),(P+=O.x)<0&&(l=v,c-=P=-P),u&&(x=P/u,d+=(a.height-x)/2);break;case b:if(O.y<=0&&(d<=E||u&&(c<=j||T>=R))){I=!1;break}M(b),x-=O.y,d+=O.y,x<0&&(l=y,d-=x=-x),u&&(P=x*u,c+=(a.width-P)/2);break;case v:if(O.x<=0&&(c<=j||u&&(d<=E||_>=z))){I=!1;break}M(v),P-=O.x,c+=O.x,P<0&&(l=g,c-=P=-P),u&&(x=P/u,d+=(a.height-x)/2);break;case y:if(O.y>=0&&(_>=z||u&&(c<=j||T>=R))){I=!1;break}M(y),(x+=O.y)<0&&(l=b,d-=x=-x),u&&(P=x*u,c+=(a.width-P)/2);break;case k:if(u){if(O.y<=0&&(d<=E||T>=R)){I=!1;break}M(b),x-=O.y,d+=O.y,P=x*u}else M(b),M(g),O.x>=0?T<R?P+=O.x:O.y<=0&&d<=E&&(I=!1):P+=O.x,O.y<=0?d>E&&(x-=O.y,d+=O.y):(x-=O.y,d+=O.y);P<0&&x<0?(l=C,d-=x=-x,c-=P=-P):P<0?(l=w,c-=P=-P):x<0&&(l=S,d-=x=-x);break;case w:if(u){if(O.y<=0&&(d<=E||c<=j)){I=!1;break}M(b),x-=O.y,d+=O.y,P=x*u,c+=a.width-P}else M(b),M(v),O.x<=0?c>j?(P-=O.x,c+=O.x):O.y<=0&&d<=E&&(I=!1):(P-=O.x,c+=O.x),O.y<=0?d>E&&(x-=O.y,d+=O.y):(x-=O.y,d+=O.y);P<0&&x<0?(l=S,d-=x=-x,c-=P=-P):P<0?(l=k,c-=P=-P):x<0&&(l=C,d-=x=-x);break;case C:if(u){if(O.x<=0&&(c<=j||_>=z)){I=!1;break}M(v),P-=O.x,c+=O.x,x=P/u}else M(y),M(v),O.x<=0?c>j?(P-=O.x,c+=O.x):O.y>=0&&_>=z&&(I=!1):(P-=O.x,c+=O.x),O.y>=0?_<z&&(x+=O.y):x+=O.y;P<0&&x<0?(l=k,d-=x=-x,c-=P=-P):P<0?(l=S,c-=P=-P):x<0&&(l=w,d-=x=-x);break;case S:if(u){if(O.x>=0&&(T>=R||_>=z)){I=!1;break}M(g),x=(P+=O.x)/u}else M(y),M(g),O.x>=0?T<R?P+=O.x:O.y>=0&&_>=z&&(I=!1):P+=O.x,O.y>=0?_<z&&(x+=O.y):x+=O.y;P<0&&x<0?(l=w,d-=x=-x,c-=P=-P):P<0?(l=C,c-=P=-P):x<0&&(l=k,d-=x=-x);break;case m:this.move(O.x,O.y),I=!1;break;case f:this.zoom(function(e){var n=t({},e),i=0;return ce(e,(function(e,t){delete n[t],ce(n,(function(t){var n=Math.abs(e.startX-t.startX),r=Math.abs(e.startY-t.startY),o=Math.abs(e.endX-t.endX),a=Math.abs(e.endY-t.endY),s=Math.sqrt(n*n+r*r),l=(Math.sqrt(o*o+a*a)-s)/s;Math.abs(l)>Math.abs(i)&&(i=l)}))})),i}(s),e),I=!1;break;case p:if(!O.x||!O.y){I=!1;break}n=_e(this.cropper),c=L.startX-n.left,d=L.startY-n.top,P=a.minWidth,x=a.minHeight,O.x>0?l=O.y>0?S:k:O.x<0&&(c-=P,l=O.y>0?C:w),O.y<0&&(d-=x),this.cropped||(ve(this.cropBox,A),this.cropped=!0,this.limited&&this.limitCropBox(!0,!0))}I&&(a.width=P,a.height=x,a.left=c,a.top=d,this.action=l,this.renderCropBox()),ce(s,(function(e){e.startX=e.endX,e.startY=e.endY}))}},Ue={crop:function(){return!this.ready||this.cropped||this.disabled||(this.cropped=!0,this.limitCropBox(!0,!0),this.options.modal&&ge(this.dragBox,j),ve(this.cropBox,A),this.setCropBoxData(this.initialCropBoxData)),this},reset:function(){return this.ready&&!this.disabled&&(this.imageData=de({},this.initialImageData),this.canvasData=de({},this.initialCanvasData),this.cropBoxData=de({},this.initialCropBoxData),this.renderCanvas(),this.cropped&&this.renderCropBox()),this},clear:function(){return this.cropped&&!this.disabled&&(de(this.cropBoxData,{left:0,top:0,width:0,height:0}),this.cropped=!1,this.renderCropBox(),this.limitCanvas(!0,!0),this.renderCanvas(),ve(this.dragBox,j),ge(this.cropBox,A)),this},replace:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return!this.disabled&&e&&(this.isImg&&(this.element.src=e),t?(this.url=e,this.image.src=e,this.ready&&(this.viewBoxImage.src=e,ce(this.previews,(function(t){t.getElementsByTagName("img")[0].src=e})))):(this.isImg&&(this.replaced=!0),this.options.data=null,this.uncreate(),this.load(e))),this},enable:function(){return this.ready&&this.disabled&&(this.disabled=!1,ve(this.cropper,x)),this},disable:function(){return this.ready&&!this.disabled&&(this.disabled=!0,ge(this.cropper,x)),this},destroy:function(){var e=this.element;return e[d]?(e[d]=void 0,this.isImg&&this.replaced&&(e.src=this.originalUrl),this.uncreate(),this):this},move:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,n=this.canvasData,i=n.left,r=n.top;return this.moveTo(ie(e)?e:i+Number(e),ie(t)?t:r+Number(t))},moveTo:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,n=this.canvasData,i=!1;return e=Number(e),t=Number(t),this.ready&&!this.disabled&&this.options.movable&&(te(e)&&(n.left=e,i=!0),te(t)&&(n.top=t,i=!0),i&&this.renderCanvas(!0)),this},zoom:function(e,t){var n=this.canvasData;return e=(e=Number(e))<0?1/(1-e):1+e,this.zoomTo(n.width*e/n.naturalWidth,null,t)},zoomTo:function(e,t,n){var i=this.options,r=this.canvasData,o=r.width,a=r.height,s=r.naturalWidth,l=r.naturalHeight;if((e=Number(e))>=0&&this.ready&&!this.disabled&&i.zoomable){var u=s*e,c=l*e;if(!1===Te(this.element,Y,{ratio:e,oldRatio:o/s,originalEvent:n}))return this;if(n){var d=this.pointers,h=_e(this.cropper),p=d&&Object.keys(d).length?function(e){var t=0,n=0,i=0;return ce(e,(function(e){var r=e.startX,o=e.startY;t+=r,n+=o,i+=1})),{pageX:t/=i,pageY:n/=i}}(d):{pageX:n.pageX,pageY:n.pageY};r.left-=(u-o)*((p.pageX-h.left-r.left)/o),r.top-=(c-a)*((p.pageY-h.top-r.top)/a)}else ae(t)&&te(t.x)&&te(t.y)?(r.left-=(u-o)*((t.x-r.left)/o),r.top-=(c-a)*((t.y-r.top)/a)):(r.left-=(u-o)/2,r.top-=(c-a)/2);r.width=u,r.height=c,this.renderCanvas(!0)}return this},rotate:function(e){return this.rotateTo((this.imageData.rotate||0)+Number(e))},rotateTo:function(e){return te(e=Number(e))&&this.ready&&!this.disabled&&this.options.rotatable&&(this.imageData.rotate=e%360,this.renderCanvas(!0,!0)),this},scaleX:function(e){var t=this.imageData.scaleY;return this.scale(e,te(t)?t:1)},scaleY:function(e){var t=this.imageData.scaleX;return this.scale(te(t)?t:1,e)},scale:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,n=this.imageData,i=!1;return e=Number(e),t=Number(t),this.ready&&!this.disabled&&this.options.scalable&&(te(e)&&(n.scaleX=e,i=!0),te(t)&&(n.scaleY=t,i=!0),i&&this.renderCanvas(!0,!0)),this},getData:function(){var e,t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],n=this.options,i=this.imageData,r=this.canvasData,o=this.cropBoxData;if(this.ready&&this.cropped){e={x:o.left-r.left,y:o.top-r.top,width:o.width,height:o.height};var a=i.width/i.naturalWidth;if(ce(e,(function(t,n){e[n]=t/a})),t){var s=Math.round(e.y+e.height),l=Math.round(e.x+e.width);e.x=Math.round(e.x),e.y=Math.round(e.y),e.width=l-e.x,e.height=s-e.y}}else e={x:0,y:0,width:0,height:0};return n.rotatable&&(e.rotate=i.rotate||0),n.scalable&&(e.scaleX=i.scaleX||1,e.scaleY=i.scaleY||1),e},setData:function(e){var t=this.options,n=this.imageData,i=this.canvasData,r={};if(this.ready&&!this.disabled&&ae(e)){var o=!1;t.rotatable&&te(e.rotate)&&e.rotate!==n.rotate&&(n.rotate=e.rotate,o=!0),t.scalable&&(te(e.scaleX)&&e.scaleX!==n.scaleX&&(n.scaleX=e.scaleX,o=!0),te(e.scaleY)&&e.scaleY!==n.scaleY&&(n.scaleY=e.scaleY,o=!0)),o&&this.renderCanvas(!0,!0);var a=n.width/n.naturalWidth;te(e.x)&&(r.left=e.x*a+i.left),te(e.y)&&(r.top=e.y*a+i.top),te(e.width)&&(r.width=e.width*a),te(e.height)&&(r.height=e.height*a),this.setCropBoxData(r)}return this},getContainerData:function(){return this.ready?de({},this.containerData):{}},getImageData:function(){return this.sized?de({},this.imageData):{}},getCanvasData:function(){var e=this.canvasData,t={};return this.ready&&ce(["left","top","width","height","naturalWidth","naturalHeight"],(function(n){t[n]=e[n]})),t},setCanvasData:function(e){var t=this.canvasData,n=t.aspectRatio;return this.ready&&!this.disabled&&ae(e)&&(te(e.left)&&(t.left=e.left),te(e.top)&&(t.top=e.top),te(e.width)?(t.width=e.width,t.height=e.width/n):te(e.height)&&(t.height=e.height,t.width=e.height*n),this.renderCanvas(!0)),this},getCropBoxData:function(){var e,t=this.cropBoxData;return this.ready&&this.cropped&&(e={left:t.left,top:t.top,width:t.width,height:t.height}),e||{}},setCropBoxData:function(e){var t,n,i=this.cropBoxData,r=this.options.aspectRatio;return this.ready&&this.cropped&&!this.disabled&&ae(e)&&(te(e.left)&&(i.left=e.left),te(e.top)&&(i.top=e.top),te(e.width)&&e.width!==i.width&&(t=!0,i.width=e.width),te(e.height)&&e.height!==i.height&&(n=!0,i.height=e.height),r&&(t?i.height=i.width/r:n&&(i.width=i.height*r)),this.renderCropBox()),this},getCroppedCanvas:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!this.ready||!window.HTMLCanvasElement)return null;var t=this.canvasData,n=function(e,t,n,i){var o=t.aspectRatio,a=t.naturalWidth,s=t.naturalHeight,l=t.rotate,u=void 0===l?0:l,c=t.scaleX,d=void 0===c?1:c,h=t.scaleY,p=void 0===h?1:h,m=n.aspectRatio,f=n.naturalWidth,g=n.naturalHeight,v=i.fillColor,y=void 0===v?"transparent":v,b=i.imageSmoothingEnabled,k=void 0===b||b,w=i.imageSmoothingQuality,S=void 0===w?"low":w,C=i.maxWidth,P=void 0===C?1/0:C,x=i.maxHeight,A=void 0===x?1/0:x,T=i.minWidth,_=void 0===T?0:T,j=i.minHeight,E=void 0===j?0:j,R=document.createElement("canvas"),z=R.getContext("2d"),I=Oe({aspectRatio:m,width:P,height:A}),L=Oe({aspectRatio:m,width:_,height:E},"cover"),O=Math.min(I.width,Math.max(L.width,f)),M=Math.min(I.height,Math.max(L.height,g)),F=Oe({aspectRatio:o,width:P,height:A}),D=Oe({aspectRatio:o,width:_,height:E},"cover"),B=Math.min(F.width,Math.max(D.width,a)),N=Math.min(F.height,Math.max(D.height,s)),G=[-B/2,-N/2,B,N];return R.width=pe(O),R.height=pe(M),z.fillStyle=y,z.fillRect(0,0,O,M),z.save(),z.translate(O/2,M/2),z.rotate(u*Math.PI/180),z.scale(d,p),z.imageSmoothingEnabled=k,z.imageSmoothingQuality=S,z.drawImage.apply(z,[e].concat(r(G.map((function(e){return Math.floor(pe(e))}))))),z.restore(),R}(this.image,this.imageData,t,e);if(!this.cropped)return n;var i=this.getData(e.rounded),o=i.x,a=i.y,s=i.width,l=i.height,u=n.width/Math.floor(t.naturalWidth);1!==u&&(o*=u,a*=u,s*=u,l*=u);var c=s/l,d=Oe({aspectRatio:c,width:e.maxWidth||1/0,height:e.maxHeight||1/0}),h=Oe({aspectRatio:c,width:e.minWidth||0,height:e.minHeight||0},"cover"),p=Oe({aspectRatio:c,width:e.width||(1!==u?n.width:s),height:e.height||(1!==u?n.height:l)}),m=p.width,f=p.height;m=Math.min(d.width,Math.max(h.width,m)),f=Math.min(d.height,Math.max(h.height,f));var g=document.createElement("canvas"),v=g.getContext("2d");g.width=pe(m),g.height=pe(f),v.fillStyle=e.fillColor||"transparent",v.fillRect(0,0,m,f);var y=e.imageSmoothingEnabled,b=void 0===y||y,k=e.imageSmoothingQuality;v.imageSmoothingEnabled=b,k&&(v.imageSmoothingQuality=k);var w,S,C,P,x,A,T=n.width,_=n.height,j=o,E=a;j<=-s||j>T?(j=0,w=0,C=0,x=0):j<=0?(C=-j,j=0,x=w=Math.min(T,s+j)):j<=T&&(C=0,x=w=Math.min(s,T-j)),w<=0||E<=-l||E>_?(E=0,S=0,P=0,A=0):E<=0?(P=-E,E=0,A=S=Math.min(_,l+E)):E<=_&&(P=0,A=S=Math.min(l,_-E));var R=[j,E,w,S];if(x>0&&A>0){var z=m/s;R.push(C*z,P*z,x*z,A*z)}return v.drawImage.apply(v,[n].concat(r(R.map((function(e){return Math.floor(pe(e))}))))),g},setAspectRatio:function(e){var t=this.options;return this.disabled||ie(e)||(t.aspectRatio=Math.max(0,e)||NaN,this.ready&&(this.initCropBox(),this.cropped&&this.renderCropBox())),this},setDragMode:function(e){var t=this.options,n=this.dragBox,i=this.face;if(this.ready&&!this.disabled){var r=e===I,o=t.movable&&e===L;e=r||o?e:O,t.dragMode=e,Se(n,R,e),ye(n,P,r),ye(n,E,o),t.cropBoxMovable||(Se(i,R,e),ye(i,P,r),ye(i,E,o))}return this}},qe=l.Cropper,Ve=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),!t||!X.test(t.tagName))throw new Error("The first argument is required and must be an <img> or <canvas> element.");this.element=t,this.options=de({},Q,ae(n)&&n),this.cropped=!1,this.disabled=!1,this.pointers={},this.ready=!1,this.reloading=!1,this.replaced=!1,this.sized=!1,this.sizing=!1,this.init()}return t=e,r=[{key:"noConflict",value:function(){return window.Cropper=qe,e}},{key:"setDefaults",value:function(e){de(Q,ae(e)&&e)}}],(n=[{key:"init",value:function(){var e,t=this.element,n=t.tagName.toLowerCase();if(!t[d]){if(t[d]=this,"img"===n){if(this.isImg=!0,e=t.getAttribute("src")||"",this.originalUrl=e,!e)return;e=t.src}else"canvas"===n&&window.HTMLCanvasElement&&(e=t.toDataURL());this.load(e)}}},{key:"load",value:function(e){var t,n,i,r,o=this;if(e){this.url=e,this.imageData={};var a=this.element,s=this.options;if(s.rotatable||s.scalable||(s.checkOrientation=!1),s.checkOrientation&&window.ArrayBuffer)if($.test(e))Z.test(e)?this.read((t=e.replace(Fe,""),n=atob(t),i=new ArrayBuffer(n.length),ce(r=new Uint8Array(i),(function(e,t){r[t]=n.charCodeAt(t)})),i)):this.clone();else{var l=new XMLHttpRequest,u=this.clone.bind(this);this.reloading=!0,this.xhr=l,l.onabort=u,l.onerror=u,l.ontimeout=u,l.onprogress=function(){l.getResponseHeader("content-type")!==J&&l.abort()},l.onload=function(){o.read(l.response)},l.onloadend=function(){o.reloading=!1,o.xhr=null},s.checkCrossOrigin&&Re(e)&&a.crossOrigin&&(e=ze(e)),l.open("GET",e,!0),l.responseType="arraybuffer",l.withCredentials="use-credentials"===a.crossOrigin,l.send()}else this.clone()}}},{key:"read",value:function(e){var t=this.options,n=this.imageData,i=De(e),r=0,o=1,a=1;if(i>1){this.url=function(e,t){for(var n=[],i=new Uint8Array(e);i.length>0;)n.push(Me.apply(null,ue(i.subarray(0,8192)))),i=i.subarray(8192);return"data:".concat(t,";base64,").concat(btoa(n.join("")))}(e,J);var s=function(e){var t=0,n=1,i=1;switch(e){case 2:n=-1;break;case 3:t=-180;break;case 4:i=-1;break;case 5:t=90,i=-1;break;case 6:t=90;break;case 7:t=90,n=-1;break;case 8:t=-90}return{rotate:t,scaleX:n,scaleY:i}}(i);r=s.rotate,o=s.scaleX,a=s.scaleY}t.rotatable&&(n.rotate=r),t.scalable&&(n.scaleX=o,n.scaleY=a),this.clone()}},{key:"clone",value:function(){var e=this.element,t=this.url,n=e.crossOrigin,i=t;this.options.checkCrossOrigin&&Re(t)&&(n||(n="anonymous"),i=ze(t)),this.crossOrigin=n,this.crossOriginUrl=i;var r=document.createElement("img");n&&(r.crossOrigin=n),r.src=i||t,r.alt=e.alt||"The image to crop",this.image=r,r.onload=this.start.bind(this),r.onerror=this.stop.bind(this),ge(r,T),e.parentNode.insertBefore(r,e.nextSibling)}},{key:"start",value:function(){var e=this,t=this.image;t.onload=null,t.onerror=null,this.sizing=!0;var n=l.navigator&&/(?:iPad|iPhone|iPod).*?AppleWebKit/i.test(l.navigator.userAgent),i=function(t,n){de(e.imageData,{naturalWidth:t,naturalHeight:n,aspectRatio:t/n}),e.initialImageData=de({},e.imageData),e.sizing=!1,e.sized=!0,e.build()};if(!t.naturalWidth||n){var r=document.createElement("img"),o=document.body||document.documentElement;this.sizingImage=r,r.onload=function(){i(r.width,r.height),n||o.removeChild(r)},r.src=t.src,n||(r.style.cssText="left:0;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;opacity:0;position:absolute;top:0;z-index:-1;",o.appendChild(r))}else i(t.naturalWidth,t.naturalHeight)}},{key:"stop",value:function(){var e=this.image;e.onload=null,e.onerror=null,e.parentNode.removeChild(e),this.image=null}},{key:"build",value:function(){if(this.sized&&!this.ready){var e=this.element,t=this.options,n=this.image,i=e.parentNode,r=document.createElement("div");r.innerHTML='<div class="cropper-container" touch-action="none"><div class="cropper-wrap-box"><div class="cropper-canvas"></div></div><div class="cropper-drag-box"></div><div class="cropper-crop-box"><span class="cropper-view-box"></span><span class="cropper-dashed dashed-h"></span><span class="cropper-dashed dashed-v"></span><span class="cropper-center"></span><span class="cropper-face"></span><span class="cropper-line line-e" data-cropper-action="e"></span><span class="cropper-line line-n" data-cropper-action="n"></span><span class="cropper-line line-w" data-cropper-action="w"></span><span class="cropper-line line-s" data-cropper-action="s"></span><span class="cropper-point point-e" data-cropper-action="e"></span><span class="cropper-point point-n" data-cropper-action="n"></span><span class="cropper-point point-w" data-cropper-action="w"></span><span class="cropper-point point-s" data-cropper-action="s"></span><span class="cropper-point point-ne" data-cropper-action="ne"></span><span class="cropper-point point-nw" data-cropper-action="nw"></span><span class="cropper-point point-sw" data-cropper-action="sw"></span><span class="cropper-point point-se" data-cropper-action="se"></span></div></div>';var o=r.querySelector(".".concat(d,"-container")),a=o.querySelector(".".concat(d,"-canvas")),s=o.querySelector(".".concat(d,"-drag-box")),l=o.querySelector(".".concat(d,"-crop-box")),u=l.querySelector(".".concat(d,"-face"));this.container=i,this.cropper=o,this.canvas=a,this.dragBox=s,this.cropBox=l,this.viewBox=o.querySelector(".".concat(d,"-view-box")),this.face=u,a.appendChild(n),ge(e,A),i.insertBefore(o,e.nextSibling),ve(n,T),this.initPreview(),this.bind(),t.initialAspectRatio=Math.max(0,t.initialAspectRatio)||NaN,t.aspectRatio=Math.max(0,t.aspectRatio)||NaN,t.viewMode=Math.max(0,Math.min(3,Math.round(t.viewMode)))||0,ge(l,A),t.guides||ge(l.getElementsByClassName("".concat(d,"-dashed")),A),t.center||ge(l.getElementsByClassName("".concat(d,"-center")),A),t.background&&ge(o,"".concat(d,"-bg")),t.highlight||ge(u,_),t.cropBoxMovable&&(ge(u,E),Se(u,R,h)),t.cropBoxResizable||(ge(l.getElementsByClassName("".concat(d,"-line")),A),ge(l.getElementsByClassName("".concat(d,"-point")),A)),this.render(),this.ready=!0,this.setDragMode(t.dragMode),t.autoCrop&&this.crop(),this.setData(t.data),se(t.ready)&&Ae(e,U,t.ready,{once:!0}),Te(e,U)}}},{key:"unbuild",value:function(){if(this.ready){this.ready=!1,this.unbind(),this.resetPreview();var e=this.cropper.parentNode;e&&e.removeChild(this.cropper),ve(this.element,A)}}},{key:"uncreate",value:function(){this.ready?(this.unbuild(),this.ready=!1,this.cropped=!1):this.sizing?(this.sizingImage.onload=null,this.sizing=!1,this.sized=!1):this.reloading?(this.xhr.onabort=null,this.xhr.abort()):this.image&&this.stop()}}])&&i(t.prototype,n),r&&i(t,r),Object.defineProperty(t,"prototype",{writable:!1}),e;var t,n,r}();return de(Ve.prototype,Be,Ne,Ge,He,We,Ue),Ve}()},486:function(e,t,n){var i;e=n.nmd(e),function(){var r,o="Expected a function",a="__lodash_hash_undefined__",s="__lodash_placeholder__",l=32,u=128,c=1/0,d=9007199254740991,h=NaN,p=4294967295,m=[["ary",u],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",l],["partialRight",64],["rearg",256]],f="[object Arguments]",g="[object Array]",v="[object Boolean]",y="[object Date]",b="[object Error]",k="[object Function]",w="[object GeneratorFunction]",S="[object Map]",C="[object Number]",P="[object Object]",x="[object Promise]",A="[object RegExp]",T="[object Set]",_="[object String]",j="[object Symbol]",E="[object WeakMap]",R="[object ArrayBuffer]",z="[object DataView]",I="[object Float32Array]",L="[object Float64Array]",O="[object Int8Array]",M="[object Int16Array]",F="[object Int32Array]",D="[object Uint8Array]",B="[object Uint8ClampedArray]",N="[object Uint16Array]",G="[object Uint32Array]",H=/\b__p \+= '';/g,W=/\b(__p \+=) '' \+/g,U=/(__e\(.*?\)|\b__t\)) \+\n'';/g,q=/&(?:amp|lt|gt|quot|#39);/g,V=/[&<>"']/g,Y=RegExp(q.source),J=RegExp(V.source),K=/<%-([\s\S]+?)%>/g,$=/<%([\s\S]+?)%>/g,Z=/<%=([\s\S]+?)%>/g,X=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Q=/^\w*$/,ee=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,te=/[\\^$.*+?()[\]{}|]/g,ne=RegExp(te.source),ie=/^\s+/,re=/\s/,oe=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,ae=/\{\n\/\* \[wrapped with (.+)\] \*/,se=/,? & /,le=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ue=/[()=,{}\[\]\/\s]/,ce=/\\(\\)?/g,de=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,he=/\w*$/,pe=/^[-+]0x[0-9a-f]+$/i,me=/^0b[01]+$/i,fe=/^\[object .+?Constructor\]$/,ge=/^0o[0-7]+$/i,ve=/^(?:0|[1-9]\d*)$/,ye=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,be=/($^)/,ke=/['\n\r\u2028\u2029\\]/g,we="\\ud800-\\udfff",Se="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Ce="\\u2700-\\u27bf",Pe="a-z\\xdf-\\xf6\\xf8-\\xff",xe="A-Z\\xc0-\\xd6\\xd8-\\xde",Ae="\\ufe0e\\ufe0f",Te="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",_e="["+we+"]",je="["+Te+"]",Ee="["+Se+"]",Re="\\d+",ze="["+Ce+"]",Ie="["+Pe+"]",Le="[^"+we+Te+Re+Ce+Pe+xe+"]",Oe="\\ud83c[\\udffb-\\udfff]",Me="[^"+we+"]",Fe="(?:\\ud83c[\\udde6-\\uddff]){2}",De="[\\ud800-\\udbff][\\udc00-\\udfff]",Be="["+xe+"]",Ne="\\u200d",Ge="(?:"+Ie+"|"+Le+")",He="(?:"+Be+"|"+Le+")",We="(?:['’](?:d|ll|m|re|s|t|ve))?",Ue="(?:['’](?:D|LL|M|RE|S|T|VE))?",qe="(?:"+Ee+"|"+Oe+")?",Ve="["+Ae+"]?",Ye=Ve+qe+"(?:"+Ne+"(?:"+[Me,Fe,De].join("|")+")"+Ve+qe+")*",Je="(?:"+[ze,Fe,De].join("|")+")"+Ye,Ke="(?:"+[Me+Ee+"?",Ee,Fe,De,_e].join("|")+")",$e=RegExp("['’]","g"),Ze=RegExp(Ee,"g"),Xe=RegExp(Oe+"(?="+Oe+")|"+Ke+Ye,"g"),Qe=RegExp([Be+"?"+Ie+"+"+We+"(?="+[je,Be,"$"].join("|")+")",He+"+"+Ue+"(?="+[je,Be+Ge,"$"].join("|")+")",Be+"?"+Ge+"+"+We,Be+"+"+Ue,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Re,Je].join("|"),"g"),et=RegExp("["+Ne+we+Se+Ae+"]"),tt=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,nt=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],it=-1,rt={};rt[I]=rt[L]=rt[O]=rt[M]=rt[F]=rt[D]=rt[B]=rt[N]=rt[G]=!0,rt[f]=rt[g]=rt[R]=rt[v]=rt[z]=rt[y]=rt[b]=rt[k]=rt[S]=rt[C]=rt[P]=rt[A]=rt[T]=rt[_]=rt[E]=!1;var ot={};ot[f]=ot[g]=ot[R]=ot[z]=ot[v]=ot[y]=ot[I]=ot[L]=ot[O]=ot[M]=ot[F]=ot[S]=ot[C]=ot[P]=ot[A]=ot[T]=ot[_]=ot[j]=ot[D]=ot[B]=ot[N]=ot[G]=!0,ot[b]=ot[k]=ot[E]=!1;var at={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},st=parseFloat,lt=parseInt,ut="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,ct="object"==typeof self&&self&&self.Object===Object&&self,dt=ut||ct||Function("return this")(),ht=t&&!t.nodeType&&t,pt=ht&&e&&!e.nodeType&&e,mt=pt&&pt.exports===ht,ft=mt&&ut.process,gt=function(){try{return pt&&pt.require&&pt.require("util").types||ft&&ft.binding&&ft.binding("util")}catch(e){}}(),vt=gt&&gt.isArrayBuffer,yt=gt&&gt.isDate,bt=gt&&gt.isMap,kt=gt&&gt.isRegExp,wt=gt&&gt.isSet,St=gt&&gt.isTypedArray;function Ct(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function Pt(e,t,n,i){for(var r=-1,o=null==e?0:e.length;++r<o;){var a=e[r];t(i,a,n(a),e)}return i}function xt(e,t){for(var n=-1,i=null==e?0:e.length;++n<i&&!1!==t(e[n],n,e););return e}function At(e,t){for(var n=null==e?0:e.length;n--&&!1!==t(e[n],n,e););return e}function Tt(e,t){for(var n=-1,i=null==e?0:e.length;++n<i;)if(!t(e[n],n,e))return!1;return!0}function _t(e,t){for(var n=-1,i=null==e?0:e.length,r=0,o=[];++n<i;){var a=e[n];t(a,n,e)&&(o[r++]=a)}return o}function jt(e,t){return!(null==e||!e.length)&&Bt(e,t,0)>-1}function Et(e,t,n){for(var i=-1,r=null==e?0:e.length;++i<r;)if(n(t,e[i]))return!0;return!1}function Rt(e,t){for(var n=-1,i=null==e?0:e.length,r=Array(i);++n<i;)r[n]=t(e[n],n,e);return r}function zt(e,t){for(var n=-1,i=t.length,r=e.length;++n<i;)e[r+n]=t[n];return e}function It(e,t,n,i){var r=-1,o=null==e?0:e.length;for(i&&o&&(n=e[++r]);++r<o;)n=t(n,e[r],r,e);return n}function Lt(e,t,n,i){var r=null==e?0:e.length;for(i&&r&&(n=e[--r]);r--;)n=t(n,e[r],r,e);return n}function Ot(e,t){for(var n=-1,i=null==e?0:e.length;++n<i;)if(t(e[n],n,e))return!0;return!1}var Mt=Wt("length");function Ft(e,t,n){var i;return n(e,(function(e,n,r){if(t(e,n,r))return i=n,!1})),i}function Dt(e,t,n,i){for(var r=e.length,o=n+(i?1:-1);i?o--:++o<r;)if(t(e[o],o,e))return o;return-1}function Bt(e,t,n){return t==t?function(e,t,n){for(var i=n-1,r=e.length;++i<r;)if(e[i]===t)return i;return-1}(e,t,n):Dt(e,Gt,n)}function Nt(e,t,n,i){for(var r=n-1,o=e.length;++r<o;)if(i(e[r],t))return r;return-1}function Gt(e){return e!=e}function Ht(e,t){var n=null==e?0:e.length;return n?Vt(e,t)/n:h}function Wt(e){return function(t){return null==t?r:t[e]}}function Ut(e){return function(t){return null==e?r:e[t]}}function qt(e,t,n,i,r){return r(e,(function(e,r,o){n=i?(i=!1,e):t(n,e,r,o)})),n}function Vt(e,t){for(var n,i=-1,o=e.length;++i<o;){var a=t(e[i]);a!==r&&(n=n===r?a:n+a)}return n}function Yt(e,t){for(var n=-1,i=Array(e);++n<e;)i[n]=t(n);return i}function Jt(e){return e?e.slice(0,hn(e)+1).replace(ie,""):e}function Kt(e){return function(t){return e(t)}}function $t(e,t){return Rt(t,(function(t){return e[t]}))}function Zt(e,t){return e.has(t)}function Xt(e,t){for(var n=-1,i=e.length;++n<i&&Bt(t,e[n],0)>-1;);return n}function Qt(e,t){for(var n=e.length;n--&&Bt(t,e[n],0)>-1;);return n}var en=Ut({À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"}),tn=Ut({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"});function nn(e){return"\\"+at[e]}function rn(e){return et.test(e)}function on(e){var t=-1,n=Array(e.size);return e.forEach((function(e,i){n[++t]=[i,e]})),n}function an(e,t){return function(n){return e(t(n))}}function sn(e,t){for(var n=-1,i=e.length,r=0,o=[];++n<i;){var a=e[n];a!==t&&a!==s||(e[n]=s,o[r++]=n)}return o}function ln(e){var t=-1,n=Array(e.size);return e.forEach((function(e){n[++t]=e})),n}function un(e){var t=-1,n=Array(e.size);return e.forEach((function(e){n[++t]=[e,e]})),n}function cn(e){return rn(e)?function(e){for(var t=Xe.lastIndex=0;Xe.test(e);)++t;return t}(e):Mt(e)}function dn(e){return rn(e)?function(e){return e.match(Xe)||[]}(e):function(e){return e.split("")}(e)}function hn(e){for(var t=e.length;t--&&re.test(e.charAt(t)););return t}var pn=Ut({"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"}),mn=function e(t){var n,i=(t=null==t?dt:mn.defaults(dt.Object(),t,mn.pick(dt,nt))).Array,re=t.Date,we=t.Error,Se=t.Function,Ce=t.Math,Pe=t.Object,xe=t.RegExp,Ae=t.String,Te=t.TypeError,_e=i.prototype,je=Se.prototype,Ee=Pe.prototype,Re=t["__core-js_shared__"],ze=je.toString,Ie=Ee.hasOwnProperty,Le=0,Oe=(n=/[^.]+$/.exec(Re&&Re.keys&&Re.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",Me=Ee.toString,Fe=ze.call(Pe),De=dt._,Be=xe("^"+ze.call(Ie).replace(te,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ne=mt?t.Buffer:r,Ge=t.Symbol,He=t.Uint8Array,We=Ne?Ne.allocUnsafe:r,Ue=an(Pe.getPrototypeOf,Pe),qe=Pe.create,Ve=Ee.propertyIsEnumerable,Ye=_e.splice,Je=Ge?Ge.isConcatSpreadable:r,Ke=Ge?Ge.iterator:r,Xe=Ge?Ge.toStringTag:r,et=function(){try{var e=lo(Pe,"defineProperty");return e({},"",{}),e}catch(e){}}(),at=t.clearTimeout!==dt.clearTimeout&&t.clearTimeout,ut=re&&re.now!==dt.Date.now&&re.now,ct=t.setTimeout!==dt.setTimeout&&t.setTimeout,ht=Ce.ceil,pt=Ce.floor,ft=Pe.getOwnPropertySymbols,gt=Ne?Ne.isBuffer:r,Mt=t.isFinite,Ut=_e.join,fn=an(Pe.keys,Pe),gn=Ce.max,vn=Ce.min,yn=re.now,bn=t.parseInt,kn=Ce.random,wn=_e.reverse,Sn=lo(t,"DataView"),Cn=lo(t,"Map"),Pn=lo(t,"Promise"),xn=lo(t,"Set"),An=lo(t,"WeakMap"),Tn=lo(Pe,"create"),_n=An&&new An,jn={},En=Fo(Sn),Rn=Fo(Cn),zn=Fo(Pn),In=Fo(xn),Ln=Fo(An),On=Ge?Ge.prototype:r,Mn=On?On.valueOf:r,Fn=On?On.toString:r;function Dn(e){if(es(e)&&!Wa(e)&&!(e instanceof Hn)){if(e instanceof Gn)return e;if(Ie.call(e,"__wrapped__"))return Do(e)}return new Gn(e)}var Bn=function(){function e(){}return function(t){if(!Qa(t))return{};if(qe)return qe(t);e.prototype=t;var n=new e;return e.prototype=r,n}}();function Nn(){}function Gn(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=r}function Hn(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=p,this.__views__=[]}function Wn(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var i=e[t];this.set(i[0],i[1])}}function Un(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var i=e[t];this.set(i[0],i[1])}}function qn(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var i=e[t];this.set(i[0],i[1])}}function Vn(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new qn;++t<n;)this.add(e[t])}function Yn(e){var t=this.__data__=new Un(e);this.size=t.size}function Jn(e,t){var n=Wa(e),i=!n&&Ha(e),r=!n&&!i&&Ya(e),o=!n&&!i&&!r&&ls(e),a=n||i||r||o,s=a?Yt(e.length,Ae):[],l=s.length;for(var u in e)!t&&!Ie.call(e,u)||a&&("length"==u||r&&("offset"==u||"parent"==u)||o&&("buffer"==u||"byteLength"==u||"byteOffset"==u)||go(u,l))||s.push(u);return s}function Kn(e){var t=e.length;return t?e[qi(0,t-1)]:r}function $n(e,t){return zo(Ar(e),oi(t,0,e.length))}function Zn(e){return zo(Ar(e))}function Xn(e,t,n){(n!==r&&!Ba(e[t],n)||n===r&&!(t in e))&&ii(e,t,n)}function Qn(e,t,n){var i=e[t];Ie.call(e,t)&&Ba(i,n)&&(n!==r||t in e)||ii(e,t,n)}function ei(e,t){for(var n=e.length;n--;)if(Ba(e[n][0],t))return n;return-1}function ti(e,t,n,i){return ci(e,(function(e,r,o){t(i,e,n(e),o)})),i}function ni(e,t){return e&&Tr(t,Es(t),e)}function ii(e,t,n){"__proto__"==t&&et?et(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}function ri(e,t){for(var n=-1,o=t.length,a=i(o),s=null==e;++n<o;)a[n]=s?r:xs(e,t[n]);return a}function oi(e,t,n){return e==e&&(n!==r&&(e=e<=n?e:n),t!==r&&(e=e>=t?e:t)),e}function ai(e,t,n,i,o,a){var s,l=1&t,u=2&t,c=4&t;if(n&&(s=o?n(e,i,o,a):n(e)),s!==r)return s;if(!Qa(e))return e;var d=Wa(e);if(d){if(s=function(e){var t=e.length,n=new e.constructor(t);return t&&"string"==typeof e[0]&&Ie.call(e,"index")&&(n.index=e.index,n.input=e.input),n}(e),!l)return Ar(e,s)}else{var h=ho(e),p=h==k||h==w;if(Ya(e))return kr(e,l);if(h==P||h==f||p&&!o){if(s=u||p?{}:mo(e),!l)return u?function(e,t){return Tr(e,co(e),t)}(e,function(e,t){return e&&Tr(t,Rs(t),e)}(s,e)):function(e,t){return Tr(e,uo(e),t)}(e,ni(s,e))}else{if(!ot[h])return o?e:{};s=function(e,t,n){var i,r=e.constructor;switch(t){case R:return wr(e);case v:case y:return new r(+e);case z:return function(e,t){var n=t?wr(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}(e,n);case I:case L:case O:case M:case F:case D:case B:case N:case G:return Sr(e,n);case S:return new r;case C:case _:return new r(e);case A:return function(e){var t=new e.constructor(e.source,he.exec(e));return t.lastIndex=e.lastIndex,t}(e);case T:return new r;case j:return i=e,Mn?Pe(Mn.call(i)):{}}}(e,h,l)}}a||(a=new Yn);var m=a.get(e);if(m)return m;a.set(e,s),os(e)?e.forEach((function(i){s.add(ai(i,t,n,i,e,a))})):ts(e)&&e.forEach((function(i,r){s.set(r,ai(i,t,n,r,e,a))}));var g=d?r:(c?u?to:eo:u?Rs:Es)(e);return xt(g||e,(function(i,r){g&&(i=e[r=i]),Qn(s,r,ai(i,t,n,r,e,a))})),s}function si(e,t,n){var i=n.length;if(null==e)return!i;for(e=Pe(e);i--;){var o=n[i],a=t[o],s=e[o];if(s===r&&!(o in e)||!a(s))return!1}return!0}function li(e,t,n){if("function"!=typeof e)throw new Te(o);return _o((function(){e.apply(r,n)}),t)}function ui(e,t,n,i){var r=-1,o=jt,a=!0,s=e.length,l=[],u=t.length;if(!s)return l;n&&(t=Rt(t,Kt(n))),i?(o=Et,a=!1):t.length>=200&&(o=Zt,a=!1,t=new Vn(t));e:for(;++r<s;){var c=e[r],d=null==n?c:n(c);if(c=i||0!==c?c:0,a&&d==d){for(var h=u;h--;)if(t[h]===d)continue e;l.push(c)}else o(t,d,i)||l.push(c)}return l}Dn.templateSettings={escape:K,evaluate:$,interpolate:Z,variable:"",imports:{_:Dn}},Dn.prototype=Nn.prototype,Dn.prototype.constructor=Dn,Gn.prototype=Bn(Nn.prototype),Gn.prototype.constructor=Gn,Hn.prototype=Bn(Nn.prototype),Hn.prototype.constructor=Hn,Wn.prototype.clear=function(){this.__data__=Tn?Tn(null):{},this.size=0},Wn.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},Wn.prototype.get=function(e){var t=this.__data__;if(Tn){var n=t[e];return n===a?r:n}return Ie.call(t,e)?t[e]:r},Wn.prototype.has=function(e){var t=this.__data__;return Tn?t[e]!==r:Ie.call(t,e)},Wn.prototype.set=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=Tn&&t===r?a:t,this},Un.prototype.clear=function(){this.__data__=[],this.size=0},Un.prototype.delete=function(e){var t=this.__data__,n=ei(t,e);return!(n<0||(n==t.length-1?t.pop():Ye.call(t,n,1),--this.size,0))},Un.prototype.get=function(e){var t=this.__data__,n=ei(t,e);return n<0?r:t[n][1]},Un.prototype.has=function(e){return ei(this.__data__,e)>-1},Un.prototype.set=function(e,t){var n=this.__data__,i=ei(n,e);return i<0?(++this.size,n.push([e,t])):n[i][1]=t,this},qn.prototype.clear=function(){this.size=0,this.__data__={hash:new Wn,map:new(Cn||Un),string:new Wn}},qn.prototype.delete=function(e){var t=ao(this,e).delete(e);return this.size-=t?1:0,t},qn.prototype.get=function(e){return ao(this,e).get(e)},qn.prototype.has=function(e){return ao(this,e).has(e)},qn.prototype.set=function(e,t){var n=ao(this,e),i=n.size;return n.set(e,t),this.size+=n.size==i?0:1,this},Vn.prototype.add=Vn.prototype.push=function(e){return this.__data__.set(e,a),this},Vn.prototype.has=function(e){return this.__data__.has(e)},Yn.prototype.clear=function(){this.__data__=new Un,this.size=0},Yn.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},Yn.prototype.get=function(e){return this.__data__.get(e)},Yn.prototype.has=function(e){return this.__data__.has(e)},Yn.prototype.set=function(e,t){var n=this.__data__;if(n instanceof Un){var i=n.__data__;if(!Cn||i.length<199)return i.push([e,t]),this.size=++n.size,this;n=this.__data__=new qn(i)}return n.set(e,t),this.size=n.size,this};var ci=Er(yi),di=Er(bi,!0);function hi(e,t){var n=!0;return ci(e,(function(e,i,r){return n=!!t(e,i,r)})),n}function pi(e,t,n){for(var i=-1,o=e.length;++i<o;){var a=e[i],s=t(a);if(null!=s&&(l===r?s==s&&!ss(s):n(s,l)))var l=s,u=a}return u}function mi(e,t){var n=[];return ci(e,(function(e,i,r){t(e,i,r)&&n.push(e)})),n}function fi(e,t,n,i,r){var o=-1,a=e.length;for(n||(n=fo),r||(r=[]);++o<a;){var s=e[o];t>0&&n(s)?t>1?fi(s,t-1,n,i,r):zt(r,s):i||(r[r.length]=s)}return r}var gi=Rr(),vi=Rr(!0);function yi(e,t){return e&&gi(e,t,Es)}function bi(e,t){return e&&vi(e,t,Es)}function ki(e,t){return _t(t,(function(t){return $a(e[t])}))}function wi(e,t){for(var n=0,i=(t=gr(t,e)).length;null!=e&&n<i;)e=e[Mo(t[n++])];return n&&n==i?e:r}function Si(e,t,n){var i=t(e);return Wa(e)?i:zt(i,n(e))}function Ci(e){return null==e?e===r?"[object Undefined]":"[object Null]":Xe&&Xe in Pe(e)?function(e){var t=Ie.call(e,Xe),n=e[Xe];try{e[Xe]=r;var i=!0}catch(e){}var o=Me.call(e);return i&&(t?e[Xe]=n:delete e[Xe]),o}(e):function(e){return Me.call(e)}(e)}function Pi(e,t){return e>t}function xi(e,t){return null!=e&&Ie.call(e,t)}function Ai(e,t){return null!=e&&t in Pe(e)}function Ti(e,t,n){for(var o=n?Et:jt,a=e[0].length,s=e.length,l=s,u=i(s),c=1/0,d=[];l--;){var h=e[l];l&&t&&(h=Rt(h,Kt(t))),c=vn(h.length,c),u[l]=!n&&(t||a>=120&&h.length>=120)?new Vn(l&&h):r}h=e[0];var p=-1,m=u[0];e:for(;++p<a&&d.length<c;){var f=h[p],g=t?t(f):f;if(f=n||0!==f?f:0,!(m?Zt(m,g):o(d,g,n))){for(l=s;--l;){var v=u[l];if(!(v?Zt(v,g):o(e[l],g,n)))continue e}m&&m.push(g),d.push(f)}}return d}function _i(e,t,n){var i=null==(e=xo(e,t=gr(t,e)))?e:e[Mo(Ko(t))];return null==i?r:Ct(i,e,n)}function ji(e){return es(e)&&Ci(e)==f}function Ei(e,t,n,i,o){return e===t||(null==e||null==t||!es(e)&&!es(t)?e!=e&&t!=t:function(e,t,n,i,o,a){var s=Wa(e),l=Wa(t),u=s?g:ho(e),c=l?g:ho(t),d=(u=u==f?P:u)==P,h=(c=c==f?P:c)==P,p=u==c;if(p&&Ya(e)){if(!Ya(t))return!1;s=!0,d=!1}if(p&&!d)return a||(a=new Yn),s||ls(e)?Xr(e,t,n,i,o,a):function(e,t,n,i,r,o,a){switch(n){case z:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case R:return!(e.byteLength!=t.byteLength||!o(new He(e),new He(t)));case v:case y:case C:return Ba(+e,+t);case b:return e.name==t.name&&e.message==t.message;case A:case _:return e==t+"";case S:var s=on;case T:var l=1&i;if(s||(s=ln),e.size!=t.size&&!l)return!1;var u=a.get(e);if(u)return u==t;i|=2,a.set(e,t);var c=Xr(s(e),s(t),i,r,o,a);return a.delete(e),c;case j:if(Mn)return Mn.call(e)==Mn.call(t)}return!1}(e,t,u,n,i,o,a);if(!(1&n)){var m=d&&Ie.call(e,"__wrapped__"),k=h&&Ie.call(t,"__wrapped__");if(m||k){var w=m?e.value():e,x=k?t.value():t;return a||(a=new Yn),o(w,x,n,i,a)}}return!!p&&(a||(a=new Yn),function(e,t,n,i,o,a){var s=1&n,l=eo(e),u=l.length;if(u!=eo(t).length&&!s)return!1;for(var c=u;c--;){var d=l[c];if(!(s?d in t:Ie.call(t,d)))return!1}var h=a.get(e),p=a.get(t);if(h&&p)return h==t&&p==e;var m=!0;a.set(e,t),a.set(t,e);for(var f=s;++c<u;){var g=e[d=l[c]],v=t[d];if(i)var y=s?i(v,g,d,t,e,a):i(g,v,d,e,t,a);if(!(y===r?g===v||o(g,v,n,i,a):y)){m=!1;break}f||(f="constructor"==d)}if(m&&!f){var b=e.constructor,k=t.constructor;b==k||!("constructor"in e)||!("constructor"in t)||"function"==typeof b&&b instanceof b&&"function"==typeof k&&k instanceof k||(m=!1)}return a.delete(e),a.delete(t),m}(e,t,n,i,o,a))}(e,t,n,i,Ei,o))}function Ri(e,t,n,i){var o=n.length,a=o,s=!i;if(null==e)return!a;for(e=Pe(e);o--;){var l=n[o];if(s&&l[2]?l[1]!==e[l[0]]:!(l[0]in e))return!1}for(;++o<a;){var u=(l=n[o])[0],c=e[u],d=l[1];if(s&&l[2]){if(c===r&&!(u in e))return!1}else{var h=new Yn;if(i)var p=i(c,d,u,e,t,h);if(!(p===r?Ei(d,c,3,i,h):p))return!1}}return!0}function zi(e){return!(!Qa(e)||(t=e,Oe&&Oe in t))&&($a(e)?Be:fe).test(Fo(e));var t}function Ii(e){return"function"==typeof e?e:null==e?nl:"object"==typeof e?Wa(e)?Di(e[0],e[1]):Fi(e):dl(e)}function Li(e){if(!wo(e))return fn(e);var t=[];for(var n in Pe(e))Ie.call(e,n)&&"constructor"!=n&&t.push(n);return t}function Oi(e,t){return e<t}function Mi(e,t){var n=-1,r=qa(e)?i(e.length):[];return ci(e,(function(e,i,o){r[++n]=t(e,i,o)})),r}function Fi(e){var t=so(e);return 1==t.length&&t[0][2]?Co(t[0][0],t[0][1]):function(n){return n===e||Ri(n,e,t)}}function Di(e,t){return yo(e)&&So(t)?Co(Mo(e),t):function(n){var i=xs(n,e);return i===r&&i===t?As(n,e):Ei(t,i,3)}}function Bi(e,t,n,i,o){e!==t&&gi(t,(function(a,s){if(o||(o=new Yn),Qa(a))!function(e,t,n,i,o,a,s){var l=Ao(e,n),u=Ao(t,n),c=s.get(u);if(c)Xn(e,n,c);else{var d=a?a(l,u,n+"",e,t,s):r,h=d===r;if(h){var p=Wa(u),m=!p&&Ya(u),f=!p&&!m&&ls(u);d=u,p||m||f?Wa(l)?d=l:Va(l)?d=Ar(l):m?(h=!1,d=kr(u,!0)):f?(h=!1,d=Sr(u,!0)):d=[]:is(u)||Ha(u)?(d=l,Ha(l)?d=gs(l):Qa(l)&&!$a(l)||(d=mo(u))):h=!1}h&&(s.set(u,d),o(d,u,i,a,s),s.delete(u)),Xn(e,n,d)}}(e,t,s,n,Bi,i,o);else{var l=i?i(Ao(e,s),a,s+"",e,t,o):r;l===r&&(l=a),Xn(e,s,l)}}),Rs)}function Ni(e,t){var n=e.length;if(n)return go(t+=t<0?n:0,n)?e[t]:r}function Gi(e,t,n){t=t.length?Rt(t,(function(e){return Wa(e)?function(t){return wi(t,1===e.length?e[0]:e)}:e})):[nl];var i=-1;t=Rt(t,Kt(oo()));var r=Mi(e,(function(e,n,r){var o=Rt(t,(function(t){return t(e)}));return{criteria:o,index:++i,value:e}}));return function(e,t){var i=e.length;for(e.sort((function(e,t){return function(e,t,n){for(var i=-1,r=e.criteria,o=t.criteria,a=r.length,s=n.length;++i<a;){var l=Cr(r[i],o[i]);if(l)return i>=s?l:l*("desc"==n[i]?-1:1)}return e.index-t.index}(e,t,n)}));i--;)e[i]=e[i].value;return e}(r)}function Hi(e,t,n){for(var i=-1,r=t.length,o={};++i<r;){var a=t[i],s=wi(e,a);n(s,a)&&$i(o,gr(a,e),s)}return o}function Wi(e,t,n,i){var r=i?Nt:Bt,o=-1,a=t.length,s=e;for(e===t&&(t=Ar(t)),n&&(s=Rt(e,Kt(n)));++o<a;)for(var l=0,u=t[o],c=n?n(u):u;(l=r(s,c,l,i))>-1;)s!==e&&Ye.call(s,l,1),Ye.call(e,l,1);return e}function Ui(e,t){for(var n=e?t.length:0,i=n-1;n--;){var r=t[n];if(n==i||r!==o){var o=r;go(r)?Ye.call(e,r,1):lr(e,r)}}return e}function qi(e,t){return e+pt(kn()*(t-e+1))}function Vi(e,t){var n="";if(!e||t<1||t>d)return n;do{t%2&&(n+=e),(t=pt(t/2))&&(e+=e)}while(t);return n}function Yi(e,t){return jo(Po(e,t,nl),e+"")}function Ji(e){return Kn(Bs(e))}function Ki(e,t){var n=Bs(e);return zo(n,oi(t,0,n.length))}function $i(e,t,n,i){if(!Qa(e))return e;for(var o=-1,a=(t=gr(t,e)).length,s=a-1,l=e;null!=l&&++o<a;){var u=Mo(t[o]),c=n;if("__proto__"===u||"constructor"===u||"prototype"===u)return e;if(o!=s){var d=l[u];(c=i?i(d,u,l):r)===r&&(c=Qa(d)?d:go(t[o+1])?[]:{})}Qn(l,u,c),l=l[u]}return e}var Zi=_n?function(e,t){return _n.set(e,t),e}:nl,Xi=et?function(e,t){return et(e,"toString",{configurable:!0,enumerable:!1,value:Qs(t),writable:!0})}:nl;function Qi(e){return zo(Bs(e))}function er(e,t,n){var r=-1,o=e.length;t<0&&(t=-t>o?0:o+t),(n=n>o?o:n)<0&&(n+=o),o=t>n?0:n-t>>>0,t>>>=0;for(var a=i(o);++r<o;)a[r]=e[r+t];return a}function tr(e,t){var n;return ci(e,(function(e,i,r){return!(n=t(e,i,r))})),!!n}function nr(e,t,n){var i=0,r=null==e?i:e.length;if("number"==typeof t&&t==t&&r<=2147483647){for(;i<r;){var o=i+r>>>1,a=e[o];null!==a&&!ss(a)&&(n?a<=t:a<t)?i=o+1:r=o}return r}return ir(e,t,nl,n)}function ir(e,t,n,i){var o=0,a=null==e?0:e.length;if(0===a)return 0;for(var s=(t=n(t))!=t,l=null===t,u=ss(t),c=t===r;o<a;){var d=pt((o+a)/2),h=n(e[d]),p=h!==r,m=null===h,f=h==h,g=ss(h);if(s)var v=i||f;else v=c?f&&(i||p):l?f&&p&&(i||!m):u?f&&p&&!m&&(i||!g):!m&&!g&&(i?h<=t:h<t);v?o=d+1:a=d}return vn(a,4294967294)}function rr(e,t){for(var n=-1,i=e.length,r=0,o=[];++n<i;){var a=e[n],s=t?t(a):a;if(!n||!Ba(s,l)){var l=s;o[r++]=0===a?0:a}}return o}function or(e){return"number"==typeof e?e:ss(e)?h:+e}function ar(e){if("string"==typeof e)return e;if(Wa(e))return Rt(e,ar)+"";if(ss(e))return Fn?Fn.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function sr(e,t,n){var i=-1,r=jt,o=e.length,a=!0,s=[],l=s;if(n)a=!1,r=Et;else if(o>=200){var u=t?null:Vr(e);if(u)return ln(u);a=!1,r=Zt,l=new Vn}else l=t?[]:s;e:for(;++i<o;){var c=e[i],d=t?t(c):c;if(c=n||0!==c?c:0,a&&d==d){for(var h=l.length;h--;)if(l[h]===d)continue e;t&&l.push(d),s.push(c)}else r(l,d,n)||(l!==s&&l.push(d),s.push(c))}return s}function lr(e,t){return null==(e=xo(e,t=gr(t,e)))||delete e[Mo(Ko(t))]}function ur(e,t,n,i){return $i(e,t,n(wi(e,t)),i)}function cr(e,t,n,i){for(var r=e.length,o=i?r:-1;(i?o--:++o<r)&&t(e[o],o,e););return n?er(e,i?0:o,i?o+1:r):er(e,i?o+1:0,i?r:o)}function dr(e,t){var n=e;return n instanceof Hn&&(n=n.value()),It(t,(function(e,t){return t.func.apply(t.thisArg,zt([e],t.args))}),n)}function hr(e,t,n){var r=e.length;if(r<2)return r?sr(e[0]):[];for(var o=-1,a=i(r);++o<r;)for(var s=e[o],l=-1;++l<r;)l!=o&&(a[o]=ui(a[o]||s,e[l],t,n));return sr(fi(a,1),t,n)}function pr(e,t,n){for(var i=-1,o=e.length,a=t.length,s={};++i<o;){var l=i<a?t[i]:r;n(s,e[i],l)}return s}function mr(e){return Va(e)?e:[]}function fr(e){return"function"==typeof e?e:nl}function gr(e,t){return Wa(e)?e:yo(e,t)?[e]:Oo(vs(e))}var vr=Yi;function yr(e,t,n){var i=e.length;return n=n===r?i:n,!t&&n>=i?e:er(e,t,n)}var br=at||function(e){return dt.clearTimeout(e)};function kr(e,t){if(t)return e.slice();var n=e.length,i=We?We(n):new e.constructor(n);return e.copy(i),i}function wr(e){var t=new e.constructor(e.byteLength);return new He(t).set(new He(e)),t}function Sr(e,t){var n=t?wr(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function Cr(e,t){if(e!==t){var n=e!==r,i=null===e,o=e==e,a=ss(e),s=t!==r,l=null===t,u=t==t,c=ss(t);if(!l&&!c&&!a&&e>t||a&&s&&u&&!l&&!c||i&&s&&u||!n&&u||!o)return 1;if(!i&&!a&&!c&&e<t||c&&n&&o&&!i&&!a||l&&n&&o||!s&&o||!u)return-1}return 0}function Pr(e,t,n,r){for(var o=-1,a=e.length,s=n.length,l=-1,u=t.length,c=gn(a-s,0),d=i(u+c),h=!r;++l<u;)d[l]=t[l];for(;++o<s;)(h||o<a)&&(d[n[o]]=e[o]);for(;c--;)d[l++]=e[o++];return d}function xr(e,t,n,r){for(var o=-1,a=e.length,s=-1,l=n.length,u=-1,c=t.length,d=gn(a-l,0),h=i(d+c),p=!r;++o<d;)h[o]=e[o];for(var m=o;++u<c;)h[m+u]=t[u];for(;++s<l;)(p||o<a)&&(h[m+n[s]]=e[o++]);return h}function Ar(e,t){var n=-1,r=e.length;for(t||(t=i(r));++n<r;)t[n]=e[n];return t}function Tr(e,t,n,i){var o=!n;n||(n={});for(var a=-1,s=t.length;++a<s;){var l=t[a],u=i?i(n[l],e[l],l,n,e):r;u===r&&(u=e[l]),o?ii(n,l,u):Qn(n,l,u)}return n}function _r(e,t){return function(n,i){var r=Wa(n)?Pt:ti,o=t?t():{};return r(n,e,oo(i,2),o)}}function jr(e){return Yi((function(t,n){var i=-1,o=n.length,a=o>1?n[o-1]:r,s=o>2?n[2]:r;for(a=e.length>3&&"function"==typeof a?(o--,a):r,s&&vo(n[0],n[1],s)&&(a=o<3?r:a,o=1),t=Pe(t);++i<o;){var l=n[i];l&&e(t,l,i,a)}return t}))}function Er(e,t){return function(n,i){if(null==n)return n;if(!qa(n))return e(n,i);for(var r=n.length,o=t?r:-1,a=Pe(n);(t?o--:++o<r)&&!1!==i(a[o],o,a););return n}}function Rr(e){return function(t,n,i){for(var r=-1,o=Pe(t),a=i(t),s=a.length;s--;){var l=a[e?s:++r];if(!1===n(o[l],l,o))break}return t}}function zr(e){return function(t){var n=rn(t=vs(t))?dn(t):r,i=n?n[0]:t.charAt(0),o=n?yr(n,1).join(""):t.slice(1);return i[e]()+o}}function Ir(e){return function(t){return It($s(Hs(t).replace($e,"")),e,"")}}function Lr(e){return function(){var t=arguments;switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3]);case 5:return new e(t[0],t[1],t[2],t[3],t[4]);case 6:return new e(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new e(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var n=Bn(e.prototype),i=e.apply(n,t);return Qa(i)?i:n}}function Or(e){return function(t,n,i){var o=Pe(t);if(!qa(t)){var a=oo(n,3);t=Es(t),n=function(e){return a(o[e],e,o)}}var s=e(t,n,i);return s>-1?o[a?t[s]:s]:r}}function Mr(e){return Qr((function(t){var n=t.length,i=n,a=Gn.prototype.thru;for(e&&t.reverse();i--;){var s=t[i];if("function"!=typeof s)throw new Te(o);if(a&&!l&&"wrapper"==io(s))var l=new Gn([],!0)}for(i=l?i:n;++i<n;){var u=io(s=t[i]),c="wrapper"==u?no(s):r;l=c&&bo(c[0])&&424==c[1]&&!c[4].length&&1==c[9]?l[io(c[0])].apply(l,c[3]):1==s.length&&bo(s)?l[u]():l.thru(s)}return function(){var e=arguments,i=e[0];if(l&&1==e.length&&Wa(i))return l.plant(i).value();for(var r=0,o=n?t[r].apply(this,e):i;++r<n;)o=t[r].call(this,o);return o}}))}function Fr(e,t,n,o,a,s,l,c,d,h){var p=t&u,m=1&t,f=2&t,g=24&t,v=512&t,y=f?r:Lr(e);return function u(){for(var b=arguments.length,k=i(b),w=b;w--;)k[w]=arguments[w];if(g)var S=ro(u),C=function(e,t){for(var n=e.length,i=0;n--;)e[n]===t&&++i;return i}(k,S);if(o&&(k=Pr(k,o,a,g)),s&&(k=xr(k,s,l,g)),b-=C,g&&b<h){var P=sn(k,S);return Ur(e,t,Fr,u.placeholder,n,k,P,c,d,h-b)}var x=m?n:this,A=f?x[e]:e;return b=k.length,c?k=function(e,t){for(var n=e.length,i=vn(t.length,n),o=Ar(e);i--;){var a=t[i];e[i]=go(a,n)?o[a]:r}return e}(k,c):v&&b>1&&k.reverse(),p&&d<b&&(k.length=d),this&&this!==dt&&this instanceof u&&(A=y||Lr(A)),A.apply(x,k)}}function Dr(e,t){return function(n,i){return function(e,t,n,i){return yi(e,(function(e,r,o){t(i,n(e),r,o)})),i}(n,e,t(i),{})}}function Br(e,t){return function(n,i){var o;if(n===r&&i===r)return t;if(n!==r&&(o=n),i!==r){if(o===r)return i;"string"==typeof n||"string"==typeof i?(n=ar(n),i=ar(i)):(n=or(n),i=or(i)),o=e(n,i)}return o}}function Nr(e){return Qr((function(t){return t=Rt(t,Kt(oo())),Yi((function(n){var i=this;return e(t,(function(e){return Ct(e,i,n)}))}))}))}function Gr(e,t){var n=(t=t===r?" ":ar(t)).length;if(n<2)return n?Vi(t,e):t;var i=Vi(t,ht(e/cn(t)));return rn(t)?yr(dn(i),0,e).join(""):i.slice(0,e)}function Hr(e){return function(t,n,o){return o&&"number"!=typeof o&&vo(t,n,o)&&(n=o=r),t=hs(t),n===r?(n=t,t=0):n=hs(n),function(e,t,n,r){for(var o=-1,a=gn(ht((t-e)/(n||1)),0),s=i(a);a--;)s[r?a:++o]=e,e+=n;return s}(t,n,o=o===r?t<n?1:-1:hs(o),e)}}function Wr(e){return function(t,n){return"string"==typeof t&&"string"==typeof n||(t=fs(t),n=fs(n)),e(t,n)}}function Ur(e,t,n,i,o,a,s,u,c,d){var h=8&t;t|=h?l:64,4&(t&=~(h?64:l))||(t&=-4);var p=[e,t,o,h?a:r,h?s:r,h?r:a,h?r:s,u,c,d],m=n.apply(r,p);return bo(e)&&To(m,p),m.placeholder=i,Eo(m,e,t)}function qr(e){var t=Ce[e];return function(e,n){if(e=fs(e),(n=null==n?0:vn(ps(n),292))&&Mt(e)){var i=(vs(e)+"e").split("e");return+((i=(vs(t(i[0]+"e"+(+i[1]+n)))+"e").split("e"))[0]+"e"+(+i[1]-n))}return t(e)}}var Vr=xn&&1/ln(new xn([,-0]))[1]==c?function(e){return new xn(e)}:sl;function Yr(e){return function(t){var n=ho(t);return n==S?on(t):n==T?un(t):function(e,t){return Rt(t,(function(t){return[t,e[t]]}))}(t,e(t))}}function Jr(e,t,n,a,c,d,h,p){var m=2&t;if(!m&&"function"!=typeof e)throw new Te(o);var f=a?a.length:0;if(f||(t&=-97,a=c=r),h=h===r?h:gn(ps(h),0),p=p===r?p:ps(p),f-=c?c.length:0,64&t){var g=a,v=c;a=c=r}var y=m?r:no(e),b=[e,t,n,a,c,g,v,d,h,p];if(y&&function(e,t){var n=e[1],i=t[1],r=n|i,o=r<131,a=i==u&&8==n||i==u&&256==n&&e[7].length<=t[8]||384==i&&t[7].length<=t[8]&&8==n;if(!o&&!a)return e;1&i&&(e[2]=t[2],r|=1&n?0:4);var l=t[3];if(l){var c=e[3];e[3]=c?Pr(c,l,t[4]):l,e[4]=c?sn(e[3],s):t[4]}(l=t[5])&&(c=e[5],e[5]=c?xr(c,l,t[6]):l,e[6]=c?sn(e[5],s):t[6]),(l=t[7])&&(e[7]=l),i&u&&(e[8]=null==e[8]?t[8]:vn(e[8],t[8])),null==e[9]&&(e[9]=t[9]),e[0]=t[0],e[1]=r}(b,y),e=b[0],t=b[1],n=b[2],a=b[3],c=b[4],!(p=b[9]=b[9]===r?m?0:e.length:gn(b[9]-f,0))&&24&t&&(t&=-25),t&&1!=t)k=8==t||16==t?function(e,t,n){var o=Lr(e);return function a(){for(var s=arguments.length,l=i(s),u=s,c=ro(a);u--;)l[u]=arguments[u];var d=s<3&&l[0]!==c&&l[s-1]!==c?[]:sn(l,c);return(s-=d.length)<n?Ur(e,t,Fr,a.placeholder,r,l,d,r,r,n-s):Ct(this&&this!==dt&&this instanceof a?o:e,this,l)}}(e,t,p):t!=l&&33!=t||c.length?Fr.apply(r,b):function(e,t,n,r){var o=1&t,a=Lr(e);return function t(){for(var s=-1,l=arguments.length,u=-1,c=r.length,d=i(c+l),h=this&&this!==dt&&this instanceof t?a:e;++u<c;)d[u]=r[u];for(;l--;)d[u++]=arguments[++s];return Ct(h,o?n:this,d)}}(e,t,n,a);else var k=function(e,t,n){var i=1&t,r=Lr(e);return function t(){return(this&&this!==dt&&this instanceof t?r:e).apply(i?n:this,arguments)}}(e,t,n);return Eo((y?Zi:To)(k,b),e,t)}function Kr(e,t,n,i){return e===r||Ba(e,Ee[n])&&!Ie.call(i,n)?t:e}function $r(e,t,n,i,o,a){return Qa(e)&&Qa(t)&&(a.set(t,e),Bi(e,t,r,$r,a),a.delete(t)),e}function Zr(e){return is(e)?r:e}function Xr(e,t,n,i,o,a){var s=1&n,l=e.length,u=t.length;if(l!=u&&!(s&&u>l))return!1;var c=a.get(e),d=a.get(t);if(c&&d)return c==t&&d==e;var h=-1,p=!0,m=2&n?new Vn:r;for(a.set(e,t),a.set(t,e);++h<l;){var f=e[h],g=t[h];if(i)var v=s?i(g,f,h,t,e,a):i(f,g,h,e,t,a);if(v!==r){if(v)continue;p=!1;break}if(m){if(!Ot(t,(function(e,t){if(!Zt(m,t)&&(f===e||o(f,e,n,i,a)))return m.push(t)}))){p=!1;break}}else if(f!==g&&!o(f,g,n,i,a)){p=!1;break}}return a.delete(e),a.delete(t),p}function Qr(e){return jo(Po(e,r,Uo),e+"")}function eo(e){return Si(e,Es,uo)}function to(e){return Si(e,Rs,co)}var no=_n?function(e){return _n.get(e)}:sl;function io(e){for(var t=e.name+"",n=jn[t],i=Ie.call(jn,t)?n.length:0;i--;){var r=n[i],o=r.func;if(null==o||o==e)return r.name}return t}function ro(e){return(Ie.call(Dn,"placeholder")?Dn:e).placeholder}function oo(){var e=Dn.iteratee||il;return e=e===il?Ii:e,arguments.length?e(arguments[0],arguments[1]):e}function ao(e,t){var n,i,r=e.__data__;return("string"==(i=typeof(n=t))||"number"==i||"symbol"==i||"boolean"==i?"__proto__"!==n:null===n)?r["string"==typeof t?"string":"hash"]:r.map}function so(e){for(var t=Es(e),n=t.length;n--;){var i=t[n],r=e[i];t[n]=[i,r,So(r)]}return t}function lo(e,t){var n=function(e,t){return null==e?r:e[t]}(e,t);return zi(n)?n:r}var uo=ft?function(e){return null==e?[]:(e=Pe(e),_t(ft(e),(function(t){return Ve.call(e,t)})))}:ml,co=ft?function(e){for(var t=[];e;)zt(t,uo(e)),e=Ue(e);return t}:ml,ho=Ci;function po(e,t,n){for(var i=-1,r=(t=gr(t,e)).length,o=!1;++i<r;){var a=Mo(t[i]);if(!(o=null!=e&&n(e,a)))break;e=e[a]}return o||++i!=r?o:!!(r=null==e?0:e.length)&&Xa(r)&&go(a,r)&&(Wa(e)||Ha(e))}function mo(e){return"function"!=typeof e.constructor||wo(e)?{}:Bn(Ue(e))}function fo(e){return Wa(e)||Ha(e)||!!(Je&&e&&e[Je])}function go(e,t){var n=typeof e;return!!(t=null==t?d:t)&&("number"==n||"symbol"!=n&&ve.test(e))&&e>-1&&e%1==0&&e<t}function vo(e,t,n){if(!Qa(n))return!1;var i=typeof t;return!!("number"==i?qa(n)&&go(t,n.length):"string"==i&&t in n)&&Ba(n[t],e)}function yo(e,t){if(Wa(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!ss(e))||Q.test(e)||!X.test(e)||null!=t&&e in Pe(t)}function bo(e){var t=io(e),n=Dn[t];if("function"!=typeof n||!(t in Hn.prototype))return!1;if(e===n)return!0;var i=no(n);return!!i&&e===i[0]}(Sn&&ho(new Sn(new ArrayBuffer(1)))!=z||Cn&&ho(new Cn)!=S||Pn&&ho(Pn.resolve())!=x||xn&&ho(new xn)!=T||An&&ho(new An)!=E)&&(ho=function(e){var t=Ci(e),n=t==P?e.constructor:r,i=n?Fo(n):"";if(i)switch(i){case En:return z;case Rn:return S;case zn:return x;case In:return T;case Ln:return E}return t});var ko=Re?$a:fl;function wo(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Ee)}function So(e){return e==e&&!Qa(e)}function Co(e,t){return function(n){return null!=n&&n[e]===t&&(t!==r||e in Pe(n))}}function Po(e,t,n){return t=gn(t===r?e.length-1:t,0),function(){for(var r=arguments,o=-1,a=gn(r.length-t,0),s=i(a);++o<a;)s[o]=r[t+o];o=-1;for(var l=i(t+1);++o<t;)l[o]=r[o];return l[t]=n(s),Ct(e,this,l)}}function xo(e,t){return t.length<2?e:wi(e,er(t,0,-1))}function Ao(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]}var To=Ro(Zi),_o=ct||function(e,t){return dt.setTimeout(e,t)},jo=Ro(Xi);function Eo(e,t,n){var i=t+"";return jo(e,function(e,t){var n=t.length;if(!n)return e;var i=n-1;return t[i]=(n>1?"& ":"")+t[i],t=t.join(n>2?", ":" "),e.replace(oe,"{\n/* [wrapped with "+t+"] */\n")}(i,function(e,t){return xt(m,(function(n){var i="_."+n[0];t&n[1]&&!jt(e,i)&&e.push(i)})),e.sort()}(function(e){var t=e.match(ae);return t?t[1].split(se):[]}(i),n)))}function Ro(e){var t=0,n=0;return function(){var i=yn(),o=16-(i-n);if(n=i,o>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(r,arguments)}}function zo(e,t){var n=-1,i=e.length,o=i-1;for(t=t===r?i:t;++n<t;){var a=qi(n,o),s=e[a];e[a]=e[n],e[n]=s}return e.length=t,e}var Io,Lo,Oo=(Io=Ia((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(ee,(function(e,n,i,r){t.push(i?r.replace(ce,"$1"):n||e)})),t}),(function(e){return 500===Lo.size&&Lo.clear(),e})),Lo=Io.cache,Io);function Mo(e){if("string"==typeof e||ss(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function Fo(e){if(null!=e){try{return ze.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function Do(e){if(e instanceof Hn)return e.clone();var t=new Gn(e.__wrapped__,e.__chain__);return t.__actions__=Ar(e.__actions__),t.__index__=e.__index__,t.__values__=e.__values__,t}var Bo=Yi((function(e,t){return Va(e)?ui(e,fi(t,1,Va,!0)):[]})),No=Yi((function(e,t){var n=Ko(t);return Va(n)&&(n=r),Va(e)?ui(e,fi(t,1,Va,!0),oo(n,2)):[]})),Go=Yi((function(e,t){var n=Ko(t);return Va(n)&&(n=r),Va(e)?ui(e,fi(t,1,Va,!0),r,n):[]}));function Ho(e,t,n){var i=null==e?0:e.length;if(!i)return-1;var r=null==n?0:ps(n);return r<0&&(r=gn(i+r,0)),Dt(e,oo(t,3),r)}function Wo(e,t,n){var i=null==e?0:e.length;if(!i)return-1;var o=i-1;return n!==r&&(o=ps(n),o=n<0?gn(i+o,0):vn(o,i-1)),Dt(e,oo(t,3),o,!0)}function Uo(e){return null!=e&&e.length?fi(e,1):[]}function qo(e){return e&&e.length?e[0]:r}var Vo=Yi((function(e){var t=Rt(e,mr);return t.length&&t[0]===e[0]?Ti(t):[]})),Yo=Yi((function(e){var t=Ko(e),n=Rt(e,mr);return t===Ko(n)?t=r:n.pop(),n.length&&n[0]===e[0]?Ti(n,oo(t,2)):[]})),Jo=Yi((function(e){var t=Ko(e),n=Rt(e,mr);return(t="function"==typeof t?t:r)&&n.pop(),n.length&&n[0]===e[0]?Ti(n,r,t):[]}));function Ko(e){var t=null==e?0:e.length;return t?e[t-1]:r}var $o=Yi(Zo);function Zo(e,t){return e&&e.length&&t&&t.length?Wi(e,t):e}var Xo=Qr((function(e,t){var n=null==e?0:e.length,i=ri(e,t);return Ui(e,Rt(t,(function(e){return go(e,n)?+e:e})).sort(Cr)),i}));function Qo(e){return null==e?e:wn.call(e)}var ea=Yi((function(e){return sr(fi(e,1,Va,!0))})),ta=Yi((function(e){var t=Ko(e);return Va(t)&&(t=r),sr(fi(e,1,Va,!0),oo(t,2))})),na=Yi((function(e){var t=Ko(e);return t="function"==typeof t?t:r,sr(fi(e,1,Va,!0),r,t)}));function ia(e){if(!e||!e.length)return[];var t=0;return e=_t(e,(function(e){if(Va(e))return t=gn(e.length,t),!0})),Yt(t,(function(t){return Rt(e,Wt(t))}))}function ra(e,t){if(!e||!e.length)return[];var n=ia(e);return null==t?n:Rt(n,(function(e){return Ct(t,r,e)}))}var oa=Yi((function(e,t){return Va(e)?ui(e,t):[]})),aa=Yi((function(e){return hr(_t(e,Va))})),sa=Yi((function(e){var t=Ko(e);return Va(t)&&(t=r),hr(_t(e,Va),oo(t,2))})),la=Yi((function(e){var t=Ko(e);return t="function"==typeof t?t:r,hr(_t(e,Va),r,t)})),ua=Yi(ia),ca=Yi((function(e){var t=e.length,n=t>1?e[t-1]:r;return n="function"==typeof n?(e.pop(),n):r,ra(e,n)}));function da(e){var t=Dn(e);return t.__chain__=!0,t}function ha(e,t){return t(e)}var pa=Qr((function(e){var t=e.length,n=t?e[0]:0,i=this.__wrapped__,o=function(t){return ri(t,e)};return!(t>1||this.__actions__.length)&&i instanceof Hn&&go(n)?((i=i.slice(n,+n+(t?1:0))).__actions__.push({func:ha,args:[o],thisArg:r}),new Gn(i,this.__chain__).thru((function(e){return t&&!e.length&&e.push(r),e}))):this.thru(o)})),ma=_r((function(e,t,n){Ie.call(e,n)?++e[n]:ii(e,n,1)})),fa=Or(Ho),ga=Or(Wo);function va(e,t){return(Wa(e)?xt:ci)(e,oo(t,3))}function ya(e,t){return(Wa(e)?At:di)(e,oo(t,3))}var ba=_r((function(e,t,n){Ie.call(e,n)?e[n].push(t):ii(e,n,[t])})),ka=Yi((function(e,t,n){var r=-1,o="function"==typeof t,a=qa(e)?i(e.length):[];return ci(e,(function(e){a[++r]=o?Ct(t,e,n):_i(e,t,n)})),a})),wa=_r((function(e,t,n){ii(e,n,t)}));function Sa(e,t){return(Wa(e)?Rt:Mi)(e,oo(t,3))}var Ca=_r((function(e,t,n){e[n?0:1].push(t)}),(function(){return[[],[]]})),Pa=Yi((function(e,t){if(null==e)return[];var n=t.length;return n>1&&vo(e,t[0],t[1])?t=[]:n>2&&vo(t[0],t[1],t[2])&&(t=[t[0]]),Gi(e,fi(t,1),[])})),xa=ut||function(){return dt.Date.now()};function Aa(e,t,n){return t=n?r:t,t=e&&null==t?e.length:t,Jr(e,u,r,r,r,r,t)}function Ta(e,t){var n;if("function"!=typeof t)throw new Te(o);return e=ps(e),function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=r),n}}var _a=Yi((function(e,t,n){var i=1;if(n.length){var r=sn(n,ro(_a));i|=l}return Jr(e,i,t,n,r)})),ja=Yi((function(e,t,n){var i=3;if(n.length){var r=sn(n,ro(ja));i|=l}return Jr(t,i,e,n,r)}));function Ea(e,t,n){var i,a,s,l,u,c,d=0,h=!1,p=!1,m=!0;if("function"!=typeof e)throw new Te(o);function f(t){var n=i,o=a;return i=a=r,d=t,l=e.apply(o,n)}function g(e){var n=e-c;return c===r||n>=t||n<0||p&&e-d>=s}function v(){var e=xa();if(g(e))return y(e);u=_o(v,function(e){var n=t-(e-c);return p?vn(n,s-(e-d)):n}(e))}function y(e){return u=r,m&&i?f(e):(i=a=r,l)}function b(){var e=xa(),n=g(e);if(i=arguments,a=this,c=e,n){if(u===r)return function(e){return d=e,u=_o(v,t),h?f(e):l}(c);if(p)return br(u),u=_o(v,t),f(c)}return u===r&&(u=_o(v,t)),l}return t=fs(t)||0,Qa(n)&&(h=!!n.leading,s=(p="maxWait"in n)?gn(fs(n.maxWait)||0,t):s,m="trailing"in n?!!n.trailing:m),b.cancel=function(){u!==r&&br(u),d=0,i=c=a=u=r},b.flush=function(){return u===r?l:y(xa())},b}var Ra=Yi((function(e,t){return li(e,1,t)})),za=Yi((function(e,t,n){return li(e,fs(t)||0,n)}));function Ia(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new Te(o);var n=function(){var i=arguments,r=t?t.apply(this,i):i[0],o=n.cache;if(o.has(r))return o.get(r);var a=e.apply(this,i);return n.cache=o.set(r,a)||o,a};return n.cache=new(Ia.Cache||qn),n}function La(e){if("function"!=typeof e)throw new Te(o);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}Ia.Cache=qn;var Oa=vr((function(e,t){var n=(t=1==t.length&&Wa(t[0])?Rt(t[0],Kt(oo())):Rt(fi(t,1),Kt(oo()))).length;return Yi((function(i){for(var r=-1,o=vn(i.length,n);++r<o;)i[r]=t[r].call(this,i[r]);return Ct(e,this,i)}))})),Ma=Yi((function(e,t){var n=sn(t,ro(Ma));return Jr(e,l,r,t,n)})),Fa=Yi((function(e,t){var n=sn(t,ro(Fa));return Jr(e,64,r,t,n)})),Da=Qr((function(e,t){return Jr(e,256,r,r,r,t)}));function Ba(e,t){return e===t||e!=e&&t!=t}var Na=Wr(Pi),Ga=Wr((function(e,t){return e>=t})),Ha=ji(function(){return arguments}())?ji:function(e){return es(e)&&Ie.call(e,"callee")&&!Ve.call(e,"callee")},Wa=i.isArray,Ua=vt?Kt(vt):function(e){return es(e)&&Ci(e)==R};function qa(e){return null!=e&&Xa(e.length)&&!$a(e)}function Va(e){return es(e)&&qa(e)}var Ya=gt||fl,Ja=yt?Kt(yt):function(e){return es(e)&&Ci(e)==y};function Ka(e){if(!es(e))return!1;var t=Ci(e);return t==b||"[object DOMException]"==t||"string"==typeof e.message&&"string"==typeof e.name&&!is(e)}function $a(e){if(!Qa(e))return!1;var t=Ci(e);return t==k||t==w||"[object AsyncFunction]"==t||"[object Proxy]"==t}function Za(e){return"number"==typeof e&&e==ps(e)}function Xa(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=d}function Qa(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function es(e){return null!=e&&"object"==typeof e}var ts=bt?Kt(bt):function(e){return es(e)&&ho(e)==S};function ns(e){return"number"==typeof e||es(e)&&Ci(e)==C}function is(e){if(!es(e)||Ci(e)!=P)return!1;var t=Ue(e);if(null===t)return!0;var n=Ie.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&ze.call(n)==Fe}var rs=kt?Kt(kt):function(e){return es(e)&&Ci(e)==A},os=wt?Kt(wt):function(e){return es(e)&&ho(e)==T};function as(e){return"string"==typeof e||!Wa(e)&&es(e)&&Ci(e)==_}function ss(e){return"symbol"==typeof e||es(e)&&Ci(e)==j}var ls=St?Kt(St):function(e){return es(e)&&Xa(e.length)&&!!rt[Ci(e)]},us=Wr(Oi),cs=Wr((function(e,t){return e<=t}));function ds(e){if(!e)return[];if(qa(e))return as(e)?dn(e):Ar(e);if(Ke&&e[Ke])return function(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}(e[Ke]());var t=ho(e);return(t==S?on:t==T?ln:Bs)(e)}function hs(e){return e?(e=fs(e))===c||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}function ps(e){var t=hs(e),n=t%1;return t==t?n?t-n:t:0}function ms(e){return e?oi(ps(e),0,p):0}function fs(e){if("number"==typeof e)return e;if(ss(e))return h;if(Qa(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=Qa(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=Jt(e);var n=me.test(e);return n||ge.test(e)?lt(e.slice(2),n?2:8):pe.test(e)?h:+e}function gs(e){return Tr(e,Rs(e))}function vs(e){return null==e?"":ar(e)}var ys=jr((function(e,t){if(wo(t)||qa(t))Tr(t,Es(t),e);else for(var n in t)Ie.call(t,n)&&Qn(e,n,t[n])})),bs=jr((function(e,t){Tr(t,Rs(t),e)})),ks=jr((function(e,t,n,i){Tr(t,Rs(t),e,i)})),ws=jr((function(e,t,n,i){Tr(t,Es(t),e,i)})),Ss=Qr(ri),Cs=Yi((function(e,t){e=Pe(e);var n=-1,i=t.length,o=i>2?t[2]:r;for(o&&vo(t[0],t[1],o)&&(i=1);++n<i;)for(var a=t[n],s=Rs(a),l=-1,u=s.length;++l<u;){var c=s[l],d=e[c];(d===r||Ba(d,Ee[c])&&!Ie.call(e,c))&&(e[c]=a[c])}return e})),Ps=Yi((function(e){return e.push(r,$r),Ct(Is,r,e)}));function xs(e,t,n){var i=null==e?r:wi(e,t);return i===r?n:i}function As(e,t){return null!=e&&po(e,t,Ai)}var Ts=Dr((function(e,t,n){null!=t&&"function"!=typeof t.toString&&(t=Me.call(t)),e[t]=n}),Qs(nl)),_s=Dr((function(e,t,n){null!=t&&"function"!=typeof t.toString&&(t=Me.call(t)),Ie.call(e,t)?e[t].push(n):e[t]=[n]}),oo),js=Yi(_i);function Es(e){return qa(e)?Jn(e):Li(e)}function Rs(e){return qa(e)?Jn(e,!0):function(e){if(!Qa(e))return function(e){var t=[];if(null!=e)for(var n in Pe(e))t.push(n);return t}(e);var t=wo(e),n=[];for(var i in e)("constructor"!=i||!t&&Ie.call(e,i))&&n.push(i);return n}(e)}var zs=jr((function(e,t,n){Bi(e,t,n)})),Is=jr((function(e,t,n,i){Bi(e,t,n,i)})),Ls=Qr((function(e,t){var n={};if(null==e)return n;var i=!1;t=Rt(t,(function(t){return t=gr(t,e),i||(i=t.length>1),t})),Tr(e,to(e),n),i&&(n=ai(n,7,Zr));for(var r=t.length;r--;)lr(n,t[r]);return n})),Os=Qr((function(e,t){return null==e?{}:function(e,t){return Hi(e,t,(function(t,n){return As(e,n)}))}(e,t)}));function Ms(e,t){if(null==e)return{};var n=Rt(to(e),(function(e){return[e]}));return t=oo(t),Hi(e,n,(function(e,n){return t(e,n[0])}))}var Fs=Yr(Es),Ds=Yr(Rs);function Bs(e){return null==e?[]:$t(e,Es(e))}var Ns=Ir((function(e,t,n){return t=t.toLowerCase(),e+(n?Gs(t):t)}));function Gs(e){return Ks(vs(e).toLowerCase())}function Hs(e){return(e=vs(e))&&e.replace(ye,en).replace(Ze,"")}var Ws=Ir((function(e,t,n){return e+(n?"-":"")+t.toLowerCase()})),Us=Ir((function(e,t,n){return e+(n?" ":"")+t.toLowerCase()})),qs=zr("toLowerCase"),Vs=Ir((function(e,t,n){return e+(n?"_":"")+t.toLowerCase()})),Ys=Ir((function(e,t,n){return e+(n?" ":"")+Ks(t)})),Js=Ir((function(e,t,n){return e+(n?" ":"")+t.toUpperCase()})),Ks=zr("toUpperCase");function $s(e,t,n){return e=vs(e),(t=n?r:t)===r?function(e){return tt.test(e)}(e)?function(e){return e.match(Qe)||[]}(e):function(e){return e.match(le)||[]}(e):e.match(t)||[]}var Zs=Yi((function(e,t){try{return Ct(e,r,t)}catch(e){return Ka(e)?e:new we(e)}})),Xs=Qr((function(e,t){return xt(t,(function(t){t=Mo(t),ii(e,t,_a(e[t],e))})),e}));function Qs(e){return function(){return e}}var el=Mr(),tl=Mr(!0);function nl(e){return e}function il(e){return Ii("function"==typeof e?e:ai(e,1))}var rl=Yi((function(e,t){return function(n){return _i(n,e,t)}})),ol=Yi((function(e,t){return function(n){return _i(e,n,t)}}));function al(e,t,n){var i=Es(t),r=ki(t,i);null!=n||Qa(t)&&(r.length||!i.length)||(n=t,t=e,e=this,r=ki(t,Es(t)));var o=!(Qa(n)&&"chain"in n&&!n.chain),a=$a(e);return xt(r,(function(n){var i=t[n];e[n]=i,a&&(e.prototype[n]=function(){var t=this.__chain__;if(o||t){var n=e(this.__wrapped__);return(n.__actions__=Ar(this.__actions__)).push({func:i,args:arguments,thisArg:e}),n.__chain__=t,n}return i.apply(e,zt([this.value()],arguments))})})),e}function sl(){}var ll=Nr(Rt),ul=Nr(Tt),cl=Nr(Ot);function dl(e){return yo(e)?Wt(Mo(e)):function(e){return function(t){return wi(t,e)}}(e)}var hl=Hr(),pl=Hr(!0);function ml(){return[]}function fl(){return!1}var gl,vl=Br((function(e,t){return e+t}),0),yl=qr("ceil"),bl=Br((function(e,t){return e/t}),1),kl=qr("floor"),wl=Br((function(e,t){return e*t}),1),Sl=qr("round"),Cl=Br((function(e,t){return e-t}),0);return Dn.after=function(e,t){if("function"!=typeof t)throw new Te(o);return e=ps(e),function(){if(--e<1)return t.apply(this,arguments)}},Dn.ary=Aa,Dn.assign=ys,Dn.assignIn=bs,Dn.assignInWith=ks,Dn.assignWith=ws,Dn.at=Ss,Dn.before=Ta,Dn.bind=_a,Dn.bindAll=Xs,Dn.bindKey=ja,Dn.castArray=function(){if(!arguments.length)return[];var e=arguments[0];return Wa(e)?e:[e]},Dn.chain=da,Dn.chunk=function(e,t,n){t=(n?vo(e,t,n):t===r)?1:gn(ps(t),0);var o=null==e?0:e.length;if(!o||t<1)return[];for(var a=0,s=0,l=i(ht(o/t));a<o;)l[s++]=er(e,a,a+=t);return l},Dn.compact=function(e){for(var t=-1,n=null==e?0:e.length,i=0,r=[];++t<n;){var o=e[t];o&&(r[i++]=o)}return r},Dn.concat=function(){var e=arguments.length;if(!e)return[];for(var t=i(e-1),n=arguments[0],r=e;r--;)t[r-1]=arguments[r];return zt(Wa(n)?Ar(n):[n],fi(t,1))},Dn.cond=function(e){var t=null==e?0:e.length,n=oo();return e=t?Rt(e,(function(e){if("function"!=typeof e[1])throw new Te(o);return[n(e[0]),e[1]]})):[],Yi((function(n){for(var i=-1;++i<t;){var r=e[i];if(Ct(r[0],this,n))return Ct(r[1],this,n)}}))},Dn.conforms=function(e){return function(e){var t=Es(e);return function(n){return si(n,e,t)}}(ai(e,1))},Dn.constant=Qs,Dn.countBy=ma,Dn.create=function(e,t){var n=Bn(e);return null==t?n:ni(n,t)},Dn.curry=function e(t,n,i){var o=Jr(t,8,r,r,r,r,r,n=i?r:n);return o.placeholder=e.placeholder,o},Dn.curryRight=function e(t,n,i){var o=Jr(t,16,r,r,r,r,r,n=i?r:n);return o.placeholder=e.placeholder,o},Dn.debounce=Ea,Dn.defaults=Cs,Dn.defaultsDeep=Ps,Dn.defer=Ra,Dn.delay=za,Dn.difference=Bo,Dn.differenceBy=No,Dn.differenceWith=Go,Dn.drop=function(e,t,n){var i=null==e?0:e.length;return i?er(e,(t=n||t===r?1:ps(t))<0?0:t,i):[]},Dn.dropRight=function(e,t,n){var i=null==e?0:e.length;return i?er(e,0,(t=i-(t=n||t===r?1:ps(t)))<0?0:t):[]},Dn.dropRightWhile=function(e,t){return e&&e.length?cr(e,oo(t,3),!0,!0):[]},Dn.dropWhile=function(e,t){return e&&e.length?cr(e,oo(t,3),!0):[]},Dn.fill=function(e,t,n,i){var o=null==e?0:e.length;return o?(n&&"number"!=typeof n&&vo(e,t,n)&&(n=0,i=o),function(e,t,n,i){var o=e.length;for((n=ps(n))<0&&(n=-n>o?0:o+n),(i=i===r||i>o?o:ps(i))<0&&(i+=o),i=n>i?0:ms(i);n<i;)e[n++]=t;return e}(e,t,n,i)):[]},Dn.filter=function(e,t){return(Wa(e)?_t:mi)(e,oo(t,3))},Dn.flatMap=function(e,t){return fi(Sa(e,t),1)},Dn.flatMapDeep=function(e,t){return fi(Sa(e,t),c)},Dn.flatMapDepth=function(e,t,n){return n=n===r?1:ps(n),fi(Sa(e,t),n)},Dn.flatten=Uo,Dn.flattenDeep=function(e){return null!=e&&e.length?fi(e,c):[]},Dn.flattenDepth=function(e,t){return null!=e&&e.length?fi(e,t=t===r?1:ps(t)):[]},Dn.flip=function(e){return Jr(e,512)},Dn.flow=el,Dn.flowRight=tl,Dn.fromPairs=function(e){for(var t=-1,n=null==e?0:e.length,i={};++t<n;){var r=e[t];i[r[0]]=r[1]}return i},Dn.functions=function(e){return null==e?[]:ki(e,Es(e))},Dn.functionsIn=function(e){return null==e?[]:ki(e,Rs(e))},Dn.groupBy=ba,Dn.initial=function(e){return null!=e&&e.length?er(e,0,-1):[]},Dn.intersection=Vo,Dn.intersectionBy=Yo,Dn.intersectionWith=Jo,Dn.invert=Ts,Dn.invertBy=_s,Dn.invokeMap=ka,Dn.iteratee=il,Dn.keyBy=wa,Dn.keys=Es,Dn.keysIn=Rs,Dn.map=Sa,Dn.mapKeys=function(e,t){var n={};return t=oo(t,3),yi(e,(function(e,i,r){ii(n,t(e,i,r),e)})),n},Dn.mapValues=function(e,t){var n={};return t=oo(t,3),yi(e,(function(e,i,r){ii(n,i,t(e,i,r))})),n},Dn.matches=function(e){return Fi(ai(e,1))},Dn.matchesProperty=function(e,t){return Di(e,ai(t,1))},Dn.memoize=Ia,Dn.merge=zs,Dn.mergeWith=Is,Dn.method=rl,Dn.methodOf=ol,Dn.mixin=al,Dn.negate=La,Dn.nthArg=function(e){return e=ps(e),Yi((function(t){return Ni(t,e)}))},Dn.omit=Ls,Dn.omitBy=function(e,t){return Ms(e,La(oo(t)))},Dn.once=function(e){return Ta(2,e)},Dn.orderBy=function(e,t,n,i){return null==e?[]:(Wa(t)||(t=null==t?[]:[t]),Wa(n=i?r:n)||(n=null==n?[]:[n]),Gi(e,t,n))},Dn.over=ll,Dn.overArgs=Oa,Dn.overEvery=ul,Dn.overSome=cl,Dn.partial=Ma,Dn.partialRight=Fa,Dn.partition=Ca,Dn.pick=Os,Dn.pickBy=Ms,Dn.property=dl,Dn.propertyOf=function(e){return function(t){return null==e?r:wi(e,t)}},Dn.pull=$o,Dn.pullAll=Zo,Dn.pullAllBy=function(e,t,n){return e&&e.length&&t&&t.length?Wi(e,t,oo(n,2)):e},Dn.pullAllWith=function(e,t,n){return e&&e.length&&t&&t.length?Wi(e,t,r,n):e},Dn.pullAt=Xo,Dn.range=hl,Dn.rangeRight=pl,Dn.rearg=Da,Dn.reject=function(e,t){return(Wa(e)?_t:mi)(e,La(oo(t,3)))},Dn.remove=function(e,t){var n=[];if(!e||!e.length)return n;var i=-1,r=[],o=e.length;for(t=oo(t,3);++i<o;){var a=e[i];t(a,i,e)&&(n.push(a),r.push(i))}return Ui(e,r),n},Dn.rest=function(e,t){if("function"!=typeof e)throw new Te(o);return Yi(e,t=t===r?t:ps(t))},Dn.reverse=Qo,Dn.sampleSize=function(e,t,n){return t=(n?vo(e,t,n):t===r)?1:ps(t),(Wa(e)?$n:Ki)(e,t)},Dn.set=function(e,t,n){return null==e?e:$i(e,t,n)},Dn.setWith=function(e,t,n,i){return i="function"==typeof i?i:r,null==e?e:$i(e,t,n,i)},Dn.shuffle=function(e){return(Wa(e)?Zn:Qi)(e)},Dn.slice=function(e,t,n){var i=null==e?0:e.length;return i?(n&&"number"!=typeof n&&vo(e,t,n)?(t=0,n=i):(t=null==t?0:ps(t),n=n===r?i:ps(n)),er(e,t,n)):[]},Dn.sortBy=Pa,Dn.sortedUniq=function(e){return e&&e.length?rr(e):[]},Dn.sortedUniqBy=function(e,t){return e&&e.length?rr(e,oo(t,2)):[]},Dn.split=function(e,t,n){return n&&"number"!=typeof n&&vo(e,t,n)&&(t=n=r),(n=n===r?p:n>>>0)?(e=vs(e))&&("string"==typeof t||null!=t&&!rs(t))&&!(t=ar(t))&&rn(e)?yr(dn(e),0,n):e.split(t,n):[]},Dn.spread=function(e,t){if("function"!=typeof e)throw new Te(o);return t=null==t?0:gn(ps(t),0),Yi((function(n){var i=n[t],r=yr(n,0,t);return i&&zt(r,i),Ct(e,this,r)}))},Dn.tail=function(e){var t=null==e?0:e.length;return t?er(e,1,t):[]},Dn.take=function(e,t,n){return e&&e.length?er(e,0,(t=n||t===r?1:ps(t))<0?0:t):[]},Dn.takeRight=function(e,t,n){var i=null==e?0:e.length;return i?er(e,(t=i-(t=n||t===r?1:ps(t)))<0?0:t,i):[]},Dn.takeRightWhile=function(e,t){return e&&e.length?cr(e,oo(t,3),!1,!0):[]},Dn.takeWhile=function(e,t){return e&&e.length?cr(e,oo(t,3)):[]},Dn.tap=function(e,t){return t(e),e},Dn.throttle=function(e,t,n){var i=!0,r=!0;if("function"!=typeof e)throw new Te(o);return Qa(n)&&(i="leading"in n?!!n.leading:i,r="trailing"in n?!!n.trailing:r),Ea(e,t,{leading:i,maxWait:t,trailing:r})},Dn.thru=ha,Dn.toArray=ds,Dn.toPairs=Fs,Dn.toPairsIn=Ds,Dn.toPath=function(e){return Wa(e)?Rt(e,Mo):ss(e)?[e]:Ar(Oo(vs(e)))},Dn.toPlainObject=gs,Dn.transform=function(e,t,n){var i=Wa(e),r=i||Ya(e)||ls(e);if(t=oo(t,4),null==n){var o=e&&e.constructor;n=r?i?new o:[]:Qa(e)&&$a(o)?Bn(Ue(e)):{}}return(r?xt:yi)(e,(function(e,i,r){return t(n,e,i,r)})),n},Dn.unary=function(e){return Aa(e,1)},Dn.union=ea,Dn.unionBy=ta,Dn.unionWith=na,Dn.uniq=function(e){return e&&e.length?sr(e):[]},Dn.uniqBy=function(e,t){return e&&e.length?sr(e,oo(t,2)):[]},Dn.uniqWith=function(e,t){return t="function"==typeof t?t:r,e&&e.length?sr(e,r,t):[]},Dn.unset=function(e,t){return null==e||lr(e,t)},Dn.unzip=ia,Dn.unzipWith=ra,Dn.update=function(e,t,n){return null==e?e:ur(e,t,fr(n))},Dn.updateWith=function(e,t,n,i){return i="function"==typeof i?i:r,null==e?e:ur(e,t,fr(n),i)},Dn.values=Bs,Dn.valuesIn=function(e){return null==e?[]:$t(e,Rs(e))},Dn.without=oa,Dn.words=$s,Dn.wrap=function(e,t){return Ma(fr(t),e)},Dn.xor=aa,Dn.xorBy=sa,Dn.xorWith=la,Dn.zip=ua,Dn.zipObject=function(e,t){return pr(e||[],t||[],Qn)},Dn.zipObjectDeep=function(e,t){return pr(e||[],t||[],$i)},Dn.zipWith=ca,Dn.entries=Fs,Dn.entriesIn=Ds,Dn.extend=bs,Dn.extendWith=ks,al(Dn,Dn),Dn.add=vl,Dn.attempt=Zs,Dn.camelCase=Ns,Dn.capitalize=Gs,Dn.ceil=yl,Dn.clamp=function(e,t,n){return n===r&&(n=t,t=r),n!==r&&(n=(n=fs(n))==n?n:0),t!==r&&(t=(t=fs(t))==t?t:0),oi(fs(e),t,n)},Dn.clone=function(e){return ai(e,4)},Dn.cloneDeep=function(e){return ai(e,5)},Dn.cloneDeepWith=function(e,t){return ai(e,5,t="function"==typeof t?t:r)},Dn.cloneWith=function(e,t){return ai(e,4,t="function"==typeof t?t:r)},Dn.conformsTo=function(e,t){return null==t||si(e,t,Es(t))},Dn.deburr=Hs,Dn.defaultTo=function(e,t){return null==e||e!=e?t:e},Dn.divide=bl,Dn.endsWith=function(e,t,n){e=vs(e),t=ar(t);var i=e.length,o=n=n===r?i:oi(ps(n),0,i);return(n-=t.length)>=0&&e.slice(n,o)==t},Dn.eq=Ba,Dn.escape=function(e){return(e=vs(e))&&J.test(e)?e.replace(V,tn):e},Dn.escapeRegExp=function(e){return(e=vs(e))&&ne.test(e)?e.replace(te,"\\$&"):e},Dn.every=function(e,t,n){var i=Wa(e)?Tt:hi;return n&&vo(e,t,n)&&(t=r),i(e,oo(t,3))},Dn.find=fa,Dn.findIndex=Ho,Dn.findKey=function(e,t){return Ft(e,oo(t,3),yi)},Dn.findLast=ga,Dn.findLastIndex=Wo,Dn.findLastKey=function(e,t){return Ft(e,oo(t,3),bi)},Dn.floor=kl,Dn.forEach=va,Dn.forEachRight=ya,Dn.forIn=function(e,t){return null==e?e:gi(e,oo(t,3),Rs)},Dn.forInRight=function(e,t){return null==e?e:vi(e,oo(t,3),Rs)},Dn.forOwn=function(e,t){return e&&yi(e,oo(t,3))},Dn.forOwnRight=function(e,t){return e&&bi(e,oo(t,3))},Dn.get=xs,Dn.gt=Na,Dn.gte=Ga,Dn.has=function(e,t){return null!=e&&po(e,t,xi)},Dn.hasIn=As,Dn.head=qo,Dn.identity=nl,Dn.includes=function(e,t,n,i){e=qa(e)?e:Bs(e),n=n&&!i?ps(n):0;var r=e.length;return n<0&&(n=gn(r+n,0)),as(e)?n<=r&&e.indexOf(t,n)>-1:!!r&&Bt(e,t,n)>-1},Dn.indexOf=function(e,t,n){var i=null==e?0:e.length;if(!i)return-1;var r=null==n?0:ps(n);return r<0&&(r=gn(i+r,0)),Bt(e,t,r)},Dn.inRange=function(e,t,n){return t=hs(t),n===r?(n=t,t=0):n=hs(n),function(e,t,n){return e>=vn(t,n)&&e<gn(t,n)}(e=fs(e),t,n)},Dn.invoke=js,Dn.isArguments=Ha,Dn.isArray=Wa,Dn.isArrayBuffer=Ua,Dn.isArrayLike=qa,Dn.isArrayLikeObject=Va,Dn.isBoolean=function(e){return!0===e||!1===e||es(e)&&Ci(e)==v},Dn.isBuffer=Ya,Dn.isDate=Ja,Dn.isElement=function(e){return es(e)&&1===e.nodeType&&!is(e)},Dn.isEmpty=function(e){if(null==e)return!0;if(qa(e)&&(Wa(e)||"string"==typeof e||"function"==typeof e.splice||Ya(e)||ls(e)||Ha(e)))return!e.length;var t=ho(e);if(t==S||t==T)return!e.size;if(wo(e))return!Li(e).length;for(var n in e)if(Ie.call(e,n))return!1;return!0},Dn.isEqual=function(e,t){return Ei(e,t)},Dn.isEqualWith=function(e,t,n){var i=(n="function"==typeof n?n:r)?n(e,t):r;return i===r?Ei(e,t,r,n):!!i},Dn.isError=Ka,Dn.isFinite=function(e){return"number"==typeof e&&Mt(e)},Dn.isFunction=$a,Dn.isInteger=Za,Dn.isLength=Xa,Dn.isMap=ts,Dn.isMatch=function(e,t){return e===t||Ri(e,t,so(t))},Dn.isMatchWith=function(e,t,n){return n="function"==typeof n?n:r,Ri(e,t,so(t),n)},Dn.isNaN=function(e){return ns(e)&&e!=+e},Dn.isNative=function(e){if(ko(e))throw new we("Unsupported core-js use. Try https://npms.io/search?q=ponyfill.");return zi(e)},Dn.isNil=function(e){return null==e},Dn.isNull=function(e){return null===e},Dn.isNumber=ns,Dn.isObject=Qa,Dn.isObjectLike=es,Dn.isPlainObject=is,Dn.isRegExp=rs,Dn.isSafeInteger=function(e){return Za(e)&&e>=-9007199254740991&&e<=d},Dn.isSet=os,Dn.isString=as,Dn.isSymbol=ss,Dn.isTypedArray=ls,Dn.isUndefined=function(e){return e===r},Dn.isWeakMap=function(e){return es(e)&&ho(e)==E},Dn.isWeakSet=function(e){return es(e)&&"[object WeakSet]"==Ci(e)},Dn.join=function(e,t){return null==e?"":Ut.call(e,t)},Dn.kebabCase=Ws,Dn.last=Ko,Dn.lastIndexOf=function(e,t,n){var i=null==e?0:e.length;if(!i)return-1;var o=i;return n!==r&&(o=(o=ps(n))<0?gn(i+o,0):vn(o,i-1)),t==t?function(e,t,n){for(var i=n+1;i--;)if(e[i]===t)return i;return i}(e,t,o):Dt(e,Gt,o,!0)},Dn.lowerCase=Us,Dn.lowerFirst=qs,Dn.lt=us,Dn.lte=cs,Dn.max=function(e){return e&&e.length?pi(e,nl,Pi):r},Dn.maxBy=function(e,t){return e&&e.length?pi(e,oo(t,2),Pi):r},Dn.mean=function(e){return Ht(e,nl)},Dn.meanBy=function(e,t){return Ht(e,oo(t,2))},Dn.min=function(e){return e&&e.length?pi(e,nl,Oi):r},Dn.minBy=function(e,t){return e&&e.length?pi(e,oo(t,2),Oi):r},Dn.stubArray=ml,Dn.stubFalse=fl,Dn.stubObject=function(){return{}},Dn.stubString=function(){return""},Dn.stubTrue=function(){return!0},Dn.multiply=wl,Dn.nth=function(e,t){return e&&e.length?Ni(e,ps(t)):r},Dn.noConflict=function(){return dt._===this&&(dt._=De),this},Dn.noop=sl,Dn.now=xa,Dn.pad=function(e,t,n){e=vs(e);var i=(t=ps(t))?cn(e):0;if(!t||i>=t)return e;var r=(t-i)/2;return Gr(pt(r),n)+e+Gr(ht(r),n)},Dn.padEnd=function(e,t,n){e=vs(e);var i=(t=ps(t))?cn(e):0;return t&&i<t?e+Gr(t-i,n):e},Dn.padStart=function(e,t,n){e=vs(e);var i=(t=ps(t))?cn(e):0;return t&&i<t?Gr(t-i,n)+e:e},Dn.parseInt=function(e,t,n){return n||null==t?t=0:t&&(t=+t),bn(vs(e).replace(ie,""),t||0)},Dn.random=function(e,t,n){if(n&&"boolean"!=typeof n&&vo(e,t,n)&&(t=n=r),n===r&&("boolean"==typeof t?(n=t,t=r):"boolean"==typeof e&&(n=e,e=r)),e===r&&t===r?(e=0,t=1):(e=hs(e),t===r?(t=e,e=0):t=hs(t)),e>t){var i=e;e=t,t=i}if(n||e%1||t%1){var o=kn();return vn(e+o*(t-e+st("1e-"+((o+"").length-1))),t)}return qi(e,t)},Dn.reduce=function(e,t,n){var i=Wa(e)?It:qt,r=arguments.length<3;return i(e,oo(t,4),n,r,ci)},Dn.reduceRight=function(e,t,n){var i=Wa(e)?Lt:qt,r=arguments.length<3;return i(e,oo(t,4),n,r,di)},Dn.repeat=function(e,t,n){return t=(n?vo(e,t,n):t===r)?1:ps(t),Vi(vs(e),t)},Dn.replace=function(){var e=arguments,t=vs(e[0]);return e.length<3?t:t.replace(e[1],e[2])},Dn.result=function(e,t,n){var i=-1,o=(t=gr(t,e)).length;for(o||(o=1,e=r);++i<o;){var a=null==e?r:e[Mo(t[i])];a===r&&(i=o,a=n),e=$a(a)?a.call(e):a}return e},Dn.round=Sl,Dn.runInContext=e,Dn.sample=function(e){return(Wa(e)?Kn:Ji)(e)},Dn.size=function(e){if(null==e)return 0;if(qa(e))return as(e)?cn(e):e.length;var t=ho(e);return t==S||t==T?e.size:Li(e).length},Dn.snakeCase=Vs,Dn.some=function(e,t,n){var i=Wa(e)?Ot:tr;return n&&vo(e,t,n)&&(t=r),i(e,oo(t,3))},Dn.sortedIndex=function(e,t){return nr(e,t)},Dn.sortedIndexBy=function(e,t,n){return ir(e,t,oo(n,2))},Dn.sortedIndexOf=function(e,t){var n=null==e?0:e.length;if(n){var i=nr(e,t);if(i<n&&Ba(e[i],t))return i}return-1},Dn.sortedLastIndex=function(e,t){return nr(e,t,!0)},Dn.sortedLastIndexBy=function(e,t,n){return ir(e,t,oo(n,2),!0)},Dn.sortedLastIndexOf=function(e,t){if(null!=e&&e.length){var n=nr(e,t,!0)-1;if(Ba(e[n],t))return n}return-1},Dn.startCase=Ys,Dn.startsWith=function(e,t,n){return e=vs(e),n=null==n?0:oi(ps(n),0,e.length),t=ar(t),e.slice(n,n+t.length)==t},Dn.subtract=Cl,Dn.sum=function(e){return e&&e.length?Vt(e,nl):0},Dn.sumBy=function(e,t){return e&&e.length?Vt(e,oo(t,2)):0},Dn.template=function(e,t,n){var i=Dn.templateSettings;n&&vo(e,t,n)&&(t=r),e=vs(e),t=ks({},t,i,Kr);var o,a,s=ks({},t.imports,i.imports,Kr),l=Es(s),u=$t(s,l),c=0,d=t.interpolate||be,h="__p += '",p=xe((t.escape||be).source+"|"+d.source+"|"+(d===Z?de:be).source+"|"+(t.evaluate||be).source+"|$","g"),m="//# sourceURL="+(Ie.call(t,"sourceURL")?(t.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++it+"]")+"\n";e.replace(p,(function(t,n,i,r,s,l){return i||(i=r),h+=e.slice(c,l).replace(ke,nn),n&&(o=!0,h+="' +\n__e("+n+") +\n'"),s&&(a=!0,h+="';\n"+s+";\n__p += '"),i&&(h+="' +\n((__t = ("+i+")) == null ? '' : __t) +\n'"),c=l+t.length,t})),h+="';\n";var f=Ie.call(t,"variable")&&t.variable;if(f){if(ue.test(f))throw new we("Invalid `variable` option passed into `_.template`")}else h="with (obj) {\n"+h+"\n}\n";h=(a?h.replace(H,""):h).replace(W,"$1").replace(U,"$1;"),h="function("+(f||"obj")+") {\n"+(f?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(o?", __e = _.escape":"")+(a?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+h+"return __p\n}";var g=Zs((function(){return Se(l,m+"return "+h).apply(r,u)}));if(g.source=h,Ka(g))throw g;return g},Dn.times=function(e,t){if((e=ps(e))<1||e>d)return[];var n=p,i=vn(e,p);t=oo(t),e-=p;for(var r=Yt(i,t);++n<e;)t(n);return r},Dn.toFinite=hs,Dn.toInteger=ps,Dn.toLength=ms,Dn.toLower=function(e){return vs(e).toLowerCase()},Dn.toNumber=fs,Dn.toSafeInteger=function(e){return e?oi(ps(e),-9007199254740991,d):0===e?e:0},Dn.toString=vs,Dn.toUpper=function(e){return vs(e).toUpperCase()},Dn.trim=function(e,t,n){if((e=vs(e))&&(n||t===r))return Jt(e);if(!e||!(t=ar(t)))return e;var i=dn(e),o=dn(t);return yr(i,Xt(i,o),Qt(i,o)+1).join("")},Dn.trimEnd=function(e,t,n){if((e=vs(e))&&(n||t===r))return e.slice(0,hn(e)+1);if(!e||!(t=ar(t)))return e;var i=dn(e);return yr(i,0,Qt(i,dn(t))+1).join("")},Dn.trimStart=function(e,t,n){if((e=vs(e))&&(n||t===r))return e.replace(ie,"");if(!e||!(t=ar(t)))return e;var i=dn(e);return yr(i,Xt(i,dn(t))).join("")},Dn.truncate=function(e,t){var n=30,i="...";if(Qa(t)){var o="separator"in t?t.separator:o;n="length"in t?ps(t.length):n,i="omission"in t?ar(t.omission):i}var a=(e=vs(e)).length;if(rn(e)){var s=dn(e);a=s.length}if(n>=a)return e;var l=n-cn(i);if(l<1)return i;var u=s?yr(s,0,l).join(""):e.slice(0,l);if(o===r)return u+i;if(s&&(l+=u.length-l),rs(o)){if(e.slice(l).search(o)){var c,d=u;for(o.global||(o=xe(o.source,vs(he.exec(o))+"g")),o.lastIndex=0;c=o.exec(d);)var h=c.index;u=u.slice(0,h===r?l:h)}}else if(e.indexOf(ar(o),l)!=l){var p=u.lastIndexOf(o);p>-1&&(u=u.slice(0,p))}return u+i},Dn.unescape=function(e){return(e=vs(e))&&Y.test(e)?e.replace(q,pn):e},Dn.uniqueId=function(e){var t=++Le;return vs(e)+t},Dn.upperCase=Js,Dn.upperFirst=Ks,Dn.each=va,Dn.eachRight=ya,Dn.first=qo,al(Dn,(gl={},yi(Dn,(function(e,t){Ie.call(Dn.prototype,t)||(gl[t]=e)})),gl),{chain:!1}),Dn.VERSION="4.17.21",xt(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(e){Dn[e].placeholder=Dn})),xt(["drop","take"],(function(e,t){Hn.prototype[e]=function(n){n=n===r?1:gn(ps(n),0);var i=this.__filtered__&&!t?new Hn(this):this.clone();return i.__filtered__?i.__takeCount__=vn(n,i.__takeCount__):i.__views__.push({size:vn(n,p),type:e+(i.__dir__<0?"Right":"")}),i},Hn.prototype[e+"Right"]=function(t){return this.reverse()[e](t).reverse()}})),xt(["filter","map","takeWhile"],(function(e,t){var n=t+1,i=1==n||3==n;Hn.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:oo(e,3),type:n}),t.__filtered__=t.__filtered__||i,t}})),xt(["head","last"],(function(e,t){var n="take"+(t?"Right":"");Hn.prototype[e]=function(){return this[n](1).value()[0]}})),xt(["initial","tail"],(function(e,t){var n="drop"+(t?"":"Right");Hn.prototype[e]=function(){return this.__filtered__?new Hn(this):this[n](1)}})),Hn.prototype.compact=function(){return this.filter(nl)},Hn.prototype.find=function(e){return this.filter(e).head()},Hn.prototype.findLast=function(e){return this.reverse().find(e)},Hn.prototype.invokeMap=Yi((function(e,t){return"function"==typeof e?new Hn(this):this.map((function(n){return _i(n,e,t)}))})),Hn.prototype.reject=function(e){return this.filter(La(oo(e)))},Hn.prototype.slice=function(e,t){e=ps(e);var n=this;return n.__filtered__&&(e>0||t<0)?new Hn(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),t!==r&&(n=(t=ps(t))<0?n.dropRight(-t):n.take(t-e)),n)},Hn.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},Hn.prototype.toArray=function(){return this.take(p)},yi(Hn.prototype,(function(e,t){var n=/^(?:filter|find|map|reject)|While$/.test(t),i=/^(?:head|last)$/.test(t),o=Dn[i?"take"+("last"==t?"Right":""):t],a=i||/^find/.test(t);o&&(Dn.prototype[t]=function(){var t=this.__wrapped__,s=i?[1]:arguments,l=t instanceof Hn,u=s[0],c=l||Wa(t),d=function(e){var t=o.apply(Dn,zt([e],s));return i&&h?t[0]:t};c&&n&&"function"==typeof u&&1!=u.length&&(l=c=!1);var h=this.__chain__,p=!!this.__actions__.length,m=a&&!h,f=l&&!p;if(!a&&c){t=f?t:new Hn(this);var g=e.apply(t,s);return g.__actions__.push({func:ha,args:[d],thisArg:r}),new Gn(g,h)}return m&&f?e.apply(this,s):(g=this.thru(d),m?i?g.value()[0]:g.value():g)})})),xt(["pop","push","shift","sort","splice","unshift"],(function(e){var t=_e[e],n=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",i=/^(?:pop|shift)$/.test(e);Dn.prototype[e]=function(){var e=arguments;if(i&&!this.__chain__){var r=this.value();return t.apply(Wa(r)?r:[],e)}return this[n]((function(n){return t.apply(Wa(n)?n:[],e)}))}})),yi(Hn.prototype,(function(e,t){var n=Dn[t];if(n){var i=n.name+"";Ie.call(jn,i)||(jn[i]=[]),jn[i].push({name:t,func:n})}})),jn[Fr(r,2).name]=[{name:"wrapper",func:r}],Hn.prototype.clone=function(){var e=new Hn(this.__wrapped__);return e.__actions__=Ar(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=Ar(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=Ar(this.__views__),e},Hn.prototype.reverse=function(){if(this.__filtered__){var e=new Hn(this);e.__dir__=-1,e.__filtered__=!0}else(e=this.clone()).__dir__*=-1;return e},Hn.prototype.value=function(){var e=this.__wrapped__.value(),t=this.__dir__,n=Wa(e),i=t<0,r=n?e.length:0,o=function(e,t,n){for(var i=-1,r=n.length;++i<r;){var o=n[i],a=o.size;switch(o.type){case"drop":e+=a;break;case"dropRight":t-=a;break;case"take":t=vn(t,e+a);break;case"takeRight":e=gn(e,t-a)}}return{start:e,end:t}}(0,r,this.__views__),a=o.start,s=o.end,l=s-a,u=i?s:a-1,c=this.__iteratees__,d=c.length,h=0,p=vn(l,this.__takeCount__);if(!n||!i&&r==l&&p==l)return dr(e,this.__actions__);var m=[];e:for(;l--&&h<p;){for(var f=-1,g=e[u+=t];++f<d;){var v=c[f],y=v.iteratee,b=v.type,k=y(g);if(2==b)g=k;else if(!k){if(1==b)continue e;break e}}m[h++]=g}return m},Dn.prototype.at=pa,Dn.prototype.chain=function(){return da(this)},Dn.prototype.commit=function(){return new Gn(this.value(),this.__chain__)},Dn.prototype.next=function(){this.__values__===r&&(this.__values__=ds(this.value()));var e=this.__index__>=this.__values__.length;return{done:e,value:e?r:this.__values__[this.__index__++]}},Dn.prototype.plant=function(e){for(var t,n=this;n instanceof Nn;){var i=Do(n);i.__index__=0,i.__values__=r,t?o.__wrapped__=i:t=i;var o=i;n=n.__wrapped__}return o.__wrapped__=e,t},Dn.prototype.reverse=function(){var e=this.__wrapped__;if(e instanceof Hn){var t=e;return this.__actions__.length&&(t=new Hn(this)),(t=t.reverse()).__actions__.push({func:ha,args:[Qo],thisArg:r}),new Gn(t,this.__chain__)}return this.thru(Qo)},Dn.prototype.toJSON=Dn.prototype.valueOf=Dn.prototype.value=function(){return dr(this.__wrapped__,this.__actions__)},Dn.prototype.first=Dn.prototype.head,Ke&&(Dn.prototype[Ke]=function(){return this}),Dn}();dt._=mn,(i=function(){return mn}.call(t,n,t,e))===r||(e.exports=i)}.call(this)}},t={};function n(i){var r=t[i];if(void 0!==r)return r.exports;var o=t[i]={id:i,loaded:!1,exports:{}};return e[i].call(o.exports,o,o.exports,n),o.loaded=!0,o.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.nmd=e=>(e.paths=[],e.children||(e.children=[]),e);var i={};return(()=>{"use strict";function e(e,t){return function(){return e.apply(t,arguments)}}n.d(i,{default:()=>Ar});const{toString:t}=Object.prototype,{getPrototypeOf:r}=Object,o=(a=Object.create(null),e=>{const n=t.call(e);return a[n]||(a[n]=n.slice(8,-1).toLowerCase())});var a;const s=e=>(e=e.toLowerCase(),t=>o(t)===e),l=e=>t=>typeof t===e,{isArray:u}=Array,c=l("undefined"),d=s("ArrayBuffer"),h=l("string"),p=l("function"),m=l("number"),f=e=>null!==e&&"object"==typeof e,g=e=>{if("object"!==o(e))return!1;const t=r(e);return!(null!==t&&t!==Object.prototype&&null!==Object.getPrototypeOf(t)||Symbol.toStringTag in e||Symbol.iterator in e)},v=s("Date"),y=s("File"),b=s("Blob"),k=s("FileList"),w=s("URLSearchParams");function S(e,t,{allOwnKeys:n=!1}={}){if(null==e)return;let i,r;if("object"!=typeof e&&(e=[e]),u(e))for(i=0,r=e.length;i<r;i++)t.call(null,e[i],i,e);else{const r=n?Object.getOwnPropertyNames(e):Object.keys(e),o=r.length;let a;for(i=0;i<o;i++)a=r[i],t.call(null,e[a],a,e)}}function C(e,t){t=t.toLowerCase();const n=Object.keys(e);let i,r=n.length;for(;r-- >0;)if(i=n[r],t===i.toLowerCase())return i;return null}const P="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,x=e=>!c(e)&&e!==P,A=(T="undefined"!=typeof Uint8Array&&r(Uint8Array),e=>T&&e instanceof T);var T;const j=s("HTMLFormElement"),E=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),R=s("RegExp"),z=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),i={};S(n,((n,r)=>{let o;!1!==(o=t(n,r,e))&&(i[r]=o||n)})),Object.defineProperties(e,i)},I="abcdefghijklmnopqrstuvwxyz",L="0123456789",O={DIGIT:L,ALPHA:I,ALPHA_DIGIT:I+I.toUpperCase()+L},M=s("AsyncFunction"),F={isArray:u,isArrayBuffer:d,isBuffer:function(e){return null!==e&&!c(e)&&null!==e.constructor&&!c(e.constructor)&&p(e.constructor.isBuffer)&&e.constructor.isBuffer(e)},isFormData:e=>{let t;return e&&("function"==typeof FormData&&e instanceof FormData||p(e.append)&&("formdata"===(t=o(e))||"object"===t&&p(e.toString)&&"[object FormData]"===e.toString()))},isArrayBufferView:function(e){let t;return t="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&d(e.buffer),t},isString:h,isNumber:m,isBoolean:e=>!0===e||!1===e,isObject:f,isPlainObject:g,isUndefined:c,isDate:v,isFile:y,isBlob:b,isRegExp:R,isFunction:p,isStream:e=>f(e)&&p(e.pipe),isURLSearchParams:w,isTypedArray:A,isFileList:k,forEach:S,merge:function e(){const{caseless:t}=x(this)&&this||{},n={},i=(i,r)=>{const o=t&&C(n,r)||r;g(n[o])&&g(i)?n[o]=e(n[o],i):g(i)?n[o]=e({},i):u(i)?n[o]=i.slice():n[o]=i};for(let e=0,t=arguments.length;e<t;e++)arguments[e]&&S(arguments[e],i);return n},extend:(t,n,i,{allOwnKeys:r}={})=>(S(n,((n,r)=>{i&&p(n)?t[r]=e(n,i):t[r]=n}),{allOwnKeys:r}),t),trim:e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:e=>(65279===e.charCodeAt(0)&&(e=e.slice(1)),e),inherits:(e,t,n,i)=>{e.prototype=Object.create(t.prototype,i),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},toFlatObject:(e,t,n,i)=>{let o,a,s;const l={};if(t=t||{},null==e)return t;do{for(o=Object.getOwnPropertyNames(e),a=o.length;a-- >0;)s=o[a],i&&!i(s,e,t)||l[s]||(t[s]=e[s],l[s]=!0);e=!1!==n&&r(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},kindOf:o,kindOfTest:s,endsWith:(e,t,n)=>{e=String(e),(void 0===n||n>e.length)&&(n=e.length),n-=t.length;const i=e.indexOf(t,n);return-1!==i&&i===n},toArray:e=>{if(!e)return null;if(u(e))return e;let t=e.length;if(!m(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},forEachEntry:(e,t)=>{const n=(e&&e[Symbol.iterator]).call(e);let i;for(;(i=n.next())&&!i.done;){const n=i.value;t.call(e,n[0],n[1])}},matchAll:(e,t)=>{let n;const i=[];for(;null!==(n=e.exec(t));)i.push(n);return i},isHTMLForm:j,hasOwnProperty:E,hasOwnProp:E,reduceDescriptors:z,freezeMethods:e=>{z(e,((t,n)=>{if(p(e)&&-1!==["arguments","caller","callee"].indexOf(n))return!1;const i=e[n];p(i)&&(t.enumerable=!1,"writable"in t?t.writable=!1:t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")}))}))},toObjectSet:(e,t)=>{const n={},i=e=>{e.forEach((e=>{n[e]=!0}))};return u(e)?i(e):i(String(e).split(t)),n},toCamelCase:e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(e,t,n){return t.toUpperCase()+n})),noop:()=>{},toFiniteNumber:(e,t)=>(e=+e,Number.isFinite(e)?e:t),findKey:C,global:P,isContextDefined:x,ALPHABET:O,generateString:(e=16,t=O.ALPHA_DIGIT)=>{let n="";const{length:i}=t;for(;e--;)n+=t[Math.random()*i|0];return n},isSpecCompliantForm:function(e){return!!(e&&p(e.append)&&"FormData"===e[Symbol.toStringTag]&&e[Symbol.iterator])},toJSONObject:e=>{const t=new Array(10),n=(e,i)=>{if(f(e)){if(t.indexOf(e)>=0)return;if(!("toJSON"in e)){t[i]=e;const r=u(e)?[]:{};return S(e,((e,t)=>{const o=n(e,i+1);!c(o)&&(r[t]=o)})),t[i]=void 0,r}}return e};return n(e,0)},isAsyncFn:M,isThenable:e=>e&&(f(e)||p(e))&&p(e.then)&&p(e.catch)};function D(e,t,n,i,r){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),i&&(this.request=i),r&&(this.response=r)}F.inherits(D,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:F.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const B=D.prototype,N={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((e=>{N[e]={value:e}})),Object.defineProperties(D,N),Object.defineProperty(B,"isAxiosError",{value:!0}),D.from=(e,t,n,i,r,o)=>{const a=Object.create(B);return F.toFlatObject(e,a,(function(e){return e!==Error.prototype}),(e=>"isAxiosError"!==e)),D.call(a,e.message,t,n,i,r),a.cause=e,a.name=e.name,o&&Object.assign(a,o),a};const G=D;function H(e){return F.isPlainObject(e)||F.isArray(e)}function W(e){return F.endsWith(e,"[]")?e.slice(0,-2):e}function U(e,t,n){return e?e.concat(t).map((function(e,t){return e=W(e),!n&&t?"["+e+"]":e})).join(n?".":""):t}const q=F.toFlatObject(F,{},null,(function(e){return/^is[A-Z]/.test(e)})),V=function(e,t,n){if(!F.isObject(e))throw new TypeError("target must be an object");t=t||new FormData;const i=(n=F.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(e,t){return!F.isUndefined(t[e])}))).metaTokens,r=n.visitor||u,o=n.dots,a=n.indexes,s=(n.Blob||"undefined"!=typeof Blob&&Blob)&&F.isSpecCompliantForm(t);if(!F.isFunction(r))throw new TypeError("visitor must be a function");function l(e){if(null===e)return"";if(F.isDate(e))return e.toISOString();if(!s&&F.isBlob(e))throw new G("Blob is not supported. Use a Buffer instead.");return F.isArrayBuffer(e)||F.isTypedArray(e)?s&&"function"==typeof Blob?new Blob([e]):Buffer.from(e):e}function u(e,n,r){let s=e;if(e&&!r&&"object"==typeof e)if(F.endsWith(n,"{}"))n=i?n:n.slice(0,-2),e=JSON.stringify(e);else if(F.isArray(e)&&function(e){return F.isArray(e)&&!e.some(H)}(e)||(F.isFileList(e)||F.endsWith(n,"[]"))&&(s=F.toArray(e)))return n=W(n),s.forEach((function(e,i){!F.isUndefined(e)&&null!==e&&t.append(!0===a?U([n],i,o):null===a?n:n+"[]",l(e))})),!1;return!!H(e)||(t.append(U(r,n,o),l(e)),!1)}const c=[],d=Object.assign(q,{defaultVisitor:u,convertValue:l,isVisitable:H});if(!F.isObject(e))throw new TypeError("data must be an object");return function e(n,i){if(!F.isUndefined(n)){if(-1!==c.indexOf(n))throw Error("Circular reference detected in "+i.join("."));c.push(n),F.forEach(n,(function(n,o){!0===(!(F.isUndefined(n)||null===n)&&r.call(t,n,F.isString(o)?o.trim():o,i,d))&&e(n,i?i.concat(o):[o])})),c.pop()}}(e),t};function Y(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,(function(e){return t[e]}))}function J(e,t){this._pairs=[],e&&V(e,this,t)}const K=J.prototype;K.append=function(e,t){this._pairs.push([e,t])},K.toString=function(e){const t=e?function(t){return e.call(this,t,Y)}:Y;return this._pairs.map((function(e){return t(e[0])+"="+t(e[1])}),"").join("&")};const $=J;function Z(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function X(e,t,n){if(!t)return e;const i=n&&n.encode||Z,r=n&&n.serialize;let o;if(o=r?r(t,n):F.isURLSearchParams(t)?t.toString():new $(t,n).toString(i),o){const t=e.indexOf("#");-1!==t&&(e=e.slice(0,t)),e+=(-1===e.indexOf("?")?"?":"&")+o}return e}const Q=class{constructor(){this.handlers=[]}use(e,t,n){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){F.forEach(this.handlers,(function(t){null!==t&&e(t)}))}},ee={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},te={isBrowser:!0,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:$,FormData:"undefined"!=typeof FormData?FormData:null,Blob:"undefined"!=typeof Blob?Blob:null},isStandardBrowserEnv:(()=>{let e;return("undefined"==typeof navigator||"ReactNative"!==(e=navigator.product)&&"NativeScript"!==e&&"NS"!==e)&&"undefined"!=typeof window&&"undefined"!=typeof document})(),isStandardBrowserWebWorkerEnv:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,protocols:["http","https","file","blob","url","data"]},ne=function(e){function t(e,n,i,r){let o=e[r++];const a=Number.isFinite(+o),s=r>=e.length;return o=!o&&F.isArray(i)?i.length:o,s?(F.hasOwnProp(i,o)?i[o]=[i[o],n]:i[o]=n,!a):(i[o]&&F.isObject(i[o])||(i[o]=[]),t(e,n,i[o],r)&&F.isArray(i[o])&&(i[o]=function(e){const t={},n=Object.keys(e);let i;const r=n.length;let o;for(i=0;i<r;i++)o=n[i],t[o]=e[o];return t}(i[o])),!a)}if(F.isFormData(e)&&F.isFunction(e.entries)){const n={};return F.forEachEntry(e,((e,i)=>{t(function(e){return F.matchAll(/\w+|\[(\w*)]/g,e).map((e=>"[]"===e[0]?"":e[1]||e[0]))}(e),i,n,0)})),n}return null},ie={transitional:ee,adapter:["xhr","http"],transformRequest:[function(e,t){const n=t.getContentType()||"",i=n.indexOf("application/json")>-1,r=F.isObject(e);if(r&&F.isHTMLForm(e)&&(e=new FormData(e)),F.isFormData(e))return i&&i?JSON.stringify(ne(e)):e;if(F.isArrayBuffer(e)||F.isBuffer(e)||F.isStream(e)||F.isFile(e)||F.isBlob(e))return e;if(F.isArrayBufferView(e))return e.buffer;if(F.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let o;if(r){if(n.indexOf("application/x-www-form-urlencoded")>-1)return function(e,t){return V(e,new te.classes.URLSearchParams,Object.assign({visitor:function(e,t,n,i){return te.isNode&&F.isBuffer(e)?(this.append(t,e.toString("base64")),!1):i.defaultVisitor.apply(this,arguments)}},t))}(e,this.formSerializer).toString();if((o=F.isFileList(e))||n.indexOf("multipart/form-data")>-1){const t=this.env&&this.env.FormData;return V(o?{"files[]":e}:e,t&&new t,this.formSerializer)}}return r||i?(t.setContentType("application/json",!1),function(e,t,n){if(F.isString(e))try{return(0,JSON.parse)(e),F.trim(e)}catch(e){if("SyntaxError"!==e.name)throw e}return(0,JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){const t=this.transitional||ie.transitional,n=t&&t.forcedJSONParsing,i="json"===this.responseType;if(e&&F.isString(e)&&(n&&!this.responseType||i)){const n=!(t&&t.silentJSONParsing)&&i;try{return JSON.parse(e)}catch(e){if(n){if("SyntaxError"===e.name)throw G.from(e,G.ERR_BAD_RESPONSE,this,null,this.response);throw e}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:te.classes.FormData,Blob:te.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};F.forEach(["delete","get","head","post","put","patch"],(e=>{ie.headers[e]={}}));const re=ie,oe=F.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),ae=Symbol("internals");function se(e){return e&&String(e).trim().toLowerCase()}function le(e){return!1===e||null==e?e:F.isArray(e)?e.map(le):String(e)}function ue(e,t,n,i,r){return F.isFunction(i)?i.call(this,t,n):(r&&(t=n),F.isString(t)?F.isString(i)?-1!==t.indexOf(i):F.isRegExp(i)?i.test(t):void 0:void 0)}class ce{constructor(e){e&&this.set(e)}set(e,t,n){const i=this;function r(e,t,n){const r=se(t);if(!r)throw new Error("header name must be a non-empty string");const o=F.findKey(i,r);(!o||void 0===i[o]||!0===n||void 0===n&&!1!==i[o])&&(i[o||t]=le(e))}const o=(e,t)=>F.forEach(e,((e,n)=>r(e,n,t)));return F.isPlainObject(e)||e instanceof this.constructor?o(e,t):F.isString(e)&&(e=e.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim())?o((e=>{const t={};let n,i,r;return e&&e.split("\n").forEach((function(e){r=e.indexOf(":"),n=e.substring(0,r).trim().toLowerCase(),i=e.substring(r+1).trim(),!n||t[n]&&oe[n]||("set-cookie"===n?t[n]?t[n].push(i):t[n]=[i]:t[n]=t[n]?t[n]+", "+i:i)})),t})(e),t):null!=e&&r(t,e,n),this}get(e,t){if(e=se(e)){const n=F.findKey(this,e);if(n){const e=this[n];if(!t)return e;if(!0===t)return function(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let i;for(;i=n.exec(e);)t[i[1]]=i[2];return t}(e);if(F.isFunction(t))return t.call(this,e,n);if(F.isRegExp(t))return t.exec(e);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=se(e)){const n=F.findKey(this,e);return!(!n||void 0===this[n]||t&&!ue(0,this[n],n,t))}return!1}delete(e,t){const n=this;let i=!1;function r(e){if(e=se(e)){const r=F.findKey(n,e);!r||t&&!ue(0,n[r],r,t)||(delete n[r],i=!0)}}return F.isArray(e)?e.forEach(r):r(e),i}clear(e){const t=Object.keys(this);let n=t.length,i=!1;for(;n--;){const r=t[n];e&&!ue(0,this[r],r,e,!0)||(delete this[r],i=!0)}return i}normalize(e){const t=this,n={};return F.forEach(this,((i,r)=>{const o=F.findKey(n,r);if(o)return t[o]=le(i),void delete t[r];const a=e?function(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((e,t,n)=>t.toUpperCase()+n))}(r):String(r).trim();a!==r&&delete t[r],t[a]=le(i),n[a]=!0})),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const t=Object.create(null);return F.forEach(this,((n,i)=>{null!=n&&!1!==n&&(t[i]=e&&F.isArray(n)?n.join(", "):n)})),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([e,t])=>e+": "+t)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){const n=new this(e);return t.forEach((e=>n.set(e))),n}static accessor(e){const t=(this[ae]=this[ae]={accessors:{}}).accessors,n=this.prototype;function i(e){const i=se(e);t[i]||(function(e,t){const n=F.toCamelCase(" "+t);["get","set","has"].forEach((i=>{Object.defineProperty(e,i+n,{value:function(e,n,r){return this[i].call(this,t,e,n,r)},configurable:!0})}))}(n,e),t[i]=!0)}return F.isArray(e)?e.forEach(i):i(e),this}}ce.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),F.reduceDescriptors(ce.prototype,(({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(e){this[n]=e}}})),F.freezeMethods(ce);const de=ce;function he(e,t){const n=this||re,i=t||n,r=de.from(i.headers);let o=i.data;return F.forEach(e,(function(e){o=e.call(n,o,r.normalize(),t?t.status:void 0)})),r.normalize(),o}function pe(e){return!(!e||!e.__CANCEL__)}function me(e,t,n){G.call(this,null==e?"canceled":e,G.ERR_CANCELED,t,n),this.name="CanceledError"}F.inherits(me,G,{__CANCEL__:!0});const fe=me,ge=te.isStandardBrowserEnv?{write:function(e,t,n,i,r,o){const a=[];a.push(e+"="+encodeURIComponent(t)),F.isNumber(n)&&a.push("expires="+new Date(n).toGMTString()),F.isString(i)&&a.push("path="+i),F.isString(r)&&a.push("domain="+r),!0===o&&a.push("secure"),document.cookie=a.join("; ")},read:function(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}};function ve(e,t){return e&&!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)?function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}(e,t):t}const ye=te.isStandardBrowserEnv?function(){const e=/(msie|trident)/i.test(navigator.userAgent),t=document.createElement("a");let n;function i(n){let i=n;return e&&(t.setAttribute("href",i),i=t.href),t.setAttribute("href",i),{href:t.href,protocol:t.protocol?t.protocol.replace(/:$/,""):"",host:t.host,search:t.search?t.search.replace(/^\?/,""):"",hash:t.hash?t.hash.replace(/^#/,""):"",hostname:t.hostname,port:t.port,pathname:"/"===t.pathname.charAt(0)?t.pathname:"/"+t.pathname}}return n=i(window.location.href),function(e){const t=F.isString(e)?i(e):e;return t.protocol===n.protocol&&t.host===n.host}}():function(){return!0};function be(e,t){let n=0;const i=function(e,t){e=e||10;const n=new Array(e),i=new Array(e);let r,o=0,a=0;return t=void 0!==t?t:1e3,function(s){const l=Date.now(),u=i[a];r||(r=l),n[o]=s,i[o]=l;let c=a,d=0;for(;c!==o;)d+=n[c++],c%=e;if(o=(o+1)%e,o===a&&(a=(a+1)%e),l-r<t)return;const h=u&&l-u;return h?Math.round(1e3*d/h):void 0}}(50,250);return r=>{const o=r.loaded,a=r.lengthComputable?r.total:void 0,s=o-n,l=i(s);n=o;const u={loaded:o,total:a,progress:a?o/a:void 0,bytes:s,rate:l||void 0,estimated:l&&a&&o<=a?(a-o)/l:void 0,event:r};u[t?"download":"upload"]=!0,e(u)}}const ke={http:null,xhr:"undefined"!=typeof XMLHttpRequest&&function(e){return new Promise((function(t,n){let i=e.data;const r=de.from(e.headers).normalize(),o=e.responseType;let a,s;function l(){e.cancelToken&&e.cancelToken.unsubscribe(a),e.signal&&e.signal.removeEventListener("abort",a)}F.isFormData(i)&&(te.isStandardBrowserEnv||te.isStandardBrowserWebWorkerEnv?r.setContentType(!1):r.getContentType(/^\s*multipart\/form-data/)?F.isString(s=r.getContentType())&&r.setContentType(s.replace(/^\s*(multipart\/form-data);+/,"$1")):r.setContentType("multipart/form-data"));let u=new XMLHttpRequest;if(e.auth){const t=e.auth.username||"",n=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";r.set("Authorization","Basic "+btoa(t+":"+n))}const c=ve(e.baseURL,e.url);function d(){if(!u)return;const i=de.from("getAllResponseHeaders"in u&&u.getAllResponseHeaders());!function(e,t,n){const i=n.config.validateStatus;n.status&&i&&!i(n.status)?t(new G("Request failed with status code "+n.status,[G.ERR_BAD_REQUEST,G.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n)):e(n)}((function(e){t(e),l()}),(function(e){n(e),l()}),{data:o&&"text"!==o&&"json"!==o?u.response:u.responseText,status:u.status,statusText:u.statusText,headers:i,config:e,request:u}),u=null}if(u.open(e.method.toUpperCase(),X(c,e.params,e.paramsSerializer),!0),u.timeout=e.timeout,"onloadend"in u?u.onloadend=d:u.onreadystatechange=function(){u&&4===u.readyState&&(0!==u.status||u.responseURL&&0===u.responseURL.indexOf("file:"))&&setTimeout(d)},u.onabort=function(){u&&(n(new G("Request aborted",G.ECONNABORTED,e,u)),u=null)},u.onerror=function(){n(new G("Network Error",G.ERR_NETWORK,e,u)),u=null},u.ontimeout=function(){let t=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded";const i=e.transitional||ee;e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),n(new G(t,i.clarifyTimeoutError?G.ETIMEDOUT:G.ECONNABORTED,e,u)),u=null},te.isStandardBrowserEnv){const t=(e.withCredentials||ye(c))&&e.xsrfCookieName&&ge.read(e.xsrfCookieName);t&&r.set(e.xsrfHeaderName,t)}void 0===i&&r.setContentType(null),"setRequestHeader"in u&&F.forEach(r.toJSON(),(function(e,t){u.setRequestHeader(t,e)})),F.isUndefined(e.withCredentials)||(u.withCredentials=!!e.withCredentials),o&&"json"!==o&&(u.responseType=e.responseType),"function"==typeof e.onDownloadProgress&&u.addEventListener("progress",be(e.onDownloadProgress,!0)),"function"==typeof e.onUploadProgress&&u.upload&&u.upload.addEventListener("progress",be(e.onUploadProgress)),(e.cancelToken||e.signal)&&(a=t=>{u&&(n(!t||t.type?new fe(null,e,u):t),u.abort(),u=null)},e.cancelToken&&e.cancelToken.subscribe(a),e.signal&&(e.signal.aborted?a():e.signal.addEventListener("abort",a)));const h=function(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}(c);h&&-1===te.protocols.indexOf(h)?n(new G("Unsupported protocol "+h+":",G.ERR_BAD_REQUEST,e)):u.send(i||null)}))}};F.forEach(ke,((e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch(e){}Object.defineProperty(e,"adapterName",{value:t})}}));const we=e=>`- ${e}`,Se=e=>F.isFunction(e)||null===e||!1===e,Ce=e=>{e=F.isArray(e)?e:[e];const{length:t}=e;let n,i;const r={};for(let o=0;o<t;o++){let t;if(n=e[o],i=n,!Se(n)&&(i=ke[(t=String(n)).toLowerCase()],void 0===i))throw new G(`Unknown adapter '${t}'`);if(i)break;r[t||"#"+o]=i}if(!i){const e=Object.entries(r).map((([e,t])=>`adapter ${e} `+(!1===t?"is not supported by the environment":"is not available in the build")));let n=t?e.length>1?"since :\n"+e.map(we).join("\n"):" "+we(e[0]):"as no adapter specified";throw new G("There is no suitable adapter to dispatch the request "+n,"ERR_NOT_SUPPORT")}return i};function Pe(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new fe(null,e)}function xe(e){return Pe(e),e.headers=de.from(e.headers),e.data=he.call(e,e.transformRequest),-1!==["post","put","patch"].indexOf(e.method)&&e.headers.setContentType("application/x-www-form-urlencoded",!1),Ce(e.adapter||re.adapter)(e).then((function(t){return Pe(e),t.data=he.call(e,e.transformResponse,t),t.headers=de.from(t.headers),t}),(function(t){return pe(t)||(Pe(e),t&&t.response&&(t.response.data=he.call(e,e.transformResponse,t.response),t.response.headers=de.from(t.response.headers))),Promise.reject(t)}))}const Ae=e=>e instanceof de?e.toJSON():e;function Te(e,t){t=t||{};const n={};function i(e,t,n){return F.isPlainObject(e)&&F.isPlainObject(t)?F.merge.call({caseless:n},e,t):F.isPlainObject(t)?F.merge({},t):F.isArray(t)?t.slice():t}function r(e,t,n){return F.isUndefined(t)?F.isUndefined(e)?void 0:i(void 0,e,n):i(e,t,n)}function o(e,t){if(!F.isUndefined(t))return i(void 0,t)}function a(e,t){return F.isUndefined(t)?F.isUndefined(e)?void 0:i(void 0,e):i(void 0,t)}function s(n,r,o){return o in t?i(n,r):o in e?i(void 0,n):void 0}const l={url:o,method:o,data:o,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:s,headers:(e,t)=>r(Ae(e),Ae(t),!0)};return F.forEach(Object.keys(Object.assign({},e,t)),(function(i){const o=l[i]||r,a=o(e[i],t[i],i);F.isUndefined(a)&&o!==s||(n[i]=a)})),n}const _e={};["object","boolean","number","function","string","symbol"].forEach(((e,t)=>{_e[e]=function(n){return typeof n===e||"a"+(t<1?"n ":" ")+e}}));const je={};_e.transitional=function(e,t,n){function i(e,t){return"[Axios v1.5.1] Transitional option '"+e+"'"+t+(n?". "+n:"")}return(n,r,o)=>{if(!1===e)throw new G(i(r," has been removed"+(t?" in "+t:"")),G.ERR_DEPRECATED);return t&&!je[r]&&(je[r]=!0,console.warn(i(r," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(n,r,o)}};const Ee={assertOptions:function(e,t,n){if("object"!=typeof e)throw new G("options must be an object",G.ERR_BAD_OPTION_VALUE);const i=Object.keys(e);let r=i.length;for(;r-- >0;){const o=i[r],a=t[o];if(a){const t=e[o],n=void 0===t||a(t,o,e);if(!0!==n)throw new G("option "+o+" must be "+n,G.ERR_BAD_OPTION_VALUE)}else if(!0!==n)throw new G("Unknown option "+o,G.ERR_BAD_OPTION)}},validators:_e},Re=Ee.validators;class ze{constructor(e){this.defaults=e,this.interceptors={request:new Q,response:new Q}}request(e,t){"string"==typeof e?(t=t||{}).url=e:t=e||{},t=Te(this.defaults,t);const{transitional:n,paramsSerializer:i,headers:r}=t;void 0!==n&&Ee.assertOptions(n,{silentJSONParsing:Re.transitional(Re.boolean),forcedJSONParsing:Re.transitional(Re.boolean),clarifyTimeoutError:Re.transitional(Re.boolean)},!1),null!=i&&(F.isFunction(i)?t.paramsSerializer={serialize:i}:Ee.assertOptions(i,{encode:Re.function,serialize:Re.function},!0)),t.method=(t.method||this.defaults.method||"get").toLowerCase();let o=r&&F.merge(r.common,r[t.method]);r&&F.forEach(["delete","get","head","post","put","patch","common"],(e=>{delete r[e]})),t.headers=de.concat(o,r);const a=[];let s=!0;this.interceptors.request.forEach((function(e){"function"==typeof e.runWhen&&!1===e.runWhen(t)||(s=s&&e.synchronous,a.unshift(e.fulfilled,e.rejected))}));const l=[];let u;this.interceptors.response.forEach((function(e){l.push(e.fulfilled,e.rejected)}));let c,d=0;if(!s){const e=[xe.bind(this),void 0];for(e.unshift.apply(e,a),e.push.apply(e,l),c=e.length,u=Promise.resolve(t);d<c;)u=u.then(e[d++],e[d++]);return u}c=a.length;let h=t;for(d=0;d<c;){const e=a[d++],t=a[d++];try{h=e(h)}catch(e){t.call(this,e);break}}try{u=xe.call(this,h)}catch(e){return Promise.reject(e)}for(d=0,c=l.length;d<c;)u=u.then(l[d++],l[d++]);return u}getUri(e){return X(ve((e=Te(this.defaults,e)).baseURL,e.url),e.params,e.paramsSerializer)}}F.forEach(["delete","get","head","options"],(function(e){ze.prototype[e]=function(t,n){return this.request(Te(n||{},{method:e,url:t,data:(n||{}).data}))}})),F.forEach(["post","put","patch"],(function(e){function t(t){return function(n,i,r){return this.request(Te(r||{},{method:e,headers:t?{"Content-Type":"multipart/form-data"}:{},url:n,data:i}))}}ze.prototype[e]=t(),ze.prototype[e+"Form"]=t(!0)}));const Ie=ze;class Le{constructor(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");let t;this.promise=new Promise((function(e){t=e}));const n=this;this.promise.then((e=>{if(!n._listeners)return;let t=n._listeners.length;for(;t-- >0;)n._listeners[t](e);n._listeners=null})),this.promise.then=e=>{let t;const i=new Promise((e=>{n.subscribe(e),t=e})).then(e);return i.cancel=function(){n.unsubscribe(t)},i},e((function(e,i,r){n.reason||(n.reason=new fe(e,i,r),t(n.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}static source(){let e;return{token:new Le((function(t){e=t})),cancel:e}}}const Oe=Le,Me={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Me).forEach((([e,t])=>{Me[t]=e}));const Fe=Me,De=function t(n){const i=new Ie(n),r=e(Ie.prototype.request,i);return F.extend(r,Ie.prototype,i,{allOwnKeys:!0}),F.extend(r,i,null,{allOwnKeys:!0}),r.create=function(e){return t(Te(n,e))},r}(re);De.Axios=Ie,De.CanceledError=fe,De.CancelToken=Oe,De.isCancel=pe,De.VERSION="1.5.1",De.toFormData=V,De.AxiosError=G,De.Cancel=De.CanceledError,De.all=function(e){return Promise.all(e)},De.spread=function(e){return function(t){return e.apply(null,t)}},De.isAxiosError=function(e){return F.isObject(e)&&!0===e.isAxiosError},De.mergeConfig=Te,De.AxiosHeaders=de,De.formToJSON=e=>ne(F.isHTMLForm(e)?new FormData(e):e),De.getAdapter=Ce,De.HttpStatusCode=Fe,De.default=De;const Be=De;function Ne(e){return Ne="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},Ne(e)}function Ge(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function He(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ge(Object(n),!0).forEach((function(t){Ue(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ge(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function We(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,qe(i.key),i)}}function Ue(e,t,n){return(t=qe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function qe(e){var t=function(e,t){if("object"!==Ne(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,"string");if("object"!==Ne(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===Ne(t)?t:String(t)}var Ve="".concat("https://").concat("core.getfaceage.com").concat("/api/"),Ye={authorize:"v1/business/authorize",skinanalyze:"v2/skin-analyzer/analyze"},Je={baseURL:Ve,responseType:"json"},Ke={Accept:"application/json","Content-Type":"application/json"},$e=function(){function e(){var t=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Ue(this,"session",void 0),Ue(this,"request",(function(e,n,i,r,o){var a=He(He({},Je),{},{headers:He(He({},Ke),r)},o),s=n;n in Ye&&(s=Ye[n]);var l=e.toLowerCase();switch(l){case"get":case"options":case"head":case"delete":return t.session[l](s,a);case"post":case"patch":case"put":return t.session[l](s,i,a)}return null})),this.session=Be.create(He({},Je))}var t,n;return t=e,n=[{key:"getInstance",value:function(){return e.instance||(e.instance=new e),e.instance}}],null&&We(t.prototype,null),n&&We(t,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();Ue($e,"instance",void 0);const Ze=$e.getInstance(),Xe={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){console&&console[e]&&console[e].apply(console,t)}};class Qe{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.init(e,t)}init(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.prefix=t.prefix||"i18next:",this.logger=e||Xe,this.options=t,this.debug=t.debug}log(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,"log","",!0)}warn(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,"warn","",!0)}error(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,"error","")}deprecate(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,"warn","WARNING DEPRECATED: ",!0)}forward(e,t,n,i){return i&&!this.debug?null:("string"==typeof e[0]&&(e[0]=`${n}${this.prefix} ${e[0]}`),this.logger[t](e))}create(e){return new Qe(this.logger,{prefix:`${this.prefix}:${e}:`,...this.options})}clone(e){return(e=e||this.options).prefix=e.prefix||this.prefix,new Qe(this.logger,e)}}var et=new Qe;class tt{constructor(){this.observers={}}on(e,t){return e.split(" ").forEach((e=>{this.observers[e]||(this.observers[e]=new Map);const n=this.observers[e].get(t)||0;this.observers[e].set(t,n+1)})),this}off(e,t){this.observers[e]&&(t?this.observers[e].delete(t):delete this.observers[e])}emit(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];this.observers[e]&&Array.from(this.observers[e].entries()).forEach((e=>{let[t,i]=e;for(let e=0;e<i;e++)t(...n)})),this.observers["*"]&&Array.from(this.observers["*"].entries()).forEach((t=>{let[i,r]=t;for(let t=0;t<r;t++)i.apply(i,[e,...n])}))}}function nt(){let e,t;const n=new Promise(((n,i)=>{e=n,t=i}));return n.resolve=e,n.reject=t,n}function it(e){return null==e?"":""+e}const rt=/###/g;function ot(e,t,n){function i(e){return e&&e.indexOf("###")>-1?e.replace(rt,"."):e}function r(){return!e||"string"==typeof e}const o="string"!=typeof t?t:t.split(".");let a=0;for(;a<o.length-1;){if(r())return{};const t=i(o[a]);!e[t]&&n&&(e[t]=new n),e=Object.prototype.hasOwnProperty.call(e,t)?e[t]:{},++a}return r()?{}:{obj:e,k:i(o[a])}}function at(e,t,n){const{obj:i,k:r}=ot(e,t,Object);if(void 0!==i||1===t.length)return void(i[r]=n);let o=t[t.length-1],a=t.slice(0,t.length-1),s=ot(e,a,Object);for(;void 0===s.obj&&a.length;)o=`${a[a.length-1]}.${o}`,a=a.slice(0,a.length-1),s=ot(e,a,Object),s&&s.obj&&void 0!==s.obj[`${s.k}.${o}`]&&(s.obj=void 0);s.obj[`${s.k}.${o}`]=n}function st(e,t){const{obj:n,k:i}=ot(e,t);if(n)return n[i]}function lt(e,t,n){for(const i in t)"__proto__"!==i&&"constructor"!==i&&(i in e?"string"==typeof e[i]||e[i]instanceof String||"string"==typeof t[i]||t[i]instanceof String?n&&(e[i]=t[i]):lt(e[i],t[i],n):e[i]=t[i]);return e}function ut(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var ct={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"};function dt(e){return"string"==typeof e?e.replace(/[&<>"'\/]/g,(e=>ct[e])):e}const ht=[" ",",","?","!",";"],pt=new class{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){const t=this.regExpMap.get(e);if(void 0!==t)return t;const n=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,n),this.regExpQueue.push(e),n}}(20);function mt(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:".";if(!e)return;if(e[t])return e[t];const i=t.split(n);let r=e;for(let e=0;e<i.length;){if(!r||"object"!=typeof r)return;let t,o="";for(let a=e;a<i.length;++a)if(a!==e&&(o+=n),o+=i[a],t=r[o],void 0!==t){if(["string","number","boolean"].indexOf(typeof t)>-1&&a<i.length-1)continue;e+=a-e+1;break}r=t}return r}function ft(e){return e&&e.indexOf("_")>0?e.replace("_","-"):e}class gt extends tt{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=e||{},this.options=t,void 0===this.options.keySeparator&&(this.options.keySeparator="."),void 0===this.options.ignoreJSONStructure&&(this.options.ignoreJSONStructure=!0)}addNamespaces(e){this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}removeNamespaces(e){const t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}getResource(e,t,n){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const r=void 0!==i.keySeparator?i.keySeparator:this.options.keySeparator,o=void 0!==i.ignoreJSONStructure?i.ignoreJSONStructure:this.options.ignoreJSONStructure;let a;e.indexOf(".")>-1?a=e.split("."):(a=[e,t],n&&(Array.isArray(n)?a.push(...n):"string"==typeof n&&r?a.push(...n.split(r)):a.push(n)));const s=st(this.data,a);return!s&&!t&&!n&&e.indexOf(".")>-1&&(e=a[0],t=a[1],n=a.slice(2).join(".")),s||!o||"string"!=typeof n?s:mt(this.data&&this.data[e]&&this.data[e][t],n,r)}addResource(e,t,n,i){let r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{silent:!1};const o=void 0!==r.keySeparator?r.keySeparator:this.options.keySeparator;let a=[e,t];n&&(a=a.concat(o?n.split(o):n)),e.indexOf(".")>-1&&(a=e.split("."),i=t,t=a[1]),this.addNamespaces(t),at(this.data,a,i),r.silent||this.emit("added",e,t,n,i)}addResources(e,t,n){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{silent:!1};for(const i in n)("string"==typeof n[i]||Array.isArray(n[i]))&&this.addResource(e,t,i,n[i],{silent:!0});i.silent||this.emit("added",e,t,n)}addResourceBundle(e,t,n,i,r){let o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{silent:!1,skipCopy:!1},a=[e,t];e.indexOf(".")>-1&&(a=e.split("."),i=n,n=t,t=a[1]),this.addNamespaces(t);let s=st(this.data,a)||{};o.skipCopy||(n=JSON.parse(JSON.stringify(n))),i?lt(s,n,r):s={...s,...n},at(this.data,a,s),o.silent||this.emit("added",e,t,n)}removeResourceBundle(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit("removed",e,t)}hasResourceBundle(e,t){return void 0!==this.getResource(e,t)}getResourceBundle(e,t){return t||(t=this.options.defaultNS),"v1"===this.options.compatibilityAPI?{...this.getResource(e,t)}:this.getResource(e,t)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){const t=this.getDataByLanguage(e);return!!(t&&Object.keys(t)||[]).find((e=>t[e]&&Object.keys(t[e]).length>0))}toJSON(){return this.data}}var vt={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,n,i,r){return e.forEach((e=>{this.processors[e]&&(t=this.processors[e].process(t,n,i,r))})),t}};const yt={};class bt extends tt{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};var n,i;super(),n=e,i=this,["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"].forEach((e=>{n[e]&&(i[e]=n[e])})),this.options=t,void 0===this.options.keySeparator&&(this.options.keySeparator="."),this.logger=et.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}};if(null==e)return!1;const n=this.resolve(e,t);return n&&void 0!==n.res}extractFromKey(e,t){let n=void 0!==t.nsSeparator?t.nsSeparator:this.options.nsSeparator;void 0===n&&(n=":");const i=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator;let r=t.ns||this.options.defaultNS||[];const o=n&&e.indexOf(n)>-1,a=!(this.options.userDefinedKeySeparator||t.keySeparator||this.options.userDefinedNsSeparator||t.nsSeparator||function(e,t,n){t=t||"",n=n||"";const i=ht.filter((e=>t.indexOf(e)<0&&n.indexOf(e)<0));if(0===i.length)return!0;const r=pt.getRegExp(`(${i.map((e=>"?"===e?"\\?":e)).join("|")})`);let o=!r.test(e);if(!o){const t=e.indexOf(n);t>0&&!r.test(e.substring(0,t))&&(o=!0)}return o}(e,n,i));if(o&&!a){const t=e.match(this.interpolator.nestingRegexp);if(t&&t.length>0)return{key:e,namespaces:r};const o=e.split(n);(n!==i||n===i&&this.options.ns.indexOf(o[0])>-1)&&(r=o.shift()),e=o.join(i)}return"string"==typeof r&&(r=[r]),{key:e,namespaces:r}}translate(e,t,n){if("object"!=typeof t&&this.options.overloadTranslationOptionHandler&&(t=this.options.overloadTranslationOptionHandler(arguments)),"object"==typeof t&&(t={...t}),t||(t={}),null==e)return"";Array.isArray(e)||(e=[String(e)]);const i=void 0!==t.returnDetails?t.returnDetails:this.options.returnDetails,r=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator,{key:o,namespaces:a}=this.extractFromKey(e[e.length-1],t),s=a[a.length-1],l=t.lng||this.language,u=t.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(l&&"cimode"===l.toLowerCase()){if(u){const e=t.nsSeparator||this.options.nsSeparator;return i?{res:`${s}${e}${o}`,usedKey:o,exactUsedKey:o,usedLng:l,usedNS:s,usedParams:this.getUsedParamsDetails(t)}:`${s}${e}${o}`}return i?{res:o,usedKey:o,exactUsedKey:o,usedLng:l,usedNS:s,usedParams:this.getUsedParamsDetails(t)}:o}const c=this.resolve(e,t);let d=c&&c.res;const h=c&&c.usedKey||o,p=c&&c.exactUsedKey||o,m=Object.prototype.toString.apply(d),f=void 0!==t.joinArrays?t.joinArrays:this.options.joinArrays,g=!this.i18nFormat||this.i18nFormat.handleAsObject;if(g&&d&&"string"!=typeof d&&"boolean"!=typeof d&&"number"!=typeof d&&["[object Number]","[object Function]","[object RegExp]"].indexOf(m)<0&&("string"!=typeof f||!Array.isArray(d))){if(!t.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const e=this.options.returnedObjectHandler?this.options.returnedObjectHandler(h,d,{...t,ns:a}):`key '${o} (${this.language})' returned an object instead of string.`;return i?(c.res=e,c.usedParams=this.getUsedParamsDetails(t),c):e}if(r){const e=Array.isArray(d),n=e?[]:{},i=e?p:h;for(const e in d)if(Object.prototype.hasOwnProperty.call(d,e)){const o=`${i}${r}${e}`;n[e]=this.translate(o,{...t,joinArrays:!1,ns:a}),n[e]===o&&(n[e]=d[e])}d=n}}else if(g&&"string"==typeof f&&Array.isArray(d))d=d.join(f),d&&(d=this.extendTranslation(d,e,t,n));else{let i=!1,a=!1;const u=void 0!==t.count&&"string"!=typeof t.count,h=bt.hasDefaultValue(t),p=u?this.pluralResolver.getSuffix(l,t.count,t):"",m=t.ordinal&&u?this.pluralResolver.getSuffix(l,t.count,{ordinal:!1}):"",f=u&&!t.ordinal&&0===t.count&&this.pluralResolver.shouldUseIntlApi(),g=f&&t[`defaultValue${this.options.pluralSeparator}zero`]||t[`defaultValue${p}`]||t[`defaultValue${m}`]||t.defaultValue;!this.isValidLookup(d)&&h&&(i=!0,d=g),this.isValidLookup(d)||(a=!0,d=o);const v=(t.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&a?void 0:d,y=h&&g!==d&&this.options.updateMissing;if(a||i||y){if(this.logger.log(y?"updateKey":"missingKey",l,s,o,y?g:d),r){const e=this.resolve(o,{...t,keySeparator:!1});e&&e.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let e=[];const n=this.languageUtils.getFallbackCodes(this.options.fallbackLng,t.lng||this.language);if("fallback"===this.options.saveMissingTo&&n&&n[0])for(let t=0;t<n.length;t++)e.push(n[t]);else"all"===this.options.saveMissingTo?e=this.languageUtils.toResolveHierarchy(t.lng||this.language):e.push(t.lng||this.language);const i=(e,n,i)=>{const r=h&&i!==d?i:v;this.options.missingKeyHandler?this.options.missingKeyHandler(e,s,n,r,y,t):this.backendConnector&&this.backendConnector.saveMissing&&this.backendConnector.saveMissing(e,s,n,r,y,t),this.emit("missingKey",e,s,n,d)};this.options.saveMissing&&(this.options.saveMissingPlurals&&u?e.forEach((e=>{const n=this.pluralResolver.getSuffixes(e,t);f&&t[`defaultValue${this.options.pluralSeparator}zero`]&&n.indexOf(`${this.options.pluralSeparator}zero`)<0&&n.push(`${this.options.pluralSeparator}zero`),n.forEach((n=>{i([e],o+n,t[`defaultValue${n}`]||g)}))})):i(e,o,g))}d=this.extendTranslation(d,e,t,c,n),a&&d===o&&this.options.appendNamespaceToMissingKey&&(d=`${s}:${o}`),(a||i)&&this.options.parseMissingKeyHandler&&(d="v1"!==this.options.compatibilityAPI?this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${s}:${o}`:o,i?d:void 0):this.options.parseMissingKeyHandler(d))}return i?(c.res=d,c.usedParams=this.getUsedParamsDetails(t),c):d}extendTranslation(e,t,n,i,r){var o=this;if(this.i18nFormat&&this.i18nFormat.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...n},n.lng||this.language||i.usedLng,i.usedNS,i.usedKey,{resolved:i});else if(!n.skipInterpolation){n.interpolation&&this.interpolator.init({...n,interpolation:{...this.options.interpolation,...n.interpolation}});const a="string"==typeof e&&(n&&n.interpolation&&void 0!==n.interpolation.skipOnVariables?n.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let s;if(a){const t=e.match(this.interpolator.nestingRegexp);s=t&&t.length}let l=n.replace&&"string"!=typeof n.replace?n.replace:n;if(this.options.interpolation.defaultVariables&&(l={...this.options.interpolation.defaultVariables,...l}),e=this.interpolator.interpolate(e,l,n.lng||this.language||i.usedLng,n),a){const t=e.match(this.interpolator.nestingRegexp);s<(t&&t.length)&&(n.nest=!1)}!n.lng&&"v1"!==this.options.compatibilityAPI&&i&&i.res&&(n.lng=this.language||i.usedLng),!1!==n.nest&&(e=this.interpolator.nest(e,(function(){for(var e=arguments.length,i=new Array(e),a=0;a<e;a++)i[a]=arguments[a];return r&&r[0]===i[0]&&!n.context?(o.logger.warn(`It seems you are nesting recursively key: ${i[0]} in key: ${t[0]}`),null):o.translate(...i,t)}),n)),n.interpolation&&this.interpolator.reset()}const a=n.postProcess||this.options.postProcess,s="string"==typeof a?[a]:a;return null!=e&&s&&s.length&&!1!==n.applyPostProcessor&&(e=vt.handle(s,e,t,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...i,usedParams:this.getUsedParamsDetails(n)},...n}:n,this)),e}resolve(e){let t,n,i,r,o,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return"string"==typeof e&&(e=[e]),e.forEach((e=>{if(this.isValidLookup(t))return;const s=this.extractFromKey(e,a),l=s.key;n=l;let u=s.namespaces;this.options.fallbackNS&&(u=u.concat(this.options.fallbackNS));const c=void 0!==a.count&&"string"!=typeof a.count,d=c&&!a.ordinal&&0===a.count&&this.pluralResolver.shouldUseIntlApi(),h=void 0!==a.context&&("string"==typeof a.context||"number"==typeof a.context)&&""!==a.context,p=a.lngs?a.lngs:this.languageUtils.toResolveHierarchy(a.lng||this.language,a.fallbackLng);u.forEach((e=>{this.isValidLookup(t)||(o=e,!yt[`${p[0]}-${e}`]&&this.utils&&this.utils.hasLoadedNamespace&&!this.utils.hasLoadedNamespace(o)&&(yt[`${p[0]}-${e}`]=!0,this.logger.warn(`key "${n}" for languages "${p.join(", ")}" won't get resolved as namespace "${o}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),p.forEach((n=>{if(this.isValidLookup(t))return;r=n;const o=[l];if(this.i18nFormat&&this.i18nFormat.addLookupKeys)this.i18nFormat.addLookupKeys(o,l,n,e,a);else{let e;c&&(e=this.pluralResolver.getSuffix(n,a.count,a));const t=`${this.options.pluralSeparator}zero`,i=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(c&&(o.push(l+e),a.ordinal&&0===e.indexOf(i)&&o.push(l+e.replace(i,this.options.pluralSeparator)),d&&o.push(l+t)),h){const n=`${l}${this.options.contextSeparator}${a.context}`;o.push(n),c&&(o.push(n+e),a.ordinal&&0===e.indexOf(i)&&o.push(n+e.replace(i,this.options.pluralSeparator)),d&&o.push(n+t))}}let s;for(;s=o.pop();)this.isValidLookup(t)||(i=s,t=this.getResource(n,e,s,a))})))}))})),{res:t,usedKey:n,exactUsedKey:i,usedLng:r,usedNS:o}}isValidLookup(e){return!(void 0===e||!this.options.returnNull&&null===e||!this.options.returnEmptyString&&""===e)}getResource(e,t,n){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(e,t,n,i):this.resourceStore.getResource(e,t,n,i)}getUsedParamsDetails(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],n=e.replace&&"string"!=typeof e.replace;let i=n?e.replace:e;if(n&&void 0!==e.count&&(i.count=e.count),this.options.interpolation.defaultVariables&&(i={...this.options.interpolation.defaultVariables,...i}),!n){i={...i};for(const e of t)delete i[e]}return i}static hasDefaultValue(e){for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)&&"defaultValue"===t.substring(0,12)&&void 0!==e[t])return!0;return!1}}function kt(e){return e.charAt(0).toUpperCase()+e.slice(1)}class wt{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=et.create("languageUtils")}getScriptPartFromCode(e){if(!(e=ft(e))||e.indexOf("-")<0)return null;const t=e.split("-");return 2===t.length?null:(t.pop(),"x"===t[t.length-1].toLowerCase()?null:this.formatLanguageCode(t.join("-")))}getLanguagePartFromCode(e){if(!(e=ft(e))||e.indexOf("-")<0)return e;const t=e.split("-");return this.formatLanguageCode(t[0])}formatLanguageCode(e){if("string"==typeof e&&e.indexOf("-")>-1){const t=["hans","hant","latn","cyrl","cans","mong","arab"];let n=e.split("-");return this.options.lowerCaseLng?n=n.map((e=>e.toLowerCase())):2===n.length?(n[0]=n[0].toLowerCase(),n[1]=n[1].toUpperCase(),t.indexOf(n[1].toLowerCase())>-1&&(n[1]=kt(n[1].toLowerCase()))):3===n.length&&(n[0]=n[0].toLowerCase(),2===n[1].length&&(n[1]=n[1].toUpperCase()),"sgn"!==n[0]&&2===n[2].length&&(n[2]=n[2].toUpperCase()),t.indexOf(n[1].toLowerCase())>-1&&(n[1]=kt(n[1].toLowerCase())),t.indexOf(n[2].toLowerCase())>-1&&(n[2]=kt(n[2].toLowerCase()))),n.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}isSupportedCode(e){return("languageOnly"===this.options.load||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}getBestMatchFromCodes(e){if(!e)return null;let t;return e.forEach((e=>{if(t)return;const n=this.formatLanguageCode(e);this.options.supportedLngs&&!this.isSupportedCode(n)||(t=n)})),!t&&this.options.supportedLngs&&e.forEach((e=>{if(t)return;const n=this.getLanguagePartFromCode(e);if(this.isSupportedCode(n))return t=n;t=this.options.supportedLngs.find((e=>e===n?e:e.indexOf("-")<0&&n.indexOf("-")<0?void 0:e.indexOf("-")>0&&n.indexOf("-")<0&&e.substring(0,e.indexOf("-"))===n||0===e.indexOf(n)&&n.length>1?e:void 0))})),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t}getFallbackCodes(e,t){if(!e)return[];if("function"==typeof e&&(e=e(t)),"string"==typeof e&&(e=[e]),Array.isArray(e))return e;if(!t)return e.default||[];let n=e[t];return n||(n=e[this.getScriptPartFromCode(t)]),n||(n=e[this.formatLanguageCode(t)]),n||(n=e[this.getLanguagePartFromCode(t)]),n||(n=e.default),n||[]}toResolveHierarchy(e,t){const n=this.getFallbackCodes(t||this.options.fallbackLng||[],e),i=[],r=e=>{e&&(this.isSupportedCode(e)?i.push(e):this.logger.warn(`rejecting language code not found in supportedLngs: ${e}`))};return"string"==typeof e&&(e.indexOf("-")>-1||e.indexOf("_")>-1)?("languageOnly"!==this.options.load&&r(this.formatLanguageCode(e)),"languageOnly"!==this.options.load&&"currentOnly"!==this.options.load&&r(this.getScriptPartFromCode(e)),"currentOnly"!==this.options.load&&r(this.getLanguagePartFromCode(e))):"string"==typeof e&&r(this.formatLanguageCode(e)),n.forEach((e=>{i.indexOf(e)<0&&r(this.formatLanguageCode(e))})),i}}let St=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],Ct={1:function(e){return Number(e>1)},2:function(e){return Number(1!=e)},3:function(e){return 0},4:function(e){return Number(e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2)},5:function(e){return Number(0==e?0:1==e?1:2==e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5)},6:function(e){return Number(1==e?0:e>=2&&e<=4?1:2)},7:function(e){return Number(1==e?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2)},8:function(e){return Number(1==e?0:2==e?1:8!=e&&11!=e?2:3)},9:function(e){return Number(e>=2)},10:function(e){return Number(1==e?0:2==e?1:e<7?2:e<11?3:4)},11:function(e){return Number(1==e||11==e?0:2==e||12==e?1:e>2&&e<20?2:3)},12:function(e){return Number(e%10!=1||e%100==11)},13:function(e){return Number(0!==e)},14:function(e){return Number(1==e?0:2==e?1:3==e?2:3)},15:function(e){return Number(e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2)},16:function(e){return Number(e%10==1&&e%100!=11?0:0!==e?1:2)},17:function(e){return Number(1==e||e%10==1&&e%100!=11?0:1)},18:function(e){return Number(0==e?0:1==e?1:2)},19:function(e){return Number(1==e?0:0==e||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3)},20:function(e){return Number(1==e?0:0==e||e%100>0&&e%100<20?1:2)},21:function(e){return Number(e%100==1?1:e%100==2?2:e%100==3||e%100==4?3:0)},22:function(e){return Number(1==e?0:2==e?1:(e<0||e>10)&&e%10==0?2:3)}};const Pt=["v1","v2","v3"],xt=["v4"],At={zero:0,one:1,two:2,few:3,many:4,other:5};class Tt{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.languageUtils=e,this.options=t,this.logger=et.create("pluralResolver"),this.options.compatibilityJSON&&!xt.includes(this.options.compatibilityJSON)||"undefined"!=typeof Intl&&Intl.PluralRules||(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=function(){const e={};return St.forEach((t=>{t.lngs.forEach((n=>{e[n]={numbers:t.nr,plurals:Ct[t.fc]}}))})),e}()}addRule(e,t){this.rules[e]=t}getRule(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.shouldUseIntlApi())try{return new Intl.PluralRules(ft("dev"===e?"en":e),{type:t.ordinal?"ordinal":"cardinal"})}catch(e){return}return this.rules[e]||this.rules[this.languageUtils.getLanguagePartFromCode(e)]}needsPlural(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=this.getRule(e,t);return this.shouldUseIntlApi()?n&&n.resolvedOptions().pluralCategories.length>1:n&&n.numbers.length>1}getPluralFormsOfKey(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.getSuffixes(e,n).map((e=>`${t}${e}`))}getSuffixes(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=this.getRule(e,t);return n?this.shouldUseIntlApi()?n.resolvedOptions().pluralCategories.sort(((e,t)=>At[e]-At[t])).map((e=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:""}${e}`)):n.numbers.map((n=>this.getSuffix(e,n,t))):[]}getSuffix(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const i=this.getRule(e,n);return i?this.shouldUseIntlApi()?`${this.options.prepend}${n.ordinal?`ordinal${this.options.prepend}`:""}${i.select(t)}`:this.getSuffixRetroCompatible(i,t):(this.logger.warn(`no plural rule found for: ${e}`),"")}getSuffixRetroCompatible(e,t){const n=e.noAbs?e.plurals(t):e.plurals(Math.abs(t));let i=e.numbers[n];this.options.simplifyPluralSuffix&&2===e.numbers.length&&1===e.numbers[0]&&(2===i?i="plural":1===i&&(i=""));const r=()=>this.options.prepend&&i.toString()?this.options.prepend+i.toString():i.toString();return"v1"===this.options.compatibilityJSON?1===i?"":"number"==typeof i?`_plural_${i.toString()}`:r():"v2"===this.options.compatibilityJSON||this.options.simplifyPluralSuffix&&2===e.numbers.length&&1===e.numbers[0]?r():this.options.prepend&&n.toString()?this.options.prepend+n.toString():n.toString()}shouldUseIntlApi(){return!Pt.includes(this.options.compatibilityJSON)}}function _t(e,t,n){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:".",r=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],o=function(e,t,n){const i=st(e,n);return void 0!==i?i:st(t,n)}(e,t,n);return!o&&r&&"string"==typeof n&&(o=mt(e,n,i),void 0===o&&(o=mt(t,n,i))),o}class jt{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.logger=et.create("interpolator"),this.options=e,this.format=e.interpolation&&e.interpolation.format||(e=>e),this.init(e)}init(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e.interpolation||(e.interpolation={escapeValue:!0});const{escape:t,escapeValue:n,useRawValueToEscape:i,prefix:r,prefixEscaped:o,suffix:a,suffixEscaped:s,formatSeparator:l,unescapeSuffix:u,unescapePrefix:c,nestingPrefix:d,nestingPrefixEscaped:h,nestingSuffix:p,nestingSuffixEscaped:m,nestingOptionsSeparator:f,maxReplaces:g,alwaysFormat:v}=e.interpolation;this.escape=void 0!==t?t:dt,this.escapeValue=void 0===n||n,this.useRawValueToEscape=void 0!==i&&i,this.prefix=r?ut(r):o||"{{",this.suffix=a?ut(a):s||"}}",this.formatSeparator=l||",",this.unescapePrefix=u?"":c||"-",this.unescapeSuffix=this.unescapePrefix?"":u||"",this.nestingPrefix=d?ut(d):h||ut("$t("),this.nestingSuffix=p?ut(p):m||ut(")"),this.nestingOptionsSeparator=f||",",this.maxReplaces=g||1e3,this.alwaysFormat=void 0!==v&&v,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const e=(e,t)=>e&&e.source===t?(e.lastIndex=0,e):new RegExp(t,"g");this.regexp=e(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=e(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=e(this.nestingRegexp,`${this.nestingPrefix}(.+?)${this.nestingSuffix}`)}interpolate(e,t,n,i){let r,o,a;const s=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function l(e){return e.replace(/\$/g,"$$$$")}const u=e=>{if(e.indexOf(this.formatSeparator)<0){const r=_t(t,s,e,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(r,void 0,n,{...i,...t,interpolationkey:e}):r}const r=e.split(this.formatSeparator),o=r.shift().trim(),a=r.join(this.formatSeparator).trim();return this.format(_t(t,s,o,this.options.keySeparator,this.options.ignoreJSONStructure),a,n,{...i,...t,interpolationkey:o})};this.resetRegExp();const c=i&&i.missingInterpolationHandler||this.options.missingInterpolationHandler,d=i&&i.interpolation&&void 0!==i.interpolation.skipOnVariables?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:e=>l(e)},{regex:this.regexp,safeValue:e=>this.escapeValue?l(this.escape(e)):l(e)}].forEach((t=>{for(a=0;r=t.regex.exec(e);){const n=r[1].trim();if(o=u(n),void 0===o)if("function"==typeof c){const t=c(e,r,i);o="string"==typeof t?t:""}else if(i&&Object.prototype.hasOwnProperty.call(i,n))o="";else{if(d){o=r[0];continue}this.logger.warn(`missed to pass in variable ${n} for interpolating ${e}`),o=""}else"string"==typeof o||this.useRawValueToEscape||(o=it(o));const s=t.safeValue(o);if(e=e.replace(r[0],s),d?(t.regex.lastIndex+=o.length,t.regex.lastIndex-=r[0].length):t.regex.lastIndex=0,a++,a>=this.maxReplaces)break}})),e}nest(e,t){let n,i,r,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};function a(e,t){const n=this.nestingOptionsSeparator;if(e.indexOf(n)<0)return e;const i=e.split(new RegExp(`${n}[ ]*{`));let o=`{${i[1]}`;e=i[0],o=this.interpolate(o,r);const a=o.match(/'/g),s=o.match(/"/g);(a&&a.length%2==0&&!s||s.length%2!=0)&&(o=o.replace(/'/g,'"'));try{r=JSON.parse(o),t&&(r={...t,...r})}catch(t){return this.logger.warn(`failed parsing options string in nesting for key ${e}`,t),`${e}${n}${o}`}return r.defaultValue&&r.defaultValue.indexOf(this.prefix)>-1&&delete r.defaultValue,e}for(;n=this.nestingRegexp.exec(e);){let s=[];r={...o},r=r.replace&&"string"!=typeof r.replace?r.replace:r,r.applyPostProcessor=!1,delete r.defaultValue;let l=!1;if(-1!==n[0].indexOf(this.formatSeparator)&&!/{.*}/.test(n[1])){const e=n[1].split(this.formatSeparator).map((e=>e.trim()));n[1]=e.shift(),s=e,l=!0}if(i=t(a.call(this,n[1].trim(),r),r),i&&n[0]===e&&"string"!=typeof i)return i;"string"!=typeof i&&(i=it(i)),i||(this.logger.warn(`missed to resolve ${n[1]} for nesting ${e}`),i=""),l&&(i=s.reduce(((e,t)=>this.format(e,t,o.lng,{...o,interpolationkey:n[1].trim()})),i.trim())),e=e.replace(n[0],i),this.regexp.lastIndex=0}return e}}function Et(e){const t={};return function(n,i,r){const o=i+JSON.stringify(r);let a=t[o];return a||(a=e(ft(i),r),t[o]=a),a(n)}}class Rt{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.logger=et.create("formatter"),this.options=e,this.formats={number:Et(((e,t)=>{const n=new Intl.NumberFormat(e,{...t});return e=>n.format(e)})),currency:Et(((e,t)=>{const n=new Intl.NumberFormat(e,{...t,style:"currency"});return e=>n.format(e)})),datetime:Et(((e,t)=>{const n=new Intl.DateTimeFormat(e,{...t});return e=>n.format(e)})),relativetime:Et(((e,t)=>{const n=new Intl.RelativeTimeFormat(e,{...t});return e=>n.format(e,t.range||"day")})),list:Et(((e,t)=>{const n=new Intl.ListFormat(e,{...t});return e=>n.format(e)}))},this.init(e)}init(e){const t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}}).interpolation;this.formatSeparator=t.formatSeparator?t.formatSeparator:t.formatSeparator||","}add(e,t){this.formats[e.toLowerCase().trim()]=t}addCached(e,t){this.formats[e.toLowerCase().trim()]=Et(t)}format(e,t,n){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return t.split(this.formatSeparator).reduce(((e,t)=>{const{formatName:r,formatOptions:o}=function(e){let t=e.toLowerCase().trim();const n={};if(e.indexOf("(")>-1){const i=e.split("(");t=i[0].toLowerCase().trim();const r=i[1].substring(0,i[1].length-1);"currency"===t&&r.indexOf(":")<0?n.currency||(n.currency=r.trim()):"relativetime"===t&&r.indexOf(":")<0?n.range||(n.range=r.trim()):r.split(";").forEach((e=>{if(e){const[t,...i]=e.split(":"),r=i.join(":").trim().replace(/^'+|'+$/g,""),o=t.trim();n[o]||(n[o]=r),"false"===r&&(n[o]=!1),"true"===r&&(n[o]=!0),isNaN(r)||(n[o]=parseInt(r,10))}}))}return{formatName:t,formatOptions:n}}(t);if(this.formats[r]){let t=e;try{const a=i&&i.formatParams&&i.formatParams[i.interpolationkey]||{},s=a.locale||a.lng||i.locale||i.lng||n;t=this.formats[r](e,s,{...o,...i,...a})}catch(e){this.logger.warn(e)}return t}return this.logger.warn(`there was no format function for ${r}`),e}),e)}}class zt extends tt{constructor(e,t,n){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};super(),this.backend=e,this.store=t,this.services=n,this.languageUtils=n.languageUtils,this.options=i,this.logger=et.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=i.maxParallelReads||10,this.readingCalls=0,this.maxRetries=i.maxRetries>=0?i.maxRetries:5,this.retryTimeout=i.retryTimeout>=1?i.retryTimeout:350,this.state={},this.queue=[],this.backend&&this.backend.init&&this.backend.init(n,i.backend,i)}queueLoad(e,t,n,i){const r={},o={},a={},s={};return e.forEach((e=>{let i=!0;t.forEach((t=>{const a=`${e}|${t}`;!n.reload&&this.store.hasResourceBundle(e,t)?this.state[a]=2:this.state[a]<0||(1===this.state[a]?void 0===o[a]&&(o[a]=!0):(this.state[a]=1,i=!1,void 0===o[a]&&(o[a]=!0),void 0===r[a]&&(r[a]=!0),void 0===s[t]&&(s[t]=!0)))})),i||(a[e]=!0)})),(Object.keys(r).length||Object.keys(o).length)&&this.queue.push({pending:o,pendingCount:Object.keys(o).length,loaded:{},errors:[],callback:i}),{toLoad:Object.keys(r),pending:Object.keys(o),toLoadLanguages:Object.keys(a),toLoadNamespaces:Object.keys(s)}}loaded(e,t,n){const i=e.split("|"),r=i[0],o=i[1];t&&this.emit("failedLoading",r,o,t),n&&this.store.addResourceBundle(r,o,n,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2;const a={};this.queue.forEach((n=>{!function(e,t,n,i){const{obj:r,k:o}=ot(e,t,Object);r[o]=r[o]||[],r[o].push(n)}(n.loaded,[r],o),function(e,t){void 0!==e.pending[t]&&(delete e.pending[t],e.pendingCount--)}(n,e),t&&n.errors.push(t),0!==n.pendingCount||n.done||(Object.keys(n.loaded).forEach((e=>{a[e]||(a[e]={});const t=n.loaded[e];t.length&&t.forEach((t=>{void 0===a[e][t]&&(a[e][t]=!0)}))})),n.done=!0,n.errors.length?n.callback(n.errors):n.callback())})),this.emit("loaded",a),this.queue=this.queue.filter((e=>!e.done))}read(e,t,n){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:this.retryTimeout,o=arguments.length>5?arguments[5]:void 0;if(!e.length)return o(null,{});if(this.readingCalls>=this.maxParallelReads)return void this.waitingReads.push({lng:e,ns:t,fcName:n,tried:i,wait:r,callback:o});this.readingCalls++;const a=(a,s)=>{if(this.readingCalls--,this.waitingReads.length>0){const e=this.waitingReads.shift();this.read(e.lng,e.ns,e.fcName,e.tried,e.wait,e.callback)}a&&s&&i<this.maxRetries?setTimeout((()=>{this.read.call(this,e,t,n,i+1,2*r,o)}),r):o(a,s)},s=this.backend[n].bind(this.backend);if(2!==s.length)return s(e,t,a);try{const n=s(e,t);n&&"function"==typeof n.then?n.then((e=>a(null,e))).catch(a):a(null,n)}catch(e){a(e)}}prepareLoading(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),i&&i();"string"==typeof e&&(e=this.languageUtils.toResolveHierarchy(e)),"string"==typeof t&&(t=[t]);const r=this.queueLoad(e,t,n,i);if(!r.toLoad.length)return r.pending.length||i(),null;r.toLoad.forEach((e=>{this.loadOne(e)}))}load(e,t,n){this.prepareLoading(e,t,{},n)}reload(e,t,n){this.prepareLoading(e,t,{reload:!0},n)}loadOne(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";const n=e.split("|"),i=n[0],r=n[1];this.read(i,r,"read",void 0,void 0,((n,o)=>{n&&this.logger.warn(`${t}loading namespace ${r} for language ${i} failed`,n),!n&&o&&this.logger.log(`${t}loaded namespace ${r} for language ${i}`,o),this.loaded(e,n,o)}))}saveMissing(e,t,n,i,r){let o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:()=>{};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(t))this.logger.warn(`did not save key "${n}" as the namespace "${t}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");else if(null!=n&&""!==n){if(this.backend&&this.backend.create){const s={...o,isUpdate:r},l=this.backend.create.bind(this.backend);if(l.length<6)try{let r;r=5===l.length?l(e,t,n,i,s):l(e,t,n,i),r&&"function"==typeof r.then?r.then((e=>a(null,e))).catch(a):a(null,r)}catch(e){a(e)}else l(e,t,n,i,a,s)}e&&e[0]&&this.store.addResource(e[0],t,n,i)}}}function It(){return{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(e){let t={};if("object"==typeof e[1]&&(t=e[1]),"string"==typeof e[1]&&(t.defaultValue=e[1]),"string"==typeof e[2]&&(t.tDescription=e[2]),"object"==typeof e[2]||"object"==typeof e[3]){const n=e[3]||e[2];Object.keys(n).forEach((e=>{t[e]=n[e]}))}return t},interpolation:{escapeValue:!0,format:e=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}}function Lt(e){return"string"==typeof e.ns&&(e.ns=[e.ns]),"string"==typeof e.fallbackLng&&(e.fallbackLng=[e.fallbackLng]),"string"==typeof e.fallbackNS&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&e.supportedLngs.indexOf("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e}function Ot(){}class Mt extends tt{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;var n;if(super(),this.options=Lt(e),this.services={},this.logger=et,this.modules={external:[]},n=this,Object.getOwnPropertyNames(Object.getPrototypeOf(n)).forEach((e=>{"function"==typeof n[e]&&(n[e]=n[e].bind(n))})),t&&!this.isInitialized&&!e.isClone){if(!this.options.initImmediate)return this.init(e,t),this;setTimeout((()=>{this.init(e,t)}),0)}}init(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;this.isInitializing=!0,"function"==typeof t&&(n=t,t={}),!t.defaultNS&&!1!==t.defaultNS&&t.ns&&("string"==typeof t.ns?t.defaultNS=t.ns:t.ns.indexOf("translation")<0&&(t.defaultNS=t.ns[0]));const i=It();function r(e){return e?"function"==typeof e?new e:e:null}if(this.options={...i,...this.options,...Lt(t)},"v1"!==this.options.compatibilityAPI&&(this.options.interpolation={...i.interpolation,...this.options.interpolation}),void 0!==t.keySeparator&&(this.options.userDefinedKeySeparator=t.keySeparator),void 0!==t.nsSeparator&&(this.options.userDefinedNsSeparator=t.nsSeparator),!this.options.isClone){let t;this.modules.logger?et.init(r(this.modules.logger),this.options):et.init(null,this.options),this.modules.formatter?t=this.modules.formatter:"undefined"!=typeof Intl&&(t=Rt);const n=new wt(this.options);this.store=new gt(this.options.resources,this.options);const o=this.services;o.logger=et,o.resourceStore=this.store,o.languageUtils=n,o.pluralResolver=new Tt(n,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),!t||this.options.interpolation.format&&this.options.interpolation.format!==i.interpolation.format||(o.formatter=r(t),o.formatter.init(o,this.options),this.options.interpolation.format=o.formatter.format.bind(o.formatter)),o.interpolator=new jt(this.options),o.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},o.backendConnector=new zt(r(this.modules.backend),o.resourceStore,o,this.options),o.backendConnector.on("*",(function(t){for(var n=arguments.length,i=new Array(n>1?n-1:0),r=1;r<n;r++)i[r-1]=arguments[r];e.emit(t,...i)})),this.modules.languageDetector&&(o.languageDetector=r(this.modules.languageDetector),o.languageDetector.init&&o.languageDetector.init(o,this.options.detection,this.options)),this.modules.i18nFormat&&(o.i18nFormat=r(this.modules.i18nFormat),o.i18nFormat.init&&o.i18nFormat.init(this)),this.translator=new bt(this.services,this.options),this.translator.on("*",(function(t){for(var n=arguments.length,i=new Array(n>1?n-1:0),r=1;r<n;r++)i[r-1]=arguments[r];e.emit(t,...i)})),this.modules.external.forEach((e=>{e.init&&e.init(this)}))}if(this.format=this.options.interpolation.format,n||(n=Ot),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const e=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);e.length>0&&"dev"!==e[0]&&(this.options.lng=e[0])}this.services.languageDetector||this.options.lng||this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach((t=>{this[t]=function(){return e.store[t](...arguments)}})),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach((t=>{this[t]=function(){return e.store[t](...arguments),e}}));const o=nt(),a=()=>{const e=(e,t)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),o.resolve(t),n(e,t)};if(this.languages&&"v1"!==this.options.compatibilityAPI&&!this.isInitialized)return e(null,this.t.bind(this));this.changeLanguage(this.options.lng,e)};return this.options.resources||!this.options.initImmediate?a():setTimeout(a,0),o}loadResources(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ot;const n="string"==typeof e?e:this.language;if("function"==typeof e&&(t=e),!this.options.resources||this.options.partialBundledLanguages){if(n&&"cimode"===n.toLowerCase()&&(!this.options.preload||0===this.options.preload.length))return t();const e=[],i=t=>{t&&"cimode"!==t&&this.services.languageUtils.toResolveHierarchy(t).forEach((t=>{"cimode"!==t&&e.indexOf(t)<0&&e.push(t)}))};n?i(n):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach((e=>i(e))),this.options.preload&&this.options.preload.forEach((e=>i(e))),this.services.backendConnector.load(e,this.options.ns,(e=>{e||this.resolvedLanguage||!this.language||this.setResolvedLanguage(this.language),t(e)}))}else t(null)}reloadResources(e,t,n){const i=nt();return e||(e=this.languages),t||(t=this.options.ns),n||(n=Ot),this.services.backendConnector.reload(e,t,(e=>{i.resolve(),n(e)})),i}use(e){if(!e)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return"backend"===e.type&&(this.modules.backend=e),("logger"===e.type||e.log&&e.warn&&e.error)&&(this.modules.logger=e),"languageDetector"===e.type&&(this.modules.languageDetector=e),"i18nFormat"===e.type&&(this.modules.i18nFormat=e),"postProcessor"===e.type&&vt.addPostProcessor(e),"formatter"===e.type&&(this.modules.formatter=e),"3rdParty"===e.type&&this.modules.external.push(e),this}setResolvedLanguage(e){if(e&&this.languages&&!(["cimode","dev"].indexOf(e)>-1))for(let e=0;e<this.languages.length;e++){const t=this.languages[e];if(!(["cimode","dev"].indexOf(t)>-1)&&this.store.hasLanguageSomeTranslations(t)){this.resolvedLanguage=t;break}}}changeLanguage(e,t){var n=this;this.isLanguageChangingTo=e;const i=nt();this.emit("languageChanging",e);const r=e=>{this.language=e,this.languages=this.services.languageUtils.toResolveHierarchy(e),this.resolvedLanguage=void 0,this.setResolvedLanguage(e)},o=(e,o)=>{o?(r(o),this.translator.changeLanguage(o),this.isLanguageChangingTo=void 0,this.emit("languageChanged",o),this.logger.log("languageChanged",o)):this.isLanguageChangingTo=void 0,i.resolve((function(){return n.t(...arguments)})),t&&t(e,(function(){return n.t(...arguments)}))},a=t=>{e||t||!this.services.languageDetector||(t=[]);const n="string"==typeof t?t:this.services.languageUtils.getBestMatchFromCodes(t);n&&(this.language||r(n),this.translator.language||this.translator.changeLanguage(n),this.services.languageDetector&&this.services.languageDetector.cacheUserLanguage&&this.services.languageDetector.cacheUserLanguage(n)),this.loadResources(n,(e=>{o(e,n)}))};return e||!this.services.languageDetector||this.services.languageDetector.async?!e&&this.services.languageDetector&&this.services.languageDetector.async?0===this.services.languageDetector.detect.length?this.services.languageDetector.detect().then(a):this.services.languageDetector.detect(a):a(e):a(this.services.languageDetector.detect()),i}getFixedT(e,t,n){var i=this;const r=function(e,t){let o;if("object"!=typeof t){for(var a=arguments.length,s=new Array(a>2?a-2:0),l=2;l<a;l++)s[l-2]=arguments[l];o=i.options.overloadTranslationOptionHandler([e,t].concat(s))}else o={...t};o.lng=o.lng||r.lng,o.lngs=o.lngs||r.lngs,o.ns=o.ns||r.ns,""!==o.keyPrefix&&(o.keyPrefix=o.keyPrefix||n||r.keyPrefix);const u=i.options.keySeparator||".";let c;return c=o.keyPrefix&&Array.isArray(e)?e.map((e=>`${o.keyPrefix}${u}${e}`)):o.keyPrefix?`${o.keyPrefix}${u}${e}`:e,i.t(c,o)};return"string"==typeof e?r.lng=e:r.lngs=e,r.ns=t,r.keyPrefix=n,r}t(){return this.translator&&this.translator.translate(...arguments)}exists(){return this.translator&&this.translator.exists(...arguments)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const n=t.lng||this.resolvedLanguage||this.languages[0],i=!!this.options&&this.options.fallbackLng,r=this.languages[this.languages.length-1];if("cimode"===n.toLowerCase())return!0;const o=(e,t)=>{const n=this.services.backendConnector.state[`${e}|${t}`];return-1===n||2===n};if(t.precheck){const e=t.precheck(this,o);if(void 0!==e)return e}return!(!this.hasResourceBundle(n,e)&&this.services.backendConnector.backend&&(!this.options.resources||this.options.partialBundledLanguages)&&(!o(n,e)||i&&!o(r,e)))}loadNamespaces(e,t){const n=nt();return this.options.ns?("string"==typeof e&&(e=[e]),e.forEach((e=>{this.options.ns.indexOf(e)<0&&this.options.ns.push(e)})),this.loadResources((e=>{n.resolve(),t&&t(e)})),n):(t&&t(),Promise.resolve())}loadLanguages(e,t){const n=nt();"string"==typeof e&&(e=[e]);const i=this.options.preload||[],r=e.filter((e=>i.indexOf(e)<0&&this.services.languageUtils.isSupportedCode(e)));return r.length?(this.options.preload=i.concat(r),this.loadResources((e=>{n.resolve(),t&&t(e)})),n):(t&&t(),Promise.resolve())}dir(e){if(e||(e=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!e)return"rtl";const t=this.services&&this.services.languageUtils||new wt(It());return["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"].indexOf(t.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){return new Mt(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},arguments.length>1?arguments[1]:void 0)}cloneInstance(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ot;const n=e.forkResourceStore;n&&delete e.forkResourceStore;const i={...this.options,...e,isClone:!0},r=new Mt(i);return void 0===e.debug&&void 0===e.prefix||(r.logger=r.logger.clone(e)),["store","services","language"].forEach((e=>{r[e]=this[e]})),r.services={...this.services},r.services.utils={hasLoadedNamespace:r.hasLoadedNamespace.bind(r)},n&&(r.store=new gt(this.store.data,i),r.services.resourceStore=r.store),r.translator=new bt(r.services,i),r.translator.on("*",(function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];r.emit(e,...n)})),r.init(i,t),r.translator.options=i,r.translator.backendConnector.services.utils={hasLoadedNamespace:r.hasLoadedNamespace.bind(r)},r}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}const Ft=Mt.createInstance();function Dt(e){return Dt="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},Dt(e)}function Bt(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,(void 0,r=function(e,t){if("object"!==Dt(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,"string");if("object"!==Dt(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(i.key),"symbol"===Dt(r)?r:String(r)),i)}var r}Ft.createInstance=Mt.createInstance,Ft.createInstance,Ft.dir,Ft.init,Ft.loadResources,Ft.reloadResources,Ft.use,Ft.changeLanguage,Ft.getFixedT,Ft.t,Ft.exists,Ft.setDefaultNamespace,Ft.hasLoadedNamespace,Ft.loadNamespaces,Ft.loadLanguages;var Nt=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.opts=t,this.defaultType=["skincare"],this.defaultDisplayModel=["widget","section","modal"]}var t,n;return t=e,(n=[{key:"init",value:function(e){e.responsiveOverride;var t=this.opts;if(!t||"object"!==Dt(t))throw new Error("pleas enter options.");if(t.arrTypes=this.defaultType,t.arrDisplayModel=this.defaultDisplayModel,t.intro=!0,void 0===t.faceageId||!t.faceageId)throw new Error("pleas enter face age Id.");if(void 0===t.displayModel&&(t.displayModel="section"),"modal"!==t.displayModel){if(void 0===t.elementId||!t.elementId)throw new Error("pleas enter element id.");if(!document.getElementById(t.elementId))throw new Error("element id is not valid.");t.element=document.getElementById(t.elementId)}else t.element=document.body;if(void 0===t.type&&(t.type="skincare"),void 0===t.language&&(t.language="en"),void 0===t.defaultQuiz&&(t.defaultQuiz={}),void 0===t.quiz&&(t.quiz=!0),void 0===t.currency&&(t.currency="$"),void 0===t.showProducts&&(t.showProducts=!1),void 0===t.showRoutine&&(t.showRoutine=!1),"widget"===t.displayModel&&(t.products=!1),"en"!==t.language&&Ft.changeLanguage(t.language),-1===this.defaultType.indexOf(t.type))throw new Error("Type is not valid");if(-1===this.defaultDisplayModel.indexOf(t.displayModel))throw new Error("Display Model is not valid");if(void 0!==t.routinesSupport&&Array.isArray(t.routinesSupport)||(t.routinesSupport=[]),void 0!==t.problems&&Array.isArray(t.problems)||(t.problems=[]),void 0===t.width?t.iframeWidth="360px":t.width&&(t.iframeWidth=t.width),void 0===t.height?"section"===t.displayModel?t.iframeHeight="600px":t.iframeHeight="580px":t.height&&(t.iframeHeight=t.height),void 0===t.showFacePoint&&(t.showFacePoint=!0),void 0===t.showAddToCard&&(t.showAddToCard=!0),void 0===t.showCamera&&(t.showCamera=!0),void 0===t.showUpload&&(t.showUpload=!0),!t.showCamera&&!t.showUpload)throw new Error("There are no input ways to receive the image.");return t}}])&&Bt(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function Gt(e){return Gt="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},Gt(e)}function Ht(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,(void 0,r=function(e,t){if("object"!==Gt(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,"string");if("object"!==Gt(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(i.key),"symbol"===Gt(r)?r:String(r)),i)}var r}var Wt=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}var t,n;return t=e,(n=[{key:"initGlobalVars",value:function(e){e.skinAnalyzeData=[]}},{key:"globalVars",value:function(e){return{faceID:null,dom:{},events:{onClickProblem:[],onClose:[],onDisplayProducts:[],onAddToCart:[],onCheckout:[],onClickProduct:[]},showCamera:!0,showUpload:!0,formPages:{},formData:{},intro:!0,quiz:!0,iframeWidth:"360px",iframeHeight:"480px",language:"en",displayModel:"widget",showFacePoint:!0,cameraPermission:null,faceDetection:null,boundingBox:[],imageWarning:!1,activeQuiz:0,privacy:!1,products:!0,productLoader:!0,productLists:[],productAction:[],productAddToCart:[],problems:{wrinkles:"Fine Wrinkles",fineWrinkles:"Fine Wrinkles",eye_wrinkles:"Eye Wrinkles",eyeWrinkles:"Eye Wrinkles",deep_wrinkles:"Deep Wrinkles",deepWrinkles:"Deep Wrinkles",dark_circle:"Dark Circle",darkCircle:"Dark Circle",eye_bag:"Eye Bag",eyeBag:"Eye Bag",pores:"Pores",pigments:"Pigment",pigment:"Pigment",acnes:"Acne",acne:"Acne",oiliness:"Oiliness",redness:"Redness"},routineGroup:{morning:{cleanser:"Cleanser",toner:"Toner",serum:"Serum",eyeCream:"Eye Cream",spotTreatment:"Spot Treatment",moisturizer:"Moisturizer",sunscreen:"Sunscreen",faceOil:"Face Oil"},night:{cleanser:"Cleanser",toner:"Toner",serum:"Serum",eyeCream:"Eye Cream",spotTreatment:"Spot Treatment",moisturizer:"Moisturizer",faceOil:"Face Oil",nightCream:"Night Cream"}},routineContent:{cleanser:"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.",toner:"Use a toner to balance your skin’s pH and remove any leftover residue.",serum:"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.",eyeCream:"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.",spotTreatment:"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.",moisturizer:"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.",sunscreen:"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.",faceOil:"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.",nightCream:"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration."}}}},{key:"init",value:function(e){var t=this.globalVars(e);return this.initGlobalVars(t),t}}])&&Ht(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function Ut(e){return Ut="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},Ut(e)}function qt(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,(void 0,r=function(e,t){if("object"!==Ut(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,"string");if("object"!==Ut(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(i.key),"symbol"===Ut(r)?r:String(r)),i)}var r}var Vt=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.opts=t}var t,n;return t=e,(n=[{key:"init",value:function(){var e=new Nt(this.opts).init({responsiveOverride:!1});return{config:e,globals:(new Wt).init(e)}}}])&&qt(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function Yt(e){return Yt="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},Yt(e)}function Jt(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,(void 0,r=function(e,t){if("object"!==Yt(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,"string");if("object"!==Yt(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(i.key),"symbol"===Yt(r)?r:String(r)),i)}var r}var Kt=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.ctx=t,this.w=t.w}var t,n;return t=e,n=[{key:"setAttrs",value:function(e,t){for(var n in t)t.hasOwnProperty(n)&&e.setAttribute(n,t[n])}},{key:"getLevelColor",value:function(e){return e<=30?"#5CB85C":e>=70?"#DA005C":"#5C7BB8"}},{key:"getSizeFrame",value:function(e,t){var n,i,r=e.dom.elIframe.clientWidth>300?e.dom.elIframe.clientWidth:300,o=e.dom.elIframe.clientHeight>400?e.dom.elIframe.clientHeight:400;return"widget"===t.displayModel?(n=r,i=r/3*4):"section"===t.displayModel?(i=o,r>768&&(i-=40),r<=(n=i/4*3)&&(i=(n=r-35)/3*4)):r>=668?n=(i=o-120)/4*3:i=(n=r-35)/3*4,{width:n,height:i}}}],null&&Jt(t.prototype,null),n&&Jt(t,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();const $t=Kt;var Zt=n(486),Xt=n.n(Zt);function Qt(e){return Qt="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},Qt(e)}function en(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,(void 0,r=function(e,t){if("object"!==Qt(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,"string");if("object"!==Qt(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(i.key),"symbol"===Qt(r)?r:String(r)),i)}var r}var tn=function(){function e(t,n,i,r,o){var a;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.gl=n,this.options=null!==(a=i.options)&&void 0!==a?a:[],this.title=Ft.t(i.title),this.description=Ft.t(i.description),this.name=i.name,this.layout=i.layout,this.activeItems=r||[],this.value=r,this.setValue=o,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this,t=(this.gl,document.createElement("div"));$t.setAttrs(t,{class:"el_box","data-name":this.name});var n=document.createElement("div");$t.setAttrs(n,{class:"box_title",style:this.title||this.description?"margin-bottom: 10px":""}),n.innerHTML=(this.title?'<label class="title_el">'+this.title+"</label>":"")+(this.description?'<p class="description_el">'+this.description+"</p>":""),t.appendChild(n);var i=document.createElement("div");$t.setAttrs(i,{class:"checkbox_group input_select "+this.layout});var r=[];this.options.map((function(t){r[t.value]=document.createElement("div"),$t.setAttrs(r[t.value],{class:"checkbox item "+(e.activeItems.includes(t.value)?"active":"")});var n=(t.icon_url?'<div class="ico"><img alt="'+t.label+'" src="'+t.icon_url+'" /></div>':"")+'<div class="title">'+Ft.t(t.label)+"</div>";r[t.value].innerHTML=n,i.appendChild(r[t.value]),r[t.value].addEventListener("click",(function(n){e.activeItems.includes(t.value)?r[t.value].classList.remove("active"):(r[t.value].classList.add("active"),e.activeItems.push(t.value)),e.setValue(e.activeItems),e.value=e.activeItems}))})),t.appendChild(i),this.el.appendChild(t)}}])&&en(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function nn(e){return nn="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},nn(e)}function rn(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,(void 0,r=function(e,t){if("object"!==nn(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,"string");if("object"!==nn(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(i.key),"symbol"===nn(r)?r:String(r)),i)}var r}var on=function(){function e(t,n,i){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.gl=n,this.children=Ft.t(i.text),this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this.gl;e.dom.elementText=document.createElement("p"),$t.setAttrs(e.dom.elementText,{style:"margin: 0 0 10px"}),e.dom.elementText.innerHTML=this.children,this.el.appendChild(e.dom.elementText)}}])&&rn(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function an(e){return an="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},an(e)}function sn(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,(void 0,r=function(e,t){if("object"!==an(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,"string");if("object"!==an(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(i.key),"symbol"===an(r)?r:String(r)),i)}var r}var ln=function(){function e(t,n,i,r,o){var a;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.gl=n,this.options=null!==(a=i.options)&&void 0!==a?a:[],this.name=i.name,this.layout=i.layout,this.title=Ft.t(i.title),this.description=Ft.t(i.description),this.value=r,this.setValue=o,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this,t=(this.gl,document.createElement("div"));$t.setAttrs(t,{class:"el_box","data-name":this.name});var n=document.createElement("div");$t.setAttrs(n,{class:"box_title"}),n.innerHTML=(this.title?'<label class="title_el">'+this.title+"</label>":"")+(this.description?'<p class="description_el">'+this.description+"</p>":""),t.appendChild(n);var i=document.createElement("div");$t.setAttrs(i,{class:"radio_group input_select "+this.layout});var r=[];this.options.map((function(t){r[t.value]=document.createElement("div"),$t.setAttrs(r[t.value],{class:"radio item "+(e.value===t.value?"active":"")});var n=(t.icon_url?'<div class="ico"><img alt="'+t.label+'" src="'+t.icon_url+'" /></div>':"")+'<div class="title">'+Ft.t(t.label)+"</div>";r[t.value].innerHTML=n,i.appendChild(r[t.value]),r[t.value].addEventListener("click",(function(n){var o=i.getElementsByClassName("radio");if(o.length)for(var a=0;a<o.length;a++)o[a].classList.remove("active");e.value!==t.value?(e.setValue(t.value),e.value=t.value,r[t.value].classList.add("active")):(e.setValue(null),e.value=null)}))})),t.appendChild(i),this.el.appendChild(t)}}])&&sn(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function un(e){return un="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},un(e)}function cn(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,(void 0,r=function(e,t){if("object"!==un(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,"string");if("object"!==un(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(i.key),"symbol"===un(r)?r:String(r)),i)}var r}var dn=function(){function e(t,n,i){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,a=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.pv=i,this.ctx=n,this.w=n.w,this.gl=this.w.globals,this.co=this.w.config,this.onBack=o,this.showRefresh=a,this.title=r,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this,t=this.gl;t.dom.elAppBar=document.createElement("div"),$t.setAttrs(t.dom.elAppBar,{class:"app_bar",style:"width: 100%"});var n=' <div class="header_tools">'+(this.onBack?' <div class="back"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M15.56 5.15999L13.2 2.79999L0 16L13.2 29.2L15.56 26.84L4.72 16L15.56 5.15999Z" fill="black"/></svg></div>':"")+' <div class="title">'+Ft.t("Skin Analysis")+'</div> <div class="action">'+(this.showRefresh?' <div class="refresh"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M23.5333 8.46668C21.6 6.53334 18.9467 5.33334 16 5.33334C10.1067 5.33334 5.34668 10.1067 5.34668 16C5.34668 21.8933 10.1067 26.6667 16 26.6667C20.9733 26.6667 25.12 23.2667 26.3067 18.6667H23.5333C22.44 21.7733 19.48 24 16 24C11.5867 24 8.00001 20.4133 8.00001 16C8.00001 11.5867 11.5867 8.00001 16 8.00001C18.2133 8.00001 20.1867 8.92001 21.6267 10.3733L17.3333 14.6667H26.6667V5.33334L23.5333 8.46668Z" fill="black"/></svg></div>':"")+' <div class="close"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M25.3333 8.54663L23.4533 6.66663L16 14.12L8.54667 6.66663L6.66667 8.54663L14.12 16L6.66667 23.4533L8.54667 25.3333L16 17.88L23.4533 25.3333L25.3333 23.4533L17.88 16L25.3333 8.54663Z" fill="black"/></svg></div> </div>';t.dom.elAppBar.innerHTML=n;var i=t.dom.elAppBar.querySelector(".title");this.title?i.innerText=this.title:(t.authorize.logo,t.authorize.name&&(i.innerText=t.authorize.name));var r=t.dom.elAppBar.querySelector(".back"),o=t.dom.elAppBar.querySelector(".refresh"),a=t.dom.elAppBar.querySelector(".close");r&&r.addEventListener("click",(function(t){e.onBack&&e.onBack()})),o&&o.addEventListener("click",(function(n){t.dom.elInfo&&t.dom.elInfo.remove(),t.dom.elForm&&t.dom.elForm.remove(),t.dom.elFace&&t.dom.elFace.remove(),t.activeQuiz=0,t.formData={},t.productLoader=!1,t.productLists=[],t.productAction=[],t.productAddToCart=[],t.imageSubmit=null,t.intro=!0,e.co.intro=!0,new Qi(t.dom.docIframe,e.ctx,e.pv),t.onRefresh&&t.onRefresh()})),a&&a.addEventListener("click",(function(e){t.dom.elModalFace.classList.remove("is-open"),t.onCloseModal&&t.onCloseModal()})),this.el.appendChild(t.dom.elAppBar)}}])&&cn(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function hn(e){return hn="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},hn(e)}function pn(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,(void 0,r=function(e,t){if("object"!==hn(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,"string");if("object"!==hn(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(i.key),"symbol"===hn(r)?r:String(r)),i)}var r}var mn=function(){function e(t,n,i){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.pv=i,this.ctx=n,this.w=n.w,this.gl=this.w.globals,this.co=this.w.config,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e,t,n,i,r,o,a,s,l,u,c=this,d=this.el,h=this.gl,p=this.co,m=[{key:"eyeGlass",svg:'<svg width="54" height="55" viewBox="0 0 54 55" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M22.1266 19.4592C24.0344 18.7776 26.0063 18.8686 26.8269 19.6404C27.6451 20.414 27.9449 20.8857 27.9823 21.3679C28.0262 21.9364 27.2941 22.1521 26.8269 21.6852C26.4881 20.9863 25.9015 20.0526 24.9785 19.9126C23.6468 19.7132 21.8617 20.5674 21.2036 21.1167C20.0864 22.0495 16.0629 26.3434 16.0629 26.3434C16.0629 26.3434 18.6231 26.8879 20.2441 27.4343C21.8601 27.9798 22.5946 28.9327 23.7118 29.1618C24.829 29.3881 25.6545 28.7582 27.4867 29.0027C29.3189 29.2471 35.1713 30.572 35.9026 29.9355C36.5981 29.3296 37.8883 26.1075 38.3774 25.0559C38.3994 25.0012 38.4229 24.9552 38.4433 24.914C38.44 24.9111 38.4384 24.9082 38.4343 24.9054C38.6569 24.4548 39.3256 23.035 39.1558 22.548C39.1258 22.4608 39.0689 22.4023 38.9917 22.3793C38.921 22.3582 38.856 22.3821 38.8081 22.4483C38.6716 22.6362 38.7024 23.1452 38.7902 23.382C38.8178 23.4587 38.8511 23.5086 38.8901 23.5325C38.7333 23.9831 38.5099 24.4787 38.3531 24.7999C37.9712 24.1921 37.9232 22.2872 38.4433 21.482C38.999 20.6182 40 20.5731 40 22.2767C40 23.0724 39.8082 25.4815 39.2094 26.2532C39.4605 26.4804 39.4605 27.2311 38.9795 28.1389C38.4969 29.0468 37.1099 33.7951 35.6661 34.1133C34.3759 36.5445 33.0669 35.931 31.5638 35.931C30.0615 35.931 27.7126 35.2273 26.6921 34.725C25.6699 34.2255 24.5341 31.7493 24.3992 31.3859C24.2659 31.0216 23.1869 30.7503 23.0139 31.1808C22.8392 31.6122 22.8603 33.9552 20.1531 33.5209C17.4474 33.0895 15.4641 32.3619 14.7321 30.6583C14 28.9576 14 26.3223 14 26.3223C14 26.3223 20.2205 20.1417 22.1266 19.4592ZM26.6132 33.9341C27.2104 34.7528 31.0641 35.3663 31.0641 35.3663C31.0641 35.3663 33.0093 35.5034 33.6446 35.4804C33.6791 35.4741 33.7128 35.467 33.7458 35.4593C34.756 35.2228 35.0959 34.0233 35.2206 32.9933V31.6399C35.2442 30.9688 34.3604 30.805 33.7023 30.7024C33.0287 30.6027 28.2317 29.7821 27.7296 29.7821C27.2291 29.7821 25.5367 29.7955 25.4408 30.9296C25.3433 32.0695 26.0177 33.1154 26.6132 33.9341ZM16.4643 31.8212C17.7334 32.2631 19.4681 32.8891 20.1523 33.0262C20.6852 33.1384 21.2329 33.171 21.4709 32.914C21.9617 32.3772 21.7586 31.1233 21.8138 30.4043C21.9536 29.2107 19.8711 28.3019 19.8711 28.3019C19.8711 28.3019 16.5594 27.2109 15.6169 27.0767C15.4991 27.0547 14.7507 28.8704 14.7507 28.8704C14.7507 28.8704 15.1968 31.3783 16.4643 31.8212Z" fill="black"/>\n<path d="M38.7619 22.5432C38.7907 22.4266 38.8327 22.4075 38.859 22.4075C38.8686 22.4075 38.8756 22.4102 38.8791 22.4111C38.9237 22.423 38.9535 22.4494 38.9719 22.4958C39.0296 22.6443 38.964 22.9322 38.8459 23.2592C38.7785 23.2036 38.6936 22.8101 38.7619 22.5432Z" fill="'+(null!==(e=null===(t=h.customTemplate)||void 0===t?void 0:t.base_color)&&void 0!==e?e:"#3FC79A")+'" />\n<path fill-rule="evenodd" clip-rule="evenodd" d="M35.6588 14.2799C32.0968 11.9698 27.6242 11.0825 23.1779 12.183C14.6495 14.2939 9.44712 22.9188 11.558 31.4471C12.32 34.5258 13.9309 37.1711 16.0797 39.1953L35.6588 14.2799ZM38.0749 16.2024L18.5214 41.0852C22.0534 43.3094 26.4504 44.149 30.8221 43.067C39.3505 40.9561 44.5529 32.3312 42.442 23.8029C41.6983 20.7985 40.1463 18.2069 38.0749 16.2024ZM22.436 9.18589C32.6197 6.66528 42.9185 12.8774 45.4391 23.061C47.9597 33.2447 41.7476 43.5435 31.564 46.0641C21.3803 48.5847 11.0815 42.3726 8.56089 32.189C6.04028 22.0053 12.2524 11.7065 22.436 9.18589Z" fill="'+(null!==(n=null===(i=h.customTemplate)||void 0===i?void 0:i.base_color)&&void 0!==n?n:"#3FC79A")+'" stroke="white" stroke-width="1.6"/>\n</svg>\n',title:Ft.t("Remove the glasses")},{key:"clean",svg:'<svg width="56" height="55" viewBox="0 0 56 55" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M19.3406 18.2903C19.3406 18.13 19.2032 18 19.0338 18C18.8644 18 18.727 18.13 18.727 18.2903V18.871H17.8068C17.6373 18.871 17.5 19.0009 17.5 19.1613C17.5 19.3216 17.6373 19.4516 17.8068 19.4516H18.727V20.0323H17.8068C17.6373 20.0323 17.5 20.1622 17.5 20.3226C17.5 20.4829 17.6373 20.6129 17.8068 20.6129H18.727V21.1935H17.8068C17.6373 21.1935 17.5 21.3235 17.5 21.4839C17.5 21.6442 17.6373 21.7742 17.8068 21.7742H18.727V22.3548H17.8068C17.6373 22.3548 17.5 22.4848 17.5 22.6452C17.5 22.8055 17.6373 22.9355 17.8068 22.9355H18.727V23.5161H17.8068C17.6373 23.5161 17.5 23.6461 17.5 23.8065C17.5 23.9668 17.6373 24.0968 17.8068 24.0968H18.727V30.1935H18.4203C18.0819 30.1935 17.8068 30.454 17.8068 30.7742V31.5813C17.6199 31.741 17.5 31.9695 17.5 32.2258V35.129C17.5 35.6092 17.9129 36 18.4203 36H19.6473C20.1547 36 20.5676 35.6092 20.5676 35.129V32.2258C20.5676 31.9695 20.4477 31.741 20.2608 31.5813V30.7742C20.2608 30.454 19.9854 30.1935 19.6473 30.1935H19.3406V24.0968H20.2608C20.4303 24.0968 20.5676 23.9668 20.5676 23.8065C20.5676 23.6461 20.4303 23.5161 20.2608 23.5161H19.3406V22.9355H20.2608C20.4303 22.9355 20.5676 22.8055 20.5676 22.6452C20.5676 22.4848 20.4303 22.3548 20.2608 22.3548H19.3406V21.7742H20.2608C20.4303 21.7742 20.5676 21.6442 20.5676 21.4839C20.5676 21.3235 20.4303 21.1935 20.2608 21.1935H19.3406V20.6129H20.2608C20.4303 20.6129 20.5676 20.4829 20.5676 20.3226C20.5676 20.1622 20.4303 20.0323 20.2608 20.0323H19.3406V19.4516H20.2608C20.4303 19.4516 20.5676 19.3216 20.5676 19.1613C20.5676 19.0009 20.4303 18.871 20.2608 18.871H19.3406V18.2903ZM19.9541 32.2258V35.129C19.9541 35.2893 19.8167 35.4194 19.6473 35.4194H18.4203C18.251 35.4194 18.1135 35.2893 18.1135 35.129V32.2258C18.1135 32.0655 18.251 31.9355 18.4203 31.9355H19.6473C19.8167 31.9355 19.9541 32.0655 19.9541 32.2258ZM19.573 30.7742C19.6141 30.7742 19.6473 30.8057 19.6473 30.8445V31.2845C19.6473 31.3234 19.6141 31.3548 19.573 31.3548H18.4946C18.4535 31.3548 18.4203 31.3234 18.4203 31.2845V30.8445C18.4203 30.8057 18.4535 30.7742 18.4946 30.7742H19.573Z" fill="black"/>\n<path d="M36.5 24.3871C36.5 20.8652 33.4726 18 29.7513 18C26.0898 18 23.1022 20.7743 23.0071 24.2184L22.8995 24.0657C22.7485 23.8515 22.4712 23.7577 22.2114 23.832C21.9506 23.9066 21.7755 24.1299 21.7755 24.3877V28.242C21.593 28.3427 21.4687 28.528 21.4687 28.7419V29.4033C21.2862 29.504 21.162 29.6893 21.162 29.9032V35.4194C21.162 35.7396 21.4371 36 21.7755 36H23.616C23.9541 36 24.2296 35.7396 24.2296 35.4194V29.9032C24.2296 29.6893 24.1053 29.504 23.9228 29.4033V28.7419C23.9228 28.528 23.7986 28.3427 23.616 28.242V27.043C24.5956 29.0619 26.6546 30.5177 29.0901 30.743C29.2878 30.7613 29.4445 30.915 29.4445 31.103V35.4194H25.7634C25.4245 35.4194 25.1498 35.6793 25.1498 36H34.3527C34.3527 35.6793 34.078 35.4194 33.7392 35.4194H30.058V31.103C30.058 30.915 30.2146 30.7613 30.4123 30.743C33.8244 30.4276 36.5 27.698 36.5 24.3871ZM22.389 24.6199C22.389 24.5503 22.4843 24.523 22.5251 24.5809L23.0025 25.2586V28.1613H22.389V24.6199ZM22.0822 28.8122C22.0822 28.7734 22.1155 28.7419 22.1565 28.7419H23.235C23.276 28.7419 23.3093 28.7734 23.3093 28.8122V29.2523C23.3093 29.2911 23.276 29.3226 23.235 29.3226H22.1565C22.1155 29.3226 22.0822 29.2911 22.0822 29.2523V28.8122ZM23.6166 35.2787C23.6167 35.3564 23.5501 35.4194 23.4681 35.4194H21.9241C21.842 35.4194 21.7755 35.3564 21.7755 35.2787V30.0438C21.7755 29.9662 21.842 29.9032 21.9241 29.9032H23.4675C23.5495 29.9032 23.6161 29.9662 23.6161 30.0438L23.6166 35.2787ZM29.7513 30.1935C26.3683 30.1935 23.616 27.5888 23.616 24.3871C23.616 21.1854 26.3683 18.5806 29.7513 18.5806C33.1342 18.5806 35.8865 21.1854 35.8865 24.3871C35.8865 27.5888 33.1342 30.1935 29.7513 30.1935Z" fill="black"/>\n<path d="M29.7213 18.4922C26.3006 18.4922 23.5178 21.1259 23.5178 24.3633C23.5178 27.6007 26.3006 30.2344 29.7213 30.2344C33.142 30.2344 35.9248 27.6007 35.9248 24.3633C35.9248 21.1259 33.142 18.4922 29.7213 18.4922ZM29.7213 29.5437C26.7031 29.5437 24.2476 27.2197 24.2476 24.3633C24.2476 21.5068 26.7027 19.1829 29.7213 19.1829C32.7399 19.1829 35.195 21.5068 35.195 24.3633C35.195 27.2197 32.7395 29.5437 29.7213 29.5437Z" fill="black"/>\n<path d="M26.2045 24.6073L26.5231 24.9963L30.9692 21.729L30.6506 21.3399L26.2045 24.6073Z" fill="black"/>\n<path d="M29.1664 20.9531L26.1924 23.1441L26.5114 23.5327L29.4855 21.3418L29.1664 20.9531Z" fill="black"/>\n<path fill-rule="evenodd" clip-rule="evenodd" d="M35.1588 13.6549C31.5968 11.3448 27.1242 10.4575 22.6779 11.558C14.1495 13.6689 8.94712 22.2938 11.058 30.8221C11.82 33.9008 13.4309 36.5461 15.5797 38.5703L35.1588 13.6549ZM37.5749 15.5774L18.0214 40.4602C21.5534 42.6844 25.9504 43.524 30.3221 42.442C38.8505 40.3311 44.0529 31.7062 41.942 23.1779C41.1983 20.1735 39.6463 17.5819 37.5749 15.5774ZM21.936 8.56089C32.1197 6.04028 42.4185 12.2524 44.9391 22.436C47.4597 32.6197 41.2476 42.9185 31.064 45.4391C20.8803 47.9597 10.5815 41.7476 8.06089 31.564C5.54028 21.3803 11.7524 11.0815 21.936 8.56089Z" fill="'+(null!==(r=null===(o=h.customTemplate)||void 0===o?void 0:o.base_color)&&void 0!==r?r:"#3FC79A")+'" stroke="white" stroke-width="1.6"/>\n</svg>',title:Ft.t("Clean your face")},{key:"light",svg:'<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px"\n\t viewBox="0 0 54 55" style="enable-background:new 0 0 54 55;">\n<path d="M31.9,24.1c-4.8,3.9-9.6,0.2-9.8,0C22,24,21.8,24,21.7,24c-0.1,0.1-0.2,0.2-0.2,0.4L23,34.7c0,0.2,0.2,0.3,0.4,0.3\n\tc0.2,0,0.3-0.2,0.3-0.4l-1.4-9.4c1.5,0.9,5.3,2.6,9.2,0.1l-1.8,9.3c0,0.2,0.1,0.4,0.3,0.4c0,0,0,0,0.1,0c0.2,0,0.3-0.1,0.4-0.3\n\tl2-10.3c0-0.2,0-0.3-0.2-0.4C32.2,24,32,24,31.9,24.1z"/>\n<g id="Layer_x0020_1">\n\t<path fill="'+(null!==(a=null===(s=h.customTemplate)||void 0===s?void 0:s.base_color)&&void 0!==a?a:"#3FC79A")+'" d="M27,49.4c-1.2,0-2.5-0.8-2.5-2.2v-0.9h-2.4c-0.4,0-0.6-0.3-0.6-0.6v-2.5c-0.7,0-1.6,0.2-1.6-0.6v-2.9\n\t\tc-0.7-4.5-2.2-6.2-3.7-7.9c-1.6-1.8-3.1-3.6-3.1-8.4c0-7.7,6.2-13.9,13.9-13.9c7.6,0,13.9,6.2,13.9,13.9c0,4.8-1.5,6.6-3.1,8.4\n\t\tc-1.5,1.7-3,3.4-3.7,7.9v2.9c0,0.8-0.9,0.6-1.6,0.6v2.5c0,0.4-0.3,0.6-0.6,0.6h-2.4v0.9C29.5,48.6,28.2,49.4,27,49.4z M21,38.9H33\n\t\tc1.6-9.2,6.7-7.2,6.7-15.7c0-7-5.7-12.7-12.7-12.7c-7,0-12.7,5.7-12.7,12.7C14.3,31.7,19.4,29.6,21,38.9z M22.1,41.8L22.1,41.8\n\t\th10.7v-1.7H21.1v1.7H22.1z M22.8,44.9h8.5v-1.9h-8.5V44.9z M25.7,46.2c0,0.9-0.2,1.9,1.3,1.9c1.4,0,1.2-1.1,1.2-1.9H25.7z"/>\n</g>\n<path fill="#000" d="M36.7,23.8c-0.4,0-0.6-0.3-0.6-0.6c0-5-4-9.1-9-9.1c-0.8,0-0.8-1.2,0-1.2c5.7,0,10.3,4.6,10.3,10.3\n\tC37.3,23.5,37,23.8,36.7,23.8z"/>\n<path fill="#000" d="M27,8.3c-0.4,0-0.6-0.3-0.6-0.6V4c0-0.8,1.2-0.8,1.2,0v3.7C27.6,8,27.3,8.3,27,8.3z"/>\n<path fill="#000" d="M35.7,10.6c-0.5,0-0.8-0.5-0.5-0.9L37,6.5c0.4-0.7,1.5-0.1,1.1,0.6l-1.8,3.2C36.1,10.5,35.9,10.6,35.7,10.6z"/>\n<path fill="#000" d="M42,17c-0.7,0-0.9-0.8-0.3-1.1l3.2-1.8c0.7-0.4,1.3,0.7,0.6,1.1l-3.2,1.8C42.2,16.9,42.1,17,42,17z"/>\n<path fill="#000" d="M18.3,10.6c-0.2,0-0.4-0.1-0.5-0.3l-1.8-3.2c-0.4-0.7,0.7-1.3,1.1-0.6l1.8,3.2C19.1,10.1,18.8,10.6,18.3,10.6z"\n\t/>\n<path fill="#000" d="M12,16.9c-0.1,0-0.2,0-0.3-0.1L8.5,15c-0.7-0.4-0.1-1.5,0.6-1.1l3.2,1.8C12.8,16.1,12.6,16.9,12,16.9z"/>\n</svg>\n',title:Ft.t("Be in the right light")},{key:"position",svg:'<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px"\n\t viewBox="0 0 54 55" style="enable-background:new 0 0 54 55;" >\n<style type="text/css">\n\t.st2{mask:url(#path-2-outside-1_5552_2676_00000124156348595949881960000006641333605475992464_);fill:none;stroke:#FFFFFF;}\n</style>\n<path id="Shape" fill="'+(null!==(l=null===(u=h.customTemplate)||void 0===u?void 0:u.base_color)&&void 0!==l?l:"#3FC79A")+'" d="M20.3,40.7c-2,0.7-8.5,0.7-8.5,4.8v1.9c0,0.4,0.3,0.6,0.6,0.6h29.4c0.4,0,0.6-0.3,0.6-0.6v-1.9\n\tc0-4.1-6.5-4.1-8.5-4.8c-1.1-0.4-2.1-1.1-3-1.9c-0.3-0.2-0.4-0.6-0.4-0.9c0-1,0.2-1.9,0.6-2.8c2.3-1.5,3.7-4.1,3.7-6.8\n\tc0.7,0,1.3-0.3,1.8-0.7c0.5-0.5,0.8-1.1,0.8-1.8v-1.9c0-1-0.6-1.9-1.4-2.3c2.1-3.2,0.7-8.7-3.4-9.1c-1.3-2.6-5.7-3.1-8.6-2.4\n\tc-4,1-6.6,4.3-7.4,9.5c-0.9,5.2,1.6,10.1-2.6,15.4c-0.2,0.2-0.2,0.5-0.1,0.7s0.4,0.4,0.6,0.3c3.5-0.2,5.2-1.6,6.1-3.7\n\tc0.7,1.1,1.6,2.1,2.7,2.8c0.4,0.9,0.6,1.9,0.6,2.8c0,0.4-0.2,0.7-0.4,0.9C22.4,39.6,21.4,40.3,20.3,40.7L20.3,40.7z M24.2,34.4\n\tc-0.3-0.6-3.5-1.6-3.5-6.5c0-0.5,0.1,0.3-0.7-3.6c-0.1-0.3-0.4-0.6-0.8-0.5c-0.3,0.1-0.6,0.4-0.5,0.8l0.6,3.1c0,0.9,0.1,1.9,0.3,2.8\n\tc-0.7,2.3-1.7,3.6-4.1,4c3.4-5.4,1.2-10.1,2-14.7c0.6-3.3,2.1-7.4,6.5-8.5c2.8-0.7,6.1,0,7.1,1.5c0.2,0.4,0.3,0.9,0.8,0.9\n\tc3.5,0,4.6,5.4,2.2,7.7c-0.2,0.2-0.2,0.4-0.2,0.6c0,0.2,0.2,0.4,0.4,0.5c0.1,0,0.2,0.1,0.4,0c0.7,0.1,1.2,0.6,1.2,1.3v1.9\n\tc0,0.7-0.6,1.3-1.3,1.3c-0.6,0-0.9-0.1-1.1,0.2c-0.2,0.2-0.2,0.5-0.2,0.7c0,4.9-3.2,5.9-3.5,6.5c-0.5,1.1-0.8,2.3-0.8,3.6\n\tc0,0.7,0.3,1.4,0.9,1.9c1,0.9,2.1,1.6,3.4,2.1c2,0.7,7.7,0.8,7.7,3.6v1.3H13.1v-1.3c0-2,2.6-2.6,5.6-3.2c1.8-0.3,3.1-0.5,5.5-2.6\n\tc0.5-0.5,0.9-1.1,0.9-1.9C25.1,36.7,24.8,35.5,24.2,34.4L24.2,34.4z"/>\n<path d="M44.3,25.1c0,10.9-7.8,19.8-17.3,19.8S9.7,36.1,9.7,25.1C9.7,14.2,17.4,5.4,27,5.4S44.3,14.2,44.3,25.1z M10.7,25.1\n\tc0,10.2,7.3,18.5,16.3,18.5s16.3-8.3,16.3-18.5C43.3,14.9,36,6.6,27,6.6S10.7,14.9,10.7,25.1z"/>\n<defs>\n\t<filter id="Adobe_OpacityMaskFilter" filterUnits="userSpaceOnUse" x="9.2" y="4.9" width="35.7" height="40.5">\n\t\t<feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/>\n\t</filter>\n</defs>\n<mask maskUnits="userSpaceOnUse" x="9.2" y="4.9" width="35.7" height="40.5" id="path-2-outside-1_5552_2676_00000124156348595949881960000006641333605475992464_">\n\t<rect x="8.7" y="4.4" fill="#FFFFFF" width="37" height="42"/>\n\t<path d="M44.3,25.1c0,10.9-7.8,19.8-17.3,19.8S9.7,36.1,9.7,25.1C9.7,14.2,17.4,5.4,27,5.4S44.3,14.2,44.3,25.1z M10.7,25.1\n\t\tc0,10.2,7.3,18.5,16.3,18.5s16.3-8.3,16.3-18.5C43.3,14.9,36,6.6,27,6.6S10.7,14.9,10.7,25.1z"/>\n</mask>\n<path class="st2" d="M44.3,25.1c0,10.9-7.8,19.8-17.3,19.8S9.7,36.1,9.7,25.1C9.7,14.2,17.4,5.4,27,5.4S44.3,14.2,44.3,25.1z\n\t M10.7,25.1c0,10.2,7.3,18.5,16.3,18.5s16.3-8.3,16.3-18.5C43.3,14.9,36,6.6,27,6.6S10.7,14.9,10.7,25.1z"/>\n</svg>\n',title:Ft.t("Be neutral face and fix position")}];h.dom.elInfo=document.createElement("div"),$t.setAttrs(h.dom.elInfo,{class:"face_age_info "+p.displayModel,style:"height: 100%;display: flex;flex-direction: column;flex: 1 1 0%;overflow: hidden auto;align-self: center;"}),"modal"===p.displayModel&&new dn(h.dom.elInfo,this.ctx,this.pv,null,h.formPages.length>1&&p.quiz?function(){h.dom.elInfo.remove(),h.activeQuiz=h.activeQuiz-1>0?h.activeQuiz-1:0,h.intro=!0,p.intro=!0,new Qi(h.dom.docIframe,c.ctx,c.pv)}:null,h.formPages.length>1&&p.quiz),h.dom.elInfo.box=document.createElement("div"),$t.setAttrs(h.dom.elInfo.box,{style:"width: 100%;"+("widget"!==p.displayModel?"margin: auto 0px;":"")}),h.dom.elInfo.boxWindow=document.createElement("div"),$t.setAttrs(h.dom.elInfo.boxWindow,{class:"info_window"}),h.dom.elInfo.boxTitle=document.createElement("div"),$t.setAttrs(h.dom.elInfo.boxTitle,{class:"title"}),h.dom.elInfo.boxTitle.innerHTML=("modal"!==p.displayModel?'<div class="goBack"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M15.56 5.15999L13.2 2.79999L0 16L13.2 29.2L15.56 26.84L4.72 16L15.56 5.15999Z" fill="black"/></svg></div>':"")+'<div class="bt"><h2>'+Ft.t("Instructions")+"</h2><p>"+Ft.t("Get Ready to Start Skin Analysis")+"</p></div>",h.dom.elInfo.boxWindow.appendChild(h.dom.elInfo.boxTitle),h.dom.elInfo.goBack=h.dom.elInfo.boxTitle.querySelector(".goBack"),h.dom.elInfo.boxItem=document.createElement("div"),$t.setAttrs(h.dom.elInfo.boxItem,{class:"items"});var f="";Xt().map(m,(function(e,t){f+='<div class="item_intro"><div class="item_main"><div class="icon">'+e.svg+'</div><div class="title">'+e.title+"</div></div></div>"})),h.dom.elInfo.boxItem.innerHTML=f,h.dom.elInfo.boxWindow.appendChild(h.dom.elInfo.boxItem),h.dom.elInfo.privacy=document.createElement("div"),$t.setAttrs(h.dom.elInfo.privacy,{class:"privacy"}),h.dom.elInfo.privacy.innerHTML='<div class="privacy_face_age"> <div class="check_box"><div class="check_box_input"><svg xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" width="30.114px" height="23.945px" viewBox="0 0 30.114 23.945" enable-background="new 0 0 30.114 23.945" xml:space="preserve" fill="currentColor" role="presentation"><path d="M26.653,0.444l-1.263,1.35L10.399,17.715l-5.586-5.471l-1.321-1.292l-2.584,2.642l1.321,1.292l6.929,6.792l1.343,1.313 l1.292-1.371l16.282-17.3l1.271-1.343L26.653,0.444L26.653,0.444z"></path></svg></div><input type="checkbox" tabindex="0" name="privacy_acept" data-testid="checkbox_privacy_id" style="display: none"></div> <div class="text">'+Ft.t("If you upload a selfie, the image will be used to provide more precise recommendations that may be of interest to you. The image is deleted after being analyzed.")+"<br /><br />"+Ft.t("See our")+' <a href="https://getfaceage.com/privacy-policy" target="_blank">'+Ft.t("Privacy Policy")+"</a> "+Ft.t("for more information")+".</div></div>",h.dom.elInfo.boxWindow.appendChild(h.dom.elInfo.privacy),h.dom.elInfo.privacy.checkBox=h.dom.elInfo.privacy.querySelector(".check_box"),h.dom.elInfo.btn=document.createElement("button"),$t.setAttrs(h.dom.elInfo.btn,{class:"disable",disable:!0}),h.dom.elInfo.btn.innerHTML=Ft.t("Get Started"),h.dom.elInfo.boxWindow.appendChild(h.dom.elInfo.btn),h.dom.elInfo.box.appendChild(h.dom.elInfo.boxWindow),h.dom.elInfo.appendChild(h.dom.elInfo.box),h.privacy&&(h.dom.elInfo.privacy.checkBox.classList.add("active"),h.dom.elInfo.btn.classList.remove("disable"),h.dom.elInfo.btn.setAttribute("disable",!1)),h.dom.elInfo.privacy.addEventListener("click",(function(e){e.target.tagName&&"A"!==e.target.tagName.toUpperCase()&&(h.dom.elInfo.privacy.checkBox.classList.contains("active")?(h.dom.elInfo.privacy.checkBox.classList.remove("active"),h.dom.elInfo.btn.classList.add("disable"),h.dom.elInfo.btn.setAttribute("disable",!0),h.privacy=!1):(h.dom.elInfo.privacy.checkBox.classList.add("active"),h.dom.elInfo.btn.classList.remove("disable"),h.dom.elInfo.btn.setAttribute("disable",!1),h.privacy=!0))})),d.appendChild(h.dom.elInfo),"modal"!==p.displayModel&&h.dom.elInfo.goBack&&(h.formPages.length>1&&p.quiz?h.dom.elInfo.goBack.addEventListener("click",(function(e){h.dom.elInfo.remove(),h.activeQuiz=h.activeQuiz-1>0?h.activeQuiz-1:0,h.intro=!0,p.intro=!0,new Qi(h.dom.docIframe,c.ctx,c.pv)})):h.dom.elInfo.goBack.remove())}},{key:"getParentAnchor",value:function(e){for(;null!==e;)if(e.tagName&&"A"!==e.tagName.toUpperCase())return e;return null}}])&&pn(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}(),fn=n(982),gn=n(135);function vn(e){return vn="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},vn(e)}function yn(){yn=function(){return t};var e,t={},n=Object.prototype,i=n.hasOwnProperty,r=Object.defineProperty||function(e,t,n){e[t]=n.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",s=o.asyncIterator||"@@asyncIterator",l=o.toStringTag||"@@toStringTag";function u(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,n){return e[t]=n}}function c(e,t,n,i){var o=t&&t.prototype instanceof v?t:v,a=Object.create(o.prototype),s=new E(i||[]);return r(a,"_invoke",{value:A(e,n,s)}),a}function d(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=c;var h="suspendedStart",p="suspendedYield",m="executing",f="completed",g={};function v(){}function y(){}function b(){}var k={};u(k,a,(function(){return this}));var w=Object.getPrototypeOf,S=w&&w(w(R([])));S&&S!==n&&i.call(S,a)&&(k=S);var C=b.prototype=v.prototype=Object.create(k);function P(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function x(e,t){function n(r,o,a,s){var l=d(e[r],e,o);if("throw"!==l.type){var u=l.arg,c=u.value;return c&&"object"==vn(c)&&i.call(c,"__await")?t.resolve(c.__await).then((function(e){n("next",e,a,s)}),(function(e){n("throw",e,a,s)})):t.resolve(c).then((function(e){u.value=e,a(u)}),(function(e){return n("throw",e,a,s)}))}s(l.arg)}var o;r(this,"_invoke",{value:function(e,i){function r(){return new t((function(t,r){n(e,i,t,r)}))}return o=o?o.then(r,r):r()}})}function A(t,n,i){var r=h;return function(o,a){if(r===m)throw new Error("Generator is already running");if(r===f){if("throw"===o)throw a;return{value:e,done:!0}}for(i.method=o,i.arg=a;;){var s=i.delegate;if(s){var l=T(s,i);if(l){if(l===g)continue;return l}}if("next"===i.method)i.sent=i._sent=i.arg;else if("throw"===i.method){if(r===h)throw r=f,i.arg;i.dispatchException(i.arg)}else"return"===i.method&&i.abrupt("return",i.arg);r=m;var u=d(t,n,i);if("normal"===u.type){if(r=i.done?f:p,u.arg===g)continue;return{value:u.arg,done:i.done}}"throw"===u.type&&(r=f,i.method="throw",i.arg=u.arg)}}}function T(t,n){var i=n.method,r=t.iterator[i];if(r===e)return n.delegate=null,"throw"===i&&t.iterator.return&&(n.method="return",n.arg=e,T(t,n),"throw"===n.method)||"return"!==i&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+i+"' method")),g;var o=d(r,t.iterator,n.arg);if("throw"===o.type)return n.method="throw",n.arg=o.arg,n.delegate=null,g;var a=o.arg;return a?a.done?(n[t.resultName]=a.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,g):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,g)}function _(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function j(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function E(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(_,this),this.reset(!0)}function R(t){if(t||""===t){var n=t[a];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,o=function n(){for(;++r<t.length;)if(i.call(t,r))return n.value=t[r],n.done=!1,n;return n.value=e,n.done=!0,n};return o.next=o}}throw new TypeError(vn(t)+" is not iterable")}return y.prototype=b,r(C,"constructor",{value:b,configurable:!0}),r(b,"constructor",{value:y,configurable:!0}),y.displayName=u(b,l,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===y||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,b):(e.__proto__=b,u(e,l,"GeneratorFunction")),e.prototype=Object.create(C),e},t.awrap=function(e){return{__await:e}},P(x.prototype),u(x.prototype,s,(function(){return this})),t.AsyncIterator=x,t.async=function(e,n,i,r,o){void 0===o&&(o=Promise);var a=new x(c(e,n,i,r),o);return t.isGeneratorFunction(n)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},P(C),u(C,l,"Generator"),u(C,a,(function(){return this})),u(C,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),n=[];for(var i in t)n.push(i);return n.reverse(),function e(){for(;n.length;){var i=n.pop();if(i in t)return e.value=i,e.done=!1,e}return e.done=!0,e}},t.values=R,E.prototype={constructor:E,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(j),!t)for(var n in this)"t"===n.charAt(0)&&i.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function r(i,r){return s.type="throw",s.arg=t,n.next=i,r&&(n.method="next",n.arg=e),!!r}for(var o=this.tryEntries.length-1;o>=0;--o){var a=this.tryEntries[o],s=a.completion;if("root"===a.tryLoc)return r("end");if(a.tryLoc<=this.prev){var l=i.call(a,"catchLoc"),u=i.call(a,"finallyLoc");if(l&&u){if(this.prev<a.catchLoc)return r(a.catchLoc,!0);if(this.prev<a.finallyLoc)return r(a.finallyLoc)}else if(l){if(this.prev<a.catchLoc)return r(a.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return r(a.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&i.call(r,"finallyLoc")&&this.prev<r.finallyLoc){var o=r;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=e,a.arg=t,o?(this.method="next",this.next=o.finallyLoc,g):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),g},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),j(n),g}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var i=n.completion;if("throw"===i.type){var r=i.arg;j(n)}return r}}throw new Error("illegal catch attempt")},delegateYield:function(t,n,i){return this.delegate={iterator:R(t),resultName:n,nextLoc:i},"next"===this.method&&(this.arg=e),g}},t}function bn(e,t,n,i,r,o,a){try{var s=e[o](a),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function kn(e){return function(){var t=this,n=arguments;return new Promise((function(i,r){var o=e.apply(t,n);function a(e){bn(o,i,r,a,s,"next",e)}function s(e){bn(o,i,r,a,s,"throw",e)}a(void 0)}))}}function wn(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,Sn(i.key),i)}}function Sn(e){var t=function(e,t){if("object"!==vn(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,"string");if("object"!==vn(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===vn(t)?t:String(t)}var Cn=function(){function e(t,n,i,r,o,a,s,l){var u,c,d,h=this,p=arguments.length>8&&void 0!==arguments[8]?arguments[8]:"video";!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),u=this,(c=Sn(c="isLoading"))in u?Object.defineProperty(u,c,{value:true,enumerable:!0,configurable:!0,writable:!0}):u[c]=true,this.srcElement=t,this.canvasElement=n,this.canvasCtx=n?n.getContext("2d"):null,this.boundingBoxElement=i,this.handleOnResults=a,this.handleLoading=s,this.handleBrightness=l,this.faceDetectionModel=new fn.FaceDetection({locateFile:function(e){return"https://cdn.jsdelivr.net/npm/@mediapipe/face_detection@0.3/".concat(e)}}),this.faceDetectionModel.setOptions({modelSelection:1,enableTracking:10,minDetectionConfidence:.5}),this.onClose=this.onClose.bind(this),this.faceDetectionModel.onResults("video"===p?this.onResultsVideo.bind(this):this.onResultsImage.bind(this)),"video"===p?(this.camera=new gn.Camera(this.srcElement,{onFrame:(d=kn(yn().mark((function e(){return yn().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,h.faceDetectionModel.send({image:h.srcElement});case 2:h.isLoading&&(h.isLoading=!0,h.handleLoading());case 3:case"end":return e.stop()}}),e)}))),function(){return d.apply(this,arguments)}),width:o,height:o}),this.camera.start()):this.handleImageFaceDetection()}var t,n,i;return t=e,n=[{key:"handleImageFaceDetection",value:(i=kn(yn().mark((function e(){return yn().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.faceDetectionModel.send({image:this.srcElement});case 2:this.isLoading&&(this.isLoading=!0,this.handleLoading&&this.handleLoading());case 3:case"end":return e.stop()}}),e,this)}))),function(){return i.apply(this,arguments)})},{key:"onResultsVideo",value:function(e){var t=this,n=e.detections;this.canvasElement&&this.onCanvas(e),this.boundingBoxElement.innerHTML="";var i=[];n.map((function(e){var n=e.boundingBox.xCenter-e.boundingBox.width/2,r={width:e.boundingBox.width,height:e.boundingBox.height,yCenter:e.boundingBox.yCenter-e.boundingBox.height/2,xCenter:n,landmarks:e.landmarks};i.push(r);var o=document.createElement("div");$t.setAttrs(o,{style:"border: 1px solid rgb(255, 213, 0); position: absolute; top: "+100*r.yCenter+"%; right: "+100*r.xCenter+"%; width: "+100*r.width+"%; height: "+100*r.height+"%; z-index: 3;"}),t.boundingBoxElement.appendChild(o)})),this.handleOnResults&&this.handleOnResults(i)}},{key:"onResultsImage",value:function(e){var t=e.detections;this.canvasElement&&this.onCanvas(e);var n=t.map((function(e){var t=e.boundingBox.xCenter-e.boundingBox.width/2;return{width:e.boundingBox.width,height:e.boundingBox.height,yCenter:e.boundingBox.yCenter-e.boundingBox.height/2,xCenter:t,landmarks:e.landmarks}}));this.handleOnResults&&this.handleOnResults(n)}},{key:"onCanvas",value:function(e){if(this.canvasCtx.save(),this.canvasCtx.clearRect(0,0,this.canvasElement.width,this.canvasElement.height),this.canvasCtx.drawImage(e.image,0,0,this.canvasElement.width,this.canvasElement.height),e.detections.length>0){var t=e.detections[0].landmarks;this.analyzeLighting(t)}this.canvasCtx.restore()}},{key:"onClose",value:function(){this.faceDetectionModel.close()}},{key:"analyzeLighting",value:function(e){var t=e[0],n=e[1],i=this.calculateAverageBrightness([t,n]);this.handleBrightness&&this.handleBrightness(i)}},{key:"calculateAverageBrightness",value:function(e){var t=this,n=0;return e.forEach((function(e){var i=Math.round(e.x*t.canvasElement.width),r=Math.round(e.y*t.canvasElement.height),o=t.canvasCtx.getImageData(i,r,1,1).data,a=(o[0]+o[1]+o[2])/3;n+=a})),n/e.length}},{key:"getBlurScore",value:function(e){var t=e.detections[0].boundingBox,n=t.xCenter*this.canvasElement.width,i=t.yCenter*this.canvasElement.height,r=t.width*this.canvasElement.width,o=t.height*this.canvasElement.height,a=this.canvasCtx.getImageData(n,i,r,o),s=this.analyzeBlur(a);console.log("Blur Score:",s),s<100?console.log("Blur detected in face"):console.log("Face is not blurry")}},{key:"analyzeBlur",value:function(e){var t=this.toGrayscale(e),n=this.computeLaplacian(t,e.width,e.height);return this.computeVariance(n)}},{key:"toGrayscale",value:function(e){for(var t=new Array(e.width*e.height).fill(0),n=e.data,i=0;i<n.length;i+=4){var r=.299*n[i]+.587*n[i+1]+.114*n[i+2];t[Math.floor(i/4)]=r}return t}},{key:"computeLaplacian",value:function(e,t,n){for(var i=new Array(t*n).fill(0),r=[[0,1,0],[1,-4,1],[0,1,0]],o=1;o<n-1;o++)for(var a=1;a<t-1;a++){for(var s=0,l=-1;l<=1;l++)for(var u=-1;u<=1;u++)s+=e[(o+l)*t+(a+u)]*r[l+1][u+1];i[o*t+a]=s}return i}},{key:"computeVariance",value:function(e){var t=e.reduce((function(e,t){return e+t}),0)/e.length;return e.reduce((function(e,n){return e+Math.pow(n-t,2)}),0)/e.length}}],n&&wn(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function Pn(e){return Pn="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},Pn(e)}function xn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function An(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,_n(i.key),i)}}function Tn(e,t,n){return(t=_n(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _n(e){var t=function(e,t){if("object"!==Pn(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,"string");if("object"!==Pn(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===Pn(t)?t:String(t)}var jn=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Tn(this,"_facingMode","user"),Tn(this,"_webcamList",[]),Tn(this,"_streamList",[]),Tn(this,"_selectedDeviceId",""),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this.snap=this.snap.bind(this),this.startStream=this.startStream.bind(this)}var t,n;return t=e,n=[{key:"facingMode",get:function(){return this._facingMode},set:function(e){this._facingMode=e}},{key:"webcamList",get:function(){return this._webcamList}},{key:"webcamCount",get:function(){return this._webcamList.length}},{key:"selectedDeviceId",get:function(){return this._selectedDeviceId}},{key:"getVideoInputs",value:function(e){var t=this;return this._webcamList=[],e.forEach((function(e){"videoinput"===e.kind&&t._webcamList.push(e)})),1==this._webcamList.length&&(this._facingMode="user"),this._webcamList}},{key:"getMediaConstraints",value:function(e){var t={};return""==this._selectedDeviceId?t.facingMode=this._facingMode:t.deviceId={exact:this._selectedDeviceId},t.width={exact:e.width},t.height={exact:e.height},{video:t,audio:!1}}},{key:"selectCamera",value:function(){var e,t=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return xn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?xn(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var i=0,r=function(){};return{s:r,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}(this._webcamList);try{for(t.s();!(e=t.n()).done;){var n=e.value;if("user"==this._facingMode&&n.label.toLowerCase().includes("front")||"enviroment"==this._facingMode&&n.label.toLowerCase().includes("back")){this._selectedDeviceId=n.deviceId;break}}}catch(e){t.e(e)}finally{t.f()}}},{key:"flip",value:function(){this._facingMode="user"==this._facingMode?"enviroment":"user",this.selectCamera()}},{key:"start",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return new Promise((function(r,o){t.stop(),navigator.mediaDevices.getUserMedia(t.getMediaConstraints(e)).then((function(n){t._streamList.push(n),t.info().then((function(n){t.selectCamera(),i?t.startStream(e).then((function(e){r(t._facingMode)})).catch((function(e){o(e)})):r(t._selectedDeviceId)})).catch((function(e){o(e)}))})).catch((function(e){n&&n(e.name),o(e)}))}))}},{key:"info",value:function(){var e=this;return new Promise((function(t,n){navigator.mediaDevices.enumerateDevices().then((function(n){e.getVideoInputs(n),t(e._webcamList)})).catch((function(e){n(e)}))}))}},{key:"startStream",value:function(e){var t=this;return new Promise((function(n,i){navigator.mediaDevices.getUserMedia(t.getMediaConstraints(e)).then((function(i){t._streamList.push(i),e.srcObject=i,"user"==t._facingMode&&(e.style.transform="scale(-1,1)");var r=e;setTimeout((function(){r.play()}),1e3),n(t._facingMode)})).catch((function(e){i(e)}))}))}},{key:"stop",value:function(){this._streamList.forEach((function(e){e.getTracks().forEach((function(e){e.stop()}))}))}},{key:"snap",value:function(e){var t=document.createElement("canvas");t.height=e.scrollHeight,t.width=e.scrollWidth;var n=t.getContext("2d");"user"===this._facingMode&&(n.translate(t.width,0),n.scale(-1,1)),n.clearRect(0,0,t.width,t.height),n.drawImage(e,0,0,t.width,t.height);var i=t.toDataURL("image/jpeg");return"data:,"===i&&(i=null),t.remove(),i}}],n&&An(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function En(e){return En="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},En(e)}function Rn(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,In(i.key),i)}}function zn(e,t,n){return(t=In(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function In(e){var t=function(e,t){if("object"!==En(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,"string");if("object"!==En(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===En(t)?t:String(t)}var Ln=function(){function e(t,n,i){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:360,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:480,a=arguments.length>5?arguments[5]:void 0,s=arguments.length>6?arguments[6]:void 0,l=arguments.length>7?arguments[7]:void 0;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),zn(this,"_facingMode","user"),zn(this,"_webcamList",[]),zn(this,"_streamList",[]),zn(this,"_selectedDeviceId",""),zn(this,"_canvasElement",null),zn(this,"loadModel",!1),zn(this,"flash",!1),zn(this,"facePosition",!1),zn(this,"lookStraight",!1),zn(this,"lighting",!1),zn(this,"fixStatus",!1),zn(this,"isCountry",0),zn(this,"ready",!1),zn(this,"logs",""),zn(this,"timeInv",void 0),zn(this,"setSnap",!1),zn(this,"image",null),zn(this,"detection",!1),zn(this,"faceDetection",void 0),this.el=t,this.gl=n,this.cnf=i,this.width=r,this.height=o,this.handleSubmit=a,this.handleBack=s,this.loading=l,this.setPosition=this.setPosition.bind(this),this.brightnessDetection=this.brightnessDetection.bind(this),this.capture=this.capture.bind(this),this.errorCameraPermission=this.errorCameraPermission.bind(this),this.updateDimension=this.updateDimension.bind(this),this.render(),this.gl.dom.elIframe.contentWindow.addEventListener("resize",this.updateDimension)}var t,n;return t=e,n=[{key:"render",value:function(){var e,t,n,i,r,o,a=this,s=this.el,l=this.gl;l.dom.elwebcam=document.createElement("div"),this.updateDimension();var u='<div style="display: flex; justify-content: center;"><div class="webcamRefBox" style="min-width: '+this.height+"px; min-height: "+this.height+"px; max-height: "+this.height+'px; display: block; position: relative;"><div class="face_detect_age"></div><video class="webcamRef" autoplay muted playsinline style="position: absolute; top: 0px; right: 0px; /*opacity: 0; visibility: hidden; z-index: 2; */ border-radius: 10px; width: auto; transform: scaleX(-1);"></video><canvas class="webcamCanvas" id="webcamCanvas" style="position: absolute; z-index: -2; top: 0px; right: 0px; width: auto; transform: scaleX(-1);"></canvas></div></div><div class="faceController"><ul><li><div class="item_ctl lighting" style="background-color: '+(null!==(e=null===(t=l.customTemplate)||void 0===t?void 0:t.position_not_accepted_status_color)&&void 0!==e?e:"rgb(239, 55, 134)")+';"><span class="title">'+Ft.t("Lighting")+'</span><span class="value">'+Ft.t("Not Good")+'</span></div></li><li><div class="item_ctl face_position" style="background-color: '+(null!==(n=null===(i=l.customTemplate)||void 0===i?void 0:i.position_not_accepted_status_color)&&void 0!==n?n:"rgb(239, 55, 134)")+';"><span class="title">'+Ft.t("Face Position")+'</span><span class="value">'+Ft.t("Not Good")+'</span></div></li><li><div class="item_ctl look_straight" style="background-color: '+(null!==(r=null===(o=l.customTemplate)||void 0===o?void 0:o.position_not_accepted_status_color)&&void 0!==r?r:"rgb(239, 55, 134)")+';"><span class="title">'+Ft.t("Look Straight")+'</span><span class="value">'+Ft.t("Not Good")+'</span></div></li></ul></div><div class="facePositionMap" id="face_position_map"></div><div class="facePosition"><svg class="svg_face_position" viewBox="0 0 '+(this.height<460?this.width+" "+this.height:"360 480")+'"><defs><ellipse class="face-ellipse" id="face-ellipse" cx="50%" cy="55%" rx="133.2" ry="153.6" style="stroke: rgb(255, 255, 255);"></ellipse><mask id="mask"><rect x="0" y="0" width="100%" height="100%" fill="#fff" fill-opacity="0.3"></rect><use xlink:href="#face-ellipse"></use></mask></defs><rect x="0" y="0" width="100%" height="100%" mask="url(#mask)"></rect><use xlink:href="#face-ellipse" fill-opacity="0" stroke="white" stroke-width="2"></use></svg><div id="assertive" class="assertive"></div></div>';l.dom.elwebcam.innerHTML=u,s.appendChild(l.dom.elwebcam),l.dom.elwebcamLoad=document.createElement("div"),l.dom.elwebcamLoad.innerHTML='<div class="loading_request"><div class="FaceCircularProgress-root FaceCircularProgress-colorPrimary FaceCircularProgress-indeterminate" role="progressbar" style="width: 40px; height: 40px;"><svg class="FaceCircularProgress-svg" viewBox="22 22 44 44"><circle class="FaceCircularProgress-circle FaceCircularProgress-circleIndeterminate" cx="44" cy="44" r="20.2" fill="none" stroke-width="3.6"></circle></svg></div></div>',l.dom.elwebcam.appendChild(l.dom.elwebcamLoad),l.dom.elwebcam.refBox=l.dom.elwebcam.getElementsByClassName("webcamRefBox")[0],l.dom.elwebcam.ref=l.dom.elwebcam.getElementsByClassName("webcamRef")[0],l.dom.elwebcam.webcamCanvas=l.dom.elwebcam.getElementsByClassName("webcamCanvas")[0],l.dom.elwebcam.faceDetact=l.dom.elwebcam.getElementsByClassName("face_detect_age")[0],l.dom.elwebcam.facePosition=l.dom.elwebcam.getElementsByClassName("face_position")[0],l.dom.elwebcam.lookStraight=l.dom.elwebcam.getElementsByClassName("look_straight")[0],l.dom.elwebcam.lighting=l.dom.elwebcam.getElementsByClassName("lighting")[0],l.dom.elwebcam.svgFacePosition=l.dom.elwebcam.getElementsByClassName("svg_face_position")[0],l.dom.elwebcam.ref.width=this.width,l.dom.elwebcam.ref.height=this.height,l.dom.elwebcam.webcamCanvas.width=l.dom.elwebcam.ref.width,l.dom.elwebcam.webcamCanvas.height=l.dom.elwebcam.ref.height;var c=this;(new jn).start(l.dom.elwebcam.ref,this.errorCameraPermission).then((function(e){c.facePosition=new Cn(l.dom.elwebcam.ref,l.dom.elwebcam.webcamCanvas,l.dom.elwebcam.faceDetact,a.width,a.height,(function(e){return c.setPosition(e)}),(function(){return c.loadingDetection()}),(function(e){return c.brightnessDetection(e)}))})).catch((function(e){new Error(e)}))}},{key:"setPosition",value:function(){var e,t,n,i,r,o,a,s,l=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],u=this.gl,c=this;if(u.intro)return!1;if(1===l.length&&!this.fixStatus){var d=u.dom.elIframe.contentDocument.getElementById("face_age_analyzer");if(d&&u.dom.elwebcam.ref){var h=d.getBoundingClientRect().width,p=d.getBoundingClientRect().height,m=u.dom.elwebcam.ref.offsetWidth,f=u.dom.elwebcam.ref.offsetHeight,g=m-h,v=l[0],y=m*(100*v.width)/100*100/h,b=f*(100*v.height)/100*100/p,k=100*v.yCenter,w=100*(m*(100*v.xCenter)/100-g/2)/h,S=100*v.landmarks[2].y,C=100*v.landmarks[2].x;Math.round(C)-Math.round(w)>y/3&&Math.round(C)-Math.round(w)<y/2.5*1.5&&Math.round(S)-Math.round(k)>b/3&&Math.round(S)-Math.round(k)<b/2.5*1.5?this.lookStraight=!0:this.lookStraight=!1;var P=!1,x=!1,A=!1;if(y>=55&&(y>85?this.logs=Ft.t("Your distance is close to the camera"):(this.logs=null,P=!0)),w>=10&&w<35&&(x=!0),k>=15&&k<75&&(A=!0),P&&x&&A)if(this.logs=null,this.facePosition=!0,this.lookStraight){if(!this.ready){this.ready=!0;var T=3;c.timeInv=setInterval((function(){c.isCountry=T,T<=1?c.setSnap||(c.setSnap=!0,clearInterval(c.timeInv),setTimeout((function(){c.flash=!0,c.capture()}),700)):T=--T}),800)}}else this.ready=!1,this.isCountry=0,clearInterval(c.timeInv);else P?(this.facePosition=!1,this.logs=Ft.t("Keep your face inside the circle"),this.ready=!1,this.isCountry=0,clearInterval(c.timeInv)):(this.facePosition=!1,this.ready=!1,this.isCountry=0,clearInterval(c.timeInv))}}if(u.dom.elwebcam.facePosition.style.backgroundColor=this.facePosition?null!==(e=null===(t=u.customTemplate)||void 0===t?void 0:t.position_accepted_status_color)&&void 0!==e?e:"rgb(8, 211, 144)":null!==(n=null===(i=u.customTemplate)||void 0===i?void 0:i.position_not_accepted_status_color)&&void 0!==n?n:"rgb(239, 55, 134)",u.dom.elwebcam.facePosition.getElementsByClassName("value")[0].innerHTML=this.facePosition?Ft.t("Good"):Ft.t("Not Good"),u.dom.elwebcam.getElementsByClassName("face-ellipse")[0]&&(u.dom.elwebcam.getElementsByClassName("face-ellipse")[0].style.stroke=this.facePosition?"rgba(255,255,255,0.32)":"#fff"),u.dom.elwebcam.lookStraight.style.backgroundColor=this.lookStraight?null!==(r=null===(o=u.customTemplate)||void 0===o?void 0:o.position_accepted_status_color)&&void 0!==r?r:"rgb(8, 211, 144)":null!==(a=null===(s=u.customTemplate)||void 0===s?void 0:s.position_not_accepted_status_color)&&void 0!==a?a:"rgb(239, 55, 134)",u.dom.elwebcam.lookStraight.getElementsByClassName("value")[0].innerHTML=this.lookStraight?Ft.t("Good"):Ft.t("Not Good"),u.dom.elwebcam.getElementsByClassName("assertive")[0]){var _=u.dom.elwebcam.getElementsByClassName("assertive")[0];l.length<=0?_.innerHTML=Ft.t("Please stand in front of the camera"):l.length>1?_.innerHTML=Ft.t("There is more than one person in the picture"):this.logs?_.innerHTML=this.logs:this.isCountry?_.innerHTML='<div class="countryPhoto">'+this.isCountry+"</div>":_.innerHTML=""}}},{key:"brightnessDetection",value:function(){var e,t,n,i,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,o=this.gl;o.dom.elwebcam.lighting.style.backgroundColor=r>50?null!==(e=null===(t=o.customTemplate)||void 0===t?void 0:t.position_accepted_status_color)&&void 0!==e?e:"rgb(8, 211, 144)":null!==(n=null===(i=o.customTemplate)||void 0===i?void 0:i.position_not_accepted_status_color)&&void 0!==n?n:"rgb(239, 55, 134)",o.dom.elwebcam.lighting.getElementsByClassName("value")[0].innerHTML=r>50?Ft.t("Good"):Ft.t("Not Good")}},{key:"capture",value:function(){var e=this,t=this.gl;if(clearInterval(this.timeInv),t.imageWebCam)return!1;if(t.intro)return!1;var n=new jn;t.imageWebCam=n.snap(t.dom.elwebcam.ref),n.stop();var i='<div><div style="display: flex; justify-content: center;"><div style="position: relative;"><img class="image_per_camera" src="'+t.imageWebCam+'" alt="" style="width: auto; height: '+this.height+"px; max-height: "+this.height+'px; position: relative;"></div></div><div class="faceActionSubmit"><button class="FaceButtonBase-root FaceIconButton-root handle-back" tabindex="0" type="button"><span class="FaceIconButton-label"><svg viewBox="0 0 24 24" fill="currentColor" style="width: 24px; height: 24px;"><path d="M12 5V1L7 6l5 5V7c3.31 0 6 2.69 6 6s-2.69 6-6 6-6-2.69-6-6H4c0 4.42 3.58 8 8 8s8-3.58 8-8-3.58-8-8-8z"></path></svg></span><span class="FaceTouchRipple-root"></span></button><button class="FaceButtonBase-root FaceIconButton-root handle-submit" tabindex="0" type="button"><span class="FaceIconButton-label"><svg viewBox="0 0 24 24" fill="currentColor" style="width: 24px; height: 24px;"><path d="M9 16.17 5.53 12.7a.9959.9959 0 0 0-1.41 0c-.39.39-.39 1.02 0 1.41l4.18 4.18c.39.39 1.02.39 1.41 0L20.29 7.71c.39-.39.39-1.02 0-1.41a.9959.9959 0 0 0-1.41 0L9 16.17z"></path></svg></span><span class="FaceTouchRipple-root"></span></button></div></div>';t.dom.elwebcam.innerHTML=i,t.dom.showUploadAction&&(t.dom.showUploadAction.style.display="none"),t.dom.showCameraAction&&(t.dom.showCameraAction.style.display="none"),t.dom.elwebcam.handleImage=t.dom.elwebcam.getElementsByClassName("handle-submit")[0],t.dom.elwebcam.handleBack=t.dom.elwebcam.getElementsByClassName("handle-back")[0],t.dom.elwebcam.imagePerCamera=t.dom.elwebcam.getElementsByClassName("image_per_camera")[0],t.dom.elwebcam.handleImage.addEventListener("click",(function(){e.handleSubmit(t.imageWebCam)})),t.dom.elwebcam.handleBack.addEventListener("click",(function(){t.imageWebCam=null,e.isCountry=0,e.ready=!1,e.setSnap=!1,e.image=null,e.logs=null,e.facePosition=!1,e.lookStraight=!1,t.dom.showUploadAction&&(t.dom.showUploadAction.style.display="block"),t.dom.showCameraAction&&(t.dom.showCameraAction.style.display="block"),e.handleBack()}))}},{key:"errorCameraPermission",value:function(e){var t=this.gl,n='<div><div class="mainDragArea"><div class="dragArea" style="height: '+this.height+'px;"><svg class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-vubbuv" focusable="false" aria-hidden="true" viewBox="0 0 24 24" data-testid="DirtyLensTwoToneIcon"><path d="M14.12 5H9.88L8.05 7H4v12h7.27c.14-.98.42-2.05-.16-2.43-.89-.59-1.27 2.06-2.8 1.35-1.39-1.12 1.05-1.29.5-3.27-.22-.79-2.28.36-2.4-1.24-.08-1 1.49-.74 1.51-1.49.03-.75-1.03-1.05-.25-1.91.22-.24.71-.26.91-.19.79.27 1.55 1.82 2.51 1.19 1.03-.66-1.88-2.35 0-2.86 1.64-.44 1.31 2.08 2.65 2.44 1.94.52 2.65-4.55 4.41-2.33 1.85 2.33-3.43 2.27-2.85 4.01.34 1.01 2.15-1.2 2.76.53.64 1.83-3.09.82-3.04 1.66.06.83 2.41.55 1.64 2.12-1.14 1.86-3-1.03-3.81.09-.39.57-.09 1.49.13 2.33H20V7h-4.05l-1.83-2zM19 17.15c0 .48-.38.86-.86.86-.47 0-.86-.38-.86-.86s.38-.86.86-.86c.47 0 .86.38.86.86z" opacity=".3"></path><path d="M20 5h-3.17L15 3H9L7.17 5H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 14h-7.02c-.22-.84-.52-1.76-.13-2.33.81-1.12 2.67 1.77 3.81-.09.77-1.57-1.58-1.29-1.64-2.12-.05-.84 3.68.17 3.04-1.66-.61-1.73-2.42.48-2.76-.53-.58-1.74 4.7-1.68 2.85-4.01-1.76-2.22-2.47 2.85-4.41 2.33-1.34-.36-1.01-2.88-2.65-2.44-1.88.51 1.03 2.2 0 2.86-.96.63-1.72-.92-2.51-1.19-.2-.07-.69-.05-.91.19-.78.86.28 1.16.25 1.91-.02.75-1.59.49-1.51 1.49.12 1.6 2.18.45 2.4 1.24.55 1.98-1.89 2.15-.5 3.27 1.53.71 1.91-1.94 2.8-1.35.58.38.3 1.45.16 2.43H4V7h4.05l1.83-2h4.24l1.83 2H20v12z"></path><path d="M17.28 17.15c0 .48.39.86.86.86.48 0 .86-.38.86-.86s-.39-.86-.86-.86c-.48 0-.86.38-.86.86z"></path></svg><div class="headerBox">'+Ft.t("Error")+'</div><div class="support">'+("NotAllowedError"===e||"PermissionDeniedError"===e?Ft.t("Camera permission denied."):Ft.t("Unable to access the camera."))+"</div></div></div></div>";t.dom.elwebcam.innerHTML=n,t.dom.elwebcam.dragArea=t.dom.elwebcam.getElementsByClassName("dragArea")[0]}},{key:"loadingDetection",value:function(){this.gl.dom.elwebcamLoad.style.display="none",this.detection=!0}},{key:"stop",value:function(){(new jn).stop()}},{key:"updateDimension",value:function(){var e=this.gl,t=this.cnf,n=$t.getSizeFrame(e,t);this.width=n.width,this.height=n.height,e.dom.elwebcam&&e.dom.elwebcam.ref&&(e.dom.elwebcam.ref.width=this.width,e.dom.elwebcam.ref.height=this.height),e.dom.elwebcam&&e.dom.elwebcam.webcamCanvas&&(e.dom.elwebcam.webcamCanvas.width=e.dom.elwebcam.ref.width,e.dom.elwebcam.webcamCanvas.height=e.dom.elwebcam.ref.height),e.dom.elwebcam&&e.dom.elwebcam.refBox&&(e.dom.elwebcam.refBox.style.minWidth=this.height+"px",e.dom.elwebcam.refBox.style.minHeight=this.height+"px",e.dom.elwebcam.refBox.style.maxHeight=this.height+"px"),e.dom.elwebcam&&e.dom.elwebcam.imagePerCamera&&(e.dom.elwebcam.imagePerCamera.style.Height=this.height+"px",e.dom.elwebcam.imagePerCamera.style.maxHeight=this.height+"px"),e.dom.elwebcam&&e.dom.elwebcam.dragArea&&(e.dom.elwebcam.dragArea.style.height=this.height+"px"),e.dom.elwebcam&&e.dom.elwebcam.svgFacePosition&&(this.height<460?$t.setAttrs(e.dom.elwebcam.svgFacePosition,{viewBox:"0 0 "+this.width+" "+this.height}):$t.setAttrs(e.dom.elwebcam.svgFacePosition,{viewBox:"0 0 360 480"}))}}],n&&Rn(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}(),On=n(129),Mn=n.n(On);function Fn(e){return Fn="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},Fn(e)}function Dn(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,(void 0,r=function(e,t){if("object"!==Fn(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,"string");if("object"!==Fn(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(i.key),"symbol"===Fn(r)?r:String(r)),i)}var r}var Bn=function(){function e(t,n,i,r,o){var a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"OK",s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:"Cancel",l=arguments.length>7&&void 0!==arguments[7]&&arguments[7];!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.gl=t,this.onAccept=n,this.onCancel=i,this.title=r,this.text=o,this.titleAccept=a,this.titleCancel=s,this.close=l,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this,t=this.gl;t.dom.elModal=document.createElement("div"),$t.setAttrs(t.dom.elModal,{class:"modal_face_age",style:"position: absolute;top: 0;left: 0;right: 0;bottom: 0;z-index: 99999999;text-align: center;background: rgb(0 0 0 / 34%);display: flex;align-items: center;"}),t.dom.elModal.box=document.createElement("div"),$t.setAttrs(t.dom.elModal.box,{style:"width: 100%;"});var n='<div class="modal_window">'+(this.title?'<div class="title">'+this.title+"</div>":"")+'<div class="body">'+this.text+'</div><div class="action"><div class="sc-1x1y2bq-2 sc-1kkf162-1 dZaMnF lbSetf">'+(this.onCancel?'<div tabindex="0" role="button" width="fullWidth" class="sc-1x1y2bq-3 bLwrg cancel">'+this.titleCancel+"</div>":"")+(this.onAccept?'<div tabindex="0" role="button" width="fullWidth" class="sc-1x1y2bq-3 bLwrg accept">'+this.titleAccept+"</div>":"")+"</div></div></div>";t.dom.elModal.box.innerHTML=n,t.dom.elModal.cancel=t.dom.elModal.box.getElementsByClassName("cancel")[0],t.dom.elModal.accept=t.dom.elModal.box.getElementsByClassName("accept")[0],t.dom.elModal.cancel&&t.dom.elModal.cancel.addEventListener("click",(function(t){e.onCancel()})),t.dom.elModal.accept&&t.dom.elModal.accept.addEventListener("click",(function(t){e.onAccept()})),t.dom.elModal.appendChild(t.dom.elModal.box),t.dom.elFace.analyzer.appendChild(t.dom.elModal)}}])&&Dn(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function Nn(e){return Nn="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},Nn(e)}function Gn(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,Wn(i.key),i)}}function Hn(e,t,n){return(t=Wn(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Wn(e){var t=function(e,t){if("object"!==Nn(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,"string");if("object"!==Nn(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===Nn(t)?t:String(t)}var Un=function(){function e(t,n,i){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:360,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:480,a=arguments.length>5?arguments[5]:void 0,s=arguments.length>6?arguments[6]:void 0,l=arguments.length>7?arguments[7]:void 0;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Hn(this,"fileUrl",null),Hn(this,"image",null),Hn(this,"logs",null),Hn(this,"hasFace",!1),this.el=t,this.gl=n,this.cnf=i,this.width=r,this.height=o,this.handleSubmit=a,this.handleBack=s,this.loading=l,this.handelDragOver=this.handelDragOver.bind(this),this.handelDragLeave=this.handelDragLeave.bind(this),this.handelDrop=this.handelDrop.bind(this),this.handelClick=this.handelClick.bind(this),this.handelChangeInput=this.handelChangeInput.bind(this),this.displayFile=this.displayFile.bind(this),this.showCropMode=this.showCropMode.bind(this),this.updateDimension=this.updateDimension.bind(this),this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this,t=this.el,n=this.gl;this.updateDimension(),n.dom.elIframe.contentWindow.addEventListener("resize",this.updateDimension),n.dom.elupload=document.createElement("div");var i='<div class="mainDragArea"><div class="dragArea" style="height: '+this.height+'px;"><svg viewBox="0 0 24 24" fill="currentColor" style="width: 40px; height: 40px;"><path d="M8 16h12V4H8v12zm3.5-4.33l1.69 2.26 2.48-3.09L19 15H9l2.5-3.33z" opacity=".3"></path><path d="M22 16V4c0-1.1-.9-2-2-2H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2zm-2 0H8V4h12v12zm-4.33-5.17l-2.48 3.09-1.69-2.25L9 15h10zM4 22h14v-2H4V6H2v14c0 1.1.9 2 2 2z"></path></svg><div class="headerBox dragTitle">'+Ft.t("Drag & Drop")+'</div><div class="headerBox">'+Ft.t("Or")+' <span class="buttonUpload">'+Ft.t("browse")+'</span></div><input type="file" class="upload_file_image" id="upload_file_image" accept="image/jpeg,image/png,image/jpg,image/webp" hidden=""><span class="support">'+Ft.t("Supports: JPEG, JPG, PNG")+"</span></div></div>";n.dom.elupload.innerHTML=i,t.appendChild(n.dom.elupload),n.dom.elupload.dragArea=n.dom.elupload.getElementsByClassName("dragArea")[0],this.dragTitle=n.dom.elupload.getElementsByClassName("dragTitle")[0],n.dom.elupload.buttonUpload=n.dom.elupload.getElementsByClassName("buttonUpload")[0],n.dom.elupload.uploadFile=n.dom.elupload.getElementsByClassName("upload_file_image")[0],n.dom.elupload.dragArea.addEventListener("dragover",this.handelDragOver),n.dom.elupload.dragArea.addEventListener("dragleave",this.handelDragLeave),n.dom.elupload.dragArea.addEventListener("drop",this.handelDrop),n.dom.elupload.buttonUpload.addEventListener("click",(function(){return e.handelClick(n.dom.elupload.uploadFile)})),n.dom.elupload.uploadFile.addEventListener("change",(function(t){return e.handelChangeInput(t)}))}},{key:"handelDragOver",value:function(e){e.preventDefault(),this.dragTitle.innerHTML=Ft.t("Release to Upload"),e.target.classList.add("active")}},{key:"handelDragLeave",value:function(e){this.dragTitle.innerHTML=Ft.t("Drag & Drop"),e.target.classList.remove("active")}},{key:"handelDrop",value:function(e){e.preventDefault();var t=e.dataTransfer.files[0];t&&this.displayFile(t),this.dragTitle.innerHTML=Ft.t("Drag & Drop"),e.target.classList.remove("active")}},{key:"handelClick",value:function(e){e&&e.click()}},{key:"handelChangeInput",value:function(e){var t=e.target.files[0];t&&this.displayFile(t)}},{key:"displayFile",value:function(e){var t=this,n=e.type,i=this.gl;if(["image/png","image/jpeg","image/jpg","image/webp"].includes(n)){var r=new FileReader;r.onload=function(){"image/webp"===n?t.compressImageFromURL(r.result,1).then((function(e){t.fileUrl=e,t.cropImage()})):(t.fileUrl=r.result,t.cropImage())},r.readAsDataURL(e)}else new Bn(i,null,(function(){i.dom.elModal.remove()}),Ft.t("Error"),Ft.t("file not supported, file name: ")+n,"",Ft.t("Re-take"))}},{key:"cropImage",value:function(){var e=this,t=this.el,n=this.gl;n.dom.elupload.remove(),n.dom.elupload=document.createElement("div"),n.dom.showUploadAction&&(n.dom.showUploadAction.style.display="none"),n.dom.showCameraAction&&(n.dom.showCameraAction.style.display="none");var i='<div class="mainDragArea"><div class="cropImg" style="height: '+this.height+'px;"><div style="display: block; width: 100%;" class="face_crop_img"></div></div></div><div class="faceAction_upload"><button class="FaceButtonBase-root FaceIconButton-root handle-back" tabindex="0" type="button"><span class="FaceIconButton-label"><svg viewBox="0 0 24 24" fill="currentColor" style="width: 24px; height: 24px;"><path d="M12 5V1L7 6l5 5V7c3.31 0 6 2.69 6 6s-2.69 6-6 6-6-2.69-6-6H4c0 4.42 3.58 8 8 8s8-3.58 8-8-3.58-8-8-8z"></path></svg></span><span class="FaceTouchRipple-root"></span></button><button class="FaceButtonBase-root FaceIconButton-root handle-submit disable" tabindex="0" type="button"><span class="FaceIconButton-label"><svg viewBox="0 0 24 24" fill="currentColor" style="width: 24px; height: 24px;"><path d="M9 16.17 5.53 12.7a.9959.9959 0 0 0-1.41 0c-.39.39-.39 1.02 0 1.41l4.18 4.18c.39.39 1.02.39 1.41 0L20.29 7.71c.39-.39.39-1.02 0-1.41a.9959.9959 0 0 0-1.41 0L9 16.17z"></path></svg></span><span class="FaceTouchRipple-root"></span></button></div>';n.dom.elupload.innerHTML=i,t.appendChild(n.dom.elupload),n.dom.eluploadLoad=document.createElement("div"),n.dom.eluploadLoad.innerHTML='<div class="loading_request"><div class="FaceCircularProgress-root FaceCircularProgress-colorPrimary FaceCircularProgress-indeterminate" role="progressbar" style="width: 40px; height: 40px;"><svg class="FaceCircularProgress-svg" viewBox="22 22 44 44"><circle class="FaceCircularProgress-circle FaceCircularProgress-circleIndeterminate" cx="44" cy="44" r="20.2" fill="none" stroke-width="3.6"></circle></svg></div></div>',n.dom.elupload.appendChild(n.dom.eluploadLoad),n.dom.elupload.faceCropImg=n.dom.elupload.getElementsByClassName("face_crop_img")[0],n.dom.elupload.cropImgBox=n.dom.elupload.getElementsByClassName("cropImg")[0],n.dom.elupload.faceCropImg.image=document.createElement("img"),$t.setAttrs(n.dom.elupload.faceCropImg.image,{id:"face_image",src:this.fileUrl}),n.dom.elupload.faceCropImg.appendChild(n.dom.elupload.faceCropImg.image);var r=this;new Cn(n.dom.elupload.faceCropImg.image,null,null,this.width,this.height,(function(e){return r.showCropMode(e)}),(function(){return r.loadingDetection()}),null,"image"),n.dom.elupload.handleImage=n.dom.elupload.getElementsByClassName("handle-submit")[0],n.dom.elupload.handleBack=n.dom.elupload.getElementsByClassName("handle-back")[0],n.dom.elupload.handleImage.addEventListener("click",(function(){if(!e.hasFace)return!1;r.handleSubmit(r.image)})),n.dom.elupload.handleBack.addEventListener("click",(function(){n.dom.elupload.innerHTML="",r.image=null,n.dom.showUploadAction&&(n.dom.showUploadAction.style.display="block"),n.dom.showCameraAction&&(n.dom.showCameraAction.style.display="block"),r.handleBack()}))}},{key:"showCropMode",value:function(e){var t=this.gl,n=t.dom.elupload.faceCropImg.image.naturalWidth,i=t.dom.elupload.faceCropImg.image.naturalHeight,r=this,o=e[0];if(!o)return new Bn(t,null,(function(){t.dom.elupload.innerHTML="",r.image=null,t.dom.showUploadAction&&(t.dom.showUploadAction.style.display="block"),t.dom.showCameraAction&&(t.dom.showCameraAction.style.display="block"),r.render(),t.dom.elModal.remove()}),Ft.t("Error"),Ft.t("The face is not visible in the picture"),"",Ft.t("Re-take")),null;t.dom.elupload.handleImage.classList.remove("disable"),this.hasFace=!0;var a=n*(100*o.width)/100,s=i*(100*o.height)/100,l=i*(100*o.yCenter)/100,u=n*(100*o.xCenter)/100,c=document.createElement("div");e.length<=0?c.innerHTML='<div style="background: rgb(255, 255, 255); border-radius: 10px; padding: 8px 15px; margin-bottom: 10px; position: absolute; top: 15px; left: 10px; right: 10px;">Please stand in front of the camera</div>':e.length>1&&(c.innerHTML='<div style="background: rgb(255, 255, 255); border-radius: 10px; padding: 8px 15px; margin-bottom: 10px; position: absolute; top: 15px; left: 10px; right: 10px;">There is more than one person in the picture, please select one person\'s picture.</div>'),t.dom.elupload.faceCropImg.appendChild(c);var d=new(Mn())(t.dom.elupload.faceCropImg.image,{aspectRatio:15/18,guides:!1,zoomable:!1,data:{x:u/1.6,y:l/2.5,width:a+2*(u-u/1.6),height:s+2*(l-l/2.5)},crop:function(e){var t=d.getCroppedCanvas({maxWidth:4096,maxHeight:4096}).toDataURL("image/jpeg");r.image=t}})}},{key:"loadingDetection",value:function(){this.gl.dom.eluploadLoad.style.display="none"}},{key:"updateDimension",value:function(){var e=this.gl,t=this.cnf,n=$t.getSizeFrame(e,t);this.width=n.width,this.height=n.height,e.dom.elupload&&e.dom.elupload.dragArea&&(e.dom.elupload.dragArea.style.height=this.height+"px"),e.dom.elupload&&e.dom.elupload.cropImgBox&&(e.dom.elupload.cropImgBox.style.height=this.height+"px")}},{key:"compressImageFromURL",value:function(e,t){return new Promise((function(n,i){var r=new Image;r.crossOrigin="Anonymous",r.src=e,r.onload=function(){var e=document.createElement("canvas"),i=e.getContext("2d");e.width=r.width,e.height=r.height,i.drawImage(r,0,0,e.width,e.height);var o=e.toDataURL("image/jpeg",t);n(o)},r.onerror=function(e){return i(e)}}))}}])&&Gn(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function qn(e){return qn="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},qn(e)}function Vn(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,(void 0,r=function(e,t){if("object"!==qn(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,"string");if("object"!==qn(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(i.key),"symbol"===qn(r)?r:String(r)),i)}var r}var Yn=function(){function e(t,n){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.ctx=n,this.w=n.w,this.gl=n.w.globals,this.pr=i,this.unitPrice=n.w.config.currency?n.w.config.currency:"$",this.routine=r,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e,t,n,i,r=this,o=this.el,a=this.w.globals,s=this.w.config,l=this.pr,u=document.createElement("div");$t.setAttrs(u,{class:"product_item_box","data-id":l.id,style:""});var c=null===(e=a.customTemplate)||void 0===e?void 0:e.product_shadow,d=null===(t=a.customTemplate)||void 0===t?void 0:t.product_border_width,h=null===(n=a.customTemplate)||void 0===n?void 0:n.product_border_color,p=null===(i=a.customTemplate)||void 0===i?void 0:i.product_padding,m="";m+=c?"box-shadow: 0 0 5px 0 #0000002b;":"",m+=p?"padding: "+p+"px;":"padding: 10px;",m+=d&&h?"border: "+d+"px solid "+h+";":h?"border: 1px solid "+h+";":"";var f=document.createElement("div");$t.setAttrs(f,{class:"product_item",style:m});var g=document.createElement("a");if($t.setAttrs(g,{class:"product_item_link","data-id":l.id,target:"_blank",href:l.url?l.url:"#"}),!this.routine&&void 0!==l.routineGroups&&l.routineGroups){var v=document.createElement("div");$t.setAttrs(v,{class:"routine_group"});var y=[];Array.isArray(l.routineGroups)?l.routineGroups.map((function(e){Object.keys(a.routineGroup).forEach((function(t){var n=a.routineGroup[t];Object.keys(n).forEach((function(t){t!==e||y.includes(Ft.t(n[t]))||y.push(Ft.t(n[t]))}))}))})):"object"===qn(l.routineGroups)&&(y=[],Object.keys(l.routineGroups).forEach((function(e){var t=l.routineGroups[e],n=a.routineGroup[e];t.map((function(e){Object.keys(n).forEach((function(t){t!==e||y.includes(Ft.t(n[t]))||y.push(Ft.t(n[t]))}))}))}))),v.innerHTML="<span>"+y.join(", ")+"</span>",g.appendChild(v)}var b=document.createElement("img");$t.setAttrs(b,{class:"product_image",src:l.image,alt:l.title}),g.appendChild(b);var k=document.createElement("h2");$t.setAttrs(k,{class:"product_title"}),k.innerText=Ft.t(l.title),g.appendChild(k);var w=document.createElement("p");if($t.setAttrs(w,{class:"product_description"}),w.innerText=Ft.t(l.description),g.appendChild(w),f.appendChild(g),void 0!==l.problems&&l.problems){var S=document.createElement("div");$t.setAttrs(S,{class:"product_problem_support swiper myProductProblem"});var C=document.createElement("div");$t.setAttrs(C,{class:"swiper-wrapper"});var P=[];l.problems.map((function(e){if(!P.includes(e)){P.push(e);var t=document.createElement("div");$t.setAttrs(t,{class:"swiper-slide"});var n=document.createElement("div");$t.setAttrs(n,{class:"product_problem_item"}),Object.keys(a.problems).forEach((function(t,i){var r=a.problems[t];t.toLowerCase()===e.toLowerCase()&&(n.innerText=Ft.t(r))})),t.appendChild(n),C.appendChild(t)}})),S.appendChild(C),f.appendChild(S)}var x=document.createElement("div");$t.setAttrs(x,{class:"product_price"});var A=document.createElement("span");$t.setAttrs(A,{class:"price"});var T=document.createElement("span");if($t.setAttrs(T,{class:"old"}),void 0!==l.offerPrice&&l.offerPrice>0&&l.offerPrice<l.price?(A.innerText=this.unitPrice+l.offerPrice,T.innerText=this.unitPrice+l.price,x.appendChild(A),x.appendChild(T),f.appendChild(x)):l.price&&(A.innerText=this.unitPrice+l.price,x.appendChild(A),f.appendChild(x)),void 0!==l.variables&&l.variables){var _=document.createElement("div");$t.setAttrs(_,{class:"product_variables"}),Object.keys(l.variables).forEach((function(e,t){var n=l.variables[e],i=document.createElement("div");$t.setAttrs(i,{class:"item"});var o=document.createElement("label");o.innerText=Ft.t(n.title),i.appendChild(o);var a=document.createElement("select");$t.setAttrs(a,{class:"product_variables_select",name:e,"data-id":l.id}),Array.isArray(n.option)&&n.option.forEach((function(e,t){var n=document.createElement("option");n.value=e.value,n.text=Ft.t(e.label),0===t&&n.setAttribute("selected",!0),a.appendChild(n)})),a.addEventListener("change",(function(e){n.option.forEach((function(t,n){t.value===e.target.value&&(t.price?void 0!==t.offerPrice&&t.offerPrice>0&&t.offerPrice<t.price?(A.innerText=r.unitPrice+t.offerPrice,T&&T.remove(),T=document.createElement("span"),$t.setAttrs(T,{class:"old"}),T.innerText=r.unitPrice+t.price,x.appendChild(T)):t.price&&(A.innerText=r.unitPrice+t.price,T&&T.remove()):void 0!==l.offerPrice&&l.offerPrice>0&&l.offerPrice<l.price?(A.innerText=r.unitPrice+l.offerPrice,T&&T.remove(),T=document.createElement("span"),$t.setAttrs(T,{class:"old"}),T.innerText=r.unitPrice+l.price,x.appendChild(T)):l.price&&(A.innerText=r.unitPrice+l.price,T&&T.remove()))}))})),i.appendChild(a),_.appendChild(i)})),f.appendChild(_)}if(s.showAddToCard){var j=document.createElement("button");$t.setAttrs(j,{class:"product_add_to_cart","data-id":l.id}),j.innerText=Ft.t("Add to cart"),j.addEventListener("click",(function(e){var t=e.target.getAttribute("data-id"),n=e.target.parentElement.querySelectorAll(".product_variables_select"),i=[];n&&n.forEach((function(e){if(e&&e.options.length>0){var t=e.getAttribute("name"),n=(e.getAttribute("data-id"),e.selectedIndex);if(-1!==n){var r=e.options[n];i[t]=r.value}}})),e.target.classList.contains("active")||(e.target.classList.add("active"),e.target.innerText=Ft.t("Add again")),a.dom.elRecommendation.checkOut&&(a.dom.elRecommendation.checkOut.style.display="block"),a.productAddToCart.find((function(e){return e.id===t}))||a.productAddToCart.push({id:t,variable:i}),a.onAddToCart&&a.onAddToCart([{id:t,variable:i}])})),f.appendChild(j)}g.addEventListener("click",(function(e){var t=r.getParentAnchor(e.target);if(null!==t){var n=t.getAttribute("data-id");a.onClickProduct&&a.onClickProduct(n)}})),u.appendChild(f),o.appendChild(u)}},{key:"getParentAnchor",value:function(e){for(;null!==e;){if(e.tagName&&"A"===e.tagName.toUpperCase())return e;e=e.parentNode}return null}}])&&Vn(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}(),Jn={format:"image/png",quality:.92,width:void 0,height:void 0,Canvas:void 0,crossOrigin:void 0};function Kn(e){return Kn="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},Kn(e)}function $n(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,(void 0,r=function(e,t){if("object"!==Kn(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,"string");if("object"!==Kn(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(i.key),"symbol"===Kn(r)?r:String(r)),i)}var r}var Zn=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.ctx=t,this.w=t.w,this.gl=t.w.globals,this.dataReport=n,this.single=i,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this.w.globals,t=(this.w.config,this.dataReport.damagePercentage?this.dataReport.damagePercentage:0);e.dom.elSkinReport=document.createElement("div"),$t.setAttrs(e.dom.elSkinReport,{class:"modal_face_age skin_report",style:"position: absolute;top: 0;left: 0;right: 0;bottom: 0;z-index: 99999999;text-align: center;background: rgb(0 0 0 / 34%);display: flex;"+(this.single?"padding-top: 60px":"align-items: center;")}),e.dom.elSkinReport.box=document.createElement("div"),$t.setAttrs(e.dom.elSkinReport.box,{style:"width: 100%;"});var n='<div class="modal_window"><div class="title">'+Ft.t("My Skin Report")+'</div><div class="close_btn"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" width="32px" height="32px"><line style="fill:none;stroke:#000000;stroke-width:2;stroke-miterlimit:10;" x1="6.5" y1="25.5" x2="25.5" y2="6.5"/><line style="fill:none;stroke:#000000;stroke-width:2;stroke-miterlimit:10;" x1="6.5" y1="6.5" x2="25.5" y2="25.5"/></svg></div><div class="body"> <div class="chart"> <canvas id="radarChart" width="100%" height="200"></canvas> </div> <div class="score"></div> <div class="problem_items"></div></div></div>';if(e.dom.elSkinReport.box.innerHTML=n,e.dom.elSkinReport.close=e.dom.elSkinReport.box.getElementsByClassName("close_btn")[0],e.dom.elSkinReport.problemItems=e.dom.elSkinReport.box.getElementsByClassName("problem_items")[0],e.dom.elSkinReport.score=e.dom.elSkinReport.box.getElementsByClassName("score")[0],e.dom.elSkinReport.appendChild(e.dom.elSkinReport.box),e.dom.elSkinReport.close.addEventListener("click",(function(t){e.dom.elSkinReport.remove()})),t){var i=t&&t>0?100-parseInt(t):99,r=i<=60?Ft.t("Bad"):i>=90?Ft.t("Good"):Ft.t("Fair");e.dom.elSkinReport.score.innerHTML="<div>"+Ft.t("Skin Health")+': <span style="margin-left: 0;display: inline-block;font-weight: bold;">'+i+'%</span></div><div class="type">'+r+"</div>"}if(this.dataReport.problems.length>0&&this.dataReport.problems.map((function(t){var n=document.createElement("div");n.innerHTML='<div class="box">\n <div class="progress_box_problem">\n <div class="progress_image">\n <img class="problem_image" src="" alt="'+Ft.t(t.title)+'">\n </div>\n <div class="progress_item">\n <div style="display: flex; justify-content: space-between; align-items: center;">\n <h2>'+Ft.t(t.title)+'</h2>\n <span class="percentage">'+parseInt(t.number)+("Percent"===t.format?"%":"")+'</span>\n </div>\n <div class="progress-bar-container">\n <div class="title_bar">\n <span class="status-text">'+Ft.t("Good")+'</span>\n <span class="status-text" style="margin-left: auto;">'+Ft.t("Bad")+'</span>\n </div>\n <div class="progress-bar">\n <div class="bar"><div></div><div></div><div></div></div>\n <div class="progress-indicator" style="left: '+("Percent"===t.format?t.number+"%":(t.number<=4?7.3*t.number:t.number>=9?7.3*t.number+60.66>=100?100:7.3*t.number+60.66:7.3*t.number+30.33)+"%")+'"></div>\n </div>\n </div>\n </div>\n </div>\n '+(t.summary?'<p class="description">'+Ft.t(t.summary)+"</p>":"")+"\n</div>";var i,r,o=t.areas&&""!==t.areas?t.areas:null,a=t.masks&&""!==t.masks?t.masks:null,s="-1"===a?o:a;s?(i=[e.imageSubmit,"data:image/svg+xml;base64,"+s],void 0===i&&(i=[]),void 0===r&&(r={}),new Promise((function(e){var t=(r=Object.assign({},Jn,r)).Canvas?new r.Canvas:window.document.createElement("canvas"),n=r.Image||window.Image,o=i.map((function(e){return new Promise((function(t,i){"Object"!==e.constructor.name&&(e={src:e});var o=new n;o.crossOrigin=r.crossOrigin,o.onerror=function(){return i(new Error("Couldn't load image"))},o.onload=function(){return t(Object.assign({},e,{img:o}))},o.src=e.src}))})),a=t.getContext("2d");e(Promise.all(o).then((function(e){var n=function(t){return r[t]||Math.max.apply(Math,e.map((function(e){return e.img[t]})))};return t.width=n("width"),t.height=n("height"),e.forEach((function(e){return a.globalAlpha=e.opacity?e.opacity:1,a.drawImage(e.img,e.x||0,e.y||0)})),r.Canvas&&"image/jpeg"===r.format?new Promise((function(e,n){t.toDataURL(r.format,{quality:r.quality,progressive:!1},(function(t,i){t?n(t):e(i)}))})):t.toDataURL(r.format,r.quality)})))}))).then((function(e){return n.querySelector(".problem_image").src=e})):n.querySelector(".problem_image").src=e.imageSubmit,e.dom.elSkinReport.problemItems.appendChild(n)})),this.dataReport.problems.length>0){var o=this.dataReport.problems.map((function(e){return"Percent"===e.format?"'"+Ft.t(e.title)+"'":null}));o=o.filter((function(e){return e}));var a=this.dataReport.problems.map((function(e){return"Percent"===e.format?parseInt(e.number):null}));a=a.filter((function(e){return e}));var s=this.dataReport.problems.map((function(e){return"Percent"===e.format?e.colors:null}));s=s.filter((function(e){return e}));var l=document.createElement("script");l.type="text/javascript",l.text="var ctx = document.getElementById('radarChart').getContext('2d');\n var radarChart = new Chart(ctx, {\n type: 'polarArea',\n data: {\n labels: ["+o.join(", ")+"],\n datasets: [{\n data: ['"+a.join("', '")+"'],\n backgroundColor: ['"+s.join("', '")+'\'],\n }]\n },\n options: {\n responsive: true,\n plugins: {\n legend: false,\n tooltip: true,\n },\n scale: {\n pointLabels :{\n wight: "10px",\n } },\n elements: {\n line: {\n tension: 0.2 }\n }\n }\n })',e.dom.elSkinReport.appendChild(l)}e.dom.docIframe.appendChild(e.dom.elSkinReport)}}])&&$n(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function Xn(e){return Xn="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},Xn(e)}function Qn(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,(void 0,r=function(e,t){if("object"!==Xn(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,"string");if("object"!==Xn(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(i.key),"symbol"===Xn(r)?r:String(r)),i)}var r}var ei=function(){function e(t,n,i){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.pv=i,this.ctx=n,this.w=n.w,this.gl=n.w.globals,this.co=n.w.config,this.dataReport=r,this.updateDimension=this.updateDimension.bind(this),this.updateSlider=this.updateSlider.bind(this),this.updateSetData=this.updateSetData.bind(this),this.render()}var t,n;return t=e,n=[{key:"render",value:function(){var e=this,t=this.el,n=this.w.globals,i=this.w.config,r="morning";n.dom.elFace.style.display="none",n.dom.elRoutines=document.createElement("div"),$t.setAttrs(n.dom.elRoutines,{class:"recommendation_products",style:"background: #fff; min-height: 100%;"}),n.dom.elRoutines.box=document.createElement("div"),$t.setAttrs(n.dom.elRoutines.box,{style:"width: 100%;"});var o='<div class="recommendation_modal_window"> <div class="header_tools"> <div class="back"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M15.56 5.15999L13.2 2.79999L0 16L13.2 29.2L15.56 26.84L4.72 16L15.56 5.15999Z" fill="black"/></svg></div> <div class="title">'+Ft.t("My Routines")+'</div> <div class="info"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4.66663 24.6533L12.6666 16.64L18 21.9733L29.3333 9.22668L27.4533 7.34668L18 17.9733L12.6666 12.64L2.66663 22.6533L4.66663 24.6533Z" fill="black"/></svg></div> <div class="refresh"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M23.5333 8.46668C21.6 6.53334 18.9467 5.33334 16 5.33334C10.1067 5.33334 5.34668 10.1067 5.34668 16C5.34668 21.8933 10.1067 26.6667 16 26.6667C20.9733 26.6667 25.12 23.2667 26.3067 18.6667H23.5333C22.44 21.7733 19.48 24 16 24C11.5867 24 8.00001 20.4133 8.00001 16C8.00001 11.5867 11.5867 8.00001 16 8.00001C18.2133 8.00001 20.1867 8.92001 21.6267 10.3733L17.3333 14.6667H26.6667V5.33334L23.5333 8.46668Z" fill="black"/></svg></div>'+("modal"===i.displayModel?' <div class="close"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M25.3333 8.54663L23.4533 6.66663L16 14.12L8.54667 6.66663L6.66667 8.54663L14.12 16L6.66667 23.4533L8.54667 25.3333L16 17.88L23.4533 25.3333L25.3333 23.4533L17.88 16L25.3333 8.54663Z" fill="black"/></svg></div>':"")+' </div> <div class="body"> <div class="main"> <div class="header_routine_box"> <div class="header_product header_routine"> <div class="title header_routine_title">'+Ft.t("Your")+" "+Ft.t("Morning")+" "+Ft.t("Routine")+'</div> <div class="action"> <button class="routine_btn morning active"><svg width="21" height="20" viewBox="0 0 21 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10.6243 12.8121C11.3617 12.8121 11.9885 12.5541 12.5046 12.0379C13.0208 11.5217 13.2789 10.895 13.2789 10.1576C13.2789 9.42022 13.0208 8.79345 12.5046 8.27729C11.9885 7.76112 11.3617 7.50304 10.6243 7.50304C9.88695 7.50304 9.26018 7.76112 8.74402 8.27729C8.22786 8.79345 7.96978 9.42022 7.96978 10.1576C7.96978 10.895 8.22786 11.5217 8.74402 12.0379C9.26018 12.5541 9.88695 12.8121 10.6243 12.8121ZM10.6243 14.5818C9.40028 14.5818 8.3569 14.1505 7.49417 13.2877C6.63145 12.425 6.20008 11.3816 6.20008 10.1576C6.20008 8.93355 6.63145 7.89016 7.49417 7.02744C8.3569 6.16471 9.40028 5.73335 10.6243 5.73335C11.8484 5.73335 12.8917 6.16471 13.7545 7.02744C14.6172 7.89016 15.0486 8.93355 15.0486 10.1576C15.0486 11.3816 14.6172 12.425 13.7545 13.2877C12.8917 14.1505 11.8484 14.5818 10.6243 14.5818ZM4.43039 11.0424H0.890991V9.27274H4.43039V11.0424ZM20.3577 11.0424H16.8183V9.27274H20.3577V11.0424ZM9.73948 3.96365V0.424255H11.5092V3.96365H9.73948ZM9.73948 19.8909V16.3515H11.5092V19.8909H9.73948ZM5.66917 6.39698L3.43493 4.25123L4.69584 2.94607L6.81948 5.15819L5.66917 6.39698ZM16.5528 17.3691L14.4071 15.1349L15.5795 13.9182L17.8137 16.064L16.5528 17.3691ZM14.3849 5.20244L16.5307 2.96819L17.8358 4.2291L15.6237 6.35274L14.3849 5.20244ZM3.41281 16.0861L5.64705 13.9403L6.86372 15.1127L4.71796 17.347L3.41281 16.0861Z" fill="#1D1B20"/></svg></button> <button class="routine_btn night"><svg width="17" height="17" viewBox="0 0 17 17" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.37575 16.1212C6.16363 16.1212 4.28332 15.347 2.73484 13.7985C1.18635 12.25 0.412109 10.3697 0.412109 8.15758C0.412109 5.94546 1.18635 4.06515 2.73484 2.51667C4.28332 0.968182 6.16363 0.193939 8.37575 0.193939C8.58221 0.193939 8.78499 0.201313 8.98408 0.21606C9.18317 0.230808 9.37858 0.252929 9.57029 0.282424C8.96565 0.710101 8.48267 1.26682 8.12135 1.95258C7.76004 2.63833 7.57938 3.37939 7.57938 4.17576C7.57938 5.50303 8.04393 6.63121 8.97302 7.5603C9.90211 8.48939 11.0303 8.95394 12.3576 8.95394C13.1687 8.95394 13.9134 8.77328 14.5918 8.41197C15.2702 8.05066 15.8232 7.56768 16.2509 6.96303C16.2804 7.15475 16.3025 7.35015 16.3173 7.54924C16.332 7.74833 16.3394 7.95111 16.3394 8.15758C16.3394 10.3697 15.5651 12.25 14.0167 13.7985C12.4682 15.347 10.5879 16.1212 8.37575 16.1212ZM8.37575 14.3515C9.67352 14.3515 10.8386 13.9939 11.8709 13.2786C12.9032 12.5634 13.6553 11.6306 14.1273 10.4803C13.8323 10.554 13.5374 10.613 13.2424 10.6573C12.9475 10.7015 12.6525 10.7236 12.3576 10.7236C10.5436 10.7236 8.99883 10.0858 7.72317 8.81015C6.44751 7.5345 5.80969 5.9897 5.80969 4.17576C5.80969 3.88081 5.83181 3.58586 5.87605 3.29091C5.92029 2.99596 5.97928 2.70101 6.05302 2.40606C4.90272 2.87798 3.96994 3.6301 3.25469 4.66242C2.53943 5.69475 2.18181 6.8598 2.18181 8.15758C2.18181 9.86828 2.78645 11.3283 3.99575 12.5376C5.20504 13.7469 6.66504 14.3515 8.37575 14.3515Z" fill="#1D1B20"/></svg></button> </div> </div> <div class="header_routine_des">'+Ft.t("Check how you can improve your skin with the proper product and routine")+'</div> </div> <div class="routine"> </div> </div> </div></div>';n.dom.elRoutines.box.innerHTML=o,n.dom.elRoutines.appendChild(n.dom.elRoutines.box),t.appendChild(n.dom.elRoutines),n.dom.elRoutines.routine=n.dom.elRoutines.box.querySelector(".routine"),n.dom.elRoutines.back=n.dom.elRoutines.box.querySelector(".back"),n.dom.elRoutines.info=n.dom.elRoutines.box.querySelector(".info"),n.dom.elRoutines.refresh=n.dom.elRoutines.box.querySelector(".refresh"),n.dom.elRoutines.close=n.dom.elRoutines.box.querySelector(".close"),n.dom.elRoutines.morning=n.dom.elRoutines.box.querySelector(".morning"),n.dom.elRoutines.night=n.dom.elRoutines.box.querySelector(".night"),n.dom.elRoutines.routineTitle=n.dom.elRoutines.box.querySelector(".header_routine_title"),n.dom.elRoutines.recommendation_modal=n.dom.elRoutines.box.querySelector(".recommendation_modal_window"),this.updateSlider(this.ctx,"morning"),n.dom.elRoutines.back.addEventListener("click",(function(t){clearInterval(n.checkStateProductLoader),n.statusRoutinDimension=!1,i.showProducts?(n.dom.elRoutines.remove(),n.statusProductDimension=!0,new ii(n.dom.docIframe,e.ctx,e.pv,e.dataReport)):(n.dom.elRoutines.remove(),n.heightElIframeOldSetStatus=!1,n.dom.elIframe.style.height=n.heightElIframeOld+"px",setTimeout((function(){n.dom.elFace.style.display="flex"}),100))})),n.dom.elRoutines.info.addEventListener("click",(function(){new Zn(e.ctx,e.dataReport,!0)})),n.dom.elRoutines.refresh.addEventListener("click",(function(){clearInterval(n.checkStateProductLoader),n.statusRoutinDimension=!1,n.dom.elRoutines.remove(),n.dom.elRecommendation&&n.dom.elRecommendation.remove(),n.heightElIframeOldSetStatus=!1,n.dom.elIframe.style.height=n.heightElIframeOld+"px",n.dom.elInfo&&n.dom.elInfo.remove(),n.dom.elForm&&n.dom.elForm.remove(),n.dom.elFace&&n.dom.elFace.remove(),n.activeQuiz=0,n.formData={},n.imageSubmit=null,n.productLoader=!1,n.productLists=[],n.productAction=[],n.productAddToCart=[],n.intro=!0,e.co.intro=!0,new Qi(n.dom.docIframe,e.ctx,e.pv),n.onRefresh&&n.onRefresh()})),n.dom.elRoutines.close&&n.dom.elRoutines.close.addEventListener("click",(function(e){clearInterval(n.checkStateProductLoader),n.dom.elModalFace.classList.remove("is-open"),n.onCloseModal&&n.onCloseModal()})),n.dom.elRoutines.morning.addEventListener("click",(function(){"morning"!==r&&(r="morning",n.dom.elRoutines.routineTitle.innerText=Ft.t("Your")+" "+Ft.t("Morning")+" "+Ft.t("Routine"),n.dom.elRoutines.morning.classList.add("active"),n.dom.elRoutines.night.classList.remove("active"),e.updateSlider(e.ctx,"morning"))})),n.dom.elRoutines.night.addEventListener("click",(function(){"night"!==r&&(r="night",n.dom.elRoutines.routineTitle.innerText=Ft.t("Your")+" "+Ft.t("Night")+" "+Ft.t("Routine"),n.dom.elRoutines.night.classList.add("active"),n.dom.elRoutines.morning.classList.remove("active"),e.updateSlider(e.ctx,"night"))})),setTimeout((function(){e.updateDimension()}),500),n.dom.elIframe.contentWindow.addEventListener("resize",this.updateDimension),n.resizeObserverRoutin=new ResizeObserver((function(){e.updateDimension()})),n.resizeObserverRoutin.observe(n.dom.elRoutines.recommendation_modal),n.onDisplayRoutines&&n.onDisplayRoutines(n.productLists)}},{key:"updateSlider",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"morning",i=(e.w,e.w.globals);e.w.config,i.productLoader?(i.dom.elRoutines.routine.innerHTML='<div class="face_age"><div class="loading_request_pr" style="background: transparent"><div class="FaceCircularProgress-root FaceCircularProgress-colorPrimary FaceCircularProgress-indeterminate" role="progressbar" style="width: 40px; height: 40px; color: var(--basic)"><svg class="FaceCircularProgress-svg" viewBox="22 22 44 44"><circle class="FaceCircularProgress-circle FaceCircularProgress-circleIndeterminate" cx="44" cy="44" r="20.2" fill="none" stroke-width="3.6"></circle></svg></div></div></div>',i.checkStateProductLoader=setInterval((function(){i.productLoader||(t.updateSetData(e,n),clearInterval(i.checkStateProductLoader))}),100)):this.updateSetData(e,n)}},{key:"updateSetData",value:function(e,t){e.w;var n=e.w.globals,i=e.w.config,r=[];n.dom.elRoutines.routine.innerHTML="",Object.keys(n.routineGroup[t]).forEach((function(o,a){var s=n.routineGroup[t][o],l="routines.content."+o,u=!0;if(i.routinesSupport.length>0&&(i.routinesSupport.includes(o)||(u=!1)),u){var c=document.createElement("div");$t.setAttrs(c,{class:"routine_item"});var d=document.createElement("div");$t.setAttrs(d,{class:"routine_title"}),d.innerHTML="<span>"+(a+1)+".</span>"+Ft.t(s),c.appendChild(d);var h=document.createElement("div");$t.setAttrs(h,{class:"routine_content"}),h.innerText=Ft.t(l),c.appendChild(h);var p=document.createElement("div");if($t.setAttrs(p,{class:"products"}),n.productLists&&(n.productLists.map((function(i){if(void 0!==i.routineGroups&&i.routineGroups){var a=[];if(Array.isArray(i.routineGroups))i.routineGroups.map((function(e){var i=n.routineGroup[t];Object.keys(i).forEach((function(t){t!==e||a.includes(t)||a.push(t)}))}));else if("object"===Xn(i.routineGroups)){a=[];var s=i.routineGroups[t];if(s){var l=n.routineGroup[t];s.map((function(e){Object.keys(l).forEach((function(t){t!==e||a.includes(t)||a.push(t)}))}))}}a.includes(o)&&(new Yn(p,e,i,!0),r.push(i.id))}})),n.productAddToCart.length>0)){var m=p.querySelectorAll(".product_item_box");m.forEach((function(e,t){var i=m[t],r=i.getAttribute("data-id");n.productAddToCart.find((function(e){return e.id===r}))&&(i.querySelector(".product_add_to_cart").classList.contains("active")||(i.querySelector(".product_add_to_cart").classList.add("active"),i.querySelector(".product_add_to_cart").innerText=Ft.t("Add again")))}))}c.appendChild(p),n.dom.elRoutines.routine.appendChild(c);var f=document.createElement("script");f.type="text/javascript",f.text="new Swiper('.myProductProblem', {\n slidesPerView: 'auto',\n spaceBetween: 6,\n });",n.dom.elRoutines.routine.appendChild(f)}}))}},{key:"updateDimension",value:function(){var e=this.w.globals;if(!e.statusRoutinDimension)return!1;"modal"!==this.co.displayModel&&(e.heightProduct=e.dom.elRoutines.recommendation_modal.scrollHeight,e.heightElIframeOldSetStatus||(e.heightElIframeOld=e.dom.elIframe.clientHeight,e.heightElIframeOldSetStatus=!0),e.dom.elIframe.style.height=e.heightProduct+"px")}}],n&&Qn(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function ti(e){return ti="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},ti(e)}function ni(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,(void 0,r=function(e,t){if("object"!==ti(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,"string");if("object"!==ti(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(i.key),"symbol"===ti(r)?r:String(r)),i)}var r}var ii=function(){function e(t,n,i){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.ctx=n,this.pv=i,this.w=n.w,this.gl=n.w.globals,this.co=n.w.config,this.dataReport=r,this.updateDimension=this.updateDimension.bind(this),this.updateSlider=this.updateSlider.bind(this),this.updateSetData=this.updateSetData.bind(this),this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this,t=this.el,n=this.w.globals,i=this.w.config;n.dom.elFace.style.display="none",n.dom.elRecommendation=document.createElement("div"),$t.setAttrs(n.dom.elRecommendation,{class:"recommendation_products",style:"background: #fff; min-height: 100%;"}),n.dom.elRecommendation.box=document.createElement("div"),$t.setAttrs(n.dom.elRecommendation.box,{style:"width: 100%;"});var r='<div class="recommendation_modal_window"> <div class="header_tools"> <div class="back"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M15.56 5.15999L13.2 2.79999L0 16L13.2 29.2L15.56 26.84L4.72 16L15.56 5.15999Z" fill="black"/></svg></div> <div class="title">'+Ft.t("Recommendation Products")+'</div> <div class="info"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4.66663 24.6533L12.6666 16.64L18 21.9733L29.3333 9.22668L27.4533 7.34668L18 17.9733L12.6666 12.64L2.66663 22.6533L4.66663 24.6533Z" fill="black"/></svg></div> <div class="refresh"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M23.5333 8.46668C21.6 6.53334 18.9467 5.33334 16 5.33334C10.1067 5.33334 5.34668 10.1067 5.34668 16C5.34668 21.8933 10.1067 26.6667 16 26.6667C20.9733 26.6667 25.12 23.2667 26.3067 18.6667H23.5333C22.44 21.7733 19.48 24 16 24C11.5867 24 8.00001 20.4133 8.00001 16C8.00001 11.5867 11.5867 8.00001 16 8.00001C18.2133 8.00001 20.1867 8.92001 21.6267 10.3733L17.3333 14.6667H26.6667V5.33334L23.5333 8.46668Z" fill="black"/></svg></div>'+("modal"===i.displayModel?' <div class="close"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M25.3333 8.54663L23.4533 6.66663L16 14.12L8.54667 6.66663L6.66667 8.54663L14.12 16L6.66667 23.4533L8.54667 25.3333L16 17.88L23.4533 25.3333L25.3333 23.4533L17.88 16L25.3333 8.54663Z" fill="black"/></svg></div>':"")+' </div> <div class="slider_header" style="padding: 15px 0 2px; background-color: #F1F3F4"></div> <div class="body"> <div class="main"> <div class="header_product_box"> <div class="header_product"> <div class="title">'+Ft.t("Products That Just Work For you")+'</div> <div class="action">'+(i.showAddToCard?' <button class="add_to_cart add_to_cart_all">'+Ft.t("Add all to cart")+"</button>":"")+(i.showRoutine?' <button class="show_routine">'+Ft.t("Routine")+"</button>":"")+' </div> </div> </div> <div class="products"> </div>'+("modal"===i.displayModel&&i.showAddToCard?' <div class="footer_box"> <button class="add_to_cart add_to_cart_all2">'+Ft.t("Add all to cart")+'</button> <button class="check_out" style="display: none">'+Ft.t("Checkout")+"</button></div>":"")+" </div> </div></div>";n.dom.elRecommendation.box.innerHTML=r,n.dom.elRecommendation.appendChild(n.dom.elRecommendation.box),t.appendChild(n.dom.elRecommendation),n.dom.elRecommendation.problems=n.dom.elRecommendation.box.querySelector(".slider_header"),n.dom.elRecommendation.products=n.dom.elRecommendation.box.querySelector(".products"),n.dom.elRecommendation.headerProduct=n.dom.elRecommendation.box.querySelector(".header_product_box"),n.dom.elRecommendation.back=n.dom.elRecommendation.box.querySelector(".back"),n.dom.elRecommendation.info=n.dom.elRecommendation.box.querySelector(".info"),n.dom.elRecommendation.refresh=n.dom.elRecommendation.box.querySelector(".refresh"),n.dom.elRecommendation.close=n.dom.elRecommendation.box.querySelector(".close"),n.dom.elRecommendation.addToCardAll=n.dom.elRecommendation.box.querySelector(".add_to_cart_all"),n.dom.elRecommendation.addToCardAll2=n.dom.elRecommendation.box.querySelector(".add_to_cart_all2"),n.dom.elRecommendation.footerBox=n.dom.elRecommendation.box.querySelector(".footer_box"),n.dom.elRecommendation.checkOut=n.dom.elRecommendation.box.querySelector(".check_out"),n.dom.elRecommendation.showRoutine=n.dom.elRecommendation.box.querySelector(".show_routine"),n.dom.elRecommendation.recommendation_modal=n.dom.elRecommendation.box.querySelector(".recommendation_modal_window"),new ai(n.dom.elRecommendation.problems,this.ctx,this.pv,this.dataReport?this.dataReport.problems:[],!0,!0,this.updateSlider),this.updateSlider(this.ctx,"all_products"),n.dom.elRecommendation.addToCardAll&&n.dom.elRecommendation.addToCardAll.addEventListener("click",(function(t){e.addToCardAll()})),n.dom.elRecommendation.addToCardAll2&&n.dom.elRecommendation.addToCardAll2.addEventListener("click",(function(t){e.addToCardAll()})),n.dom.elRecommendation.checkOut&&n.dom.elRecommendation.checkOut.addEventListener("click",(function(e){n.onCheckout&&n.onCheckout(n.productAddToCart)})),n.dom.elRecommendation.back.addEventListener("click",(function(e){clearInterval(n.checkStateProductLoader),n.statusProductDimension=!1,n.dom.elRecommendation.remove(),n.heightElIframeOldSetStatus=!1,n.dom.elIframe.style.height=n.heightElIframeOld+"px",setTimeout((function(){n.dom.elFace.style.display="flex"}),100)})),n.dom.elRecommendation.showRoutine&&n.dom.elRecommendation.showRoutine.addEventListener("click",(function(t){clearInterval(n.checkStateProductLoader),n.dom.elRecommendation.remove(),n.statusProductDimension=!1,n.statusRoutinDimension=!0,new ei(n.dom.docIframe,e.ctx,e.pv,e.dataReport)})),n.dom.elRecommendation.info.addEventListener("click",(function(){new Zn(e.ctx,e.dataReport,!0)})),n.dom.elRecommendation.refresh.addEventListener("click",(function(){clearInterval(n.checkStateProductLoader),n.statusProductDimension=!1,n.dom.elRecommendation.remove(),n.heightElIframeOldSetStatus=!1,n.dom.elIframe.style.height=n.heightElIframeOld+"px",n.dom.elInfo&&n.dom.elInfo.remove(),n.dom.elForm&&n.dom.elForm.remove(),n.dom.elFace&&n.dom.elFace.remove(),n.activeQuiz=0,n.formData={},n.productLoader=!1,n.productLists=[],n.productAction=[],n.productAddToCart=[],n.imageSubmit=null,n.intro=!0,e.co.intro=!0,new Qi(n.dom.docIframe,e.ctx,e.pv),n.onRefresh&&n.onRefresh()})),n.dom.elRecommendation.close&&n.dom.elRecommendation.close.addEventListener("click",(function(e){n.dom.elModalFace.classList.remove("is-open"),clearInterval(n.checkStateProductLoader),n.onCloseModal&&n.onCloseModal()})),setTimeout((function(){e.updateDimension()}),500),n.dom.elIframe.contentWindow.addEventListener("resize",this.updateDimension),n.resizeObserverProduct=new ResizeObserver((function(){e.updateDimension()})),n.resizeObserverProduct.observe(n.dom.elRecommendation.recommendation_modal),n.onDisplayProducts&&n.onDisplayProducts(n.productLists)}},{key:"updateSlider",value:function(e,t){var n=this,i=(e.w,e.w.globals);i.dom.elRecommendation.headerProduct.style.display="block",i.dom.elRecommendation.footerBox&&(i.dom.elRecommendation.footerBox.style.display="flex"),i.productListsDisplay=[],i.productLoader?(i.dom.elRecommendation.products.innerHTML='<div class="face_age"><div class="loading_request_pr" style="background: transparent"><div class="FaceCircularProgress-root FaceCircularProgress-colorPrimary FaceCircularProgress-indeterminate" role="progressbar" style="width: 40px; height: 40px; color: var(--basic)"><svg class="FaceCircularProgress-svg" viewBox="22 22 44 44"><circle class="FaceCircularProgress-circle FaceCircularProgress-circleIndeterminate" cx="44" cy="44" r="20.2" fill="none" stroke-width="3.6"></circle></svg></div></div></div>',i.dom.elRecommendation.headerProduct.style.display="none",i.dom.elRecommendation.footerBox&&(i.dom.elRecommendation.footerBox.style.display="none"),i.checkStateProductLoader=setInterval((function(){i.productLoader||(n.updateSetData(e,t),clearInterval(i.checkStateProductLoader))}),100)):this.updateSetData(e,t)}},{key:"updateSetData",value:function(e,t){e.w;var n=e.w.globals,i=[];if(n.dom.elRecommendation.headerProduct.style.display="block",n.dom.elRecommendation.footerBox&&(n.dom.elRecommendation.footerBox.style.display="flex"),n.productListsDisplay=[],!n.productLoader){if(n.dom.elRecommendation.products.innerHTML="",n.productLists){if(n.productLists.map((function(r){(r.problems.includes(t)||"all_products"===t)&&(new Yn(n.dom.elRecommendation.products,e,r),i.push(r.id),n.productListsDisplay.push(r))})),n.productAddToCart.length>0){var r=n.dom.elRecommendation.products.querySelectorAll(".product_item_box");r.forEach((function(e,t){var i=r[t],o=i.getAttribute("data-id");n.productAddToCart.find((function(e){return e.id===o}))&&(i.querySelector(".product_add_to_cart").classList.contains("active")||(i.querySelector(".product_add_to_cart").classList.add("active"),i.querySelector(".product_add_to_cart").innerText=Ft.t("Add again")))})),n.dom.elRecommendation.checkOut&&(n.dom.elRecommendation.checkOut.style.display="block")}var o=document.createElement("script");o.type="text/javascript",o.text="new Swiper('.myProductProblem', {\n slidesPerView: 'auto',\n spaceBetween: 6,\n });",n.dom.elRecommendation.products.appendChild(o)}if(i.length<=0){var a=document.createElement("div");$t.setAttrs(a,{class:"product_empty"}),a.innerHTML=Ft.t("There are no products to display."),n.dom.elRecommendation.products.appendChild(a),n.dom.elRecommendation.headerProduct.style.display="none",n.dom.elRecommendation.footerBox&&(n.dom.elRecommendation.footerBox.style.display="none")}}}},{key:"updateDimension",value:function(){var e=this.w.globals;if(!e.statusProductDimension)return!1;"modal"!==this.co.displayModel&&(e.heightProduct=e.dom.elRecommendation.recommendation_modal.scrollHeight,e.heightElIframeOldSetStatus||(e.heightElIframeOld=e.dom.elIframe.clientHeight,e.heightElIframeOldSetStatus=!0),e.dom.elIframe.style.height=e.heightProduct+"px")}},{key:"addToCardAll",value:function(){var e=this.w.globals,t=e.dom.elRecommendation.products.querySelectorAll(".product_item_box"),n=[];t.forEach((function(i,r){var o=t[r],a=o.getAttribute("data-id"),s=o.querySelectorAll(".product_variables_select"),l=[];s&&s.forEach((function(e){if(e&&e.options.length>0){var t=e.getAttribute("name"),n=(e.getAttribute("data-id"),e.selectedIndex);if(-1!==n){var i=e.options[n];l[t]=i.value}}})),o.querySelector(".product_add_to_cart").classList.contains("active")||(o.querySelector(".product_add_to_cart").classList.add("active"),o.querySelector(".product_add_to_cart").innerText=Ft.t("Add again"),e.dom.elRecommendation.checkOut&&(e.dom.elRecommendation.checkOut.style.display="block")),n.push({id:a,variable:l}),e.productAddToCart.find((function(e){return e.id===a}))||e.productAddToCart.push({id:a,variable:l})})),e.onAddToCart&&e.onAddToCart(n)}}])&&ni(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function ri(e){return ri="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},ri(e)}function oi(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,(void 0,r=function(e,t){if("object"!==ri(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,"string");if("object"!==ri(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(i.key),"symbol"===ri(r)?r:String(r)),i)}var r}var ai=function(){function e(t,n,i){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],a=arguments.length>5&&void 0!==arguments[5]&&arguments[5],s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.ctx=n,this.pv=i,this.w=n.w,this.gl=n.w.globals,this.co=n.w.config,this.problems=r,this.showProducts=o,this.recommendation=a,this.eventSlider=s,this.render()}var t,n;return t=e,n=[{key:"render",value:function(){var e=this,t=this.el,n=this.gl,i=(this.co,this.ctx),r='<div class="swiper '+(this.recommendation?"myProducts":"mySwiper")+'">\n <div class="swiper-wrapper">\n <div class="swiper-slide">\n <div class="point_analysis '+(this.recommendation?"all_products":"skin_info")+' active" data-key="'+(this.recommendation?"all_products":"skin_info")+'">\n <div class="count_box">\n <div class="'+(this.recommendation?"products_ico":"skin_info_ico")+'">'+(this.recommendation?'<svg xmlns="http://www.w3.org/2000/svg" id="Layer_1" data-name="Layer 1" viewBox="0 0 24 24"><path d="M23.381,9.854c-.363-.415-.85-.691-1.381-.8v-.554c0-1.953-1.258-3.602-3-4.224V1.5c0-.827-.673-1.5-1.5-1.5h-3c-.827,0-1.5,.673-1.5,1.5v1c0,.276,.224,.5,.5,.5s.5-.224,.5-.5V1.5c0-.276,.224-.5,.5-.5h3c.276,0,.5,.224,.5,.5v2.551c-.166-.019-.329-.051-.5-.051h-2c-.276,0-.5,.224-.5,.5s.224,.5,.5,.5h2c1.93,0,3.5,1.57,3.5,3.5v.5h-7v-.5c0-1.953-1.258-3.602-3-4.224V1.5c0-.827-.673-1.5-1.5-1.5h-3c-.827,0-1.5,.673-1.5,1.5v2.776c-1.742,.621-3,2.271-3,4.224v.554c-.531,.109-1.018,.385-1.381,.8-.475,.542-.692,1.263-.595,1.985l1.118,7.389c.363,2.721,2.707,4.772,5.452,4.772h10.812c2.745,0,5.089-2.052,5.451-4.764l1.121-7.406c.095-.714-.122-1.435-.597-1.977ZM6,1.5c0-.276,.224-.5,.5-.5h3c.276,0,.5,.224,.5,.5v2.551c-.166-.019-.329-.051-.5-.051h-3c-.171,0-.334,.032-.5,.051V1.5Zm.5,3.5h3c1.93,0,3.5,1.57,3.5,3.5v.5H3v-.5c0-1.93,1.57-3.5,3.5-3.5Zm16.488,6.689l-1.121,7.405c-.297,2.227-2.215,3.905-4.461,3.905H6.594c-2.246,0-4.164-1.679-4.462-3.914l-1.118-7.388c-.057-.428,.073-.86,.358-1.186,.285-.326,.696-.512,1.129-.512H21.5c.433,0,.844,.187,1.129,.512,.285,.325,.415,.757,.359,1.177Zm-10.488,.811v7c0,.276-.224,.5-.5,.5s-.5-.224-.5-.5v-7c0-.276,.224-.5,.5-.5s.5,.224,.5,.5Zm5.5,0v7c0,.276-.224,.5-.5,.5s-.5-.224-.5-.5v-7c0-.276,.224-.5,.5-.5s.5,.224,.5,.5Zm-11,0v7c0,.276-.224,.5-.5,.5s-.5-.224-.5-.5v-7c0-.276,.224-.5,.5-.5s.5,.224,.5,.5Z"/></svg>':'<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><g filter="url(#filter0_d_3028_882)"><path fill-rule="evenodd" clip-rule="evenodd" d="M2 1.82353C2 1.36871 2.36871 1 2.82353 1H7.76471C8.21953 1 8.58824 1.36871 8.58824 1.82353C8.58824 2.27835 8.21953 2.64706 7.76471 2.64706H3.64706V6.76471C3.64706 7.21953 3.27835 7.58824 2.82353 7.58824C2.36871 7.58824 2 7.21953 2 6.76471V1.82353Z" fill="white"/><path fill-rule="evenodd" clip-rule="evenodd" d="M29.1765 1C29.6312 1 30 1.36871 30 1.82353V6.76471C30 7.21953 29.6312 7.58824 29.1765 7.58824C28.7217 7.58824 28.3529 7.21953 28.3529 6.76471V2.64706H24.2353C23.7805 2.64706 23.4118 2.27835 23.4118 1.82353C23.4118 1.36871 23.7805 1 24.2353 1H29.1765Z" fill="white"/><path fill-rule="evenodd" clip-rule="evenodd" d="M2.82353 29C2.36871 29 2 28.6312 2 28.1765V23.2353C2 22.7805 2.36871 22.4118 2.82353 22.4118C3.27835 22.4118 3.64706 22.7805 3.64706 23.2353V27.3529H7.76471C8.21953 27.3529 8.58824 27.7217 8.58824 28.1765C8.58824 28.6312 8.21953 29 7.76471 29H2.82353Z" fill="white"/><path fill-rule="evenodd" clip-rule="evenodd" d="M30 28.1765C30 28.6312 29.6312 29 29.1765 29H24.2353C23.7805 29 23.4118 28.6312 23.4118 28.1765C23.4118 27.7217 23.7805 27.3529 24.2353 27.3529H28.3529V23.2353C28.3529 22.7805 28.7217 22.4118 29.1765 22.4118C29.6312 22.4118 30 22.7805 30 23.2353V28.1765Z" fill="white"/><path fill-rule="evenodd" clip-rule="evenodd" d="M8.58823 13.3529C8.58823 9.25954 11.9066 5.94118 16 5.94118C20.0934 5.94118 23.4118 9.25954 23.4118 13.3529V16.6471C23.4118 20.7405 20.0934 24.0588 16 24.0588C11.9066 24.0588 8.58823 20.7405 8.58823 16.6471V13.3529ZM16 7.58824C12.8162 7.58824 10.2353 10.1692 10.2353 13.3529V16.6471C10.2353 19.8308 12.8162 22.4118 16 22.4118C19.1838 22.4118 21.7647 19.8308 21.7647 16.6471V13.3529C21.7647 10.1692 19.1838 7.58824 16 7.58824Z" fill="white"/><path fill-rule="evenodd" clip-rule="evenodd" d="M12.7059 17.4706C13.1606 17.4706 13.5294 17.8394 13.5294 18.2941L13.5299 18.2986C13.5299 18.2986 13.5317 18.3061 13.535 18.3142C13.5416 18.3304 13.5576 18.3608 13.5935 18.4033C13.6686 18.4921 13.8096 18.6074 14.039 18.7222C14.4984 18.9518 15.1905 19.1176 16 19.1176C16.8095 19.1176 17.5016 18.9518 17.961 18.7222C18.1904 18.6074 18.3314 18.4921 18.4065 18.4033C18.4424 18.3608 18.4584 18.3304 18.465 18.3142C18.4683 18.3061 18.4701 18.2986 18.4701 18.2986L18.4706 18.2941C18.4706 17.8394 18.8394 17.4706 19.2941 17.4706C19.7489 17.4706 20.1177 17.8394 20.1177 18.2941C20.1177 19.229 19.3813 19.8535 18.6976 20.1953C17.9646 20.5618 17.0098 20.7647 16 20.7647C14.9902 20.7647 14.0354 20.5618 13.3025 20.1953C12.6188 19.8535 11.8824 19.229 11.8824 18.2941C11.8824 17.8394 12.2511 17.4706 12.7059 17.4706Z" fill="white"/></g><defs><filter id="filter0_d_3028_882" x="0" y="0" width="32" height="32" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/><feOffset dy="1"/><feGaussianBlur stdDeviation="1"/><feComposite in2="hardAlpha" operator="out"/><feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.3 0"/><feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_3028_882"/><feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_3028_882" result="shape"/></filter></defs></svg>')+'</div>\n </div>\n <div class="label_box" style="'+(this.recommendation?"color: #000; text-shadow: 0 0 #000; overflow: visible;":"")+'">'+(this.recommendation?Ft.t("All Products"):Ft.t("Skin Info"))+"</div>\n </div>\n </div>\n";this.problems.length>0&&this.problems.map((function(t){r+=' <div class="swiper-slide">\n <div class="point_analysis '+t.key+'" data-key="'+t.key+'">\n <div class="count_box" style="background-color: '+(e.recommendation?"rgb(0 0 0 / 4%)":"rgba(255, 255, 255, 0.3)")+'">\n <div class="progress-container"><svg class="MuiCircularProgress-svg" viewBox="22 22 44 44"><circle class="MuiCircularProgress-circle" cx="44" cy="44" r="20.2" fill="none" stroke-width="2.6"></circle></svg><div class="progress-label">0%</div></div>\n </div>\n <div class="label_box" style="'+(e.recommendation?"color: #000; text-shadow: 0 0 #000; overflow: visible;":"")+'">'+Ft.t(t.title)+"</div>\n </div>\n </div>\n"})),r+=' </div><div class="swiper-button-next"></div><div class="swiper-button-prev"></div>\n </div>',n.dom.elPreviewImage.imageLoad.slide=document.createElement("div"),$t.setAttrs(n.dom.elPreviewImage.imageLoad.slide,{style:"background: linear-gradient(rgba(33, 37, 41, 0), rgb(33 37 41 / 51%));"+(this.showProducts?"padding-bottom: 10px;":"position: absolute;z-index: 2;left: 0;right: 0;bottom: 0; padding-bottom: "+(n.showCopyRight?30:10)+"px;"),class:"face_slide"}),n.dom.elPreviewImage.imageLoad.slide.innerHTML=r,t.appendChild(n.dom.elPreviewImage.imageLoad.slide);var o=document.createElement("script");o.type="text/javascript",o.text="new Swiper('."+(this.recommendation?"myProducts":"mySwiper")+'\', {\n slidesPerView: \'auto\',\n spaceBetween: 12,\n navigation: {\n nextEl: ".swiper-button-next",\n prevEl: ".swiper-button-prev",\n },\n });',t.appendChild(o),this.problems.length>0&&this.problems.map((function(t){var i=n.dom.elPreviewImage.imageLoad.slide.getElementsByClassName(t.key)[0];e.setProgress(i,parseInt(t.number),t.colors,"Percent"===t.format)}));var a=t.getElementsByClassName("point_analysis");if(a)for(var s=function(){var r=a[l];r.addEventListener("click",(function(o){var a=r.getAttribute("data-key"),s=t.querySelectorAll(".point_analysis");if(s)for(var l=0;l<s.length;l++){var u=s[l];u.classList.contains("active")&&u.classList.remove("active")}if(r.classList.add("active"),e.problems.length>0&&e.problems.map((function(t){var i=n.dom.elPreviewImage.imageLoad.slide.querySelector(".point_analysis."+t.key);i&&e.setProgress(i,parseInt(t.number),t.key!==a?t.colors:"#fff","Percent"===t.format),i.querySelector(".count_box")&&(t.key===a?i.querySelector(".count_box").style.backgroundColor=t.colors:i.querySelector(".count_box").style.backgroundColor=e.recommendation?"rgb(0 0 0 / 4%)":"rgba(255, 255, 255, 0.3)")})),!e.recommendation){"skin_info"!==a&&n.dom.elPreviewImage.imageLoad.score?n.dom.elPreviewImage.imageLoad.score.style.display="none":"skin_info"===a&&n.dom.elPreviewImage.imageLoad.score&&(n.dom.elPreviewImage.imageLoad.score.style.display="block"),"skin_info"!==a&&n.dom.elPreviewImage.imageLoad.warning?n.dom.elPreviewImage.imageLoad.warning.style.display="none":"skin_info"===a&&n.dom.elPreviewImage.imageLoad.warning&&(n.dom.elPreviewImage.imageLoad.warning.style.display="block"),e.setTitle("skin_info"!==a?a:null);var c=n.dom.elPreviewImage.imageLoad.masks.querySelectorAll(".maskItem");if(c)for(var d=0;d<c.length;d++){var h=c[d],p=h.getAttribute("data-key");h.style.display="skin_info"===a||p===a?"block":"none"}}e.eventSlider&&e.eventSlider(i,a),n.onClickProblem&&n.onClickProblem(a)}))},l=0;l<a.length;l++)s()}},{key:"setProgress",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"#da005c",i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],r=e.querySelector(".MuiCircularProgress-circle"),o=e.querySelector(".progress-label"),a=i?Math.min(Math.max(t,0),100):t,s=i?"%":"",l=2*Math.PI*20.2,u=l-a/100*l;r.style.stroke=n,r.style.strokeDashoffset=u,o.textContent="".concat(a).concat(s),o.style.color=n}},{key:"setTitle",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=(this.el,this.gl);if(e){var n=[];this.problems.length>0&&this.problems.map((function(t){e===t.key&&(n=t)})),n&&(t.dom.elPreviewImage.activePoint?(t.dom.elPreviewImage.activePoint.innerHTML=Ft.t(n.title),t.dom.elPreviewImage.activePoint.style.backgroundColor=n.colors):(t.dom.elPreviewImage.activePoint=document.createElement("div"),$t.setAttrs(t.dom.elPreviewImage.activePoint,{style:"background-color: "+n.colors+";",class:"title_point_select"}),t.dom.elPreviewImage.activePoint.innerHTML=Ft.t(n.title),t.dom.elPreviewImage.imageLoad.appendChild(t.dom.elPreviewImage.activePoint)))}else{var i=t.dom.elPreviewImage.imageLoad.querySelector(".title_point_select");i&&(i.remove(),t.dom.elPreviewImage.activePoint=null)}}}],n&&oi(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function si(e){return si="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},si(e)}function li(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,(void 0,r=function(e,t){if("object"!==si(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,"string");if("object"!==si(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(i.key),"symbol"===si(r)?r:String(r)),i)}var r}var ui=function(){function e(t,n,i){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[];!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.gl=n,this.co=i,this.problems=r,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this.el,t=this.gl;this.co,t.dom.elPreviewImage.imageLoad.masks=document.createElement("div"),$t.setAttrs(t.dom.elPreviewImage.imageLoad.masks,{style:"position: absolute; top: 0; left: 0; right: 0; bottom: 0"}),t.dom.elPreviewImage.imageLoad.maskItem=[],this.problems.length>0&&this.problems.map((function(e){var n=e.areas&&""!==e.areas?e.areas:null,i=e.masks&&""!==e.masks?e.masks:null,r="-1"===i?n:i,o=i?"mask":"areas",a=i?"0.9":"0.6";r&&(t.dom.elPreviewImage.imageLoad.maskItem[e.key]=document.createElement("div"),$t.setAttrs(t.dom.elPreviewImage.imageLoad.maskItem[e.key],{class:"maskItem "+o+"_"+e.key,"data-key":e.key,style:"position: absolute; top: 0; left: 0; bottom: 0; right: 0; background-size: 100%; background-repeat: no-repeat; background-position: left top; opacity: "+a+'; background-image: url("data:image/svg+xml;base64,'+r+'");'}),t.dom.elPreviewImage.imageLoad.masks.appendChild(t.dom.elPreviewImage.imageLoad.maskItem[e.key]))})),e.appendChild(t.dom.elPreviewImage.imageLoad.masks)}}])&&li(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function ci(e){return ci="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},ci(e)}function di(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,(void 0,r=function(e,t){if("object"!==ci(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,"string");if("object"!==ci(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(i.key),"symbol"===ci(r)?r:String(r)),i)}var r}var hi=function(){function e(t,n,i){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.gl=n,this.co=i,this.damage=r,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this.el,t=this.gl,n=(this.co,this.damage&&this.damage>0?100-parseInt(this.damage):99);t.dom.elPreviewImage.imageLoad.score=document.createElement("div"),$t.setAttrs(t.dom.elPreviewImage.imageLoad.score,{style:"position: absolute;top: "+(t.imageWarning?"58":"15")+"px;left: 17px;text-align: left;background: var(--accepted_status);padding: 7px 10px;border-radius: 10px;color: #fff; font-size: 14px"}),t.dom.elPreviewImage.imageLoad.score.innerHTML="<div>"+Ft.t("Skin Health")+': <span style="margin-left: 7px;display: inline-block;font-weight: bold;">'+n+"%</span></div>",e.appendChild(t.dom.elPreviewImage.imageLoad.score)}}])&&di(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function pi(e){return pi="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},pi(e)}function mi(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,(void 0,r=function(e,t){if("object"!==pi(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,"string");if("object"!==pi(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(i.key),"symbol"===pi(r)?r:String(r)),i)}var r}var fi=function(){function e(t,n){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.ctx=n,this.w=n.w,this.gl=n.w.globals,this.validation=i,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this.el,t=this.w.globals,n=(this.w.config,this.validation.blurry),i=this.validation.eyeGlass,r=this.validation.neutralFace,o=this.validation.brightness?this.validation.brightness:0;(o<50||n||i||!r)&&(t.dom.elPreviewImage.imageLoad.warning=document.createElement("div"),$t.setAttrs(t.dom.elPreviewImage.imageLoad.warning,{style:"position: absolute;top: 15px;left: 17px;text-align: left;background: #FFC961;padding: 7px 10px;border-radius: 10px;color: #fff; font-size: 14px; cursor: pointer;"}),t.dom.elPreviewImage.imageLoad.warning.innerHTML='<div class="warning_image"><svg style="width: 16px; display: inline-block; height: 16px; vertical-align: middle;" width="16" height="20" viewBox="0 0 16 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2 13.5V8.5C2 5.43 3.64 2.86 6.5 2.18V1.5C6.5 0.67 7.17 0 8 0C8.83 0 9.5 0.67 9.5 1.5V2.18C12.37 2.86 14 5.42 14 8.5V13.5L16 15.5V16.5H9.53674e-07V15.5L2 13.5ZM7 13.5H9V11.5H7V13.5ZM7 9.5H9V5.5H7V9.5ZM8 19.5C6.9 19.5 6 18.6 6 17.5H10C10 18.6 9.11 19.5 8 19.5Z" fill="white"/></svg> '+Ft.t("Image is not suitable")+"</div>",t.imageWarning=!0,e.appendChild(t.dom.elPreviewImage.imageLoad.warning),t.dom.elPreviewImage.imageLoad.warning.addEventListener("click",(function(){var e=[];n&&e.push(Ft.t("Your image is blurry")),i&&e.push(Ft.t("You have glasses")),r||e.push(Ft.t("The face is not neutral (You may have a smile)")),o<50&&e.push(Ft.t("The light on your face is not suitable"));var a="<ol>"+e.map((function(e){return"<li>"+e+"</li>"})).join(" ")+"</ol>";new Bn(t,(function(){t.dom.elModal.remove()}),null,Ft.t("Tips for taking better selfies"),a,Ft.t("Continue"))})))}}])&&mi(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function gi(e){return gi="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},gi(e)}function vi(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,(void 0,r=function(e,t){if("object"!==gi(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,"string");if("object"!==gi(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(i.key),"symbol"===gi(r)?r:String(r)),i)}var r}var yi=function(){function e(t,n,i,r,o){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.gl=n,this.name=i.name,this.inputType=i.inputType,this.placeholder=Ft.t(i.placeholder),this.required=i.required,this.title=Ft.t(i.title),this.description=Ft.t(i.description),this.value=r,this.setValue=o,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this,t=(this.gl,document.createElement("div"));$t.setAttrs(t,{class:"el_box","data-name":this.name});var n=document.createElement("div");$t.setAttrs(n,{class:"box_title"}),n.innerHTML=(this.title?'<label class="title_el">'+this.title+"</label>":"")+(this.description?'<p class="description_el">'+this.description+"</p>":""),t.appendChild(n);var i=document.createElement("div");$t.setAttrs(i,{class:"textInput"});var r=document.createElement("input");$t.setAttrs(r,{class:"input",placeholder:this.placeholder?this.placeholder+" ":"",name:this.name,type:this.inputType,required:this.required,value:void 0!==this.value?this.value:""}),r.addEventListener("input",(function(t){e.setValue(t.target.value),e.value=t.target.value})),i.appendChild(r),t.appendChild(i),this.el.appendChild(t)}}])&&vi(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function bi(e){return bi="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},bi(e)}function ki(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,(void 0,r=function(e,t){if("object"!==bi(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,"string");if("object"!==bi(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(i.key),"symbol"===bi(r)?r:String(r)),i)}var r}var wi=function(){function e(t,n,i){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.gl=n,this.children=Ft.t(i.text),this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this.gl;e.dom.elementText=document.createElement("h3"),$t.setAttrs(e.dom.elementText,{style:"margin: 0 0 10px"}),e.dom.elementText.innerHTML=this.children,this.el.appendChild(e.dom.elementText)}}])&&ki(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function Si(e){return Si="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},Si(e)}function Ci(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,(void 0,r=function(e,t){if("object"!==Si(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,"string");if("object"!==Si(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(i.key),"symbol"===Si(r)?r:String(r)),i)}var r}var Pi=function(){function e(t,n,i,r,o){var a;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.gl=n,this.name=i.name,this.options=null!==(a=i.options)&&void 0!==a?a:[],this.required=i.required,this.title=Ft.t(i.title),this.description=Ft.t(i.description),this.value=r,this.setValue=o,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this,t=(this.gl,document.createElement("div"));$t.setAttrs(t,{class:"el_box","data-name":this.name});var n=document.createElement("div");$t.setAttrs(n,{class:"box_title"}),n.innerHTML=(this.title?'<label class="title_el">'+this.title+"</label>":"")+(this.description?'<p class="description_el">'+this.description+"</p>":""),t.appendChild(n);var i=document.createElement("div");$t.setAttrs(i,{class:"textInput"});var r=document.createElement("select");$t.setAttrs(r,{class:"select",name:this.name,required:this.required}),this.options.map((function(t){var n=document.createElement("option");n.value=t.value,n.text=Ft.t(t.label),t.value===e.value&&(n.selected=!0),r.appendChild(n)})),r.addEventListener("change",(function(t){e.setValue(t.target.value),e.value=t.target.value})),i.appendChild(r),t.appendChild(i),this.el.appendChild(t)}}])&&Ci(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function xi(e){return xi="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},xi(e)}function Ai(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,(void 0,r=function(e,t){if("object"!==xi(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,"string");if("object"!==xi(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(i.key),"symbol"===xi(r)?r:String(r)),i)}var r}var Ti=function(){function e(t,n,i,r,o){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.gl=n,this.item=i,this.valus=r,this.setData=o,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this,t=this.gl,n=this.item;switch(n.type){case"title":new wi(this.el,t,n);break;case"text":new on(this.el,t,n);break;case"checkboxInput":new tn(this.el,t,n,this.valus[n.name],(function(t){return e.setData(t,n.name)}));break;case"radioInput":new ln(this.el,t,n,this.valus[n.name],(function(t){return e.setData(t,n.name)}));break;case"textInput":new yi(this.el,t,n,this.valus[n.name],(function(t){return e.setData(t,n.name)}));break;case"selectBox":new Pi(this.el,t,n,this.valus[n.name],(function(t){return e.setData(t,n.name)}))}}}])&&Ai(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function _i(e){return _i="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},_i(e)}function ji(e){try{var t=new URL(e);return"http:"===t.protocol||"https:"===t.protocol}catch(e){return!1}}function Ei(e){return/<\/?[a-z][\s\S]*>/i.test(e)}function Ri(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=[];return e.map((function(e,i){var r,o={},a=t[e.name],s=null!==(r=e.title)&&void 0!==r?r:e.name;if(e.required&&!a)o[e.name]=s+" is required";else if(a)if("textInput"===e.type)switch(e.inputType){case"email":/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/.test(a)||(o[e.name]=s+" must be a valid Email");break;case"url":/^(https?:\/\/)?([a-zA-Z0-9-]+\.)+[a-zA-Z]{2,}(:[0-9]{1,5})?(\/.*)?$/.test(a)||(o[e.name]=s+" must be a valid HTTPS URL");break;case"number":/^\d+$/.test(a)||(o[e.name]=s+" must be a valid number");break;case"date":(function(e){if(!/^\d{4}-\d{2}-\d{2}$/.test(e))return!1;var t=new Date(e),n=t.getTime();return!(!n&&0!==n)&&t.toISOString().slice(0,10)===e})(a)||(o[e.name]=s+" must be a valid date (ex: 2024-02-18)")}else"checkboxInput"===e.type&&"object"!==_i(a)&&(o[e.name]=s+" must be an object if provided");Object.keys(o).length>0&&n.push({index:i,errors:o})})),n.length>0?n:null}function zi(e){return zi="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},zi(e)}function Ii(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,(void 0,r=function(e,t){if("object"!==zi(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,"string");if("object"!==zi(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(i.key),"symbol"===zi(r)?r:String(r)),i)}var r}var Li=function(){function e(t,n){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.ctx=t,this.w=t.w,this.gl=t.w.globals,this.onSubmit=n,this.onSkip=i,this.valus=this.gl.formData,this.required=[],this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this,t=this.w.globals,n=this.w.config;Object.keys(this.valus).length<=0&&n.defaultQuiz&&Xt().map(n.defaultQuiz,(function(t,n){e.valus[n]=t}));var i=t.formPages.find((function(e){return"imageAnalysis"===e.name}));if(i.content&&i.content.elements&&i.content.elements.length>0){t.formData||(t.formData={});var r=i.content.actions?i.content.actions.find((function(e){return"goToSkip"===e.onAction})):null,o=i.content.actions?i.content.actions.find((function(e){return"goToNext"===e.onAction})):null;new Bn(t,o?function(){if(e.required.length>0&&!e.required.find((function(t){return e.valus[t]})))return!1;i.content.elements.map((function(e){var n=t.dom.elModal.body.querySelector('.el_box[data-name="'+e.name+'"]');if(n){var i=n.querySelector(".err");i&&i.remove()}}));var n=Ri(i.content.elements,e.valus);if(n)return n.map((function(e,n){Xt().map(e.errors,(function(e,n){var i=t.dom.elModal.body.querySelector('.el_box[data-name="'+n+'"]');if(i){var r=document.createElement("p");$t.setAttrs(r,{class:"err"}),r.innerText=e,i.appendChild(r)}}))})),!1;t.dom.elModal.remove(),e.onSubmit(e.valus)}:null,r?function(){t.dom.elModal.remove(),e.onSkip&&e.onSkip()}:null,"","",o?Ft.t(o.label):"",r?Ft.t(r.label):""),t.dom.elModal.body=t.dom.elModal.box.getElementsByClassName("body")[0],t.dom.elModal.accept=t.dom.elModal.box.getElementsByClassName("accept")[0];var a=!0,s=!0;i.content.elements.map((function(n){console.log(n),n.required&&e.required.push(n.name),n.required&&!e.valus[n.name]&&(a=!1),e.valus[n.name]||(s=!1),new Ti(t.dom.elModal.body,t,n,e.valus,(function(n,i){e.valus[i]=n,t.dom.elModal.accept&&e.required.map((function(n){e.valus[n]?t.dom.elModal.accept.classList.remove("disabale"):t.dom.elModal.accept.classList.add("disabale")}))}))})),t.dom.elModal.accept&&this.required.length>0&&t.dom.elModal.accept.classList.add("disabale"),t.dom.elModal.accept&&a&&t.dom.elModal.accept.classList.contains("disabale")&&t.dom.elModal.accept.classList.remove("disabale"),s&&t.dom.elModal.accept.click()}}}])&&Ii(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function Oi(e){return Oi="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},Oi(e)}function Mi(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,(void 0,r=function(e,t){if("object"!==Oi(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,"string");if("object"!==Oi(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(i.key),"symbol"===Oi(r)?r:String(r)),i)}var r}var Fi=function(){function e(t,n,i,r){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],a=arguments.length>5?arguments[5]:void 0;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.gl=t,this.ctx=n,this.pv=i,this.w=n.w,this.gl=n.w.globals,this.co=n.w.config,this.dataReport=o,this.image=r,this.back=a,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e,t=this.gl,n=(this.co,this.dataReport),i=this,r=[],o=!1,a=!1,s=[];n.validation&&(n.validation.blurry&&!0===n.validation.blurry&&(r.push(Ft.t("your picture quality is blurry")),o=!0),n.validation.eyeGlass&&!0===n.validation.eyeGlass&&(r.push(Ft.t("be wearing glasses")),a=!0),a&&s.push(Ft.t("please remove them")),o&&s.push(Ft.t("Improve photo quality")),e=Ft.t("We noticed you might")+" "+r.join(" "+Ft.t("and")+" ")+". "+Ft.t("for better results")+", "+s.join(" "+Ft.t("and")+" ")+"."),r.length>0?new Bn(t,(function(){i.submitData(n),t.dom.elModal.remove()}),(function(){i.back(),t.dom.elModal.remove()}),Ft.t("Tips for taking better selfies"),e,Ft.t("Continue"),Ft.t("Re-take")):this.submitData(n)}},{key:"submitData",value:function(e){var t=this,n=this.gl,i=this.co,r=this.pv.getValue(),o=n.formPages.find((function(e){return"imageAnalysis"===e.name}));i.showProducts||i.showRoutine?(n.dom.elPreviewImage.actionProducts=document.createElement("div"),$t.setAttrs(n.dom.elPreviewImage.actionProducts,{class:"problems_products",style:r.copyRight&&"modal"!==i.displayModel?"position: absolute;z-index: 2;left: 10px;right: 10px;bottom: 15px;":"position: absolute;z-index: 2;left: 0;right: 0;bottom: 0;"}),new ai(n.dom.elPreviewImage.actionProducts,this.ctx,this.pv,e.problems,!0),n.dom.elPreviewImage.actionProducts.btn=document.createElement("button"),n.dom.elPreviewImage.actionProducts.btn.innerHTML=i.showProducts?Ft.t("Get recommended products!"):Ft.t("Generate routines for you"),$t.setAttrs(n.dom.elPreviewImage.actionProducts.btn,{class:"recommended_products"}),n.dom.elPreviewImage.actionProducts.appendChild(n.dom.elPreviewImage.actionProducts.btn),n.dom.elPreviewImage.imageLoad.appendChild(n.dom.elPreviewImage.actionProducts),n.dom.elPreviewImage.actionProducts.btn.addEventListener("click",(function(e){o.afterAnalysis&&o.content&&o.content.elements&&o.content.elements.length>0?new Li(t.ctx,(function(e){n.formData=e,t.showProductsPage(),n.getActiveSelections&&n.getActiveSelections(e)}),(function(){t.showProductsPage(),n.getActiveSelections&&n.getActiveSelections(n.formData)})):t.showProductsPage()}))):new ai(n.dom.elPreviewImage.imageLoad,this.ctx,this.pv,e.problems),new ui(n.dom.elPreviewImage.boxrelative,n,this.co,e.problems),new fi(n.dom.elPreviewImage.imageLoad,this.ctx,e.validation),e.damagePercentage&&new hi(n.dom.elPreviewImage.imageLoad,n,this.co,e.damagePercentage);var a='<button class="FaceButtonBase-root FaceIconButton-root FaceInfoMode infoRepetition" style="'+("modal"===i.displayModel?"top: 10px;":"")+'" tabindex="0" type="button"><span class="FaceIconButton-label"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3.5 18.49L9.5 12.48L13.5 16.48L22 6.92001L20.59 5.51001L13.5 13.48L9.5 9.48001L2 16.99L3.5 18.49Z" fill="#6B7280"/></svg></span><span class="FaceTouchRipple-root"></span></button>';if(n.dom.elPreviewImage.backico=document.createElement("div"),n.dom.elPreviewImage.backico.innerHTML='<button class="FaceButtonBase-root FaceIconButton-root FaceChangeBackMode backRepetition" tabindex="0" type="button"><span class="FaceIconButton-label"><svg viewBox="0 0 24 24" fill="currentColor" style="width: 24px; height: 24px;"><path d="M12 5V1L7 6l5 5V7c3.31 0 6 2.69 6 6s-2.69 6-6 6-6-2.69-6-6H4c0 4.42 3.58 8 8 8s8-3.58 8-8-3.58-8-8-8z"></path></svg></span><span class="FaceTouchRipple-root"></span></button>',n.dom.elPreviewImage.infoico=document.createElement("div"),n.dom.elPreviewImage.infoico.innerHTML=a,"modal"!==i.displayModel&&n.dom.elPreviewImage.appendChild(n.dom.elPreviewImage.backico),n.dom.elPreviewImage.appendChild(n.dom.elPreviewImage.infoico),n.dom.elPreviewImage.backico&&n.dom.elPreviewImage.backico.addEventListener("click",(function(){t.back(),n.onRefresh&&n.onRefresh()})),n.dom.elPreviewImage.infoico.addEventListener("click",(function(){new Zn(t.ctx,t.dataReport)})),n.imageSubmit=this.image,n.getAdvisorData&&n.getAdvisorData(e.problems),(!i.showProducts||!i.showRoutine)&&o.afterAnalysis&&o.content&&o.content.elements&&o.content.elements.length>0&&setTimeout((function(){new Li(t.ctx,(function(e){n.formData=e,n.getActiveSelections&&n.getActiveSelections(e)}),(function(){n.getActiveSelections&&n.getActiveSelections(n.formData)}))}),5e3),n.onload){var s={points:{},image:this.image};e.problems.map((function(e){var t=e.key;switch(e.key){case"acne":t="acnes";break;case"darkCircle":t="dark_circle";break;case"deepWrinkles":t="deep_wrinkles";break;case"eyeBag":t="eye_bag";break;case"eyeWrinkles":t="eye_wrinkles";break;case"fineWrinkles":t="wrinkles"}s[t]=parseInt(e.number)})),n.onload(s)}}},{key:"showProductsPage",value:function(){this.co.showProducts?(this.gl.statusProductDimension=!0,new ii(this.gl.dom.docIframe,this.ctx,this.pv,this.dataReport)):this.co.showRoutine&&(this.gl.statusRoutinDimension=!0,new ei(this.gl.dom.docIframe,this.ctx,this.pv,this.dataReport))}}])&&Mi(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function Di(e){return Di="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},Di(e)}function Bi(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,Gi(i.key),i)}}function Ni(e,t,n){return(t=Gi(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Gi(e){var t=function(e,t){if("object"!==Di(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,"string");if("object"!==Di(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===Di(t)?t:String(t)}var Hi=function(){function e(t,n,i,r,o,a,s,l){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Ni(this,"dataReport",null),Ni(this,"wrinklesPoint",null),Ni(this,"eyeWrinklesPoint",null),Ni(this,"darkCirclePoint",null),Ni(this,"pigmentPoint",null),Ni(this,"deepWrinklesPoint",null),Ni(this,"eyeBagPoint",null),this.el=t,this.ctx=n,this.pv=i,this.w=n.w,this.gl=n.w.globals,this.co=n.w.config,this.image=r,this.width=o,this.height=a,this.back=s,this.onSet=l,this.valus={},this.required=[],this.submitData=this.submitData.bind(this),this.updateDimension=this.updateDimension.bind(this),this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this,t=this.gl;this.updateDimension(),t.dom.elIframe.contentWindow.addEventListener("resize",this.updateDimension),t.dom.elPreviewImage=document.createElement("div"),$t.setAttrs(t.dom.elPreviewImage,{class:"imageSubmit"}),t.dom.elPreviewImage.imageLoad=document.createElement("div"),$t.setAttrs(t.dom.elPreviewImage.imageLoad,{class:"imageLoad",style:"max-height: "+this.height+"px"}),t.dom.elPreviewImage.fix=document.createElement("div"),$t.setAttrs(t.dom.elPreviewImage.fix,{style:"display: flex; justify-content: center;"}),t.dom.elPreviewImage.boxrelative=document.createElement("div"),$t.setAttrs(t.dom.elPreviewImage.boxrelative,{style:"position: relative; background: #000;"}),t.dom.elPreviewImage.fix.appendChild(t.dom.elPreviewImage.boxrelative),t.dom.elPreviewImage.imageLoad.appendChild(t.dom.elPreviewImage.fix),t.dom.elPreviewImage.appendChild(t.dom.elPreviewImage.imageLoad),this.el.appendChild(t.dom.elPreviewImage),this.resizeBase64Img(this.image).then((function(t){e.image=t,fetch(e.image).then((function(e){return e.blob()})).then((function(t){if(t.size<=1e3)return e.errorSkinAnalyze(Ft.t("The input image is not suitable")),!1;e.showUserData()}))})).catch((function(){return e.errorSkinAnalyze(Ft.t("The input image is not suitable")),!1}))}},{key:"showUserData",value:function(){var e=this,t=this.gl,n=t.formPages.find((function(e){return"imageAnalysis"===e.name}));if(!n.afterAnalysis&&n.content&&n.content.elements&&n.content.elements.length>0){t.formData||(t.formData={});var i='<div style="position: relative"><img class="image_face_preview" src="'+this.image+'" style="width: auto; height: '+this.height+"px; max-height: "+this.height+'px; position: relative;"></div>';t.dom.elPreviewImage.preview=document.createElement("div"),t.dom.elPreviewImage.preview.innerHTML=i,t.dom.elPreviewImage.boxrelative.appendChild(t.dom.elPreviewImage.preview),new Li(this.ctx,(function(n){t.formData=n,e.showPreview(),e.submitSkinAnalyze(e.image),t.getActiveSelections&&t.getActiveSelections(n)}),(function(){e.showPreview(),e.submitSkinAnalyze(e.image),t.getActiveSelections&&t.getActiveSelections(t.formData)}))}else this.showPreview(),this.submitSkinAnalyze(this.image)}},{key:"showPreview",value:function(){var e=this.gl;e.dom.elPreviewImage.boxrelative.innerHTML="";var t='<div style="position: relative"><div class="loader_preview_image"><div class="face_loader_text"><ul class="content__container__list"><li class="content__container__list__item">'+Ft.t("Sending Facial Data...")+'</li><li class="content__container__list__item">'+Ft.t("Scanning Face...")+'</li><li class="content__container__list__item">'+Ft.t("Analyzing Facial Attributes...")+'</li><li class="content__container__list__item">'+Ft.t("AI Crafting Report..")+'</li></ul></div><div class="bounding_box" style="display: none"><div class="face_loader face_loader-2"><div class="loader-circles"></div><div class="loader-diamond"></div><div class="loader-groove"></div></div></div></div><img class="image_face_preview" src="'+this.image+'" style="width: auto; height: '+this.height+"px; max-height: "+this.height+'px; position: relative;"></div>';e.dom.elPreviewImage.preview=document.createElement("div"),e.dom.elPreviewImage.preview.innerHTML=t,e.dom.elPreviewImage.boxrelative.appendChild(e.dom.elPreviewImage.preview),e.dom.elPreviewImage.preview.image=e.dom.elPreviewImage.preview.getElementsByClassName("image_face_preview")[0],e.dom.elPreviewImage.preview.boundingBox=e.dom.elPreviewImage.preview.getElementsByClassName("bounding_box")[0];var n=this;new Cn(e.dom.elPreviewImage.preview.image,null,null,this.width,this.height,(function(e){return n.showCropMode(e)}),(function(){return n.loadingDetection()}),null,"image")}},{key:"showCropMode",value:function(e){var t=this.gl,n=e[0];if(!n)return null;$t.setAttrs(t.dom.elPreviewImage.preview.boundingBox,{style:"position: absolute; top: "+100*n.yCenter+"%; left: "+100*n.xCenter+"%; width: "+100*n.width+"%; height: "+100*n.height+"%; z-index: 99999999; display: block"})}},{key:"loadingDetection",value:function(){this.gl}},{key:"submitSkinAnalyze",value:function(e){var t=this,n=this.gl,i=this.co;return new Promise((function(r,o){var a=t;fetch(e).then((function(e){return e.blob()})).then((function(e){var r;if(e.size<=1e3)return t.errorSkinAnalyze(Ft.t("The input image is not suitable")),!1;var o=new File([e],Math.random()+".jpeg",{type:"image/jpeg"}),s=new FormData;s.append("file",o),n.formData&&s.append("form",JSON.stringify(n.formData)),i.problems.length>0&&s.append("problem",i.problems.join(",")),s.append("faceageId",n.faceageId),null===(r=Ze.request("POST","skinanalyze",s,{"Content-Type":"multipart/form-data"}))||void 0===r||r.then((function(e){e.data.message?(a.onSet&&a.onSet(!1),console.error(e.data.message)):e.data.data.problems?(n.skinAnalyzeData=e.data.data,a.onSet&&a.onSet(!0),a.submitData(e.data.data)):(a.onSet&&a.onSet(!1),console.error("There is a problem processing your image from our service side."))})).catch((function(e){a.onSet&&a.onSet(!1);var n=[];if(e.response&&e.response.data.message&&422===e.response.status)if(e.response.data.errors){var i=e.response.data.errors;Object.keys(i).forEach((function(e){i[e][0]?n.push(i[e][0]):n.push(i[e])}))}else n.push(e.response.data.message);else n.push(e.message);t.errorSkinAnalyze(n.join(", "))}))}))}))}},{key:"submitData",value:function(e){var t=this.gl;t.dom.elPreviewImage.boxrelative.innerHTML="",t.dom.elPreviewImage.finalImage=document.createElement("img"),$t.setAttrs(t.dom.elPreviewImage.finalImage,{id:"face_age_analyzer_image_server",class:"face_age_analyzer_image_server",src:this.image,style:"width: auto; height: "+this.height+"px; max-height: "+this.height+"px; position: relative; opacity: 0.95"}),t.dom.elPreviewImage.boxrelative.appendChild(t.dom.elPreviewImage.finalImage),this.dataReport=e,new Fi(t,this.ctx,this.pv,this.image,e,this.back)}},{key:"errorSkinAnalyze",value:function(e){var t=this,n=this.gl;n.dom.elPreviewImage.boxrelative.innerHTML="";var i='<div style="position: relative"><img class="image_face_preview" src="'+this.image+'" style="width: auto; height: '+this.height+"px; max-height: "+this.height+'px; position: relative;"></div>';n.dom.elPreviewImage.preview=document.createElement("div"),n.dom.elPreviewImage.preview.innerHTML=i,n.dom.elPreviewImage.boxrelative.appendChild(n.dom.elPreviewImage.preview),new Bn(n,null,(function(){t.back()}),Ft.t("Error"),e,"",Ft.t("Re-take"))}},{key:"updateDimension",value:function(){var e=this.gl,t=this.co,n=$t.getSizeFrame(e,t);this.width=n.width,this.height=n.height,e.dom.elPreviewImage&&e.dom.elPreviewImage.finalImage&&(e.dom.elPreviewImage.finalImage.style.height=this.height+"px",e.dom.elPreviewImage.finalImage.style.maxHeight=this.height+"px"),e.dom.elPreviewImage&&e.dom.elPreviewImage.preview.image&&(e.dom.elPreviewImage.preview.image.style.height=this.height+"px",e.dom.elPreviewImage.preview.image.style.maxHeight=this.height+"px")}},{key:"resizeBase64Img",value:function(e,t){return new Promise((function(t,n){var i=new Image;i.src=e,i.onload=function(){var n=i.width,r=i.height;if(n>1e3){var o=r/n;r=(n=1e3)*o;var a=document.createElement("canvas");a.width=n,a.height=r,a.getContext("2d").drawImage(i,0,0,n,r);var s=a.toDataURL("image/jpeg",.9);t(s)}else t(e)},i.onerror=function(e){n("Error loading convert image:",e)}}))}}])&&Bi(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function Wi(e){return Wi="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},Wi(e)}function Ui(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,(void 0,r=function(e,t){if("object"!==Wi(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,"string");if("object"!==Wi(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(i.key),"symbol"===Wi(r)?r:String(r)),i)}var r}var qi=function(){function e(t){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.show=n,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){if(!this.show)return null;var e=document.createElement("div");$t.setAttrs(e,{style:"position: absolute; bottom: 5px; left: 0px; right: 0px; text-align: center; font-size: 10px; color: #ffffffa8; z-index: 999999999;text-shadow: 0px 1px 0px #00000075;"}),e.innerHTML=Ft.t("Powered by")+' <a href="https://getfaceage.com/" target="_blank" style="color: #ffffffa8; text-decoration: none">Face Age</a>',this.el.appendChild(e)}}])&&Ui(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function Vi(e){return Vi="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},Vi(e)}function Yi(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,Ki(i.key),i)}}function Ji(e,t,n){return(t=Ki(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ki(e){var t=function(e,t){if("object"!==Vi(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,"string");if("object"!==Vi(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===Vi(t)?t:String(t)}var $i=function(){function e(t,n,i){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Ji(this,"loading",!1),Ji(this,"width",360),Ji(this,"height",480),this.ctx=n,this.pv=i,this.w=n.w,this.el=t,this.onSet=r,this.updateDimension=this.updateDimension.bind(this),this.handleSubmit=this.handleSubmit.bind(this),this.handleBack=this.handleBack.bind(this),this.restart=this.restart.bind(this),this.callBack=this.callBack.bind(this),this.getCurrentDimension=this.getCurrentDimension.bind(this),this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this,t=this.w.globals,n=this.w.config;this.screenSize=this.getCurrentDimension(),this.updateDimension(),t.dom.elIframe.contentWindow.addEventListener("resize",this.updateDimension),t.dom.elFace=document.createElement("div"),$t.setAttrs(t.dom.elFace,{id:"analyzer_box",class:"face_age",style:"position: relative; display: flex; align-items: center; height: 100%; "}),t.stepShow="upload",t.dom.elFace.analyzer=document.createElement("div"),$t.setAttrs(t.dom.elFace.analyzer,{id:"face_age_analyzer",class:"talosFaceSkin",style:"width: "+this.width+"px; height: "+this.height+"px; background-color: #fff"}),this.showAnalyzer(t,n),"modal"===n.displayModel?(new dn(t.dom.elFace,this.ctx,this.pv,null,(function(){t.dom.elFace.remove(),"preview"===t.stepShow||(t.intro=!0,n.intro=!0),new Qi(t.dom.docIframe,e.ctx,e.pv)})),$t.setAttrs(t.dom.elFace,{style:"height: 100%;display: flex;flex-direction: column;flex: 1 1 0%;overflow: hidden auto;align-self: center;"}),t.dom.elFaceModal=document.createElement("div"),$t.setAttrs(t.dom.elFaceModal,{class:"face_age_mo_main",style:"position: relative; display: flex; align-items: center; height: 100%; "}),t.dom.elFaceModal.appendChild(t.dom.elFace.analyzer),t.dom.elFace.appendChild(t.dom.elFaceModal)):t.dom.elFace.appendChild(t.dom.elFace.analyzer),this.el.appendChild(t.dom.elFace)}},{key:"showAnalyzer",value:function(e,t){e.dom.elFace.analyzer.innerHTML="",!t.showCamera||e.activeInput&&"camera"!==e.activeInput?this.showUpload(e.dom.elFace.analyzer,e,t):this.showWebCam(e.dom.elFace.analyzer,e,t)}},{key:"showWebCam",value:function(e,t,n){var i=this;if(t.dom.webcamShow=new Ln(e,t,n,this.width,this.height,this.handleSubmit,this.handleBack,this.loading),n.showUpload){t.dom.showUploadAction=document.createElement("div"),$t.setAttrs(t.dom.showUploadAction,{class:"faceAction"});var r="modal"!==n.displayModel?'<button class="FaceButtonBase-root FaceBackMode FaceIconButton-root" tabindex="0" type="button"><span class="FaceIconButton-label"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M20 11H7.83L13.42 5.41L12 4L4 12L12 20L13.41 18.59L7.83 13H20V11Z" fill="#6B7280"/></svg></span><span class="FaceTouchRipple-root"></span></button>':"";t.dom.showUploadAction.innerHTML=r+'<button class="FaceButtonBase-root FaceChangeMode FaceIconButton-root" tabindex="0" type="button"><span class="FaceIconButton-label"><svg viewBox="0 0 24 24" fill="currentColor" style="width: 24px; height: 24px;"><path d="M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4.86 8.86-3 3.87L9 13.14 6 17h12l-3.86-5.14z"></path></svg></span><span class="FaceTouchRipple-root"></span></button>',e.appendChild(t.dom.showUploadAction);var o=e.querySelector(".FaceChangeMode"),a=e.querySelector(".FaceBackMode");o.addEventListener("click",(function(){e.innerHTML="",t.imageWebCam=null,t.activeInput="upload",i.showAnalyzer(t,n)})),a&&a.addEventListener("click",(function(){e.innerHTML="",t.imageWebCam=null,t.skinAnalyzeData=[],t.dom.elFace.remove(),t.intro=!0,n.intro=!0,new Qi(t.dom.docIframe,i.ctx,i.pv)}))}}},{key:"showUpload",value:function(e,t,n){var i=this;if(new Un(e,t,n,this.width,this.height,this.handleSubmit,this.handleBack,this.loading),n.showCamera){t.dom.showCameraAction=document.createElement("div"),$t.setAttrs(t.dom.showCameraAction,{class:"faceAction"});var r="modal"===n.displayModel||n.showUpload?"":'<button class="FaceButtonBase-root FaceBackMode FaceIconButton-root" tabindex="0" type="button"><span class="FaceIconButton-label"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M20 11H7.83L13.42 5.41L12 4L4 12L12 20L13.41 18.59L7.83 13H20V11Z" fill="#6B7280"/></svg></span><span class="FaceTouchRipple-root"></span></button>';t.dom.showCameraAction.innerHTML=r+'<button class="FaceButtonBase-root FaceChangeWebcamMode FaceIconButton-root" tabindex="0" type="button"><span class="FaceIconButton-label"><svg viewBox="0 0 24 24" fill="currentColor" style="width: 24px; height: 24px;"><path d="M20 4h-3.17L15 2H9L7.17 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 14H4V6h4.05l1.83-2h4.24l1.83 2H20v12zM12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zm0 8c-1.65 0-3-1.35-3-3s1.35-3 3-3 3 1.35 3 3-1.35 3-3 3z"></path></svg></span><span class="FaceTouchRipple-root"></span></button>',e.appendChild(t.dom.showCameraAction);var o=e.querySelector(".FaceChangeWebcamMode"),a=e.querySelector(".FaceBackMode");o.addEventListener("click",(function(){e.innerHTML="",t.activeInput="camera",i.showAnalyzer(t,n)})),a&&a.addEventListener("click",(function(){t.dom.elFace.remove(),t.imageWebCam=null,t.skinAnalyzeData=[],i.el.innerHTML="",t.intro=!0,n.intro=!0,new Qi(t.dom.docIframe,i.ctx,i.pv)}))}}},{key:"handleBack",value:function(){var e=this.w.globals,t=this.w.config;e.imageWebCam=null,this.showAnalyzer(e,t)}},{key:"handleSubmit",value:function(e){var t=this.w.globals;t.dom.elFace.analyzer.innerHTML="",t.stepShow="preview",new Hi(t.dom.elFace.analyzer,this.ctx,this.pv,e,this.width,this.height,this.restart,this.callBack)}},{key:"restart",value:function(){var e=this.w.globals;e.imageWebCam=null,e.skinAnalyzeData=[];var t=this.pv.getValue();this.el.innerHTML="",this.onSet&&this.onSet(),this.render(),this.showFaceAge(t.copyRight)}},{key:"callBack",value:function(e){var t=this.w.globals;e&&t.skinAnalyzeData&&this.onSet&&this.onSet(t.skinAnalyzeData)}},{key:"getCurrentDimension",value:function(){return{width:"undefined"==typeof window?0:window.innerWidth,height:"undefined"==typeof window?0:window.innerHeight}}},{key:"updateDimension",value:function(){var e=this.w.globals,t=this.w.config,n=$t.getSizeFrame(e,t);this.width=n.width,this.height=n.height,"widget"===t.displayModel&&(e.dom.elIframe.style.height=this.height+"px"),e.dom.elFace&&e.dom.elFace.analyzer&&(e.dom.elFace.analyzer.style.width=this.width+"px",e.dom.elFace.analyzer.style.height=this.height+"px")}},{key:"showFaceAge",value:function(e){var t=this.w.globals;new qi(t.dom.docIframe,e)}}])&&Yi(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function Zi(e){return Zi="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},Zi(e)}function Xi(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,(void 0,r=function(e,t){if("object"!==Zi(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,"string");if("object"!==Zi(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(i.key),"symbol"===Zi(r)?r:String(r)),i)}var r}var Qi=function(){function e(t,n,i){var r;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.ctx=n,this.pv=i,this.w=n.w,this.gl=n.w.globals,this.valus=null!==(r=this.gl.formData)&&void 0!==r?r:{},this.required=[],this.render()}var t,n;return t=e,n=[{key:"render",value:function(){var e=this,t=this.el,n=this.w.globals,i=this.w.config;if(Object.keys(this.valus).length<=0&&i.defaultQuiz&&Xt().map(i.defaultQuiz,(function(t,n){e.valus[n]=t})),n.formPages){var r=!1;n.formPages.map((function(e){"imageAnalysis"===e.name&&(r=!0)})),r||n.formPages.push({name:"imageAnalysis"})}else n.formPages=[{name:"imageAnalysis"}];i.quiz?(n.dom.elForm=document.createElement("div"),$t.setAttrs(n.dom.elForm,{class:"face_age_form "+i.displayModel,style:"height: 100%;display: flex;flex-direction: column;flex: 1 1 0%;overflow: hidden auto;align-self: center; background-position: center;background-size: cover;"}),t.appendChild(n.dom.elForm),this.showQuiz(n.activeQuiz)):this.showFaceSkin()}},{key:"showQuiz",value:function(){var t=this,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,i=this.w.globals,r=this.w.config,o=i.formPages[n];if(!o)return null;if("imageAnalysis"===o.name)return i.dom.elForm.remove(),this.showFaceSkin(),(!o.content||!o.content.elements&&o.content.elements.length<=0)&&i.getActiveSelections&&i.getActiveSelections(i.formData),null;if(i.stepShow="quiz",o.if&&o.if.key&&o.if.condition&&o.if.value&&!this.checkIf(this.valus[o.if.key],o.if.condition,o.if.value))return this.onSubmit(o),null;var a=o.title?'<div class="title">'+Ft.t(o.title)+"</div>":"",s=(o.content&&o.content.elements,"");this.required=[],o.content.actions&&o.content.actions.map((function(e){s+='<div role="button" width="fullWidth" class="sc-1x1y2bq-3 bLwrg '+("goToNext"===e.onAction?"disabale":"")+" "+e.onAction+'">'+Ft.t(e.label)+"</div>"}));var l='<div class="form_window"><div class="toolbar"></div><div class="box_title">'+("modal"!==r.displayModel?'<div class="goBack"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M15.56 5.15999L13.2 2.79999L0 16L13.2 29.2L15.56 26.84L4.72 16L15.56 5.15999Z" fill="black"/></svg></div>':"")+a+'</div><div class="elements"></div><div class="action"><div class="sc-1x1y2bq-2 sc-1kkf162-1 dZaMnF lbSetf">'+s+"</div></div></div>",u="auto 0px";switch(o.position){case"top":u="10px auto";break;case"center":u="auto 0px";break;case"bottom":u="auto auto 15px"}i.dom.elForm.box=document.createElement("div"),$t.setAttrs(i.dom.elForm.box,{style:"width: 100%;"+("widget"!==r.displayModel?"margin: "+u+";":"")}),i.dom.elForm.box.innerHTML=l,i.dom.elForm.elements=i.dom.elForm.box.getElementsByClassName("elements")[0],i.dom.elForm.goBack=i.dom.elForm.box.querySelector(".goBack");var c=!0;o.content&&o.content.elements&&o.content.elements.map((function(e){if(e.if&&e.if.key&&e.if.condition&&e.if.value&&!t.checkIf(t.valus[e.if.key],e.if.condition,e.if.value))return!1;e.required&&t.required.push(e.name),e.required&&!t.valus[e.name]&&(c=!1),new Ti(i.dom.elForm.elements,i,e,t.valus,(function(e,n){return t.setData(e,n)}))})),i.dom.elForm.toolbar=i.dom.elForm.box.getElementsByClassName("toolbar")[0],i.dom.elForm.toolbar&&(0!==i.activeQuiz||i.formPages.length>=i.activeQuiz)&&(i.dom.elForm.back=document.createElement("div"),$t.setAttrs(i.dom.elForm.back,{class:"back;"}),i.dom.elForm.toolbar.appendChild(i.dom.elForm.back)),i.dom.elForm.box.getElementsByClassName("goToNext")&&(i.dom.elForm.goToNext=i.dom.elForm.box.getElementsByClassName("goToNext")[0],i.dom.elForm.goToNext&&(this.required.length<=0&&i.dom.elForm.goToNext.classList.remove("disabale"),i.dom.elForm.goToNext.addEventListener("click",(function(e){t.onSubmit(o)}))),i.dom.elForm.goToNext&&c&&i.dom.elForm.goToNext.classList.remove("disabale")),i.dom.elForm.box.getElementsByClassName("goToSkip")&&(i.dom.elForm.goToSkip=i.dom.elForm.box.getElementsByClassName("goToSkip")[0],i.dom.elForm.goToSkip&&i.dom.elForm.goToSkip.addEventListener("click",(function(e){}))),i.dom.elForm.box.getElementsByClassName("goToSkip")&&(i.dom.elForm.goToSkip=i.dom.elForm.box.getElementsByClassName("goToSkip")[0],i.dom.elForm.goToSkip&&i.dom.elForm.goToSkip.addEventListener("click",(function(n){i.dom.elForm.remove(),i.activeQuiz=i.activeQuiz+1,new e(i.dom.docIframe,t.ctx,t.pv)}))),i.dom.elForm.innerHTML="","modal"===r.displayModel?new dn(i.dom.elForm,this.ctx,this.pv,null,i.activeQuiz>0&&i.formPages.length>1?function(){i.dom.elForm.remove(),i.activeQuiz=i.activeQuiz-1>0?i.activeQuiz-1:0,new e(i.dom.docIframe,t.ctx,t.pv)}:null,i.activeQuiz>0):i.dom.elForm.goBack&&(i.activeQuiz>0&&i.formPages.length>1?i.dom.elForm.goBack.addEventListener("click",(function(n){i.dom.elForm.remove(),i.activeQuiz=i.activeQuiz-1>0?i.activeQuiz-1:0,new e(i.dom.docIframe,t.ctx,t.pv)})):i.dom.elForm.goBack.remove()),o.background_color?i.dom.elForm.style.backgroundColor=o.background_color:i.dom.elForm.style.backgroundColor="",o.background_image?i.dom.elForm.style.backgroundImage='url("'+o.background_image+'")':i.dom.elForm.style.backgroundImage="",i.dom.elForm.appendChild(i.dom.elForm.box)}},{key:"setData",value:function(e,t){var n=this,i=this.w.globals;if(this.valus[t]=e,i.dom.elForm.goToNext){var r=!0;this.required.map((function(e){n.valus[e]||(r=!1)})),r?i.dom.elForm.goToNext.classList.remove("disabale"):i.dom.elForm.goToNext.classList.add("disabale")}}},{key:"checkIf",value:function(e,t,n){switch(t){case"=":if(e===n)return!0;break;case"!=":if(e!==n)return!0}return!1}},{key:"onSubmit",value:function(e){var t=this,n=this.w.globals;if(this.required.length>0&&!this.required.find((function(e){return t.valus[e]})))return!1;e.content.elements.map((function(e){var t=n.dom.elForm.elements.querySelector('.el_box[data-name="'+e.name+'"]');if(t){var i=t.querySelector(".err");i&&i.remove()}}));var i=Ri(e.content.elements,this.valus);if(i)return i.map((function(e,t){Xt().map(e.errors,(function(e,t){var i=n.dom.elForm.elements.querySelector('.el_box[data-name="'+t+'"]');if(i){var r=document.createElement("p");$t.setAttrs(r,{class:"err"}),r.innerText=e,i.appendChild(r)}}))})),!1;n.activeQuiz+=1,this.showQuiz(n.activeQuiz),n.formData=this.valus}},{key:"showFaceSkin",value:function(){var e=this,t=this.w.globals,n=this.w.config;t.dom.elForm&&t.dom.elForm.remove(),n.type,n.intro?(t.stepShow="intro",new mn(t.dom.docIframe,this.ctx,this.pv),t.dom.elInfo.btn.addEventListener("click",(function(i){if(!t.privacy)return null;t.dom.elInfo.btn.style.opacity="0.5",t.intro=!1,n.intro=!1,t.dom.elInfo.remove(),new $i(t.dom.docIframe,e.ctx,e.pv)}))):(t.intro=!1,n.intro=!1,new $i(t.dom.docIframe,this.ctx,this.pv));var i=t.formPages.find((function(e){return"imageAnalysis"===e.name}));i&&i.background_color?t.dom.docIframe.style.backgroundColor=i.background_color:t.dom.docIframe.style.backgroundColor="#ffe5f0;",i&&i.background_image?t.dom.docIframe.style.backgroundImage='url("'+i.background_image+'")':t.dom.docIframe.style.backgroundImage=""}},{key:"setCookie",value:function(e,t,n){var i=new Date;i.setTime(i.getTime()+24*n*60*60*1e3);var r="expires="+i.toUTCString();document.cookie=e+"="+t+";"+r+";path=/"}},{key:"getCookie",value:function(e){for(var t=e+"=",n=decodeURIComponent(document.cookie).split(";"),i=0;i<n.length;i++){for(var r=n[i];" "==r.charAt(0);)r=r.substring(1);if(0==r.indexOf(t))return r.substring(t.length,r.length)}return""}}],n&&Xi(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function er(e){return er="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},er(e)}function tr(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,(void 0,r=function(e,t){if("object"!==er(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,"string");if("object"!==er(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(i.key),"symbol"===er(r)?r:String(r)),i)}var r}function nr(e,t){var n=function(e,t,n){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)}(e,t);return function(e,t){return t.get?t.get.call(e):t.value}(e,n)}var ir=new WeakMap,rr=function(){function e(){var t,n,i;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),i={writable:!0,value:{copyRight:!0,license:!1}},function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(t=this,n=ir),n.set(t,i)}var t,n;return t=e,(n=[{key:"getValue",value:function(){return nr(this,ir)}},{key:"setValue",value:function(e,t){nr(this,ir)[e]=t}}])&&tr(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function or(e){return or="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},or(e)}function ar(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,sr(i.key),i)}}function sr(e){var t=function(e,t){if("object"!==or(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,"string");if("object"!==or(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===or(t)?t:String(t)}var lr=function(){function e(t,n){var i,r;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),i=this,(r=sr(r="showModel"))in i?Object.defineProperty(i,r,{value:false,enumerable:!0,configurable:!0,writable:!0}):i[r]=false,this.ctx=n,this.w=n.w,this.el=t,this.pv=new rr}var t,n;return t=e,(n=[{key:"setupElements",value:function(){var e=this.w.globals,t=this.w.config;t.type,t.arrTypes,e.faceClass=".faceAge-"+e.faceID,e.dom.elWrap=document.createElement("div"),$t.setAttrs(e.dom.elWrap,{id:e.faceClass.substring(1),class:"faceAge-main-module "+e.faceClass.substring(1)}),"modal"===t.displayModel?(e.dom.elModalMain=document.createElement("div"),$t.setAttrs(e.dom.elModalMain,{id:"face-age-plugin"}),e.dom.elModalButtonMessage=document.createElement("div"),$t.setAttrs(e.dom.elModalButtonMessage,{id:"face-age-message-bubbles",style:"background-color: white;\n color: black;\n box-shadow: rgba(150, 150, 150, 0.2) 0px 10px 30px 0px, rgba(150, 150, 150, 0.2) 0px 0px 0px 1px;\n border-radius: 10px;\n padding: 15px;\n margin: 8px;\n font-size: 14px;\n opacity: 1;\n transform: scale(1);\n transition: opacity 0.5s, transform 0.5s;\n position: fixed;\n border-radius: 10px;\n font-family: sans-serif;\n z-index: 9998;\n cursor: pointer;\n flex-direction: column;\n gap: 50px;\n max-width: 70vw;\n display: block;\n right: auto;\n bottom: 89px;\n left: 15px; text-transform: capitalize; display: none;"}),e.dom.elModalButtonMessage.innerHTML='<div class="text">'+Ft.t("Skin Analysis")+"</div>",e.dom.elModalMain.appendChild(e.dom.elModalButtonMessage),e.dom.elModalButtonMessage.text=e.dom.elModalButtonMessage.querySelector(".text"),e.dom.elModalButton=document.createElement("button"),$t.setAttrs(e.dom.elModalButton,{id:"face-age-button",style:"opacity: 0; display: none;"}),e.dom.elModalButton.innerHTML='<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 245.26 245.26">\n <defs>\n <style>\n .cls-5 {\n fill: #fff;\n }\n\n .cls-6 {\n stroke-width: 2px;\n }\n\n .cls-6, .cls-7 {\n fill: none;\n stroke-miterlimit: 10;\n }\n\n .cls-7 {\n stroke: #fff;\n }\n </style>\n </defs>\n <circle class="cls-1" cx="121.97" cy="123.39" r="121.42"/>\n <circle class="cls-1" cx="122.63" cy="122.63" r="122.63"/>\n <circle class="cls-7" cx="121.97" cy="123.39" r="107.34"/>\n <circle class="cls-7" cx="121.97" cy="123.39" r="114.38"/>\n <circle class="cls-7" cx="121.97" cy="123.39" r="99.42"/>\n <circle class="cls-7" cx="121.97" cy="123.39" r="91.5"/>\n <circle class="cls-7" cx="121.97" cy="123.39" r="83.58"/>\n <path class="cls-5" d="M84.54,239.14l1.53,.57,4.51,1.31,7.9,1.85,12.53,1.83,6.93,.46,3.76,.09,4.77-.06,4.65-.33c1.27-.07,2.54-.16,3.8-.27h.17s.11-.03,.11-.03c3.91-.36,7.8-.89,11.58-1.58,.19-.03,.37-.07,.56-.1h0c7.57-1.38,12.35-2.36,19.59-5.37,.67-.28,3.34-1.71,4-2-18.9-5.53-34.77-18.14-45.57-34.61,22.88,5.7,47.18,5.64,70.03-.17,.72-22.29,1.43-44.58,2.15-66.86,1.44-44.76-19.65-89.68-55-117.16-2.16,24.13-9.81,48.02-23.91,67.72-14.1,19.7-34.66,33.5-58.26,38.98,2.57-3.39,2.56-6.92,.31-10.53-2.25-3.61-6.83-5.6-11-4.78-4.24,.83-7.64,4.27-9.34,8.24s-1.92,8.43-1.65,12.74c.44,7.07,2.54,14.7,8.36,18.74,8.15,5.66,19.42,1.86,29.06,4.22,7.72,1.89,14.07,7.84,17.58,14.97,3.5,7.13,4.39,15.33,3.75,23.26-.62,7.71-2.94,15.38-6.51,22.48-4.29,8.54-10.38,16.27-17.49,22.28l.72,.27"/>\n <g>\n <path class="cls-1" d="M182.36,68.85c-4.09-2.6-9.86-2.41-13.22,.95-1.74,1.57-2.97,3.64-3.81,5.83-.84,2.21-1.35,4.54-1.63,6.91-.56,4.74-.22,9.54,.66,14.26,.86,4.73,2.08,9.42,3.5,14.04,1.38,4.64,2.99,9.2,4.6,13.81,.78,2.31,1.54,4.67,2.04,7.12,.52,2.44,.7,4.98,.52,7.47-.19,2.48-.59,4.97-1.52,7.33-.47,1.17-1.04,2.31-1.79,3.35s-1.65,1.94-2.65,2.71c-2.01,1.53-4.36,2.5-6.78,2.99-1.21,.25-2.44,.39-3.67,.37-1.23-.03-2.45-.2-3.63-.5,2.41,.41,4.86,.26,7.17-.38,2.31-.62,4.5-1.7,6.28-3.24,.89-.76,1.69-1.63,2.32-2.6,.64-.97,1.12-2.04,1.5-3.15,.76-2.22,1.09-4.59,1.19-6.96,.08-2.37-.15-4.72-.68-7.03-.52-2.31-1.3-4.59-2.11-6.86-1.65-4.56-3.3-9.17-4.72-13.85-1.4-4.69-2.62-9.44-3.45-14.3-.8-4.85-1.12-9.88-.34-14.79,.38-2.45,.96-4.89,1.96-7.2,1-2.29,2.41-4.47,4.38-6.08,.97-.8,2.07-1.47,3.27-1.89,1.19-.43,2.45-.6,3.69-.61,1.24,.01,2.48,.19,3.65,.58,1.2,.4,2.3,.98,3.27,1.72Z"/>\n <path class="cls-1" d="M164,104.51c1.82-1.19,3.81-2.08,5.85-2.81,2.04-.74,4.15-1.26,6.27-1.66,2.13-.37,4.28-.62,6.44-.66,2.16-.06,4.32,.03,6.46,.4-2.12,.47-4.22,.81-6.32,1.15-2.09,.36-4.17,.69-6.24,1.08-2.08,.35-4.13,.78-6.21,1.19-2.05,.42-4.12,.89-6.25,1.31Z"/>\n </g>\n <path class="cls-1" d="M142.64,16.5c-1.02,23.41-6.03,49.01-20.74,67.79-14.72,18.77-38.1,31.07-61.36,38.66,3.42-6.35,.84-13.15-6.63-13.73-7.35-.57-13.66,6.01-14.83,12.96-1.17,6.93,1.52,13.92,4.7,20.26,1.29,2.56,2.74,5.16,5.07,6.93,6.08,4.63,14.96,1.79,22.72,2.37,10.2,.76,19.08,8.09,23.11,17.06,4.03,8.96,3.77,19.28,1.26,28.73-2.52,9.46-7.15,18.27-11.75,27-1.67,3.16-2.34,9.12-5.74,10.49-5.16,2.07-14.18-3.42-20.27-8.23C8.03,187.2-17.79,108.26,20.01,52.51,38.87,24.69,72.04,2.94,107.51,4.91c4.74,.26,9.45,1.02,14.01,2.35,8.95,2.62,12.87,3.72,21.12,9.24"/>\n <g>\n <line class="cls-6" x1="26.69" y1="177.24" x2="112.73" y2="152.19"/>\n <path class="cls-6" d="M50.65,192.49c4.76-1.59,9.52-3.17,14.28-4.76,3.63-1.21,7.26-2.42,10.9-3.63,2.21-.74,6.3-2.95,8.56-2.12,5.13,1.88,10.24,3.79,15.36,5.67,2.63,.97,3.92,1.7,6.56,.78,9.76-3.38,19.53-6.73,29.29-10.1"/>\n <path class="cls-6" d="M38.67,155.46c4.82-1.39,9.64-2.77,14.47-4.16,3.68-1.06,7.36-2.11,11.04-3.17,2.24-.64,6.86-1.13,8.26-3.1,3.17-4.45,6.3-8.92,9.46-13.37,1.62-2.29,2.27-3.62,4.96-4.36,9.96-2.73,19.91-5.5,29.87-8.25"/>\n </g>\n <circle class="cls-5" cx="26.59" cy="177.17" r="2.72"/>\n <circle class="cls-5" cx="50.75" cy="192.44" r="2.72"/>\n <circle class="cls-5" cx="38.67" cy="155.51" r="2.72"/>\n <path class="cls-5" d="M88.45,240l-15-5c11-1,24-44.75,24-44.75h0c3.67,3.92,7.33,7.84,11,11.75"/>\n <polyline class="cls-5" points="112.45 243 142.64 243.62 135.8 244.5 130.66 245.02 125.15 245.25 114.18 244.96 105.95 244.13 99.35 243 95.23 242.23 92.32 241.47"/>\n</svg>',e.dom.elModalButton.addEventListener("click",(function(t){e.dom.elModalFace.classList.add("is-open")})),e.dom.elModalButtonMessage.addEventListener("click",(function(t){e.dom.elModalFace.classList.add("is-open")})),e.dom.elModalMain.appendChild(e.dom.elModalButton),e.dom.elModalFace=document.createElement("div"),$t.setAttrs(e.dom.elModalFace,{id:"face-age-modal","aria-hidden":"false"}),e.dom.elModalOverlay=document.createElement("div"),$t.setAttrs(e.dom.elModalOverlay,{id:"face-age-overlay"}),$t.setAttrs(e.dom.elWrap,{class:"face-age-dialog faceAge-main-module "+e.faceClass.substring(1),role:"dialog"}),e.dom.elModalOverlay.appendChild(e.dom.elWrap),e.dom.elModalFace.appendChild(e.dom.elModalOverlay),e.dom.elModalMain.appendChild(e.dom.elModalFace),this.el.appendChild(e.dom.elModalMain),this.setCustomModalCss()):this.el.appendChild(e.dom.elWrap),this.setIframe(),this.authorize()}},{key:"setIframe",value:function(){var e,t,n=this.w.globals,i=this.w.config;"widget"===i.displayModel?-1===(e=i.iframeWidth||n.iframeWidth).indexOf("%")?t=parseInt(e)/3*4+"px":(t=n.dom.elWrap.clientWidth*(parseInt(e)/100)/3*4+"px")<320&&(t=320):"section"===i.displayModel?(e="100%",t=i.iframeHeight||n.iframeHeight):(e="100%",t="100%"),n.dom.elIframe=document.createElement("iframe"),$t.setAttrs(n.dom.elIframe,{id:"FaceAge-module-iframe",title:"Face Age Skincare Advisor",allow:"geolocation *; microphone *; camera *",style:"modal"!==i.displayModel?"border: 0px; margin: 0px; padding: 0px; min-width: "+e+"; min-height: "+t+"; overflow: hidden; position: relative; z-index: 1; opacity: 0;":"border: 0px; margin: 0px; padding: 0px; width: "+e+"; height: "+t+"; overflow: hidden; position: relative; z-index: 1; opacity: 0; border: none; background: transparent;"}),n.dom.elWrap.appendChild(n.dom.elIframe),n.dom.docIframe=n.dom.elIframe.contentDocument.body,n.dom.headIframe=n.dom.elIframe.contentDocument.head,$t.setAttrs(n.dom.docIframe,{id:"faceAge-module-body",class:i.displayModel,style:"margin:0;padding:0;overflow:hidden;"+("widget"!==i.displayModel?"background-color: #fff;":"")});var r=document.createElement("meta");r.name="viewport",r.content="width=device-width, initial-scale=1.0",n.dom.headIframe.appendChild(r);var o=document.createElement("link");o.id="inter-font",o.rel="stylesheet",o.type="text/css",o.media="all",o.href="https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap",n.dom.headIframe.appendChild(o);var a=document.createElement("link");a.id="roboto-mono-font",a.rel="stylesheet",a.type="text/css",a.media="all",a.href="https://fonts.googleapis.com/css?family=Roboto+Mono|Roboto+Slab|Roboto:300,400,500,700&display=optional",n.dom.headIframe.appendChild(a);var s=document.createElement("link");s.rel="stylesheet",s.href="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css",n.dom.headIframe.appendChild(s);var l=document.createElement("link");l.id="face-age-css",l.rel="stylesheet",l.type="text/css",l.media="all",l.href="https://static.getfaceage.com/v2.0/faceage.css",n.dom.headIframe.appendChild(l);var u=document.createElement("script");u.src="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.js",n.dom.headIframe.appendChild(u);var c=document.createElement("script");c.src="https://cdn.jsdelivr.net/npm/chart.js",n.dom.headIframe.appendChild(c),n.dom.elIframe.contentDocument.getElementById("face-age-css").addEventListener("load",(function(){n.dom.elIframe.style.opacity=1})),n.dom.docIframe.loader=document.createElement("div"),n.dom.docIframe.loader.innerHTML='<div class="face_age"><div class="loading_request" style="background: transparent"><div class="FaceCircularProgress-root FaceCircularProgress-colorPrimary FaceCircularProgress-indeterminate" role="progressbar" style="width: 40px; height: 40px; color: #000"><svg class="FaceCircularProgress-svg" viewBox="22 22 44 44"><circle class="FaceCircularProgress-circle FaceCircularProgress-circleIndeterminate" cx="44" cy="44" r="20.2" fill="none" stroke-width="3.6"></circle></svg></div></div></div>',n.dom.docIframe.appendChild(n.dom.docIframe.loader)}},{key:"setElements",value:function(){var e,t,n,i,r,o,a,s,l,u,c,d,h,p,m,f,g,v,y,b,k,w,S,C,P,x,A,T,_,j,E,R,z,I,L,O,M,F,D,B,N=this.w.globals,G=this.w.config,H=this.pv.getValue();G.type,new Qi(N.dom.docIframe,this.ctx,this.pv),this.showFaceAge(H.copyRight);var W=document.createElement("style");W.id="face-age-css-root",W.rel="stylesheet",W.type="text/css",W.media="all";var U=":root {\n --background: "+(null!==(e=null===(t=N.customTemplate)||void 0===t?void 0:t.background)&&void 0!==e?e:"#F9FAFC")+";\n --color: "+(null!==(n=null===(i=N.customTemplate)||void 0===i?void 0:i.color)&&void 0!==n?n:"#000")+";\n --divider: "+(null!==(r=null===(o=N.customTemplate)||void 0===o?void 0:o.color)&&void 0!==r?r:"#E6E8F0")+";\n --basic: "+(null!==(a=null===(s=N.customTemplate)||void 0===s?void 0:s.base_color)&&void 0!==a?a:"rgba(239, 55, 134);")+";\n --error: "+(null!==(l=null===(u=N.customTemplate)||void 0===u?void 0:u.error)&&void 0!==l?l:"#da005c")+";\n --basic_action: "+(null!==(c=null===(d=N.customTemplate)||void 0===d?void 0:d.basic_action_color)&&void 0!==c?c:"rgb(239, 55, 134)")+";\n --color_action: "+(null!==(h=null===(p=N.customTemplate)||void 0===p?void 0:p.basic_action_text)&&void 0!==h?h:"#fff")+";\n --submit_action: "+(null!==(m=null===(f=N.customTemplate)||void 0===f?void 0:f.submit_action_color)&&void 0!==m?m:"rgb(8, 211, 144)")+";\n --circle_action: "+(null!==(g=null===(v=N.customTemplate)||void 0===v?void 0:v.circle_action)&&void 0!==g?g:"#fff")+";\n --color_circle_action: "+(null!==(y=null===(b=N.customTemplate)||void 0===b?void 0:b.color_circle_action)&&void 0!==y?y:"#000")+";\n --base_border_radius: "+(null!==(k=null===(w=N.customTemplate)||void 0===w?void 0:w.base_border_radius)&&void 0!==k?k:"40px")+";\n --base_border: "+(null!==(S=null===(C=N.customTemplate)||void 0===C?void 0:C.base_border)&&void 0!==S?S:"#ccc")+";\n --quiz_input_color: "+(null!==(P=null===(x=N.customTemplate)||void 0===x?void 0:x.quiz_input_color)&&void 0!==P?P:"rgb(200 200 200)")+";\n --background_upload_color: "+(null!==(A=null===(T=N.customTemplate)||void 0===T?void 0:T.background_upload_color)&&void 0!==A?A:"#fff0fb")+";\n --accepted_status: "+(null!==(_=null===(j=N.customTemplate)||void 0===j?void 0:j.position_accepted_status_color)&&void 0!==_?_:"rgb(8, 211, 144)")+";\n --not_accepted_status: "+(null!==(E=null===(R=N.customTemplate)||void 0===R?void 0:R.position_not_accepted_status_color)&&void 0!==E?E:"rgb(239, 55, 134)")+";\n --product_shadow: "+(null!==(z=null===(I=N.customTemplate)||void 0===I?void 0:I.product_shadow)&&void 0!==z?z:"0")+";\n --product_border: "+(null!==(L=null===(O=N.customTemplate)||void 0===O?void 0:O.product_border)&&void 0!==L?L:"rgb(200 200 200)")+";\n --product_padding: "+(null!==(M=null===(F=N.customTemplate)||void 0===F?void 0:F.product_padding)&&void 0!==M?M:"10")+";\n --product_action: "+(null!==(D=null===(B=N.customTemplate)||void 0===B?void 0:B.product_action_color)&&void 0!==D?D:"rgb(239, 55, 134)")+";\n}";W.styleSheet?W.styleSheet.cssText=U:W.appendChild(document.createTextNode(U)),N.dom.headIframe.appendChild(W)}},{key:"authorize",value:function(){var e,t=this,n=this.w.config.faceageId,i=this.w.globals,r=this.w.config;null===(e=Ze.request("post","authorize",{faceageId:n}))||void 0===e||e.then((function(e){var o,a;if(i.faceageId=n,i.authorize=e.data.data,i.formPages=[],i.customTemplate=null!==(o=e.data.data.template)&&void 0!==o?o:[],e.data.data.problems&&e.data.data.problems.length>0&&(i.problems=null!==(a=e.data.data.problems)&&void 0!==a?a:[]),e.data&&e.data.data.pages&&e.data.data.pages.map((function(e){"skincare"===r.type&&"skin_analyzer"===e.data.name&&(i.formPages=e.quiz)})),i.dom.docIframe.loader.remove(),t.pv.setValue("copyRight",!0),t.pv.setValue("license",!0),e.data.data.translation&&e.data.data.translation.length>0&&e.data.data.translation.map((function(e){var t={};e.words&&e.words.map((function(e){_.map(e,(function(e,n){n&&n.length>0&&e&&e.length>0&&(t[n]=e)}))})),Ft.addResources(e.lang,"translation",t)})),"modal"===r.displayModel){var s,l,u,c,d,h,p,m,f,g,v,y,b,k,w,S,C,P,x;i.dom.elModalButton.style.opacity=1,i.dom.elModalButton.style.display="block",i.authorize.name&&(i.dom.elModalButtonMessage.text.innerHTML=i.authorize.name+" "+Ft.t("Skin Analysis")),localStorage.getItem("face_message_modal")||setTimeout((function(){i.dom.elModalButtonMessage.style.display="block",localStorage.setItem("face_message_modal","true")}),2e3),i.dom.elModalButton.style.backgroundColor=null!==(s=null===(l=i.customTemplate)||void 0===l?void 0:l.base_color)&&void 0!==s?s:"rgba(239, 55, 134);",i.dom.elIframe.clientWidth>768?(i.dom.elModalButton.style.left=(null!==(c=null===(d=i.customTemplate)||void 0===d?void 0:d.position_show_desktop_tool_left_distance)&&void 0!==c?c:"24")+"px",i.dom.elModalButton.style.bottom=(null!==(h=null===(p=i.customTemplate)||void 0===p?void 0:p.position_show_desktop_tool_button_distance)&&void 0!==h?h:"24")+"px",i.dom.elModalButtonMessage.style.left=(null!==(m=(null===(f=i.customTemplate)||void 0===f?void 0:f.position_show_desktop_tool_left_distance)-9)&&void 0!==m?m:"15")+"px",i.dom.elModalButtonMessage.style.bottom=(null!==(g=(null===(v=i.customTemplate)||void 0===v?void 0:v.position_show_desktop_tool_button_distance)+65)&&void 0!==g?g:"89")+"px"):(i.dom.elModalButton.style.left=(null!==(y=null===(b=i.customTemplate)||void 0===b?void 0:b.position_show_mobile_tool_left_distance)&&void 0!==y?y:"24")+"px",i.dom.elModalButton.style.bottom=(null!==(k=null===(w=i.customTemplate)||void 0===w?void 0:w.position_show_mobile_tool_button_distance)&&void 0!==k?k:"24")+"px",i.dom.elModalButtonMessage.style.left=(null!==(S=(null===(C=i.customTemplate)||void 0===C?void 0:C.position_show_mobile_tool_left_distance)-9)&&void 0!==S?S:"15")+"px",i.dom.elModalButtonMessage.style.bottom=(null!==(P=(null===(x=i.customTemplate)||void 0===x?void 0:x.position_show_mobile_tool_button_distance)+65)&&void 0!==P?P:"89")+"px"),null!==(u=i.customTemplate)&&void 0!==u&&u.tools_icon&&(i.dom.elModalButton.innerHTML='<img alt="'+Ft.t("Skin Analysis")+'" src="'+i.customTemplate.tools_icon+'" />');var A=i.dom.elModalButton.querySelectorAll(".cls-1"),T=i.dom.elModalButton.querySelectorAll(".cls-6");A&&A.forEach((function(e){var t,n;e.style.fill=null!==(t=null===(n=i.customTemplate)||void 0===n?void 0:n.base_color)&&void 0!==t?t:"rgba(239, 55, 134);"})),T&&T.forEach((function(e){var t,n;e.style.stroke=null!==(t=null===(n=i.customTemplate)||void 0===n?void 0:n.base_color)&&void 0!==t?t:"rgba(239, 55, 134);"}))}t.setElements()})).catch((function(e){if(e.response&&e.response.data.message&&422===e.response.status){if(e.response.data.errors){var t=e.response.data.errors;Object.keys(t).forEach((function(e){if(t[e][0]){var n='<div class="face_age"><div class="loading_request" style="background: transparent">'+t[e][0]+"</div></div>";i.dom.docIframe.loader.innerHTML=n,console.error(t[e][0])}else{var r='<div class="face_age"><div class="loading_request" style="background: transparent">'+t[e]+"</div></div>";i.dom.docIframe.loader.innerHTML=r,console.error(t[e])}}))}else{var n='<div class="face_age"><div class="loading_request" style="background: transparent">'+e.response.data.message+"</div></div>";i.dom.docIframe.loader.innerHTML=n,console.error(e.response.data.message)}"modal"===r.displayModel&&(i.dom.elModalButton.style.opacity=1)}else{var o=null!=e&&e.message?Ft.t(null==e?void 0:e.message):Ft.t("An error occurred, please check again"),a='<div class="face_age"><div class="loading_request" style="background: transparent">'+o+"</div></div>";i.dom.docIframe.loader.innerHTML=a,console.error(o)}}))}},{key:"showFaceAge",value:function(e){var t=this.w.globals;new qi(t.dom.docIframe,e)}},{key:"setCustomModalCss",value:function(){this.w.globals;var e=document.createElement("style");e.id="face-age-styles",e.rel="stylesheet",e.type="text/css",e.media="all";var t='#face-age-button .cls-1{fill: #FB398D} #face-age-button .cls-6{stroke: #FB398D} #face-age-modal{display:none}#face-age-modal.is-open{display:block}#face-age-overlay{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;justify-content:center;align-items:center;z-index:9999;background:rgba(0,0,0,0.2);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);will-change:opacity}.face-age-dialog{margin:0;padding:0;overflow:hidden;background-color:#333;width:100%;height:100%;will-change:transform}#face-age-modal[aria-hidden="false"] #face-age-overlay{-webkit-animation:rv-mmfadeIn .3s cubic-bezier(0,0,0.2,1);animation:rv-mmfadeIn .3s cubic-bezier(0,0,0.2,1)}#face-age-modal[aria-hidden="true"] #face-age-overlay{-webkit-animation:rv-mmfadeOut .25s cubic-bezier(0.4,0,1,1);animation:rv-mmfadeOut .25s cubic-bezier(0.4,0,1,1)}#face-age-modal[aria-hidden="false"] .face-age-dialog{-webkit-animation:rv-mmscaleInN .3s cubic-bezier(0,0,0.2,1);animation:rv-mmscaleInN .3s cubic-bezier(0,0,0.2,1)}#face-age-modal[aria-hidden="true"] .face-age-dialog{-webkit-animation:rv-mmscaleOutN .25s cubic-bezier(0.4,0,1,1);animation:rv-mmscaleOutN .25s cubic-bezier(0.4,0,1,1)}@media (min-width: 768px){.face-age-dialog{width:90%;height:90%;box-shadow:0 16px 24px 2px rgba(0,0,0,0.14),0 6px 30px 5px rgba(0,0,0,0.12),0 8px 10px -5px rgba(0,0,0,0.2);max-width:1140px;max-height:800px;border-radius:10px}#face-age-modal[aria-hidden="false"] .face-age-dialog{-webkit-animation:rv-mmslideIn .3s cubic-bezier(0,0,0.2,1);animation:rv-mmslideIn .3s cubic-bezier(0,0,0.2,1)}#face-age-modal[aria-hidden="true"] .face-age-dialog{-webkit-animation:rv-mmslideOut .25s cubic-bezier(0.4,0,1,1);animation:rv-mmslideOut .25s cubic-bezier(0.4,0,1,1)}}#face-age-button{opacity: 0;width:60px;height:60px;box-shadow:none;border-style:none;top:auto;right:auto;bottom:24px;position:fixed;border-radius:50%;background-color:rgba(239,55,134);left:24px;color:#FFF;margin:0;padding:0;z-index:9998;will-change:opacity;cursor:pointer;text-align:center;display:flex;align-items:center;justify-content:center}#face-age-button > img{max-height:100%;max-width:100%;box-sizing:border-box}#face-age-button:hover{opacity:.9}@-webkit-keyframes rv-mmfadeIn{0%{opacity:0}to{opacity:1}}@keyframes rv-mmfadeIn{0%{opacity:0}to{opacity:1}}@-webkit-keyframes rv-mmfadeOut{0%{opacity:1}to{opacity:0}}@keyframes rv-mmfadeOut{0%{opacity:1}to{opacity:0}}@-webkit-keyframes rv-mmslideIn{0%{-webkit-transform:translateY(-25%);transform:translateY(-25%)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes rv-mmslideIn{0%{-webkit-transform:translateY(-25%);transform:translateY(-25%)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes rv-mmslideOut{0%{-webkit-transform:translateY(0);transform:translateY(0)}to{-webkit-transform:translateY(15%);transform:translateY(15%)}}@keyframes rv-mmslideOut{0%{-webkit-transform:translateY(0);transform:translateY(0)}to{-webkit-transform:translateY(15%);transform:translateY(15%)}}@-webkit-keyframes rv-mmscaleOutN{0%{-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:0 100%;transform-origin:0 100%}to{-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transform-origin:0 100%;transform-origin:0 100%}}@keyframes rv-mmscaleOutN{0%{-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:0 100%;transform-origin:0 100%}to{-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transform-origin:0 100%;transform-origin:0 100%}}@-webkit-keyframes rv-mmscaleInN{0%{-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transform-origin:0 100%;transform-origin:0 100%}to{-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:0 100%;transform-origin:0 100%}}@keyframes rv-mmscaleInN{0%{-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transform-origin:0 100%;transform-origin:0 100%}to{-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:0 100%;transform-origin:0 100%}}#face-age-button > img{display:block;padding:10px}#face-age-button > span{display:none;writing-mode:inherit}@media (min-width: 768px){#face-age-button > img{display:none;padding:10px}#face-age-button > span{display:block;writing-mode:vertical-rl}}';e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t)),document.head.appendChild(e)}}])&&ar(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function ur(e){return ur="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},ur(e)}function cr(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,dr(i.key),i)}}function dr(e){var t=function(e,t){if("object"!==ur(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,"string");if("object"!==ur(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===ur(t)?t:String(t)}var hr=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}var t,n,i;return t=e,i=[{key:"bind",value:function(e,t){return function(){return e.apply(t,arguments)}}},{key:"isObject",value:function(e){return e&&"object"===ur(e)&&!Array.isArray(e)&&null!=e}},{key:"is",value:function(e,t){return Object.prototype.toString.call(t)==="[object "+e+"]"}},{key:"listToArray",value:function(e){var t,n=[];for(t=0;t<e.length;t++)n[t]=e[t];return n}},{key:"extend",value:function(e,t){var n=this;"function"!=typeof Object.assign&&(Object.assign=function(e){if(null==e)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(e),n=1;n<arguments.length;n++){var i=arguments[n];if(null!=i)for(var r in i)i.hasOwnProperty(r)&&(t[r]=i[r])}return t});var i=Object.assign({},e);return this.isObject(e)&&this.isObject(t)&&Object.keys(t).forEach((function(r){n.isObject(t[r])&&r in e?i[r]=n.extend(e[r],t[r]):Object.assign(i,function(e,t,n){return(t=dr(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}({},r,t[r]))})),i}},{key:"extendArray",value:function(t,n){var i=[];return t.map((function(t){i.push(e.extend(n,t))})),i}},{key:"monthMod",value:function(e){return e%12}},{key:"clone",value:function(t){if(e.is("Array",t)){for(var n=[],i=0;i<t.length;i++)n[i]=this.clone(t[i]);return n}if(e.is("Null",t))return null;if(e.is("Date",t))return t;if("object"===ur(t)){var r={};for(var o in t)t.hasOwnProperty(o)&&(r[o]=this.clone(t[o]));return r}return t}},{key:"log10",value:function(e){return Math.log(e)/Math.LN10}},{key:"roundToBase10",value:function(e){return Math.pow(10,Math.floor(Math.log10(e)))}},{key:"roundToBase",value:function(e,t){return Math.pow(t,Math.floor(Math.log(e)/Math.log(t)))}},{key:"parseNumber",value:function(e){return null===e?e:parseFloat(e)}},{key:"stripNumber",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;return Number.isInteger(e)?e:parseFloat(e.toPrecision(t))}},{key:"randomId",value:function(){return(Math.random()+1).toString(36).substring(4)}},{key:"noExponents",value:function(e){var t=String(e).split(/[eE]/);if(1===t.length)return t[0];var n="",i=e<0?"-":"",r=t[0].replace(".",""),o=Number(t[1])+1;if(o<0){for(n=i+"0.";o++;)n+="0";return n+r.replace(/^-/,"")}for(o-=r.length;o--;)n+="0";return r+n}},{key:"getDimensions",value:function(e){var t=getComputedStyle(e,null),n=e.clientHeight,i=e.clientWidth;return n-=parseFloat(t.paddingTop)+parseFloat(t.paddingBottom),[i-=parseFloat(t.paddingLeft)+parseFloat(t.paddingRight),n]}},{key:"getBoundingClientRect",value:function(e){var t=e.getBoundingClientRect();return{top:t.top,right:t.right,bottom:t.bottom,left:t.left,width:e.clientWidth,height:e.clientHeight,x:t.left,y:t.top}}},{key:"getLargestStringFromArr",value:function(e){return e.reduce((function(e,t){return Array.isArray(t)&&(t=t.reduce((function(e,t){return e.length>t.length?e:t}))),e.length>t.length?e:t}),0)}},{key:"hexToRgba",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"#999999",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.6;"#"!==e.substring(0,1)&&(e="#999999");var n=e.replace("#","");n=n.match(new RegExp("(.{"+n.length/3+"})","g"));for(var i=0;i<n.length;i++)n[i]=parseInt(1===n[i].length?n[i]+n[i]:n[i],16);return void 0!==t&&n.push(t),"rgba("+n.join(",")+")"}},{key:"getOpacityFromRGBA",value:function(e){return parseFloat(e.replace(/^.*,(.+)\)/,"$1"))}},{key:"rgb2hex",value:function(e){return(e=e.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i))&&4===e.length?"#"+("0"+parseInt(e[1],10).toString(16)).slice(-2)+("0"+parseInt(e[2],10).toString(16)).slice(-2)+("0"+parseInt(e[3],10).toString(16)).slice(-2):""}},{key:"isColorHex",value:function(e){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)|(^#[0-9A-F]{8}$)/i.test(e)}},{key:"getPolygonPos",value:function(e,t){for(var n=[],i=2*Math.PI/t,r=0;r<t;r++){var o={};o.x=e*Math.sin(r*i),o.y=-e*Math.cos(r*i),n.push(o)}return n}},{key:"polarToCartesian",value:function(e,t,n,i){var r=(i-90)*Math.PI/180;return{x:e+n*Math.cos(r),y:t+n*Math.sin(r)}}},{key:"escapeString",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"x",n=e.toString().slice();return n.replace(/[` ~!@#$%^&*()|+\=?;:'",.<>{}[\]\\/]/gi,t)}},{key:"negToZero",value:function(e){return e<0?0:e}},{key:"moveIndexInArray",value:function(e,t,n){if(n>=e.length)for(var i=n-e.length+1;i--;)e.push(void 0);return e.splice(n,0,e.splice(t,1)[0]),e}},{key:"extractNumber",value:function(e){return parseFloat(e.replace(/[^\d.]*/g,""))}},{key:"findAncestor",value:function(e,t){for(;(e=e.parentElement)&&!e.classList.contains(t););return e}},{key:"setELstyles",value:function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e.style.key=t[n])}},{key:"isNumber",value:function(e){return!isNaN(e)&&parseFloat(Number(e))===e&&!isNaN(parseInt(e,10))}},{key:"isFloat",value:function(e){return Number(e)===e&&e%1!=0}},{key:"isSafari",value:function(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}},{key:"isFirefox",value:function(){return navigator.userAgent.toLowerCase().indexOf("firefox")>-1}},{key:"isIE11",value:function(){if(-1!==window.navigator.userAgent.indexOf("MSIE")||window.navigator.appVersion.indexOf("Trident/")>-1)return!0}},{key:"isIE",value:function(){var e=window.navigator.userAgent,t=e.indexOf("MSIE ");if(t>0)return parseInt(e.substring(t+5,e.indexOf(".",t)),10);if(e.indexOf("Trident/")>0){var n=e.indexOf("rv:");return parseInt(e.substring(n+3,e.indexOf(".",n)),10)}var i=e.indexOf("Edge/");return i>0&&parseInt(e.substring(i+5,e.indexOf(".",i)),10)}}],(n=[{key:"shadeRGBColor",value:function(e,t){var n=t.split(","),i=e<0?0:255,r=e<0?-1*e:e,o=parseInt(n[0].slice(4),10),a=parseInt(n[1],10),s=parseInt(n[2],10);return"rgb("+(Math.round((i-o)*r)+o)+","+(Math.round((i-a)*r)+a)+","+(Math.round((i-s)*r)+s)+")"}},{key:"shadeHexColor",value:function(e,t){var n=parseInt(t.slice(1),16),i=e<0?0:255,r=e<0?-1*e:e,o=n>>16,a=n>>8&255,s=255&n;return"#"+(16777216+65536*(Math.round((i-o)*r)+o)+256*(Math.round((i-a)*r)+a)+(Math.round((i-s)*r)+s)).toString(16).slice(1)}},{key:"shadeColor",value:function(t,n){return e.isColorHex(n)?this.shadeHexColor(t,n):this.shadeRGBColor(t,n)}}])&&cr(t.prototype,n),i&&cr(t,i),Object.defineProperty(t,"prototype",{writable:!1}),e}();const pr=hr;function mr(e){return mr="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},mr(e)}function fr(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,(void 0,r=function(e,t){if("object"!==mr(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,"string");if("object"!==mr(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(i.key),"symbol"===mr(r)?r:String(r)),i)}var r}var gr=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.ctx=t,this.w=t.w,this.documentEvent=pr.bind(this.documentEvent,this)}var t,n;return t=e,(n=[{key:"addEventListener",value:function(e,t){var n=this.w;n.globals.events.hasOwnProperty(e)?n.globals.events[e].push(t):n.globals.events[e]=[t]}},{key:"removeEventListener",value:function(e,t){var n=this.w;if(n.globals.events.hasOwnProperty(e)){var i=n.globals.events[e].indexOf(t);-1!==i&&n.globals.events[e].splice(i,1)}}},{key:"fireEvent",value:function(e,t){var n=this.w;if(n.globals.events.hasOwnProperty(e)){t&&t.length||(t=[]);for(var i=n.globals.events[e],r=i.length,o=0;o<r;o++)i[o].apply(null,t)}}},{key:"setupEventHandlers",value:function(){var e=this,t=this.w,n=this.ctx,i=t.globals.dom.baseEl.querySelector(t.globals.faceAgeClass);this.ctx.eventList.forEach((function(e){i.addEventListener(e,(function(e){var i=Object.assign({},t,{seriesIndex:t.globals.capturedSeriesIndex,dataPointIndex:t.globals.capturedDataPointIndex});"mousemove"===e.type||"touchmove"===e.type?"function"==typeof t.config.faceAge.events.mouseMove&&t.config.faceAge.events.mouseMove(e,n,i):"mouseleave"===e.type||"touchleave"===e.type?"function"==typeof t.config.faceAge.events.mouseLeave&&t.config.faceAge.events.mouseLeave(e,n,i):("mouseup"===e.type&&1===e.which||"touchend"===e.type)&&("function"==typeof t.config.faceAge.events.click&&t.config.faceAge.events.click(e,n,i),n.ctx.events.fireEvent("click",[e,n,i]))}),{capture:!1,passive:!0})})),this.ctx.eventList.forEach((function(n){t.globals.dom.baseEl.addEventListener(n,e.documentEvent,{passive:!0})})),this.ctx.core.setupBrushHandler()}},{key:"documentEvent",value:function(e){var t=this.w,n=e.target.className;if("click"===e.type){var i=t.globals.dom.baseEl.querySelector(".faceage-menu");i&&i.classList.contains("faceage-menu-open")&&"faceage-menu-icon"!==n&&i.classList.remove("faceage-menu-open")}t.globals.clientX="touchmove"===e.type?e.touches[0].clientX:e.clientX,t.globals.clientY="touchmove"===e.type?e.touches[0].clientY:e.clientY}}])&&fr(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function vr(e){return vr="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},vr(e)}function yr(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,(void 0,r=function(e,t){if("object"!==vr(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,"string");if("object"!==vr(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(i.key),"symbol"===vr(r)?r:String(r)),i)}var r}var br=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.ctx=t,this.w=t.w}var t,n;return t=e,(n=[{key:"getAdvisorData",value:function(e){var t=this;return new Promise((function(n,i){"function"==typeof e?t.w.globals.getAdvisorData=function(n){try{e({analysis:n,activeSelections:t.w.globals.formData})}catch(e){i(new Error("Error calling:",e.message))}}:i(new Error("function not valid"))}))}},{key:"getImage",value:function(){try{return this.w.globals.imageSubmit?this.w.globals.imageSubmit:null}catch(e){return null}}},{key:"getActiveSelections",value:function(e){var t=this;return new Promise((function(n,i){"function"==typeof e?t.w.globals.getActiveSelections=function(t){try{e(t)}catch(e){i(new Error("Error calling:",e.message))}}:i(new Error("function not valid"))}))}},{key:"getRoutineGroup",value:function(){try{return this.w.globals.routineGroup}catch(e){return null}}},{key:"setCustomProducts",value:function(e){try{this.w.globals.productLoader=!0;var t=(n=e,i=this.w.globals.routineGroup,r=this.w.globals.problems,o=[],n.forEach((function(e,t){var n={};if(null===e.id&&(n.id="ID is required"),null===e.title||""===e.title.trim()?n.title="Title is required":Ei(e.title)&&(n.title="Title is not valid"),e.description&&Ei(e.description)&&(n.description="Description is not valid"),null===e.url||""===e.url.trim()?n.url="URL is required":ji(e.url)||(n.url="URL must be a valid HTTPS URL"),null===e.image||""===e.image.trim()?n.image="Image is required":ji(e.image)||(n.image="Image must be a valid HTTPS URL"),("number"!=typeof e.price||e.price<0)&&(n.price="Price must be a non-negative number"),void 0!==e.offerPrice&&("number"!=typeof e.offerPrice||e.offerPrice<0)&&(n.offerPrice="Offer price must be a non-negative number if provided"),void 0!==e.routineGroups)if(Array.isArray(e.routineGroups)||"object"===_i(e.routineGroups)){var a=[];Array.isArray(e.routineGroups)?e.routineGroups.map((function(e){Object.values(i).some((function(t){return Object.keys(t).some((function(t){return t.toLowerCase()===e.toLowerCase()}))}))||a.push(e)})):"object"===_i(e.routineGroups)&&Object.keys(e.routineGroups).forEach((function(t){Object.keys(i).some((function(n){if(t===n){var r=e.routineGroups[t],o=i[n];return r.forEach((function(e){Object.keys(o).some((function(t){return e.toLowerCase()===t.toLowerCase()}))||a.push(e)})),!0}return!1}))||a.push(t)})),a.length>0&&(n.routineGroups="Invalid routine groups: ".concat(a.join(", ")))}else n.routineGroups="Routine groups must be an array";if(void 0!==e.problems&&e.problems)if(Array.isArray(e.problems)){var s=[];e.problems.map((function(e){var t=!1;Object.keys(r).forEach((function(n,i){r[n],n.toLowerCase()===e.toLowerCase()&&(t=!0)})),t||s.push(e)})),s.length>0&&(n.problems="Invalid problem: ".concat(s.join(", ")))}else n.problems="problems must be an array";else n.problems="Problems is required";void 0!==e.variables&&"object"!==_i(e.variables)?n.variables="Variables must be an object if provided":"object"===_i(e.variables)&&Object.keys(e.variables).forEach((function(t,i){var r=e.variables[t];r.title&&r.option||(n["variables[".concat(t,"]")]="Each variable must have both title and option"),Array.isArray(r.option)&&r.option.forEach((function(i,r){i.label&&i.value||(n["variables[".concat(t,"][").concat(r,"]")]="Each variable must have both label and value"),void 0!==i.price&&("number"!=typeof i.price||i.price<0)&&(n["variables[".concat(t,"][").concat(r,"]")]="Price must be a non-negative number"),void 0!==i.offerPrice&&("number"!=typeof i.offerPrice||e.offerPrice<0)&&(n["variables[".concat(t,"][").concat(r,"]")]="Offer price must be a non-negative number if provided")}))})),Object.keys(n).length>0&&o.push({index:t,errors:n})})),o.length>0?o:null);t?console.error(t):(this.w.globals.productLists=e,this.w.globals.productLoader=!1)}catch(e){console.error("add custom products error: "+e)}var n,i,r,o}}])&&yr(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function kr(e){return kr="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},kr(e)}function wr(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,(void 0,r=function(e,t){if("object"!==kr(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,"string");if("object"!==kr(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(i.key),"symbol"===kr(r)?r:String(r)),i)}var r}"undefined"!=typeof window&&void 0===window.FaceAge&&(window.FaceAge={});var Sr=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.ctx=t,this.w=t.w}var t,n;return t=e,(n=[{key:"initModules",value:function(){this.ctx.publicMethods=["onClickProblem","onDisplayProducts","onDisplayRoutines","onAddToCart","onCheckout","onClickProduct","onCloseModal","onRefresh"],this.ctx.publicApiMethods=["getAdvisorData","getActiveSelections","setCustomProducts","getImage","getRoutineGroup"],this.ctx.eventList=[],this.ctx.core=new lr(this.ctx.el,this.ctx),this.ctx.events=new gr(this.ctx),this.ctx.API=new br(this.ctx)}}])&&wr(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}(),Cr={en:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","If you upload a selfie, the image will be used to provide more precise recommendations that may be of interest to you. The image is deleted after being analyzed.":"If you upload a selfie, the image will be used to provide more precise recommendations that may be of interest to you. The image is deleted after being analyzed.","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"your picture quality is blurry","be wearing glasses":"be wearing glasses","please remove them":"please remove them","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","Your image is blurry":"Your image is blurry","You have glasses":"You have glasses","The light on your face is not suitable":"The light on your face is not suitable","The face is not neutral (You may have a smile)":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products"}')},de:{translation:JSON.parse('{"Skin Analysis":"Hautanalyse","Look Straight":"Schauen Sie geradeaus","Face Position":"Gesichtsposition","Lighting":"Beleuchtung","Good":"Gut","Not Good":"Nicht gut","Bad":"Schlecht","Fair":"Gerecht","Powered by":"Angetrieben von","Your distance is close to the camera":"Ihr Abstand ist nah an der Kamera","Keep your face inside the circle":"Halten Sie Ihr Gesicht innerhalb des Kreises","Please stand in front of the camera":"Bitte stellen Sie sich vor die Kamera","There is more than one person in the picture":"Auf dem Bild sind mehr als eine Person zu sehen","Drag & Drop":"Drag & Drop","Or":"Oder","browse":"durchsuchen","Supports: JPEG, JPG, PNG":"Unterstützt: JPEG, JPG, PNG","Release to Upload":"Zum Hochladen freigeben","file not supported":"Datei wird nicht unterstützt","Sending Facial Data...":"Gesichtsdaten werden gesendet...","Scanning Face...":"Gesicht scannen...","Analyzing Facial Attributes...":"Gesichtsattribute analysieren...","AI Crafting Report..":"KI-Crafting-Bericht.","Skin Info":"Hautinformationen","Fine Wrinkles":"Falten","Eye Wrinkles":"Augenfalten","Deep Wrinkles":"Tiefe Falten","Dark Circle":"Dunkler Kreis","Eye Bag":"Augenbeutel","Pores":"Poren","Pigment":"Pigmente","Redness":"Rötung","Oiliness":"Fettigkeit","Acnes":"Akne","Acne":"Akne","Skin Health":"Hautgesundheit","Instructions":"Anweisungen","Get Ready to Start Skin Analysis":"Machen Sie sich bereit für die Hautanalyse","Remove the glasses":"Nehmen Sie die Brille ab","Clean your face":"Reinige dein Gesicht","Be in the right light":"Seien Sie im richtigen Licht","Be neutral face and fix position":"Seien Sie neutral und fixieren Sie die Position","Get Started":"Legen Sie los","If you upload a selfie, the image will be used to provide more precise recommendations that may be of interest to you. The image is deleted after being analyzed.":"Wenn Sie ein Selfie hochladen, wird das Bild verwendet, um genauere Empfehlungen zu geben, die für Sie von Interesse sein könnten. ","See our":"Sehen Sie sich unsere an","Privacy Policy":"Datenschutzrichtlinie","for more information":"für weitere Informationen","your picture quality is blurry":"Ihre Bildqualität ist verschwommen","be wearing glasses":"eine Brille tragen","please remove them":"Bitte entfernen Sie sie","Improve photo quality":"Verbessern Sie die Fotoqualität","We noticed you might":"Wir haben es bemerkt","and":"Und","for better results":"für bessere Ergebnisse","Tips for taking better selfies":"Tipps für bessere Selfies","Continue":"Weitermachen","Generate routine for you":"Schaffen Sie Routine für sich","Re-take":"Wiederholung","Get recommended products!":"Holen Sie sich empfohlene Produkte!","Recommendation Products":"Empfehlungsprodukte","Products That Just Work For you":"Produkte, die genau zu Ihnen passen","My Skin Report":"Mein Hautbericht","Add to cart":"In den Warenkorb legen","Add again":"Nochmals hinzufügen","Checkout":"Kasse","My Routines":"Meine Routinen","Your":"Dein","Routine":"Routine","Morning":"Morgen","Night":"Nacht","Error":"Fehler","The face is not visible in the picture":"Das Gesicht ist auf dem Bild nicht zu sehen","The input image is not suitable":"Das Eingabebild ist nicht geeignet","An error occurred, please check again":"Es ist ein Fehler aufgetreten, bitte überprüfen Sie es erneut","Camera permission denied.":"Kameraberechtigung verweigert.","Unable to access the camera.":"Auf die Kamera kann nicht zugegriffen werden.","Your image is blurry":"Ihr Bild ist verschwommen","You have glasses":"Du hast eine Brille","The light on your face is not suitable":"Das Licht auf Ihrem Gesicht ist nicht geeignet","The face is not neutral (You may have a smile)":"Das Gesicht ist nicht neutral (Sie haben möglicherweise ein Lächeln)","Image is not suitable":"Bild ist nicht geeignet","Check how you can improve your skin with the proper product and routine":"Prüfen Sie, wie Sie Ihre Haut mit dem richtigen Produkt und der richtigen Routine verbessern können","There are no products to display":"Es sind keine Produkte zum Anzeigen vorhanden","routines.content.cleanser":"Waschen Sie zunächst Ihr Gesicht, um Schmutz, Öl und Unreinheiten zu entfernen. ","routines.content.toner":"Verwenden Sie einen Toner, um den pH-Wert Ihrer Haut auszugleichen und alle Rückstände zu entfernen.","routines.content.serum":"Tragen Sie ein konzentriertes Serum auf, das gezielt auf bestimmte Anliegen abzielt, z. B. Aufhellung oder Anti-Aging. ","routines.content.eyeCream":"Tragen Sie die Augencreme sanft auf die Augenpartie auf, um sie mit Feuchtigkeit zu versorgen und Schwellungen oder Augenringe zu reduzieren.","routines.content.spotTreatment":"Tragen Sie die punktuelle Behandlung auf Problemzonen wie Akne oder Hautunreinheiten auf. ","routines.content.moisturizer":"Schützen Sie Ihre Haut mit Feuchtigkeit, indem Sie eine Feuchtigkeitscreme auftragen, die zu Ihrem Hauttyp passt. ","routines.content.sunscreen":"Schützen Sie Ihre Haut vor schädlichen UV-Strahlen, indem Sie Sonnenschutzmittel mit Breitbandschutz verwenden. ","routines.content.faceOil":"Tragen Sie ein leichtes Gesichtsöl auf, um die Feuchtigkeit einzuschließen und Ihrer Haut einen strahlenden Glanz zu verleihen. ","routines.content.nightCream":"Verwenden Sie eine reichhaltige Nachtcreme, um Ihre Haut im Schlaf zu reparieren und wiederherzustellen. ","Cleanser":"Reinigungsmittel","Toner":"Toner","Serum":"Serum","Eye Cream":"Augencreme","Spot Treatment":"Spot-Behandlung","Moisturizer":"Feuchtigkeitscreme","Sunscreen":"Sonnenschutz","Face Oil":"Gesichtsöl","Night Cream":"Nachtcreme","Add all to cart":"Alle in den Warenkorb","All Products":"Alle Produkte"}')},zh:{translation:JSON.parse('{"Skin Analysis":"皮肤分析","Look Straight":"直视","Face Position":"面部位置","Lighting":"灯光","Good":"好的","Not Good":"不好","Bad":"坏的","Fair":"公平的","Powered by":"供电","Your distance is close to the camera":"您与相机的距离很近","Keep your face inside the circle":"将脸保持在圆圈内","Please stand in front of the camera":"请站在镜头前","There is more than one person in the picture":"图片中不止一个人","Drag & Drop":"拖放","Or":"或者","browse":"浏览","Supports: JPEG, JPG, PNG":"支持:JPEG、JPG、PNG","Release to Upload":"发布上传","file not supported":"文件不支持","Sending Facial Data...":"正在发送面部数据...","Scanning Face...":"扫描人脸...","Analyzing Facial Attributes...":"分析面部特征...","AI Crafting Report..":"人工智能制作报告..","Skin Info":"皮肤信息","Fine Wrinkles":"皱纹","Eye Wrinkles":"眼部皱纹","Deep Wrinkles":"深层皱纹","Dark Circle":"黑眼圈","Eye Bag":"眼袋","Pores":"毛孔","Pigment":"颜料","Redness":"发红","Oiliness":"油性","Acnes":"粉刺","Acne":"粉刺","Skin Health":"皮肤健康","Instructions":"指示","Get Ready to Start Skin Analysis":"准备开始皮肤分析","Remove the glasses":"摘下眼镜","Clean your face":"清洁你的脸","Be in the right light":"在正确的光线下","Be neutral face and fix position":"保持中立表情并固定位置","Get Started":"开始使用","If you upload a selfie, the image will be used to provide more precise recommendations that may be of interest to you. The image is deleted after being analyzed.":"如果您上传自拍照,该图像将用于提供您可能感兴趣的更精确的推荐。","See our":"看看我们的","Privacy Policy":"隐私政策","for more information":"欲了解更多信息","your picture quality is blurry":"你的画质很模糊","be wearing glasses":"戴眼镜","please remove them":"请删除它们","Improve photo quality":"提高照片质量","We noticed you might":"我们注意到您可能","and":"和","for better results":"为了更好的结果","Tips for taking better selfies":"拍摄更好自拍照的技巧","Continue":"继续","Generate routine for you":"为您生成例程","Re-take":"重拍","Get recommended products!":"获取推荐产品!","Recommendation Products":"推荐产品","Products That Just Work For you":"适合您的产品","My Skin Report":"我的皮肤报告","Add to cart":"添加到购物车","Add again":"再次添加","Checkout":"查看","My Routines":"我的日常","Your":"你的","Routine":"常规","Morning":"早晨","Night":"夜晚","Error":"错误","The face is not visible in the picture":"照片中看不到脸","The input image is not suitable":"输入图像不合适","An error occurred, please check again":"发生错误,请再次检查","Camera permission denied.":"相机权限被拒绝。","Unable to access the camera.":"无法访问相机。","Your image is blurry":"你的图像模糊","You have glasses":"你有眼镜","The light on your face is not suitable":"你脸上的光线不合适","The face is not neutral (You may have a smile)":"脸不是中性的(你可能有微笑)","Image is not suitable":"图片不合适","Check how you can improve your skin with the proper product and routine":"检查如何使用正确的产品和日常护理来改善皮肤","There are no products to display":"没有可展示的产品","routines.content.cleanser":"首先洗脸,去除污垢、油脂和杂质。","routines.content.toner":"使用爽肤水来平衡皮肤的 pH 值并去除任何残留物。","routines.content.serum":"使用针对特定问题的浓缩精华液,例如美白或抗衰老。","routines.content.eyeCream":"轻轻拍打眼部周围的眼霜,以补充水分并减少浮肿或黑眼圈。","routines.content.spotTreatment":"对任何有问题的区域进行局部治疗,例如痤疮或瑕疵。","routines.content.moisturizer":"使用适合您皮肤类型的保湿霜来锁住水分。","routines.content.sunscreen":"使用具有广谱保护的防晒霜,保护您的皮肤免受有害紫外线的伤害。","routines.content.faceOil":"涂抹轻质面油,锁住水分,让肌肤焕发光彩。","routines.content.nightCream":"使用浓郁的晚霜有助于在睡眠时修复和恢复皮肤。","Cleanser":"洁面乳","Toner":"爽肤水","Serum":"血清","Eye Cream":"眼霜","Spot Treatment":"斑点处理","Moisturizer":"保湿霜","Sunscreen":"防晒霜","Face Oil":"面油","Night Cream":"晚霜"}')},tr:{translation:JSON.parse('{"Skin Analysis":"Cilt Analizi","Look Straight":"Düz Görün","Face Position":"Yüz Konumu","Lighting":"Aydınlatma","Good":"İyi","Not Good":"İyi değil","Bad":"Kötü","Fair":"Adil","Powered by":"Tarafından desteklenmektedir","Your distance is close to the camera":"Mesafeniz kameraya yakın","Keep your face inside the circle":"Yüzünüzü dairenin içinde tutun","Please stand in front of the camera":"Lütfen kameranın önünde durun","There is more than one person in the picture":"Resimde birden fazla kişi var","Drag & Drop":"Sürükle ve Bırak","Or":"Veya","browse":"göz at","Supports: JPEG, JPG, PNG":"Destekler: JPEG, JPG, PNG","Release to Upload":"Yüklemek için Yayınla","file not supported":"dosya desteklenmiyor","Sending Facial Data...":"Yüz Verileri Gönderiliyor...","Scanning Face...":"Yüz Taranıyor...","Analyzing Facial Attributes...":"Yüz Nitelikleri Analiz Ediliyor...","AI Crafting Report..":"Yapay Zeka Hazırlama Raporu..","Skin Info":"Cilt Bilgisi","Fine Wrinkles":"Kırışıklıklar","Eye Wrinkles":"Göz Kırışıklıkları","Deep Wrinkles":"Derin Kırışıklıklar","Dark Circle":"Karanlık Çember","Eye Bag":"Göz Torbası","Pores":"Gözenekler","Pigment":"Pigmentler","Redness":"Kırmızılık","Oiliness":"Yağlılık","Acnes":"Akne","Acne":"Akne","Skin Health":"Cilt Sağlığı","Instructions":"Talimatlar","Get Ready to Start Skin Analysis":"Cilt Analizine Başlamaya Hazır Olun","Remove the glasses":"Gözlükleri çıkarın","Clean your face":"Yüzünü temizle","Be in the right light":"Doğru ışıkta olun","Be neutral face and fix position":"Nötr yüz olun ve pozisyonu sabitleyin","Get Started":"Başlarken","If you upload a selfie, the image will be used to provide more precise recommendations that may be of interest to you. The image is deleted after being analyzed.":"Bir selfie yüklerseniz ilginizi çekebilecek daha kesin öneriler sağlamak için resim kullanılacaktır. ","See our":"Bizimkilere bakın","Privacy Policy":"Gizlilik Politikası","for more information":"daha fazla bilgi için","your picture quality is blurry":"resim kaliteniz bulanık","be wearing glasses":"gözlük takıyor olmak","please remove them":"lütfen onları kaldırın","Improve photo quality":"Fotoğraf kalitesini artırın","We noticed you might":"yapabileceğini fark ettik","and":"Ve","for better results":"daha iyi sonuçlar için","Tips for taking better selfies":"Daha iyi selfieler çekmek için ipuçları","Continue":"Devam etmek","Generate routine for you":"Kendiniz için rutin oluşturun","Re-take":"Tekrar al","Get recommended products!":"Önerilen ürünleri alın!","Recommendation Products":"Tavsiye Ürünleri","Products That Just Work For you":"Tam İşinize Yarayan Ürünler","My Skin Report":"Cilt Raporum","Add to cart":"Sepete ekle","Add again":"Tekrar ekle","Checkout":"Çıkış yapmak","My Routines":"Rutinlerim","Your":"Senin","Routine":"Rutin","Morning":"Sabah","Night":"Gece","Error":"Hata","The face is not visible in the picture":"Resimde yüzü görünmüyor","The input image is not suitable":"Giriş görüntüsü uygun değil","An error occurred, please check again":"Bir hata oluştu, lütfen tekrar kontrol edin","Camera permission denied.":"Kamera izni reddedildi.","Unable to access the camera.":"Kameraya erişilemiyor.","Your image is blurry":"Görüntünüz bulanık","You have glasses":"Gözlüklerin var","The light on your face is not suitable":"Yüzünüzdeki ışık uygun değil","The face is not neutral (You may have a smile)":"Yüz nötr değil (Bir gülümsemeniz olabilir)","Image is not suitable":"Resim uygun değil","Check how you can improve your skin with the proper product and routine":"Doğru ürün ve rutinle cildinizi nasıl iyileştirebileceğinizi kontrol edin","There are no products to display":"Gösterilecek ürün yok","routines.content.cleanser":"Kiri, yağı ve yabancı maddeleri temizlemek için yüzünüzü yıkayarak başlayın. ","routines.content.toner":"Cildinizin pH\'ını dengelemek ve kalan kalıntıları gidermek için bir toner kullanın.","routines.content.serum":"Parlatma veya yaşlanma karşıtı gibi belirli endişeleri hedef alan konsantre bir serum uygulayın. ","routines.content.eyeCream":"Nemlendirmek ve şişlikleri veya koyu halkaları azaltmak için göz kremini göz çevresine hafifçe vurun.","routines.content.spotTreatment":"Sivilce veya leke gibi sorunlu bölgelere leke tedavisi uygulayın. ","routines.content.moisturizer":"Cilt tipinize uygun bir nemlendirici uygulayarak nemi sabitleyin. ","routines.content.sunscreen":"Geniş spektrumlu güneş koruyucu kullanarak cildinizi zararlı UV ışınlarından koruyun. ","routines.content.faceOil":"Nemi hapsetmek ve cildinize parlak bir parlaklık kazandırmak için hafif bir yüz yağı uygulayın. ","routines.content.nightCream":"Uyurken cildinizin onarılmasına ve yenilenmesine yardımcı olması için zengin bir gece kremi kullanın. ","Cleanser":"Temizleyici","Toner":"Toner","Serum":"Serum","Eye Cream":"Göz Kremi","Spot Treatment":"Leke Tedavisi","Moisturizer":"Nemlendirici","Sunscreen":"Güneş kremi","Face Oil":"Yüz Yağı","Night Cream":"Gece Kremi"}')},hu:{translation:JSON.parse('{"Skin Analysis":"Bőrelemzés","Look Straight":"Nézz egyenesen","Face Position":"Arc helyzete","Lighting":"Világítás","Good":"Jó","Not Good":"Nem jó","Bad":"Rossz","Fair":"Igazságos","Powered by":"Powered by","Your distance is close to the camera":"A távolság közel van a kamerához","Keep your face inside the circle":"Tartsa az arcát a körön belül","Please stand in front of the camera":"Kérem, álljon a kamera elé","There is more than one person in the picture":"A képen egynél több ember van","Drag & Drop":"Drag & Drop","Or":"Vagy","browse":"böngésszen","Supports: JPEG, JPG, PNG":"Támogatja: JPEG, JPG, PNG","Release to Upload":"Engedje fel a feltöltéshez","file not supported":"fájl nem támogatott","Sending Facial Data...":"Arcadatok küldése...","Scanning Face...":"Arc beolvasása...","Analyzing Facial Attributes...":"Arctulajdonságok elemzése...","AI Crafting Report..":"AI Crafting Report...","Skin Info":"Bőrinformáció","Fine Wrinkles":"Ráncok","Eye Wrinkles":"Szemráncok","Deep Wrinkles":"Mély ráncok","Dark Circle":"Sötét Kör","Eye Bag":"Szemtáska","Pores":"Pórusok","Pigment":"Pigmentek","Redness":"Vörösség","Oiliness":"Olajosság","Acnes":"Pattanás","Acne":"Pattanás","Skin Health":"Bőr egészsége","Instructions":"Utasítás","Get Ready to Start Skin Analysis":"Készüljön fel a bőrelemzés megkezdésére","Remove the glasses":"Távolítsa el a szemüveget","Clean your face":"Tisztítsa meg az arcát","Be in the right light":"Legyen a megfelelő fényben","Be neutral face and fix position":"Legyen semleges arc és rögzítse a pozícióját","Get Started":"Kezdje el","If you upload a selfie, the image will be used to provide more precise recommendations that may be of interest to you. The image is deleted after being analyzed.":"Ha feltölt egy szelfit, a képet arra használjuk, hogy pontosabb ajánlásokat adjunk, amelyek érdekesek lehetnek az Ön számára. ","See our":"Lásd a mi","Privacy Policy":"Adatvédelmi szabályzat","for more information":"további információkért","your picture quality is blurry":"a képminősége homályos","be wearing glasses":"legyen szemüveges","please remove them":"kérjük távolítsa el őket","Improve photo quality":"Javítsa a fénykép minőségét","We noticed you might":"Észrevettük, hogy lehet","and":"és","for better results":"jobb eredmények érdekében","Tips for taking better selfies":"Tippek jobb szelfik készítéséhez","Continue":"Folytatás","Generate routine for you":"Generáljon rutint az Ön számára","Re-take":"Vedd újra","Get recommended products!":"Szerezze be az ajánlott termékeket!","Recommendation Products":"Termékajánlás","Products That Just Work For you":"Termékek, amelyek csak Önnek működnek","My Skin Report":"My Skin Report","Add to cart":"Kosárba","Add again":"Adja hozzá újra","Checkout":"Pénztár","My Routines":"Saját rutinok","Your":"A te","Routine":"Rutin","Morning":"Reggel","Night":"Éjszaka","Error":"Hiba","The face is not visible in the picture":"Az arc nem látszik a képen","The input image is not suitable":"A bemeneti kép nem megfelelő","An error occurred, please check again":"Hiba történt, ellenőrizze újra","Camera permission denied.":"Kameraengedély megtagadva.","Unable to access the camera.":"Nem lehet hozzáférni a kamerához.","Your image is blurry":"A képed homályos","You have glasses":"Szemüveged van","The light on your face is not suitable":"Az arc fénye nem megfelelő","The face is not neutral (You may have a smile)":"Az arc nem semleges (mosolyoghat)","Image is not suitable":"A kép nem megfelelő","Check how you can improve your skin with the proper product and routine":"Ellenőrizze, hogyan javíthatja bőrét a megfelelő termékkel és rutinnal","There are no products to display":"Nincsenek megjeleníthető termékek","routines.content.cleanser":"Kezdje az arcmosással, hogy eltávolítsa a szennyeződéseket, olajat és szennyeződéseket. ","routines.content.toner":"Használjon tonikot a bőr pH-értékének kiegyensúlyozására és a maradék maradék eltávolítására.","routines.content.serum":"Használjon koncentrált szérumot, amely speciális problémákat céloz meg, mint például a fényesítő vagy az öregedésgátló. ","routines.content.eyeCream":"Finoman dörzsölje be a szemkörnyéki krémet a szemkörnyék körül, hogy hidratálja és csökkentse a duzzanatot vagy a sötét karikákat.","routines.content.spotTreatment":"Alkalmazzon foltkezelést minden problémás területre, például pattanásokra vagy foltokra. ","routines.content.moisturizer":"Rögzítse a hidratálást a bőrtípusának megfelelő hidratáló krémmel. ","routines.content.sunscreen":"Védje bőrét a káros UV-sugárzástól széles spektrumú fényvédő krémmel. ","routines.content.faceOil":"Vigyen fel egy könnyű arcolajat, hogy elzárja a nedvességet, és ragyogó fényt adjon bőrének. ","routines.content.nightCream":"Használjon gazdag éjszakai krémet a bőr helyreállításához és helyreállításához alvás közben. ","Cleanser":"Tisztítószer","Toner":"Toner","Serum":"Szérum","Eye Cream":"Szemkörnyékápoló krém","Spot Treatment":"Spot kezelés","Moisturizer":"Hidratáló krém","Sunscreen":"Fényvédő krém","Face Oil":"Arcolaj","Night Cream":"Éjszakai krém"}')},lt:{translation:JSON.parse('{"Skin Analysis":"Odos analizė","Look Straight":"Žiūrėk tiesiai","Face Position":"Veido padėtis","Lighting":"Apšvietimas","Good":"Gerai","Not Good":"Negerai","Bad":"Blogai","Fair":"Sąžininga","Powered by":"Maitinamas","Your distance is close to the camera":"Jūsų atstumas yra arti fotoaparato","Keep your face inside the circle":"Laikykite veidą apskritimo viduje","Please stand in front of the camera":"Prašome atsistoti prieš kamerą","There is more than one person in the picture":"Nuotraukoje yra daugiau nei vienas asmuo","Drag & Drop":"Drag & Drop","Or":"Arba","browse":"naršyti","Supports: JPEG, JPG, PNG":"Palaiko: JPEG, JPG, PNG","Release to Upload":"Išleiskite įkelti","file not supported":"failas nepalaikomas","Sending Facial Data...":"Siunčiami veido duomenys...","Scanning Face...":"Nuskaitomas veidas...","Analyzing Facial Attributes...":"Analizuojamos veido savybės...","AI Crafting Report..":"AI kūrimo ataskaita..","Skin Info":"Informacija apie odą","Fine Wrinkles":"Raukšlės","Eye Wrinkles":"Akių raukšlės","Deep Wrinkles":"Gilios raukšlės","Dark Circle":"Tamsus ratas","Eye Bag":"Akių krepšys","Pores":"Poros","Pigment":"Pigmentai","Redness":"Paraudimas","Oiliness":"Riebalingumas","Acnes":"Spuogai","Acne":"Spuogai","Skin Health":"Odos sveikata","Instructions":"Instrukcijos","Get Ready to Start Skin Analysis":"Pasiruoškite pradėti odos analizę","Remove the glasses":"Nuimkite akinius","Clean your face":"Nuvalykite veidą","Be in the right light":"Būkite tinkamoje šviesoje","Be neutral face and fix position":"Būkite neutralus veidas ir fiksuokite padėtį","Get Started":"Pradėkite","If you upload a selfie, the image will be used to provide more precise recommendations that may be of interest to you. The image is deleted after being analyzed.":"Jei įkelsite asmenukę, vaizdas bus naudojamas siekiant pateikti tikslesnes rekomendacijas, kurios gali jus sudominti. ","See our":"Žiūrėkite mūsų","Privacy Policy":"Privatumo politika","for more information":"Norėdami gauti daugiau informacijos","your picture quality is blurry":"jūsų vaizdo kokybė yra neryški","be wearing glasses":"nešioti akinius","please remove them":"prašome juos pašalinti","Improve photo quality":"Pagerinkite nuotraukų kokybę","We noticed you might":"Mes pastebėjome, kad galite","and":"ir","for better results":"geresnių rezultatų","Tips for taking better selfies":"Patarimai, kaip daryti geresnes asmenukes","Continue":"Tęsti","Generate routine for you":"Sukurkite jums rutiną","Re-take":"Paimkite iš naujo","Get recommended products!":"Gaukite rekomenduojamus produktus!","Recommendation Products":"Rekomendacijos produktai","Products That Just Work For you":"Produktai, kurie tinka tik jums","My Skin Report":"Mano odos ataskaita","Add to cart":"Pridėti į krepšelį","Add again":"Pridėti dar kartą","Checkout":"Patikra","My Routines":"Mano kasdienybės","Your":"Jūsų","Routine":"Rutina","Morning":"Rytas","Night":"Naktis","Error":"Klaida","The face is not visible in the picture":"Nuotraukoje veido nesimato","The input image is not suitable":"Įvesties vaizdas netinka","An error occurred, please check again":"Įvyko klaida, patikrinkite dar kartą","Camera permission denied.":"Fotoaparato leidimas atmestas.","Unable to access the camera.":"Nepavyko pasiekti fotoaparato.","Your image is blurry":"Jūsų vaizdas neryškus","You have glasses":"Tu turi akinius","The light on your face is not suitable":"Šviesa ant veido netinka","The face is not neutral (You may have a smile)":"Veidas nėra neutralus (galite šypsotis)","Image is not suitable":"Vaizdas netinkamas","Check how you can improve your skin with the proper product and routine":"Patikrinkite, kaip galite pagerinti savo odą naudodami tinkamą produktą ir įprastą tvarką","There are no products to display":"Nėra produktų, kuriuos būtų galima rodyti","routines.content.cleanser":"Pradėkite plaudami veidą, kad pašalintumėte nešvarumus, aliejų ir nešvarumus. ","routines.content.toner":"Naudokite toniką, kad subalansuotumėte odos pH ir pašalintumėte likusius likučius.","routines.content.serum":"Tepkite koncentruotą serumą, skirtą konkrečioms problemoms, pvz., šviesinimui ar senėjimui stabdymui. ","routines.content.eyeCream":"Švelniai patepkite paakių kremu aplink akių sritį, kad sudrėkintumėte ir sumažintumėte paburkimą ar tamsius ratilus.","routines.content.spotTreatment":"Tepkite taškinį gydymą ant bet kokių probleminių vietų, tokių kaip spuogai ar dėmės. ","routines.content.moisturizer":"Užfiksuokite hidrataciją naudodami jūsų odos tipą atitinkantį drėkinamąjį kremą. ","routines.content.sunscreen":"Apsaugokite odą nuo žalingų UV spindulių naudodami plataus spektro apsaugą nuo saulės. ","routines.content.faceOil":"Užtepkite lengvo veido aliejaus, kad sulaikytumėte drėgmę ir suteiktumėte odai spindesio. ","routines.content.nightCream":"Naudokite sodrų naktinį kremą, kuris padės atkurti ir atkurti odą miegant. ","Cleanser":"Valiklis","Toner":"Toneris","Serum":"Serumas","Eye Cream":"Akių kremas","Spot Treatment":"Taškinis gydymas","Moisturizer":"Drėkiklis","Sunscreen":"Apsauginis kremas nuo saulės","Face Oil":"Veido aliejus","Night Cream":"Naktinis kremas"}')},bn:{translation:JSON.parse('{"Skin Analysis":"ত্বক বিশ্লেষণ","Look Straight":"সোজাসুজি তাকান","Face Position":"মুখের অবস্থান","Lighting":"লাইটিং","Good":"ভাল","Not Good":"ভালো না","Bad":"খারাপ","Fair":"মেলা","Powered by":"দ্বারা চালিত","Your distance is close to the camera":"আপনার দূরত্ব ক্যামেরার কাছাকাছি","Keep your face inside the circle":"আপনার মুখ বৃত্তের ভিতরে রাখুন","Please stand in front of the camera":"দয়া করে ক্যামেরার সামনে দাঁড়ান","There is more than one person in the picture":"ছবিতে একাধিক ব্যক্তি রয়েছেন","Drag & Drop":"টেনে আনুন","Or":"বা","browse":"ব্রাউজ","Supports: JPEG, JPG, PNG":"সমর্থন করে: JPEG, JPG, PNG","Release to Upload":"আপলোড করতে রিলিজ করুন","file not supported":"ফাইল সমর্থিত নয়","Sending Facial Data...":"ফেসিয়াল ডেটা পাঠানো হচ্ছে...","Scanning Face...":"মুখ স্ক্যান করা হচ্ছে...","Analyzing Facial Attributes...":"মুখের বৈশিষ্ট্য বিশ্লেষণ করা হচ্ছে...","AI Crafting Report..":"এআই ক্রাফটিং রিপোর্ট..","Skin Info":"ত্বকের তথ্য","Fine Wrinkles":"বলিরেখা","Eye Wrinkles":"চোখের বলি","Deep Wrinkles":"গভীর বলিরেখা","Dark Circle":"ডার্ক সার্কেল","Eye Bag":"চোখের ব্যাগ","Pores":"ছিদ্র","Pigment":"রঙ্গক","Redness":"লালভাব","Oiliness":"তৈলাক্ততা","Acnes":"ব্রণ","Acne":"ব্রণ","Skin Health":"ত্বকের স্বাস্থ্য","Instructions":"নির্দেশনা","Get Ready to Start Skin Analysis":"ত্বক বিশ্লেষণ শুরু করার জন্য প্রস্তুত হন","Remove the glasses":"চশমা সরান","Clean your face":"আপনার মুখ পরিষ্কার করুন","Be in the right light":"সঠিক আলোতে থাকুন","Be neutral face and fix position":"নিরপেক্ষ মুখ হতে এবং অবস্থান ঠিক করুন","Get Started":"শুরু করুন","If you upload a selfie, the image will be used to provide more precise recommendations that may be of interest to you. The image is deleted after being analyzed.":"আপনি যদি একটি সেলফি আপলোড করেন, তাহলে ছবিটি আরও সুনির্দিষ্ট সুপারিশ প্রদান করতে ব্যবহার করা হবে যা আপনার আগ্রহের হতে পারে। ","See our":"আমাদের দেখুন","Privacy Policy":"গোপনীয়তা নীতি","for more information":"আরও তথ্যের জন্য","your picture quality is blurry":"আপনার ছবির মান অস্পষ্ট","be wearing glasses":"চশমা পরা হবে","please remove them":"তাদের অপসারণ করুন","Improve photo quality":"ছবির গুণমান উন্নত করুন","We noticed you might":"আমরা লক্ষ্য করেছি আপনি হতে পারে","and":"এবং","for better results":"ভালো ফলাফলের জন্য","Tips for taking better selfies":"আরও ভালো সেলফি তোলার টিপস","Continue":"চালিয়ে যান","Generate routine for you":"আপনার জন্য রুটিন তৈরি করুন","Re-take":"পুনরায় গ্রহণ করুন","Get recommended products!":"প্রস্তাবিত পণ্য পান!","Recommendation Products":"সুপারিশ পণ্য","Products That Just Work For you":"আপনার জন্য কাজ করে এমন পণ্য","My Skin Report":"আমার ত্বক রিপোর্ট","Add to cart":"কার্টে যোগ করুন","Add again":"আবার যোগ করুন","Checkout":"চেকআউট","My Routines":"আমার রুটিন","Your":"আপনার","Routine":"রুটিন","Morning":"সকাল","Night":"রাত্রি","Error":"ত্রুটি","The face is not visible in the picture":"ছবিতে মুখ দেখা যাচ্ছে না","The input image is not suitable":"ইনপুট ইমেজ উপযুক্ত নয়","An error occurred, please check again":"একটি ত্রুটি ঘটেছে, অনুগ্রহ করে আবার পরীক্ষা করুন৷","Camera permission denied.":"ক্যামেরার অনুমতি অস্বীকার করা হয়েছে৷","Unable to access the camera.":"ক্যামেরা অ্যাক্সেস করতে অক্ষম।","Your image is blurry":"আপনার ইমেজ ঝাপসা","You have glasses":"তোমার চশমা আছে","The light on your face is not suitable":"আপনার মুখের আলো উপযুক্ত নয়","The face is not neutral (You may have a smile)":"মুখ নিরপেক্ষ নয় (আপনার হাসি থাকতে পারে)","Image is not suitable":"ছবি উপযুক্ত নয়","Check how you can improve your skin with the proper product and routine":"সঠিক পণ্য এবং রুটিন দিয়ে আপনি কীভাবে আপনার ত্বকের উন্নতি করতে পারেন তা পরীক্ষা করুন","There are no products to display":"প্রদর্শন করার জন্য কোন পণ্য নেই","routines.content.cleanser":"ময়লা, তেল এবং অমেধ্য দূর করতে আপনার মুখ ধুয়ে শুরু করুন। ","routines.content.toner":"আপনার ত্বকের পিএইচ ভারসাম্য রাখতে এবং অবশিষ্ট অবশিষ্টাংশগুলি সরাতে একটি টোনার ব্যবহার করুন।","routines.content.serum":"উজ্জ্বল বা বিরোধী বার্ধক্য মত নির্দিষ্ট উদ্বেগ লক্ষ্য করে একটি ঘনীভূত সিরাম প্রয়োগ করুন। ","routines.content.eyeCream":"হাইড্রেট করতে এবং ফোলাভাব বা ডার্ক সার্কেল কমাতে চোখের চারপাশে আলতো করে আই ক্রিম প্যাট করুন।","routines.content.spotTreatment":"ব্রণ বা দাগের মতো সমস্যাযুক্ত স্থানে স্পট ট্রিটমেন্ট প্রয়োগ করুন। ","routines.content.moisturizer":"আপনার ত্বকের ধরন অনুসারে একটি ময়েশ্চারাইজার প্রয়োগ করে হাইড্রেশন লক করুন। ","routines.content.sunscreen":"ব্রড-স্পেকট্রাম সুরক্ষা সহ সানস্ক্রিন ব্যবহার করে ক্ষতিকারক UV রশ্মি থেকে আপনার ত্বককে রক্ষা করুন। ","routines.content.faceOil":"আর্দ্রতা সিল করতে এবং আপনার ত্বককে একটি উজ্জ্বল আভা দিতে হালকা ওজনের মুখের তেল প্রয়োগ করুন। ","routines.content.nightCream":"আপনার ঘুমানোর সময় আপনার ত্বক মেরামত এবং পুনরুদ্ধার করতে একটি সমৃদ্ধ নাইট ক্রিম ব্যবহার করুন। ","Cleanser":"ক্লিনজার","Toner":"টোনার","Serum":"সিরাম","Eye Cream":"আই ক্রিম","Spot Treatment":"স্পট ট্রিটমেন্ট","Moisturizer":"ময়েশ্চারাইজার","Sunscreen":"সানস্ক্রিন","Face Oil":"মুখের তেল","Night Cream":"নাইট ক্রিম"}')},nl:{translation:JSON.parse('{"Skin Analysis":"Huidanalyse","Look Straight":"Kijk recht","Face Position":"Gezichtspositie","Lighting":"Verlichting","Good":"Goed","Not Good":"Niet goed","Bad":"Slecht","Fair":"Eerlijk","Powered by":"Aangedreven door","Your distance is close to the camera":"Je afstand is dichtbij de camera","Keep your face inside the circle":"Houd uw gezicht binnen de cirkel","Please stand in front of the camera":"Ga alsjeblieft voor de camera staan","There is more than one person in the picture":"Er is meer dan één persoon op de foto","Drag & Drop":"Slepen en neerzetten","Or":"Of","browse":"bladeren","Supports: JPEG, JPG, PNG":"Ondersteunt: JPEG, JPG, PNG","Release to Upload":"Laat los om te uploaden","file not supported":"bestand niet ondersteund","Sending Facial Data...":"Gezichtsgegevens verzenden...","Scanning Face...":"Gezicht scannen...","Analyzing Facial Attributes...":"Gezichtskenmerken analyseren...","AI Crafting Report..":"AI Crafting-rapport..","Skin Info":"Huidinformatie","Fine Wrinkles":"Rimpels","Eye Wrinkles":"Oog rimpels","Deep Wrinkles":"Diepe rimpels","Dark Circle":"Donkere cirkel","Eye Bag":"Oogzak","Pores":"Poriën","Pigment":"Pigmenten","Redness":"Roodheid","Oiliness":"Vettigheid","Acnes":"Acne","Acne":"Acne","Skin Health":"Gezondheid van de huid","Instructions":"Instructies","Get Ready to Start Skin Analysis":"Maak je klaar om huidanalyse te starten","Remove the glasses":"Verwijder de glazen","Clean your face":"Maak je gezicht schoon","Be in the right light":"Wees in het juiste licht","Be neutral face and fix position":"Wees neutraal en fixeer de positie","Get Started":"Aan de slag","If you upload a selfie, the image will be used to provide more precise recommendations that may be of interest to you. The image is deleted after being analyzed.":"Als u een selfie uploadt, wordt de afbeelding gebruikt om nauwkeurigere aanbevelingen te doen die voor u interessant kunnen zijn. ","See our":"Zie onze","Privacy Policy":"Privacybeleid","for more information":"voor meer informatie","your picture quality is blurry":"uw beeldkwaliteit is wazig","be wearing glasses":"een bril dragen","please remove them":"verwijder ze alstublieft","Improve photo quality":"Verbeter de fotokwaliteit","We noticed you might":"We hebben gemerkt dat je dat misschien wel zou doen","and":"En","for better results":"voor betere resultaten","Tips for taking better selfies":"Tips voor het maken van betere selfies","Continue":"Doorgaan","Generate routine for you":"Creëer routine voor u","Re-take":"Opnieuw nemen","Get recommended products!":"Ontvang aanbevolen producten!","Recommendation Products":"Aanbeveling producten","Products That Just Work For you":"Producten die gewoon voor u werken","My Skin Report":"Mijn huidrapport","Add to cart":"Voeg toe aan winkelwagen","Add again":"Voeg opnieuw toe","Checkout":"Afrekenen","My Routines":"Mijn routines","Your":"Jouw","Routine":"Routine","Morning":"Ochtend","Night":"Nacht","Error":"Fout","The face is not visible in the picture":"Het gezicht is niet zichtbaar op de foto","The input image is not suitable":"De invoerafbeelding is niet geschikt","An error occurred, please check again":"Er is een fout opgetreden. Controleer het opnieuw","Camera permission denied.":"Cameratoestemming geweigerd.","Unable to access the camera.":"Kan geen toegang krijgen tot de camera.","Your image is blurry":"Je beeld is wazig","You have glasses":"Je hebt een bril","The light on your face is not suitable":"Het licht op je gezicht is niet geschikt","The face is not neutral (You may have a smile)":"Het gezicht is niet neutraal (je hebt misschien een glimlach)","Image is not suitable":"Afbeelding is niet geschikt","Check how you can improve your skin with the proper product and routine":"Ontdek hoe u uw huid kunt verbeteren met het juiste product en de juiste routine","There are no products to display":"Er zijn geen producten om weer te geven","routines.content.cleanser":"Begin met het wassen van je gezicht om vuil, olie en onzuiverheden te verwijderen. ","routines.content.toner":"Gebruik een toner om de pH-waarde van uw huid in evenwicht te brengen en eventuele overgebleven resten te verwijderen.","routines.content.serum":"Breng een geconcentreerd serum aan dat gericht is op specifieke problemen, zoals verheldering of anti-veroudering. ","routines.content.eyeCream":"Dep de oogcrème zachtjes rond de ogen om te hydrateren en wallen of donkere kringen te verminderen.","routines.content.spotTreatment":"Breng een spotbehandeling aan op probleemgebieden, zoals acne of puistjes. ","routines.content.moisturizer":"Houd de hydratatie vast door een vochtinbrengende crème aan te brengen die bij uw huidtype past. ","routines.content.sunscreen":"Bescherm uw huid tegen schadelijke UV-stralen door zonnebrandcrème met breedspectrumbescherming te gebruiken. ","routines.content.faceOil":"Breng een lichtgewicht gezichtsolie aan om vocht vast te houden en uw huid een stralende glans te geven. ","routines.content.nightCream":"Gebruik een rijke nachtcrème om uw huid te helpen herstellen en herstellen terwijl u slaapt. ","Cleanser":"Reiniger","Toner":"Toner","Serum":"Serum","Eye Cream":"Oogcrème","Spot Treatment":"Behandeling ter plaatse","Moisturizer":"Vochtinbrengende crème","Sunscreen":"Zonnebrandcrème","Face Oil":"Gezichtsolie","Night Cream":"Nachtcrème"}')},ms:{translation:JSON.parse('{"Skin Analysis":"Analisis Kulit","Look Straight":"Pandang Lurus","Face Position":"Kedudukan Muka","Lighting":"Pencahayaan","Good":"bagus","Not Good":"Tidak Baik","Bad":"teruk","Fair":"Adil","Powered by":"Dikuasakan oleh","Your distance is close to the camera":"Jarak anda dekat dengan kamera","Keep your face inside the circle":"Simpan muka anda di dalam bulatan","Please stand in front of the camera":"Sila berdiri di hadapan kamera","There is more than one person in the picture":"Terdapat lebih daripada seorang dalam gambar","Drag & Drop":"Seret & Lepas","Or":"Ataupun","browse":"semak imbas","Supports: JPEG, JPG, PNG":"Menyokong: JPEG, JPG, PNG","Release to Upload":"Keluarkan untuk Muat Naik","file not supported":"fail tidak disokong","Sending Facial Data...":"Menghantar Data Muka...","Scanning Face...":"Mengimbas Wajah...","Analyzing Facial Attributes...":"Menganalisis Atribut Muka...","AI Crafting Report..":"Laporan Penciptaan AI..","Skin Info":"Maklumat Kulit","Fine Wrinkles":"Kedutan","Eye Wrinkles":"Kedutan Mata","Deep Wrinkles":"Kedutan Dalam","Dark Circle":"Bulatan Gelap","Eye Bag":"Beg Mata","Pores":"Liang pori","Pigment":"Pigmen","Redness":"kemerahan","Oiliness":"Berminyak","Acnes":"Jerawat","Acne":"Jerawat","Skin Health":"Kesihatan Kulit","Instructions":"Arahan","Get Ready to Start Skin Analysis":"Bersedia untuk Memulakan Analisis Kulit","Remove the glasses":"Tanggalkan cermin mata","Clean your face":"Bersihkan muka anda","Be in the right light":"Berada dalam cahaya yang betul","Be neutral face and fix position":"Bersikap neutral dan tetapkan kedudukan","Get Started":"Mulakan","If you upload a selfie, the image will be used to provide more precise recommendations that may be of interest to you. The image is deleted after being analyzed.":"Jika anda memuat naik swafoto, imej itu akan digunakan untuk memberikan pengesyoran yang lebih tepat yang mungkin menarik minat anda. ","See our":"Lihat kami","Privacy Policy":"Dasar Privasi","for more information":"untuk maklumat lanjut","your picture quality is blurry":"kualiti gambar anda kabur","be wearing glasses":"memakai cermin mata","please remove them":"sila keluarkan mereka","Improve photo quality":"Tingkatkan kualiti foto","We noticed you might":"Kami perasan anda mungkin","and":"dan","for better results":"untuk hasil yang lebih baik","Tips for taking better selfies":"Petua untuk mengambil swafoto yang lebih baik","Continue":"teruskan","Generate routine for you":"Hasilkan rutin untuk anda","Re-take":"Ambil semula","Get recommended products!":"Dapatkan produk yang disyorkan!","Recommendation Products":"Produk Cadangan","Products That Just Work For you":"Produk Yang Hanya Berfungsi Untuk anda","My Skin Report":"Laporan Kulit Saya","Add to cart":"Tambah ke troli","Add again":"Tambah lagi","Checkout":"Checkout","My Routines":"Rutin Saya","Your":"awak","Routine":"Rutin","Morning":"Pagi","Night":"Malam","Error":"ralat","The face is not visible in the picture":"Wajah tidak kelihatan dalam gambar","The input image is not suitable":"Imej input tidak sesuai","An error occurred, please check again":"Ralat telah berlaku, sila semak semula","Camera permission denied.":"Kebenaran kamera ditolak.","Unable to access the camera.":"Tidak dapat mengakses kamera.","Your image is blurry":"Imej anda kabur","You have glasses":"Anda mempunyai cermin mata","The light on your face is not suitable":"Cahaya di muka anda tidak sesuai","The face is not neutral (You may have a smile)":"Wajah tidak neutral (Anda mungkin tersenyum)","Image is not suitable":"Imej tidak sesuai","Check how you can improve your skin with the proper product and routine":"Semak bagaimana anda boleh memperbaiki kulit anda dengan produk dan rutin yang betul","There are no products to display":"Tiada produk untuk dipaparkan","routines.content.cleanser":"Mulakan dengan mencuci muka untuk menghilangkan kotoran, minyak dan kekotoran. ","routines.content.toner":"Gunakan penyegar untuk mengimbangi pH kulit anda dan mengeluarkan sebarang sisa yang tertinggal.","routines.content.serum":"Sapukan serum pekat yang menyasarkan kebimbangan khusus, seperti pencerahan atau anti-penuaan. ","routines.content.eyeCream":"Tepuk krim mata perlahan-lahan di sekitar kawasan mata untuk melembapkan dan mengurangkan bengkak atau lingkaran hitam.","routines.content.spotTreatment":"Sapukan rawatan di kawasan yang bermasalah, seperti jerawat atau jeragat. ","routines.content.moisturizer":"Kunci dalam penghidratan dengan menggunakan pelembap yang sesuai dengan jenis kulit anda. ","routines.content.sunscreen":"Lindungi kulit anda daripada sinaran UV yang berbahaya dengan menggunakan pelindung matahari dengan perlindungan spektrum luas. ","routines.content.faceOil":"Sapukan minyak muka yang ringan untuk menutup kelembapan dan memberikan kulit anda cahaya berseri. ","routines.content.nightCream":"Gunakan krim malam yang kaya untuk membantu membaiki dan memulihkan kulit anda semasa anda tidur. ","Cleanser":"Pembersih","Toner":"Toner","Serum":"Serum","Eye Cream":"Krim Mata","Spot Treatment":"Rawatan Bintik","Moisturizer":"Pelembap","Sunscreen":"pelindung matahari","Face Oil":"Minyak Muka","Night Cream":"Krim Malam"}')},ja:{translation:JSON.parse('{"Acne":"ニキビ","Acnes":"ニキビ","Add again":"再度追加","Add to cart":"カートに追加","AI Crafting Report..":"AI製作レポート..","An error occurred, please check again":"エラーが発生しました。もう一度確認してください","Analyzing Facial Attributes...":"顔の属性を分析中...","and":"そして","Bad":"悪い","Be in the right light":"適切な光の中にいてください","Be neutral face and fix position":"無表情で姿勢を固定する","be wearing glasses":"メガネをかけている","browse":"ブラウズ","Camera permission denied.":"カメラの許可が拒否されました。","Check how you can improve your skin with the proper product and routine":"適切な製品と習慣で肌を改善できる方法を確認してください","Checkout":"チェックアウト","Clean your face":"顔をきれいにしてください","Cleanser":"クレンザー","Continue":"続く","Dark Circle":"ダークサークル","Deep Wrinkles":"深いシワ","Drag & Drop":"ドラッグ&ドロップ","Error":"エラー","Eye Bag":"目袋","Eye Cream":"アイクリーム","Eye Wrinkles":"目のシワ","Face Oil":"フェイスオイル","Face Position":"顔の位置","Fair":"公平","file not supported":"ファイルはサポートされていません","for better results":"より良い結果を得るために","for more information":"詳細については","Generate routine for you":"あなたのためのルーチンを生成する","Get Ready to Start Skin Analysis":"肌分析を始める準備をしましょう","Get recommended products!":"おすすめ商品をゲットしよう!","Get Started":"始めましょう","Good":"良い","If you upload a selfie, the image will be used to provide more precise recommendations that may be of interest to you. The image is deleted after being analyzed.":"自撮り写真をアップロードすると、その画像は、興味があると思われるより正確な推奨事項を提供するために使用されます。","Image is not suitable":"画像が適切ではありません","Improve photo quality":"写真の品質を向上させる","Instructions":"説明書","Keep your face inside the circle":"顔を円の中に入れてください","Lighting":"点灯","Look Straight":"まっすぐに見てください","Moisturizer":"保湿剤","Morning":"朝","My Routines":"私のルーティン","My Skin Report":"私の肌レポート","Night":"夜","Night Cream":"ナイトクリーム","Not Good":"良くない","Oiliness":"油っぽさ","Or":"または","Pigment":"顔料","please remove them":"それらを削除してください","Please stand in front of the camera":"カメラの前に立ってください","Pores":"毛穴","Powered by":"搭載","Privacy Policy":"プライバシーポリシー","Products That Just Work For you":"あなたにぴったりの製品","Re-take":"再撮影","Recommendation Products":"おすすめ商品","Redness":"赤み","Release to Upload":"リリースからアップロードまで","Remove the glasses":"メガネを外してください","Routine":"ルーティーン","routines.content.cleanser":"まずは顔を洗って汚れや油分、不純物を取り除くことから始めましょう。","routines.content.eyeCream":"目の周りにアイクリームを優しくなじませて、潤いを与え、腫れやクマを軽減します。","routines.content.faceOil":"軽いフェイス オイルを塗布して水分を閉じ込め、肌に輝く輝きを与えます。","routines.content.moisturizer":"自分の肌タイプに合った保湿剤を塗布して、水分を閉じ込めてください。","routines.content.nightCream":"睡眠中に肌の修復と回復を助けるために、濃厚なナイトクリームを使用してください。","routines.content.serum":"美白やアンチエイジングなど、特定の悩みをターゲットにした濃縮美容液を塗ります。","routines.content.spotTreatment":"ニキビやシミなどの問題のある部分にスポットトリートメントを適用します。","routines.content.sunscreen":"広範囲の保護機能を持つ日焼け止めを使用して、有害な紫外線から肌を守りましょう。","routines.content.toner":"トナーを使用して肌の pH バランスを整え、残った残留物を取り除きます。","Scanning Face...":"顔をスキャン中...","See our":"私たちのを参照してください","Sending Facial Data...":"顔データを送信中...","Serum":"血清","Skin Analysis":"肌分析","Skin Health":"皮膚の健康","Skin Info":"スキン情報","Spot Treatment":"スポットトリートメント","Sunscreen":"日焼け止め","Supports: JPEG, JPG, PNG":"サポート: JPEG、JPG、PNG","The face is not neutral (You may have a smile)":"顔が中性的ではない(笑顔かもしれない)","The face is not visible in the picture":"写真では顔が見えない","The input image is not suitable":"入力画像が適切ではありません","The light on your face is not suitable":"あなたの顔に当たる光は適切ではありません","There are no products to display":"表示する商品はありません","There is more than one person in the picture":"写真には複数の人物が写っています","Tips for taking better selfies":"より良いセルフィーを撮るためのヒント","Toner":"トナー","Unable to access the camera.":"カメラにアクセスできません。","We noticed you might":"私たちはあなたがそうかもしれないことに気づきました","Fine Wrinkles":"しわ","You have glasses":"メガネをお持ちですね","Your":"あなたの","Your distance is close to the camera":"カメラとの距離が近い","Your image is blurry":"画像がぼやけてます","your picture quality is blurry":"画質がぼやけてます"}')},ru:{translation:JSON.parse('{"Acne":"Прыщи","Acnes":"Прыщи","Add again":"Добавить еще раз","Add to cart":"Добавить в корзину","AI Crafting Report..":"Отчет о создании ИИ..","An error occurred, please check again":"Произошла ошибка, пожалуйста, проверьте еще раз","Analyzing Facial Attributes...":"Анализ черт лица...","and":"и","Bad":"Плохой","Be in the right light":"Будьте в правильном свете","Be neutral face and fix position":"Держите нейтральное лицо и зафиксируйте положение.","be wearing glasses":"носить очки","browse":"просматривать","Camera permission denied.":"Разрешение на использование камеры отклонено.","Check how you can improve your skin with the proper product and routine":"Узнайте, как вы можете улучшить свою кожу с помощью подходящего продукта и регулярного ухода.","Checkout":"Проверить","Clean your face":"Очистите лицо","Cleanser":"Очищающее средство","Continue":"Продолжать","Dark Circle":"Темный круг","Deep Wrinkles":"Глубокие морщины","Drag & Drop":"Перетаскивание","Error":"Ошибка","Eye Bag":"Сумка для глаз","Eye Cream":"Крем для глаз","Eye Wrinkles":"Морщины под глазами","Face Oil":"Масло для лица","Face Position":"Положение лица","Fair":"Справедливый","file not supported":"файл не поддерживается","for better results":"для лучших результатов","for more information":"для получения дополнительной информации","Generate routine for you":"Создайте для себя рутину","Get Ready to Start Skin Analysis":"Будьте готовы начать анализ кожи","Get recommended products!":"Приобретайте рекомендованные товары!","Get Started":"Начать","Good":"Хороший","If you upload a selfie, the image will be used to provide more precise recommendations that may be of interest to you. The image is deleted after being analyzed.":"Если вы загрузите селфи, изображение будет использовано для предоставления более точных рекомендаций, которые могут вас заинтересовать. ","Image is not suitable":"Изображение не подходит","Improve photo quality":"Улучшите качество фотографий","Instructions":"Инструкции","Keep your face inside the circle":"Держите лицо внутри круга","Lighting":"Освещение","Look Straight":"Смотри прямо","Moisturizer":"Увлажняющий крем","Morning":"Утро","My Routines":"Мои рутины","My Skin Report":"Мой отчет о коже","Night":"Ночь","Night Cream":"Ночной крем","Not Good":"Не хорошо","Oiliness":"Маслянистость","Or":"Или","Pigment":"Пигменты","please remove them":"пожалуйста, удалите их","Please stand in front of the camera":"Пожалуйста, встаньте перед камерой","Pores":"Поры","Powered by":"Питаться от","Privacy Policy":"политика конфиденциальности","Products That Just Work For you":"Продукты, которые просто работают на вас","Re-take":"Пересдать","Recommendation Products":"Рекомендованные продукты","Redness":"Покраснение","Release to Upload":"Выпуск для загрузки","Remove the glasses":"Снимите очки","Routine":"Рутина","routines.content.cleanser":"Начните с умывания лица, чтобы удалить грязь, жир и примеси. ","routines.content.eyeCream":"Аккуратно промокните крем вокруг глаз, чтобы увлажнить и уменьшить отечность и темные круги.","routines.content.faceOil":"Нанесите легкое масло для лица, чтобы удержать влагу и придать коже сияющее сияние. ","routines.content.moisturizer":"Зафиксируйте увлажнение, нанеся увлажняющий крем, соответствующий вашему типу кожи. ","routines.content.nightCream":"Используйте насыщенный ночной крем, чтобы восстановить кожу во время сна. ","routines.content.serum":"Нанесите концентрированную сыворотку, направленную на решение конкретных проблем, например, осветление или омоложение. ","routines.content.spotTreatment":"Нанесите точечное лечение на проблемные участки, например прыщи или пятна. ","routines.content.sunscreen":"Защитите свою кожу от вредных ультрафиолетовых лучей, используя солнцезащитный крем широкого спектра действия. ","routines.content.toner":"Используйте тоник, чтобы сбалансировать pH вашей кожи и удалить остатки.","Scanning Face...":"Сканирование лица...","See our":"Посмотрите наш","Sending Facial Data...":"Отправка данных о лице...","Serum":"сыворотка","Skin Analysis":"Анализ кожи","Skin Health":"Здоровье кожи","Skin Info":"Информация о скине","Spot Treatment":"Точечное лечение","Sunscreen":"солнцезащитный крем","Supports: JPEG, JPG, PNG":"Поддерживает: JPEG, JPG, PNG.","The face is not neutral (You may have a smile)":"Лицо не нейтральное (Вы можете улыбаться)","The face is not visible in the picture":"На фото не видно лица","The input image is not suitable":"Входное изображение не подходит","The light on your face is not suitable":"Свет на вашем лице не подходит","There are no products to display":"Нет товаров для отображения","There is more than one person in the picture":"На фотографии несколько человек","Tips for taking better selfies":"Советы, как делать лучшие селфи","Toner":"Тонер","Unable to access the camera.":"Невозможно получить доступ к камере.","We noticed you might":"Мы заметили, что вы можете","Fine Wrinkles":"Морщины","You have glasses":"У тебя есть очки","Your":"Твой","Your distance is close to the camera":"Ваше расстояние близко к камере","Your image is blurry":"Ваше изображение размыто","your picture quality is blurry":"качество вашего изображения размытое"}')},pl:{translation:JSON.parse('{"Skin Analysis":"Analiza skóry","Look Straight":"Spójrz prosto","Face Position":"Pozycja twarzy","Lighting":"Oświetlenie","Good":"Dobry","Not Good":"Nie dobrze","Bad":"Zły","Fair":"Sprawiedliwy","Powered by":"Obsługiwane przez","Your distance is close to the camera":"Odległość od aparatu jest bliska","Keep your face inside the circle":"Trzymaj twarz wewnątrz okręgu","Please stand in front of the camera":"Proszę stanąć przed kamerą","There is more than one person in the picture":"Na zdjęciu jest więcej niż jedna osoba","Drag & Drop":"Przeciągnij i upuść","Or":"Lub","browse":"przeglądać","Supports: JPEG, JPG, PNG":"Obsługuje: JPEG, JPG, PNG","Release to Upload":"Zwolnij, aby przesłać","file not supported":"plik nie jest obsługiwany","Sending Facial Data...":"Wysyłanie danych twarzy...","Scanning Face...":"Skanowanie twarzy...","Analyzing Facial Attributes...":"Analiza cech twarzy...","AI Crafting Report..":"Raport o tworzeniu AI..","Skin Info":"Informacje o skórze","Fine Wrinkles":"Fałdowanie","Eye Wrinkles":"Zmarszczki oczu","Deep Wrinkles":"Głębokie zmarszczki","Dark Circle":"Ciemny krąg","Eye Bag":"Torba na oczy","Pores":"Pory","Pigment":"Pigmenty","Redness":"Zaczerwienienie","Oiliness":"Wazeliniarstwo","Acnes":"Trądzik","Acne":"Trądzik","Skin Health":"Zdrowie skóry","Instructions":"Instrukcje","Get Ready to Start Skin Analysis":"Przygotuj się do rozpoczęcia analizy skóry","Remove the glasses":"Zdejmij okulary","Clean your face":"Oczyść twarz","Be in the right light":"Bądź we właściwym świetle","Be neutral face and fix position":"Zachowaj neutralną twarz i ustaloną pozycję","Get Started":"Rozpocznij","If you upload a selfie, the image will be used to provide more precise recommendations that may be of interest to you. The image is deleted after being analyzed.":"Jeśli prześlesz selfie, obraz zostanie wykorzystany w celu przedstawienia bardziej precyzyjnych rekomendacji, które mogą Cię zainteresować. ","See our":"Zobacz nasze","Privacy Policy":"Polityka prywatności","for more information":"aby uzyskać więcej informacji","your picture quality is blurry":"jakość obrazu jest niewyraźna","be wearing glasses":"nosić okulary","please remove them":"proszę je usunąć","Improve photo quality":"Popraw jakość zdjęć","We noticed you might":"Zauważyliśmy, że możesz","and":"I","for better results":"dla lepszych wyników","Tips for taking better selfies":"Wskazówki, jak robić lepsze selfie","Continue":"Kontynuować","Generate routine for you":"Wygeneruj dla siebie rutynę","Re-take":"Odzyskać","Get recommended products!":"Zdobądź polecane produkty!","Recommendation Products":"Produkty polecane","Products That Just Work For you":"Produkty, które po prostu działają dla Ciebie","My Skin Report":"Raport o mojej skórze","Add to cart":"Dodaj do koszyka","Add again":"Dodaj ponownie","Checkout":"Wymeldować się","My Routines":"Moje rutyny","Your":"Twój","Routine":"Rutyna","Morning":"Poranek","Night":"Noc","Error":"Błąd","The face is not visible in the picture":"Na zdjęciu nie widać twarzy","The input image is not suitable":"Obraz wejściowy nie jest odpowiedni","An error occurred, please check again":"Wystąpił błąd. Sprawdź ponownie","Camera permission denied.":"Odmowa dostępu do aparatu.","Unable to access the camera.":"Nie można uzyskać dostępu do kamery.","Your image is blurry":"Twój obraz jest niewyraźny","You have glasses":"Masz okulary","The light on your face is not suitable":"Światło na twojej twarzy jest nieodpowiednie","The face is not neutral (You may have a smile)":"Twarz nie jest neutralna (możesz się uśmiechać)","Image is not suitable":"Obraz nie jest odpowiedni","Check how you can improve your skin with the proper product and routine":"Sprawdź, jak możesz poprawić swoją skórę odpowiednim produktem i pielęgnacją","There are no products to display":"Brak produktów do wyświetlenia","routines.content.cleanser":"Zacznij od umycia twarzy, aby usunąć brud, olej i zanieczyszczenia. ","routines.content.toner":"Użyj toniku, aby zrównoważyć pH skóry i usunąć wszelkie pozostałości.","routines.content.serum":"Zastosuj skoncentrowane serum ukierunkowane na konkretne problemy, takie jak rozjaśnianie lub przeciwdziałanie efektom starzenia. ","routines.content.eyeCream":"Delikatnie wklep krem ​​pod oczy w okolicy oczu, aby nawilżyć i zmniejszyć obrzęki i cienie.","routines.content.spotTreatment":"Zastosuj kurację punktową na obszarach problematycznych, takich jak trądzik lub przebarwienia. ","routines.content.moisturizer":"Zatrzymaj nawilżenie, stosując krem ​​nawilżający odpowiedni do rodzaju skóry. ","routines.content.sunscreen":"Chroń swoją skórę przed szkodliwym promieniowaniem UV stosując filtry przeciwsłoneczne o szerokim spektrum ochrony. ","routines.content.faceOil":"Nałóż lekki olejek do twarzy, aby zatrzymać wilgoć i nadać skórze promienny blask. ","routines.content.nightCream":"Stosuj bogaty krem ​​na noc, który pomoże zregenerować i zregenerować skórę podczas snu. ","Cleanser":"Środek czyszczący","Toner":"Toner","Serum":"Serum","Eye Cream":"Krem pod oczy","Spot Treatment":"Leczenie punktowe","Moisturizer":"Nawilżacz","Sunscreen":"Krem przeciwsłoneczny","Face Oil":"Olejek do twarzy","Night Cream":"Krem na noc"}')},uk:{translation:JSON.parse('{"Skin Analysis":"Аналіз шкіри","Look Straight":"Дивіться прямо","Face Position":"Положення обличчя","Lighting":"Освітлення","Good":"добре","Not Good":"Не добре","Bad":"погано","Fair":"ярмарок","Powered by":"На основі","Your distance is close to the camera":"Ваша відстань близька до камери","Keep your face inside the circle":"Тримайте своє обличчя всередині кола","Please stand in front of the camera":"Будь ласка, встаньте перед камерою","There is more than one person in the picture":"На малюнку більше однієї людини","Drag & Drop":"Перетягніть і опустіть","Or":"Або","browse":"переглядати","Supports: JPEG, JPG, PNG":"Підтримує: JPEG, JPG, PNG","Release to Upload":"Відпустіть для завантаження","file not supported":"файл не підтримується","Sending Facial Data...":"Надсилання даних обличчя...","Scanning Face...":"Сканування обличчя...","Analyzing Facial Attributes...":"Аналіз особливостей обличчя...","AI Crafting Report..":"Звіт про створення AI..","Skin Info":"Інформація про шкіру","Fine Wrinkles":"Зморшки","Eye Wrinkles":"Зморшки під очима","Deep Wrinkles":"Глибокі зморшки","Dark Circle":"Темне коло","Eye Bag":"Очний мішок","Pores":"Пори","Pigment":"Пігменти","Redness":"Почервоніння","Oiliness":"жирність","Acnes":"акне","Acne":"акне","Skin Health":"Здоров\'я шкіри","Instructions":"Інструкції","Get Ready to Start Skin Analysis":"Підготуйтеся до аналізу шкіри","Remove the glasses":"Зняти окуляри","Clean your face":"Очистіть обличчя","Be in the right light":"Будьте в правильному світлі","Be neutral face and fix position":"Будьте нейтральним обличчям і зафіксуйте положення","Get Started":"Почніть роботу","If you upload a selfie, the image will be used to provide more precise recommendations that may be of interest to you. The image is deleted after being analyzed.":"Якщо ви завантажите селфі, зображення буде використано для надання більш точних рекомендацій, які можуть вас зацікавити. ","See our":"Дивіться наш","Privacy Policy":"Політика конфіденційності","for more information":"для отримання додаткової інформації","your picture quality is blurry":"якість вашого зображення розмита","be wearing glasses":"бути в окулярах","please remove them":"будь ласка, видаліть їх","Improve photo quality":"Поліпшення якості фотографій","We noticed you might":"Ми помітили, що ви можете","and":"і","for better results":"для кращих результатів","Tips for taking better selfies":"Поради щодо кращих селфі","Continue":"Продовжити","Generate routine for you":"Створіть для себе розпорядок дня","Re-take":"Перезняти","Get recommended products!":"Отримайте рекомендовані продукти!","Recommendation Products":"Рекомендовані продукти","Products That Just Work For you":"Продукти, які працюють на вас","My Skin Report":"My Skin Report","Add to cart":"Додати в кошик","Add again":"Додайте знову","Checkout":"Оплата","My Routines":"Мої розпорядки","Your":"ваш","Routine":"Рутина","Morning":"Ранок","Night":"ніч","Error":"Помилка","The face is not visible in the picture":"На фото не видно обличчя","The input image is not suitable":"Вхідне зображення не підходить","An error occurred, please check again":"Сталася помилка, перевірте ще раз","Camera permission denied.":"Відмовлено в дозволі на камеру.","Unable to access the camera.":"Неможливо отримати доступ до камери.","Your image is blurry":"Ваше зображення розмите","You have glasses":"У вас є окуляри","The light on your face is not suitable":"Світло на вашому обличчі не підходить","The face is not neutral (You may have a smile)":"Обличчя не нейтральне (Ви можете мати посмішку)","Image is not suitable":"Зображення не підходить","Check how you can improve your skin with the proper product and routine":"Перевірте, як ви можете покращити свою шкіру за допомогою відповідного продукту та процедури","There are no products to display":"Немає товарів для відображення","routines.content.cleanser":"Почніть з миття обличчя, щоб видалити бруд, жир і домішки. ","routines.content.toner":"Використовуйте тонік, щоб збалансувати рН шкіри та видалити будь-які залишки.","routines.content.serum":"Нанесіть концентровану сироватку, спрямовану на конкретні проблеми, наприклад освітлення або запобігання старінню. ","routines.content.eyeCream":"Обережно нанесіть крем на область навколо очей, щоб зволожити та зменшити набряки або темні кола.","routines.content.spotTreatment":"Нанесіть точкове лікування на будь-які проблемні ділянки, такі як прищі або плями. ","routines.content.moisturizer":"Зафіксуйте зволоження, застосовуючи зволожуючий крем, який підходить вашому типу шкіри. ","routines.content.sunscreen":"Захистіть свою шкіру від шкідливого ультрафіолетового випромінювання, використовуючи сонцезахисний крем із широким спектром захисту. ","routines.content.faceOil":"Нанесіть легку олію для обличчя, щоб зберегти вологу та надати шкірі сяючого сяйва. ","routines.content.nightCream":"Використовуйте насичений нічний крем, щоб допомогти відновити шкіру під час сну. ","Cleanser":"Очищуючий засіб","Toner":"Тонер","Serum":"Сироватка","Eye Cream":"Крем для очей","Spot Treatment":"Лікування плям","Moisturizer":"Зволожуючий крем","Sunscreen":"Сонцезахисний крем","Face Oil":"Масло для обличчя","Night Cream":"Нічний крем"}')},fi:{translation:JSON.parse('{"Skin Analysis":"Ihon analyysi","Look Straight":"Katso Suoraan","Face Position":"Kasvojen asento","Lighting":"Valaistus","Good":"Hyvä","Not Good":"Ei hyvä","Bad":"Huono","Fair":"Reilu","Powered by":"Voimanlähteenä","Your distance is close to the camera":"Etäisyytesi on lähellä kameraa","Keep your face inside the circle":"Pidä kasvosi ympyrän sisällä","Please stand in front of the camera":"Ole hyvä ja seiso kameran edessä","There is more than one person in the picture":"Kuvassa on useampi kuin yksi henkilö","Drag & Drop":"Vedä ja pudota","Or":"Tai","browse":"selata","Supports: JPEG, JPG, PNG":"Tukee: JPEG, JPG, PNG","Release to Upload":"Vapauta lataukseen","file not supported":"tiedostoa ei tueta","Sending Facial Data...":"Lähetetään kasvotietoja...","Scanning Face...":"Skannataan kasvoja...","Analyzing Facial Attributes...":"Analysoidaan kasvojen ominaisuuksia...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Ihon tiedot","Fine Wrinkles":"Rypyt","Eye Wrinkles":"Silmärypyt","Deep Wrinkles":"Syviä ryppyjä","Dark Circle":"Pimeä ympyrä","Eye Bag":"Silmäpussi","Pores":"huokoset","Pigment":"Pigmentit","Redness":"Punoitus","Oiliness":"Öljyisyys","Acnes":"Akne","Acne":"Akne","Skin Health":"Ihon terveys","Instructions":"Ohjeet","Get Ready to Start Skin Analysis":"Valmistaudu aloittamaan ihoanalyysin","Remove the glasses":"Ota lasit pois","Clean your face":"Puhdista kasvosi","Be in the right light":"Ole oikeassa valossa","Be neutral face and fix position":"Ole neutraali kasvot ja kiinnitä asento","Get Started":"Aloita","If you upload a selfie, the image will be used to provide more precise recommendations that may be of interest to you. The image is deleted after being analyzed.":"Jos lataat selfien, kuvaa käytetään tarkempien suositusten antamiseen, jotka saattavat kiinnostaa sinua. ","See our":"Katso meidän","Privacy Policy":"Tietosuojakäytäntö","for more information":"saadaksesi lisätietoja","your picture quality is blurry":"kuvanlaatu on epäselvä","be wearing glasses":"käyttää silmälaseja","please remove them":"poista ne","Improve photo quality":"Paranna valokuvan laatua","We noticed you might":"Huomasimme, että saatat","and":"ja","for better results":"parempien tulosten saamiseksi","Tips for taking better selfies":"Vinkkejä parempien selfien ottamiseen","Continue":"Jatkaa","Generate routine for you":"Luo rutiineja sinulle","Re-take":"Ota uudelleen","Get recommended products!":"Hanki suositellut tuotteet!","Recommendation Products":"Suositustuotteet","Products That Just Work For you":"Tuotteet, jotka toimivat juuri sinulle","My Skin Report":"Oma ihoraportti","Add to cart":"Lisää ostoskoriin","Add again":"Lisää uudelleen","Checkout":"Kassalle","My Routines":"Omat rutiinit","Your":"Sinun","Routine":"Rutiini","Morning":"Aamu","Night":"Yö","Error":"Virhe","The face is not visible in the picture":"Kasvot eivät näy kuvassa","The input image is not suitable":"Syöttökuva ei ole sopiva","An error occurred, please check again":"Tapahtui virhe, tarkista uudelleen","Camera permission denied.":"Kameran lupa evätty.","Unable to access the camera.":"Kameraan ei pääse käsiksi.","Your image is blurry":"Kuvasi on epäselvä","You have glasses":"Sinulla on lasit","The light on your face is not suitable":"Kasvojen valo ei ole sopiva","The face is not neutral (You may have a smile)":"Kasvot eivät ole neutraalit (sinulla saattaa olla hymy)","Image is not suitable":"Kuva ei ole sopiva","Check how you can improve your skin with the proper product and routine":"Tarkista, kuinka voit parantaa ihoasi oikean tuotteen ja rutiinin avulla","There are no products to display":"Näytettäviä tuotteita ei ole","routines.content.cleanser":"Aloita pesemällä kasvosi poistaaksesi lian, öljyn ja epäpuhtaudet. ","routines.content.toner":"Käytä väriainetta tasapainottaaksesi ihosi pH-arvoa ja poistaaksesi mahdolliset jäämät.","routines.content.serum":"Käytä tiivistettyä seerumia, joka kohdistuu tiettyihin huolenaiheisiin, kuten kirkastukseen tai ikääntymisen estoon. ","routines.content.eyeCream":"Taputtele silmänympärysvoidetta varovasti silmänympärysiholle kosteuttaaksesi ja vähentääksesi turvotusta tai tummia silmänalusia.","routines.content.spotTreatment":"Levitä pistehoitoa kaikille ongelma-alueille, kuten akneen tai epäpuhtauksiin. ","routines.content.moisturizer":"Lukitse kosteus käyttämällä ihotyypillesi sopivaa kosteusvoidetta. ","routines.content.sunscreen":"Suojaa ihoasi haitallisilta UV-säteiltä käyttämällä aurinkovoidetta, jossa on laajakirjoinen suoja. ","routines.content.faceOil":"Levitä kevyttä kasvoöljyä kosteuttaaksesi ja antaaksesi ihollesi hehkua. ","routines.content.nightCream":"Käytä täyteläistä yövoidetta korjaamaan ja elvyttämään ihoasi nukkuessasi. ","Cleanser":"Puhdistusaine","Toner":"Väriaine","Serum":"Seerumi","Eye Cream":"Silmänympärysvoide","Spot Treatment":"Pistehoito","Moisturizer":"Kosteusvoide","Sunscreen":"Aurinkosuojavoide","Face Oil":"Kasvoöljy","Night Cream":"Yövoide"}')},ur:{translation:JSON.parse('{"Skin Analysis":"جلد کا تجزیہ","Look Straight":"سیدھا دیکھو","Face Position":"چہرے کی پوزیشن","Lighting":"لائٹنگ","Good":"اچھا","Not Good":"اچھا نہیں ہے۔","Bad":"برا","Fair":"میلہ","Powered by":"کی طرف سے طاقت","Your distance is close to the camera":"آپ کا فاصلہ کیمرے کے قریب ہے۔","Keep your face inside the circle":"اپنے چہرے کو دائرے کے اندر رکھیں","Please stand in front of the camera":"براہ کرم کیمرے کے سامنے کھڑے ہوں۔","There is more than one person in the picture":"تصویر میں ایک سے زیادہ لوگ ہیں۔","Drag & Drop":"گھسیٹیں اور چھوڑیں۔","Or":"یا","browse":"براؤز کریں","Supports: JPEG, JPG, PNG":"سپورٹ کرتا ہے: JPEG، JPG، PNG","Release to Upload":"اپ لوڈ کرنے کے لیے ریلیز کریں۔","file not supported":"فائل تعاون یافتہ نہیں ہے۔","Sending Facial Data...":"چہرے کا ڈیٹا بھیج رہا ہے...","Scanning Face...":"چہرہ سکین کیا جا رہا ہے...","Analyzing Facial Attributes...":"چہرے کے اوصاف کا تجزیہ...","AI Crafting Report..":"اے آئی کرافٹنگ رپورٹ ..","Skin Info":"جلد کی معلومات","Fine Wrinkles":"جھریاں","Eye Wrinkles":"آنکھوں کی جھریاں","Deep Wrinkles":"گہری جھریاں","Dark Circle":"ڈارک سرکل","Eye Bag":"آئی بیگ","Pores":"pores","Pigment":"روغن","Redness":"سرخی","Oiliness":"تیل پن","Acnes":"مںہاسی","Acne":"مںہاسی","Skin Health":"جلد کی صحت","Instructions":"ہدایات","Get Ready to Start Skin Analysis":"جلد کا تجزیہ شروع کرنے کے لیے تیار ہو جائیں۔","Remove the glasses":"شیشے کو ہٹا دیں۔","Clean your face":"اپنا چہرہ صاف کریں۔","Be in the right light":"صحیح روشنی میں رہیں","Be neutral face and fix position":"غیر جانبدار چہرہ بنیں اور پوزیشن درست کریں۔","Get Started":"شروع کریں","If you upload a selfie, the image will be used to provide more precise recommendations that may be of interest to you. The image is deleted after being analyzed.":"اگر آپ سیلفی اپ لوڈ کرتے ہیں، تو تصویر کو مزید درست تجاویز فراہم کرنے کے لیے استعمال کیا جائے گا جو آپ کے لیے دلچسپی کا باعث ہو سکتی ہیں۔ ","See our":"ہماری دیکھیں","Privacy Policy":"رازداری کی پالیسی","for more information":"مزید معلومات کے لیے","your picture quality is blurry":"آپ کی تصویر کا معیار دھندلا ہے۔","be wearing glasses":"عینک پہننا","please remove them":"براہ کرم انہیں ہٹا دیں۔","Improve photo quality":"تصویر کے معیار کو بہتر بنائیں","We noticed you might":"ہم نے محسوس کیا کہ آپ شاید","and":"اور","for better results":"بہتر نتائج کے لیے","Tips for taking better selfies":"بہتر سیلفی لینے کے لیے نکات","Continue":"جاری رکھیں","Generate routine for you":"آپ کے لیے روٹین تیار کریں۔","Re-take":"دوبارہ لینا","Get recommended products!":"تجویز کردہ مصنوعات حاصل کریں!","Recommendation Products":"سفارشی مصنوعات","Products That Just Work For you":"پروڈکٹس جو صرف آپ کے لیے کام کرتی ہیں۔","My Skin Report":"میری جلد کی رپورٹ","Add to cart":"ٹوکری میں شامل کریں۔","Add again":"دوبارہ شامل کریں۔","Checkout":"چیک آؤٹ","My Routines":"میرے معمولات","Your":"آپ کا","Routine":"روٹین","Morning":"صبح","Night":"رات","Error":"خرابی","The face is not visible in the picture":"تصویر میں چہرہ نظر نہیں آ رہا۔","The input image is not suitable":"ان پٹ امیج مناسب نہیں ہے۔","An error occurred, please check again":"ایک خرابی پیش آگئی، براہ کرم دوبارہ چیک کریں۔","Camera permission denied.":"کیمرے کی اجازت مسترد کر دی گئی۔","Unable to access the camera.":"کیمرے تک رسائی حاصل کرنے سے قاصر۔","Your image is blurry":"آپ کی تصویر دھندلی ہے۔","You have glasses":"آپ کے پاس عینک ہے۔","The light on your face is not suitable":"آپ کے چہرے پر روشنی مناسب نہیں ہے۔","The face is not neutral (You may have a smile)":"چہرہ غیر جانبدار نہیں ہے (آپ کی مسکراہٹ ہو سکتی ہے)","Image is not suitable":"تصویر مناسب نہیں ہے۔","Check how you can improve your skin with the proper product and routine":"چیک کریں کہ آپ مناسب پروڈکٹ اور روٹین کے ساتھ اپنی جلد کو کیسے بہتر بنا سکتے ہیں۔","There are no products to display":"ڈسپلے کرنے کے لیے کوئی پروڈکٹس نہیں ہیں۔","routines.content.cleanser":"گندگی، تیل اور نجاست کو دور کرنے کے لیے اپنے چہرے کو دھو کر شروع کریں۔ ","routines.content.toner":"اپنی جلد کے پی ایچ کو متوازن کرنے کے لیے ٹونر کا استعمال کریں اور باقی بچ جانے والی چیزوں کو ہٹا دیں۔","routines.content.serum":"مخصوص خدشات کو نشانہ بناتے ہوئے ایک مرتکز سیرم لگائیں، جیسے چمکانا یا اینٹی ایجنگ۔ ","routines.content.eyeCream":"آنکھوں کے ارد گرد آنکھوں کی کریم کو آہستہ سے تھپتھپائیں تاکہ ہائیڈریٹ ہو اور سوجن یا سیاہ حلقوں کو کم کیا جا سکے۔","routines.content.spotTreatment":"کسی بھی دشواری والے علاقوں پر اسپاٹ ٹریٹمنٹ لگائیں، جیسے ایکنی یا داغ۔ ","routines.content.moisturizer":"آپ کی جلد کی قسم کے مطابق موئسچرائزر لگا کر ہائیڈریشن کو بند کریں۔ ","routines.content.sunscreen":"براڈ اسپیکٹرم تحفظ کے ساتھ سن اسکرین کا استعمال کرکے اپنی جلد کو نقصان دہ UV شعاعوں سے بچائیں۔ ","routines.content.faceOil":"نمی میں سیل کرنے اور اپنی جلد کو چمکدار چمک دینے کے لیے ہلکا پھلکا چہرے کا تیل لگائیں۔ ","routines.content.nightCream":"سوتے وقت اپنی جلد کی مرمت اور بحالی میں مدد کے لیے بھرپور نائٹ کریم استعمال کریں۔ ","Cleanser":"صاف کرنے والا","Toner":"ٹونر","Serum":"سیرم","Eye Cream":"آئی کریم","Spot Treatment":"سپاٹ ٹریٹمنٹ","Moisturizer":"موئسچرائزر","Sunscreen":"سن اسکرین","Face Oil":"چہرے کا تیل","Night Cream":"نائٹ کریم"}')},sk:{translation:JSON.parse('{"Skin Analysis":"Analýza pokožky","Look Straight":"Pozrite sa rovno","Face Position":"Poloha tváre","Lighting":"Osvetlenie","Good":"Dobre","Not Good":"Nie je to dobré","Bad":"Zlé","Fair":"Spravodlivé","Powered by":"Poháňané","Your distance is close to the camera":"Vaša vzdialenosť je blízko fotoaparátu","Keep your face inside the circle":"Udržujte svoju tvár v kruhu","Please stand in front of the camera":"Postavte sa prosím pred kameru","There is more than one person in the picture":"Na obrázku je viac osôb","Drag & Drop":"Drag & Drop","Or":"Alebo","browse":"prehliadať","Supports: JPEG, JPG, PNG":"Podporuje: JPEG, JPG, PNG","Release to Upload":"Uvoľnite a nahrajte","file not supported":"súbor nie je podporovaný","Sending Facial Data...":"Odosielajú sa údaje o tvári...","Scanning Face...":"Skenuje sa tvár...","Analyzing Facial Attributes...":"Analýza vlastností tváre...","AI Crafting Report..":"Správa o tvorbe AI..","Skin Info":"Informácie o pokožke","Fine Wrinkles":"Vrásky","Eye Wrinkles":"Očné vrásky","Deep Wrinkles":"Hlboké vrásky","Dark Circle":"Tmavý kruh","Eye Bag":"Taška na oči","Pores":"Póry","Pigment":"Pigmenty","Redness":"Sčervenanie","Oiliness":"Olejnatosť","Acnes":"Akné","Acne":"Akné","Skin Health":"Zdravie pokožky","Instructions":"Pokyny","Get Ready to Start Skin Analysis":"Pripravte sa na začatie analýzy pleti","Remove the glasses":"Odstráňte okuliare","Clean your face":"Vyčistite si tvár","Be in the right light":"Buďte v správnom svetle","Be neutral face and fix position":"Buďte neutrálna tvár a zafixujte si polohu","Get Started":"Začíname","If you upload a selfie, the image will be used to provide more precise recommendations that may be of interest to you. The image is deleted after being analyzed.":"Ak nahráte selfie, obrázok sa použije na poskytnutie presnejších odporúčaní, ktoré by vás mohli zaujímať. ","See our":"Pozrite si naše","Privacy Policy":"Zásady ochrany osobných údajov","for more information":"pre viac informácií","your picture quality is blurry":"kvalita vášho obrazu je rozmazaná","be wearing glasses":"nosiť okuliare","please remove them":"prosím odstráňte ich","Improve photo quality":"Zlepšite kvalitu fotografie","We noticed you might":"Všimli sme si, že možno","and":"a","for better results":"pre lepšie výsledky","Tips for taking better selfies":"Tipy na lepšie selfie","Continue":"Pokračovať","Generate routine for you":"Vytvorte pre vás rutinu","Re-take":"Znova vziať","Get recommended products!":"Získajte odporúčané produkty!","Recommendation Products":"Odporúčané produkty","Products That Just Work For you":"Produkty, ktoré fungujú len pre vás","My Skin Report":"Správa o mojej pleti","Add to cart":"Pridať do košíka","Add again":"Pridajte znova","Checkout":"Pokladňa","My Routines":"Moje rutiny","Your":"Váš","Routine":"Rutina","Morning":"ráno","Night":"Noc","Error":"Chyba","The face is not visible in the picture":"Na obrázku nie je viditeľná tvár","The input image is not suitable":"Vstupný obrázok nie je vhodný","An error occurred, please check again":"Vyskytla sa chyba, skontrolujte to znova","Camera permission denied.":"Povolenie fotoaparátu bolo zamietnuté.","Unable to access the camera.":"Nedá sa získať prístup ku kamere.","Your image is blurry":"Váš obrázok je rozmazaný","You have glasses":"Máš okuliare","The light on your face is not suitable":"Svetlo na vašej tvári nie je vhodné","The face is not neutral (You may have a smile)":"Tvár nie je neutrálna (môžete mať úsmev)","Image is not suitable":"Obrázok nie je vhodný","Check how you can improve your skin with the proper product and routine":"Zistite, ako môžete zlepšiť svoju pleť pomocou správneho produktu a rutiny","There are no products to display":"Neexistujú žiadne produkty na zobrazenie","routines.content.cleanser":"Začnite umývaním tváre, aby ste odstránili špinu, olej a nečistoty. ","routines.content.toner":"Použite tonikum na vyrovnanie pH pokožky a odstránenie zvyškov.","routines.content.serum":"Naneste koncentrované sérum zamerané na špecifické problémy, ako je rozjasnenie alebo anti-aging. ","routines.content.eyeCream":"Jemne vmasírujte očný krém do okolia očí, aby ste hydratovali a zredukovali opuchy alebo tmavé kruhy.","routines.content.spotTreatment":"Aplikujte bodové ošetrenie na akékoľvek problémové oblasti, ako je akné alebo škvrny. ","routines.content.moisturizer":"Uzamknite hydratáciu nanesením hydratačného krému, ktorý vyhovuje vášmu typu pleti. ","routines.content.sunscreen":"Chráňte svoju pokožku pred škodlivými UV lúčmi používaním opaľovacích krémov so širokospektrálnou ochranou. ","routines.content.faceOil":"Naneste ľahký pleťový olej na uzavretie vlhkosti a dodajte pokožke žiarivý lesk. ","routines.content.nightCream":"Použite bohatý nočný krém, ktorý vám pomôže opraviť a obnoviť pokožku počas spánku. ","Cleanser":"Čistiaci prostriedok","Toner":"Toner","Serum":"Sérum","Eye Cream":"Očný krém","Spot Treatment":"Bodové ošetrenie","Moisturizer":"Zvlhčovač","Sunscreen":"Opaľovací krém","Face Oil":"Olej na tvár","Night Cream":"Nočný krém"}')},pt:{translation:JSON.parse('{"Acne":"Acne","Acnes":"Acne","Add again":"Adicionar novamente","Add to cart":"Adicionar ao carrinho","AI Crafting Report..":"Relatório de criação de IA.","An error occurred, please check again":"Ocorreu um erro, verifique novamente","Analyzing Facial Attributes...":"Analisando Atributos Faciais...","and":"e","Bad":"Ruim","Be in the right light":"Esteja na luz certa","Be neutral face and fix position":"Seja neutro e fixe a posição","be wearing glasses":"estar usando óculos","browse":"navegar","Camera permission denied.":"Permissão da câmera negada.","Check how you can improve your skin with the proper product and routine":"Veja como você pode melhorar sua pele com o produto e rotina adequados","Checkout":"Confira","Clean your face":"Limpe seu rosto","Cleanser":"Limpador","Continue":"Continuar","Dark Circle":"Círculo Negro","Deep Wrinkles":"Rugas profundas","Drag & Drop":"Arrastar e soltar","Error":"Erro","Eye Bag":"Bolsa para os olhos","Eye Cream":"Creme para os olhos","Eye Wrinkles":"Rugas nos olhos","Face Oil":"Óleo facial","Face Position":"Posição do rosto","Fair":"Justo","file not supported":"arquivo não suportado","for better results":"para melhores resultados","for more information":"para mais informações","Generate routine for you":"Gere rotina para você","Get Ready to Start Skin Analysis":"Prepare-se para iniciar a análise da pele","Get recommended products!":"Obtenha produtos recomendados!","Get Started":"Comece","Good":"Bom","If you upload a selfie, the image will be used to provide more precise recommendations that may be of interest to you. The image is deleted after being analyzed.":"Se você enviar uma selfie, a imagem será usada para fornecer recomendações mais precisas que podem ser do seu interesse. ","Image is not suitable":"A imagem não é adequada","Improve photo quality":"Melhorar a qualidade da foto","Instructions":"Instruções","Keep your face inside the circle":"Mantenha seu rosto dentro do círculo","Lighting":"Iluminação","Look Straight":"Olhe direito","Moisturizer":"Hidratante","Morning":"Manhã","My Routines":"Minhas rotinas","My Skin Report":"Meu relatório de pele","Night":"Noite","Night Cream":"Creme Noturno","Not Good":"Não é bom","Oiliness":"Oleosidade","Or":"Ou","Pigment":"Pigmentos","please remove them":"por favor remova-os","Please stand in front of the camera":"Por favor, fique na frente da câmera","Pores":"Poros","Powered by":"Distribuído por","Privacy Policy":"política de Privacidade","Products That Just Work For you":"Produtos que funcionam para você","Re-take":"Retomar","Recommendation Products":"Produtos de recomendação","Redness":"Vermelhidão","Release to Upload":"Liberar para fazer upload","Remove the glasses":"Retire os óculos","Routine":"Rotina","routines.content.cleanser":"Comece lavando o rosto para remover sujeira, óleo e impurezas. ","routines.content.eyeCream":"Aplique suavemente o creme para os olhos ao redor da área dos olhos para hidratar e reduzir o inchaço ou as olheiras.","routines.content.faceOil":"Aplique um óleo facial leve para reter a umidade e dar à pele um brilho radiante. ","routines.content.moisturizer":"Mantenha a hidratação aplicando um hidratante adequado ao seu tipo de pele. ","routines.content.nightCream":"Use um creme noturno rico para ajudar a reparar e restaurar a pele enquanto você dorme. ","routines.content.serum":"Aplique um sérum concentrado direcionado a preocupações específicas, como clareador ou antienvelhecimento. ","routines.content.spotTreatment":"Aplique tratamento local em qualquer área problemática, como acne ou manchas. ","routines.content.sunscreen":"Proteja sua pele dos raios UV prejudiciais usando protetor solar com proteção de amplo espectro. ","routines.content.toner":"Use um toner para equilibrar o pH da pele e remover qualquer resíduo restante.","Scanning Face...":"Digitalizando rosto...","See our":"Veja nosso","Sending Facial Data...":"Enviando dados faciais...","Serum":"Sérum","Skin Analysis":"Análise da Pele","Skin Health":"Saúde da pele","Skin Info":"Informações da pele","Spot Treatment":"Tratamento local","Sunscreen":"Protetor solar","Supports: JPEG, JPG, PNG":"Suporta: JPEG, JPG, PNG","The face is not neutral (You may have a smile)":"O rosto não é neutro (você pode sorrir)","The face is not visible in the picture":"O rosto não está visível na foto","The input image is not suitable":"A imagem de entrada não é adequada","The light on your face is not suitable":"A luz em seu rosto não é adequada","There are no products to display":"Não há produtos para exibir","There is more than one person in the picture":"Há mais de uma pessoa na foto","Tips for taking better selfies":"Dicas para tirar selfies melhores","Toner":"Toner","Unable to access the camera.":"Não é possível acessar a câmera.","We noticed you might":"Notamos que você pode","Fine Wrinkles":"Rugas","You have glasses":"Você tem óculos","Your":"Seu","Your distance is close to the camera":"Sua distância está perto da câmera","Your image is blurry":"Sua imagem está borrada","your picture quality is blurry":"a qualidade da sua imagem está desfocada"}')},it:{translation:JSON.parse('{"Acne":"Acne","Acnes":"Acne","Add again":"Aggiungi di nuovo","Add to cart":"Aggiungi al carrello","AI Crafting Report..":"Rapporto sulla creazione dell\'IA..","An error occurred, please check again":"Si è verificato un errore, controlla di nuovo","Analyzing Facial Attributes...":"Analisi degli attributi facciali...","and":"E","Bad":"Cattivo","Be in the right light":"Sii nella giusta luce","Be neutral face and fix position":"Sii neutrale e fissa la posizione","be wearing glasses":"portare gli occhiali","browse":"sfogliare","Camera permission denied.":"Autorizzazione della fotocamera negata.","Check how you can improve your skin with the proper product and routine":"Scopri come puoi migliorare la tua pelle con il prodotto e la routine adeguati","Checkout":"Guardare","Clean your face":"Pulisci il viso","Cleanser":"Detergente","Continue":"Continuare","Dark Circle":"Cerchio scuro","Deep Wrinkles":"Rughe profonde","Drag & Drop":"Trascina e rilascia","Error":"Errore","Eye Bag":"Borsa per gli occhi","Eye Cream":"Crema per gli occhi","Eye Wrinkles":"Rughe degli occhi","Face Oil":"Olio per il viso","Face Position":"Posizione del viso","Fair":"Giusto","file not supported":"file non supportato","for better results":"per risultati migliori","for more information":"per ulteriori informazioni","Generate routine for you":"Genera routine per te","Get Ready to Start Skin Analysis":"Preparati a iniziare l\'analisi della pelle","Get recommended products!":"Ottieni prodotti consigliati!","Get Started":"Inizia","Good":"Bene","If you upload a selfie, the image will be used to provide more precise recommendations that may be of interest to you. The image is deleted after being analyzed.":"Se carichi un selfie, l\'immagine verrà utilizzata per fornire consigli più precisi che potrebbero interessarti. ","Image is not suitable":"L\'immagine non è adatta","Improve photo quality":"Migliora la qualità delle foto","Instructions":"Istruzioni","Keep your face inside the circle":"Mantieni il viso all\'interno del cerchio","Lighting":"Illuminazione","Look Straight":"Guarda dritto","Moisturizer":"Crema idratante","Morning":"Mattina","My Routines":"Le mie routine","My Skin Report":"Il mio resoconto sulla pelle","Night":"Notte","Night Cream":"Crema da notte","Not Good":"Non bene","Oiliness":"Oleosità","Or":"O","Pigment":"Pigmenti","please remove them":"per favore rimuovili","Please stand in front of the camera":"Per favore, posizionati davanti alla telecamera","Pores":"Pori","Powered by":"Offerto da","Privacy Policy":"politica sulla riservatezza","Products That Just Work For you":"Prodotti che funzionano proprio per te","Re-take":"Riprendere","Recommendation Products":"Prodotti consigliati","Redness":"Arrossamento","Release to Upload":"Rilascia per caricare","Remove the glasses":"Togliere gli occhiali","Routine":"Routine","routines.content.cleanser":"Inizia lavando il viso per rimuovere sporco, olio e impurità. ","routines.content.eyeCream":"Picchietta delicatamente la crema per gli occhi intorno alla zona degli occhi per idratare e ridurre il gonfiore e le occhiaie.","routines.content.faceOil":"Applica un olio viso leggero per trattenere l\'umidità e donare alla pelle una luminosità radiosa. ","routines.content.moisturizer":"Mantieni l\'idratazione applicando una crema idratante adatta al tuo tipo di pelle. ","routines.content.nightCream":"Usa una ricca crema da notte per aiutare a riparare e ripristinare la pelle mentre dormi. ","routines.content.serum":"Applica un siero concentrato mirato a problemi specifici, come schiarente o antietà. ","routines.content.spotTreatment":"Applicare un trattamento localizzato su tutte le aree problematiche, come l\'acne o le imperfezioni. ","routines.content.sunscreen":"Proteggi la tua pelle dai dannosi raggi UV utilizzando creme solari con protezione ad ampio spettro. ","routines.content.toner":"Usa un tonico per bilanciare il pH della pelle e rimuovere eventuali residui rimasti.","Scanning Face...":"Scansione volto...","See our":"Vedi il nostro","Sending Facial Data...":"Invio dati facciali...","Serum":"Siero","Skin Analysis":"Analisi della pelle","Skin Health":"Salute della pelle","Skin Info":"Informazioni sulla pelle","Spot Treatment":"Trattamento spot","Sunscreen":"Protezione solare","Supports: JPEG, JPG, PNG":"Supporta: JPEG, JPG, PNG","The face is not neutral (You may have a smile)":"Il viso non è neutro (potresti avere un sorriso)","The face is not visible in the picture":"Il volto non è visibile nella foto","The input image is not suitable":"L\'immagine in ingresso non è adatta","The light on your face is not suitable":"La luce sul tuo viso non è adatta","There are no products to display":"Non ci sono prodotti da visualizzare","There is more than one person in the picture":"C\'è più di una persona nella foto","Tips for taking better selfies":"Suggerimenti per scattare selfie migliori","Toner":"Tonico","Unable to access the camera.":"Impossibile accedere alla fotocamera.","We noticed you might":"Abbiamo notato che potresti","Fine Wrinkles":"Rughe","You have glasses":"Hai gli occhiali","Your":"Tuo","Your distance is close to the camera":"La tua distanza è vicina alla fotocamera","Your image is blurry":"La tua immagine è sfocata","your picture quality is blurry":"la qualità dell\'immagine è sfocata"}')},sr:{translation:JSON.parse('{"Skin Analysis":"Анализа коже","Look Straight":"Лоок Страигхт","Face Position":"Фаце Поситион","Lighting":"Осветљење","Good":"Добро","Not Good":"Није добро","Bad":"Лоше","Fair":"Сајам","Powered by":"Поверед би","Your distance is close to the camera":"Ваша удаљеност је близу камере","Keep your face inside the circle":"Држите лице унутар круга","Please stand in front of the camera":"Молим вас станите испред камере","There is more than one person in the picture":"На слици је више особа","Drag & Drop":"Превуците и испустите","Or":"Ор","browse":"прегледати","Supports: JPEG, JPG, PNG":"Подржава: ЈПЕГ, ЈПГ, ПНГ","Release to Upload":"Отпустите за отпремање","file not supported":"датотека није подржана","Sending Facial Data...":"Слање података о лицу...","Scanning Face...":"Скенирање лица...","Analyzing Facial Attributes...":"Анализирање атрибута лица...","AI Crafting Report..":"Извештај о изради вештачке интелигенције..","Skin Info":"Информације о кожи","Fine Wrinkles":"Боре","Eye Wrinkles":"Боре око очију","Deep Wrinkles":"Дубоке боре","Dark Circle":"Дарк Цирцле","Eye Bag":"Еие Баг","Pores":"Поре","Pigment":"Пигменти","Redness":"Црвенило","Oiliness":"Уљеност","Acnes":"Акне","Acne":"Акне","Skin Health":"Здравље коже","Instructions":"Упутства","Get Ready to Start Skin Analysis":"Припремите се за почетак анализе коже","Remove the glasses":"Скините наочаре","Clean your face":"Очистите лице","Be in the right light":"Будите у правом светлу","Be neutral face and fix position":"Будите неутрални и поправите положај","Get Started":"Започните","If you upload a selfie, the image will be used to provide more precise recommendations that may be of interest to you. The image is deleted after being analyzed.":"Ако отпремите селфи, слика ће се користити за пружање прецизнијих препорука које би вас могле занимати. ","See our":"Погледајте наше","Privacy Policy":"Политика приватности","for more information":"за више информација","your picture quality is blurry":"квалитет ваше слике је мутан","be wearing glasses":"да носи наочаре","please remove them":"молимо вас да их уклоните","Improve photo quality":"Побољшајте квалитет фотографија","We noticed you might":"Приметили смо да бисте могли","and":"и","for better results":"за боље резултате","Tips for taking better selfies":"Савети за прављење бољих селфија","Continue":"Настави","Generate routine for you":"Генеришите рутину за вас","Re-take":"Поново узми","Get recommended products!":"Набавите препоручене производе!","Recommendation Products":"Препоручени производи","Products That Just Work For you":"Производи који раде за вас","My Skin Report":"Мој извештај о кожи","Add to cart":"Додај у корпу","Add again":"Додајте поново","Checkout":"Цхецкоут","My Routines":"Моје рутине","Your":"Твоје","Routine":"Рутина","Morning":"Јутро","Night":"Ноћ","Error":"Грешка","The face is not visible in the picture":"Лице се не види на слици","The input image is not suitable":"Улазна слика није прикладна","An error occurred, please check again":"Дошло је до грешке, проверите поново","Camera permission denied.":"Дозвола за камеру је одбијена.","Unable to access the camera.":"Није могуће приступити камери.","Your image is blurry":"Ваша слика је мутна","You have glasses":"Имаш наочаре","The light on your face is not suitable":"Светло на вашем лицу није прикладно","The face is not neutral (You may have a smile)":"Лице није неутрално (можда имате осмех)","Image is not suitable":"Слика није прикладна","Check how you can improve your skin with the proper product and routine":"Проверите како можете побољшати своју кожу одговарајућим производом и рутином","There are no products to display":"Нема производа за приказ","routines.content.cleanser":"Почните прањем лица да бисте уклонили прљавштину, уље и нечистоће. ","routines.content.toner":"Користите тоник да уравнотежите пХ ваше коже и уклоните све остатке.","routines.content.serum":"Нанесите концентровани серум који циља на специфичне проблеме, као што је посветљивање или против старења. ","routines.content.eyeCream":"Нежно утапкајте крему око очију да бисте хидрирали и смањили натеченост или тамне кругове.","routines.content.spotTreatment":"Нанесите третман тачака на било која проблематична подручја, као што су акне или флеке. ","routines.content.moisturizer":"Закључајте хидратацију наношењем хидратантне креме која одговара вашем типу коже. ","routines.content.sunscreen":"Заштитите своју кожу од штетних УВ зрака коришћењем креме за сунчање са заштитом широког спектра. ","routines.content.faceOil":"Нанесите лагано уље за лице како бисте запечатили влагу и дали својој кожи блистав сјај. ","routines.content.nightCream":"Користите богату ноћну крему која ће вам помоћи да поправите и обновите кожу док спавате. ","Cleanser":"Средство за чишћење","Toner":"Тонер","Serum":"Серум","Eye Cream":"Еие Цреам","Spot Treatment":"Спот Треатмент","Moisturizer":"Моистуризер","Sunscreen":"Крема за сунчање","Face Oil":"Уље за лице","Night Cream":"Ноћна крема"}')},hr:{translation:JSON.parse('{"Skin Analysis":"Analiza kože","Look Straight":"Gledaj ravno","Face Position":"Položaj lica","Lighting":"Rasvjeta","Good":"Dobro","Not Good":"Nije dobro","Bad":"Loš","Fair":"Fer","Powered by":"Powered by","Your distance is close to the camera":"Vaša udaljenost je blizu kamere","Keep your face inside the circle":"Držite lice unutar kruga","Please stand in front of the camera":"Molim vas, stanite ispred kamere","There is more than one person in the picture":"Na slici je više od jedne osobe","Drag & Drop":"Povuci i ispusti","Or":"Ili","browse":"pregledavati","Supports: JPEG, JPG, PNG":"Podržava: JPEG, JPG, PNG","Release to Upload":"Otpustite za prijenos","file not supported":"datoteka nije podržana","Sending Facial Data...":"Slanje podataka o licu...","Scanning Face...":"Skeniranje lica...","Analyzing Facial Attributes...":"Analiza atributa lica...","AI Crafting Report..":"Izvješće o AI izradi..","Skin Info":"Informacije o koži","Fine Wrinkles":"Bore","Eye Wrinkles":"Bore oko očiju","Deep Wrinkles":"Duboke bore","Dark Circle":"tamni krug","Eye Bag":"Vrećica za oči","Pores":"Pore","Pigment":"Pigmenti","Redness":"Crvenilo","Oiliness":"Slatkorječivost","Acnes":"Akne","Acne":"Akne","Skin Health":"Zdravlje kože","Instructions":"upute","Get Ready to Start Skin Analysis":"Pripremite se za početak analize kože","Remove the glasses":"Uklonite naočale","Clean your face":"Očistite lice","Be in the right light":"Budite u pravom svjetlu","Be neutral face and fix position":"Budite neutralnog lica i popravite položaj","Get Started":"Započnite","If you upload a selfie, the image will be used to provide more precise recommendations that may be of interest to you. The image is deleted after being analyzed.":"Ako prenesete selfie, slika će se koristiti za pružanje preciznijih preporuka koje bi vas mogle zanimati. ","See our":"Pogledajte naše","Privacy Policy":"Politika privatnosti","for more information":"za više informacija","your picture quality is blurry":"kvaliteta vaše slike je mutna","be wearing glasses":"nositi naočale","please remove them":"molim vas uklonite ih","Improve photo quality":"Poboljšajte kvalitetu fotografije","We noticed you might":"Primijetili smo da možda","and":"i","for better results":"za bolje rezultate","Tips for taking better selfies":"Savjeti za snimanje boljih selfija","Continue":"Nastaviti","Generate routine for you":"Stvorite rutinu za vas","Re-take":"Ponovno snimanje","Get recommended products!":"Nabavite preporučene proizvode!","Recommendation Products":"Preporučeni proizvodi","Products That Just Work For you":"Proizvodi koji rade samo za vas","My Skin Report":"Moje izvješće o koži","Add to cart":"Dodaj u košaricu","Add again":"Dodajte ponovno","Checkout":"Odjava","My Routines":"Moje rutine","Your":"Vaš","Routine":"Rutina","Morning":"Jutro","Night":"Noć","Error":"Greška","The face is not visible in the picture":"Lice se ne vidi na slici","The input image is not suitable":"Ulazna slika nije prikladna","An error occurred, please check again":"Došlo je do pogreške, provjerite ponovno","Camera permission denied.":"Dopuštenje kamere odbijeno.","Unable to access the camera.":"Nije moguće pristupiti kameri.","Your image is blurry":"Vaša slika je mutna","You have glasses":"Imaš naočale","The light on your face is not suitable":"Svjetlo na vašem licu nije prikladno","The face is not neutral (You may have a smile)":"Lice nije neutralno (Možda imate osmijeh)","Image is not suitable":"Slika nije prikladna","Check how you can improve your skin with the proper product and routine":"Provjerite kako možete poboljšati svoju kožu uz pravilan proizvod i rutinu","There are no products to display":"Nema proizvoda za prikaz","routines.content.cleanser":"Započnite pranjem lica kako biste uklonili prljavštinu, masnoću i nečistoće. ","routines.content.toner":"Koristite tonik kako biste uravnotežili pH svoje kože i uklonili sve ostatke.","routines.content.serum":"Nanesite koncentrirani serum za određene probleme, poput posvjetljivanja ili sprječavanja starenja. ","routines.content.eyeCream":"Nježno utapkajte kremu za područje oko očiju kako biste hidratizirali i smanjili natečenost ili podočnjake.","routines.content.spotTreatment":"Nanesite tretman na bilo koje problematično područje, poput akni ili mrlja. ","routines.content.moisturizer":"Zadržite hidrataciju nanošenjem hidratantne kreme koja odgovara vašem tipu kože. ","routines.content.sunscreen":"Zaštitite svoju kožu od štetnih UV zraka korištenjem krema za sunčanje sa zaštitom širokog spektra. ","routines.content.faceOil":"Nanesite lagano ulje za lice kako biste zadržali vlagu i dali svojoj koži blistav sjaj. ","routines.content.nightCream":"Koristite bogatu noćnu kremu za oporavak i obnavljanje kože dok spavate. ","Cleanser":"Sredstvo za čišćenje","Toner":"Toner","Serum":"Serum","Eye Cream":"Krema za oči","Spot Treatment":"Liječenje mrlja","Moisturizer":"Ovlaživač","Sunscreen":"Krema za sunčanje","Face Oil":"Ulje za lice","Night Cream":"Noćna krema"}')},tl:{translation:JSON.parse('{"Skin Analysis":"Pagsusuri sa Balat","Look Straight":"Tumingin ng Diretso","Face Position":"Posisyon ng Mukha","Lighting":"Pag-iilaw","Good":"Mabuti","Not Good":"Hindi Maganda","Bad":"Masama","Fair":"Patas","Powered by":"Pinapatakbo ng","Your distance is close to the camera":"Ang iyong distansya ay malapit sa camera","Keep your face inside the circle":"Panatilihin ang iyong mukha sa loob ng bilog","Please stand in front of the camera":"Mangyaring tumayo sa harap ng camera","There is more than one person in the picture":"Mayroong higit sa isang tao sa larawan","Drag & Drop":"I-drag at I-drop","Or":"O kaya","browse":"mag-browse","Supports: JPEG, JPG, PNG":"Sinusuportahan ang: JPEG, JPG, PNG","Release to Upload":"I-release sa Upload","file not supported":"hindi suportado ang file","Sending Facial Data...":"Nagpapadala ng Data sa Mukha...","Scanning Face...":"Ini-scan ang Mukha...","Analyzing Facial Attributes...":"Pagsusuri sa Mga Katangian ng Mukha...","AI Crafting Report..":"Ulat sa AI Crafting..","Skin Info":"Impormasyon sa Balat","Fine Wrinkles":"Mga wrinkles","Eye Wrinkles":"Mga Lukot sa Mata","Deep Wrinkles":"Malalim na Wrinkles","Dark Circle":"Madilim na Bilog","Eye Bag":"Eye Bag","Pores":"Mga pores","Pigment":"Mga pigment","Redness":"Pamumula","Oiliness":"Kalangisan","Acnes":"Acne","Acne":"Acne","Skin Health":"Kalusugan ng Balat","Instructions":"Mga tagubilin","Get Ready to Start Skin Analysis":"Maghanda upang Simulan ang Pagsusuri ng Balat","Remove the glasses":"Tanggalin ang salamin","Clean your face":"Linisin ang iyong mukha","Be in the right light":"Maging nasa tamang liwanag","Be neutral face and fix position":"Maging neutral ang mukha at ayusin ang posisyon","Get Started":"Magsimula","If you upload a selfie, the image will be used to provide more precise recommendations that may be of interest to you. The image is deleted after being analyzed.":"Kung mag-a-upload ka ng selfie, gagamitin ang larawan para magbigay ng mas tumpak na mga rekomendasyon na maaaring interesado sa iyo. ","See our":"Tingnan ang aming","Privacy Policy":"Patakaran sa Privacy","for more information":"para sa karagdagang impormasyon","your picture quality is blurry":"malabo ang kalidad ng iyong larawan","be wearing glasses":"magsuot ng salamin","please remove them":"mangyaring alisin ang mga ito","Improve photo quality":"Pagbutihin ang kalidad ng larawan","We noticed you might":"Napansin namin na baka","and":"at","for better results":"para sa mas magandang resulta","Tips for taking better selfies":"Mga tip para sa pagkuha ng mas mahusay na mga selfie","Continue":"Magpatuloy","Generate routine for you":"Bumuo ng routine para sa iyo","Re-take":"Muling kunin","Get recommended products!":"Kumuha ng mga inirerekomendang produkto!","Recommendation Products":"Mga Produktong Rekomendasyon","Products That Just Work For you":"Mga Produktong Gumagana Lang Para sa Iyo","My Skin Report":"Ulat sa Balat Ko","Add to cart":"Idagdag sa cart","Add again":"Idagdag muli","Checkout":"Checkout","My Routines":"Aking Mga Gawain","Your":"Iyong","Routine":"nakagawian","Morning":"Umaga","Night":"Gabi","Error":"Error","The face is not visible in the picture":"Ang mukha ay hindi nakikita sa larawan","The input image is not suitable":"Ang input na imahe ay hindi angkop","An error occurred, please check again":"May naganap na error, pakisuri muli","Camera permission denied.":"Tinanggihan ang pahintulot sa camera.","Unable to access the camera.":"Hindi ma-access ang camera.","Your image is blurry":"Malabo ang iyong larawan","You have glasses":"May salamin ka","The light on your face is not suitable":"Ang liwanag sa iyong mukha ay hindi angkop","The face is not neutral (You may have a smile)":"Hindi neutral ang mukha (Maaaring may ngiti ka)","Image is not suitable":"Hindi angkop ang larawan","Check how you can improve your skin with the proper product and routine":"Suriin kung paano mo mapapabuti ang iyong balat sa tamang produkto at gawain","There are no products to display":"Walang mga produktong ipapakita","routines.content.cleanser":"Magsimula sa pamamagitan ng paghuhugas ng iyong mukha upang alisin ang dumi, langis, at mga dumi. ","routines.content.toner":"Gumamit ng toner para balansehin ang pH ng iyong balat at alisin ang anumang natitirang nalalabi.","routines.content.serum":"Mag-apply ng concentrated serum na nagta-target ng mga partikular na alalahanin, tulad ng pagpapaputi o anti-aging. ","routines.content.eyeCream":"Dahan-dahang i-pat ang eye cream sa paligid ng bahagi ng mata upang mag-hydrate at mabawasan ang puffiness o dark circles.","routines.content.spotTreatment":"Mag-apply ng spot treatment sa anumang lugar na may problema, tulad ng acne o blemishes. ","routines.content.moisturizer":"I-lock ang hydration sa pamamagitan ng paglalagay ng moisturizer na angkop sa uri ng iyong balat. ","routines.content.sunscreen":"Protektahan ang iyong balat mula sa mapaminsalang UV rays sa pamamagitan ng paggamit ng sunscreen na may malawak na spectrum na proteksyon. ","routines.content.faceOil":"Mag-apply ng magaan na face oil upang ma-seal ang moisture at bigyan ang iyong balat ng maningning na glow. ","routines.content.nightCream":"Gumamit ng masaganang night cream para makatulong sa pag-aayos at pagpapanumbalik ng iyong balat habang natutulog ka. ","Cleanser":"Panlinis","Toner":"Toner","Serum":"Serum","Eye Cream":"Cream sa Mata","Spot Treatment":"Paggamot sa Spot","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Langis sa Mukha","Night Cream":"Cream sa Gabi"}')},et:{translation:JSON.parse('{"Skin Analysis":"Naha analüüs","Look Straight":"Vaata otse","Face Position":"Näo asend","Lighting":"Valgustus","Good":"Hea","Not Good":"Pole hea","Bad":"Halb","Fair":"Õiglane","Powered by":"Toiteallikaks","Your distance is close to the camera":"Teie kaugus on kaamerale lähedal","Keep your face inside the circle":"Hoidke oma nägu ringi sees","Please stand in front of the camera":"Palun seisa kaamera ees","There is more than one person in the picture":"Pildil on rohkem kui üks inimene","Drag & Drop":"Drag & Drop","Or":"Või","browse":"sirvida","Supports: JPEG, JPG, PNG":"Toetab: JPEG, JPG, PNG","Release to Upload":"Vabastage üleslaadimiseks","file not supported":"faili ei toetata","Sending Facial Data...":"Näoandmete saatmine...","Scanning Face...":"Näo skannimine...","Analyzing Facial Attributes...":"Näo omaduste analüüsimine...","AI Crafting Report..":"AI meisterdamisaruanne..","Skin Info":"Naha teave","Fine Wrinkles":"Kortsud","Eye Wrinkles":"Silma kortsud","Deep Wrinkles":"Sügavad kortsud","Dark Circle":"Tume ring","Eye Bag":"Silma kott","Pores":"Poorid","Pigment":"Pigmendid","Redness":"Punetus","Oiliness":"Õlisust","Acnes":"Akne","Acne":"Akne","Skin Health":"Naha tervis","Instructions":"Juhised","Get Ready to Start Skin Analysis":"Olge valmis alustama nahaanalüüsi","Remove the glasses":"Eemaldage prillid","Clean your face":"Puhastage oma nägu","Be in the right light":"Olge õiges valguses","Be neutral face and fix position":"Olge neutraalne nägu ja fikseerige asend","Get Started":"Alustage","If you upload a selfie, the image will be used to provide more precise recommendations that may be of interest to you. The image is deleted after being analyzed.":"Kui laadite üles selfie, kasutatakse seda pilti täpsemate soovituste andmiseks, mis võivad teile huvi pakkuda. ","See our":"Vaadake meie","Privacy Policy":"Privaatsuspoliitika","for more information":"lisateabe saamiseks","your picture quality is blurry":"teie pildikvaliteet on udune","be wearing glasses":"prille kandma","please remove them":"palun eemaldage need","Improve photo quality":"Parandage foto kvaliteeti","We noticed you might":"Märkasime, et võite","and":"ja","for better results":"paremate tulemuste saamiseks","Tips for taking better selfies":"Näpunäiteid paremate selfide tegemiseks","Continue":"Jätka","Generate routine for you":"Looge teile rutiin","Re-take":"Võtke uuesti","Get recommended products!":"Hankige soovitatud tooteid!","Recommendation Products":"Soovituslikud tooted","Products That Just Work For you":"Tooted, mis töötavad just teie jaoks","My Skin Report":"Minu naha aruanne","Add to cart":"Lisa ostukorvi","Add again":"Lisa uuesti","Checkout":"Kassasse","My Routines":"Minu rutiinid","Your":"Sinu","Routine":"Rutiinne","Morning":"Hommik","Night":"Öö","Error":"Viga","The face is not visible in the picture":"Pildil ei ole nägu näha","The input image is not suitable":"Sisendpilt ei sobi","An error occurred, please check again":"Ilmnes viga, kontrollige uuesti","Camera permission denied.":"Kaamera luba on keelatud.","Unable to access the camera.":"Kaamerale ei pääse juurde.","Your image is blurry":"Teie pilt on udune","You have glasses":"Sul on prillid","The light on your face is not suitable":"Valgus näole ei sobi","The face is not neutral (You may have a smile)":"Nägu ei ole neutraalne (teil võib olla naeratus)","Image is not suitable":"Pilt ei sobi","Check how you can improve your skin with the proper product and routine":"Kontrollige, kuidas saate õige toote ja rutiini abil oma nahka parandada","There are no products to display":"Kuvamiseks pole tooteid","routines.content.cleanser":"Alustage näo pesemisega, et eemaldada mustus, õli ja mustus. ","routines.content.toner":"Kasutage toonikut, et tasakaalustada naha pH-taset ja eemaldada kõik järelejäänud jäägid.","routines.content.serum":"Kasutage kontsentreeritud seerumit, mis on suunatud konkreetsetele probleemidele, nagu sära andev või vananemisvastane toime. ","routines.content.eyeCream":"Patsutage silmaümbruskreemi õrnalt ümber silmaümbruse, et niisutada ja vähendada turseid või tumedaid ringe.","routines.content.spotTreatment":"Kandke punkthooldust kõikidele probleemsetele kohtadele, nagu akne või plekid. ","routines.content.moisturizer":"Lukustage hüdratsioon, kandes nahatüübile sobivat niisutajat. ","routines.content.sunscreen":"Kaitske oma nahka kahjulike UV-kiirte eest, kasutades laia spektriga päikesekaitsekreemi. ","routines.content.faceOil":"Kandke kerget näoõli, et suletada niiskust ja anda nahale särav sära. ","routines.content.nightCream":"Kasutage rikkalikku öökreemi, mis aitab magada nahka parandada ja taastada. ","Cleanser":"Puhastusvahend","Toner":"Tooner","Serum":"Seerum","Eye Cream":"Silmaümbruskreem","Spot Treatment":"Kohapealne ravi","Moisturizer":"Niisutaja","Sunscreen":"Päikesekaitsekreem","Face Oil":"Näoõli","Night Cream":"Öökreem"}')},fr:{translation:JSON.parse('{"Skin Analysis":"Analyse de la peau","Look Straight":"Regardez droit","Face Position":"Position du visage","Lighting":"Éclairage","Good":"Bien","Not Good":"Pas bon","Bad":"Mauvais","Fair":"Équitable","Powered by":"Alimenté par","Your distance is close to the camera":"Votre distance est proche de la caméra","Keep your face inside the circle":"Gardez votre visage à l\'intérieur du cercle","Please stand in front of the camera":"Veuillez vous tenir devant la caméra","There is more than one person in the picture":"Il y a plus d\'une personne sur la photo","Drag & Drop":"Glisser-déposer","Or":"Ou","browse":"parcourir","Supports: JPEG, JPG, PNG":"Prise en charge : JPEG, JPG, PNG","Release to Upload":"Libérer pour télécharger","file not supported":"fichier non pris en charge","Sending Facial Data...":"Envoi de données faciales...","Scanning Face...":"Numérisation du visage...","Analyzing Facial Attributes...":"Analyse des attributs du visage...","AI Crafting Report..":"Rapport de création d\'IA.","Skin Info":"Informations sur la peau","Fine Wrinkles":"Rides","Eye Wrinkles":"Rides des yeux","Deep Wrinkles":"Rides profondes","Dark Circle":"Cercle noir","Eye Bag":"Sac pour les yeux","Pores":"Pores","Pigment":"Pigment","Redness":"Rougeur","Oiliness":"Onctuosité","Acnes":"Acné","Acne":"Acné","Skin Health":"Santé de la peau","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Préparez-vous à commencer l\'analyse de la peau","Remove the glasses":"Retirez les lunettes","Clean your face":"Nettoyez votre visage","Be in the right light":"Soyez sous le bon jour","Be neutral face and fix position":"Soyez neutre et fixez votre position","Get Started":"Commencer","If you upload a selfie, the image will be used to provide more precise recommendations that may be of interest to you. The image is deleted after being analyzed.":"Si vous téléchargez un selfie, l\'image sera utilisée pour fournir des recommandations plus précises susceptibles de vous intéresser. ","See our":"Voir notre","Privacy Policy":"politique de confidentialité","for more information":"pour plus d\'informations","your picture quality is blurry":"la qualité de votre image est floue","be wearing glasses":"porter des lunettes","please remove them":"veuillez les supprimer","Improve photo quality":"Améliorer la qualité des photos","We noticed you might":"Nous avons remarqué que vous pourriez","and":"et","for better results":"pour de meilleurs résultats","Tips for taking better selfies":"Conseils pour prendre de meilleurs selfies","Continue":"Continuer","Generate routine for you":"Générez une routine pour vous","Re-take":"Reprendre","Get recommended products!":"Obtenez des produits recommandés !","Recommendation Products":"Produits recommandés","Products That Just Work For you":"Des produits qui fonctionnent juste pour vous","My Skin Report":"Mon rapport sur la peau","Add to cart":"Ajouter au panier","Add again":"Ajouter à nouveau","Checkout":"Vérifier","My Routines":"Mes routines","Your":"Ton","Routine":"Routine","Morning":"Matin","Night":"Nuit","Error":"Erreur","The face is not visible in the picture":"Le visage n\'est pas visible sur la photo","The input image is not suitable":"L\'image d\'entrée ne convient pas","An error occurred, please check again":"Une erreur s\'est produite, veuillez vérifier à nouveau","Camera permission denied.":"Autorisation de la caméra refusée.","Unable to access the camera.":"Impossible d\'accéder à la caméra.","Your image is blurry":"Votre image est floue","You have glasses":"tu as des lunettes","The light on your face is not suitable":"La lumière sur votre visage n\'est pas adaptée","The face is not neutral (You may have a smile)":"Le visage n\'est pas neutre (Vous pouvez avoir un sourire)","Image is not suitable":"L\'image ne convient pas","Check how you can improve your skin with the proper product and routine":"Vérifiez comment vous pouvez améliorer votre peau avec le produit et la routine appropriés","There are no products to display":"Il n\'y a aucun produit à afficher","routines.content.cleanser":"Commencez par vous laver le visage pour éliminer la saleté, l’huile et les impuretés. ","routines.content.toner":"Utilisez un tonique pour équilibrer le pH de votre peau et éliminer tout résidu restant.","routines.content.serum":"Appliquez un sérum concentré ciblant des préoccupations spécifiques, comme éclaircissantes ou anti-âge. ","routines.content.eyeCream":"Appliquez doucement la crème pour les yeux autour du contour des yeux pour hydrater et réduire les poches ou les cernes.","routines.content.spotTreatment":"Appliquez un traitement localisé sur toutes les zones à problèmes, telles que l\'acné ou les imperfections. ","routines.content.moisturizer":"Conservez l\'hydratation en appliquant une crème hydratante adaptée à votre type de peau. ","routines.content.sunscreen":"Protégez votre peau des rayons UV nocifs en utilisant un écran solaire offrant une protection à large spectre. ","routines.content.faceOil":"Appliquez une huile légère pour le visage pour retenir l’humidité et donner à votre peau un éclat radieux. ","routines.content.nightCream":"Utilisez une crème de nuit riche pour aider à réparer et restaurer votre peau pendant que vous dormez. ","Cleanser":"Nettoyant","Toner":"Tonique","Serum":"Sérum","Eye Cream":"Crème pour les yeux","Spot Treatment":"Traitement localisé","Moisturizer":"Crème hydratante","Sunscreen":"Crème solaire","Face Oil":"Huile Visage","Night Cream":"Crème de Nuit","Add all to cart":"Ajouter tout au panier","All Products":"Tous les produits"}')},el:{translation:JSON.parse('{"Skin Analysis":"Ανάλυση δέρματος","Look Straight":"Κοιτάξτε ευθεία","Face Position":"Θέση προσώπου","Lighting":"Φωτισμός","Good":"Καλός","Not Good":"Δεν είναι καλό","Bad":"Κακός","Fair":"Εκθεση","Powered by":"Τροφοδοτείται από","Your distance is close to the camera":"Η απόσταση σας είναι κοντά στην κάμερα","Keep your face inside the circle":"Κρατήστε το πρόσωπό σας μέσα στον κύκλο","Please stand in front of the camera":"Παρακαλώ σταθείτε μπροστά στην κάμερα","There is more than one person in the picture":"Υπάρχουν περισσότερα από ένα άτομα στην εικόνα","Drag & Drop":"Μεταφορά και απόθεση","Or":"Ή","browse":"ξεφυλλίζω","Supports: JPEG, JPG, PNG":"Υποστηρίζει: JPEG, JPG, PNG","Release to Upload":"Αφήστε για μεταφόρτωση","file not supported":"αρχείο δεν υποστηρίζεται","Sending Facial Data...":"Αποστολή δεδομένων προσώπου...","Scanning Face...":"Σάρωση προσώπου...","Analyzing Facial Attributes...":"Ανάλυση ιδιοτήτων προσώπου...","AI Crafting Report..":"Αναφορά τεχνητής νοημοσύνης..","Skin Info":"Πληροφορίες δέρματος","Fine Wrinkles":"Ρυτίδες","Eye Wrinkles":"Ρυτίδες ματιών","Deep Wrinkles":"Βαθιές ρυτίδες","Dark Circle":"Σκοτεινός Κύκλος","Eye Bag":"Τσάντα ματιών","Pores":"Πόροι","Pigment":"Χρωστικές","Redness":"Ερυθρότητα","Oiliness":"Ελλαιώδες","Acnes":"Ακμή","Acne":"Ακμή","Skin Health":"Υγεία του δέρματος","Instructions":"Οδηγίες","Get Ready to Start Skin Analysis":"Ετοιμαστείτε να ξεκινήσετε την ανάλυση δέρματος","Remove the glasses":"Αφαιρέστε τα γυαλιά","Clean your face":"Καθαρίστε το πρόσωπό σας","Be in the right light":"Να είστε στο σωστό φως","Be neutral face and fix position":"Να είστε ουδέτερο πρόσωπο και να σταθεροποιήσετε τη θέση","Get Started":"Ξεκινήστε","If you upload a selfie, the image will be used to provide more precise recommendations that may be of interest to you. The image is deleted after being analyzed.":"Εάν ανεβάσετε μια selfie, η εικόνα θα χρησιμοποιηθεί για να παρέχει πιο ακριβείς προτάσεις που μπορεί να σας ενδιαφέρουν. ","See our":"Δείτε το δικό μας","Privacy Policy":"Πολιτική Απορρήτου","for more information":"για περισσότερες πληροφορίες","your picture quality is blurry":"η ποιότητα της εικόνας σας είναι θολή","be wearing glasses":"να φοράτε γυαλιά","please remove them":"παρακαλώ αφαιρέστε τα","Improve photo quality":"Βελτιώστε την ποιότητα της φωτογραφίας","We noticed you might":"Παρατηρήσαμε ότι μπορείς","and":"και","for better results":"για καλύτερα αποτελέσματα","Tips for taking better selfies":"Συμβουλές για καλύτερες selfies","Continue":"Συνεχίζω","Generate routine for you":"Δημιουργήστε ρουτίνα για εσάς","Re-take":"Ξαναπαίρνω","Get recommended products!":"Λάβετε προτεινόμενα προϊόντα!","Recommendation Products":"Προϊόντα Σύστασης","Products That Just Work For you":"Προϊόντα που λειτουργούν μόνο για εσάς","My Skin Report":"My Skin Report","Add to cart":"Προσθήκη στο καλάθι","Add again":"Προσθέστε ξανά","Checkout":"Αποχώρηση","My Routines":"Οι ρουτίνες μου","Your":"Σας","Routine":"Ρουτίνα","Morning":"Πρωί","Night":"Νύχτα","Error":"Σφάλμα","The face is not visible in the picture":"Το πρόσωπο δεν φαίνεται στην εικόνα","The input image is not suitable":"Η εικόνα εισόδου δεν είναι κατάλληλη","An error occurred, please check again":"Παρουσιάστηκε σφάλμα, ελέγξτε ξανά","Camera permission denied.":"Η άδεια κάμερας απορρίφθηκε.","Unable to access the camera.":"Δεν είναι δυνατή η πρόσβαση στην κάμερα.","Your image is blurry":"Η εικόνα σας είναι θολή","You have glasses":"Έχεις γυαλιά","The light on your face is not suitable":"Το φως στο πρόσωπό σας δεν είναι κατάλληλο","The face is not neutral (You may have a smile)":"Το πρόσωπο δεν είναι ουδέτερο (Μπορεί να έχετε ένα χαμόγελο)","Image is not suitable":"Η εικόνα δεν είναι κατάλληλη","Check how you can improve your skin with the proper product and routine":"Ελέγξτε πώς μπορείτε να βελτιώσετε το δέρμα σας με το κατάλληλο προϊόν και τη ρουτίνα","There are no products to display":"Δεν υπάρχουν προϊόντα προς εμφάνιση","routines.content.cleanser":"Ξεκινήστε πλένοντας το πρόσωπό σας για να αφαιρέσετε ρύπους, λάδια και ακαθαρσίες. ","routines.content.toner":"Χρησιμοποιήστε ένα τονωτικό για να εξισορροπήσετε το pH του δέρματός σας και να αφαιρέσετε τυχόν υπολείμματα.","routines.content.serum":"Εφαρμόστε έναν συμπυκνωμένο ορό που στοχεύει σε συγκεκριμένες ανησυχίες, όπως λεύκανση ή αντιγήρανση. ","routines.content.eyeCream":"Απλώστε απαλά την κρέμα ματιών γύρω από την περιοχή των ματιών για να ενυδατώσει και να μειώσει το πρήξιμο ή τους μαύρους κύκλους.","routines.content.spotTreatment":"Εφαρμόστε θεραπεία με σημεία σε οποιεσδήποτε προβληματικές περιοχές, όπως ακμή ή κηλίδες. ","routines.content.moisturizer":"Κλείστε την ενυδάτωση εφαρμόζοντας μια ενυδατική κρέμα που ταιριάζει στον τύπο του δέρματός σας. ","routines.content.sunscreen":"Προστατέψτε το δέρμα σας από τις βλαβερές ακτίνες UV χρησιμοποιώντας αντηλιακό με προστασία ευρέος φάσματος. ","routines.content.faceOil":"Απλώστε ένα ελαφρύ λάδι προσώπου για να σφραγίσει την υγρασία και να δώσει στο δέρμα σας μια λαμπερή λάμψη. ","routines.content.nightCream":"Χρησιμοποιήστε μια πλούσια κρέμα νύχτας για να σας βοηθήσει να επανορθώσετε και να αποκαταστήσετε το δέρμα σας ενώ κοιμάστε. ","Cleanser":"Καθαριστικό","Toner":"Τονίζων","Serum":"Ορρός","Eye Cream":"Κρέμα Ματιών","Spot Treatment":"Θεραπεία κηλίδων","Moisturizer":"Ενυδατική κρέμα","Sunscreen":"Αντηλιακό","Face Oil":"Λάδι προσώπου","Night Cream":"Κρέμα Νύχτας"}')},bg:{translation:JSON.parse('{"Skin Analysis":"Анализ на кожата","Look Straight":"Гледай направо","Face Position":"Позиция на лицето","Lighting":"Осветление","Good":"добре","Not Good":"Не е добре","Bad":"лошо","Fair":"Справедлива","Powered by":"Осъществено от","Your distance is close to the camera":"Разстоянието ви е близо до камерата","Keep your face inside the circle":"Дръжте лицето си вътре в кръга","Please stand in front of the camera":"Моля, застанете пред камерата","There is more than one person in the picture":"На снимката има повече от един човек","Drag & Drop":"Плъзнете и пуснете","Or":"или","browse":"разглеждате","Supports: JPEG, JPG, PNG":"Поддържа: JPEG, JPG, PNG","Release to Upload":"Освободете за качване","file not supported":"файлът не се поддържа","Sending Facial Data...":"Изпращане на лицеви данни...","Scanning Face...":"Сканиране на лицето...","Analyzing Facial Attributes...":"Анализиране на характеристиките на лицето...","AI Crafting Report..":"Доклад за AI Crafting..","Skin Info":"Информация за кожата","Fine Wrinkles":"бръчки","Eye Wrinkles":"Очни бръчки","Deep Wrinkles":"Дълбоки бръчки","Dark Circle":"тъмен кръг","Eye Bag":"Торбичка под очите","Pores":"Пори","Pigment":"Пигменти","Redness":"Зачервяване","Oiliness":"Омазняване","Acnes":"акне","Acne":"акне","Skin Health":"Здраве на кожата","Instructions":"Инструкции","Get Ready to Start Skin Analysis":"Пригответе се да започнете анализ на кожата","Remove the glasses":"Махнете очилата","Clean your face":"Почистете лицето си","Be in the right light":"Бъдете в правилната светлина","Be neutral face and fix position":"Бъдете неутрално лице и фиксирайте позицията","Get Started":"Започнете","If you upload a selfie, the image will be used to provide more precise recommendations that may be of interest to you. The image is deleted after being analyzed.":"Ако качите селфи, изображението ще се използва за предоставяне на по-точни препоръки, които може да са от интерес за вас. ","See our":"Вижте нашите","Privacy Policy":"Политика за поверителност","for more information":"за повече информация","your picture quality is blurry":"качеството на картината ви е размазано","be wearing glasses":"да носите очила","please remove them":"моля, премахнете ги","Improve photo quality":"Подобрете качеството на снимките","We noticed you might":"Забелязахме, че може","and":"и","for better results":"за по-добри резултати","Tips for taking better selfies":"Съвети за правене на по-добри селфита","Continue":"Продължи","Generate routine for you":"Създайте рутина за вас","Re-take":"Повторно вземане","Get recommended products!":"Вземете препоръчани продукти!","Recommendation Products":"Препоръчителни продукти","Products That Just Work For you":"Продукти, които работят само за вас","My Skin Report":"Моят доклад за кожата","Add to cart":"Добавяне в количката","Add again":"Добавете отново","Checkout":"Плащане","My Routines":"Моите съчетания","Your":"Вашият","Routine":"Рутина","Morning":"сутрин","Night":"нощ","Error":"Грешка","The face is not visible in the picture":"Лицето не се вижда на снимката","The input image is not suitable":"Въведеното изображение не е подходящо","An error occurred, please check again":"Възникна грешка, моля, проверете отново","Camera permission denied.":"Разрешението за камерата е отказано.","Unable to access the camera.":"Няма достъп до камерата.","Your image is blurry":"Вашето изображение е размазано","You have glasses":"Имате очила","The light on your face is not suitable":"Светлината на лицето ви не е подходяща","The face is not neutral (You may have a smile)":"Лицето не е неутрално (може да имате усмивка)","Image is not suitable":"Изображението не е подходящо","Check how you can improve your skin with the proper product and routine":"Вижте как можете да подобрите кожата си с правилния продукт и рутина","There are no products to display":"Няма продукти за показване","routines.content.cleanser":"Започнете с измиване на лицето, за да премахнете мръсотията, маслото и примесите. ","routines.content.toner":"Използвайте тоник, за да балансирате рН на кожата си и да премахнете всички остатъци.","routines.content.serum":"Нанесете концентриран серум, насочен към специфични проблеми, като изсветляване или против стареене. ","routines.content.eyeCream":"Внимателно потупвайте околоочния крем около очите, за да хидратирате и намалите подпухналостта или тъмните кръгове.","routines.content.spotTreatment":"Нанесете точково лечение върху всякакви проблемни зони, като акне или петна. ","routines.content.moisturizer":"Заключете хидратацията, като нанесете овлажнител, който отговаря на вашия тип кожа. ","routines.content.sunscreen":"Защитете кожата си от вредните UV лъчи, като използвате слънцезащитен крем с широкоспектърна защита. ","routines.content.faceOil":"Нанесете леко масло за лице, за да запечатате влагата и да придадете на кожата си сияйна светлина. ","routines.content.nightCream":"Използвайте богат нощен крем, за да възстановите кожата си, докато спите. ","Cleanser":"Почистващо средство","Toner":"Тонер","Serum":"Серум","Eye Cream":"Околоочен крем","Spot Treatment":"Лечение на петна","Moisturizer":"Овлажнител","Sunscreen":"Слънцезащитен крем","Face Oil":"Масло за лице","Night Cream":"Нощен крем"}')},ro:{translation:JSON.parse('{"Skin Analysis":"Analiza pielii","Look Straight":"Uită-te drept","Face Position":"Poziția feței","Lighting":"Iluminat","Good":"Bun","Not Good":"Nu e bun","Bad":"Rău","Fair":"Corect","Powered by":"Cu sprijinul","Your distance is close to the camera":"Distanța ta este aproape de cameră","Keep your face inside the circle":"Ține-ți fața în interiorul cercului","Please stand in front of the camera":"Vă rugăm să stați în fața camerei","There is more than one person in the picture":"Există mai mult de o persoană în imagine","Drag & Drop":"Trageți și plasați","Or":"Sau","browse":"răsfoiește","Supports: JPEG, JPG, PNG":"Suporta: JPEG, JPG, PNG","Release to Upload":"Eliberați pentru a încărca","file not supported":"fișierul nu este acceptat","Sending Facial Data...":"Se trimit date faciale...","Scanning Face...":"Se scanează chipul...","Analyzing Facial Attributes...":"Se analizează atributele faciale...","AI Crafting Report..":"Raport despre crearea AI..","Skin Info":"Informații despre piele","Fine Wrinkles":"Riduri","Eye Wrinkles":"Ridurile ochilor","Deep Wrinkles":"Riduri adânci","Dark Circle":"Cercul întunecat","Eye Bag":"Geanta pentru ochi","Pores":"Porii","Pigment":"Pigmenti","Redness":"Roşeaţă","Oiliness":"Oleositate","Acnes":"Acnee","Acne":"Acnee","Skin Health":"Sănătatea pielii","Instructions":"Instrucţiuni","Get Ready to Start Skin Analysis":"Pregătește-te pentru a începe analiza pielii","Remove the glasses":"Scoateți ochelarii","Clean your face":"Curățați-vă fața","Be in the right light":"Fii în lumina potrivită","Be neutral face and fix position":"Fiți neutru față și fixați poziția","Get Started":"Începeți","If you upload a selfie, the image will be used to provide more precise recommendations that may be of interest to you. The image is deleted after being analyzed.":"Dacă încarci un selfie, imaginea va fi folosită pentru a oferi recomandări mai precise care ar putea fi de interes pentru tine. ","See our":"Vezi noastre","Privacy Policy":"Politica de confidențialitate","for more information":"pentru mai multe informații","your picture quality is blurry":"calitatea imaginii dvs. este neclară","be wearing glasses":"să poarte ochelari","please remove them":"vă rog să le eliminați","Improve photo quality":"Îmbunătățiți calitatea fotografiei","We noticed you might":"Am observat că s-ar putea","and":"şi","for better results":"pentru rezultate mai bune","Tips for taking better selfies":"Sfaturi pentru a face selfie-uri mai bune","Continue":"Continua","Generate routine for you":"Generați rutină pentru dvs","Re-take":"Relua","Get recommended products!":"Obțineți produse recomandate!","Recommendation Products":"Produse de recomandare","Products That Just Work For you":"Produse care funcționează doar pentru tine","My Skin Report":"Raportul meu de piele","Add to cart":"Adaugă in coş","Add again":"Adaugă din nou","Checkout":"Verifică","My Routines":"Rutinele mele","Your":"Dvs","Routine":"Rutină","Morning":"Dimineaţă","Night":"Noapte","Error":"Eroare","The face is not visible in the picture":"Fața nu este vizibilă în imagine","The input image is not suitable":"Imaginea de intrare nu este potrivită","An error occurred, please check again":"A apărut o eroare, vă rugăm să verificați din nou","Camera permission denied.":"Permisiunea camerei a fost refuzată.","Unable to access the camera.":"Nu se poate accesa camera.","Your image is blurry":"Imaginea ta este neclară","You have glasses":"Ai ochelari","The light on your face is not suitable":"Lumina de pe fata ta nu este potrivita","The face is not neutral (You may have a smile)":"Fața nu este neutră (poate avea un zâmbet)","Image is not suitable":"Imaginea nu este potrivită","Check how you can improve your skin with the proper product and routine":"Verificați cum vă puteți îmbunătăți pielea cu produsul și rutina adecvate","There are no products to display":"Nu există produse de afișat","routines.content.cleanser":"Începeți prin a vă spăla fața pentru a îndepărta murdăria, uleiul și impuritățile. ","routines.content.toner":"Utilizați un toner pentru a echilibra pH-ul pielii și pentru a elimina orice reziduuri rămase.","routines.content.serum":"Aplicați un ser concentrat care vizează probleme specifice, cum ar fi strălucirea sau anti-îmbătrânire. ","routines.content.eyeCream":"Lipiți ușor crema de ochi în jurul zonei ochilor pentru a hidrata și a reduce umflarea sau cearcănele.","routines.content.spotTreatment":"Aplicați tratament la fața locului pe orice zone cu probleme, cum ar fi acneea sau petele. ","routines.content.moisturizer":"Asigurați-vă hidratarea aplicând o cremă hidratantă care se potrivește tipului dvs. de piele. ","routines.content.sunscreen":"Protejați-vă pielea de razele UV dăunătoare utilizând protecție solară cu protecție cu spectru larg. ","routines.content.faceOil":"Aplicați un ulei ușor de față pentru a etanșa umiditatea și pentru a oferi pielii o strălucire strălucitoare. ","routines.content.nightCream":"Utilizați o cremă bogată de noapte pentru a vă ajuta să vă reparați și să vă refaceți pielea în timp ce dormiți. ","Cleanser":"Demachiant","Toner":"Toner","Serum":"Ser","Eye Cream":"Crema de ochi","Spot Treatment":"Tratamentul punctual","Moisturizer":"Cremă hidratantă","Sunscreen":"Cremă de protecție solară","Face Oil":"Ulei de față","Night Cream":"Crema de noapte"}')},hi:{translation:JSON.parse('{"Skin Analysis":"त्वचा विश्लेषण","Look Straight":"सीधे देखना","Face Position":"चेहरे की स्थिति","Lighting":"प्रकाश","Good":"अच्छा","Not Good":"अच्छा नहीं है","Bad":"खराब","Fair":"गोरा","Powered by":"द्वारा संचालित","Your distance is close to the camera":"आपकी दूरी कैमरे के करीब है","Keep your face inside the circle":"अपना चेहरा गोले के अंदर रखें","Please stand in front of the camera":"कृपया कैमरे के सामने खड़े हों","There is more than one person in the picture":"चित्र में एक से अधिक व्यक्ति हैं","Drag & Drop":"खींचें और छोड़ें","Or":"या","browse":"ब्राउज़","Supports: JPEG, JPG, PNG":"समर्थन करता है: जेपीईजी, जेपीजी, पीएनजी","Release to Upload":"अपलोड करने के लिए जारी करें","file not supported":"फ़ाइल समर्थित नहीं है","Sending Facial Data...":"चेहरे का डेटा भेजा जा रहा है...","Scanning Face...":"चेहरा स्कैन किया जा रहा है...","Analyzing Facial Attributes...":"चेहरे की विशेषताओं का विश्लेषण...","AI Crafting Report..":"एआई क्राफ्टिंग रिपोर्ट..","Skin Info":"त्वचा की जानकारी","Fine Wrinkles":"झुर्रियाँ","Eye Wrinkles":"आँखों की झुर्रियाँ","Deep Wrinkles":"गहरी झुर्रियाँ","Dark Circle":"डार्क सर्कल","Eye Bag":"आंख के काले घेरे","Pores":"छिद्र","Pigment":"पिग्मेंट्स","Redness":"लालपन","Oiliness":"चाटुकारिता","Acnes":"मुंहासा","Acne":"मुंहासा","Skin Health":"त्वचा का स्वास्थ्य","Instructions":"निर्देश","Get Ready to Start Skin Analysis":"त्वचा विश्लेषण शुरू करने के लिए तैयार हो जाइए","Remove the glasses":"चश्मा हटाओ","Clean your face":"अपना चेहरा साफ़ करें","Be in the right light":"सही रोशनी में रहें","Be neutral face and fix position":"तटस्थ रहें और स्थिति ठीक करें","Get Started":"शुरू हो जाओ","If you upload a selfie, the image will be used to provide more precise recommendations that may be of interest to you. The image is deleted after being analyzed.":"यदि आप कोई सेल्फी अपलोड करते हैं, तो छवि का उपयोग अधिक सटीक अनुशंसाएँ प्रदान करने के लिए किया जाएगा जो आपके लिए रुचिकर हो सकती हैं। ","See our":"हमारा देखें","Privacy Policy":"गोपनीयता नीति","for more information":"अधिक जानकारी के लिए","your picture quality is blurry":"आपकी तस्वीर की गुणवत्ता धुंधली है","be wearing glasses":"चश्मा पहने रहना","please remove them":"कृपया उन्हें हटा दें","Improve photo quality":"फ़ोटो की गुणवत्ता सुधारें","We noticed you might":"हमने देखा कि आप हो सकते हैं","and":"और","for better results":"बेहतर परिणाम के लिए","Tips for taking better selfies":"बेहतर सेल्फी लेने के टिप्स","Continue":"जारी रखना","Generate routine for you":"आपके लिए दिनचर्या बनाएं","Re-take":"पुन: ले","Get recommended products!":"अनुशंसित उत्पाद प्राप्त करें!","Recommendation Products":"सिफ़ारिश उत्पाद","Products That Just Work For you":"उत्पाद जो आपके लिए बिल्कुल काम करते हैं","My Skin Report":"मेरी त्वचा रिपोर्ट","Add to cart":"कार्ट में जोड़ें","Add again":"पुनः जोड़ें","Checkout":"चेक आउट","My Routines":"मेरी दिनचर्या","Your":"आपका","Routine":"दिनचर्या","Morning":"सुबह","Night":"रात","Error":"गलती","The face is not visible in the picture":"तस्वीर में चेहरा नजर नहीं आ रहा है","The input image is not suitable":"इनपुट छवि उपयुक्त नहीं है","An error occurred, please check again":"कोई त्रुटि उत्पन्न हुई, कृपया पुनः जाँचें","Camera permission denied.":"कैमरे की अनुमति अस्वीकृत.","Unable to access the camera.":"कैमरे तक पहुंचने में असमर्थ.","Your image is blurry":"आपकी छवि धुंधली है","You have glasses":"आपके पास चश्मा है","The light on your face is not suitable":"आपके चेहरे पर रोशनी उपयुक्त नहीं है","The face is not neutral (You may have a smile)":"चेहरा तटस्थ नहीं है (आपके चेहरे पर मुस्कान हो सकती है)","Image is not suitable":"छवि उपयुक्त नहीं है","Check how you can improve your skin with the proper product and routine":"जांचें कि आप उचित उत्पाद और दिनचर्या से अपनी त्वचा को कैसे बेहतर बना सकते हैं","There are no products to display":"प्रदर्शित करने के लिए कोई उत्पाद नही हैं","routines.content.cleanser":"गंदगी, तेल और अशुद्धियाँ हटाने के लिए अपना चेहरा धोकर शुरुआत करें। ","routines.content.toner":"अपनी त्वचा के पीएच को संतुलित करने और बचे हुए अवशेषों को हटाने के लिए टोनर का उपयोग करें।","routines.content.serum":"ब्राइटनिंग या एंटी-एजिंग जैसी विशिष्ट चिंताओं को ध्यान में रखते हुए एक केंद्रित सीरम लगाएं। ","routines.content.eyeCream":"आंखों को नमी प्रदान करने और सूजन या काले घेरों को कम करने के लिए आंखों के आसपास आई क्रीम को धीरे से थपथपाएं।","routines.content.spotTreatment":"किसी भी समस्या वाले क्षेत्र, जैसे मुँहासे या दाग-धब्बे, पर स्पॉट ट्रीटमेंट लागू करें। ","routines.content.moisturizer":"अपनी त्वचा के प्रकार के अनुरूप मॉइस्चराइज़र लगाकर जलयोजन बनाए रखें। ","routines.content.sunscreen":"ब्रॉड-स्पेक्ट्रम सुरक्षा वाले सनस्क्रीन का उपयोग करके अपनी त्वचा को हानिकारक यूवी किरणों से बचाएं। ","routines.content.faceOil":"नमी बनाए रखने और अपनी त्वचा को चमकदार चमक देने के लिए हल्के चेहरे का तेल लगाएं। ","routines.content.nightCream":"सोते समय अपनी त्वचा की मरम्मत और पुनर्स्थापना में मदद के लिए एक समृद्ध नाइट क्रीम का उपयोग करें। ","Cleanser":"cleanser","Toner":"टोनर","Serum":"सीरम","Eye Cream":"आँख का क्रीम","Spot Treatment":"स्पॉट ट्रीटमेंट","Moisturizer":"मॉइस्चराइज़र","Sunscreen":"सनस्क्रीन","Face Oil":"चेहरे का तेल","Night Cream":"नाइट क्रीम"}')},ko:{translation:JSON.parse('{"Skin Analysis":"피부 분석","Look Straight":"똑바로 봐","Face Position":"얼굴 위치","Lighting":"조명","Good":"좋은","Not Good":"좋지 않음","Bad":"나쁜","Fair":"공정한","Powered by":"제공:","Your distance is close to the camera":"당신의 거리는 카메라에 가깝습니다","Keep your face inside the circle":"얼굴을 원 안에 유지하세요.","Please stand in front of the camera":"카메라 앞에 서주세요","There is more than one person in the picture":"사진에 사람이 한 명 이상 있습니다","Drag & Drop":"드래그 앤 드롭","Or":"또는","browse":"먹다","Supports: JPEG, JPG, PNG":"지원: JPEG, JPG, PNG","Release to Upload":"업로드하려면 릴리스하세요.","file not supported":"지원되지 않는 파일","Sending Facial Data...":"얼굴 데이터를 보내는 중...","Scanning Face...":"얼굴 스캔 중...","Analyzing Facial Attributes...":"얼굴 속성 분석 중...","AI Crafting Report..":"AI 크래프팅 리포트..","Skin Info":"스킨 정보","Fine Wrinkles":"주름","Eye Wrinkles":"눈가 주름","Deep Wrinkles":"깊은 주름","Dark Circle":"다크서클","Eye Bag":"아이백","Pores":"모공","Pigment":"안료","Redness":"홍반","Oiliness":"유질","Acnes":"좌창","Acne":"좌창","Skin Health":"피부 건강","Instructions":"지침","Get Ready to Start Skin Analysis":"피부 분석을 시작할 준비를 하세요","Remove the glasses":"안경을 제거하세요","Clean your face":"얼굴을 깨끗이 하세요","Be in the right light":"올바른 빛을 받으십시오","Be neutral face and fix position":"중립 얼굴을 유지하고 위치를 고정합니다.","Get Started":"시작하기","If you upload a selfie, the image will be used to provide more precise recommendations that may be of interest to you. The image is deleted after being analyzed.":"셀카를 업로드하면 해당 이미지는 귀하가 관심을 가질 수 있는 보다 정확한 추천을 제공하는 데 사용됩니다. ","See our":"우리를 참조하십시오","Privacy Policy":"개인 정보 보호 정책","for more information":"자세한 내용은","your picture quality is blurry":"화질이 흐릿해요","be wearing glasses":"안경을 쓰고 있다","please remove them":"제거해주세요","Improve photo quality":"사진 품질 향상","We noticed you might":"우리는 당신이 그럴 수도 있다는 것을 알았습니다","and":"그리고","for better results":"더 나은 결과를 위해","Tips for taking better selfies":"더 나은 셀카를 찍는 팁","Continue":"계속하다","Generate routine for you":"당신을 위한 루틴 생성","Re-take":"다시 잡다","Get recommended products!":"추천상품 받아가세요!","Recommendation Products":"추천상품","Products That Just Work For you":"당신에게 꼭 맞는 제품","My Skin Report":"나의 피부 보고서","Add to cart":"장바구니에 추가","Add again":"다시 추가","Checkout":"점검","My Routines":"내 루틴","Your":"당신의","Routine":"루틴","Morning":"아침","Night":"밤","Error":"오류","The face is not visible in the picture":"사진에는 ​​얼굴이 안보이네요","The input image is not suitable":"입력 이미지가 적합하지 않습니다.","An error occurred, please check again":"오류가 발생했습니다. 다시 확인해 주세요.","Camera permission denied.":"카메라 권한이 거부되었습니다.","Unable to access the camera.":"카메라에 액세스할 수 없습니다.","Your image is blurry":"이미지가 흐릿합니다","You have glasses":"당신은 안경을 가지고 있습니다","The light on your face is not suitable":"얼굴에 비치는 빛이 적합하지 않아요","The face is not neutral (You may have a smile)":"얼굴이 중립적이지 않음 (웃으실 수도 있음)","Image is not suitable":"이미지가 적합하지 않습니다","Check how you can improve your skin with the proper product and routine":"올바른 제품과 루틴으로 어떻게 피부를 개선할 수 있는지 확인해 보세요.","There are no products to display":"표시할 상품이 없습니다.","routines.content.cleanser":"먼저 얼굴을 씻어 먼지, 기름, 불순물을 제거하세요. ","routines.content.toner":"토너를 사용하여 피부의 pH 균형을 맞추고 남은 잔여물을 제거하세요.","routines.content.serum":"브라이트닝, 안티에이징 등 특정 고민을 겨냥한 농축 세럼을 발라보세요. ","routines.content.eyeCream":"아이크림을 눈가 주위에 가볍게 두드려 수분을 공급하고 붓기나 다크서클을 줄여줍니다.","routines.content.spotTreatment":"여드름이나 잡티 등 문제가 있는 부위에 스팟 트리트먼트를 발라주세요. ","routines.content.moisturizer":"피부 타입에 맞는 보습제를 발라 수분을 유지하세요. ","routines.content.sunscreen":"광범위한 스펙트럼 보호 기능을 갖춘 자외선 차단제를 사용하여 유해한 자외선으로부터 피부를 보호하세요. ","routines.content.faceOil":"가벼운 페이스 오일을 발라 수분을 가두어 피부를 윤기나게 가꿔보세요. ","routines.content.nightCream":"잠자는 동안 피부를 회복하고 회복하는 데 도움이 되는 풍부한 나이트 크림을 사용하세요. ","Cleanser":"세제","Toner":"토너","Serum":"혈청","Eye Cream":"아이크림","Spot Treatment":"스팟 트리트먼트","Moisturizer":"보습제","Sunscreen":"자외선 차단제","Face Oil":"페이스 오일","Night Cream":"나이트크림"}')},he:{translation:JSON.parse('{"Skin Analysis":"ניתוח עור","Look Straight":"תראה ישר","Face Position":"מיקום פנים","Lighting":"תְאוּרָה","Good":"טוֹב","Not Good":"לא טוב","Bad":"רַע","Fair":"הוֹגֶן","Powered by":"מופעל על ידי","Your distance is close to the camera":"המרחק שלך קרוב למצלמה","Keep your face inside the circle":"שמור את הפנים שלך בתוך המעגל","Please stand in front of the camera":"נא לעמוד מול המצלמה","There is more than one person in the picture":"בתמונה יש יותר מאדם אחד","Drag & Drop":"גרור ושחרר","Or":"אוֹ","browse":"לְדַפדֵף","Supports: JPEG, JPG, PNG":"תומך: JPEG, JPG, PNG","Release to Upload":"שחרר להעלאה","file not supported":"הקובץ אינו נתמך","Sending Facial Data...":"שולח נתוני פנים...","Scanning Face...":"סורק פנים...","Analyzing Facial Attributes...":"ניתוח תכונות פנים...","AI Crafting Report..":"דוח יצירה של AI..","Skin Info":"מידע על העור","Fine Wrinkles":"קמטים","Eye Wrinkles":"קמטים בעיניים","Deep Wrinkles":"קמטים עמוקים","Dark Circle":"עיגול אפל","Eye Bag":"תיק עיניים","Pores":"נקבוביות","Pigment":"פיגמנטים","Redness":"אוֹדֶם","Oiliness":"שַמנוּנִיוּת","Acnes":"אַקְנֶה","Acne":"אַקְנֶה","Skin Health":"בריאות העור","Instructions":"הוראות","Get Ready to Start Skin Analysis":"התכונן להתחיל בניתוח עור","Remove the glasses":"הסר את המשקפיים","Clean your face":"נקה את הפנים שלך","Be in the right light":"להיות באור הנכון","Be neutral face and fix position":"היו פנים ניטרליים וקבעו את המיקום","Get Started":"התחל","If you upload a selfie, the image will be used to provide more precise recommendations that may be of interest to you. The image is deleted after being analyzed.":"אם תעלה תמונת סלפי, התמונה תשמש למתן המלצות מדויקות יותר שעשויות לעניין אותך. ","See our":"ראה שלנו","Privacy Policy":"מדיניות פרטיות","for more information":"למידע נוסף","your picture quality is blurry":"איכות התמונה שלך מטושטשת","be wearing glasses":"להיות עם משקפיים","please remove them":"אנא הסר אותם","Improve photo quality":"שפר את איכות הצילום","We noticed you might":"שמנו לב שאולי","and":"ו","for better results":"לתוצאות טובות יותר","Tips for taking better selfies":"טיפים לצילום סלפי טוב יותר","Continue":"לְהַמשִׁיך","Generate routine for you":"צור לך שגרה","Re-take":"לְצַלֵם שׁוּב","Get recommended products!":"קבלו מוצרים מומלצים!","Recommendation Products":"מוצרי המלצה","Products That Just Work For you":"מוצרים שעובדים בדיוק בשבילך","My Skin Report":"דוח העור שלי","Add to cart":"הוסף לעגלה","Add again":"הוסף שוב","Checkout":"קופה","My Routines":"השגרה שלי","Your":"שֶׁלְךָ","Routine":"שִׁגרָתִי","Morning":"שַׁחַר","Night":"לַיְלָה","Error":"שְׁגִיאָה","The face is not visible in the picture":"הפנים לא נראים בתמונה","The input image is not suitable":"תמונת הקלט אינה מתאימה","An error occurred, please check again":"אירעה שגיאה, אנא בדוק שוב","Camera permission denied.":"הרשאת המצלמה נדחתה.","Unable to access the camera.":"אין אפשרות לגשת למצלמה.","Your image is blurry":"התמונה שלך מטושטשת","You have glasses":"יש לך משקפיים","The light on your face is not suitable":"האור על הפנים שלך לא מתאים","The face is not neutral (You may have a smile)":"הפנים לא ניטרליות (ייתכן שיש לך חיוך)","Image is not suitable":"תמונה לא מתאימה","Check how you can improve your skin with the proper product and routine":"בדוק כיצד תוכל לשפר את העור שלך עם המוצר והשגרה הנכונים","There are no products to display":"אין מוצרים להציג","routines.content.cleanser":"התחל על ידי שטיפת הפנים שלך כדי להסיר לכלוך, שמן ולכלוכים. ","routines.content.toner":"השתמש בטונר כדי לאזן את ה-pH של העור שלך ולהסיר שאריות שאריות.","routines.content.serum":"יש למרוח סרום מרוכז המכוון לדאגות ספציפיות, כמו הבהרה או אנטי אייג\'ינג. ","routines.content.eyeCream":"טפח בעדינות את קרם העיניים מסביב לאזור העיניים כדי לחות ולהפחית נפיחות או עיגולים כהים.","routines.content.spotTreatment":"החל טיפול נקודתי על כל אזור בעייתי, כגון אקנה או כתמים. ","routines.content.moisturizer":"נעל את הלחות על ידי מריחת קרם לחות המתאים לסוג העור שלך. ","routines.content.sunscreen":"הגן על העור שלך מפני קרני UV מזיקות על ידי שימוש בקרם הגנה עם הגנה רחבה. ","routines.content.faceOil":"מרחי שמן פנים קל משקל כדי לאטום לחות ולהעניק לעור שלך זוהר זוהר. ","routines.content.nightCream":"השתמש בקרם לילה עשיר כדי לעזור בשיקום ושיקום העור שלך בזמן השינה. ","Cleanser":"חומר ניקוי","Toner":"טונר","Serum":"נַסיוֹב","Eye Cream":"קרם עיניים","Spot Treatment":"טיפול נקודתי","Moisturizer":"קרם לחות","Sunscreen":"קרם הגנה","Face Oil":"שמן פנים","Night Cream":"קרם לילה"}')},vi:{translation:JSON.parse('{"Skin Analysis":"Phân tích da","Look Straight":"Nhìn thẳng","Face Position":"Vị trí khuôn mặt","Lighting":"Chiếu sáng","Good":"Tốt","Not Good":"Không tốt","Bad":"Xấu","Fair":"Hội chợ","Powered by":"Được cung cấp bởi","Your distance is close to the camera":"Khoảng cách của bạn gần với máy ảnh","Keep your face inside the circle":"Giữ khuôn mặt của bạn bên trong vòng tròn","Please stand in front of the camera":"Hãy đứng trước camera","There is more than one person in the picture":"Có nhiều hơn một người trong bức ảnh","Drag & Drop":"Kéo và thả","Or":"Hoặc","browse":"duyệt qua","Supports: JPEG, JPG, PNG":"Hỗ trợ: JPEG, JPG, PNG","Release to Upload":"Phát hành để tải lên","file not supported":"tập tin không được hỗ trợ","Sending Facial Data...":"Đang gửi dữ liệu khuôn mặt...","Scanning Face...":"Đang quét khuôn mặt...","Analyzing Facial Attributes...":"Phân tích đặc điểm khuôn mặt...","AI Crafting Report..":"Báo cáo chế tạo AI..","Skin Info":"Thông tin da","Fine Wrinkles":"nếp nhăn","Eye Wrinkles":"nếp nhăn ở mắt","Deep Wrinkles":"nếp nhăn sâu","Dark Circle":"Vòng tròn tối","Eye Bag":"Túi mắt","Pores":"lỗ chân lông","Pigment":"Sắc tố","Redness":"Đỏ","Oiliness":"Dầu","Acnes":"Mụn trứng cá","Acne":"Mụn trứng cá","Skin Health":"Sức khỏe làn da","Instructions":"Hướng dẫn","Get Ready to Start Skin Analysis":"Hãy sẵn sàng để bắt đầu phân tích da","Remove the glasses":"Tháo kính","Clean your face":"Làm sạch khuôn mặt của bạn","Be in the right light":"Ở trong ánh sáng phù hợp","Be neutral face and fix position":"Hãy giữ vẻ mặt trung lập và cố định vị trí","Get Started":"Bắt đầu","If you upload a selfie, the image will be used to provide more precise recommendations that may be of interest to you. The image is deleted after being analyzed.":"Nếu bạn tải lên một bức ảnh selfie, hình ảnh đó sẽ được sử dụng để đưa ra những đề xuất chính xác hơn mà bạn có thể quan tâm. ","See our":"Xem của chúng tôi","Privacy Policy":"Chính sách bảo mật","for more information":"để biết thêm thông tin","your picture quality is blurry":"chất lượng hình ảnh của bạn bị mờ","be wearing glasses":"đeo kính","please remove them":"vui lòng loại bỏ chúng","Improve photo quality":"Cải thiện chất lượng ảnh","We noticed you might":"Chúng tôi nhận thấy bạn có thể","and":"Và","for better results":"để có kết quả tốt hơn","Tips for taking better selfies":"Mẹo để chụp ảnh selfie đẹp hơn","Continue":"Tiếp tục","Generate routine for you":"Tạo thói quen cho bạn","Re-take":"Thi lại","Get recommended products!":"Nhận sản phẩm được đề xuất!","Recommendation Products":"Sản phẩm khuyến nghị","Products That Just Work For you":"Sản phẩm phù hợp với bạn","My Skin Report":"Báo cáo làn da của tôi","Add to cart":"Thêm vào giỏ hàng","Add again":"Thêm lại","Checkout":"Thanh toán","My Routines":"Thói quen của tôi","Your":"Của bạn","Routine":"Lịch trình","Morning":"Buổi sáng","Night":"Đêm","Error":"Lỗi","The face is not visible in the picture":"Khuôn mặt không nhìn thấy được trong ảnh","The input image is not suitable":"Hình ảnh đầu vào không phù hợp","An error occurred, please check again":"Đã xảy ra lỗi, vui lòng kiểm tra lại","Camera permission denied.":"Quyền sử dụng máy ảnh bị từ chối.","Unable to access the camera.":"Không thể truy cập vào máy ảnh.","Your image is blurry":"Hình ảnh của bạn bị mờ","You have glasses":"Bạn có kính","The light on your face is not suitable":"Ánh sáng trên khuôn mặt của bạn không phù hợp","The face is not neutral (You may have a smile)":"Khuôn mặt không trung tính (Bạn có thể mỉm cười)","Image is not suitable":"Hình ảnh không phù hợp","Check how you can improve your skin with the proper product and routine":"Kiểm tra cách bạn có thể cải thiện làn da của mình bằng sản phẩm và thói quen phù hợp","There are no products to display":"Không có sản phẩm nào để hiển thị","routines.content.cleanser":"Bắt đầu bằng cách rửa mặt để loại bỏ bụi bẩn, dầu và tạp chất. ","routines.content.toner":"Sử dụng mực để cân bằng độ pH cho làn da của bạn và loại bỏ mọi chất cặn còn sót lại.","routines.content.serum":"Áp dụng huyết thanh đậm đặc nhắm vào các mối quan tâm cụ thể, như làm sáng hoặc chống lão hóa. ","routines.content.eyeCream":"Nhẹ nhàng vỗ nhẹ kem quanh vùng mắt để cấp nước và giảm bọng mắt hoặc quầng thâm.","routines.content.spotTreatment":"Áp dụng phương pháp điều trị tại chỗ trên bất kỳ khu vực có vấn đề nào, chẳng hạn như mụn trứng cá hoặc vết thâm. ","routines.content.moisturizer":"Khóa độ ẩm bằng cách thoa kem dưỡng ẩm phù hợp với loại da của bạn. ","routines.content.sunscreen":"Bảo vệ làn da của bạn khỏi các tia UV có hại bằng cách sử dụng kem chống nắng có khả năng bảo vệ phổ rộng. ","routines.content.faceOil":"Thoa một loại dầu nhẹ lên mặt để giữ ẩm và mang lại làn da sáng rạng rỡ. ","routines.content.nightCream":"Sử dụng kem dưỡng da ban đêm giàu dưỡng chất để giúp sửa chữa và phục hồi làn da của bạn trong khi bạn ngủ. ","Cleanser":"Sữa rửa mặt","Toner":"Mực toner","Serum":"Huyết thanh","Eye Cream":"Kem mắt","Spot Treatment":"Điều trị tại chỗ","Moisturizer":"Kem dưỡng ẩm","Sunscreen":"Kem chống nắng","Face Oil":"Dầu mặt","Night Cream":"Kem dưỡng ban đêm"}')},fa:{translation:JSON.parse('{"Skin Analysis":"تجزیه و تحلیل پوست","Look Straight":"مستقیم نگاه کن","Face Position":"موقعیت صورت","Lighting":"نورپردازی","Good":"خوب","Not Good":"خوب نیست","Bad":"بد","Fair":"منصفانه","Powered by":"پشتیبانی شده توسط","Your distance is close to the camera":"فاصله شما به دوربین نزدیک است","Keep your face inside the circle":"صورت خود را داخل دایره نگه دارید","Please stand in front of the camera":"لطفا جلوی دوربین بایستید","There is more than one person in the picture":"بیش از یک نفر در تصویر وجود دارد","Drag & Drop":"کشیدن و رها کردن","Or":"یا","browse":"مرور کنید","Supports: JPEG, JPG, PNG":"پشتیبانی از: JPEG، JPG، PNG","Release to Upload":"برای آپلود رها کنید","file not supported":"فایل پشتیبانی نمی شود","Sending Facial Data...":"ارسال اطلاعات چهره...","Scanning Face...":"اسکن چهره...","Analyzing Facial Attributes...":"تجزیه و تحلیل ویژگی های صورت ...","AI Crafting Report..":"گزارش ساخت هوش مصنوعی..","Skin Info":"اطلاعات پوست","Fine Wrinkles":"چین و چروک","Eye Wrinkles":"چین و چروک چشم","Deep Wrinkles":"چین و چروک عمیق","Dark Circle":"دایره تاریک","Eye Bag":"کیف چشم","Pores":"منافذ","Pigment":"رنگدانه ها","Redness":"سرخی","Oiliness":"چرب بودن","Acnes":"آکنه","Acne":"آکنه","Skin Health":"سلامت پوست","Instructions":"دستورالعمل ها","Get Ready to Start Skin Analysis":"برای شروع تجزیه و تحلیل پوست آماده شوید","Remove the glasses":"عینک را بردارید","Clean your face":"صورتت را تمیز کن","Be in the right light":"در نور مناسب باشید","Be neutral face and fix position":"صورت خنثی باشید و وضعیت را ثابت کنید","Get Started":"شروع کنید","If you upload a selfie, the image will be used to provide more precise recommendations that may be of interest to you. The image is deleted after being analyzed.":"اگر یک سلفی آپلود کنید، از تصویر برای ارائه توصیه‌های دقیق‌تری استفاده می‌شود که ممکن است مورد علاقه شما باشد. ","See our":"ما را ببینید","Privacy Policy":"سیاست حفظ حریم خصوصی","for more information":"برای اطلاعات بیشتر","your picture quality is blurry":"کیفیت عکس شما تار است","be wearing glasses":"عینک زدن باشد","please remove them":"لطفا آنها را حذف کنید","Improve photo quality":"بهبود کیفیت عکس","We noticed you might":"ما متوجه شدیم که ممکن است","and":"و","for better results":"برای نتایج بهتر","Tips for taking better selfies":"نکاتی برای گرفتن سلفی بهتر","Continue":"ادامه دهید","Generate routine for you":"برای شما روتین ایجاد کنید","Re-take":"دوباره بگیر","Get recommended products!":"محصولات توصیه شده را دریافت کنید!","Recommendation Products":"محصولات پیشنهادی","Products That Just Work For you":"محصولاتی که فقط برای شما کار می کنند","My Skin Report":"گزارش پوست من","Add to cart":"به سبد خرید اضافه کنید","Add again":"دوباره اضافه کنید","Checkout":"تسویه حساب","My Routines":"روتین های من","Your":"شما","Routine":"روال","Morning":"صبح","Night":"شب","Error":"خطا","The face is not visible in the picture":"صورت در تصویر مشخص نیست","The input image is not suitable":"تصویر ورودی مناسب نیست","An error occurred, please check again":"خطایی رخ داده است، لطفاً دوباره بررسی کنید","Camera permission denied.":"اجازه دوربین رد شد.","Unable to access the camera.":"دسترسی به دوربین امکان پذیر نیست.","Your image is blurry":"تصویر شما تار است","You have glasses":"عینک داری","The light on your face is not suitable":"نور صورت شما مناسب نیست","The face is not neutral (You may have a smile)":"صورت خنثی نیست (شاید لبخند بزنید)","Image is not suitable":"تصویر مناسب نیست","Check how you can improve your skin with the proper product and routine":"بررسی کنید که چگونه می توانید پوست خود را با محصول مناسب و روتین بهبود بخشید","There are no products to display":"هیچ محصولی برای نمایش وجود ندارد","routines.content.cleanser":"برای از بین بردن کثیفی، چربی و ناخالصی ها، با شستن صورت خود شروع کنید. ","routines.content.toner":"از یک تونر برای متعادل کردن pH پوست خود استفاده کنید و هر گونه باقیمانده را از بین ببرید.","routines.content.serum":"از سرم غلیظی استفاده کنید که نگرانی های خاصی را هدف قرار می دهد، مانند روشن کننده یا ضد پیری. ","routines.content.eyeCream":"کرم دور چشم را به آرامی دور دور چشم بزنید تا آبرسانی کند و پف یا سیاهی دور چشم را کاهش دهد.","routines.content.spotTreatment":"درمان نقطه ای را روی هر ناحیه مشکل دار مانند آکنه یا لک انجام دهید. ","routines.content.moisturizer":"با استفاده از مرطوب کننده ای که مناسب نوع پوست شما است، هیدراتاسیون خود را حفظ کنید. ","routines.content.sunscreen":"با استفاده از کرم ضد آفتاب با طیف وسیع حفاظت از پوست خود در برابر اشعه های مضر UV محافظت کنید. ","routines.content.faceOil":"یک روغن سبک وزن روی صورت بمالید تا رطوبت آن را ببندد و به پوست شما درخشندگی ببخشد. ","routines.content.nightCream":"از یک کرم شب غنی برای کمک به ترمیم و ترمیم پوست در هنگام خواب استفاده کنید. ","Cleanser":"پاک کننده","Toner":"تونر","Serum":"سرم","Eye Cream":"کرم دور چشم","Spot Treatment":"درمان لکه","Moisturizer":"مرطوب کننده","Sunscreen":"ضد آفتاب","Face Oil":"روغن صورت","Night Cream":"کرم شب"}')},cs:{translation:JSON.parse('{"Skin Analysis":"Analýza pleti","Look Straight":"Podívejte se rovně","Face Position":"Pozice obličeje","Lighting":"Osvětlení","Good":"Dobrý","Not Good":"Není dobrý","Bad":"Špatný","Fair":"Veletrh","Powered by":"Provozováno na","Your distance is close to the camera":"Vaše vzdálenost je blízko fotoaparátu","Keep your face inside the circle":"Udržujte svůj obličej uvnitř kruhu","Please stand in front of the camera":"Postavte se prosím před kameru","There is more than one person in the picture":"Na obrázku je více než jedna osoba","Drag & Drop":"Drag & Drop","Or":"Nebo","browse":"prohlížet","Supports: JPEG, JPG, PNG":"Podporuje: JPEG, JPG, PNG","Release to Upload":"Uvolněte pro nahrání","file not supported":"soubor není podporován","Sending Facial Data...":"Odesílání údajů o obličeji...","Scanning Face...":"Skenování obličeje...","Analyzing Facial Attributes...":"Analýza rysů obličeje...","AI Crafting Report..":"Zpráva o tvorbě AI..","Skin Info":"Informace o kůži","Fine Wrinkles":"Vrásky","Eye Wrinkles":"Oční vrásky","Deep Wrinkles":"Hluboké vrásky","Dark Circle":"Temný kruh","Eye Bag":"Oční vak","Pores":"Póry","Pigment":"Pigmenty","Redness":"Zarudnutí","Oiliness":"Olejnatost","Acnes":"Akné","Acne":"Akné","Skin Health":"Zdraví kůže","Instructions":"Instrukce","Get Ready to Start Skin Analysis":"Připravte se na analýzu pleti","Remove the glasses":"Odstraňte brýle","Clean your face":"Vyčistěte si obličej","Be in the right light":"Buďte ve správném světle","Be neutral face and fix position":"Buďte neutrální a zafixujte si pozici","Get Started":"Začněte","If you upload a selfie, the image will be used to provide more precise recommendations that may be of interest to you. The image is deleted after being analyzed.":"Pokud nahrajete selfie, obrázek bude použit k poskytnutí přesnějších doporučení, která by vás mohla zajímat. ","See our":"Podívejte se na naše","Privacy Policy":"Zásady ochrany osobních údajů","for more information":"pro více informací","your picture quality is blurry":"kvalita vašeho obrázku je rozmazaná","be wearing glasses":"nosit brýle","please remove them":"prosím odstraňte je","Improve photo quality":"Zlepšete kvalitu fotografií","We noticed you might":"Všimli jsme si, že možná","and":"a","for better results":"pro lepší výsledky","Tips for taking better selfies":"Tipy pro pořizování lepších selfie","Continue":"Pokračovat","Generate routine for you":"Vytvořte pro vás rutinu","Re-take":"Znovudobytí","Get recommended products!":"Získejte doporučené produkty!","Recommendation Products":"Doporučené produkty","Products That Just Work For you":"Produkty, které pro vás fungují","My Skin Report":"Zpráva o mé pleti","Add to cart":"Přidat do košíku","Add again":"Přidejte znovu","Checkout":"Pokladna","My Routines":"Moje rutiny","Your":"Vaše","Routine":"Rutina","Morning":"Ráno","Night":"Noc","Error":"Chyba","The face is not visible in the picture":"Na obrázku není vidět obličej","The input image is not suitable":"Vstupní obrázek není vhodný","An error occurred, please check again":"Došlo k chybě, zkontrolujte prosím znovu","Camera permission denied.":"Povolení fotoaparátu odepřeno.","Unable to access the camera.":"Nelze získat přístup ke kameře.","Your image is blurry":"Váš obrázek je rozmazaný","You have glasses":"Máš brýle","The light on your face is not suitable":"Světlo na vaší tváři není vhodné","The face is not neutral (You may have a smile)":"Obličej není neutrální (můžete mít úsměv)","Image is not suitable":"Obrázek není vhodný","Check how you can improve your skin with the proper product and routine":"Podívejte se, jak můžete zlepšit svou pleť správným produktem a rutinou","There are no products to display":"Nejsou žádné produkty k zobrazení","routines.content.cleanser":"Začněte umytím obličeje, abyste odstranili špínu, olej a nečistoty. ","routines.content.toner":"Použijte tonikum k vyrovnání pH pokožky a odstranění zbytků.","routines.content.serum":"Aplikujte koncentrované sérum zaměřené na specifické problémy, jako je rozjasnění nebo anti-aging. ","routines.content.eyeCream":"Jemně vmasírujte oční krém do okolí očí pro hydrataci a redukci otoků nebo tmavých kruhů.","routines.content.spotTreatment":"Aplikujte bodové ošetření na jakékoli problémové oblasti, jako je akné nebo skvrny. ","routines.content.moisturizer":"Uzamkněte hydrataci aplikací hydratačního krému, který vyhovuje vašemu typu pleti. ","routines.content.sunscreen":"Chraňte svou pokožku před škodlivými UV paprsky používáním opalovacího krému se širokospektrální ochranou. ","routines.content.faceOil":"Naneste lehký obličejový olej, který uzavře vlhkost a dodá vaší pleti zářivý lesk. ","routines.content.nightCream":"Používejte bohatý noční krém, který vám pomůže opravit a obnovit pokožku během spánku. ","Cleanser":"Čistič","Toner":"Toner","Serum":"Sérum","Eye Cream":"Oční krém","Spot Treatment":"Bodové ošetření","Moisturizer":"Zvlhčovač","Sunscreen":"Opalovací krém","Face Oil":"Olej na obličej","Night Cream":"Noční krém"}')},id:{translation:JSON.parse('{"Skin Analysis":"Analisis Kulit","Look Straight":"Lihat Lurus","Face Position":"Posisi Wajah","Lighting":"Penerangan","Good":"Bagus","Not Good":"Tidak bagus","Bad":"Buruk","Fair":"Adil","Powered by":"Didukung oleh","Your distance is close to the camera":"Jarak Anda dekat dengan kamera","Keep your face inside the circle":"Pertahankan wajah Anda di dalam lingkaran","Please stand in front of the camera":"Silakan berdiri di depan kamera","There is more than one person in the picture":"Ada lebih dari satu orang di dalam gambar","Drag & Drop":"Seret & Jatuhkan","Or":"Atau","browse":"jelajahi","Supports: JPEG, JPG, PNG":"Mendukung: JPEG, JPG, PNG","Release to Upload":"Lepaskan untuk Mengunggah","file not supported":"berkas tidak didukung","Sending Facial Data...":"Mengirim Data Wajah...","Scanning Face...":"Memindai Wajah...","Analyzing Facial Attributes...":"Menganalisis Atribut Wajah...","AI Crafting Report..":"Laporan Pembuatan AI..","Skin Info":"Info Kulit","Fine Wrinkles":"Kerutan","Eye Wrinkles":"Kerutan Mata","Deep Wrinkles":"Kerutan Dalam","Dark Circle":"Lingkaran Hitam","Eye Bag":"Kantong Mata","Pores":"pori-pori","Pigment":"Pigmen","Redness":"Kemerahan","Oiliness":"Sifat manis mulut","Acnes":"Jerawat","Acne":"Jerawat","Skin Health":"Kesehatan Kulit","Instructions":"instruksi","Get Ready to Start Skin Analysis":"Bersiaplah untuk Memulai Analisis Kulit","Remove the glasses":"Lepaskan kacamatanya","Clean your face":"Bersihkan wajahmu","Be in the right light":"Berada dalam cahaya yang tepat","Be neutral face and fix position":"Bersikaplah netral dan perbaiki posisi","Get Started":"Memulai","If you upload a selfie, the image will be used to provide more precise recommendations that may be of interest to you. The image is deleted after being analyzed.":"Jika Anda mengunggah foto selfie, gambar tersebut akan digunakan untuk memberikan rekomendasi yang lebih tepat yang mungkin menarik bagi Anda. ","See our":"Lihat kami","Privacy Policy":"Kebijakan Privasi","for more information":"untuk informasi lebih lanjut","your picture quality is blurry":"kualitas gambar Anda buram","be wearing glasses":"memakai kacamata","please remove them":"tolong hapus mereka","Improve photo quality":"Tingkatkan kualitas foto","We noticed you might":"Kami memperhatikan Anda mungkin","and":"Dan","for better results":"untuk hasil yang lebih baik","Tips for taking better selfies":"Kiat untuk mengambil foto selfie yang lebih baik","Continue":"Melanjutkan","Generate routine for you":"Hasilkan rutinitas untuk Anda","Re-take":"Merebut kembali","Get recommended products!":"Dapatkan produk yang direkomendasikan!","Recommendation Products":"Produk Rekomendasi","Products That Just Work For you":"Produk Yang Cocok Untuk Anda","My Skin Report":"Laporan Kulit Saya","Add to cart":"Tambahkan ke troli","Add again":"Tambahkan lagi","Checkout":"Check-out","My Routines":"Rutinitas saya","Your":"Milikmu","Routine":"Rutin","Morning":"Pagi","Night":"Malam","Error":"Kesalahan","The face is not visible in the picture":"Wajahnya tidak terlihat di gambar","The input image is not suitable":"Gambar masukan tidak sesuai","An error occurred, please check again":"Terjadi kesalahan, harap periksa kembali","Camera permission denied.":"Izin kamera ditolak.","Unable to access the camera.":"Tidak dapat mengakses kamera.","Your image is blurry":"Gambar Anda buram","You have glasses":"Anda punya kacamata","The light on your face is not suitable":"Cahaya di wajahmu tidak cocok","The face is not neutral (You may have a smile)":"Wajahnya tidak netral (Anda mungkin tersenyum)","Image is not suitable":"Gambar tidak cocok","Check how you can improve your skin with the proper product and routine":"Periksa bagaimana Anda dapat memperbaiki kulit Anda dengan produk dan rutinitas yang tepat","There are no products to display":"Tidak ada produk untuk ditampilkan","routines.content.cleanser":"Mulailah dengan mencuci muka untuk menghilangkan kotoran, minyak, dan kotoran. ","routines.content.toner":"Gunakan toner untuk menyeimbangkan pH kulit Anda dan menghilangkan sisa residu.","routines.content.serum":"Oleskan serum terkonsentrasi yang menargetkan masalah tertentu, seperti mencerahkan atau anti penuaan. ","routines.content.eyeCream":"Tepuk-tepuk krim mata dengan lembut di sekitar area mata untuk melembabkan dan mengurangi bengkak atau lingkaran hitam.","routines.content.spotTreatment":"Oleskan perawatan spot pada area yang bermasalah, seperti jerawat atau noda. ","routines.content.moisturizer":"Kunci hidrasi dengan mengoleskan pelembab yang sesuai dengan jenis kulit Anda. ","routines.content.sunscreen":"Lindungi kulit Anda dari sinar UV yang berbahaya dengan menggunakan tabir surya dengan perlindungan spektrum luas. ","routines.content.faceOil":"Oleskan minyak wajah ringan untuk mengunci kelembapan dan membuat kulit Anda bersinar. ","routines.content.nightCream":"Gunakan krim malam yang kaya untuk membantu memperbaiki dan memulihkan kulit Anda saat Anda tidur. ","Cleanser":"Pembersih","Toner":"toner","Serum":"Serum","Eye Cream":"Krim Mata","Spot Treatment":"Perawatan Tempat","Moisturizer":"Pelembab","Sunscreen":"Tabir surya","Face Oil":"Minyak Wajah","Night Cream":"Krim Malam"}')},lv:{translation:JSON.parse('{"Skin Analysis":"Ādas analīze","Look Straight":"Skaties taisni","Face Position":"Sejas pozīcija","Lighting":"Apgaismojums","Good":"Labi","Not Good":"Nav labi","Bad":"Slikti","Fair":"Godīgi","Powered by":"Nodrošina","Your distance is close to the camera":"Jūsu attālums ir tuvu kamerai","Keep your face inside the circle":"Turiet seju apļa iekšpusē","Please stand in front of the camera":"Lūdzu, stāviet kameras priekšā","There is more than one person in the picture":"Attēlā ir vairāk nekā viens cilvēks","Drag & Drop":"Velciet un nometiet","Or":"Or","browse":"pārlūkot","Supports: JPEG, JPG, PNG":"Atbalsta: JPEG, JPG, PNG","Release to Upload":"Atlaidiet, lai augšupielādētu","file not supported":"fails netiek atbalstīts","Sending Facial Data...":"Notiek sejas datu sūtīšana...","Scanning Face...":"Notiek sejas skenēšana...","Analyzing Facial Attributes...":"Notiek sejas īpašību analīze...","AI Crafting Report..":"AI izstrādes ziņojums..","Skin Info":"Informācija par ādu","Fine Wrinkles":"Grumbas","Eye Wrinkles":"Acu grumbas","Deep Wrinkles":"Dziļas grumbas","Dark Circle":"Tumšais aplis","Eye Bag":"Acu maisiņš","Pores":"Poras","Pigment":"Pigmenti","Redness":"Apsārtums","Oiliness":"Eļļainība","Acnes":"Pinnes","Acne":"Pinnes","Skin Health":"Ādas veselība","Instructions":"Norādījumi","Get Ready to Start Skin Analysis":"Esiet gatavs sākt ādas analīzi","Remove the glasses":"Noņemiet brilles","Clean your face":"Notīriet seju","Be in the right light":"Esiet pareizajā gaismā","Be neutral face and fix position":"Esiet neitrāla seja un nofiksējiet pozīciju","Get Started":"Sāciet darbu","If you upload a selfie, the image will be used to provide more precise recommendations that may be of interest to you. The image is deleted after being analyzed.":"Ja augšupielādēsit pašbildi, attēls tiks izmantots, lai sniegtu precīzākus ieteikumus, kas varētu jūs interesēt. ","See our":"Skatiet mūsu","Privacy Policy":"Privātuma politika","for more information":"lai iegūtu vairāk informācijas","your picture quality is blurry":"jūsu attēla kvalitāte ir izplūdusi","be wearing glasses":"valkāt brilles","please remove them":"lūdzu, noņemiet tos","Improve photo quality":"Uzlabojiet fotoattēlu kvalitāti","We noticed you might":"Mēs pamanījām, ka jūs varētu","and":"un","for better results":"labākiem rezultātiem","Tips for taking better selfies":"Padomi labāku selfiju uzņemšanai","Continue":"Turpināt","Generate routine for you":"Izveidojiet rutīnu jums","Re-take":"Ņem atkārtoti","Get recommended products!":"Iegūstiet ieteicamos produktus!","Recommendation Products":"Ieteikuma produkti","Products That Just Work For you":"Produkti, kas darbojas tieši jums","My Skin Report":"Pārskats par manu ādu","Add to cart":"Pievienot grozam","Add again":"Pievienojiet vēlreiz","Checkout":"Izrakstīšanās","My Routines":"Manas rutīnas","Your":"Jūsu","Routine":"Rutīna","Morning":"Rīts","Night":"Nakts","Error":"Kļūda","The face is not visible in the picture":"Seja bildē nav redzama","The input image is not suitable":"Ievades attēls nav piemērots","An error occurred, please check again":"Radās kļūda. Lūdzu, pārbaudiet vēlreiz","Camera permission denied.":"Kameras atļauja liegta.","Unable to access the camera.":"Nevar piekļūt kamerai.","Your image is blurry":"Jūsu attēls ir izplūdis","You have glasses":"Tev ir brilles","The light on your face is not suitable":"Gaisma uz jūsu sejas nav piemērota","The face is not neutral (You may have a smile)":"Seja nav neitrāla (jums var būt smaids)","Image is not suitable":"Attēls nav piemērots","Check how you can improve your skin with the proper product and routine":"Pārbaudiet, kā jūs varat uzlabot savu ādu ar atbilstošu produktu un rutīnu","There are no products to display":"Nav neviena produkta, ko parādīt","routines.content.cleanser":"Sāciet ar sejas mazgāšanu, lai noņemtu netīrumus, eļļu un netīrumus. ","routines.content.toner":"Izmantojiet toniku, lai līdzsvarotu ādas pH un noņemtu visus atlikumus.","routines.content.serum":"Uzklājiet koncentrētu serumu, kas vērsts uz specifiskām problēmām, piemēram, balināšanu vai pretnovecošanos. ","routines.content.eyeCream":"Viegli uzklājiet acu krēmu ap acu zonu, lai mitrinātu un samazinātu pietūkumu vai tumšos lokus.","routines.content.spotTreatment":"Uzklājiet traipu uz visām problemātiskajām zonām, piemēram, pinnēm vai plankumiem. ","routines.content.moisturizer":"Nofiksējiet hidratāciju, uzklājot mitrinātāju, kas atbilst jūsu ādas tipam. ","routines.content.sunscreen":"Aizsargājiet savu ādu no kaitīgiem UV stariem, izmantojot sauļošanās līdzekli ar plaša spektra aizsardzību. ","routines.content.faceOil":"Uzklājiet vieglu sejas eļļu, lai nostiprinātu mitrumu un piešķirtu ādai mirdzošu mirdzumu. ","routines.content.nightCream":"Izmantojiet bagātīgu nakts krēmu, lai palīdzētu atjaunot un atjaunot ādu miega laikā. ","Cleanser":"Tīrīšanas līdzeklis","Toner":"Toneris","Serum":"Serums","Eye Cream":"Acu krēms","Spot Treatment":"Vietu ārstēšana","Moisturizer":"Mitrinātājs","Sunscreen":"Saules aizsargkrēms","Face Oil":"Sejas eļļa","Night Cream":"Nakts krēms"}')},no:{translation:JSON.parse('{"Skin Analysis":"Hudanalyse","Look Straight":"Se rett ut","Face Position":"Ansiktsposisjon","Lighting":"Belysning","Good":"God","Not Good":"Ikke bra","Bad":"Dårlig","Fair":"Rettferdig","Powered by":"Drevet av","Your distance is close to the camera":"Avstanden din er nær kameraet","Keep your face inside the circle":"Hold ansiktet innenfor sirkelen","Please stand in front of the camera":"Vennligst stå foran kameraet","There is more than one person in the picture":"Det er mer enn én person på bildet","Drag & Drop":"Dra og slipp","Or":"Eller","browse":"bla","Supports: JPEG, JPG, PNG":"Støtter: JPEG, JPG, PNG","Release to Upload":"Slipp for å laste opp","file not supported":"fil støttes ikke","Sending Facial Data...":"Sender ansiktsdata...","Scanning Face...":"Skanner ansikt...","Analyzing Facial Attributes...":"Analyserer ansiktsegenskaper...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Hudinformasjon","Fine Wrinkles":"Rynker","Eye Wrinkles":"Øye rynker","Deep Wrinkles":"Dype rynker","Dark Circle":"Mørk sirkel","Eye Bag":"Øyeveske","Pores":"Porer","Pigment":"Pigmenter","Redness":"Rødhet","Oiliness":"Fethet","Acnes":"Akne","Acne":"Akne","Skin Health":"Hudhelse","Instructions":"Instruksjoner","Get Ready to Start Skin Analysis":"Gjør deg klar til å starte hudanalyse","Remove the glasses":"Fjern glassene","Clean your face":"Rengjør ansiktet ditt","Be in the right light":"Vær i det rette lyset","Be neutral face and fix position":"Vær nøytral i ansiktet og fiks posisjon","Get Started":"Kom i gang","If you upload a selfie, the image will be used to provide more precise recommendations that may be of interest to you. The image is deleted after being analyzed.":"Hvis du laster opp en selfie, vil bildet bli brukt til å gi mer presise anbefalinger som kan være av interesse for deg. ","See our":"Se vår","Privacy Policy":"Personvernerklæring","for more information":"for mer informasjon","your picture quality is blurry":"bildekvaliteten din er uskarp","be wearing glasses":"ha på briller","please remove them":"vennligst fjern dem","Improve photo quality":"Forbedre bildekvaliteten","We noticed you might":"Vi la merke til at du kanskje","and":"og","for better results":"for bedre resultater","Tips for taking better selfies":"Tips for å ta bedre selfies","Continue":"Fortsette","Generate routine for you":"Generer rutiner for deg","Re-take":"Ta på nytt","Get recommended products!":"Få anbefalte produkter!","Recommendation Products":"Anbefalte produkter","Products That Just Work For you":"Produkter som bare fungerer for deg","My Skin Report":"Min hudrapport","Add to cart":"Legg i handlekurv","Add again":"Legg til igjen","Checkout":"Kasse","My Routines":"Mine rutiner","Your":"Din","Routine":"Rutine","Morning":"Morgen","Night":"Natt","Error":"Feil","The face is not visible in the picture":"Ansiktet er ikke synlig på bildet","The input image is not suitable":"Inndatabildet er ikke egnet","An error occurred, please check again":"Det oppsto en feil, vennligst sjekk på nytt","Camera permission denied.":"Kameratillatelse nektet.","Unable to access the camera.":"Får ikke tilgang til kameraet.","Your image is blurry":"Bildet ditt er uskarpt","You have glasses":"Du har briller","The light on your face is not suitable":"Lyset i ansiktet ditt er ikke egnet","The face is not neutral (You may have a smile)":"Ansiktet er ikke nøytralt (du kan ha et smil)","Image is not suitable":"Bildet er ikke egnet","Check how you can improve your skin with the proper product and routine":"Sjekk hvordan du kan forbedre huden din med riktig produkt og rutine","There are no products to display":"Det er ingen produkter å vise","routines.content.cleanser":"Start med å vaske ansiktet for å fjerne smuss, olje og urenheter. ","routines.content.toner":"Bruk en toner for å balansere hudens pH og fjerne eventuelle rester.","routines.content.serum":"Påfør et konsentrert serum rettet mot spesifikke bekymringer, som lysere eller anti-aldring. ","routines.content.eyeCream":"Klapp forsiktig øyekrem rundt øyeområdet for å fukte og redusere hevelser eller mørke ringer.","routines.content.spotTreatment":"Påfør punktbehandling på alle problemområder, for eksempel akne eller urenheter. ","routines.content.moisturizer":"Lås på fuktighet ved å bruke en fuktighetskrem som passer din hudtype. ","routines.content.sunscreen":"Beskytt huden din mot skadelige UV-stråler ved å bruke solkrem med bredspektret beskyttelse. ","routines.content.faceOil":"Påfør en lett ansiktsolje for å forsegle fuktighet og gi huden din en strålende glød. ","routines.content.nightCream":"Bruk en fyldig nattkrem for å reparere og gjenopprette huden mens du sover. ","Cleanser":"Rensemiddel","Toner":"Toner","Serum":"Serum","Eye Cream":"Øyekrem","Spot Treatment":"Spotbehandling","Moisturizer":"Fuktighetskrem","Sunscreen":"Solkrem","Face Oil":"Ansiktsolje","Night Cream":"Nattkrem"}')},da:{translation:JSON.parse('{"Skin Analysis":"Hudanalyse","Look Straight":"Se lige ud","Face Position":"Ansigtsposition","Lighting":"Belysning","Good":"God","Not Good":"Ikke godt","Bad":"Dårligt","Fair":"Retfærdig","Powered by":"Drevet af","Your distance is close to the camera":"Din afstand er tæt på kameraet","Keep your face inside the circle":"Hold dit ansigt inde i cirklen","Please stand in front of the camera":"Stil dig venligst foran kameraet","There is more than one person in the picture":"Der er mere end én person på billedet","Drag & Drop":"Træk og slip","Or":"Eller","browse":"gennemse","Supports: JPEG, JPG, PNG":"Understøtter: JPEG, JPG, PNG","Release to Upload":"Slip for at uploade","file not supported":"fil understøttes ikke","Sending Facial Data...":"Sender ansigtsdata...","Scanning Face...":"Scanner ansigt...","Analyzing Facial Attributes...":"Analyse af ansigtsegenskaber...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Hud info","Fine Wrinkles":"Rynker","Eye Wrinkles":"Øjenrynker","Deep Wrinkles":"Dybe rynker","Dark Circle":"Mørk cirkel","Eye Bag":"Øjentaske","Pores":"Porer","Pigment":"Pigmenter","Redness":"Rødme","Oiliness":"Fedtethed","Acnes":"Acne","Acne":"Acne","Skin Health":"Hudsundhed","Instructions":"Instruktioner","Get Ready to Start Skin Analysis":"Gør dig klar til at starte hudanalyse","Remove the glasses":"Fjern glassene","Clean your face":"Rens dit ansigt","Be in the right light":"Vær i det rigtige lys","Be neutral face and fix position":"Vær neutralt ansigt og fastgør position","Get Started":"Kom i gang","If you upload a selfie, the image will be used to provide more precise recommendations that may be of interest to you. The image is deleted after being analyzed.":"Hvis du uploader en selfie, vil billedet blive brugt til at give mere præcise anbefalinger, der kan være interessante for dig. ","See our":"Se vores","Privacy Policy":"Privatlivspolitik","for more information":"for mere information","your picture quality is blurry":"din billedkvalitet er sløret","be wearing glasses":"have briller på","please remove them":"venligst fjern dem","Improve photo quality":"Forbedre billedkvaliteten","We noticed you might":"Vi har bemærket, at du måske","and":"og","for better results":"for bedre resultater","Tips for taking better selfies":"Tips til at tage bedre selfies","Continue":"Fortsætte","Generate routine for you":"Skab rutine for dig","Re-take":"Gentag","Get recommended products!":"Få anbefalede produkter!","Recommendation Products":"Anbefalede produkter","Products That Just Work For you":"Produkter, der bare fungerer for dig","My Skin Report":"Min hud rapport","Add to cart":"Tilføj til kurv","Add again":"Tilføj igen","Checkout":"Checkout","My Routines":"Mine rutiner","Your":"Dine","Routine":"Rutine","Morning":"Morgen","Night":"Nat","Error":"Fejl","The face is not visible in the picture":"Ansigtet er ikke synligt på billedet","The input image is not suitable":"Indgangsbilledet er ikke egnet","An error occurred, please check again":"Der opstod en fejl. Tjek venligst igen","Camera permission denied.":"Kameratilladelse nægtet.","Unable to access the camera.":"Kan ikke få adgang til kameraet.","Your image is blurry":"Dit billede er sløret","You have glasses":"Du har briller","The light on your face is not suitable":"Lyset på dit ansigt er ikke egnet","The face is not neutral (You may have a smile)":"Ansigtet er ikke neutralt (du kan have et smil)","Image is not suitable":"Billedet er ikke egnet","Check how you can improve your skin with the proper product and routine":"Tjek, hvordan du kan forbedre din hud med det rigtige produkt og rutine","There are no products to display":"Der er ingen produkter at vise","routines.content.cleanser":"Start med at vaske dit ansigt for at fjerne snavs, olie og urenheder. ","routines.content.toner":"Brug en toner til at afbalancere din huds pH og fjerne eventuelle rester.","routines.content.serum":"Påfør et koncentreret serum rettet mod specifikke bekymringer, såsom lysnende eller anti-aging. ","routines.content.eyeCream":"Dup forsigtigt øjencremen omkring øjenområdet for at fugte og reducere hævelser eller mørke rande.","routines.content.spotTreatment":"Påfør pletbehandling på alle problemområder, såsom acne eller pletter. ","routines.content.moisturizer":"Lås på hydrering ved at påføre en fugtighedscreme, der passer til din hudtype. ","routines.content.sunscreen":"Beskyt din hud mod skadelige UV-stråler ved at bruge solcreme med bredspektret beskyttelse. ","routines.content.faceOil":"Påfør en let ansigtsolie for at forsegle fugt og give din hud en strålende glød. ","routines.content.nightCream":"Brug en rig natcreme til at hjælpe med at reparere og genoprette din hud, mens du sover. ","Cleanser":"Rensemiddel","Toner":"Toner","Serum":"Serum","Eye Cream":"Øjencreme","Spot Treatment":"Pletbehandling","Moisturizer":"Fugtighedscreme","Sunscreen":"Solcreme","Face Oil":"Ansigtsolie","Night Cream":"Natcreme"}')},th:{translation:JSON.parse('{"Skin Analysis":"การวิเคราะห์ผิวหนัง","Look Straight":"ดูตรง","Face Position":"ตำแหน่งใบหน้า","Lighting":"แสงสว่าง","Good":"ดี","Not Good":"ไม่ดี","Bad":"แย่","Fair":"ยุติธรรม","Powered by":"ขับเคลื่อนโดย","Your distance is close to the camera":"ระยะห่างของคุณใกล้กับกล้อง","Keep your face inside the circle":"ให้ใบหน้าของคุณอยู่ในวงกลม","Please stand in front of the camera":"กรุณายืนหน้ากล้องครับ","There is more than one person in the picture":"มีคนมากกว่าหนึ่งคนในภาพ","Drag & Drop":"ลากและวาง","Or":"หรือ","browse":"เรียกดู","Supports: JPEG, JPG, PNG":"รองรับ: JPEG, JPG, PNG","Release to Upload":"ปล่อยเพื่ออัปโหลด","file not supported":"ไม่รองรับไฟล์","Sending Facial Data...":"กำลังส่งข้อมูลใบหน้า...","Scanning Face...":"กำลังสแกนใบหน้า...","Analyzing Facial Attributes...":"กำลังวิเคราะห์ลักษณะใบหน้า...","AI Crafting Report..":"รายงานการประดิษฐ์ AI..","Skin Info":"ข้อมูลผิวหนัง","Fine Wrinkles":"ริ้วรอย","Eye Wrinkles":"ริ้วรอยรอบดวงตา","Deep Wrinkles":"ริ้วรอยลึก","Dark Circle":"วงกลมมืด","Eye Bag":"ถุงใต้ตา","Pores":"รูขุมขน","Pigment":"เม็ดสี","Redness":"รอยแดง","Oiliness":"ความมัน","Acnes":"สิว","Acne":"สิว","Skin Health":"สุขภาพผิว","Instructions":"คำแนะนำ","Get Ready to Start Skin Analysis":"เตรียมพร้อมเริ่มการวิเคราะห์ผิวหนัง","Remove the glasses":"ถอดแว่นตาออก","Clean your face":"ทำความสะอาดใบหน้าของคุณ","Be in the right light":"อยู่ในแสงที่เหมาะสม","Be neutral face and fix position":"ทำหน้าเป็นกลางและแก้ไขตำแหน่ง","Get Started":"เริ่มต้นเลย","If you upload a selfie, the image will be used to provide more precise recommendations that may be of interest to you. The image is deleted after being analyzed.":"หากคุณอัปโหลดภาพเซลฟี่ รูปภาพจะถูกนำมาใช้เพื่อให้คำแนะนำที่แม่นยำยิ่งขึ้นซึ่งคุณอาจสนใจ ","See our":"ดูของเรา","Privacy Policy":"นโยบายความเป็นส่วนตัว","for more information":"สำหรับข้อมูลเพิ่มเติม","your picture quality is blurry":"คุณภาพของภาพของคุณไม่ชัด","be wearing glasses":"จะสวมแว่นตา","please remove them":"โปรดลบออก","Improve photo quality":"ปรับปรุงคุณภาพของภาพถ่าย","We noticed you might":"เราสังเกตเห็นว่าคุณอาจ","and":"และ","for better results":"เพื่อผลลัพธ์ที่ดีกว่า","Tips for taking better selfies":"เคล็ดลับในการเซลฟี่ให้ดีขึ้น","Continue":"ดำเนินการต่อ","Generate routine for you":"สร้างกิจวัตรสำหรับคุณ","Re-take":"ถ่ายใหม่","Get recommended products!":"รับสินค้าแนะนำ!","Recommendation Products":"สินค้าแนะนำ","Products That Just Work For you":"ผลิตภัณฑ์ที่เหมาะกับคุณ","My Skin Report":"รายงานผิวของฉัน","Add to cart":"เพิ่มลงในรถเข็น","Add again":"เพิ่มอีกครั้ง","Checkout":"ชำระเงิน","My Routines":"กิจวัตรของฉัน","Your":"ของคุณ","Routine":"กิจวัตรประจำวัน","Morning":"เช้า","Night":"กลางคืน","Error":"ข้อผิดพลาด","The face is not visible in the picture":"ไม่เห็นใบหน้าในภาพ","The input image is not suitable":"รูปภาพที่ป้อนไม่เหมาะสม","An error occurred, please check again":"เกิดข้อผิดพลาด โปรดตรวจสอบอีกครั้ง","Camera permission denied.":"การอนุญาตกล้องถูกปฏิเสธ","Unable to access the camera.":"ไม่สามารถเข้าถึงกล้องได้","Your image is blurry":"ภาพของคุณเบลอ","You have glasses":"คุณมีแว่นตา","The light on your face is not suitable":"แสงบนใบหน้าของคุณไม่เหมาะ","The face is not neutral (You may have a smile)":"หน้าตาไม่เป็นกลาง (อาจยิ้มได้)","Image is not suitable":"รูปภาพไม่เหมาะสม","Check how you can improve your skin with the proper product and routine":"ตรวจสอบว่าคุณสามารถปรับปรุงผิวของคุณด้วยผลิตภัณฑ์และกิจวัตรที่เหมาะสมได้อย่างไร","There are no products to display":"ไม่มีสินค้าที่จะแสดง","routines.content.cleanser":"เริ่มต้นด้วยการล้างหน้าเพื่อขจัดสิ่งสกปรก ความมัน และสิ่งสกปรก ","routines.content.toner":"ใช้โทนเนอร์เพื่อปรับสมดุล pH ของผิวและขจัดสิ่งตกค้าง","routines.content.serum":"ใช้เซรั่มเข้มข้นโดยเน้นไปที่ข้อกังวลเฉพาะ เช่น ความกระจ่างใสหรือการต่อต้านวัย ","routines.content.eyeCream":"แตะครีมบำรุงรอบดวงตาเบาๆ รอบดวงตาเพื่อเพิ่มความชุ่มชื้นและลดอาการบวมหรือรอยคล้ำ","routines.content.spotTreatment":"ใช้ทรีทเมนต์เฉพาะจุดกับบริเวณที่มีปัญหา เช่น สิวหรือรอยตำหนิ ","routines.content.moisturizer":"ล็อคความชุ่มชื้นด้วยการทามอยเจอร์ไรเซอร์ที่เหมาะกับสภาพผิวของคุณ ","routines.content.sunscreen":"ปกป้องผิวของคุณจากรังสียูวีที่เป็นอันตรายโดยใช้ครีมกันแดดที่มีการป้องกันในวงกว้าง ","routines.content.faceOil":"ทาน้ำมันบำรุงผิวหน้าเนื้อบางเบาเพื่อกักเก็บความชุ่มชื้นและให้ผิวของคุณเปล่งประกายเปล่งประกาย ","routines.content.nightCream":"ใช้ไนท์ครีมเข้มข้นเพื่อช่วยซ่อมแซมและฟื้นฟูผิวขณะนอนหลับ ","Cleanser":"คลีนเซอร์","Toner":"ผงหมึก","Serum":"เซรั่ม","Eye Cream":"ครีมบำรุงรอบดวงตา","Spot Treatment":"การรักษาเฉพาะจุด","Moisturizer":"มอยเจอร์ไรเซอร์","Sunscreen":"ครีมกันแดด","Face Oil":"น้ำมันทาหน้า","Night Cream":"ไนท์ครีม"}')},sv:{translation:JSON.parse('{"Skin Analysis":"Hudanalys","Look Straight":"Se rak ut","Face Position":"Ansiktsposition","Lighting":"Belysning","Good":"Bra","Not Good":"Inte bra","Bad":"Dålig","Fair":"Rättvis","Powered by":"Drivs av","Your distance is close to the camera":"Ditt avstånd är nära kameran","Keep your face inside the circle":"Håll ditt ansikte inom cirkeln","Please stand in front of the camera":"Vänligen ställ dig framför kameran","There is more than one person in the picture":"Det är mer än en person på bilden","Drag & Drop":"Dra och släpp","Or":"Eller","browse":"bläddra","Supports: JPEG, JPG, PNG":"Stöder: JPEG, JPG, PNG","Release to Upload":"Släpp för att ladda upp","file not supported":"fil stöds inte","Sending Facial Data...":"Skickar ansiktsdata...","Scanning Face...":"Skannar ansikte...","Analyzing Facial Attributes...":"Analyserar ansiktsegenskaper...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Hudinformation","Fine Wrinkles":"Rynkor","Eye Wrinkles":"Ögonrynkor","Deep Wrinkles":"Djupa rynkor","Dark Circle":"Mörk cirkel","Eye Bag":"Ögonväska","Pores":"Porer","Pigment":"Pigment","Redness":"Rodnad","Oiliness":"Fetighet","Acnes":"Acne","Acne":"Acne","Skin Health":"Hudens hälsa","Instructions":"Instruktioner","Get Ready to Start Skin Analysis":"Gör dig redo att börja hudanalys","Remove the glasses":"Ta bort glasen","Clean your face":"Rengör ditt ansikte","Be in the right light":"Var i rätt ljus","Be neutral face and fix position":"Var neutralt ansikte och fixa position","Get Started":"Kom igång","If you upload a selfie, the image will be used to provide more precise recommendations that may be of interest to you. The image is deleted after being analyzed.":"Om du laddar upp en selfie kommer bilden att användas för att ge mer exakta rekommendationer som kan vara av intresse för dig. ","See our":"Se vår","Privacy Policy":"Sekretesspolicy","for more information":"för mer information","your picture quality is blurry":"din bildkvalitet är suddig","be wearing glasses":"ha glasögon på sig","please remove them":"snälla ta bort dem","Improve photo quality":"Förbättra fotokvaliteten","We noticed you might":"Vi märkte att du kanske","and":"och","for better results":"för bättre resultat","Tips for taking better selfies":"Tips för att ta bättre selfies","Continue":"Fortsätta","Generate routine for you":"Skapa rutin åt dig","Re-take":"Ta om","Get recommended products!":"Få rekommenderade produkter!","Recommendation Products":"Rekommendationsprodukter","Products That Just Work For you":"Produkter som bara fungerar för dig","My Skin Report":"My Skin Report","Add to cart":"Lägg till i varukorgen","Add again":"Lägg till igen","Checkout":"Kassa","My Routines":"Mina rutiner","Your":"Din","Routine":"Rutin","Morning":"Morgon","Night":"Natt","Error":"Fel","The face is not visible in the picture":"Ansiktet syns inte på bilden","The input image is not suitable":"Ingångsbilden är inte lämplig","An error occurred, please check again":"Ett fel uppstod, kontrollera igen","Camera permission denied.":"Kameratillstånd nekad.","Unable to access the camera.":"Det går inte att komma åt kameran.","Your image is blurry":"Din bild är suddig","You have glasses":"Du har glasögon","The light on your face is not suitable":"Ljuset i ditt ansikte är inte lämpligt","The face is not neutral (You may have a smile)":"Ansiktet är inte neutralt (du kanske har ett leende)","Image is not suitable":"Bilden är inte lämplig","Check how you can improve your skin with the proper product and routine":"Kolla hur du kan förbättra din hud med rätt produkt och rutin","There are no products to display":"Det finns inga produkter att visa","routines.content.cleanser":"Börja med att tvätta ansiktet för att ta bort smuts, olja och orenheter. ","routines.content.toner":"Använd en ansiktsvatten för att balansera hudens pH och ta bort eventuella rester.","routines.content.serum":"Applicera ett koncentrerat serum med inriktning på specifika problem, som ljusning eller anti-aging. ","routines.content.eyeCream":"Klappa försiktigt ögonkrämen runt ögonområdet för att återfukta och minska svullnader eller mörka ringar.","routines.content.spotTreatment":"Applicera punktbehandling på alla problemområden, såsom akne eller fläckar. ","routines.content.moisturizer":"Lås in återfuktning genom att applicera en fuktkräm som passar din hudtyp. ","routines.content.sunscreen":"Skydda din hud från skadliga UV-strålar genom att använda solskyddsmedel med brett spektrumskydd. ","routines.content.faceOil":"Applicera en lätt ansiktsolja för att täta in fukt och ge din hud en strålande lyster. ","routines.content.nightCream":"Använd en rik nattkräm för att reparera och återställa din hud medan du sover. ","Cleanser":"Rengöringsmedel","Toner":"Toner","Serum":"Serum","Eye Cream":"Ögonkräm","Spot Treatment":"Fläckbehandling","Moisturizer":"Fuktighetskräm","Sunscreen":"Solskyddsmedel","Face Oil":"Ansiktsolja","Night Cream":"Nattkräm"}')},es:{translation:JSON.parse('{"Skin Analysis":"Analyse de la peau","Look Straight":"Regardez droit","Face Position":"Position du visage","Lighting":"Éclairage","Good":"Bien","Not Good":"Pas bon","Bad":"Mauvais","Fair":"Équitable","Powered by":"Alimenté par","Your distance is close to the camera":"Votre distance est proche de la caméra","Keep your face inside the circle":"Gardez votre visage à l\'intérieur du cercle","Please stand in front of the camera":"Veuillez vous tenir devant la caméra","There is more than one person in the picture":"Il y a plus d\'une personne sur la photo","Drag & Drop":"Glisser-déposer","Or":"Ou","browse":"parcourir","Supports: JPEG, JPG, PNG":"Prise en charge : JPEG, JPG, PNG","Release to Upload":"Libérer pour télécharger","file not supported":"fichier non pris en charge","Sending Facial Data...":"Envoi de données faciales...","Scanning Face...":"Numérisation du visage...","Analyzing Facial Attributes...":"Analyse des attributs du visage...","AI Crafting Report..":"Rapport de création d\'IA.","Skin Info":"Informations sur la peau","Fine Wrinkles":"Rides","Eye Wrinkles":"Rides des yeux","Deep Wrinkles":"Rides profondes","Dark Circle":"Cercle noir","Eye Bag":"Sac pour les yeux","Pores":"Pores","Pigment":"Pigment","Redness":"Rougeur","Oiliness":"Onctuosité","Acnes":"Acné","Acne":"Acné","Skin Health":"Santé de la peau","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Préparez-vous à commencer l\'analyse de la peau","Remove the glasses":"Retirez les lunettes","Clean your face":"Nettoyez votre visage","Be in the right light":"Soyez sous le bon jour","Be neutral face and fix position":"Soyez neutre et fixez votre position","Get Started":"Commencer","If you upload a selfie, the image will be used to provide more precise recommendations that may be of interest to you. The image is deleted after being analyzed.":"Si vous téléchargez un selfie, l\'image sera utilisée pour fournir des recommandations plus précises susceptibles de vous intéresser. ","See our":"Voir notre","Privacy Policy":"politique de confidentialité","for more information":"pour plus d\'informations","your picture quality is blurry":"la qualité de votre image est floue","be wearing glasses":"porter des lunettes","please remove them":"veuillez les supprimer","Improve photo quality":"Améliorer la qualité des photos","We noticed you might":"Nous avons remarqué que vous pourriez","and":"et","for better results":"pour de meilleurs résultats","Tips for taking better selfies":"Conseils pour prendre de meilleurs selfies","Continue":"Continuer","Generate routine for you":"Générez une routine pour vous","Re-take":"Reprendre","Get recommended products!":"Obtenez des produits recommandés !","Recommendation Products":"Produits recommandés","Products That Just Work For you":"Des produits qui fonctionnent juste pour vous","My Skin Report":"Mon rapport sur la peau","Add to cart":"Ajouter au panier","Add again":"Ajouter à nouveau","Checkout":"Vérifier","My Routines":"Mes routines","Your":"Ton","Routine":"Routine","Morning":"Matin","Night":"Nuit","Error":"Erreur","The face is not visible in the picture":"Le visage n\'est pas visible sur la photo","The input image is not suitable":"L\'image d\'entrée ne convient pas","An error occurred, please check again":"Une erreur s\'est produite, veuillez vérifier à nouveau","Camera permission denied.":"Autorisation de la caméra refusée.","Unable to access the camera.":"Impossible d\'accéder à la caméra.","Your image is blurry":"Votre image est floue","You have glasses":"tu as des lunettes","The light on your face is not suitable":"La lumière sur votre visage n\'est pas adaptée","The face is not neutral (You may have a smile)":"Le visage n\'est pas neutre (Vous pouvez avoir un sourire)","Image is not suitable":"L\'image ne convient pas","Check how you can improve your skin with the proper product and routine":"Vérifiez comment vous pouvez améliorer votre peau avec le produit et la routine appropriés","There are no products to display":"Il n\'y a aucun produit à afficher","routines.content.cleanser":"Commencez par vous laver le visage pour éliminer la saleté, l’huile et les impuretés. ","routines.content.toner":"Utilisez un tonique pour équilibrer le pH de votre peau et éliminer tout résidu restant.","routines.content.serum":"Appliquez un sérum concentré ciblant des préoccupations spécifiques, comme éclaircissantes ou anti-âge. ","routines.content.eyeCream":"Appliquez doucement la crème pour les yeux autour du contour des yeux pour hydrater et réduire les poches ou les cernes.","routines.content.spotTreatment":"Appliquez un traitement localisé sur toutes les zones à problèmes, telles que l\'acné ou les imperfections. ","routines.content.moisturizer":"Conservez l\'hydratation en appliquant une crème hydratante adaptée à votre type de peau. ","routines.content.sunscreen":"Protégez votre peau des rayons UV nocifs en utilisant un écran solaire offrant une protection à large spectre. ","routines.content.faceOil":"Appliquez une huile légère pour le visage pour retenir l’humidité et donner à votre peau un éclat radieux. ","routines.content.nightCream":"Utilisez une crème de nuit riche pour aider à réparer et restaurer votre peau pendant que vous dormez. ","Cleanser":"Nettoyant","Toner":"Tonique","Serum":"Sérum","Eye Cream":"Crème pour les yeux","Spot Treatment":"Traitement localisé","Moisturizer":"Crème hydratante","Sunscreen":"Crème solaire","Face Oil":"Huile Visage","Night Cream":"Crème de Nuit","Add all to cart":"Añadir todo al carrito","All Products":"Todos los productos"}')},ar:{translation:JSON.parse('{"Acne":"حَبُّ الشّبَاب","Acnes":"حَبُّ الشّبَاب","Add again":"أضف مرة أخرى","Add to cart":"أضف إلى السلة","AI Crafting Report..":"تقرير صياغة الذكاء الاصطناعي..","An error occurred, please check again":"حدث خطأ، يرجى التحقق مرة أخرى","Analyzing Facial Attributes...":"تحليل سمات الوجه...","and":"و","Bad":"سيء","Be in the right light":"كن في الضوء الصحيح","Be neutral face and fix position":"كن محايدًا للوجه وثبت الموقف","be wearing glasses":"يكون يرتدي النظارات","browse":"تصفح","Camera permission denied.":"تم رفض إذن الكاميرا.","Check how you can improve your skin with the proper product and routine":"تحقق من كيفية تحسين بشرتك باستخدام المنتج والروتين المناسبين","Checkout":"الدفع","Clean your face":"نظف وجهك","Cleanser":"منظف","Continue":"يكمل","Dark Circle":"الدائرة المظلمة","Deep Wrinkles":"التجاعيد العميقة","Drag & Drop":"السحب والإسقاط","Error":"خطأ","Eye Bag":"حقيبة العين","Eye Cream":"كريم العين","Eye Wrinkles":"تجاعيد العين","Face Oil":"زيت الوجه","Face Position":"موقف الوجه","Fair":"عدل","file not supported":"الملف غير مدعوم","for better results":"للحصول على نتائج أفضل","for more information":"لمزيد من المعلومات","Generate routine for you":"إنشاء روتين بالنسبة لك","Get Ready to Start Skin Analysis":"استعد لبدء تحليل الجلد","Get recommended products!":"احصل على المنتجات الموصى بها!","Get Started":"ابدأ","Good":"جيد","If you upload a selfie, the image will be used to provide more precise recommendations that may be of interest to you. The image is deleted after being analyzed.":"إذا قمت بتحميل صورة ذاتية، فسيتم استخدام الصورة لتقديم توصيات أكثر دقة قد تهمك. ","Image is not suitable":"الصورة غير مناسبة","Improve photo quality":"تحسين جودة الصورة","Instructions":"تعليمات","Keep your face inside the circle":"أبقِ وجهك داخل الدائرة","Lighting":"إضاءة","Look Straight":"تبدو مستقيمة","Moisturizer":"مرطب","Morning":"صباح","My Routines":"روتيناتي","My Skin Report":"تقرير بشرتي","Night":"ليلة","Night Cream":"كريم الليل","Not Good":"ليس جيدا","Oiliness":"زيتية","Or":"أو","Pigment":"أصباغ","please remove them":"يرجى إزالتها","Please stand in front of the camera":"يرجى الوقوف أمام الكاميرا","Pores":"المسام","Powered by":"مدعوم من","Privacy Policy":"سياسة الخصوصية","Products That Just Work For you":"المنتجات التي تناسبك فقط","Re-take":"إعادة اتخاذ","Recommendation Products":"منتجات التوصية","Redness":"احمرار","Release to Upload":"الافراج للتحميل","Remove the glasses":"قم بإزالة النظارات","Routine":"روتين","routines.content.cleanser":"ابدأ بغسل وجهك لإزالة الأوساخ والزيوت والشوائب. ","routines.content.eyeCream":"ضعي كريم العين بلطف حول منطقة العين لترطيبها وتقليل الانتفاخ أو الهالات السوداء.","routines.content.faceOil":"ضعي زيت وجه خفيف الوزن للحفاظ على الرطوبة ومنح بشرتك توهجًا مشعًا. ","routines.content.moisturizer":"احتفظي بالترطيب من خلال وضع مرطب يناسب نوع بشرتك. ","routines.content.nightCream":"استخدمي كريمًا ليليًا غنيًا للمساعدة في إصلاح واستعادة بشرتك أثناء النوم. ","routines.content.serum":"ضعي مصلًا مركّزًا يستهدف اهتمامات محددة، مثل تفتيح البشرة أو مكافحة الشيخوخة. ","routines.content.spotTreatment":"ضعي علاجًا موضعيًا على أي مناطق تعاني من مشاكل، مثل حب الشباب أو العيوب. ","routines.content.sunscreen":"قم بحماية بشرتك من الأشعة فوق البنفسجية الضارة باستخدام واقي الشمس ذو الحماية واسعة النطاق. ","routines.content.toner":"استخدمي التونر لموازنة درجة حموضة بشرتك وإزالة أي بقايا متبقية.","Scanning Face...":"مسح الوجه...","See our":"انظر لدينا","Sending Facial Data...":"إرسال بيانات الوجه...","Serum":"مصل","Skin Analysis":"تحليل الجلد","Skin Health":"صحة الجلد","Skin Info":"معلومات الجلد","Spot Treatment":"علاج البقع","Sunscreen":"واقي الشمس","Supports: JPEG, JPG, PNG":"يدعم: JPEG، JPG، PNG","The face is not neutral (You may have a smile)":"الوجه ليس محايدًا (قد تبتسم)","The face is not visible in the picture":"الوجه غير ظاهر في الصورة","The input image is not suitable":"صورة الإدخال غير مناسبة","The light on your face is not suitable":"الضوء على وجهك غير مناسب","There are no products to display":"لا توجد منتجات لعرضها","There is more than one person in the picture":"يوجد أكثر من شخص في الصورة","Tips for taking better selfies":"نصائح لالتقاط صور سيلفي أفضل","Toner":"الحبر","Unable to access the camera.":"غير قادر على الوصول إلى الكاميرا.","We noticed you might":"لقد لاحظنا أنك قد تفعل ذلك","Fine Wrinkles":"التجاعيد","You have glasses":"لديك نظارات","Your":"لك","Your distance is close to the camera":"المسافة الخاصة بك قريبة من الكاميرا","Your image is blurry":"صورتك ضبابية","your picture quality is blurry":"جودة صورتك ضبابية"}')}};function Pr(e){return Pr="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},Pr(e)}function xr(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,(void 0,r=function(e,t){if("object"!==Pr(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,"string");if("object"!==Pr(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(i.key),"symbol"===Pr(r)?r:String(r)),i)}var r}Ft.init({resources:Cr,lng:"en",fallbackLng:"en",interpolation:{escapeValue:!1}});var Ar=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.opts=t,this.w=new Vt(t).init(),this.el=this.w.config.element,new Sr(this).initModules()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this;return new Promise((function(t,n){null!==e.el?(e.w.globals.faceID=pr.randomId(),e.core.setupElements()):n(new Error("Element not found"))}))}},{key:"onload",value:function(e){var t=this;return new Promise((function(n,i){"function"==typeof e?t.w.globals.onload=function(t){try{e(t)}catch(e){i(new Error("Error calling:",e.message))}}:i(new Error("function not valid"))}))}},{key:"onClickProblem",value:function(e){var t=this;return new Promise((function(n,i){"function"==typeof e?t.w.globals.onClickProblem=function(t){try{e(t)}catch(e){i(new Error("Error calling:",e.message))}}:i(new Error("function not valid"))}))}},{key:"onAddToCart",value:function(e){var t=this;return new Promise((function(n,i){"function"==typeof e?t.w.globals.onAddToCart=function(t){try{e(t)}catch(e){i(new Error("Error calling:",e.message))}}:i(new Error("function not valid"))}))}},{key:"onCheckout",value:function(e){var t=this;return new Promise((function(n,i){"function"==typeof e?t.w.globals.onCheckout=function(t){try{e(t)}catch(e){i(new Error("Error calling:",e.message))}}:i(new Error("function not valid"))}))}},{key:"onClickProduct",value:function(e){var t=this;return new Promise((function(n,i){"function"==typeof e?t.w.globals.onClickProduct=function(t){try{e(t)}catch(e){i(new Error("Error calling:",e.message))}}:i(new Error("function not valid"))}))}},{key:"onDisplayProducts",value:function(e){var t=this;return new Promise((function(n,i){"function"==typeof e?t.w.globals.onDisplayProducts=function(t){try{e(t)}catch(e){i(new Error("Error calling:",e.message))}}:i(new Error("function not valid"))}))}},{key:"onDisplayRoutines",value:function(e){var t=this;return new Promise((function(n,i){"function"==typeof e?t.w.globals.onDisplayRoutines=function(t){try{e(t)}catch(e){i(new Error("Error calling:",e.message))}}:i(new Error("function not valid"))}))}},{key:"onCloseModal",value:function(e){var t=this;return new Promise((function(n,i){"function"==typeof e?t.w.globals.onCloseModal=function(t){try{e(t)}catch(e){i(new Error("Error calling:",e.message))}}:i(new Error("function not valid"))}))}},{key:"onResetData",value:function(e){var t=this;return new Promise((function(n,i){"function"==typeof e?t.w.globals.onRefresh=function(n){try{t.w.globals.productLists&&(t.w.globals.productLists=[]),t.w.globals.productAddToCart&&(t.w.globals.productAddToCart=[]),t.w.globals.productLoader=!1,e(n)}catch(e){i(new Error("Error calling:",e.message))}}:i(new Error("function not valid"))}))}}])&&xr(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}()})(),i.default})()));
2
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.FaceAge=t():e.FaceAge=t()}(this,(()=>(()=>{var e={135:function(e,t,n){(function(){"use strict";function e(e){var t=0;return function(){return t<e.length?{done:!1,value:e[t++]}:{done:!0}}}var t="function"==typeof Object.defineProperties?Object.defineProperty:function(e,t,n){return e==Array.prototype||e==Object.prototype||(e[t]=n.value),e},r=function(e){e=["object"==typeof globalThis&&globalThis,e,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof n.g&&n.g];for(var t=0;t<e.length;++t){var r=e[t];if(r&&r.Math==Math)return r}throw Error("Cannot find global object")}(this);function i(e,n){if(n)e:{var i=r;e=e.split(".");for(var o=0;o<e.length-1;o++){var a=e[o];if(!(a in i))break e;i=i[a]}(n=n(o=i[e=e[e.length-1]]))!=o&&null!=n&&t(i,e,{configurable:!0,writable:!0,value:n})}}function o(e){return(e={next:e})[Symbol.iterator]=function(){return this},e}function a(t){var n="undefined"!=typeof Symbol&&Symbol.iterator&&t[Symbol.iterator];return n?n.call(t):{next:e(t)}}function s(){this.i=!1,this.g=null,this.o=void 0,this.j=1,this.m=0,this.h=null}function l(e){if(e.i)throw new TypeError("Generator is already running");e.i=!0}function c(e,t){e.h={F:t,G:!0},e.j=e.m}function u(e){this.g=new s,this.h=e}function d(e,t,n,r){try{var i=t.call(e.g.g,n);if(!(i instanceof Object))throw new TypeError("Iterator result "+i+" is not an object");if(!i.done)return e.g.i=!1,i;var o=i.value}catch(t){return e.g.g=null,c(e.g,t),h(e)}return e.g.g=null,r.call(e.g,o),h(e)}function h(e){for(;e.g.j;)try{var t=e.h(e.g);if(t)return e.g.i=!1,{value:t.value,done:!1}}catch(t){e.g.o=void 0,c(e.g,t)}if(e.g.i=!1,e.g.h){if(t=e.g.h,e.g.h=null,t.G)throw t.F;return{value:t.return,done:!0}}return{value:void 0,done:!0}}function p(e){this.next=function(t){return l(e.g),e.g.g?t=d(e,e.g.g.next,t,e.g.l):(e.g.l(t),t=h(e)),t},this.throw=function(t){return l(e.g),e.g.g?t=d(e,e.g.g.throw,t,e.g.l):(c(e.g,t),t=h(e)),t},this.return=function(t){return function(e,t){l(e.g);var n=e.g.g;return n?d(e,"return"in n?n.return:function(e){return{value:e,done:!0}},t,e.g.return):(e.g.return(t),h(e))}(e,t)},this[Symbol.iterator]=function(){return this}}function m(e){function t(t){return e.next(t)}function n(t){return e.throw(t)}return new Promise((function(r,i){!function e(o){o.done?r(o.value):Promise.resolve(o.value).then(t,n).then(e,i)}(e.next())}))}i("Symbol",(function(e){function n(e,n){this.g=e,t(this,"description",{configurable:!0,writable:!0,value:n})}if(e)return e;n.prototype.toString=function(){return this.g};var r="jscomp_symbol_"+(1e9*Math.random()>>>0)+"_",i=0;return function e(t){if(this instanceof e)throw new TypeError("Symbol is not a constructor");return new n(r+(t||"")+"_"+i++,t)}})),i("Symbol.iterator",(function(n){if(n)return n;n=Symbol("Symbol.iterator");for(var i="Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array".split(" "),a=0;a<i.length;a++){var s=r[i[a]];"function"==typeof s&&"function"!=typeof s.prototype[n]&&t(s.prototype,n,{configurable:!0,writable:!0,value:function(){return o(e(this))}})}return n})),s.prototype.l=function(e){this.o=e},s.prototype.return=function(e){this.h={return:e},this.j=this.m},i("Promise",(function(e){function t(e){this.h=0,this.i=void 0,this.g=[],this.o=!1;var t=this.j();try{e(t.resolve,t.reject)}catch(e){t.reject(e)}}function n(){this.g=null}function i(e){return e instanceof t?e:new t((function(t){t(e)}))}if(e)return e;n.prototype.h=function(e){if(null==this.g){this.g=[];var t=this;this.i((function(){t.l()}))}this.g.push(e)};var o=r.setTimeout;n.prototype.i=function(e){o(e,0)},n.prototype.l=function(){for(;this.g&&this.g.length;){var e=this.g;this.g=[];for(var t=0;t<e.length;++t){var n=e[t];e[t]=null;try{n()}catch(e){this.j(e)}}}this.g=null},n.prototype.j=function(e){this.i((function(){throw e}))},t.prototype.j=function(){function e(e){return function(r){n||(n=!0,e.call(t,r))}}var t=this,n=!1;return{resolve:e(this.A),reject:e(this.l)}},t.prototype.A=function(e){if(e===this)this.l(new TypeError("A Promise cannot resolve to itself"));else if(e instanceof t)this.C(e);else{e:switch(typeof e){case"object":var n=null!=e;break e;case"function":n=!0;break e;default:n=!1}n?this.v(e):this.m(e)}},t.prototype.v=function(e){var t=void 0;try{t=e.then}catch(e){return void this.l(e)}"function"==typeof t?this.D(t,e):this.m(e)},t.prototype.l=function(e){this.u(2,e)},t.prototype.m=function(e){this.u(1,e)},t.prototype.u=function(e,t){if(0!=this.h)throw Error("Cannot settle("+e+", "+t+"): Promise already settled in state"+this.h);this.h=e,this.i=t,2===this.h&&this.B(),this.H()},t.prototype.B=function(){var e=this;o((function(){if(e.I()){var t=r.console;void 0!==t&&t.error(e.i)}}),1)},t.prototype.I=function(){if(this.o)return!1;var e=r.CustomEvent,t=r.Event,n=r.dispatchEvent;return void 0===n||("function"==typeof e?e=new e("unhandledrejection",{cancelable:!0}):"function"==typeof t?e=new t("unhandledrejection",{cancelable:!0}):(e=r.document.createEvent("CustomEvent")).initCustomEvent("unhandledrejection",!1,!0,e),e.promise=this,e.reason=this.i,n(e))},t.prototype.H=function(){if(null!=this.g){for(var e=0;e<this.g.length;++e)s.h(this.g[e]);this.g=null}};var s=new n;return t.prototype.C=function(e){var t=this.j();e.s(t.resolve,t.reject)},t.prototype.D=function(e,t){var n=this.j();try{e.call(t,n.resolve,n.reject)}catch(e){n.reject(e)}},t.prototype.then=function(e,n){function r(e,t){return"function"==typeof e?function(t){try{i(e(t))}catch(e){o(e)}}:t}var i,o,a=new t((function(e,t){i=e,o=t}));return this.s(r(e,i),r(n,o)),a},t.prototype.catch=function(e){return this.then(void 0,e)},t.prototype.s=function(e,t){function n(){switch(r.h){case 1:e(r.i);break;case 2:t(r.i);break;default:throw Error("Unexpected state: "+r.h)}}var r=this;null==this.g?s.h(n):this.g.push(n),this.o=!0},t.resolve=i,t.reject=function(e){return new t((function(t,n){n(e)}))},t.race=function(e){return new t((function(t,n){for(var r=a(e),o=r.next();!o.done;o=r.next())i(o.value).s(t,n)}))},t.all=function(e){var n=a(e),r=n.next();return r.done?i([]):new t((function(e,t){function o(t){return function(n){a[t]=n,0==--s&&e(a)}}var a=[],s=0;do{a.push(void 0),s++,i(r.value).s(o(a.length-1),t),r=n.next()}while(!r.done)}))},t}));var f="function"==typeof Object.assign?Object.assign:function(e,t){for(var n=1;n<arguments.length;n++){var r=arguments[n];if(r)for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i])}return e};i("Object.assign",(function(e){return e||f}));var g=this||self,y={facingMode:"user",width:640,height:480};function v(e,t){this.video=e,this.i=0,this.h=Object.assign(Object.assign({},y),t)}function b(e){window.requestAnimationFrame((function(){!function(e){var t=null;e.video.paused||e.video.currentTime===e.i||(e.i=e.video.currentTime,t=e.h.onFrame()),t?t.then((function(){b(e)})):b(e)}(e)}))}v.prototype.stop=function(){var e,t,n,r=this;return m(new p(new u((function(i){if(r.g){for(e=r.g.getTracks(),t=a(e),n=t.next();!n.done;n=t.next())n.value.stop();r.g=void 0}i.j=0}))))},v.prototype.start=function(){var e,t=this;return m(new p(new u((function(n){return navigator.mediaDevices&&navigator.mediaDevices.getUserMedia||alert("No navigator.mediaDevices.getUserMedia exists."),e=t.h,n.return(navigator.mediaDevices.getUserMedia({video:{facingMode:e.facingMode,width:e.width,height:e.height}}).then((function(e){!function(e,t){e.g=t,e.video.srcObject=t,e.video.onloadedmetadata=function(){e.video.play(),b(e)}}(t,e)})).catch((function(e){var t="Failed to acquire camera feed: "+e;throw console.error(t),alert(t),e})))}))))};var k,w=["Camera"],S=g;w[0]in S||void 0===S.execScript||S.execScript("var "+w[0]);for(;w.length&&(k=w.shift());)w.length||void 0===v?S=S[k]&&S[k]!==Object.prototype[k]?S[k]:S[k]={}:S[k]=v}).call(this)},982:function(e,t,n){(function(){"use strict";var e;function t(e){var t=0;return function(){return t<e.length?{done:!1,value:e[t++]}:{done:!0}}}var r,i="function"==typeof Object.defineProperties?Object.defineProperty:function(e,t,n){return e==Array.prototype||e==Object.prototype||(e[t]=n.value),e},o=function(e){e=["object"==typeof globalThis&&globalThis,e,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof n.g&&n.g];for(var t=0;t<e.length;++t){var r=e[t];if(r&&r.Math==Math)return r}throw Error("Cannot find global object")}(this);function a(e,t){if(t)e:{var n=o;e=e.split(".");for(var r=0;r<e.length-1;r++){var a=e[r];if(!(a in n))break e;n=n[a]}(t=t(r=n[e=e[e.length-1]]))!=r&&null!=t&&i(n,e,{configurable:!0,writable:!0,value:t})}}function s(e){return(e={next:e})[Symbol.iterator]=function(){return this},e}function l(e){var n="undefined"!=typeof Symbol&&Symbol.iterator&&e[Symbol.iterator];return n?n.call(e):{next:t(e)}}function c(e){if(!(e instanceof Array)){e=l(e);for(var t,n=[];!(t=e.next()).done;)n.push(t.value);e=n}return e}if(a("Symbol",(function(e){function t(e,t){this.g=e,i(this,"description",{configurable:!0,writable:!0,value:t})}if(e)return e;t.prototype.toString=function(){return this.g};var n="jscomp_symbol_"+(1e9*Math.random()>>>0)+"_",r=0;return function e(i){if(this instanceof e)throw new TypeError("Symbol is not a constructor");return new t(n+(i||"")+"_"+r++,i)}})),a("Symbol.iterator",(function(e){if(e)return e;e=Symbol("Symbol.iterator");for(var n="Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array".split(" "),r=0;r<n.length;r++){var a=o[n[r]];"function"==typeof a&&"function"!=typeof a.prototype[e]&&i(a.prototype,e,{configurable:!0,writable:!0,value:function(){return s(t(this))}})}return e})),"function"==typeof Object.setPrototypeOf)r=Object.setPrototypeOf;else{var u;e:{var d={};try{d.__proto__={a:!0},u=d.a;break e}catch(e){}u=!1}r=u?function(e,t){if(e.__proto__=t,e.__proto__!==t)throw new TypeError(e+" is not extensible");return e}:null}var h=r;function p(){this.l=!1,this.h=null,this.j=void 0,this.g=1,this.s=this.m=0,this.i=null}function m(e){if(e.l)throw new TypeError("Generator is already running");e.l=!0}function f(e,t){e.i={K:t,L:!0},e.g=e.m||e.s}function g(e,t,n){return e.g=n,{value:t}}function y(e){this.g=new p,this.h=e}function v(e,t,n,r){try{var i=t.call(e.g.h,n);if(!(i instanceof Object))throw new TypeError("Iterator result "+i+" is not an object");if(!i.done)return e.g.l=!1,i;var o=i.value}catch(t){return e.g.h=null,f(e.g,t),b(e)}return e.g.h=null,r.call(e.g,o),b(e)}function b(e){for(;e.g.g;)try{var t=e.h(e.g);if(t)return e.g.l=!1,{value:t.value,done:!1}}catch(t){e.g.j=void 0,f(e.g,t)}if(e.g.l=!1,e.g.i){if(t=e.g.i,e.g.i=null,t.L)throw t.K;return{value:t.return,done:!0}}return{value:void 0,done:!0}}function k(e){this.next=function(t){return m(e.g),e.g.h?t=v(e,e.g.h.next,t,e.g.o):(e.g.o(t),t=b(e)),t},this.throw=function(t){return m(e.g),e.g.h?t=v(e,e.g.h.throw,t,e.g.o):(f(e.g,t),t=b(e)),t},this.return=function(t){return function(e,t){m(e.g);var n=e.g.h;return n?v(e,"return"in n?n.return:function(e){return{value:e,done:!0}},t,e.g.return):(e.g.return(t),b(e))}(e,t)},this[Symbol.iterator]=function(){return this}}function w(e,t){return t=new k(new y(t)),h&&e.prototype&&h(t,e.prototype),t}p.prototype.o=function(e){this.j=e},p.prototype.return=function(e){this.i={return:e},this.g=this.s};var S="function"==typeof Object.assign?Object.assign:function(e,t){for(var n=1;n<arguments.length;n++){var r=arguments[n];if(r)for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i])}return e};a("Object.assign",(function(e){return e||S})),a("Promise",(function(e){function t(e){this.h=0,this.i=void 0,this.g=[],this.o=!1;var t=this.j();try{e(t.resolve,t.reject)}catch(e){t.reject(e)}}function n(){this.g=null}function r(e){return e instanceof t?e:new t((function(t){t(e)}))}if(e)return e;n.prototype.h=function(e){if(null==this.g){this.g=[];var t=this;this.i((function(){t.l()}))}this.g.push(e)};var i=o.setTimeout;n.prototype.i=function(e){i(e,0)},n.prototype.l=function(){for(;this.g&&this.g.length;){var e=this.g;this.g=[];for(var t=0;t<e.length;++t){var n=e[t];e[t]=null;try{n()}catch(e){this.j(e)}}}this.g=null},n.prototype.j=function(e){this.i((function(){throw e}))},t.prototype.j=function(){function e(e){return function(r){n||(n=!0,e.call(t,r))}}var t=this,n=!1;return{resolve:e(this.D),reject:e(this.l)}},t.prototype.D=function(e){if(e===this)this.l(new TypeError("A Promise cannot resolve to itself"));else if(e instanceof t)this.I(e);else{e:switch(typeof e){case"object":var n=null!=e;break e;case"function":n=!0;break e;default:n=!1}n?this.C(e):this.m(e)}},t.prototype.C=function(e){var t=void 0;try{t=e.then}catch(e){return void this.l(e)}"function"==typeof t?this.J(t,e):this.m(e)},t.prototype.l=function(e){this.s(2,e)},t.prototype.m=function(e){this.s(1,e)},t.prototype.s=function(e,t){if(0!=this.h)throw Error("Cannot settle("+e+", "+t+"): Promise already settled in state"+this.h);this.h=e,this.i=t,2===this.h&&this.H(),this.A()},t.prototype.H=function(){var e=this;i((function(){if(e.B()){var t=o.console;void 0!==t&&t.error(e.i)}}),1)},t.prototype.B=function(){if(this.o)return!1;var e=o.CustomEvent,t=o.Event,n=o.dispatchEvent;return void 0===n||("function"==typeof e?e=new e("unhandledrejection",{cancelable:!0}):"function"==typeof t?e=new t("unhandledrejection",{cancelable:!0}):(e=o.document.createEvent("CustomEvent")).initCustomEvent("unhandledrejection",!1,!0,e),e.promise=this,e.reason=this.i,n(e))},t.prototype.A=function(){if(null!=this.g){for(var e=0;e<this.g.length;++e)a.h(this.g[e]);this.g=null}};var a=new n;return t.prototype.I=function(e){var t=this.j();e.F(t.resolve,t.reject)},t.prototype.J=function(e,t){var n=this.j();try{e.call(t,n.resolve,n.reject)}catch(e){n.reject(e)}},t.prototype.then=function(e,n){function r(e,t){return"function"==typeof e?function(t){try{i(e(t))}catch(e){o(e)}}:t}var i,o,a=new t((function(e,t){i=e,o=t}));return this.F(r(e,i),r(n,o)),a},t.prototype.catch=function(e){return this.then(void 0,e)},t.prototype.F=function(e,t){function n(){switch(r.h){case 1:e(r.i);break;case 2:t(r.i);break;default:throw Error("Unexpected state: "+r.h)}}var r=this;null==this.g?a.h(n):this.g.push(n),this.o=!0},t.resolve=r,t.reject=function(e){return new t((function(t,n){n(e)}))},t.race=function(e){return new t((function(t,n){for(var i=l(e),o=i.next();!o.done;o=i.next())r(o.value).F(t,n)}))},t.all=function(e){var n=l(e),i=n.next();return i.done?r([]):new t((function(e,t){function o(t){return function(n){a[t]=n,0==--s&&e(a)}}var a=[],s=0;do{a.push(void 0),s++,r(i.value).F(o(a.length-1),t),i=n.next()}while(!i.done)}))},t})),a("Array.prototype.keys",(function(e){return e||function(){return function(e,t){e instanceof String&&(e+="");var n=0,r=!1,i={next:function(){if(!r&&n<e.length){var i=n++;return{value:t(i,e[i]),done:!1}}return r=!0,{done:!0,value:void 0}}};return i[Symbol.iterator]=function(){return i},i}(this,(function(e){return e}))}}));var C=this||self;function P(e,t){e=e.split(".");var n,r=C;e[0]in r||void 0===r.execScript||r.execScript("var "+e[0]);for(;e.length&&(n=e.shift());)e.length||void 0===t?r=r[n]&&r[n]!==Object.prototype[n]?r[n]:r[n]={}:r[n]=t}function A(e,t){var n=void 0;return new(n||(n=Promise))((function(r,i){function o(e){try{s(t.next(e))}catch(e){i(e)}}function a(e){try{s(t.throw(e))}catch(e){i(e)}}function s(e){e.done?r(e.value):new n((function(t){t(e.value)})).then(o,a)}s((t=t.apply(e,void 0)).next())}))}var x=[[61,146],[146,91],[91,181],[181,84],[84,17],[17,314],[314,405],[405,321],[321,375],[375,291],[61,185],[185,40],[40,39],[39,37],[37,0],[0,267],[267,269],[269,270],[270,409],[409,291],[78,95],[95,88],[88,178],[178,87],[87,14],[14,317],[317,402],[402,318],[318,324],[324,308],[78,191],[191,80],[80,81],[81,82],[82,13],[13,312],[312,311],[311,310],[310,415],[415,308]],T=[[263,249],[249,390],[390,373],[373,374],[374,380],[380,381],[381,382],[382,362],[263,466],[466,388],[388,387],[387,386],[386,385],[385,384],[384,398],[398,362]],R=[[276,283],[283,282],[282,295],[295,285],[300,293],[293,334],[334,296],[296,336]],E=[[33,7],[7,163],[163,144],[144,145],[145,153],[153,154],[154,155],[155,133],[33,246],[246,161],[161,160],[160,159],[159,158],[158,157],[157,173],[173,133]],_=[[46,53],[53,52],[52,65],[65,55],[70,63],[63,105],[105,66],[66,107]],I=[[10,338],[338,297],[297,332],[332,284],[284,251],[251,389],[389,356],[356,454],[454,323],[323,361],[361,288],[288,397],[397,365],[365,379],[379,378],[378,400],[400,377],[377,152],[152,148],[148,176],[176,149],[149,150],[150,136],[136,172],[172,58],[58,132],[132,93],[93,234],[234,127],[127,162],[162,21],[21,54],[54,103],[103,67],[67,109],[109,10]],F=[].concat(c(x),c(T),c(R),c(E),c(_),c(I));function L(e,t,n){if(n=e.createShader(0===n?e.VERTEX_SHADER:e.FRAGMENT_SHADER),e.shaderSource(n,t),e.compileShader(n),!e.getShaderParameter(n,e.COMPILE_STATUS))throw Error("Could not compile WebGL shader.\n\n"+e.getShaderInfoLog(n));return n}function O(e,t){this.g=e,this.i=t,this.j=0}function M(e,t){var n=e.i;if(void 0===e.l){var r=L(n,"\n attribute vec2 aVertex;\n attribute vec2 aTex;\n varying vec2 vTex;\n void main(void) {\n gl_Position = vec4(aVertex, 0.0, 1.0);\n vTex = aTex;\n }",0),i=L(n,"\n precision highp float;\n varying vec2 vTex;\n uniform sampler2D sampler0;\n void main(){\n gl_FragColor = texture2D(sampler0, vTex);\n }",1),o=n.createProgram();if(n.attachShader(o,r),n.attachShader(o,i),n.linkProgram(o),!n.getProgramParameter(o,n.LINK_STATUS))throw Error("Could not compile WebGL program.\n\n"+n.getProgramInfoLog(o));r=e.l=o,n.useProgram(r),i=n.getUniformLocation(r,"sampler0"),e.h={v:n.getAttribLocation(r,"aVertex"),u:n.getAttribLocation(r,"aTex"),M:i},e.o=n.createBuffer(),n.bindBuffer(n.ARRAY_BUFFER,e.o),n.enableVertexAttribArray(e.h.v),n.vertexAttribPointer(e.h.v,2,n.FLOAT,!1,0,0),n.bufferData(n.ARRAY_BUFFER,new Float32Array([-1,-1,-1,1,1,1,1,-1]),n.STATIC_DRAW),n.bindBuffer(n.ARRAY_BUFFER,null),e.m=n.createBuffer(),n.bindBuffer(n.ARRAY_BUFFER,e.m),n.enableVertexAttribArray(e.h.u),n.vertexAttribPointer(e.h.u,2,n.FLOAT,!1,0,0),n.bufferData(n.ARRAY_BUFFER,new Float32Array([0,1,0,0,1,0,1,1]),n.STATIC_DRAW),n.bindBuffer(n.ARRAY_BUFFER,null),n.uniform1i(i,0)}r=e.h,n.useProgram(e.l),n.canvas.width=t.width,n.canvas.height=t.height,n.viewport(0,0,t.width,t.height),n.activeTexture(n.TEXTURE0),e.g.bindTexture2d(t.glName),n.enableVertexAttribArray(r.v),n.bindBuffer(n.ARRAY_BUFFER,e.o),n.vertexAttribPointer(r.v,2,n.FLOAT,!1,0,0),n.enableVertexAttribArray(r.u),n.bindBuffer(n.ARRAY_BUFFER,e.m),n.vertexAttribPointer(r.u,2,n.FLOAT,!1,0,0),n.bindFramebuffer(n.DRAW_FRAMEBUFFER?n.DRAW_FRAMEBUFFER:n.FRAMEBUFFER,null),n.drawArrays(n.TRIANGLE_FAN,0,4),n.disableVertexAttribArray(r.v),n.disableVertexAttribArray(r.u),n.bindBuffer(n.ARRAY_BUFFER,null),e.g.bindTexture2d(0)}function D(e){this.g=e}var G=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,9,1,7,0,65,0,253,15,26,11]);function B(e,t){return t+e}function N(e,t){window[e]=t}function j(e){for(var t=[],n=e.size(),r=0;r<n;++r){var i=e.get(r);t.push({x:i.x,y:i.y,z:i.z,visibility:i.hasVisibility?i.visibility:void 0})}return t}function z(e){for(var t=[],n=e.size(),r=0;r<n;++r){var i=e.get(r);t.push({index:i.index,score:i.score,label:i.hasLabel?i.label:void 0,displayName:i.hasDisplayName?i.displayName:void 0})}return t}function W(e,t,n){this.graph=e,this.locateFile=t,this.g=n}function U(e){if(this.h=e,this.listeners={},this.j={},this.l={},this.s=this.D=!0,this.B=Promise.resolve(),this.locateFile=e&&e.locateFile||B,"object"==typeof window)e=window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/";else{if("undefined"==typeof location)throw Error("solutions can only be loaded on a web page or in a web worker");e=location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/"}this.C=e}function H(e,t,n){if(n.isNumber())return n.getNumber();if(n.isRect())return n.getRect();if(n.isLandmarks())return n.getLandmarks();if(n.isLandmarksList())return n.getLandmarksList();if(n.isClassificationsList())return n.getClassificationsList();if(n.isObjectDetectionList())return n.getObjectDetectionList();if(n.isTexture2d()){var r=e.l[t];return r||(r=new O(e.g,e.o),e.l[t]=r),M(e=r,n=n.getTexture2d()),e.i.canvas}}function Y(e,t){for(var n=t.name||"$",r=[].concat(c(t.wants)),i=new e.g.StringList,o=l(t.wants),a=o.next();!a.done;a=o.next())i.push_back(a.value);o=e.g.PacketListener.implement({onResults:function(i){return A(e,(function e(){var o,a,s,c,u,d=this;return w(e,(function(e){if(1==e.g){for(o={},a=0;a<t.wants.length;++a)o[r[a]]=i.get(a);var h;if(h=t.outs){for(var p={},m=l(Object.keys(h)),f=m.next();!f.done;f=m.next()){var y=h[f=f.value];if("string"==typeof y)p[f]=H(d,f,o[y]);else{var v=o[y.stream];if(void 0!==v){if("detection_list"===y.type){var b=v.getRectList(),k=v.getLandmarksList();v=v.getClassificationsList();var w=[];if(b)for(var S=0;S<b.size();++S){var C={boundingBox:b.get(S),landmarks:j(k.get(S)),G:z(v.get(S))};w.push(C)}p[f]=w}else if("landmarks"===y.type)b=v.getLandmarks(),p[f]=b?j(b):void 0;else if("landmarks_list"===y.type){if(b=v.getLandmarksList()){for(k=[],v=b.size(),w=0;w<v;++w)S=b.get(w),k.push(j(S));b=k}else b=void 0;p[f]=b}else if("rect_list"===y.type){if(b=v.getRectList()){for(k=[],v=b.size(),w=0;w<v;++w)S=b.get(w),k.push(S);b=k}else b=void 0;p[f]=b}else if("classifications_list"===y.type){if(b=v.getClassificationsList()){for(k=[],v=b.size(),w=0;w<v;++w)S=b.get(w),k.push(z(S));b=k}else b=void 0;p[f]=b}else if("object_detection_list"===y.type){if(b=v.getObjectDetectionList()){for(k=[],v=b.size(),w=0;w<v;++w){var P=b.get(w);C=(S=k).push;for(var A=P.id,x=P.keypoints,T=[],R=x.size(),E=0;E<R;++E){var _=x.get(E);T.push({id:_.id,point3d:{x:_.point3d.x,y:_.point3d.y,z:_.point3d.z},point2d:{x:_.point2d.x,y:_.point2d.y,depth:_.point2d.depth}})}C.call(S,{id:A,keypoints:T,visibility:P.visibility})}b=k}else b=void 0;p[f]=b}else{if("texture"!==y.type)throw Error("Unknown output config type: '"+y.type+"'");(b=d.l[f])||(b=new O(d.g,d.o),d.l[f]=b),M(b,k=v.getTexture2d()),p[f]=b.i.canvas}y.transform&&p[f]&&(p[f]=y.transform(p[f]))}}}h=p}else h=o;return s=h,(c=d.listeners[n])?e=g(e,d.B,3):(e.g=0,e=void 0),e}if(u=c(s))return d.B=u,e.return(u);e.g=0}))}))}}),e.i.attachMultiListener(i,o),i.delete()}function q(e){e=e||{},this.g=new U({locateFile:e.locateFile,files:[{url:"face_detection_solution_packed_assets_loader.js"},{simd:!0,url:"face_detection_solution_simd_wasm_bin.js"},{simd:!1,url:"face_detection_solution_wasm_bin.js"}],graph:{url:"face_detection.binarypb"},listeners:[{wants:["detections","image_transformed"],outs:{image:"image_transformed",detections:{type:"detection_list",stream:"detections"}}}],inputs:{image:{type:"video",stream:"input_frames_gpu"}},options:{selfieMode:{type:1,graphOptionXref:{calculatorType:"GlScalerCalculator",calculatorIndex:1,fieldName:"flip_horizontal"}},minDetectionConfidence:{type:0,graphOptionXref:{calculatorType:"TensorsToDetectionsCalculator",calculatorName:"facedetectionfrontgpu__facedetectionfrontcommon__TensorsToDetectionsCalculator",fieldName:"min_score_thresh"}}}})}W.prototype.toArrayBuffer=function(){return A(this,(function e(){var t,n=this;return w(e,(function(e){return 1==e.g?(n.graph.url?e=g(e,fetch(n.locateFile(n.graph.url,n.g)),3):(e.g=2,e=void 0),e):2!=e.g&&(t=e.j).body?e.return(t.arrayBuffer()):e.return(new ArrayBuffer(0))}))}))},(e=U.prototype).close=function(){return this.i&&this.i.delete(),Promise.resolve()},e.reset=function(){return A(this,(function e(){var t=this;return w(e,(function(e){t.i&&(t.i.reset(),t.j={},t.l={}),e.g=0}))}))},e.setOptions=function(e){if(this.h.options){for(var t=[],n=l(Object.keys(e)),r=n.next();!r.done;r=n.next()){var i=r.value;(r=this.h.options[i])&&r.graphOptionXref&&(i={valueNumber:0===r.type?e[i]:0,valueBoolean:1===r.type&&e[i]},r=Object.assign(Object.assign(Object.assign({},{calculatorName:"",calculatorIndex:0}),r.graphOptionXref),i),t.push(r))}0!==t.length&&(this.s=!0,this.A=t)}},e.initialize=function(){return A(this,(function e(){var t=this;return w(e,(function(e){return 1==e.g?g(e,A(t,(function e(){var t,n,r,i,o,a,s,c,u,d=this;return w(e,(function(e){switch(e.g){case 1:return t=d,d.D?(N("createMediapipeSolutionsWasm",{locateFile:d.locateFile}),N("createMediapipeSolutionsPackedAssets",{locateFile:d.locateFile}),n=d.h.files||[],g(e,function(){return A(this,(function e(){return w(e,(function(e){switch(e.g){case 1:return e.m=2,g(e,WebAssembly.instantiate(G),4);case 4:e.g=3,e.m=0;break;case 2:return e.m=0,e.i=null,e.return(!1);case 3:return e.return(!0)}}))}))}(),2)):e.return();case 2:return r=e.j,g(e,Promise.all(n.map((function(e){return void 0===e.simd||e.simd&&r||!e.simd&&!r?function(e){var t=document.createElement("script");return t.setAttribute("src",e),t.setAttribute("crossorigin","anonymous"),document.body.appendChild(t),new Promise((function(e){t.addEventListener("load",(function(){e()}),!1)}))}(t.locateFile(e.url,t.C)):Promise.resolve()}))),3);case 3:return i=window.createMediapipeSolutionsWasm,o=window.createMediapipeSolutionsPackedAssets,g(e,i(o),4);case 4:return d.g=e.j,d.m=document.createElement("canvas"),d.g.canvas=d.m,d.g.createContext(d.m,!0,!0,{}),d.i=new d.g.SolutionWasm,a=new W(d.h.graph,d.locateFile,d.C),g(e,d.loadGraph(a),5);case 5:if(d.h.listeners)for(s=l(d.h.listeners),c=s.next();!c.done;c=s.next())u=c.value,Y(d,u);d.D=!1,e.g=0}}))})),2):g(e,A(t,(function e(){var t,n,r,i,o,a=this;return w(e,(function(e){if(!a.s)return e.return();if(!(t=a.m.getContext("webgl2"))&&!(t=a.m.getContext("webgl")))return alert("Failed to create WebGL canvas context when passing video frame."),e.return();if(a.o=t,a.A){for(n=new a.g.GraphOptionChangeRequestList,r=l(a.A),i=r.next();!i.done;i=r.next())o=i.value,n.push_back(o);a.i.changeOptions(n),n.delete(),a.A=void 0}a.s=!1,e.g=0}))})),0)}))}))},e.loadGraph=function(e){return A(this,(function t(){var n,r=this;return w(t,(function(t){if(1==t.g)return g(t,e.toArrayBuffer(),2);n=t.j,r.i.loadGraph(n),t.g=0}))}))},e.send=function(e,t){return A(this,(function n(){var r,i,o,a,s,c,u,d,h,p=this;return w(n,(function(n){if(1==n.g)return p.h.inputs?(r=1e3*(t||performance.now()),g(n,p.B,2)):n.return();if(3!=n.g)return g(n,p.initialize(),3);for(i=new p.g.PacketDataList,o=l(Object.keys(e)),a=o.next();!a.done;a=o.next())if(s=a.value,c=p.h.inputs[s]){e:{var m=p,f=e[s];switch(c.type){case"video":var y=m.j[c.stream];if(y||(y=new O(m.g,m.o),m.j[c.stream]=y),0===(m=y).j&&(m.j=m.g.createTexture()),f instanceof HTMLVideoElement){var v=f.videoWidth;y=f.videoHeight}else f instanceof HTMLImageElement?(v=f.naturalWidth,y=f.naturalHeight):(v=f.width,y=f.height);y={glName:m.j,width:v,height:y},(v=m.i).canvas.width=y.width,v.canvas.height=y.height,v.activeTexture(v.TEXTURE0),m.g.bindTexture2d(m.j),v.texImage2D(v.TEXTURE_2D,0,v.RGBA,v.RGBA,v.UNSIGNED_BYTE,f),m.g.bindTexture2d(0),m=y;break e;case"detections":for((y=m.j[c.stream])||(y=new D(m.g),m.j[c.stream]=y),(m=y).data||(m.data=new m.g.DetectionListData),m.data.reset(f.length),y=0;y<f.length;++y){v=f[y],m.data.setBoundingBox(y,v.boundingBox);for(var b=0;b<v.landmarks.length;++b){var k=v.landmarks[b],w=!!k.visibility;m.data.addNormalizedLandmark(y,Object.assign(Object.assign({},k),{hasVisibility:w,visibility:w?k.visibility:0}))}for(b=0;b<v.G.length;++b){w=!!(k=v.G[b]).index;var S=!!k.label,C=!!k.displayName;m.data.addClassification(y,{score:k.score,hasIndex:w,index:w?k.index:-1,hasLabel:S,label:S?k.label:"",hasDisplayName:C,displayName:C?k.displayName:""})}}m=m.data;break e;default:m={}}}switch(u=m,d=c.stream,c.type){case"video":i.pushTexture2d(Object.assign(Object.assign({},u),{stream:d,timestamp:r}));break;case"detections":(h=u).stream=d,h.timestamp=r,i.pushDetectionList(h);break;default:throw Error("Unknown input config type: '"+c.type+"'")}}p.i.send(i),i.delete(),n.g=0}))}))},e.onResults=function(e,t){this.listeners[t||"$"]=e},P("Solution",U),P("OptionType",{NUMBER:0,BOOL:1,0:"NUMBER",1:"BOOL"}),(e=q.prototype).close=function(){return this.g.close(),Promise.resolve()},e.onResults=function(e){this.g.onResults(e)},e.initialize=function(){return A(this,(function e(){var t=this;return w(e,(function(e){return g(e,t.g.initialize(),0)}))}))},e.reset=function(){this.g.reset()},e.send=function(e){return A(this,(function t(){var n=this;return w(t,(function(t){return g(t,n.g.send(e),0)}))}))},e.setOptions=function(e){this.g.setOptions(e)},P("FaceDetection",q),P("FACEDETECTION_LIPS",x),P("FACEDETECTION_LEFT_EYE",T),P("FACEDETECTION_LEFT_EYEBROW",R),P("FACEDETECTION_RIGHT_EYE",E),P("FACEDETECTION_RIGHT_EYEBROW",_),P("FACEDETECTION_FACE_OVAL",I),P("FACEDETECTION_CONTOURS",F),P("FACEDETECTION_TESSELATION",[[127,34],[34,139],[139,127],[11,0],[0,37],[37,11],[232,231],[231,120],[120,232],[72,37],[37,39],[39,72],[128,121],[121,47],[47,128],[232,121],[121,128],[128,232],[104,69],[69,67],[67,104],[175,171],[171,148],[148,175],[118,50],[50,101],[101,118],[73,39],[39,40],[40,73],[9,151],[151,108],[108,9],[48,115],[115,131],[131,48],[194,204],[204,211],[211,194],[74,40],[40,185],[185,74],[80,42],[42,183],[183,80],[40,92],[92,186],[186,40],[230,229],[229,118],[118,230],[202,212],[212,214],[214,202],[83,18],[18,17],[17,83],[76,61],[61,146],[146,76],[160,29],[29,30],[30,160],[56,157],[157,173],[173,56],[106,204],[204,194],[194,106],[135,214],[214,192],[192,135],[203,165],[165,98],[98,203],[21,71],[71,68],[68,21],[51,45],[45,4],[4,51],[144,24],[24,23],[23,144],[77,146],[146,91],[91,77],[205,50],[50,187],[187,205],[201,200],[200,18],[18,201],[91,106],[106,182],[182,91],[90,91],[91,181],[181,90],[85,84],[84,17],[17,85],[206,203],[203,36],[36,206],[148,171],[171,140],[140,148],[92,40],[40,39],[39,92],[193,189],[189,244],[244,193],[159,158],[158,28],[28,159],[247,246],[246,161],[161,247],[236,3],[3,196],[196,236],[54,68],[68,104],[104,54],[193,168],[168,8],[8,193],[117,228],[228,31],[31,117],[189,193],[193,55],[55,189],[98,97],[97,99],[99,98],[126,47],[47,100],[100,126],[166,79],[79,218],[218,166],[155,154],[154,26],[26,155],[209,49],[49,131],[131,209],[135,136],[136,150],[150,135],[47,126],[126,217],[217,47],[223,52],[52,53],[53,223],[45,51],[51,134],[134,45],[211,170],[170,140],[140,211],[67,69],[69,108],[108,67],[43,106],[106,91],[91,43],[230,119],[119,120],[120,230],[226,130],[130,247],[247,226],[63,53],[53,52],[52,63],[238,20],[20,242],[242,238],[46,70],[70,156],[156,46],[78,62],[62,96],[96,78],[46,53],[53,63],[63,46],[143,34],[34,227],[227,143],[123,117],[117,111],[111,123],[44,125],[125,19],[19,44],[236,134],[134,51],[51,236],[216,206],[206,205],[205,216],[154,153],[153,22],[22,154],[39,37],[37,167],[167,39],[200,201],[201,208],[208,200],[36,142],[142,100],[100,36],[57,212],[212,202],[202,57],[20,60],[60,99],[99,20],[28,158],[158,157],[157,28],[35,226],[226,113],[113,35],[160,159],[159,27],[27,160],[204,202],[202,210],[210,204],[113,225],[225,46],[46,113],[43,202],[202,204],[204,43],[62,76],[76,77],[77,62],[137,123],[123,116],[116,137],[41,38],[38,72],[72,41],[203,129],[129,142],[142,203],[64,98],[98,240],[240,64],[49,102],[102,64],[64,49],[41,73],[73,74],[74,41],[212,216],[216,207],[207,212],[42,74],[74,184],[184,42],[169,170],[170,211],[211,169],[170,149],[149,176],[176,170],[105,66],[66,69],[69,105],[122,6],[6,168],[168,122],[123,147],[147,187],[187,123],[96,77],[77,90],[90,96],[65,55],[55,107],[107,65],[89,90],[90,180],[180,89],[101,100],[100,120],[120,101],[63,105],[105,104],[104,63],[93,137],[137,227],[227,93],[15,86],[86,85],[85,15],[129,102],[102,49],[49,129],[14,87],[87,86],[86,14],[55,8],[8,9],[9,55],[100,47],[47,121],[121,100],[145,23],[23,22],[22,145],[88,89],[89,179],[179,88],[6,122],[122,196],[196,6],[88,95],[95,96],[96,88],[138,172],[172,136],[136,138],[215,58],[58,172],[172,215],[115,48],[48,219],[219,115],[42,80],[80,81],[81,42],[195,3],[3,51],[51,195],[43,146],[146,61],[61,43],[171,175],[175,199],[199,171],[81,82],[82,38],[38,81],[53,46],[46,225],[225,53],[144,163],[163,110],[110,144],[52,65],[65,66],[66,52],[229,228],[228,117],[117,229],[34,127],[127,234],[234,34],[107,108],[108,69],[69,107],[109,108],[108,151],[151,109],[48,64],[64,235],[235,48],[62,78],[78,191],[191,62],[129,209],[209,126],[126,129],[111,35],[35,143],[143,111],[117,123],[123,50],[50,117],[222,65],[65,52],[52,222],[19,125],[125,141],[141,19],[221,55],[55,65],[65,221],[3,195],[195,197],[197,3],[25,7],[7,33],[33,25],[220,237],[237,44],[44,220],[70,71],[71,139],[139,70],[122,193],[193,245],[245,122],[247,130],[130,33],[33,247],[71,21],[21,162],[162,71],[170,169],[169,150],[150,170],[188,174],[174,196],[196,188],[216,186],[186,92],[92,216],[2,97],[97,167],[167,2],[141,125],[125,241],[241,141],[164,167],[167,37],[37,164],[72,38],[38,12],[12,72],[38,82],[82,13],[13,38],[63,68],[68,71],[71,63],[226,35],[35,111],[111,226],[101,50],[50,205],[205,101],[206,92],[92,165],[165,206],[209,198],[198,217],[217,209],[165,167],[167,97],[97,165],[220,115],[115,218],[218,220],[133,112],[112,243],[243,133],[239,238],[238,241],[241,239],[214,135],[135,169],[169,214],[190,173],[173,133],[133,190],[171,208],[208,32],[32,171],[125,44],[44,237],[237,125],[86,87],[87,178],[178,86],[85,86],[86,179],[179,85],[84,85],[85,180],[180,84],[83,84],[84,181],[181,83],[201,83],[83,182],[182,201],[137,93],[93,132],[132,137],[76,62],[62,183],[183,76],[61,76],[76,184],[184,61],[57,61],[61,185],[185,57],[212,57],[57,186],[186,212],[214,207],[207,187],[187,214],[34,143],[143,156],[156,34],[79,239],[239,237],[237,79],[123,137],[137,177],[177,123],[44,1],[1,4],[4,44],[201,194],[194,32],[32,201],[64,102],[102,129],[129,64],[213,215],[215,138],[138,213],[59,166],[166,219],[219,59],[242,99],[99,97],[97,242],[2,94],[94,141],[141,2],[75,59],[59,235],[235,75],[24,110],[110,228],[228,24],[25,130],[130,226],[226,25],[23,24],[24,229],[229,23],[22,23],[23,230],[230,22],[26,22],[22,231],[231,26],[112,26],[26,232],[232,112],[189,190],[190,243],[243,189],[221,56],[56,190],[190,221],[28,56],[56,221],[221,28],[27,28],[28,222],[222,27],[29,27],[27,223],[223,29],[30,29],[29,224],[224,30],[247,30],[30,225],[225,247],[238,79],[79,20],[20,238],[166,59],[59,75],[75,166],[60,75],[75,240],[240,60],[147,177],[177,215],[215,147],[20,79],[79,166],[166,20],[187,147],[147,213],[213,187],[112,233],[233,244],[244,112],[233,128],[128,245],[245,233],[128,114],[114,188],[188,128],[114,217],[217,174],[174,114],[131,115],[115,220],[220,131],[217,198],[198,236],[236,217],[198,131],[131,134],[134,198],[177,132],[132,58],[58,177],[143,35],[35,124],[124,143],[110,163],[163,7],[7,110],[228,110],[110,25],[25,228],[356,389],[389,368],[368,356],[11,302],[302,267],[267,11],[452,350],[350,349],[349,452],[302,303],[303,269],[269,302],[357,343],[343,277],[277,357],[452,453],[453,357],[357,452],[333,332],[332,297],[297,333],[175,152],[152,377],[377,175],[347,348],[348,330],[330,347],[303,304],[304,270],[270,303],[9,336],[336,337],[337,9],[278,279],[279,360],[360,278],[418,262],[262,431],[431,418],[304,408],[408,409],[409,304],[310,415],[415,407],[407,310],[270,409],[409,410],[410,270],[450,348],[348,347],[347,450],[422,430],[430,434],[434,422],[313,314],[314,17],[17,313],[306,307],[307,375],[375,306],[387,388],[388,260],[260,387],[286,414],[414,398],[398,286],[335,406],[406,418],[418,335],[364,367],[367,416],[416,364],[423,358],[358,327],[327,423],[251,284],[284,298],[298,251],[281,5],[5,4],[4,281],[373,374],[374,253],[253,373],[307,320],[320,321],[321,307],[425,427],[427,411],[411,425],[421,313],[313,18],[18,421],[321,405],[405,406],[406,321],[320,404],[404,405],[405,320],[315,16],[16,17],[17,315],[426,425],[425,266],[266,426],[377,400],[400,369],[369,377],[322,391],[391,269],[269,322],[417,465],[465,464],[464,417],[386,257],[257,258],[258,386],[466,260],[260,388],[388,466],[456,399],[399,419],[419,456],[284,332],[332,333],[333,284],[417,285],[285,8],[8,417],[346,340],[340,261],[261,346],[413,441],[441,285],[285,413],[327,460],[460,328],[328,327],[355,371],[371,329],[329,355],[392,439],[439,438],[438,392],[382,341],[341,256],[256,382],[429,420],[420,360],[360,429],[364,394],[394,379],[379,364],[277,343],[343,437],[437,277],[443,444],[444,283],[283,443],[275,440],[440,363],[363,275],[431,262],[262,369],[369,431],[297,338],[338,337],[337,297],[273,375],[375,321],[321,273],[450,451],[451,349],[349,450],[446,342],[342,467],[467,446],[293,334],[334,282],[282,293],[458,461],[461,462],[462,458],[276,353],[353,383],[383,276],[308,324],[324,325],[325,308],[276,300],[300,293],[293,276],[372,345],[345,447],[447,372],[352,345],[345,340],[340,352],[274,1],[1,19],[19,274],[456,248],[248,281],[281,456],[436,427],[427,425],[425,436],[381,256],[256,252],[252,381],[269,391],[391,393],[393,269],[200,199],[199,428],[428,200],[266,330],[330,329],[329,266],[287,273],[273,422],[422,287],[250,462],[462,328],[328,250],[258,286],[286,384],[384,258],[265,353],[353,342],[342,265],[387,259],[259,257],[257,387],[424,431],[431,430],[430,424],[342,353],[353,276],[276,342],[273,335],[335,424],[424,273],[292,325],[325,307],[307,292],[366,447],[447,345],[345,366],[271,303],[303,302],[302,271],[423,266],[266,371],[371,423],[294,455],[455,460],[460,294],[279,278],[278,294],[294,279],[271,272],[272,304],[304,271],[432,434],[434,427],[427,432],[272,407],[407,408],[408,272],[394,430],[430,431],[431,394],[395,369],[369,400],[400,395],[334,333],[333,299],[299,334],[351,417],[417,168],[168,351],[352,280],[280,411],[411,352],[325,319],[319,320],[320,325],[295,296],[296,336],[336,295],[319,403],[403,404],[404,319],[330,348],[348,349],[349,330],[293,298],[298,333],[333,293],[323,454],[454,447],[447,323],[15,16],[16,315],[315,15],[358,429],[429,279],[279,358],[14,15],[15,316],[316,14],[285,336],[336,9],[9,285],[329,349],[349,350],[350,329],[374,380],[380,252],[252,374],[318,402],[402,403],[403,318],[6,197],[197,419],[419,6],[318,319],[319,325],[325,318],[367,364],[364,365],[365,367],[435,367],[367,397],[397,435],[344,438],[438,439],[439,344],[272,271],[271,311],[311,272],[195,5],[5,281],[281,195],[273,287],[287,291],[291,273],[396,428],[428,199],[199,396],[311,271],[271,268],[268,311],[283,444],[444,445],[445,283],[373,254],[254,339],[339,373],[282,334],[334,296],[296,282],[449,347],[347,346],[346,449],[264,447],[447,454],[454,264],[336,296],[296,299],[299,336],[338,10],[10,151],[151,338],[278,439],[439,455],[455,278],[292,407],[407,415],[415,292],[358,371],[371,355],[355,358],[340,345],[345,372],[372,340],[346,347],[347,280],[280,346],[442,443],[443,282],[282,442],[19,94],[94,370],[370,19],[441,442],[442,295],[295,441],[248,419],[419,197],[197,248],[263,255],[255,359],[359,263],[440,275],[275,274],[274,440],[300,383],[383,368],[368,300],[351,412],[412,465],[465,351],[263,467],[467,466],[466,263],[301,368],[368,389],[389,301],[395,378],[378,379],[379,395],[412,351],[351,419],[419,412],[436,426],[426,322],[322,436],[2,164],[164,393],[393,2],[370,462],[462,461],[461,370],[164,0],[0,267],[267,164],[302,11],[11,12],[12,302],[268,12],[12,13],[13,268],[293,300],[300,301],[301,293],[446,261],[261,340],[340,446],[330,266],[266,425],[425,330],[426,423],[423,391],[391,426],[429,355],[355,437],[437,429],[391,327],[327,326],[326,391],[440,457],[457,438],[438,440],[341,382],[382,362],[362,341],[459,457],[457,461],[461,459],[434,430],[430,394],[394,434],[414,463],[463,362],[362,414],[396,369],[369,262],[262,396],[354,461],[461,457],[457,354],[316,403],[403,402],[402,316],[315,404],[404,403],[403,315],[314,405],[405,404],[404,314],[313,406],[406,405],[405,313],[421,418],[418,406],[406,421],[366,401],[401,361],[361,366],[306,408],[408,407],[407,306],[291,409],[409,408],[408,291],[287,410],[410,409],[409,287],[432,436],[436,410],[410,432],[434,416],[416,411],[411,434],[264,368],[368,383],[383,264],[309,438],[438,457],[457,309],[352,376],[376,401],[401,352],[274,275],[275,4],[4,274],[421,428],[428,262],[262,421],[294,327],[327,358],[358,294],[433,416],[416,367],[367,433],[289,455],[455,439],[439,289],[462,370],[370,326],[326,462],[2,326],[326,370],[370,2],[305,460],[460,455],[455,305],[254,449],[449,448],[448,254],[255,261],[261,446],[446,255],[253,450],[450,449],[449,253],[252,451],[451,450],[450,252],[256,452],[452,451],[451,256],[341,453],[453,452],[452,341],[413,464],[464,463],[463,413],[441,413],[413,414],[414,441],[258,442],[442,441],[441,258],[257,443],[443,442],[442,257],[259,444],[444,443],[443,259],[260,445],[445,444],[444,260],[467,342],[342,445],[445,467],[459,458],[458,250],[250,459],[289,392],[392,290],[290,289],[290,328],[328,460],[460,290],[376,433],[433,435],[435,376],[250,290],[290,392],[392,250],[411,416],[416,433],[433,411],[341,463],[463,464],[464,341],[453,464],[464,465],[465,453],[357,465],[465,412],[412,357],[343,412],[412,399],[399,343],[360,363],[363,440],[440,360],[437,399],[399,456],[456,437],[420,456],[456,363],[363,420],[401,435],[435,288],[288,401],[372,383],[383,353],[353,372],[339,255],[255,249],[249,339],[448,261],[261,255],[255,448],[133,243],[243,190],[190,133],[133,155],[155,112],[112,133],[33,246],[246,247],[247,33],[33,130],[130,25],[25,33],[398,384],[384,286],[286,398],[362,398],[398,414],[414,362],[362,463],[463,341],[341,362],[263,359],[359,467],[467,263],[263,249],[249,255],[255,263],[466,467],[467,260],[260,466],[75,60],[60,166],[166,75],[238,239],[239,79],[79,238],[162,127],[127,139],[139,162],[72,11],[11,37],[37,72],[121,232],[232,120],[120,121],[73,72],[72,39],[39,73],[114,128],[128,47],[47,114],[233,232],[232,128],[128,233],[103,104],[104,67],[67,103],[152,175],[175,148],[148,152],[119,118],[118,101],[101,119],[74,73],[73,40],[40,74],[107,9],[9,108],[108,107],[49,48],[48,131],[131,49],[32,194],[194,211],[211,32],[184,74],[74,185],[185,184],[191,80],[80,183],[183,191],[185,40],[40,186],[186,185],[119,230],[230,118],[118,119],[210,202],[202,214],[214,210],[84,83],[83,17],[17,84],[77,76],[76,146],[146,77],[161,160],[160,30],[30,161],[190,56],[56,173],[173,190],[182,106],[106,194],[194,182],[138,135],[135,192],[192,138],[129,203],[203,98],[98,129],[54,21],[21,68],[68,54],[5,51],[51,4],[4,5],[145,144],[144,23],[23,145],[90,77],[77,91],[91,90],[207,205],[205,187],[187,207],[83,201],[201,18],[18,83],[181,91],[91,182],[182,181],[180,90],[90,181],[181,180],[16,85],[85,17],[17,16],[205,206],[206,36],[36,205],[176,148],[148,140],[140,176],[165,92],[92,39],[39,165],[245,193],[193,244],[244,245],[27,159],[159,28],[28,27],[30,247],[247,161],[161,30],[174,236],[236,196],[196,174],[103,54],[54,104],[104,103],[55,193],[193,8],[8,55],[111,117],[117,31],[31,111],[221,189],[189,55],[55,221],[240,98],[98,99],[99,240],[142,126],[126,100],[100,142],[219,166],[166,218],[218,219],[112,155],[155,26],[26,112],[198,209],[209,131],[131,198],[169,135],[135,150],[150,169],[114,47],[47,217],[217,114],[224,223],[223,53],[53,224],[220,45],[45,134],[134,220],[32,211],[211,140],[140,32],[109,67],[67,108],[108,109],[146,43],[43,91],[91,146],[231,230],[230,120],[120,231],[113,226],[226,247],[247,113],[105,63],[63,52],[52,105],[241,238],[238,242],[242,241],[124,46],[46,156],[156,124],[95,78],[78,96],[96,95],[70,46],[46,63],[63,70],[116,143],[143,227],[227,116],[116,123],[123,111],[111,116],[1,44],[44,19],[19,1],[3,236],[236,51],[51,3],[207,216],[216,205],[205,207],[26,154],[154,22],[22,26],[165,39],[39,167],[167,165],[199,200],[200,208],[208,199],[101,36],[36,100],[100,101],[43,57],[57,202],[202,43],[242,20],[20,99],[99,242],[56,28],[28,157],[157,56],[124,35],[35,113],[113,124],[29,160],[160,27],[27,29],[211,204],[204,210],[210,211],[124,113],[113,46],[46,124],[106,43],[43,204],[204,106],[96,62],[62,77],[77,96],[227,137],[137,116],[116,227],[73,41],[41,72],[72,73],[36,203],[203,142],[142,36],[235,64],[64,240],[240,235],[48,49],[49,64],[64,48],[42,41],[41,74],[74,42],[214,212],[212,207],[207,214],[183,42],[42,184],[184,183],[210,169],[169,211],[211,210],[140,170],[170,176],[176,140],[104,105],[105,69],[69,104],[193,122],[122,168],[168,193],[50,123],[123,187],[187,50],[89,96],[96,90],[90,89],[66,65],[65,107],[107,66],[179,89],[89,180],[180,179],[119,101],[101,120],[120,119],[68,63],[63,104],[104,68],[234,93],[93,227],[227,234],[16,15],[15,85],[85,16],[209,129],[129,49],[49,209],[15,14],[14,86],[86,15],[107,55],[55,9],[9,107],[120,100],[100,121],[121,120],[153,145],[145,22],[22,153],[178,88],[88,179],[179,178],[197,6],[6,196],[196,197],[89,88],[88,96],[96,89],[135,138],[138,136],[136,135],[138,215],[215,172],[172,138],[218,115],[115,219],[219,218],[41,42],[42,81],[81,41],[5,195],[195,51],[51,5],[57,43],[43,61],[61,57],[208,171],[171,199],[199,208],[41,81],[81,38],[38,41],[224,53],[53,225],[225,224],[24,144],[144,110],[110,24],[105,52],[52,66],[66,105],[118,229],[229,117],[117,118],[227,34],[34,234],[234,227],[66,107],[107,69],[69,66],[10,109],[109,151],[151,10],[219,48],[48,235],[235,219],[183,62],[62,191],[191,183],[142,129],[129,126],[126,142],[116,111],[111,143],[143,116],[118,117],[117,50],[50,118],[223,222],[222,52],[52,223],[94,19],[19,141],[141,94],[222,221],[221,65],[65,222],[196,3],[3,197],[197,196],[45,220],[220,44],[44,45],[156,70],[70,139],[139,156],[188,122],[122,245],[245,188],[139,71],[71,162],[162,139],[149,170],[170,150],[150,149],[122,188],[188,196],[196,122],[206,216],[216,92],[92,206],[164,2],[2,167],[167,164],[242,141],[141,241],[241,242],[0,164],[164,37],[37,0],[11,72],[72,12],[12,11],[12,38],[38,13],[13,12],[70,63],[63,71],[71,70],[31,226],[226,111],[111,31],[36,101],[101,205],[205,36],[203,206],[206,165],[165,203],[126,209],[209,217],[217,126],[98,165],[165,97],[97,98],[237,220],[220,218],[218,237],[237,239],[239,241],[241,237],[210,214],[214,169],[169,210],[140,171],[171,32],[32,140],[241,125],[125,237],[237,241],[179,86],[86,178],[178,179],[180,85],[85,179],[179,180],[181,84],[84,180],[180,181],[182,83],[83,181],[181,182],[194,201],[201,182],[182,194],[177,137],[137,132],[132,177],[184,76],[76,183],[183,184],[185,61],[61,184],[184,185],[186,57],[57,185],[185,186],[216,212],[212,186],[186,216],[192,214],[214,187],[187,192],[139,34],[34,156],[156,139],[218,79],[79,237],[237,218],[147,123],[123,177],[177,147],[45,44],[44,4],[4,45],[208,201],[201,32],[32,208],[98,64],[64,129],[129,98],[192,213],[213,138],[138,192],[235,59],[59,219],[219,235],[141,242],[242,97],[97,141],[97,2],[2,141],[141,97],[240,75],[75,235],[235,240],[229,24],[24,228],[228,229],[31,25],[25,226],[226,31],[230,23],[23,229],[229,230],[231,22],[22,230],[230,231],[232,26],[26,231],[231,232],[233,112],[112,232],[232,233],[244,189],[189,243],[243,244],[189,221],[221,190],[190,189],[222,28],[28,221],[221,222],[223,27],[27,222],[222,223],[224,29],[29,223],[223,224],[225,30],[30,224],[224,225],[113,247],[247,225],[225,113],[99,60],[60,240],[240,99],[213,147],[147,215],[215,213],[60,20],[20,166],[166,60],[192,187],[187,213],[213,192],[243,112],[112,244],[244,243],[244,233],[233,245],[245,244],[245,128],[128,188],[188,245],[188,114],[114,174],[174,188],[134,131],[131,220],[220,134],[174,217],[217,236],[236,174],[236,198],[198,134],[134,236],[215,177],[177,58],[58,215],[156,143],[143,124],[124,156],[25,110],[110,7],[7,25],[31,228],[228,25],[25,31],[264,356],[356,368],[368,264],[0,11],[11,267],[267,0],[451,452],[452,349],[349,451],[267,302],[302,269],[269,267],[350,357],[357,277],[277,350],[350,452],[452,357],[357,350],[299,333],[333,297],[297,299],[396,175],[175,377],[377,396],[280,347],[347,330],[330,280],[269,303],[303,270],[270,269],[151,9],[9,337],[337,151],[344,278],[278,360],[360,344],[424,418],[418,431],[431,424],[270,304],[304,409],[409,270],[272,310],[310,407],[407,272],[322,270],[270,410],[410,322],[449,450],[450,347],[347,449],[432,422],[422,434],[434,432],[18,313],[313,17],[17,18],[291,306],[306,375],[375,291],[259,387],[387,260],[260,259],[424,335],[335,418],[418,424],[434,364],[364,416],[416,434],[391,423],[423,327],[327,391],[301,251],[251,298],[298,301],[275,281],[281,4],[4,275],[254,373],[373,253],[253,254],[375,307],[307,321],[321,375],[280,425],[425,411],[411,280],[200,421],[421,18],[18,200],[335,321],[321,406],[406,335],[321,320],[320,405],[405,321],[314,315],[315,17],[17,314],[423,426],[426,266],[266,423],[396,377],[377,369],[369,396],[270,322],[322,269],[269,270],[413,417],[417,464],[464,413],[385,386],[386,258],[258,385],[248,456],[456,419],[419,248],[298,284],[284,333],[333,298],[168,417],[417,8],[8,168],[448,346],[346,261],[261,448],[417,413],[413,285],[285,417],[326,327],[327,328],[328,326],[277,355],[355,329],[329,277],[309,392],[392,438],[438,309],[381,382],[382,256],[256,381],[279,429],[429,360],[360,279],[365,364],[364,379],[379,365],[355,277],[277,437],[437,355],[282,443],[443,283],[283,282],[281,275],[275,363],[363,281],[395,431],[431,369],[369,395],[299,297],[297,337],[337,299],[335,273],[273,321],[321,335],[348,450],[450,349],[349,348],[359,446],[446,467],[467,359],[283,293],[293,282],[282,283],[250,458],[458,462],[462,250],[300,276],[276,383],[383,300],[292,308],[308,325],[325,292],[283,276],[276,293],[293,283],[264,372],[372,447],[447,264],[346,352],[352,340],[340,346],[354,274],[274,19],[19,354],[363,456],[456,281],[281,363],[426,436],[436,425],[425,426],[380,381],[381,252],[252,380],[267,269],[269,393],[393,267],[421,200],[200,428],[428,421],[371,266],[266,329],[329,371],[432,287],[287,422],[422,432],[290,250],[250,328],[328,290],[385,258],[258,384],[384,385],[446,265],[265,342],[342,446],[386,387],[387,257],[257,386],[422,424],[424,430],[430,422],[445,342],[342,276],[276,445],[422,273],[273,424],[424,422],[306,292],[292,307],[307,306],[352,366],[366,345],[345,352],[268,271],[271,302],[302,268],[358,423],[423,371],[371,358],[327,294],[294,460],[460,327],[331,279],[279,294],[294,331],[303,271],[271,304],[304,303],[436,432],[432,427],[427,436],[304,272],[272,408],[408,304],[395,394],[394,431],[431,395],[378,395],[395,400],[400,378],[296,334],[334,299],[299,296],[6,351],[351,168],[168,6],[376,352],[352,411],[411,376],[307,325],[325,320],[320,307],[285,295],[295,336],[336,285],[320,319],[319,404],[404,320],[329,330],[330,349],[349,329],[334,293],[293,333],[333,334],[366,323],[323,447],[447,366],[316,15],[15,315],[315,316],[331,358],[358,279],[279,331],[317,14],[14,316],[316,317],[8,285],[285,9],[9,8],[277,329],[329,350],[350,277],[253,374],[374,252],[252,253],[319,318],[318,403],[403,319],[351,6],[6,419],[419,351],[324,318],[318,325],[325,324],[397,367],[367,365],[365,397],[288,435],[435,397],[397,288],[278,344],[344,439],[439,278],[310,272],[272,311],[311,310],[248,195],[195,281],[281,248],[375,273],[273,291],[291,375],[175,396],[396,199],[199,175],[312,311],[311,268],[268,312],[276,283],[283,445],[445,276],[390,373],[373,339],[339,390],[295,282],[282,296],[296,295],[448,449],[449,346],[346,448],[356,264],[264,454],[454,356],[337,336],[336,299],[299,337],[337,338],[338,151],[151,337],[294,278],[278,455],[455,294],[308,292],[292,415],[415,308],[429,358],[358,355],[355,429],[265,340],[340,372],[372,265],[352,346],[346,280],[280,352],[295,442],[442,282],[282,295],[354,19],[19,370],[370,354],[285,441],[441,295],[295,285],[195,248],[248,197],[197,195],[457,440],[440,274],[274,457],[301,300],[300,368],[368,301],[417,351],[351,465],[465,417],[251,301],[301,389],[389,251],[394,395],[395,379],[379,394],[399,412],[412,419],[419,399],[410,436],[436,322],[322,410],[326,2],[2,393],[393,326],[354,370],[370,461],[461,354],[393,164],[164,267],[267,393],[268,302],[302,12],[12,268],[312,268],[268,13],[13,312],[298,293],[293,301],[301,298],[265,446],[446,340],[340,265],[280,330],[330,425],[425,280],[322,426],[426,391],[391,322],[420,429],[429,437],[437,420],[393,391],[391,326],[326,393],[344,440],[440,438],[438,344],[458,459],[459,461],[461,458],[364,434],[434,394],[394,364],[428,396],[396,262],[262,428],[274,354],[354,457],[457,274],[317,316],[316,402],[402,317],[316,315],[315,403],[403,316],[315,314],[314,404],[404,315],[314,313],[313,405],[405,314],[313,421],[421,406],[406,313],[323,366],[366,361],[361,323],[292,306],[306,407],[407,292],[306,291],[291,408],[408,306],[291,287],[287,409],[409,291],[287,432],[432,410],[410,287],[427,434],[434,411],[411,427],[372,264],[264,383],[383,372],[459,309],[309,457],[457,459],[366,352],[352,401],[401,366],[1,274],[274,4],[4,1],[418,421],[421,262],[262,418],[331,294],[294,358],[358,331],[435,433],[433,367],[367,435],[392,289],[289,439],[439,392],[328,462],[462,326],[326,328],[94,2],[2,370],[370,94],[289,305],[305,455],[455,289],[339,254],[254,448],[448,339],[359,255],[255,446],[446,359],[254,253],[253,449],[449,254],[253,252],[252,450],[450,253],[252,256],[256,451],[451,252],[256,341],[341,452],[452,256],[414,413],[413,463],[463,414],[286,441],[441,414],[414,286],[286,258],[258,441],[441,286],[258,257],[257,442],[442,258],[257,259],[259,443],[443,257],[259,260],[260,444],[444,259],[260,467],[467,445],[445,260],[309,459],[459,250],[250,309],[305,289],[289,290],[290,305],[305,290],[290,460],[460,305],[401,376],[376,435],[435,401],[309,250],[250,392],[392,309],[376,411],[411,433],[433,376],[453,341],[341,464],[464,453],[357,453],[453,465],[465,357],[343,357],[357,412],[412,343],[437,343],[343,399],[399,437],[344,360],[360,440],[440,344],[420,437],[437,456],[456,420],[360,420],[420,363],[363,360],[361,401],[401,288],[288,361],[265,372],[372,353],[353,265],[390,339],[339,249],[249,390],[339,448],[448,255],[255,339]])}).call(this)},129:function(e){e.exports=function(){"use strict";function e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function t(t){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?e(Object(r),!0).forEach((function(e){var n,i,o;n=t,i=e,o=r[e],(i=a(i))in n?Object.defineProperty(n,i,{value:o,enumerable:!0,configurable:!0,writable:!0}):n[i]=o})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):e(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return 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},n(e)}function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,a(r.key),r)}}function i(e){return function(e){if(Array.isArray(e))return o(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return o(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?o(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function a(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}var s="undefined"!=typeof window&&void 0!==window.document,l=s?window:{},c=!(!s||!l.document.documentElement)&&"ontouchstart"in l.document.documentElement,u=!!s&&"PointerEvent"in l,d="cropper",h="all",p="crop",m="move",f="zoom",g="e",y="w",v="s",b="n",k="ne",w="nw",S="se",C="sw",P="".concat(d,"-crop"),A="".concat(d,"-disabled"),x="".concat(d,"-hidden"),T="".concat(d,"-hide"),R="".concat(d,"-invisible"),E="".concat(d,"-modal"),_="".concat(d,"-move"),I="".concat(d,"Action"),F="".concat(d,"Preview"),L="crop",O="move",M="none",D="crop",G="cropend",B="cropmove",N="cropstart",j="dblclick",z=u?"pointerdown":c?"touchstart":"mousedown",W=u?"pointermove":c?"touchmove":"mousemove",U=u?"pointerup pointercancel":c?"touchend touchcancel":"mouseup",H="ready",Y="resize",q="wheel",J="zoom",V="image/jpeg",$=/^e|w|s|n|se|sw|ne|nw|all|crop|move|zoom$/,K=/^data:/,Z=/^data:image\/jpeg;base64,/,X=/^img|canvas$/i,Q={viewMode:0,dragMode:L,initialAspectRatio:NaN,aspectRatio:NaN,data:null,preview:"",responsive:!0,restore:!0,checkCrossOrigin:!0,checkOrientation:!0,modal:!0,guides:!0,center:!0,highlight:!0,background:!0,autoCrop:!0,autoCropArea:.8,movable:!0,rotatable:!0,scalable:!0,zoomable:!0,zoomOnTouch:!0,zoomOnWheel:!0,wheelZoomRatio:.1,cropBoxMovable:!0,cropBoxResizable:!0,toggleDragModeOnDblclick:!0,minCanvasWidth:0,minCanvasHeight:0,minCropBoxWidth:0,minCropBoxHeight:0,minContainerWidth:200,minContainerHeight:100,ready:null,cropstart:null,cropmove:null,cropend:null,crop:null,zoom:null},ee=Number.isNaN||l.isNaN;function te(e){return"number"==typeof e&&!ee(e)}var ne=function(e){return e>0&&e<1/0};function re(e){return void 0===e}function ie(e){return"object"===n(e)&&null!==e}var oe=Object.prototype.hasOwnProperty;function ae(e){if(!ie(e))return!1;try{var t=e.constructor,n=t.prototype;return t&&n&&oe.call(n,"isPrototypeOf")}catch(e){return!1}}function se(e){return"function"==typeof e}var le=Array.prototype.slice;function ce(e){return Array.from?Array.from(e):le.call(e)}function ue(e,t){return e&&se(t)&&(Array.isArray(e)||te(e.length)?ce(e).forEach((function(n,r){t.call(e,n,r,e)})):ie(e)&&Object.keys(e).forEach((function(n){t.call(e,e[n],n,e)}))),e}var de=Object.assign||function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return ie(e)&&n.length>0&&n.forEach((function(t){ie(t)&&Object.keys(t).forEach((function(n){e[n]=t[n]}))})),e},he=/\.\d*(?:0|9){12}\d*$/;function pe(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e11;return he.test(e)?Math.round(e*t)/t:e}var me=/^width|height|left|top|marginLeft|marginTop$/;function fe(e,t){var n=e.style;ue(t,(function(e,t){me.test(t)&&te(e)&&(e="".concat(e,"px")),n[t]=e}))}function ge(e,t){if(t)if(te(e.length))ue(e,(function(e){ge(e,t)}));else if(e.classList)e.classList.add(t);else{var n=e.className.trim();n?n.indexOf(t)<0&&(e.className="".concat(n," ").concat(t)):e.className=t}}function ye(e,t){t&&(te(e.length)?ue(e,(function(e){ye(e,t)})):e.classList?e.classList.remove(t):e.className.indexOf(t)>=0&&(e.className=e.className.replace(t,"")))}function ve(e,t,n){t&&(te(e.length)?ue(e,(function(e){ve(e,t,n)})):n?ge(e,t):ye(e,t))}var be=/([a-z\d])([A-Z])/g;function ke(e){return e.replace(be,"$1-$2").toLowerCase()}function we(e,t){return ie(e[t])?e[t]:e.dataset?e.dataset[t]:e.getAttribute("data-".concat(ke(t)))}function Se(e,t,n){ie(n)?e[t]=n:e.dataset?e.dataset[t]=n:e.setAttribute("data-".concat(ke(t)),n)}var Ce=/\s\s*/,Pe=function(){var e=!1;if(s){var t=!1,n=function(){},r=Object.defineProperty({},"once",{get:function(){return e=!0,t},set:function(e){t=e}});l.addEventListener("test",n,r),l.removeEventListener("test",n,r)}return e}();function Ae(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},i=n;t.trim().split(Ce).forEach((function(t){if(!Pe){var o=e.listeners;o&&o[t]&&o[t][n]&&(i=o[t][n],delete o[t][n],0===Object.keys(o[t]).length&&delete o[t],0===Object.keys(o).length&&delete e.listeners)}e.removeEventListener(t,i,r)}))}function xe(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},i=n;t.trim().split(Ce).forEach((function(t){if(r.once&&!Pe){var o=e.listeners,a=void 0===o?{}:o;i=function(){delete a[t][n],e.removeEventListener(t,i,r);for(var o=arguments.length,s=new Array(o),l=0;l<o;l++)s[l]=arguments[l];n.apply(e,s)},a[t]||(a[t]={}),a[t][n]&&e.removeEventListener(t,a[t][n],r),a[t][n]=i,e.listeners=a}e.addEventListener(t,i,r)}))}function Te(e,t,n){var r;return se(Event)&&se(CustomEvent)?r=new CustomEvent(t,{detail:n,bubbles:!0,cancelable:!0}):(r=document.createEvent("CustomEvent")).initCustomEvent(t,!0,!0,n),e.dispatchEvent(r)}function Re(e){var t=e.getBoundingClientRect();return{left:t.left+(window.pageXOffset-document.documentElement.clientLeft),top:t.top+(window.pageYOffset-document.documentElement.clientTop)}}var Ee=l.location,_e=/^(\w+:)\/\/([^:/?#]*):?(\d*)/i;function Ie(e){var t=e.match(_e);return null!==t&&(t[1]!==Ee.protocol||t[2]!==Ee.hostname||t[3]!==Ee.port)}function Fe(e){var t="timestamp=".concat((new Date).getTime());return e+(-1===e.indexOf("?")?"?":"&")+t}function Le(e){var t=e.rotate,n=e.scaleX,r=e.scaleY,i=e.translateX,o=e.translateY,a=[];te(i)&&0!==i&&a.push("translateX(".concat(i,"px)")),te(o)&&0!==o&&a.push("translateY(".concat(o,"px)")),te(t)&&0!==t&&a.push("rotate(".concat(t,"deg)")),te(n)&&1!==n&&a.push("scaleX(".concat(n,")")),te(r)&&1!==r&&a.push("scaleY(".concat(r,")"));var s=a.length?a.join(" "):"none";return{WebkitTransform:s,msTransform:s,transform:s}}function Oe(e,n){var r=e.pageX,i=e.pageY,o={endX:r,endY:i};return n?o:t({startX:r,startY:i},o)}function Me(e){var t=e.aspectRatio,n=e.height,r=e.width,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"contain",o=ne(r),a=ne(n);if(o&&a){var s=n*t;"contain"===i&&s>r||"cover"===i&&s<r?n=r/t:r=n*t}else o?n=r/t:a&&(r=n*t);return{width:r,height:n}}var De=String.fromCharCode;var Ge=/^data:.*,/;function Be(e){var t,n=new DataView(e);try{var r,i,o;if(255===n.getUint8(0)&&216===n.getUint8(1))for(var a=n.byteLength,s=2;s+1<a;){if(255===n.getUint8(s)&&225===n.getUint8(s+1)){i=s;break}s+=1}if(i){var l=i+10;if("Exif"===function(e,t,n){var r="";n+=t;for(var i=t;i<n;i+=1)r+=De(e.getUint8(i));return r}(n,i+4,4)){var c=n.getUint16(l);if(((r=18761===c)||19789===c)&&42===n.getUint16(l+2,r)){var u=n.getUint32(l+4,r);u>=8&&(o=l+u)}}}if(o){var d,h,p=n.getUint16(o,r);for(h=0;h<p;h+=1)if(d=o+12*h+2,274===n.getUint16(d,r)){d+=8,t=n.getUint16(d,r),n.setUint16(d,1,r);break}}}catch(e){t=1}return t}var Ne={render:function(){this.initContainer(),this.initCanvas(),this.initCropBox(),this.renderCanvas(),this.cropped&&this.renderCropBox()},initContainer:function(){var e=this.element,t=this.options,n=this.container,r=this.cropper,i=Number(t.minContainerWidth),o=Number(t.minContainerHeight);ge(r,x),ye(e,x);var a={width:Math.max(n.offsetWidth,i>=0?i:200),height:Math.max(n.offsetHeight,o>=0?o:100)};this.containerData=a,fe(r,{width:a.width,height:a.height}),ge(e,x),ye(r,x)},initCanvas:function(){var e=this.containerData,t=this.imageData,n=this.options.viewMode,r=Math.abs(t.rotate)%180==90,i=r?t.naturalHeight:t.naturalWidth,o=r?t.naturalWidth:t.naturalHeight,a=i/o,s=e.width,l=e.height;e.height*a>e.width?3===n?s=e.height*a:l=e.width/a:3===n?l=e.width/a:s=e.height*a;var c={aspectRatio:a,naturalWidth:i,naturalHeight:o,width:s,height:l};this.canvasData=c,this.limited=1===n||2===n,this.limitCanvas(!0,!0),c.width=Math.min(Math.max(c.width,c.minWidth),c.maxWidth),c.height=Math.min(Math.max(c.height,c.minHeight),c.maxHeight),c.left=(e.width-c.width)/2,c.top=(e.height-c.height)/2,c.oldLeft=c.left,c.oldTop=c.top,this.initialCanvasData=de({},c)},limitCanvas:function(e,t){var n=this.options,r=this.containerData,i=this.canvasData,o=this.cropBoxData,a=n.viewMode,s=i.aspectRatio,l=this.cropped&&o;if(e){var c=Number(n.minCanvasWidth)||0,u=Number(n.minCanvasHeight)||0;a>1?(c=Math.max(c,r.width),u=Math.max(u,r.height),3===a&&(u*s>c?c=u*s:u=c/s)):a>0&&(c?c=Math.max(c,l?o.width:0):u?u=Math.max(u,l?o.height:0):l&&(c=o.width,(u=o.height)*s>c?c=u*s:u=c/s));var d=Me({aspectRatio:s,width:c,height:u});c=d.width,u=d.height,i.minWidth=c,i.minHeight=u,i.maxWidth=1/0,i.maxHeight=1/0}if(t)if(a>(l?0:1)){var h=r.width-i.width,p=r.height-i.height;i.minLeft=Math.min(0,h),i.minTop=Math.min(0,p),i.maxLeft=Math.max(0,h),i.maxTop=Math.max(0,p),l&&this.limited&&(i.minLeft=Math.min(o.left,o.left+(o.width-i.width)),i.minTop=Math.min(o.top,o.top+(o.height-i.height)),i.maxLeft=o.left,i.maxTop=o.top,2===a&&(i.width>=r.width&&(i.minLeft=Math.min(0,h),i.maxLeft=Math.max(0,h)),i.height>=r.height&&(i.minTop=Math.min(0,p),i.maxTop=Math.max(0,p))))}else i.minLeft=-i.width,i.minTop=-i.height,i.maxLeft=r.width,i.maxTop=r.height},renderCanvas:function(e,t){var n=this.canvasData,r=this.imageData;if(t){var i=function(e){var t=e.width,n=e.height,r=e.degree;if(90==(r=Math.abs(r)%180))return{width:n,height:t};var i=r%90*Math.PI/180,o=Math.sin(i),a=Math.cos(i),s=t*a+n*o,l=t*o+n*a;return r>90?{width:l,height:s}:{width:s,height:l}}({width:r.naturalWidth*Math.abs(r.scaleX||1),height:r.naturalHeight*Math.abs(r.scaleY||1),degree:r.rotate||0}),o=i.width,a=i.height,s=n.width*(o/n.naturalWidth),l=n.height*(a/n.naturalHeight);n.left-=(s-n.width)/2,n.top-=(l-n.height)/2,n.width=s,n.height=l,n.aspectRatio=o/a,n.naturalWidth=o,n.naturalHeight=a,this.limitCanvas(!0,!1)}(n.width>n.maxWidth||n.width<n.minWidth)&&(n.left=n.oldLeft),(n.height>n.maxHeight||n.height<n.minHeight)&&(n.top=n.oldTop),n.width=Math.min(Math.max(n.width,n.minWidth),n.maxWidth),n.height=Math.min(Math.max(n.height,n.minHeight),n.maxHeight),this.limitCanvas(!1,!0),n.left=Math.min(Math.max(n.left,n.minLeft),n.maxLeft),n.top=Math.min(Math.max(n.top,n.minTop),n.maxTop),n.oldLeft=n.left,n.oldTop=n.top,fe(this.canvas,de({width:n.width,height:n.height},Le({translateX:n.left,translateY:n.top}))),this.renderImage(e),this.cropped&&this.limited&&this.limitCropBox(!0,!0)},renderImage:function(e){var t=this.canvasData,n=this.imageData,r=n.naturalWidth*(t.width/t.naturalWidth),i=n.naturalHeight*(t.height/t.naturalHeight);de(n,{width:r,height:i,left:(t.width-r)/2,top:(t.height-i)/2}),fe(this.image,de({width:n.width,height:n.height},Le(de({translateX:n.left,translateY:n.top},n)))),e&&this.output()},initCropBox:function(){var e=this.options,t=this.canvasData,n=e.aspectRatio||e.initialAspectRatio,r=Number(e.autoCropArea)||.8,i={width:t.width,height:t.height};n&&(t.height*n>t.width?i.height=i.width/n:i.width=i.height*n),this.cropBoxData=i,this.limitCropBox(!0,!0),i.width=Math.min(Math.max(i.width,i.minWidth),i.maxWidth),i.height=Math.min(Math.max(i.height,i.minHeight),i.maxHeight),i.width=Math.max(i.minWidth,i.width*r),i.height=Math.max(i.minHeight,i.height*r),i.left=t.left+(t.width-i.width)/2,i.top=t.top+(t.height-i.height)/2,i.oldLeft=i.left,i.oldTop=i.top,this.initialCropBoxData=de({},i)},limitCropBox:function(e,t){var n=this.options,r=this.containerData,i=this.canvasData,o=this.cropBoxData,a=this.limited,s=n.aspectRatio;if(e){var l=Number(n.minCropBoxWidth)||0,c=Number(n.minCropBoxHeight)||0,u=a?Math.min(r.width,i.width,i.width+i.left,r.width-i.left):r.width,d=a?Math.min(r.height,i.height,i.height+i.top,r.height-i.top):r.height;l=Math.min(l,r.width),c=Math.min(c,r.height),s&&(l&&c?c*s>l?c=l/s:l=c*s:l?c=l/s:c&&(l=c*s),d*s>u?d=u/s:u=d*s),o.minWidth=Math.min(l,u),o.minHeight=Math.min(c,d),o.maxWidth=u,o.maxHeight=d}t&&(a?(o.minLeft=Math.max(0,i.left),o.minTop=Math.max(0,i.top),o.maxLeft=Math.min(r.width,i.left+i.width)-o.width,o.maxTop=Math.min(r.height,i.top+i.height)-o.height):(o.minLeft=0,o.minTop=0,o.maxLeft=r.width-o.width,o.maxTop=r.height-o.height))},renderCropBox:function(){var e=this.options,t=this.containerData,n=this.cropBoxData;(n.width>n.maxWidth||n.width<n.minWidth)&&(n.left=n.oldLeft),(n.height>n.maxHeight||n.height<n.minHeight)&&(n.top=n.oldTop),n.width=Math.min(Math.max(n.width,n.minWidth),n.maxWidth),n.height=Math.min(Math.max(n.height,n.minHeight),n.maxHeight),this.limitCropBox(!1,!0),n.left=Math.min(Math.max(n.left,n.minLeft),n.maxLeft),n.top=Math.min(Math.max(n.top,n.minTop),n.maxTop),n.oldLeft=n.left,n.oldTop=n.top,e.movable&&e.cropBoxMovable&&Se(this.face,I,n.width>=t.width&&n.height>=t.height?m:h),fe(this.cropBox,de({width:n.width,height:n.height},Le({translateX:n.left,translateY:n.top}))),this.cropped&&this.limited&&this.limitCanvas(!0,!0),this.disabled||this.output()},output:function(){this.preview(),Te(this.element,D,this.getData())}},je={initPreview:function(){var e=this.element,t=this.crossOrigin,n=this.options.preview,r=t?this.crossOriginUrl:this.url,i=e.alt||"The image to preview",o=document.createElement("img");if(t&&(o.crossOrigin=t),o.src=r,o.alt=i,this.viewBox.appendChild(o),this.viewBoxImage=o,n){var a=n;"string"==typeof n?a=e.ownerDocument.querySelectorAll(n):n.querySelector&&(a=[n]),this.previews=a,ue(a,(function(e){var n=document.createElement("img");Se(e,F,{width:e.offsetWidth,height:e.offsetHeight,html:e.innerHTML}),t&&(n.crossOrigin=t),n.src=r,n.alt=i,n.style.cssText='display:block;width:100%;height:auto;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;image-orientation:0deg!important;"',e.innerHTML="",e.appendChild(n)}))}},resetPreview:function(){ue(this.previews,(function(e){var t=we(e,F);fe(e,{width:t.width,height:t.height}),e.innerHTML=t.html,function(e,t){if(ie(e[t]))try{delete e[t]}catch(n){e[t]=void 0}else if(e.dataset)try{delete e.dataset[t]}catch(n){e.dataset[t]=void 0}else e.removeAttribute("data-".concat(ke(t)))}(e,F)}))},preview:function(){var e=this.imageData,t=this.canvasData,n=this.cropBoxData,r=n.width,i=n.height,o=e.width,a=e.height,s=n.left-t.left-e.left,l=n.top-t.top-e.top;this.cropped&&!this.disabled&&(fe(this.viewBoxImage,de({width:o,height:a},Le(de({translateX:-s,translateY:-l},e)))),ue(this.previews,(function(t){var n=we(t,F),c=n.width,u=n.height,d=c,h=u,p=1;r&&(h=i*(p=c/r)),i&&h>u&&(d=r*(p=u/i),h=u),fe(t,{width:d,height:h}),fe(t.getElementsByTagName("img")[0],de({width:o*p,height:a*p},Le(de({translateX:-s*p,translateY:-l*p},e))))})))}},ze={bind:function(){var e=this.element,t=this.options,n=this.cropper;se(t.cropstart)&&xe(e,N,t.cropstart),se(t.cropmove)&&xe(e,B,t.cropmove),se(t.cropend)&&xe(e,G,t.cropend),se(t.crop)&&xe(e,D,t.crop),se(t.zoom)&&xe(e,J,t.zoom),xe(n,z,this.onCropStart=this.cropStart.bind(this)),t.zoomable&&t.zoomOnWheel&&xe(n,q,this.onWheel=this.wheel.bind(this),{passive:!1,capture:!0}),t.toggleDragModeOnDblclick&&xe(n,j,this.onDblclick=this.dblclick.bind(this)),xe(e.ownerDocument,W,this.onCropMove=this.cropMove.bind(this)),xe(e.ownerDocument,U,this.onCropEnd=this.cropEnd.bind(this)),t.responsive&&xe(window,Y,this.onResize=this.resize.bind(this))},unbind:function(){var e=this.element,t=this.options,n=this.cropper;se(t.cropstart)&&Ae(e,N,t.cropstart),se(t.cropmove)&&Ae(e,B,t.cropmove),se(t.cropend)&&Ae(e,G,t.cropend),se(t.crop)&&Ae(e,D,t.crop),se(t.zoom)&&Ae(e,J,t.zoom),Ae(n,z,this.onCropStart),t.zoomable&&t.zoomOnWheel&&Ae(n,q,this.onWheel,{passive:!1,capture:!0}),t.toggleDragModeOnDblclick&&Ae(n,j,this.onDblclick),Ae(e.ownerDocument,W,this.onCropMove),Ae(e.ownerDocument,U,this.onCropEnd),t.responsive&&Ae(window,Y,this.onResize)}},We={resize:function(){if(!this.disabled){var e,t,n=this.options,r=this.container,i=this.containerData,o=r.offsetWidth/i.width,a=r.offsetHeight/i.height,s=Math.abs(o-1)>Math.abs(a-1)?o:a;1!==s&&(n.restore&&(e=this.getCanvasData(),t=this.getCropBoxData()),this.render(),n.restore&&(this.setCanvasData(ue(e,(function(t,n){e[n]=t*s}))),this.setCropBoxData(ue(t,(function(e,n){t[n]=e*s})))))}},dblclick:function(){var e,t;this.disabled||this.options.dragMode===M||this.setDragMode((e=this.dragBox,t=P,(e.classList?e.classList.contains(t):e.className.indexOf(t)>-1)?O:L))},wheel:function(e){var t=this,n=Number(this.options.wheelZoomRatio)||.1,r=1;this.disabled||(e.preventDefault(),this.wheeling||(this.wheeling=!0,setTimeout((function(){t.wheeling=!1}),50),e.deltaY?r=e.deltaY>0?1:-1:e.wheelDelta?r=-e.wheelDelta/120:e.detail&&(r=e.detail>0?1:-1),this.zoom(-r*n,e)))},cropStart:function(e){var t=e.buttons,n=e.button;if(!(this.disabled||("mousedown"===e.type||"pointerdown"===e.type&&"mouse"===e.pointerType)&&(te(t)&&1!==t||te(n)&&0!==n||e.ctrlKey))){var r,i=this.options,o=this.pointers;e.changedTouches?ue(e.changedTouches,(function(e){o[e.identifier]=Oe(e)})):o[e.pointerId||0]=Oe(e),r=Object.keys(o).length>1&&i.zoomable&&i.zoomOnTouch?f:we(e.target,I),$.test(r)&&!1!==Te(this.element,N,{originalEvent:e,action:r})&&(e.preventDefault(),this.action=r,this.cropping=!1,r===p&&(this.cropping=!0,ge(this.dragBox,E)))}},cropMove:function(e){var t=this.action;if(!this.disabled&&t){var n=this.pointers;e.preventDefault(),!1!==Te(this.element,B,{originalEvent:e,action:t})&&(e.changedTouches?ue(e.changedTouches,(function(e){de(n[e.identifier]||{},Oe(e,!0))})):de(n[e.pointerId||0]||{},Oe(e,!0)),this.change(e))}},cropEnd:function(e){if(!this.disabled){var t=this.action,n=this.pointers;e.changedTouches?ue(e.changedTouches,(function(e){delete n[e.identifier]})):delete n[e.pointerId||0],t&&(e.preventDefault(),Object.keys(n).length||(this.action=""),this.cropping&&(this.cropping=!1,ve(this.dragBox,E,this.cropped&&this.options.modal)),Te(this.element,G,{originalEvent:e,action:t}))}}},Ue={change:function(e){var n,r=this.options,i=this.canvasData,o=this.containerData,a=this.cropBoxData,s=this.pointers,l=this.action,c=r.aspectRatio,u=a.left,d=a.top,P=a.width,A=a.height,T=u+P,R=d+A,E=0,_=0,I=o.width,F=o.height,L=!0;!c&&e.shiftKey&&(c=P&&A?P/A:1),this.limited&&(E=a.minLeft,_=a.minTop,I=E+Math.min(o.width,i.width,i.left+i.width),F=_+Math.min(o.height,i.height,i.top+i.height));var O=s[Object.keys(s)[0]],M={x:O.endX-O.startX,y:O.endY-O.startY},D=function(e){switch(e){case g:T+M.x>I&&(M.x=I-T);break;case y:u+M.x<E&&(M.x=E-u);break;case b:d+M.y<_&&(M.y=_-d);break;case v:R+M.y>F&&(M.y=F-R)}};switch(l){case h:u+=M.x,d+=M.y;break;case g:if(M.x>=0&&(T>=I||c&&(d<=_||R>=F))){L=!1;break}D(g),(P+=M.x)<0&&(l=y,u-=P=-P),c&&(A=P/c,d+=(a.height-A)/2);break;case b:if(M.y<=0&&(d<=_||c&&(u<=E||T>=I))){L=!1;break}D(b),A-=M.y,d+=M.y,A<0&&(l=v,d-=A=-A),c&&(P=A*c,u+=(a.width-P)/2);break;case y:if(M.x<=0&&(u<=E||c&&(d<=_||R>=F))){L=!1;break}D(y),P-=M.x,u+=M.x,P<0&&(l=g,u-=P=-P),c&&(A=P/c,d+=(a.height-A)/2);break;case v:if(M.y>=0&&(R>=F||c&&(u<=E||T>=I))){L=!1;break}D(v),(A+=M.y)<0&&(l=b,d-=A=-A),c&&(P=A*c,u+=(a.width-P)/2);break;case k:if(c){if(M.y<=0&&(d<=_||T>=I)){L=!1;break}D(b),A-=M.y,d+=M.y,P=A*c}else D(b),D(g),M.x>=0?T<I?P+=M.x:M.y<=0&&d<=_&&(L=!1):P+=M.x,M.y<=0?d>_&&(A-=M.y,d+=M.y):(A-=M.y,d+=M.y);P<0&&A<0?(l=C,d-=A=-A,u-=P=-P):P<0?(l=w,u-=P=-P):A<0&&(l=S,d-=A=-A);break;case w:if(c){if(M.y<=0&&(d<=_||u<=E)){L=!1;break}D(b),A-=M.y,d+=M.y,P=A*c,u+=a.width-P}else D(b),D(y),M.x<=0?u>E?(P-=M.x,u+=M.x):M.y<=0&&d<=_&&(L=!1):(P-=M.x,u+=M.x),M.y<=0?d>_&&(A-=M.y,d+=M.y):(A-=M.y,d+=M.y);P<0&&A<0?(l=S,d-=A=-A,u-=P=-P):P<0?(l=k,u-=P=-P):A<0&&(l=C,d-=A=-A);break;case C:if(c){if(M.x<=0&&(u<=E||R>=F)){L=!1;break}D(y),P-=M.x,u+=M.x,A=P/c}else D(v),D(y),M.x<=0?u>E?(P-=M.x,u+=M.x):M.y>=0&&R>=F&&(L=!1):(P-=M.x,u+=M.x),M.y>=0?R<F&&(A+=M.y):A+=M.y;P<0&&A<0?(l=k,d-=A=-A,u-=P=-P):P<0?(l=S,u-=P=-P):A<0&&(l=w,d-=A=-A);break;case S:if(c){if(M.x>=0&&(T>=I||R>=F)){L=!1;break}D(g),A=(P+=M.x)/c}else D(v),D(g),M.x>=0?T<I?P+=M.x:M.y>=0&&R>=F&&(L=!1):P+=M.x,M.y>=0?R<F&&(A+=M.y):A+=M.y;P<0&&A<0?(l=w,d-=A=-A,u-=P=-P):P<0?(l=C,u-=P=-P):A<0&&(l=k,d-=A=-A);break;case m:this.move(M.x,M.y),L=!1;break;case f:this.zoom(function(e){var n=t({},e),r=0;return ue(e,(function(e,t){delete n[t],ue(n,(function(t){var n=Math.abs(e.startX-t.startX),i=Math.abs(e.startY-t.startY),o=Math.abs(e.endX-t.endX),a=Math.abs(e.endY-t.endY),s=Math.sqrt(n*n+i*i),l=(Math.sqrt(o*o+a*a)-s)/s;Math.abs(l)>Math.abs(r)&&(r=l)}))})),r}(s),e),L=!1;break;case p:if(!M.x||!M.y){L=!1;break}n=Re(this.cropper),u=O.startX-n.left,d=O.startY-n.top,P=a.minWidth,A=a.minHeight,M.x>0?l=M.y>0?S:k:M.x<0&&(u-=P,l=M.y>0?C:w),M.y<0&&(d-=A),this.cropped||(ye(this.cropBox,x),this.cropped=!0,this.limited&&this.limitCropBox(!0,!0))}L&&(a.width=P,a.height=A,a.left=u,a.top=d,this.action=l,this.renderCropBox()),ue(s,(function(e){e.startX=e.endX,e.startY=e.endY}))}},He={crop:function(){return!this.ready||this.cropped||this.disabled||(this.cropped=!0,this.limitCropBox(!0,!0),this.options.modal&&ge(this.dragBox,E),ye(this.cropBox,x),this.setCropBoxData(this.initialCropBoxData)),this},reset:function(){return this.ready&&!this.disabled&&(this.imageData=de({},this.initialImageData),this.canvasData=de({},this.initialCanvasData),this.cropBoxData=de({},this.initialCropBoxData),this.renderCanvas(),this.cropped&&this.renderCropBox()),this},clear:function(){return this.cropped&&!this.disabled&&(de(this.cropBoxData,{left:0,top:0,width:0,height:0}),this.cropped=!1,this.renderCropBox(),this.limitCanvas(!0,!0),this.renderCanvas(),ye(this.dragBox,E),ge(this.cropBox,x)),this},replace:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return!this.disabled&&e&&(this.isImg&&(this.element.src=e),t?(this.url=e,this.image.src=e,this.ready&&(this.viewBoxImage.src=e,ue(this.previews,(function(t){t.getElementsByTagName("img")[0].src=e})))):(this.isImg&&(this.replaced=!0),this.options.data=null,this.uncreate(),this.load(e))),this},enable:function(){return this.ready&&this.disabled&&(this.disabled=!1,ye(this.cropper,A)),this},disable:function(){return this.ready&&!this.disabled&&(this.disabled=!0,ge(this.cropper,A)),this},destroy:function(){var e=this.element;return e[d]?(e[d]=void 0,this.isImg&&this.replaced&&(e.src=this.originalUrl),this.uncreate(),this):this},move:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,n=this.canvasData,r=n.left,i=n.top;return this.moveTo(re(e)?e:r+Number(e),re(t)?t:i+Number(t))},moveTo:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,n=this.canvasData,r=!1;return e=Number(e),t=Number(t),this.ready&&!this.disabled&&this.options.movable&&(te(e)&&(n.left=e,r=!0),te(t)&&(n.top=t,r=!0),r&&this.renderCanvas(!0)),this},zoom:function(e,t){var n=this.canvasData;return e=(e=Number(e))<0?1/(1-e):1+e,this.zoomTo(n.width*e/n.naturalWidth,null,t)},zoomTo:function(e,t,n){var r=this.options,i=this.canvasData,o=i.width,a=i.height,s=i.naturalWidth,l=i.naturalHeight;if((e=Number(e))>=0&&this.ready&&!this.disabled&&r.zoomable){var c=s*e,u=l*e;if(!1===Te(this.element,J,{ratio:e,oldRatio:o/s,originalEvent:n}))return this;if(n){var d=this.pointers,h=Re(this.cropper),p=d&&Object.keys(d).length?function(e){var t=0,n=0,r=0;return ue(e,(function(e){var i=e.startX,o=e.startY;t+=i,n+=o,r+=1})),{pageX:t/=r,pageY:n/=r}}(d):{pageX:n.pageX,pageY:n.pageY};i.left-=(c-o)*((p.pageX-h.left-i.left)/o),i.top-=(u-a)*((p.pageY-h.top-i.top)/a)}else ae(t)&&te(t.x)&&te(t.y)?(i.left-=(c-o)*((t.x-i.left)/o),i.top-=(u-a)*((t.y-i.top)/a)):(i.left-=(c-o)/2,i.top-=(u-a)/2);i.width=c,i.height=u,this.renderCanvas(!0)}return this},rotate:function(e){return this.rotateTo((this.imageData.rotate||0)+Number(e))},rotateTo:function(e){return te(e=Number(e))&&this.ready&&!this.disabled&&this.options.rotatable&&(this.imageData.rotate=e%360,this.renderCanvas(!0,!0)),this},scaleX:function(e){var t=this.imageData.scaleY;return this.scale(e,te(t)?t:1)},scaleY:function(e){var t=this.imageData.scaleX;return this.scale(te(t)?t:1,e)},scale:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,n=this.imageData,r=!1;return e=Number(e),t=Number(t),this.ready&&!this.disabled&&this.options.scalable&&(te(e)&&(n.scaleX=e,r=!0),te(t)&&(n.scaleY=t,r=!0),r&&this.renderCanvas(!0,!0)),this},getData:function(){var e,t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],n=this.options,r=this.imageData,i=this.canvasData,o=this.cropBoxData;if(this.ready&&this.cropped){e={x:o.left-i.left,y:o.top-i.top,width:o.width,height:o.height};var a=r.width/r.naturalWidth;if(ue(e,(function(t,n){e[n]=t/a})),t){var s=Math.round(e.y+e.height),l=Math.round(e.x+e.width);e.x=Math.round(e.x),e.y=Math.round(e.y),e.width=l-e.x,e.height=s-e.y}}else e={x:0,y:0,width:0,height:0};return n.rotatable&&(e.rotate=r.rotate||0),n.scalable&&(e.scaleX=r.scaleX||1,e.scaleY=r.scaleY||1),e},setData:function(e){var t=this.options,n=this.imageData,r=this.canvasData,i={};if(this.ready&&!this.disabled&&ae(e)){var o=!1;t.rotatable&&te(e.rotate)&&e.rotate!==n.rotate&&(n.rotate=e.rotate,o=!0),t.scalable&&(te(e.scaleX)&&e.scaleX!==n.scaleX&&(n.scaleX=e.scaleX,o=!0),te(e.scaleY)&&e.scaleY!==n.scaleY&&(n.scaleY=e.scaleY,o=!0)),o&&this.renderCanvas(!0,!0);var a=n.width/n.naturalWidth;te(e.x)&&(i.left=e.x*a+r.left),te(e.y)&&(i.top=e.y*a+r.top),te(e.width)&&(i.width=e.width*a),te(e.height)&&(i.height=e.height*a),this.setCropBoxData(i)}return this},getContainerData:function(){return this.ready?de({},this.containerData):{}},getImageData:function(){return this.sized?de({},this.imageData):{}},getCanvasData:function(){var e=this.canvasData,t={};return this.ready&&ue(["left","top","width","height","naturalWidth","naturalHeight"],(function(n){t[n]=e[n]})),t},setCanvasData:function(e){var t=this.canvasData,n=t.aspectRatio;return this.ready&&!this.disabled&&ae(e)&&(te(e.left)&&(t.left=e.left),te(e.top)&&(t.top=e.top),te(e.width)?(t.width=e.width,t.height=e.width/n):te(e.height)&&(t.height=e.height,t.width=e.height*n),this.renderCanvas(!0)),this},getCropBoxData:function(){var e,t=this.cropBoxData;return this.ready&&this.cropped&&(e={left:t.left,top:t.top,width:t.width,height:t.height}),e||{}},setCropBoxData:function(e){var t,n,r=this.cropBoxData,i=this.options.aspectRatio;return this.ready&&this.cropped&&!this.disabled&&ae(e)&&(te(e.left)&&(r.left=e.left),te(e.top)&&(r.top=e.top),te(e.width)&&e.width!==r.width&&(t=!0,r.width=e.width),te(e.height)&&e.height!==r.height&&(n=!0,r.height=e.height),i&&(t?r.height=r.width/i:n&&(r.width=r.height*i)),this.renderCropBox()),this},getCroppedCanvas:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!this.ready||!window.HTMLCanvasElement)return null;var t=this.canvasData,n=function(e,t,n,r){var o=t.aspectRatio,a=t.naturalWidth,s=t.naturalHeight,l=t.rotate,c=void 0===l?0:l,u=t.scaleX,d=void 0===u?1:u,h=t.scaleY,p=void 0===h?1:h,m=n.aspectRatio,f=n.naturalWidth,g=n.naturalHeight,y=r.fillColor,v=void 0===y?"transparent":y,b=r.imageSmoothingEnabled,k=void 0===b||b,w=r.imageSmoothingQuality,S=void 0===w?"low":w,C=r.maxWidth,P=void 0===C?1/0:C,A=r.maxHeight,x=void 0===A?1/0:A,T=r.minWidth,R=void 0===T?0:T,E=r.minHeight,_=void 0===E?0:E,I=document.createElement("canvas"),F=I.getContext("2d"),L=Me({aspectRatio:m,width:P,height:x}),O=Me({aspectRatio:m,width:R,height:_},"cover"),M=Math.min(L.width,Math.max(O.width,f)),D=Math.min(L.height,Math.max(O.height,g)),G=Me({aspectRatio:o,width:P,height:x}),B=Me({aspectRatio:o,width:R,height:_},"cover"),N=Math.min(G.width,Math.max(B.width,a)),j=Math.min(G.height,Math.max(B.height,s)),z=[-N/2,-j/2,N,j];return I.width=pe(M),I.height=pe(D),F.fillStyle=v,F.fillRect(0,0,M,D),F.save(),F.translate(M/2,D/2),F.rotate(c*Math.PI/180),F.scale(d,p),F.imageSmoothingEnabled=k,F.imageSmoothingQuality=S,F.drawImage.apply(F,[e].concat(i(z.map((function(e){return Math.floor(pe(e))}))))),F.restore(),I}(this.image,this.imageData,t,e);if(!this.cropped)return n;var r=this.getData(e.rounded),o=r.x,a=r.y,s=r.width,l=r.height,c=n.width/Math.floor(t.naturalWidth);1!==c&&(o*=c,a*=c,s*=c,l*=c);var u=s/l,d=Me({aspectRatio:u,width:e.maxWidth||1/0,height:e.maxHeight||1/0}),h=Me({aspectRatio:u,width:e.minWidth||0,height:e.minHeight||0},"cover"),p=Me({aspectRatio:u,width:e.width||(1!==c?n.width:s),height:e.height||(1!==c?n.height:l)}),m=p.width,f=p.height;m=Math.min(d.width,Math.max(h.width,m)),f=Math.min(d.height,Math.max(h.height,f));var g=document.createElement("canvas"),y=g.getContext("2d");g.width=pe(m),g.height=pe(f),y.fillStyle=e.fillColor||"transparent",y.fillRect(0,0,m,f);var v=e.imageSmoothingEnabled,b=void 0===v||v,k=e.imageSmoothingQuality;y.imageSmoothingEnabled=b,k&&(y.imageSmoothingQuality=k);var w,S,C,P,A,x,T=n.width,R=n.height,E=o,_=a;E<=-s||E>T?(E=0,w=0,C=0,A=0):E<=0?(C=-E,E=0,A=w=Math.min(T,s+E)):E<=T&&(C=0,A=w=Math.min(s,T-E)),w<=0||_<=-l||_>R?(_=0,S=0,P=0,x=0):_<=0?(P=-_,_=0,x=S=Math.min(R,l+_)):_<=R&&(P=0,x=S=Math.min(l,R-_));var I=[E,_,w,S];if(A>0&&x>0){var F=m/s;I.push(C*F,P*F,A*F,x*F)}return y.drawImage.apply(y,[n].concat(i(I.map((function(e){return Math.floor(pe(e))}))))),g},setAspectRatio:function(e){var t=this.options;return this.disabled||re(e)||(t.aspectRatio=Math.max(0,e)||NaN,this.ready&&(this.initCropBox(),this.cropped&&this.renderCropBox())),this},setDragMode:function(e){var t=this.options,n=this.dragBox,r=this.face;if(this.ready&&!this.disabled){var i=e===L,o=t.movable&&e===O;e=i||o?e:M,t.dragMode=e,Se(n,I,e),ve(n,P,i),ve(n,_,o),t.cropBoxMovable||(Se(r,I,e),ve(r,P,i),ve(r,_,o))}return this}},Ye=l.Cropper,qe=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),!t||!X.test(t.tagName))throw new Error("The first argument is required and must be an <img> or <canvas> element.");this.element=t,this.options=de({},Q,ae(n)&&n),this.cropped=!1,this.disabled=!1,this.pointers={},this.ready=!1,this.reloading=!1,this.replaced=!1,this.sized=!1,this.sizing=!1,this.init()}return t=e,i=[{key:"noConflict",value:function(){return window.Cropper=Ye,e}},{key:"setDefaults",value:function(e){de(Q,ae(e)&&e)}}],(n=[{key:"init",value:function(){var e,t=this.element,n=t.tagName.toLowerCase();if(!t[d]){if(t[d]=this,"img"===n){if(this.isImg=!0,e=t.getAttribute("src")||"",this.originalUrl=e,!e)return;e=t.src}else"canvas"===n&&window.HTMLCanvasElement&&(e=t.toDataURL());this.load(e)}}},{key:"load",value:function(e){var t,n,r,i,o=this;if(e){this.url=e,this.imageData={};var a=this.element,s=this.options;if(s.rotatable||s.scalable||(s.checkOrientation=!1),s.checkOrientation&&window.ArrayBuffer)if(K.test(e))Z.test(e)?this.read((t=e.replace(Ge,""),n=atob(t),r=new ArrayBuffer(n.length),ue(i=new Uint8Array(r),(function(e,t){i[t]=n.charCodeAt(t)})),r)):this.clone();else{var l=new XMLHttpRequest,c=this.clone.bind(this);this.reloading=!0,this.xhr=l,l.onabort=c,l.onerror=c,l.ontimeout=c,l.onprogress=function(){l.getResponseHeader("content-type")!==V&&l.abort()},l.onload=function(){o.read(l.response)},l.onloadend=function(){o.reloading=!1,o.xhr=null},s.checkCrossOrigin&&Ie(e)&&a.crossOrigin&&(e=Fe(e)),l.open("GET",e,!0),l.responseType="arraybuffer",l.withCredentials="use-credentials"===a.crossOrigin,l.send()}else this.clone()}}},{key:"read",value:function(e){var t=this.options,n=this.imageData,r=Be(e),i=0,o=1,a=1;if(r>1){this.url=function(e,t){for(var n=[],r=new Uint8Array(e);r.length>0;)n.push(De.apply(null,ce(r.subarray(0,8192)))),r=r.subarray(8192);return"data:".concat(t,";base64,").concat(btoa(n.join("")))}(e,V);var s=function(e){var t=0,n=1,r=1;switch(e){case 2:n=-1;break;case 3:t=-180;break;case 4:r=-1;break;case 5:t=90,r=-1;break;case 6:t=90;break;case 7:t=90,n=-1;break;case 8:t=-90}return{rotate:t,scaleX:n,scaleY:r}}(r);i=s.rotate,o=s.scaleX,a=s.scaleY}t.rotatable&&(n.rotate=i),t.scalable&&(n.scaleX=o,n.scaleY=a),this.clone()}},{key:"clone",value:function(){var e=this.element,t=this.url,n=e.crossOrigin,r=t;this.options.checkCrossOrigin&&Ie(t)&&(n||(n="anonymous"),r=Fe(t)),this.crossOrigin=n,this.crossOriginUrl=r;var i=document.createElement("img");n&&(i.crossOrigin=n),i.src=r||t,i.alt=e.alt||"The image to crop",this.image=i,i.onload=this.start.bind(this),i.onerror=this.stop.bind(this),ge(i,T),e.parentNode.insertBefore(i,e.nextSibling)}},{key:"start",value:function(){var e=this,t=this.image;t.onload=null,t.onerror=null,this.sizing=!0;var n=l.navigator&&/(?:iPad|iPhone|iPod).*?AppleWebKit/i.test(l.navigator.userAgent),r=function(t,n){de(e.imageData,{naturalWidth:t,naturalHeight:n,aspectRatio:t/n}),e.initialImageData=de({},e.imageData),e.sizing=!1,e.sized=!0,e.build()};if(!t.naturalWidth||n){var i=document.createElement("img"),o=document.body||document.documentElement;this.sizingImage=i,i.onload=function(){r(i.width,i.height),n||o.removeChild(i)},i.src=t.src,n||(i.style.cssText="left:0;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;opacity:0;position:absolute;top:0;z-index:-1;",o.appendChild(i))}else r(t.naturalWidth,t.naturalHeight)}},{key:"stop",value:function(){var e=this.image;e.onload=null,e.onerror=null,e.parentNode.removeChild(e),this.image=null}},{key:"build",value:function(){if(this.sized&&!this.ready){var e=this.element,t=this.options,n=this.image,r=e.parentNode,i=document.createElement("div");i.innerHTML='<div class="cropper-container" touch-action="none"><div class="cropper-wrap-box"><div class="cropper-canvas"></div></div><div class="cropper-drag-box"></div><div class="cropper-crop-box"><span class="cropper-view-box"></span><span class="cropper-dashed dashed-h"></span><span class="cropper-dashed dashed-v"></span><span class="cropper-center"></span><span class="cropper-face"></span><span class="cropper-line line-e" data-cropper-action="e"></span><span class="cropper-line line-n" data-cropper-action="n"></span><span class="cropper-line line-w" data-cropper-action="w"></span><span class="cropper-line line-s" data-cropper-action="s"></span><span class="cropper-point point-e" data-cropper-action="e"></span><span class="cropper-point point-n" data-cropper-action="n"></span><span class="cropper-point point-w" data-cropper-action="w"></span><span class="cropper-point point-s" data-cropper-action="s"></span><span class="cropper-point point-ne" data-cropper-action="ne"></span><span class="cropper-point point-nw" data-cropper-action="nw"></span><span class="cropper-point point-sw" data-cropper-action="sw"></span><span class="cropper-point point-se" data-cropper-action="se"></span></div></div>';var o=i.querySelector(".".concat(d,"-container")),a=o.querySelector(".".concat(d,"-canvas")),s=o.querySelector(".".concat(d,"-drag-box")),l=o.querySelector(".".concat(d,"-crop-box")),c=l.querySelector(".".concat(d,"-face"));this.container=r,this.cropper=o,this.canvas=a,this.dragBox=s,this.cropBox=l,this.viewBox=o.querySelector(".".concat(d,"-view-box")),this.face=c,a.appendChild(n),ge(e,x),r.insertBefore(o,e.nextSibling),ye(n,T),this.initPreview(),this.bind(),t.initialAspectRatio=Math.max(0,t.initialAspectRatio)||NaN,t.aspectRatio=Math.max(0,t.aspectRatio)||NaN,t.viewMode=Math.max(0,Math.min(3,Math.round(t.viewMode)))||0,ge(l,x),t.guides||ge(l.getElementsByClassName("".concat(d,"-dashed")),x),t.center||ge(l.getElementsByClassName("".concat(d,"-center")),x),t.background&&ge(o,"".concat(d,"-bg")),t.highlight||ge(c,R),t.cropBoxMovable&&(ge(c,_),Se(c,I,h)),t.cropBoxResizable||(ge(l.getElementsByClassName("".concat(d,"-line")),x),ge(l.getElementsByClassName("".concat(d,"-point")),x)),this.render(),this.ready=!0,this.setDragMode(t.dragMode),t.autoCrop&&this.crop(),this.setData(t.data),se(t.ready)&&xe(e,H,t.ready,{once:!0}),Te(e,H)}}},{key:"unbuild",value:function(){if(this.ready){this.ready=!1,this.unbind(),this.resetPreview();var e=this.cropper.parentNode;e&&e.removeChild(this.cropper),ye(this.element,x)}}},{key:"uncreate",value:function(){this.ready?(this.unbuild(),this.ready=!1,this.cropped=!1):this.sizing?(this.sizingImage.onload=null,this.sizing=!1,this.sized=!1):this.reloading?(this.xhr.onabort=null,this.xhr.abort()):this.image&&this.stop()}}])&&r(t.prototype,n),i&&r(t,i),Object.defineProperty(t,"prototype",{writable:!1}),e;var t,n,i}();return de(qe.prototype,Ne,je,ze,We,Ue,He),qe}()},486:function(e,t,n){var r;e=n.nmd(e),function(){var i,o="Expected a function",a="__lodash_hash_undefined__",s="__lodash_placeholder__",l=32,c=128,u=1/0,d=9007199254740991,h=NaN,p=4294967295,m=[["ary",c],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",l],["partialRight",64],["rearg",256]],f="[object Arguments]",g="[object Array]",y="[object Boolean]",v="[object Date]",b="[object Error]",k="[object Function]",w="[object GeneratorFunction]",S="[object Map]",C="[object Number]",P="[object Object]",A="[object Promise]",x="[object RegExp]",T="[object Set]",R="[object String]",E="[object Symbol]",_="[object WeakMap]",I="[object ArrayBuffer]",F="[object DataView]",L="[object Float32Array]",O="[object Float64Array]",M="[object Int8Array]",D="[object Int16Array]",G="[object Int32Array]",B="[object Uint8Array]",N="[object Uint8ClampedArray]",j="[object Uint16Array]",z="[object Uint32Array]",W=/\b__p \+= '';/g,U=/\b(__p \+=) '' \+/g,H=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Y=/&(?:amp|lt|gt|quot|#39);/g,q=/[&<>"']/g,J=RegExp(Y.source),V=RegExp(q.source),$=/<%-([\s\S]+?)%>/g,K=/<%([\s\S]+?)%>/g,Z=/<%=([\s\S]+?)%>/g,X=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Q=/^\w*$/,ee=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,te=/[\\^$.*+?()[\]{}|]/g,ne=RegExp(te.source),re=/^\s+/,ie=/\s/,oe=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,ae=/\{\n\/\* \[wrapped with (.+)\] \*/,se=/,? & /,le=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ce=/[()=,{}\[\]\/\s]/,ue=/\\(\\)?/g,de=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,he=/\w*$/,pe=/^[-+]0x[0-9a-f]+$/i,me=/^0b[01]+$/i,fe=/^\[object .+?Constructor\]$/,ge=/^0o[0-7]+$/i,ye=/^(?:0|[1-9]\d*)$/,ve=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,be=/($^)/,ke=/['\n\r\u2028\u2029\\]/g,we="\\ud800-\\udfff",Se="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Ce="\\u2700-\\u27bf",Pe="a-z\\xdf-\\xf6\\xf8-\\xff",Ae="A-Z\\xc0-\\xd6\\xd8-\\xde",xe="\\ufe0e\\ufe0f",Te="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Re="["+we+"]",Ee="["+Te+"]",_e="["+Se+"]",Ie="\\d+",Fe="["+Ce+"]",Le="["+Pe+"]",Oe="[^"+we+Te+Ie+Ce+Pe+Ae+"]",Me="\\ud83c[\\udffb-\\udfff]",De="[^"+we+"]",Ge="(?:\\ud83c[\\udde6-\\uddff]){2}",Be="[\\ud800-\\udbff][\\udc00-\\udfff]",Ne="["+Ae+"]",je="\\u200d",ze="(?:"+Le+"|"+Oe+")",We="(?:"+Ne+"|"+Oe+")",Ue="(?:['’](?:d|ll|m|re|s|t|ve))?",He="(?:['’](?:D|LL|M|RE|S|T|VE))?",Ye="(?:"+_e+"|"+Me+")?",qe="["+xe+"]?",Je=qe+Ye+"(?:"+je+"(?:"+[De,Ge,Be].join("|")+")"+qe+Ye+")*",Ve="(?:"+[Fe,Ge,Be].join("|")+")"+Je,$e="(?:"+[De+_e+"?",_e,Ge,Be,Re].join("|")+")",Ke=RegExp("['’]","g"),Ze=RegExp(_e,"g"),Xe=RegExp(Me+"(?="+Me+")|"+$e+Je,"g"),Qe=RegExp([Ne+"?"+Le+"+"+Ue+"(?="+[Ee,Ne,"$"].join("|")+")",We+"+"+He+"(?="+[Ee,Ne+ze,"$"].join("|")+")",Ne+"?"+ze+"+"+Ue,Ne+"+"+He,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Ie,Ve].join("|"),"g"),et=RegExp("["+je+we+Se+xe+"]"),tt=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,nt=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],rt=-1,it={};it[L]=it[O]=it[M]=it[D]=it[G]=it[B]=it[N]=it[j]=it[z]=!0,it[f]=it[g]=it[I]=it[y]=it[F]=it[v]=it[b]=it[k]=it[S]=it[C]=it[P]=it[x]=it[T]=it[R]=it[_]=!1;var ot={};ot[f]=ot[g]=ot[I]=ot[F]=ot[y]=ot[v]=ot[L]=ot[O]=ot[M]=ot[D]=ot[G]=ot[S]=ot[C]=ot[P]=ot[x]=ot[T]=ot[R]=ot[E]=ot[B]=ot[N]=ot[j]=ot[z]=!0,ot[b]=ot[k]=ot[_]=!1;var at={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},st=parseFloat,lt=parseInt,ct="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,ut="object"==typeof self&&self&&self.Object===Object&&self,dt=ct||ut||Function("return this")(),ht=t&&!t.nodeType&&t,pt=ht&&e&&!e.nodeType&&e,mt=pt&&pt.exports===ht,ft=mt&&ct.process,gt=function(){try{return pt&&pt.require&&pt.require("util").types||ft&&ft.binding&&ft.binding("util")}catch(e){}}(),yt=gt&&gt.isArrayBuffer,vt=gt&&gt.isDate,bt=gt&&gt.isMap,kt=gt&&gt.isRegExp,wt=gt&&gt.isSet,St=gt&&gt.isTypedArray;function Ct(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function Pt(e,t,n,r){for(var i=-1,o=null==e?0:e.length;++i<o;){var a=e[i];t(r,a,n(a),e)}return r}function At(e,t){for(var n=-1,r=null==e?0:e.length;++n<r&&!1!==t(e[n],n,e););return e}function xt(e,t){for(var n=null==e?0:e.length;n--&&!1!==t(e[n],n,e););return e}function Tt(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(!t(e[n],n,e))return!1;return!0}function Rt(e,t){for(var n=-1,r=null==e?0:e.length,i=0,o=[];++n<r;){var a=e[n];t(a,n,e)&&(o[i++]=a)}return o}function Et(e,t){return!(null==e||!e.length)&&Nt(e,t,0)>-1}function _t(e,t,n){for(var r=-1,i=null==e?0:e.length;++r<i;)if(n(t,e[r]))return!0;return!1}function It(e,t){for(var n=-1,r=null==e?0:e.length,i=Array(r);++n<r;)i[n]=t(e[n],n,e);return i}function Ft(e,t){for(var n=-1,r=t.length,i=e.length;++n<r;)e[i+n]=t[n];return e}function Lt(e,t,n,r){var i=-1,o=null==e?0:e.length;for(r&&o&&(n=e[++i]);++i<o;)n=t(n,e[i],i,e);return n}function Ot(e,t,n,r){var i=null==e?0:e.length;for(r&&i&&(n=e[--i]);i--;)n=t(n,e[i],i,e);return n}function Mt(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}var Dt=Ut("length");function Gt(e,t,n){var r;return n(e,(function(e,n,i){if(t(e,n,i))return r=n,!1})),r}function Bt(e,t,n,r){for(var i=e.length,o=n+(r?1:-1);r?o--:++o<i;)if(t(e[o],o,e))return o;return-1}function Nt(e,t,n){return t==t?function(e,t,n){for(var r=n-1,i=e.length;++r<i;)if(e[r]===t)return r;return-1}(e,t,n):Bt(e,zt,n)}function jt(e,t,n,r){for(var i=n-1,o=e.length;++i<o;)if(r(e[i],t))return i;return-1}function zt(e){return e!=e}function Wt(e,t){var n=null==e?0:e.length;return n?qt(e,t)/n:h}function Ut(e){return function(t){return null==t?i:t[e]}}function Ht(e){return function(t){return null==e?i:e[t]}}function Yt(e,t,n,r,i){return i(e,(function(e,i,o){n=r?(r=!1,e):t(n,e,i,o)})),n}function qt(e,t){for(var n,r=-1,o=e.length;++r<o;){var a=t(e[r]);a!==i&&(n=n===i?a:n+a)}return n}function Jt(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}function Vt(e){return e?e.slice(0,hn(e)+1).replace(re,""):e}function $t(e){return function(t){return e(t)}}function Kt(e,t){return It(t,(function(t){return e[t]}))}function Zt(e,t){return e.has(t)}function Xt(e,t){for(var n=-1,r=e.length;++n<r&&Nt(t,e[n],0)>-1;);return n}function Qt(e,t){for(var n=e.length;n--&&Nt(t,e[n],0)>-1;);return n}var en=Ht({À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"}),tn=Ht({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"});function nn(e){return"\\"+at[e]}function rn(e){return et.test(e)}function on(e){var t=-1,n=Array(e.size);return e.forEach((function(e,r){n[++t]=[r,e]})),n}function an(e,t){return function(n){return e(t(n))}}function sn(e,t){for(var n=-1,r=e.length,i=0,o=[];++n<r;){var a=e[n];a!==t&&a!==s||(e[n]=s,o[i++]=n)}return o}function ln(e){var t=-1,n=Array(e.size);return e.forEach((function(e){n[++t]=e})),n}function cn(e){var t=-1,n=Array(e.size);return e.forEach((function(e){n[++t]=[e,e]})),n}function un(e){return rn(e)?function(e){for(var t=Xe.lastIndex=0;Xe.test(e);)++t;return t}(e):Dt(e)}function dn(e){return rn(e)?function(e){return e.match(Xe)||[]}(e):function(e){return e.split("")}(e)}function hn(e){for(var t=e.length;t--&&ie.test(e.charAt(t)););return t}var pn=Ht({"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"}),mn=function e(t){var n,r=(t=null==t?dt:mn.defaults(dt.Object(),t,mn.pick(dt,nt))).Array,ie=t.Date,we=t.Error,Se=t.Function,Ce=t.Math,Pe=t.Object,Ae=t.RegExp,xe=t.String,Te=t.TypeError,Re=r.prototype,Ee=Se.prototype,_e=Pe.prototype,Ie=t["__core-js_shared__"],Fe=Ee.toString,Le=_e.hasOwnProperty,Oe=0,Me=(n=/[^.]+$/.exec(Ie&&Ie.keys&&Ie.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",De=_e.toString,Ge=Fe.call(Pe),Be=dt._,Ne=Ae("^"+Fe.call(Le).replace(te,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),je=mt?t.Buffer:i,ze=t.Symbol,We=t.Uint8Array,Ue=je?je.allocUnsafe:i,He=an(Pe.getPrototypeOf,Pe),Ye=Pe.create,qe=_e.propertyIsEnumerable,Je=Re.splice,Ve=ze?ze.isConcatSpreadable:i,$e=ze?ze.iterator:i,Xe=ze?ze.toStringTag:i,et=function(){try{var e=lo(Pe,"defineProperty");return e({},"",{}),e}catch(e){}}(),at=t.clearTimeout!==dt.clearTimeout&&t.clearTimeout,ct=ie&&ie.now!==dt.Date.now&&ie.now,ut=t.setTimeout!==dt.setTimeout&&t.setTimeout,ht=Ce.ceil,pt=Ce.floor,ft=Pe.getOwnPropertySymbols,gt=je?je.isBuffer:i,Dt=t.isFinite,Ht=Re.join,fn=an(Pe.keys,Pe),gn=Ce.max,yn=Ce.min,vn=ie.now,bn=t.parseInt,kn=Ce.random,wn=Re.reverse,Sn=lo(t,"DataView"),Cn=lo(t,"Map"),Pn=lo(t,"Promise"),An=lo(t,"Set"),xn=lo(t,"WeakMap"),Tn=lo(Pe,"create"),Rn=xn&&new xn,En={},_n=Go(Sn),In=Go(Cn),Fn=Go(Pn),Ln=Go(An),On=Go(xn),Mn=ze?ze.prototype:i,Dn=Mn?Mn.valueOf:i,Gn=Mn?Mn.toString:i;function Bn(e){if(es(e)&&!Ua(e)&&!(e instanceof Wn)){if(e instanceof zn)return e;if(Le.call(e,"__wrapped__"))return Bo(e)}return new zn(e)}var Nn=function(){function e(){}return function(t){if(!Qa(t))return{};if(Ye)return Ye(t);e.prototype=t;var n=new e;return e.prototype=i,n}}();function jn(){}function zn(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=i}function Wn(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=p,this.__views__=[]}function Un(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Hn(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Yn(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function qn(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new Yn;++t<n;)this.add(e[t])}function Jn(e){var t=this.__data__=new Hn(e);this.size=t.size}function Vn(e,t){var n=Ua(e),r=!n&&Wa(e),i=!n&&!r&&Ja(e),o=!n&&!r&&!i&&ls(e),a=n||r||i||o,s=a?Jt(e.length,xe):[],l=s.length;for(var c in e)!t&&!Le.call(e,c)||a&&("length"==c||i&&("offset"==c||"parent"==c)||o&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||go(c,l))||s.push(c);return s}function $n(e){var t=e.length;return t?e[Yr(0,t-1)]:i}function Kn(e,t){return Fo(xi(e),or(t,0,e.length))}function Zn(e){return Fo(xi(e))}function Xn(e,t,n){(n!==i&&!Na(e[t],n)||n===i&&!(t in e))&&rr(e,t,n)}function Qn(e,t,n){var r=e[t];Le.call(e,t)&&Na(r,n)&&(n!==i||t in e)||rr(e,t,n)}function er(e,t){for(var n=e.length;n--;)if(Na(e[n][0],t))return n;return-1}function tr(e,t,n,r){return ur(e,(function(e,i,o){t(r,e,n(e),o)})),r}function nr(e,t){return e&&Ti(t,_s(t),e)}function rr(e,t,n){"__proto__"==t&&et?et(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}function ir(e,t){for(var n=-1,o=t.length,a=r(o),s=null==e;++n<o;)a[n]=s?i:As(e,t[n]);return a}function or(e,t,n){return e==e&&(n!==i&&(e=e<=n?e:n),t!==i&&(e=e>=t?e:t)),e}function ar(e,t,n,r,o,a){var s,l=1&t,c=2&t,u=4&t;if(n&&(s=o?n(e,r,o,a):n(e)),s!==i)return s;if(!Qa(e))return e;var d=Ua(e);if(d){if(s=function(e){var t=e.length,n=new e.constructor(t);return t&&"string"==typeof e[0]&&Le.call(e,"index")&&(n.index=e.index,n.input=e.input),n}(e),!l)return xi(e,s)}else{var h=ho(e),p=h==k||h==w;if(Ja(e))return ki(e,l);if(h==P||h==f||p&&!o){if(s=c||p?{}:mo(e),!l)return c?function(e,t){return Ti(e,uo(e),t)}(e,function(e,t){return e&&Ti(t,Is(t),e)}(s,e)):function(e,t){return Ti(e,co(e),t)}(e,nr(s,e))}else{if(!ot[h])return o?e:{};s=function(e,t,n){var r,i=e.constructor;switch(t){case I:return wi(e);case y:case v:return new i(+e);case F:return function(e,t){var n=t?wi(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}(e,n);case L:case O:case M:case D:case G:case B:case N:case j:case z:return Si(e,n);case S:return new i;case C:case R:return new i(e);case x:return function(e){var t=new e.constructor(e.source,he.exec(e));return t.lastIndex=e.lastIndex,t}(e);case T:return new i;case E:return r=e,Dn?Pe(Dn.call(r)):{}}}(e,h,l)}}a||(a=new Jn);var m=a.get(e);if(m)return m;a.set(e,s),os(e)?e.forEach((function(r){s.add(ar(r,t,n,r,e,a))})):ts(e)&&e.forEach((function(r,i){s.set(i,ar(r,t,n,i,e,a))}));var g=d?i:(u?c?to:eo:c?Is:_s)(e);return At(g||e,(function(r,i){g&&(r=e[i=r]),Qn(s,i,ar(r,t,n,i,e,a))})),s}function sr(e,t,n){var r=n.length;if(null==e)return!r;for(e=Pe(e);r--;){var o=n[r],a=t[o],s=e[o];if(s===i&&!(o in e)||!a(s))return!1}return!0}function lr(e,t,n){if("function"!=typeof e)throw new Te(o);return Ro((function(){e.apply(i,n)}),t)}function cr(e,t,n,r){var i=-1,o=Et,a=!0,s=e.length,l=[],c=t.length;if(!s)return l;n&&(t=It(t,$t(n))),r?(o=_t,a=!1):t.length>=200&&(o=Zt,a=!1,t=new qn(t));e:for(;++i<s;){var u=e[i],d=null==n?u:n(u);if(u=r||0!==u?u:0,a&&d==d){for(var h=c;h--;)if(t[h]===d)continue e;l.push(u)}else o(t,d,r)||l.push(u)}return l}Bn.templateSettings={escape:$,evaluate:K,interpolate:Z,variable:"",imports:{_:Bn}},Bn.prototype=jn.prototype,Bn.prototype.constructor=Bn,zn.prototype=Nn(jn.prototype),zn.prototype.constructor=zn,Wn.prototype=Nn(jn.prototype),Wn.prototype.constructor=Wn,Un.prototype.clear=function(){this.__data__=Tn?Tn(null):{},this.size=0},Un.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},Un.prototype.get=function(e){var t=this.__data__;if(Tn){var n=t[e];return n===a?i:n}return Le.call(t,e)?t[e]:i},Un.prototype.has=function(e){var t=this.__data__;return Tn?t[e]!==i:Le.call(t,e)},Un.prototype.set=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=Tn&&t===i?a:t,this},Hn.prototype.clear=function(){this.__data__=[],this.size=0},Hn.prototype.delete=function(e){var t=this.__data__,n=er(t,e);return!(n<0||(n==t.length-1?t.pop():Je.call(t,n,1),--this.size,0))},Hn.prototype.get=function(e){var t=this.__data__,n=er(t,e);return n<0?i:t[n][1]},Hn.prototype.has=function(e){return er(this.__data__,e)>-1},Hn.prototype.set=function(e,t){var n=this.__data__,r=er(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this},Yn.prototype.clear=function(){this.size=0,this.__data__={hash:new Un,map:new(Cn||Hn),string:new Un}},Yn.prototype.delete=function(e){var t=ao(this,e).delete(e);return this.size-=t?1:0,t},Yn.prototype.get=function(e){return ao(this,e).get(e)},Yn.prototype.has=function(e){return ao(this,e).has(e)},Yn.prototype.set=function(e,t){var n=ao(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this},qn.prototype.add=qn.prototype.push=function(e){return this.__data__.set(e,a),this},qn.prototype.has=function(e){return this.__data__.has(e)},Jn.prototype.clear=function(){this.__data__=new Hn,this.size=0},Jn.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},Jn.prototype.get=function(e){return this.__data__.get(e)},Jn.prototype.has=function(e){return this.__data__.has(e)},Jn.prototype.set=function(e,t){var n=this.__data__;if(n instanceof Hn){var r=n.__data__;if(!Cn||r.length<199)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new Yn(r)}return n.set(e,t),this.size=n.size,this};var ur=_i(vr),dr=_i(br,!0);function hr(e,t){var n=!0;return ur(e,(function(e,r,i){return n=!!t(e,r,i)})),n}function pr(e,t,n){for(var r=-1,o=e.length;++r<o;){var a=e[r],s=t(a);if(null!=s&&(l===i?s==s&&!ss(s):n(s,l)))var l=s,c=a}return c}function mr(e,t){var n=[];return ur(e,(function(e,r,i){t(e,r,i)&&n.push(e)})),n}function fr(e,t,n,r,i){var o=-1,a=e.length;for(n||(n=fo),i||(i=[]);++o<a;){var s=e[o];t>0&&n(s)?t>1?fr(s,t-1,n,r,i):Ft(i,s):r||(i[i.length]=s)}return i}var gr=Ii(),yr=Ii(!0);function vr(e,t){return e&&gr(e,t,_s)}function br(e,t){return e&&yr(e,t,_s)}function kr(e,t){return Rt(t,(function(t){return Ka(e[t])}))}function wr(e,t){for(var n=0,r=(t=gi(t,e)).length;null!=e&&n<r;)e=e[Do(t[n++])];return n&&n==r?e:i}function Sr(e,t,n){var r=t(e);return Ua(e)?r:Ft(r,n(e))}function Cr(e){return null==e?e===i?"[object Undefined]":"[object Null]":Xe&&Xe in Pe(e)?function(e){var t=Le.call(e,Xe),n=e[Xe];try{e[Xe]=i;var r=!0}catch(e){}var o=De.call(e);return r&&(t?e[Xe]=n:delete e[Xe]),o}(e):function(e){return De.call(e)}(e)}function Pr(e,t){return e>t}function Ar(e,t){return null!=e&&Le.call(e,t)}function xr(e,t){return null!=e&&t in Pe(e)}function Tr(e,t,n){for(var o=n?_t:Et,a=e[0].length,s=e.length,l=s,c=r(s),u=1/0,d=[];l--;){var h=e[l];l&&t&&(h=It(h,$t(t))),u=yn(h.length,u),c[l]=!n&&(t||a>=120&&h.length>=120)?new qn(l&&h):i}h=e[0];var p=-1,m=c[0];e:for(;++p<a&&d.length<u;){var f=h[p],g=t?t(f):f;if(f=n||0!==f?f:0,!(m?Zt(m,g):o(d,g,n))){for(l=s;--l;){var y=c[l];if(!(y?Zt(y,g):o(e[l],g,n)))continue e}m&&m.push(g),d.push(f)}}return d}function Rr(e,t,n){var r=null==(e=Ao(e,t=gi(t,e)))?e:e[Do($o(t))];return null==r?i:Ct(r,e,n)}function Er(e){return es(e)&&Cr(e)==f}function _r(e,t,n,r,o){return e===t||(null==e||null==t||!es(e)&&!es(t)?e!=e&&t!=t:function(e,t,n,r,o,a){var s=Ua(e),l=Ua(t),c=s?g:ho(e),u=l?g:ho(t),d=(c=c==f?P:c)==P,h=(u=u==f?P:u)==P,p=c==u;if(p&&Ja(e)){if(!Ja(t))return!1;s=!0,d=!1}if(p&&!d)return a||(a=new Jn),s||ls(e)?Xi(e,t,n,r,o,a):function(e,t,n,r,i,o,a){switch(n){case F:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case I:return!(e.byteLength!=t.byteLength||!o(new We(e),new We(t)));case y:case v:case C:return Na(+e,+t);case b:return e.name==t.name&&e.message==t.message;case x:case R:return e==t+"";case S:var s=on;case T:var l=1&r;if(s||(s=ln),e.size!=t.size&&!l)return!1;var c=a.get(e);if(c)return c==t;r|=2,a.set(e,t);var u=Xi(s(e),s(t),r,i,o,a);return a.delete(e),u;case E:if(Dn)return Dn.call(e)==Dn.call(t)}return!1}(e,t,c,n,r,o,a);if(!(1&n)){var m=d&&Le.call(e,"__wrapped__"),k=h&&Le.call(t,"__wrapped__");if(m||k){var w=m?e.value():e,A=k?t.value():t;return a||(a=new Jn),o(w,A,n,r,a)}}return!!p&&(a||(a=new Jn),function(e,t,n,r,o,a){var s=1&n,l=eo(e),c=l.length;if(c!=eo(t).length&&!s)return!1;for(var u=c;u--;){var d=l[u];if(!(s?d in t:Le.call(t,d)))return!1}var h=a.get(e),p=a.get(t);if(h&&p)return h==t&&p==e;var m=!0;a.set(e,t),a.set(t,e);for(var f=s;++u<c;){var g=e[d=l[u]],y=t[d];if(r)var v=s?r(y,g,d,t,e,a):r(g,y,d,e,t,a);if(!(v===i?g===y||o(g,y,n,r,a):v)){m=!1;break}f||(f="constructor"==d)}if(m&&!f){var b=e.constructor,k=t.constructor;b==k||!("constructor"in e)||!("constructor"in t)||"function"==typeof b&&b instanceof b&&"function"==typeof k&&k instanceof k||(m=!1)}return a.delete(e),a.delete(t),m}(e,t,n,r,o,a))}(e,t,n,r,_r,o))}function Ir(e,t,n,r){var o=n.length,a=o,s=!r;if(null==e)return!a;for(e=Pe(e);o--;){var l=n[o];if(s&&l[2]?l[1]!==e[l[0]]:!(l[0]in e))return!1}for(;++o<a;){var c=(l=n[o])[0],u=e[c],d=l[1];if(s&&l[2]){if(u===i&&!(c in e))return!1}else{var h=new Jn;if(r)var p=r(u,d,c,e,t,h);if(!(p===i?_r(d,u,3,r,h):p))return!1}}return!0}function Fr(e){return!(!Qa(e)||(t=e,Me&&Me in t))&&(Ka(e)?Ne:fe).test(Go(e));var t}function Lr(e){return"function"==typeof e?e:null==e?nl:"object"==typeof e?Ua(e)?Br(e[0],e[1]):Gr(e):dl(e)}function Or(e){if(!wo(e))return fn(e);var t=[];for(var n in Pe(e))Le.call(e,n)&&"constructor"!=n&&t.push(n);return t}function Mr(e,t){return e<t}function Dr(e,t){var n=-1,i=Ya(e)?r(e.length):[];return ur(e,(function(e,r,o){i[++n]=t(e,r,o)})),i}function Gr(e){var t=so(e);return 1==t.length&&t[0][2]?Co(t[0][0],t[0][1]):function(n){return n===e||Ir(n,e,t)}}function Br(e,t){return vo(e)&&So(t)?Co(Do(e),t):function(n){var r=As(n,e);return r===i&&r===t?xs(n,e):_r(t,r,3)}}function Nr(e,t,n,r,o){e!==t&&gr(t,(function(a,s){if(o||(o=new Jn),Qa(a))!function(e,t,n,r,o,a,s){var l=xo(e,n),c=xo(t,n),u=s.get(c);if(u)Xn(e,n,u);else{var d=a?a(l,c,n+"",e,t,s):i,h=d===i;if(h){var p=Ua(c),m=!p&&Ja(c),f=!p&&!m&&ls(c);d=c,p||m||f?Ua(l)?d=l:qa(l)?d=xi(l):m?(h=!1,d=ki(c,!0)):f?(h=!1,d=Si(c,!0)):d=[]:rs(c)||Wa(c)?(d=l,Wa(l)?d=gs(l):Qa(l)&&!Ka(l)||(d=mo(c))):h=!1}h&&(s.set(c,d),o(d,c,r,a,s),s.delete(c)),Xn(e,n,d)}}(e,t,s,n,Nr,r,o);else{var l=r?r(xo(e,s),a,s+"",e,t,o):i;l===i&&(l=a),Xn(e,s,l)}}),Is)}function jr(e,t){var n=e.length;if(n)return go(t+=t<0?n:0,n)?e[t]:i}function zr(e,t,n){t=t.length?It(t,(function(e){return Ua(e)?function(t){return wr(t,1===e.length?e[0]:e)}:e})):[nl];var r=-1;t=It(t,$t(oo()));var i=Dr(e,(function(e,n,i){var o=It(t,(function(t){return t(e)}));return{criteria:o,index:++r,value:e}}));return function(e,t){var r=e.length;for(e.sort((function(e,t){return function(e,t,n){for(var r=-1,i=e.criteria,o=t.criteria,a=i.length,s=n.length;++r<a;){var l=Ci(i[r],o[r]);if(l)return r>=s?l:l*("desc"==n[r]?-1:1)}return e.index-t.index}(e,t,n)}));r--;)e[r]=e[r].value;return e}(i)}function Wr(e,t,n){for(var r=-1,i=t.length,o={};++r<i;){var a=t[r],s=wr(e,a);n(s,a)&&Kr(o,gi(a,e),s)}return o}function Ur(e,t,n,r){var i=r?jt:Nt,o=-1,a=t.length,s=e;for(e===t&&(t=xi(t)),n&&(s=It(e,$t(n)));++o<a;)for(var l=0,c=t[o],u=n?n(c):c;(l=i(s,u,l,r))>-1;)s!==e&&Je.call(s,l,1),Je.call(e,l,1);return e}function Hr(e,t){for(var n=e?t.length:0,r=n-1;n--;){var i=t[n];if(n==r||i!==o){var o=i;go(i)?Je.call(e,i,1):li(e,i)}}return e}function Yr(e,t){return e+pt(kn()*(t-e+1))}function qr(e,t){var n="";if(!e||t<1||t>d)return n;do{t%2&&(n+=e),(t=pt(t/2))&&(e+=e)}while(t);return n}function Jr(e,t){return Eo(Po(e,t,nl),e+"")}function Vr(e){return $n(Ns(e))}function $r(e,t){var n=Ns(e);return Fo(n,or(t,0,n.length))}function Kr(e,t,n,r){if(!Qa(e))return e;for(var o=-1,a=(t=gi(t,e)).length,s=a-1,l=e;null!=l&&++o<a;){var c=Do(t[o]),u=n;if("__proto__"===c||"constructor"===c||"prototype"===c)return e;if(o!=s){var d=l[c];(u=r?r(d,c,l):i)===i&&(u=Qa(d)?d:go(t[o+1])?[]:{})}Qn(l,c,u),l=l[c]}return e}var Zr=Rn?function(e,t){return Rn.set(e,t),e}:nl,Xr=et?function(e,t){return et(e,"toString",{configurable:!0,enumerable:!1,value:Qs(t),writable:!0})}:nl;function Qr(e){return Fo(Ns(e))}function ei(e,t,n){var i=-1,o=e.length;t<0&&(t=-t>o?0:o+t),(n=n>o?o:n)<0&&(n+=o),o=t>n?0:n-t>>>0,t>>>=0;for(var a=r(o);++i<o;)a[i]=e[i+t];return a}function ti(e,t){var n;return ur(e,(function(e,r,i){return!(n=t(e,r,i))})),!!n}function ni(e,t,n){var r=0,i=null==e?r:e.length;if("number"==typeof t&&t==t&&i<=2147483647){for(;r<i;){var o=r+i>>>1,a=e[o];null!==a&&!ss(a)&&(n?a<=t:a<t)?r=o+1:i=o}return i}return ri(e,t,nl,n)}function ri(e,t,n,r){var o=0,a=null==e?0:e.length;if(0===a)return 0;for(var s=(t=n(t))!=t,l=null===t,c=ss(t),u=t===i;o<a;){var d=pt((o+a)/2),h=n(e[d]),p=h!==i,m=null===h,f=h==h,g=ss(h);if(s)var y=r||f;else y=u?f&&(r||p):l?f&&p&&(r||!m):c?f&&p&&!m&&(r||!g):!m&&!g&&(r?h<=t:h<t);y?o=d+1:a=d}return yn(a,4294967294)}function ii(e,t){for(var n=-1,r=e.length,i=0,o=[];++n<r;){var a=e[n],s=t?t(a):a;if(!n||!Na(s,l)){var l=s;o[i++]=0===a?0:a}}return o}function oi(e){return"number"==typeof e?e:ss(e)?h:+e}function ai(e){if("string"==typeof e)return e;if(Ua(e))return It(e,ai)+"";if(ss(e))return Gn?Gn.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function si(e,t,n){var r=-1,i=Et,o=e.length,a=!0,s=[],l=s;if(n)a=!1,i=_t;else if(o>=200){var c=t?null:qi(e);if(c)return ln(c);a=!1,i=Zt,l=new qn}else l=t?[]:s;e:for(;++r<o;){var u=e[r],d=t?t(u):u;if(u=n||0!==u?u:0,a&&d==d){for(var h=l.length;h--;)if(l[h]===d)continue e;t&&l.push(d),s.push(u)}else i(l,d,n)||(l!==s&&l.push(d),s.push(u))}return s}function li(e,t){return null==(e=Ao(e,t=gi(t,e)))||delete e[Do($o(t))]}function ci(e,t,n,r){return Kr(e,t,n(wr(e,t)),r)}function ui(e,t,n,r){for(var i=e.length,o=r?i:-1;(r?o--:++o<i)&&t(e[o],o,e););return n?ei(e,r?0:o,r?o+1:i):ei(e,r?o+1:0,r?i:o)}function di(e,t){var n=e;return n instanceof Wn&&(n=n.value()),Lt(t,(function(e,t){return t.func.apply(t.thisArg,Ft([e],t.args))}),n)}function hi(e,t,n){var i=e.length;if(i<2)return i?si(e[0]):[];for(var o=-1,a=r(i);++o<i;)for(var s=e[o],l=-1;++l<i;)l!=o&&(a[o]=cr(a[o]||s,e[l],t,n));return si(fr(a,1),t,n)}function pi(e,t,n){for(var r=-1,o=e.length,a=t.length,s={};++r<o;){var l=r<a?t[r]:i;n(s,e[r],l)}return s}function mi(e){return qa(e)?e:[]}function fi(e){return"function"==typeof e?e:nl}function gi(e,t){return Ua(e)?e:vo(e,t)?[e]:Mo(ys(e))}var yi=Jr;function vi(e,t,n){var r=e.length;return n=n===i?r:n,!t&&n>=r?e:ei(e,t,n)}var bi=at||function(e){return dt.clearTimeout(e)};function ki(e,t){if(t)return e.slice();var n=e.length,r=Ue?Ue(n):new e.constructor(n);return e.copy(r),r}function wi(e){var t=new e.constructor(e.byteLength);return new We(t).set(new We(e)),t}function Si(e,t){var n=t?wi(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function Ci(e,t){if(e!==t){var n=e!==i,r=null===e,o=e==e,a=ss(e),s=t!==i,l=null===t,c=t==t,u=ss(t);if(!l&&!u&&!a&&e>t||a&&s&&c&&!l&&!u||r&&s&&c||!n&&c||!o)return 1;if(!r&&!a&&!u&&e<t||u&&n&&o&&!r&&!a||l&&n&&o||!s&&o||!c)return-1}return 0}function Pi(e,t,n,i){for(var o=-1,a=e.length,s=n.length,l=-1,c=t.length,u=gn(a-s,0),d=r(c+u),h=!i;++l<c;)d[l]=t[l];for(;++o<s;)(h||o<a)&&(d[n[o]]=e[o]);for(;u--;)d[l++]=e[o++];return d}function Ai(e,t,n,i){for(var o=-1,a=e.length,s=-1,l=n.length,c=-1,u=t.length,d=gn(a-l,0),h=r(d+u),p=!i;++o<d;)h[o]=e[o];for(var m=o;++c<u;)h[m+c]=t[c];for(;++s<l;)(p||o<a)&&(h[m+n[s]]=e[o++]);return h}function xi(e,t){var n=-1,i=e.length;for(t||(t=r(i));++n<i;)t[n]=e[n];return t}function Ti(e,t,n,r){var o=!n;n||(n={});for(var a=-1,s=t.length;++a<s;){var l=t[a],c=r?r(n[l],e[l],l,n,e):i;c===i&&(c=e[l]),o?rr(n,l,c):Qn(n,l,c)}return n}function Ri(e,t){return function(n,r){var i=Ua(n)?Pt:tr,o=t?t():{};return i(n,e,oo(r,2),o)}}function Ei(e){return Jr((function(t,n){var r=-1,o=n.length,a=o>1?n[o-1]:i,s=o>2?n[2]:i;for(a=e.length>3&&"function"==typeof a?(o--,a):i,s&&yo(n[0],n[1],s)&&(a=o<3?i:a,o=1),t=Pe(t);++r<o;){var l=n[r];l&&e(t,l,r,a)}return t}))}function _i(e,t){return function(n,r){if(null==n)return n;if(!Ya(n))return e(n,r);for(var i=n.length,o=t?i:-1,a=Pe(n);(t?o--:++o<i)&&!1!==r(a[o],o,a););return n}}function Ii(e){return function(t,n,r){for(var i=-1,o=Pe(t),a=r(t),s=a.length;s--;){var l=a[e?s:++i];if(!1===n(o[l],l,o))break}return t}}function Fi(e){return function(t){var n=rn(t=ys(t))?dn(t):i,r=n?n[0]:t.charAt(0),o=n?vi(n,1).join(""):t.slice(1);return r[e]()+o}}function Li(e){return function(t){return Lt(Ks(Ws(t).replace(Ke,"")),e,"")}}function Oi(e){return function(){var t=arguments;switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3]);case 5:return new e(t[0],t[1],t[2],t[3],t[4]);case 6:return new e(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new e(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var n=Nn(e.prototype),r=e.apply(n,t);return Qa(r)?r:n}}function Mi(e){return function(t,n,r){var o=Pe(t);if(!Ya(t)){var a=oo(n,3);t=_s(t),n=function(e){return a(o[e],e,o)}}var s=e(t,n,r);return s>-1?o[a?t[s]:s]:i}}function Di(e){return Qi((function(t){var n=t.length,r=n,a=zn.prototype.thru;for(e&&t.reverse();r--;){var s=t[r];if("function"!=typeof s)throw new Te(o);if(a&&!l&&"wrapper"==ro(s))var l=new zn([],!0)}for(r=l?r:n;++r<n;){var c=ro(s=t[r]),u="wrapper"==c?no(s):i;l=u&&bo(u[0])&&424==u[1]&&!u[4].length&&1==u[9]?l[ro(u[0])].apply(l,u[3]):1==s.length&&bo(s)?l[c]():l.thru(s)}return function(){var e=arguments,r=e[0];if(l&&1==e.length&&Ua(r))return l.plant(r).value();for(var i=0,o=n?t[i].apply(this,e):r;++i<n;)o=t[i].call(this,o);return o}}))}function Gi(e,t,n,o,a,s,l,u,d,h){var p=t&c,m=1&t,f=2&t,g=24&t,y=512&t,v=f?i:Oi(e);return function c(){for(var b=arguments.length,k=r(b),w=b;w--;)k[w]=arguments[w];if(g)var S=io(c),C=function(e,t){for(var n=e.length,r=0;n--;)e[n]===t&&++r;return r}(k,S);if(o&&(k=Pi(k,o,a,g)),s&&(k=Ai(k,s,l,g)),b-=C,g&&b<h){var P=sn(k,S);return Hi(e,t,Gi,c.placeholder,n,k,P,u,d,h-b)}var A=m?n:this,x=f?A[e]:e;return b=k.length,u?k=function(e,t){for(var n=e.length,r=yn(t.length,n),o=xi(e);r--;){var a=t[r];e[r]=go(a,n)?o[a]:i}return e}(k,u):y&&b>1&&k.reverse(),p&&d<b&&(k.length=d),this&&this!==dt&&this instanceof c&&(x=v||Oi(x)),x.apply(A,k)}}function Bi(e,t){return function(n,r){return function(e,t,n,r){return vr(e,(function(e,i,o){t(r,n(e),i,o)})),r}(n,e,t(r),{})}}function Ni(e,t){return function(n,r){var o;if(n===i&&r===i)return t;if(n!==i&&(o=n),r!==i){if(o===i)return r;"string"==typeof n||"string"==typeof r?(n=ai(n),r=ai(r)):(n=oi(n),r=oi(r)),o=e(n,r)}return o}}function ji(e){return Qi((function(t){return t=It(t,$t(oo())),Jr((function(n){var r=this;return e(t,(function(e){return Ct(e,r,n)}))}))}))}function zi(e,t){var n=(t=t===i?" ":ai(t)).length;if(n<2)return n?qr(t,e):t;var r=qr(t,ht(e/un(t)));return rn(t)?vi(dn(r),0,e).join(""):r.slice(0,e)}function Wi(e){return function(t,n,o){return o&&"number"!=typeof o&&yo(t,n,o)&&(n=o=i),t=hs(t),n===i?(n=t,t=0):n=hs(n),function(e,t,n,i){for(var o=-1,a=gn(ht((t-e)/(n||1)),0),s=r(a);a--;)s[i?a:++o]=e,e+=n;return s}(t,n,o=o===i?t<n?1:-1:hs(o),e)}}function Ui(e){return function(t,n){return"string"==typeof t&&"string"==typeof n||(t=fs(t),n=fs(n)),e(t,n)}}function Hi(e,t,n,r,o,a,s,c,u,d){var h=8&t;t|=h?l:64,4&(t&=~(h?64:l))||(t&=-4);var p=[e,t,o,h?a:i,h?s:i,h?i:a,h?i:s,c,u,d],m=n.apply(i,p);return bo(e)&&To(m,p),m.placeholder=r,_o(m,e,t)}function Yi(e){var t=Ce[e];return function(e,n){if(e=fs(e),(n=null==n?0:yn(ps(n),292))&&Dt(e)){var r=(ys(e)+"e").split("e");return+((r=(ys(t(r[0]+"e"+(+r[1]+n)))+"e").split("e"))[0]+"e"+(+r[1]-n))}return t(e)}}var qi=An&&1/ln(new An([,-0]))[1]==u?function(e){return new An(e)}:sl;function Ji(e){return function(t){var n=ho(t);return n==S?on(t):n==T?cn(t):function(e,t){return It(t,(function(t){return[t,e[t]]}))}(t,e(t))}}function Vi(e,t,n,a,u,d,h,p){var m=2&t;if(!m&&"function"!=typeof e)throw new Te(o);var f=a?a.length:0;if(f||(t&=-97,a=u=i),h=h===i?h:gn(ps(h),0),p=p===i?p:ps(p),f-=u?u.length:0,64&t){var g=a,y=u;a=u=i}var v=m?i:no(e),b=[e,t,n,a,u,g,y,d,h,p];if(v&&function(e,t){var n=e[1],r=t[1],i=n|r,o=i<131,a=r==c&&8==n||r==c&&256==n&&e[7].length<=t[8]||384==r&&t[7].length<=t[8]&&8==n;if(!o&&!a)return e;1&r&&(e[2]=t[2],i|=1&n?0:4);var l=t[3];if(l){var u=e[3];e[3]=u?Pi(u,l,t[4]):l,e[4]=u?sn(e[3],s):t[4]}(l=t[5])&&(u=e[5],e[5]=u?Ai(u,l,t[6]):l,e[6]=u?sn(e[5],s):t[6]),(l=t[7])&&(e[7]=l),r&c&&(e[8]=null==e[8]?t[8]:yn(e[8],t[8])),null==e[9]&&(e[9]=t[9]),e[0]=t[0],e[1]=i}(b,v),e=b[0],t=b[1],n=b[2],a=b[3],u=b[4],!(p=b[9]=b[9]===i?m?0:e.length:gn(b[9]-f,0))&&24&t&&(t&=-25),t&&1!=t)k=8==t||16==t?function(e,t,n){var o=Oi(e);return function a(){for(var s=arguments.length,l=r(s),c=s,u=io(a);c--;)l[c]=arguments[c];var d=s<3&&l[0]!==u&&l[s-1]!==u?[]:sn(l,u);return(s-=d.length)<n?Hi(e,t,Gi,a.placeholder,i,l,d,i,i,n-s):Ct(this&&this!==dt&&this instanceof a?o:e,this,l)}}(e,t,p):t!=l&&33!=t||u.length?Gi.apply(i,b):function(e,t,n,i){var o=1&t,a=Oi(e);return function t(){for(var s=-1,l=arguments.length,c=-1,u=i.length,d=r(u+l),h=this&&this!==dt&&this instanceof t?a:e;++c<u;)d[c]=i[c];for(;l--;)d[c++]=arguments[++s];return Ct(h,o?n:this,d)}}(e,t,n,a);else var k=function(e,t,n){var r=1&t,i=Oi(e);return function t(){return(this&&this!==dt&&this instanceof t?i:e).apply(r?n:this,arguments)}}(e,t,n);return _o((v?Zr:To)(k,b),e,t)}function $i(e,t,n,r){return e===i||Na(e,_e[n])&&!Le.call(r,n)?t:e}function Ki(e,t,n,r,o,a){return Qa(e)&&Qa(t)&&(a.set(t,e),Nr(e,t,i,Ki,a),a.delete(t)),e}function Zi(e){return rs(e)?i:e}function Xi(e,t,n,r,o,a){var s=1&n,l=e.length,c=t.length;if(l!=c&&!(s&&c>l))return!1;var u=a.get(e),d=a.get(t);if(u&&d)return u==t&&d==e;var h=-1,p=!0,m=2&n?new qn:i;for(a.set(e,t),a.set(t,e);++h<l;){var f=e[h],g=t[h];if(r)var y=s?r(g,f,h,t,e,a):r(f,g,h,e,t,a);if(y!==i){if(y)continue;p=!1;break}if(m){if(!Mt(t,(function(e,t){if(!Zt(m,t)&&(f===e||o(f,e,n,r,a)))return m.push(t)}))){p=!1;break}}else if(f!==g&&!o(f,g,n,r,a)){p=!1;break}}return a.delete(e),a.delete(t),p}function Qi(e){return Eo(Po(e,i,Ho),e+"")}function eo(e){return Sr(e,_s,co)}function to(e){return Sr(e,Is,uo)}var no=Rn?function(e){return Rn.get(e)}:sl;function ro(e){for(var t=e.name+"",n=En[t],r=Le.call(En,t)?n.length:0;r--;){var i=n[r],o=i.func;if(null==o||o==e)return i.name}return t}function io(e){return(Le.call(Bn,"placeholder")?Bn:e).placeholder}function oo(){var e=Bn.iteratee||rl;return e=e===rl?Lr:e,arguments.length?e(arguments[0],arguments[1]):e}function ao(e,t){var n,r,i=e.__data__;return("string"==(r=typeof(n=t))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?i["string"==typeof t?"string":"hash"]:i.map}function so(e){for(var t=_s(e),n=t.length;n--;){var r=t[n],i=e[r];t[n]=[r,i,So(i)]}return t}function lo(e,t){var n=function(e,t){return null==e?i:e[t]}(e,t);return Fr(n)?n:i}var co=ft?function(e){return null==e?[]:(e=Pe(e),Rt(ft(e),(function(t){return qe.call(e,t)})))}:ml,uo=ft?function(e){for(var t=[];e;)Ft(t,co(e)),e=He(e);return t}:ml,ho=Cr;function po(e,t,n){for(var r=-1,i=(t=gi(t,e)).length,o=!1;++r<i;){var a=Do(t[r]);if(!(o=null!=e&&n(e,a)))break;e=e[a]}return o||++r!=i?o:!!(i=null==e?0:e.length)&&Xa(i)&&go(a,i)&&(Ua(e)||Wa(e))}function mo(e){return"function"!=typeof e.constructor||wo(e)?{}:Nn(He(e))}function fo(e){return Ua(e)||Wa(e)||!!(Ve&&e&&e[Ve])}function go(e,t){var n=typeof e;return!!(t=null==t?d:t)&&("number"==n||"symbol"!=n&&ye.test(e))&&e>-1&&e%1==0&&e<t}function yo(e,t,n){if(!Qa(n))return!1;var r=typeof t;return!!("number"==r?Ya(n)&&go(t,n.length):"string"==r&&t in n)&&Na(n[t],e)}function vo(e,t){if(Ua(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!ss(e))||Q.test(e)||!X.test(e)||null!=t&&e in Pe(t)}function bo(e){var t=ro(e),n=Bn[t];if("function"!=typeof n||!(t in Wn.prototype))return!1;if(e===n)return!0;var r=no(n);return!!r&&e===r[0]}(Sn&&ho(new Sn(new ArrayBuffer(1)))!=F||Cn&&ho(new Cn)!=S||Pn&&ho(Pn.resolve())!=A||An&&ho(new An)!=T||xn&&ho(new xn)!=_)&&(ho=function(e){var t=Cr(e),n=t==P?e.constructor:i,r=n?Go(n):"";if(r)switch(r){case _n:return F;case In:return S;case Fn:return A;case Ln:return T;case On:return _}return t});var ko=Ie?Ka:fl;function wo(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||_e)}function So(e){return e==e&&!Qa(e)}function Co(e,t){return function(n){return null!=n&&n[e]===t&&(t!==i||e in Pe(n))}}function Po(e,t,n){return t=gn(t===i?e.length-1:t,0),function(){for(var i=arguments,o=-1,a=gn(i.length-t,0),s=r(a);++o<a;)s[o]=i[t+o];o=-1;for(var l=r(t+1);++o<t;)l[o]=i[o];return l[t]=n(s),Ct(e,this,l)}}function Ao(e,t){return t.length<2?e:wr(e,ei(t,0,-1))}function xo(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]}var To=Io(Zr),Ro=ut||function(e,t){return dt.setTimeout(e,t)},Eo=Io(Xr);function _o(e,t,n){var r=t+"";return Eo(e,function(e,t){var n=t.length;if(!n)return e;var r=n-1;return t[r]=(n>1?"& ":"")+t[r],t=t.join(n>2?", ":" "),e.replace(oe,"{\n/* [wrapped with "+t+"] */\n")}(r,function(e,t){return At(m,(function(n){var r="_."+n[0];t&n[1]&&!Et(e,r)&&e.push(r)})),e.sort()}(function(e){var t=e.match(ae);return t?t[1].split(se):[]}(r),n)))}function Io(e){var t=0,n=0;return function(){var r=vn(),o=16-(r-n);if(n=r,o>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(i,arguments)}}function Fo(e,t){var n=-1,r=e.length,o=r-1;for(t=t===i?r:t;++n<t;){var a=Yr(n,o),s=e[a];e[a]=e[n],e[n]=s}return e.length=t,e}var Lo,Oo,Mo=(Lo=La((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(ee,(function(e,n,r,i){t.push(r?i.replace(ue,"$1"):n||e)})),t}),(function(e){return 500===Oo.size&&Oo.clear(),e})),Oo=Lo.cache,Lo);function Do(e){if("string"==typeof e||ss(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function Go(e){if(null!=e){try{return Fe.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function Bo(e){if(e instanceof Wn)return e.clone();var t=new zn(e.__wrapped__,e.__chain__);return t.__actions__=xi(e.__actions__),t.__index__=e.__index__,t.__values__=e.__values__,t}var No=Jr((function(e,t){return qa(e)?cr(e,fr(t,1,qa,!0)):[]})),jo=Jr((function(e,t){var n=$o(t);return qa(n)&&(n=i),qa(e)?cr(e,fr(t,1,qa,!0),oo(n,2)):[]})),zo=Jr((function(e,t){var n=$o(t);return qa(n)&&(n=i),qa(e)?cr(e,fr(t,1,qa,!0),i,n):[]}));function Wo(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var i=null==n?0:ps(n);return i<0&&(i=gn(r+i,0)),Bt(e,oo(t,3),i)}function Uo(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var o=r-1;return n!==i&&(o=ps(n),o=n<0?gn(r+o,0):yn(o,r-1)),Bt(e,oo(t,3),o,!0)}function Ho(e){return null!=e&&e.length?fr(e,1):[]}function Yo(e){return e&&e.length?e[0]:i}var qo=Jr((function(e){var t=It(e,mi);return t.length&&t[0]===e[0]?Tr(t):[]})),Jo=Jr((function(e){var t=$o(e),n=It(e,mi);return t===$o(n)?t=i:n.pop(),n.length&&n[0]===e[0]?Tr(n,oo(t,2)):[]})),Vo=Jr((function(e){var t=$o(e),n=It(e,mi);return(t="function"==typeof t?t:i)&&n.pop(),n.length&&n[0]===e[0]?Tr(n,i,t):[]}));function $o(e){var t=null==e?0:e.length;return t?e[t-1]:i}var Ko=Jr(Zo);function Zo(e,t){return e&&e.length&&t&&t.length?Ur(e,t):e}var Xo=Qi((function(e,t){var n=null==e?0:e.length,r=ir(e,t);return Hr(e,It(t,(function(e){return go(e,n)?+e:e})).sort(Ci)),r}));function Qo(e){return null==e?e:wn.call(e)}var ea=Jr((function(e){return si(fr(e,1,qa,!0))})),ta=Jr((function(e){var t=$o(e);return qa(t)&&(t=i),si(fr(e,1,qa,!0),oo(t,2))})),na=Jr((function(e){var t=$o(e);return t="function"==typeof t?t:i,si(fr(e,1,qa,!0),i,t)}));function ra(e){if(!e||!e.length)return[];var t=0;return e=Rt(e,(function(e){if(qa(e))return t=gn(e.length,t),!0})),Jt(t,(function(t){return It(e,Ut(t))}))}function ia(e,t){if(!e||!e.length)return[];var n=ra(e);return null==t?n:It(n,(function(e){return Ct(t,i,e)}))}var oa=Jr((function(e,t){return qa(e)?cr(e,t):[]})),aa=Jr((function(e){return hi(Rt(e,qa))})),sa=Jr((function(e){var t=$o(e);return qa(t)&&(t=i),hi(Rt(e,qa),oo(t,2))})),la=Jr((function(e){var t=$o(e);return t="function"==typeof t?t:i,hi(Rt(e,qa),i,t)})),ca=Jr(ra),ua=Jr((function(e){var t=e.length,n=t>1?e[t-1]:i;return n="function"==typeof n?(e.pop(),n):i,ia(e,n)}));function da(e){var t=Bn(e);return t.__chain__=!0,t}function ha(e,t){return t(e)}var pa=Qi((function(e){var t=e.length,n=t?e[0]:0,r=this.__wrapped__,o=function(t){return ir(t,e)};return!(t>1||this.__actions__.length)&&r instanceof Wn&&go(n)?((r=r.slice(n,+n+(t?1:0))).__actions__.push({func:ha,args:[o],thisArg:i}),new zn(r,this.__chain__).thru((function(e){return t&&!e.length&&e.push(i),e}))):this.thru(o)})),ma=Ri((function(e,t,n){Le.call(e,n)?++e[n]:rr(e,n,1)})),fa=Mi(Wo),ga=Mi(Uo);function ya(e,t){return(Ua(e)?At:ur)(e,oo(t,3))}function va(e,t){return(Ua(e)?xt:dr)(e,oo(t,3))}var ba=Ri((function(e,t,n){Le.call(e,n)?e[n].push(t):rr(e,n,[t])})),ka=Jr((function(e,t,n){var i=-1,o="function"==typeof t,a=Ya(e)?r(e.length):[];return ur(e,(function(e){a[++i]=o?Ct(t,e,n):Rr(e,t,n)})),a})),wa=Ri((function(e,t,n){rr(e,n,t)}));function Sa(e,t){return(Ua(e)?It:Dr)(e,oo(t,3))}var Ca=Ri((function(e,t,n){e[n?0:1].push(t)}),(function(){return[[],[]]})),Pa=Jr((function(e,t){if(null==e)return[];var n=t.length;return n>1&&yo(e,t[0],t[1])?t=[]:n>2&&yo(t[0],t[1],t[2])&&(t=[t[0]]),zr(e,fr(t,1),[])})),Aa=ct||function(){return dt.Date.now()};function xa(e,t,n){return t=n?i:t,t=e&&null==t?e.length:t,Vi(e,c,i,i,i,i,t)}function Ta(e,t){var n;if("function"!=typeof t)throw new Te(o);return e=ps(e),function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=i),n}}var Ra=Jr((function(e,t,n){var r=1;if(n.length){var i=sn(n,io(Ra));r|=l}return Vi(e,r,t,n,i)})),Ea=Jr((function(e,t,n){var r=3;if(n.length){var i=sn(n,io(Ea));r|=l}return Vi(t,r,e,n,i)}));function _a(e,t,n){var r,a,s,l,c,u,d=0,h=!1,p=!1,m=!0;if("function"!=typeof e)throw new Te(o);function f(t){var n=r,o=a;return r=a=i,d=t,l=e.apply(o,n)}function g(e){var n=e-u;return u===i||n>=t||n<0||p&&e-d>=s}function y(){var e=Aa();if(g(e))return v(e);c=Ro(y,function(e){var n=t-(e-u);return p?yn(n,s-(e-d)):n}(e))}function v(e){return c=i,m&&r?f(e):(r=a=i,l)}function b(){var e=Aa(),n=g(e);if(r=arguments,a=this,u=e,n){if(c===i)return function(e){return d=e,c=Ro(y,t),h?f(e):l}(u);if(p)return bi(c),c=Ro(y,t),f(u)}return c===i&&(c=Ro(y,t)),l}return t=fs(t)||0,Qa(n)&&(h=!!n.leading,s=(p="maxWait"in n)?gn(fs(n.maxWait)||0,t):s,m="trailing"in n?!!n.trailing:m),b.cancel=function(){c!==i&&bi(c),d=0,r=u=a=c=i},b.flush=function(){return c===i?l:v(Aa())},b}var Ia=Jr((function(e,t){return lr(e,1,t)})),Fa=Jr((function(e,t,n){return lr(e,fs(t)||0,n)}));function La(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new Te(o);var n=function(){var r=arguments,i=t?t.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var a=e.apply(this,r);return n.cache=o.set(i,a)||o,a};return n.cache=new(La.Cache||Yn),n}function Oa(e){if("function"!=typeof e)throw new Te(o);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}La.Cache=Yn;var Ma=yi((function(e,t){var n=(t=1==t.length&&Ua(t[0])?It(t[0],$t(oo())):It(fr(t,1),$t(oo()))).length;return Jr((function(r){for(var i=-1,o=yn(r.length,n);++i<o;)r[i]=t[i].call(this,r[i]);return Ct(e,this,r)}))})),Da=Jr((function(e,t){var n=sn(t,io(Da));return Vi(e,l,i,t,n)})),Ga=Jr((function(e,t){var n=sn(t,io(Ga));return Vi(e,64,i,t,n)})),Ba=Qi((function(e,t){return Vi(e,256,i,i,i,t)}));function Na(e,t){return e===t||e!=e&&t!=t}var ja=Ui(Pr),za=Ui((function(e,t){return e>=t})),Wa=Er(function(){return arguments}())?Er:function(e){return es(e)&&Le.call(e,"callee")&&!qe.call(e,"callee")},Ua=r.isArray,Ha=yt?$t(yt):function(e){return es(e)&&Cr(e)==I};function Ya(e){return null!=e&&Xa(e.length)&&!Ka(e)}function qa(e){return es(e)&&Ya(e)}var Ja=gt||fl,Va=vt?$t(vt):function(e){return es(e)&&Cr(e)==v};function $a(e){if(!es(e))return!1;var t=Cr(e);return t==b||"[object DOMException]"==t||"string"==typeof e.message&&"string"==typeof e.name&&!rs(e)}function Ka(e){if(!Qa(e))return!1;var t=Cr(e);return t==k||t==w||"[object AsyncFunction]"==t||"[object Proxy]"==t}function Za(e){return"number"==typeof e&&e==ps(e)}function Xa(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=d}function Qa(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function es(e){return null!=e&&"object"==typeof e}var ts=bt?$t(bt):function(e){return es(e)&&ho(e)==S};function ns(e){return"number"==typeof e||es(e)&&Cr(e)==C}function rs(e){if(!es(e)||Cr(e)!=P)return!1;var t=He(e);if(null===t)return!0;var n=Le.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&Fe.call(n)==Ge}var is=kt?$t(kt):function(e){return es(e)&&Cr(e)==x},os=wt?$t(wt):function(e){return es(e)&&ho(e)==T};function as(e){return"string"==typeof e||!Ua(e)&&es(e)&&Cr(e)==R}function ss(e){return"symbol"==typeof e||es(e)&&Cr(e)==E}var ls=St?$t(St):function(e){return es(e)&&Xa(e.length)&&!!it[Cr(e)]},cs=Ui(Mr),us=Ui((function(e,t){return e<=t}));function ds(e){if(!e)return[];if(Ya(e))return as(e)?dn(e):xi(e);if($e&&e[$e])return function(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}(e[$e]());var t=ho(e);return(t==S?on:t==T?ln:Ns)(e)}function hs(e){return e?(e=fs(e))===u||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}function ps(e){var t=hs(e),n=t%1;return t==t?n?t-n:t:0}function ms(e){return e?or(ps(e),0,p):0}function fs(e){if("number"==typeof e)return e;if(ss(e))return h;if(Qa(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=Qa(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=Vt(e);var n=me.test(e);return n||ge.test(e)?lt(e.slice(2),n?2:8):pe.test(e)?h:+e}function gs(e){return Ti(e,Is(e))}function ys(e){return null==e?"":ai(e)}var vs=Ei((function(e,t){if(wo(t)||Ya(t))Ti(t,_s(t),e);else for(var n in t)Le.call(t,n)&&Qn(e,n,t[n])})),bs=Ei((function(e,t){Ti(t,Is(t),e)})),ks=Ei((function(e,t,n,r){Ti(t,Is(t),e,r)})),ws=Ei((function(e,t,n,r){Ti(t,_s(t),e,r)})),Ss=Qi(ir),Cs=Jr((function(e,t){e=Pe(e);var n=-1,r=t.length,o=r>2?t[2]:i;for(o&&yo(t[0],t[1],o)&&(r=1);++n<r;)for(var a=t[n],s=Is(a),l=-1,c=s.length;++l<c;){var u=s[l],d=e[u];(d===i||Na(d,_e[u])&&!Le.call(e,u))&&(e[u]=a[u])}return e})),Ps=Jr((function(e){return e.push(i,Ki),Ct(Ls,i,e)}));function As(e,t,n){var r=null==e?i:wr(e,t);return r===i?n:r}function xs(e,t){return null!=e&&po(e,t,xr)}var Ts=Bi((function(e,t,n){null!=t&&"function"!=typeof t.toString&&(t=De.call(t)),e[t]=n}),Qs(nl)),Rs=Bi((function(e,t,n){null!=t&&"function"!=typeof t.toString&&(t=De.call(t)),Le.call(e,t)?e[t].push(n):e[t]=[n]}),oo),Es=Jr(Rr);function _s(e){return Ya(e)?Vn(e):Or(e)}function Is(e){return Ya(e)?Vn(e,!0):function(e){if(!Qa(e))return function(e){var t=[];if(null!=e)for(var n in Pe(e))t.push(n);return t}(e);var t=wo(e),n=[];for(var r in e)("constructor"!=r||!t&&Le.call(e,r))&&n.push(r);return n}(e)}var Fs=Ei((function(e,t,n){Nr(e,t,n)})),Ls=Ei((function(e,t,n,r){Nr(e,t,n,r)})),Os=Qi((function(e,t){var n={};if(null==e)return n;var r=!1;t=It(t,(function(t){return t=gi(t,e),r||(r=t.length>1),t})),Ti(e,to(e),n),r&&(n=ar(n,7,Zi));for(var i=t.length;i--;)li(n,t[i]);return n})),Ms=Qi((function(e,t){return null==e?{}:function(e,t){return Wr(e,t,(function(t,n){return xs(e,n)}))}(e,t)}));function Ds(e,t){if(null==e)return{};var n=It(to(e),(function(e){return[e]}));return t=oo(t),Wr(e,n,(function(e,n){return t(e,n[0])}))}var Gs=Ji(_s),Bs=Ji(Is);function Ns(e){return null==e?[]:Kt(e,_s(e))}var js=Li((function(e,t,n){return t=t.toLowerCase(),e+(n?zs(t):t)}));function zs(e){return $s(ys(e).toLowerCase())}function Ws(e){return(e=ys(e))&&e.replace(ve,en).replace(Ze,"")}var Us=Li((function(e,t,n){return e+(n?"-":"")+t.toLowerCase()})),Hs=Li((function(e,t,n){return e+(n?" ":"")+t.toLowerCase()})),Ys=Fi("toLowerCase"),qs=Li((function(e,t,n){return e+(n?"_":"")+t.toLowerCase()})),Js=Li((function(e,t,n){return e+(n?" ":"")+$s(t)})),Vs=Li((function(e,t,n){return e+(n?" ":"")+t.toUpperCase()})),$s=Fi("toUpperCase");function Ks(e,t,n){return e=ys(e),(t=n?i:t)===i?function(e){return tt.test(e)}(e)?function(e){return e.match(Qe)||[]}(e):function(e){return e.match(le)||[]}(e):e.match(t)||[]}var Zs=Jr((function(e,t){try{return Ct(e,i,t)}catch(e){return $a(e)?e:new we(e)}})),Xs=Qi((function(e,t){return At(t,(function(t){t=Do(t),rr(e,t,Ra(e[t],e))})),e}));function Qs(e){return function(){return e}}var el=Di(),tl=Di(!0);function nl(e){return e}function rl(e){return Lr("function"==typeof e?e:ar(e,1))}var il=Jr((function(e,t){return function(n){return Rr(n,e,t)}})),ol=Jr((function(e,t){return function(n){return Rr(e,n,t)}}));function al(e,t,n){var r=_s(t),i=kr(t,r);null!=n||Qa(t)&&(i.length||!r.length)||(n=t,t=e,e=this,i=kr(t,_s(t)));var o=!(Qa(n)&&"chain"in n&&!n.chain),a=Ka(e);return At(i,(function(n){var r=t[n];e[n]=r,a&&(e.prototype[n]=function(){var t=this.__chain__;if(o||t){var n=e(this.__wrapped__);return(n.__actions__=xi(this.__actions__)).push({func:r,args:arguments,thisArg:e}),n.__chain__=t,n}return r.apply(e,Ft([this.value()],arguments))})})),e}function sl(){}var ll=ji(It),cl=ji(Tt),ul=ji(Mt);function dl(e){return vo(e)?Ut(Do(e)):function(e){return function(t){return wr(t,e)}}(e)}var hl=Wi(),pl=Wi(!0);function ml(){return[]}function fl(){return!1}var gl,yl=Ni((function(e,t){return e+t}),0),vl=Yi("ceil"),bl=Ni((function(e,t){return e/t}),1),kl=Yi("floor"),wl=Ni((function(e,t){return e*t}),1),Sl=Yi("round"),Cl=Ni((function(e,t){return e-t}),0);return Bn.after=function(e,t){if("function"!=typeof t)throw new Te(o);return e=ps(e),function(){if(--e<1)return t.apply(this,arguments)}},Bn.ary=xa,Bn.assign=vs,Bn.assignIn=bs,Bn.assignInWith=ks,Bn.assignWith=ws,Bn.at=Ss,Bn.before=Ta,Bn.bind=Ra,Bn.bindAll=Xs,Bn.bindKey=Ea,Bn.castArray=function(){if(!arguments.length)return[];var e=arguments[0];return Ua(e)?e:[e]},Bn.chain=da,Bn.chunk=function(e,t,n){t=(n?yo(e,t,n):t===i)?1:gn(ps(t),0);var o=null==e?0:e.length;if(!o||t<1)return[];for(var a=0,s=0,l=r(ht(o/t));a<o;)l[s++]=ei(e,a,a+=t);return l},Bn.compact=function(e){for(var t=-1,n=null==e?0:e.length,r=0,i=[];++t<n;){var o=e[t];o&&(i[r++]=o)}return i},Bn.concat=function(){var e=arguments.length;if(!e)return[];for(var t=r(e-1),n=arguments[0],i=e;i--;)t[i-1]=arguments[i];return Ft(Ua(n)?xi(n):[n],fr(t,1))},Bn.cond=function(e){var t=null==e?0:e.length,n=oo();return e=t?It(e,(function(e){if("function"!=typeof e[1])throw new Te(o);return[n(e[0]),e[1]]})):[],Jr((function(n){for(var r=-1;++r<t;){var i=e[r];if(Ct(i[0],this,n))return Ct(i[1],this,n)}}))},Bn.conforms=function(e){return function(e){var t=_s(e);return function(n){return sr(n,e,t)}}(ar(e,1))},Bn.constant=Qs,Bn.countBy=ma,Bn.create=function(e,t){var n=Nn(e);return null==t?n:nr(n,t)},Bn.curry=function e(t,n,r){var o=Vi(t,8,i,i,i,i,i,n=r?i:n);return o.placeholder=e.placeholder,o},Bn.curryRight=function e(t,n,r){var o=Vi(t,16,i,i,i,i,i,n=r?i:n);return o.placeholder=e.placeholder,o},Bn.debounce=_a,Bn.defaults=Cs,Bn.defaultsDeep=Ps,Bn.defer=Ia,Bn.delay=Fa,Bn.difference=No,Bn.differenceBy=jo,Bn.differenceWith=zo,Bn.drop=function(e,t,n){var r=null==e?0:e.length;return r?ei(e,(t=n||t===i?1:ps(t))<0?0:t,r):[]},Bn.dropRight=function(e,t,n){var r=null==e?0:e.length;return r?ei(e,0,(t=r-(t=n||t===i?1:ps(t)))<0?0:t):[]},Bn.dropRightWhile=function(e,t){return e&&e.length?ui(e,oo(t,3),!0,!0):[]},Bn.dropWhile=function(e,t){return e&&e.length?ui(e,oo(t,3),!0):[]},Bn.fill=function(e,t,n,r){var o=null==e?0:e.length;return o?(n&&"number"!=typeof n&&yo(e,t,n)&&(n=0,r=o),function(e,t,n,r){var o=e.length;for((n=ps(n))<0&&(n=-n>o?0:o+n),(r=r===i||r>o?o:ps(r))<0&&(r+=o),r=n>r?0:ms(r);n<r;)e[n++]=t;return e}(e,t,n,r)):[]},Bn.filter=function(e,t){return(Ua(e)?Rt:mr)(e,oo(t,3))},Bn.flatMap=function(e,t){return fr(Sa(e,t),1)},Bn.flatMapDeep=function(e,t){return fr(Sa(e,t),u)},Bn.flatMapDepth=function(e,t,n){return n=n===i?1:ps(n),fr(Sa(e,t),n)},Bn.flatten=Ho,Bn.flattenDeep=function(e){return null!=e&&e.length?fr(e,u):[]},Bn.flattenDepth=function(e,t){return null!=e&&e.length?fr(e,t=t===i?1:ps(t)):[]},Bn.flip=function(e){return Vi(e,512)},Bn.flow=el,Bn.flowRight=tl,Bn.fromPairs=function(e){for(var t=-1,n=null==e?0:e.length,r={};++t<n;){var i=e[t];r[i[0]]=i[1]}return r},Bn.functions=function(e){return null==e?[]:kr(e,_s(e))},Bn.functionsIn=function(e){return null==e?[]:kr(e,Is(e))},Bn.groupBy=ba,Bn.initial=function(e){return null!=e&&e.length?ei(e,0,-1):[]},Bn.intersection=qo,Bn.intersectionBy=Jo,Bn.intersectionWith=Vo,Bn.invert=Ts,Bn.invertBy=Rs,Bn.invokeMap=ka,Bn.iteratee=rl,Bn.keyBy=wa,Bn.keys=_s,Bn.keysIn=Is,Bn.map=Sa,Bn.mapKeys=function(e,t){var n={};return t=oo(t,3),vr(e,(function(e,r,i){rr(n,t(e,r,i),e)})),n},Bn.mapValues=function(e,t){var n={};return t=oo(t,3),vr(e,(function(e,r,i){rr(n,r,t(e,r,i))})),n},Bn.matches=function(e){return Gr(ar(e,1))},Bn.matchesProperty=function(e,t){return Br(e,ar(t,1))},Bn.memoize=La,Bn.merge=Fs,Bn.mergeWith=Ls,Bn.method=il,Bn.methodOf=ol,Bn.mixin=al,Bn.negate=Oa,Bn.nthArg=function(e){return e=ps(e),Jr((function(t){return jr(t,e)}))},Bn.omit=Os,Bn.omitBy=function(e,t){return Ds(e,Oa(oo(t)))},Bn.once=function(e){return Ta(2,e)},Bn.orderBy=function(e,t,n,r){return null==e?[]:(Ua(t)||(t=null==t?[]:[t]),Ua(n=r?i:n)||(n=null==n?[]:[n]),zr(e,t,n))},Bn.over=ll,Bn.overArgs=Ma,Bn.overEvery=cl,Bn.overSome=ul,Bn.partial=Da,Bn.partialRight=Ga,Bn.partition=Ca,Bn.pick=Ms,Bn.pickBy=Ds,Bn.property=dl,Bn.propertyOf=function(e){return function(t){return null==e?i:wr(e,t)}},Bn.pull=Ko,Bn.pullAll=Zo,Bn.pullAllBy=function(e,t,n){return e&&e.length&&t&&t.length?Ur(e,t,oo(n,2)):e},Bn.pullAllWith=function(e,t,n){return e&&e.length&&t&&t.length?Ur(e,t,i,n):e},Bn.pullAt=Xo,Bn.range=hl,Bn.rangeRight=pl,Bn.rearg=Ba,Bn.reject=function(e,t){return(Ua(e)?Rt:mr)(e,Oa(oo(t,3)))},Bn.remove=function(e,t){var n=[];if(!e||!e.length)return n;var r=-1,i=[],o=e.length;for(t=oo(t,3);++r<o;){var a=e[r];t(a,r,e)&&(n.push(a),i.push(r))}return Hr(e,i),n},Bn.rest=function(e,t){if("function"!=typeof e)throw new Te(o);return Jr(e,t=t===i?t:ps(t))},Bn.reverse=Qo,Bn.sampleSize=function(e,t,n){return t=(n?yo(e,t,n):t===i)?1:ps(t),(Ua(e)?Kn:$r)(e,t)},Bn.set=function(e,t,n){return null==e?e:Kr(e,t,n)},Bn.setWith=function(e,t,n,r){return r="function"==typeof r?r:i,null==e?e:Kr(e,t,n,r)},Bn.shuffle=function(e){return(Ua(e)?Zn:Qr)(e)},Bn.slice=function(e,t,n){var r=null==e?0:e.length;return r?(n&&"number"!=typeof n&&yo(e,t,n)?(t=0,n=r):(t=null==t?0:ps(t),n=n===i?r:ps(n)),ei(e,t,n)):[]},Bn.sortBy=Pa,Bn.sortedUniq=function(e){return e&&e.length?ii(e):[]},Bn.sortedUniqBy=function(e,t){return e&&e.length?ii(e,oo(t,2)):[]},Bn.split=function(e,t,n){return n&&"number"!=typeof n&&yo(e,t,n)&&(t=n=i),(n=n===i?p:n>>>0)?(e=ys(e))&&("string"==typeof t||null!=t&&!is(t))&&!(t=ai(t))&&rn(e)?vi(dn(e),0,n):e.split(t,n):[]},Bn.spread=function(e,t){if("function"!=typeof e)throw new Te(o);return t=null==t?0:gn(ps(t),0),Jr((function(n){var r=n[t],i=vi(n,0,t);return r&&Ft(i,r),Ct(e,this,i)}))},Bn.tail=function(e){var t=null==e?0:e.length;return t?ei(e,1,t):[]},Bn.take=function(e,t,n){return e&&e.length?ei(e,0,(t=n||t===i?1:ps(t))<0?0:t):[]},Bn.takeRight=function(e,t,n){var r=null==e?0:e.length;return r?ei(e,(t=r-(t=n||t===i?1:ps(t)))<0?0:t,r):[]},Bn.takeRightWhile=function(e,t){return e&&e.length?ui(e,oo(t,3),!1,!0):[]},Bn.takeWhile=function(e,t){return e&&e.length?ui(e,oo(t,3)):[]},Bn.tap=function(e,t){return t(e),e},Bn.throttle=function(e,t,n){var r=!0,i=!0;if("function"!=typeof e)throw new Te(o);return Qa(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),_a(e,t,{leading:r,maxWait:t,trailing:i})},Bn.thru=ha,Bn.toArray=ds,Bn.toPairs=Gs,Bn.toPairsIn=Bs,Bn.toPath=function(e){return Ua(e)?It(e,Do):ss(e)?[e]:xi(Mo(ys(e)))},Bn.toPlainObject=gs,Bn.transform=function(e,t,n){var r=Ua(e),i=r||Ja(e)||ls(e);if(t=oo(t,4),null==n){var o=e&&e.constructor;n=i?r?new o:[]:Qa(e)&&Ka(o)?Nn(He(e)):{}}return(i?At:vr)(e,(function(e,r,i){return t(n,e,r,i)})),n},Bn.unary=function(e){return xa(e,1)},Bn.union=ea,Bn.unionBy=ta,Bn.unionWith=na,Bn.uniq=function(e){return e&&e.length?si(e):[]},Bn.uniqBy=function(e,t){return e&&e.length?si(e,oo(t,2)):[]},Bn.uniqWith=function(e,t){return t="function"==typeof t?t:i,e&&e.length?si(e,i,t):[]},Bn.unset=function(e,t){return null==e||li(e,t)},Bn.unzip=ra,Bn.unzipWith=ia,Bn.update=function(e,t,n){return null==e?e:ci(e,t,fi(n))},Bn.updateWith=function(e,t,n,r){return r="function"==typeof r?r:i,null==e?e:ci(e,t,fi(n),r)},Bn.values=Ns,Bn.valuesIn=function(e){return null==e?[]:Kt(e,Is(e))},Bn.without=oa,Bn.words=Ks,Bn.wrap=function(e,t){return Da(fi(t),e)},Bn.xor=aa,Bn.xorBy=sa,Bn.xorWith=la,Bn.zip=ca,Bn.zipObject=function(e,t){return pi(e||[],t||[],Qn)},Bn.zipObjectDeep=function(e,t){return pi(e||[],t||[],Kr)},Bn.zipWith=ua,Bn.entries=Gs,Bn.entriesIn=Bs,Bn.extend=bs,Bn.extendWith=ks,al(Bn,Bn),Bn.add=yl,Bn.attempt=Zs,Bn.camelCase=js,Bn.capitalize=zs,Bn.ceil=vl,Bn.clamp=function(e,t,n){return n===i&&(n=t,t=i),n!==i&&(n=(n=fs(n))==n?n:0),t!==i&&(t=(t=fs(t))==t?t:0),or(fs(e),t,n)},Bn.clone=function(e){return ar(e,4)},Bn.cloneDeep=function(e){return ar(e,5)},Bn.cloneDeepWith=function(e,t){return ar(e,5,t="function"==typeof t?t:i)},Bn.cloneWith=function(e,t){return ar(e,4,t="function"==typeof t?t:i)},Bn.conformsTo=function(e,t){return null==t||sr(e,t,_s(t))},Bn.deburr=Ws,Bn.defaultTo=function(e,t){return null==e||e!=e?t:e},Bn.divide=bl,Bn.endsWith=function(e,t,n){e=ys(e),t=ai(t);var r=e.length,o=n=n===i?r:or(ps(n),0,r);return(n-=t.length)>=0&&e.slice(n,o)==t},Bn.eq=Na,Bn.escape=function(e){return(e=ys(e))&&V.test(e)?e.replace(q,tn):e},Bn.escapeRegExp=function(e){return(e=ys(e))&&ne.test(e)?e.replace(te,"\\$&"):e},Bn.every=function(e,t,n){var r=Ua(e)?Tt:hr;return n&&yo(e,t,n)&&(t=i),r(e,oo(t,3))},Bn.find=fa,Bn.findIndex=Wo,Bn.findKey=function(e,t){return Gt(e,oo(t,3),vr)},Bn.findLast=ga,Bn.findLastIndex=Uo,Bn.findLastKey=function(e,t){return Gt(e,oo(t,3),br)},Bn.floor=kl,Bn.forEach=ya,Bn.forEachRight=va,Bn.forIn=function(e,t){return null==e?e:gr(e,oo(t,3),Is)},Bn.forInRight=function(e,t){return null==e?e:yr(e,oo(t,3),Is)},Bn.forOwn=function(e,t){return e&&vr(e,oo(t,3))},Bn.forOwnRight=function(e,t){return e&&br(e,oo(t,3))},Bn.get=As,Bn.gt=ja,Bn.gte=za,Bn.has=function(e,t){return null!=e&&po(e,t,Ar)},Bn.hasIn=xs,Bn.head=Yo,Bn.identity=nl,Bn.includes=function(e,t,n,r){e=Ya(e)?e:Ns(e),n=n&&!r?ps(n):0;var i=e.length;return n<0&&(n=gn(i+n,0)),as(e)?n<=i&&e.indexOf(t,n)>-1:!!i&&Nt(e,t,n)>-1},Bn.indexOf=function(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var i=null==n?0:ps(n);return i<0&&(i=gn(r+i,0)),Nt(e,t,i)},Bn.inRange=function(e,t,n){return t=hs(t),n===i?(n=t,t=0):n=hs(n),function(e,t,n){return e>=yn(t,n)&&e<gn(t,n)}(e=fs(e),t,n)},Bn.invoke=Es,Bn.isArguments=Wa,Bn.isArray=Ua,Bn.isArrayBuffer=Ha,Bn.isArrayLike=Ya,Bn.isArrayLikeObject=qa,Bn.isBoolean=function(e){return!0===e||!1===e||es(e)&&Cr(e)==y},Bn.isBuffer=Ja,Bn.isDate=Va,Bn.isElement=function(e){return es(e)&&1===e.nodeType&&!rs(e)},Bn.isEmpty=function(e){if(null==e)return!0;if(Ya(e)&&(Ua(e)||"string"==typeof e||"function"==typeof e.splice||Ja(e)||ls(e)||Wa(e)))return!e.length;var t=ho(e);if(t==S||t==T)return!e.size;if(wo(e))return!Or(e).length;for(var n in e)if(Le.call(e,n))return!1;return!0},Bn.isEqual=function(e,t){return _r(e,t)},Bn.isEqualWith=function(e,t,n){var r=(n="function"==typeof n?n:i)?n(e,t):i;return r===i?_r(e,t,i,n):!!r},Bn.isError=$a,Bn.isFinite=function(e){return"number"==typeof e&&Dt(e)},Bn.isFunction=Ka,Bn.isInteger=Za,Bn.isLength=Xa,Bn.isMap=ts,Bn.isMatch=function(e,t){return e===t||Ir(e,t,so(t))},Bn.isMatchWith=function(e,t,n){return n="function"==typeof n?n:i,Ir(e,t,so(t),n)},Bn.isNaN=function(e){return ns(e)&&e!=+e},Bn.isNative=function(e){if(ko(e))throw new we("Unsupported core-js use. Try https://npms.io/search?q=ponyfill.");return Fr(e)},Bn.isNil=function(e){return null==e},Bn.isNull=function(e){return null===e},Bn.isNumber=ns,Bn.isObject=Qa,Bn.isObjectLike=es,Bn.isPlainObject=rs,Bn.isRegExp=is,Bn.isSafeInteger=function(e){return Za(e)&&e>=-9007199254740991&&e<=d},Bn.isSet=os,Bn.isString=as,Bn.isSymbol=ss,Bn.isTypedArray=ls,Bn.isUndefined=function(e){return e===i},Bn.isWeakMap=function(e){return es(e)&&ho(e)==_},Bn.isWeakSet=function(e){return es(e)&&"[object WeakSet]"==Cr(e)},Bn.join=function(e,t){return null==e?"":Ht.call(e,t)},Bn.kebabCase=Us,Bn.last=$o,Bn.lastIndexOf=function(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var o=r;return n!==i&&(o=(o=ps(n))<0?gn(r+o,0):yn(o,r-1)),t==t?function(e,t,n){for(var r=n+1;r--;)if(e[r]===t)return r;return r}(e,t,o):Bt(e,zt,o,!0)},Bn.lowerCase=Hs,Bn.lowerFirst=Ys,Bn.lt=cs,Bn.lte=us,Bn.max=function(e){return e&&e.length?pr(e,nl,Pr):i},Bn.maxBy=function(e,t){return e&&e.length?pr(e,oo(t,2),Pr):i},Bn.mean=function(e){return Wt(e,nl)},Bn.meanBy=function(e,t){return Wt(e,oo(t,2))},Bn.min=function(e){return e&&e.length?pr(e,nl,Mr):i},Bn.minBy=function(e,t){return e&&e.length?pr(e,oo(t,2),Mr):i},Bn.stubArray=ml,Bn.stubFalse=fl,Bn.stubObject=function(){return{}},Bn.stubString=function(){return""},Bn.stubTrue=function(){return!0},Bn.multiply=wl,Bn.nth=function(e,t){return e&&e.length?jr(e,ps(t)):i},Bn.noConflict=function(){return dt._===this&&(dt._=Be),this},Bn.noop=sl,Bn.now=Aa,Bn.pad=function(e,t,n){e=ys(e);var r=(t=ps(t))?un(e):0;if(!t||r>=t)return e;var i=(t-r)/2;return zi(pt(i),n)+e+zi(ht(i),n)},Bn.padEnd=function(e,t,n){e=ys(e);var r=(t=ps(t))?un(e):0;return t&&r<t?e+zi(t-r,n):e},Bn.padStart=function(e,t,n){e=ys(e);var r=(t=ps(t))?un(e):0;return t&&r<t?zi(t-r,n)+e:e},Bn.parseInt=function(e,t,n){return n||null==t?t=0:t&&(t=+t),bn(ys(e).replace(re,""),t||0)},Bn.random=function(e,t,n){if(n&&"boolean"!=typeof n&&yo(e,t,n)&&(t=n=i),n===i&&("boolean"==typeof t?(n=t,t=i):"boolean"==typeof e&&(n=e,e=i)),e===i&&t===i?(e=0,t=1):(e=hs(e),t===i?(t=e,e=0):t=hs(t)),e>t){var r=e;e=t,t=r}if(n||e%1||t%1){var o=kn();return yn(e+o*(t-e+st("1e-"+((o+"").length-1))),t)}return Yr(e,t)},Bn.reduce=function(e,t,n){var r=Ua(e)?Lt:Yt,i=arguments.length<3;return r(e,oo(t,4),n,i,ur)},Bn.reduceRight=function(e,t,n){var r=Ua(e)?Ot:Yt,i=arguments.length<3;return r(e,oo(t,4),n,i,dr)},Bn.repeat=function(e,t,n){return t=(n?yo(e,t,n):t===i)?1:ps(t),qr(ys(e),t)},Bn.replace=function(){var e=arguments,t=ys(e[0]);return e.length<3?t:t.replace(e[1],e[2])},Bn.result=function(e,t,n){var r=-1,o=(t=gi(t,e)).length;for(o||(o=1,e=i);++r<o;){var a=null==e?i:e[Do(t[r])];a===i&&(r=o,a=n),e=Ka(a)?a.call(e):a}return e},Bn.round=Sl,Bn.runInContext=e,Bn.sample=function(e){return(Ua(e)?$n:Vr)(e)},Bn.size=function(e){if(null==e)return 0;if(Ya(e))return as(e)?un(e):e.length;var t=ho(e);return t==S||t==T?e.size:Or(e).length},Bn.snakeCase=qs,Bn.some=function(e,t,n){var r=Ua(e)?Mt:ti;return n&&yo(e,t,n)&&(t=i),r(e,oo(t,3))},Bn.sortedIndex=function(e,t){return ni(e,t)},Bn.sortedIndexBy=function(e,t,n){return ri(e,t,oo(n,2))},Bn.sortedIndexOf=function(e,t){var n=null==e?0:e.length;if(n){var r=ni(e,t);if(r<n&&Na(e[r],t))return r}return-1},Bn.sortedLastIndex=function(e,t){return ni(e,t,!0)},Bn.sortedLastIndexBy=function(e,t,n){return ri(e,t,oo(n,2),!0)},Bn.sortedLastIndexOf=function(e,t){if(null!=e&&e.length){var n=ni(e,t,!0)-1;if(Na(e[n],t))return n}return-1},Bn.startCase=Js,Bn.startsWith=function(e,t,n){return e=ys(e),n=null==n?0:or(ps(n),0,e.length),t=ai(t),e.slice(n,n+t.length)==t},Bn.subtract=Cl,Bn.sum=function(e){return e&&e.length?qt(e,nl):0},Bn.sumBy=function(e,t){return e&&e.length?qt(e,oo(t,2)):0},Bn.template=function(e,t,n){var r=Bn.templateSettings;n&&yo(e,t,n)&&(t=i),e=ys(e),t=ks({},t,r,$i);var o,a,s=ks({},t.imports,r.imports,$i),l=_s(s),c=Kt(s,l),u=0,d=t.interpolate||be,h="__p += '",p=Ae((t.escape||be).source+"|"+d.source+"|"+(d===Z?de:be).source+"|"+(t.evaluate||be).source+"|$","g"),m="//# sourceURL="+(Le.call(t,"sourceURL")?(t.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++rt+"]")+"\n";e.replace(p,(function(t,n,r,i,s,l){return r||(r=i),h+=e.slice(u,l).replace(ke,nn),n&&(o=!0,h+="' +\n__e("+n+") +\n'"),s&&(a=!0,h+="';\n"+s+";\n__p += '"),r&&(h+="' +\n((__t = ("+r+")) == null ? '' : __t) +\n'"),u=l+t.length,t})),h+="';\n";var f=Le.call(t,"variable")&&t.variable;if(f){if(ce.test(f))throw new we("Invalid `variable` option passed into `_.template`")}else h="with (obj) {\n"+h+"\n}\n";h=(a?h.replace(W,""):h).replace(U,"$1").replace(H,"$1;"),h="function("+(f||"obj")+") {\n"+(f?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(o?", __e = _.escape":"")+(a?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+h+"return __p\n}";var g=Zs((function(){return Se(l,m+"return "+h).apply(i,c)}));if(g.source=h,$a(g))throw g;return g},Bn.times=function(e,t){if((e=ps(e))<1||e>d)return[];var n=p,r=yn(e,p);t=oo(t),e-=p;for(var i=Jt(r,t);++n<e;)t(n);return i},Bn.toFinite=hs,Bn.toInteger=ps,Bn.toLength=ms,Bn.toLower=function(e){return ys(e).toLowerCase()},Bn.toNumber=fs,Bn.toSafeInteger=function(e){return e?or(ps(e),-9007199254740991,d):0===e?e:0},Bn.toString=ys,Bn.toUpper=function(e){return ys(e).toUpperCase()},Bn.trim=function(e,t,n){if((e=ys(e))&&(n||t===i))return Vt(e);if(!e||!(t=ai(t)))return e;var r=dn(e),o=dn(t);return vi(r,Xt(r,o),Qt(r,o)+1).join("")},Bn.trimEnd=function(e,t,n){if((e=ys(e))&&(n||t===i))return e.slice(0,hn(e)+1);if(!e||!(t=ai(t)))return e;var r=dn(e);return vi(r,0,Qt(r,dn(t))+1).join("")},Bn.trimStart=function(e,t,n){if((e=ys(e))&&(n||t===i))return e.replace(re,"");if(!e||!(t=ai(t)))return e;var r=dn(e);return vi(r,Xt(r,dn(t))).join("")},Bn.truncate=function(e,t){var n=30,r="...";if(Qa(t)){var o="separator"in t?t.separator:o;n="length"in t?ps(t.length):n,r="omission"in t?ai(t.omission):r}var a=(e=ys(e)).length;if(rn(e)){var s=dn(e);a=s.length}if(n>=a)return e;var l=n-un(r);if(l<1)return r;var c=s?vi(s,0,l).join(""):e.slice(0,l);if(o===i)return c+r;if(s&&(l+=c.length-l),is(o)){if(e.slice(l).search(o)){var u,d=c;for(o.global||(o=Ae(o.source,ys(he.exec(o))+"g")),o.lastIndex=0;u=o.exec(d);)var h=u.index;c=c.slice(0,h===i?l:h)}}else if(e.indexOf(ai(o),l)!=l){var p=c.lastIndexOf(o);p>-1&&(c=c.slice(0,p))}return c+r},Bn.unescape=function(e){return(e=ys(e))&&J.test(e)?e.replace(Y,pn):e},Bn.uniqueId=function(e){var t=++Oe;return ys(e)+t},Bn.upperCase=Vs,Bn.upperFirst=$s,Bn.each=ya,Bn.eachRight=va,Bn.first=Yo,al(Bn,(gl={},vr(Bn,(function(e,t){Le.call(Bn.prototype,t)||(gl[t]=e)})),gl),{chain:!1}),Bn.VERSION="4.17.21",At(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(e){Bn[e].placeholder=Bn})),At(["drop","take"],(function(e,t){Wn.prototype[e]=function(n){n=n===i?1:gn(ps(n),0);var r=this.__filtered__&&!t?new Wn(this):this.clone();return r.__filtered__?r.__takeCount__=yn(n,r.__takeCount__):r.__views__.push({size:yn(n,p),type:e+(r.__dir__<0?"Right":"")}),r},Wn.prototype[e+"Right"]=function(t){return this.reverse()[e](t).reverse()}})),At(["filter","map","takeWhile"],(function(e,t){var n=t+1,r=1==n||3==n;Wn.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:oo(e,3),type:n}),t.__filtered__=t.__filtered__||r,t}})),At(["head","last"],(function(e,t){var n="take"+(t?"Right":"");Wn.prototype[e]=function(){return this[n](1).value()[0]}})),At(["initial","tail"],(function(e,t){var n="drop"+(t?"":"Right");Wn.prototype[e]=function(){return this.__filtered__?new Wn(this):this[n](1)}})),Wn.prototype.compact=function(){return this.filter(nl)},Wn.prototype.find=function(e){return this.filter(e).head()},Wn.prototype.findLast=function(e){return this.reverse().find(e)},Wn.prototype.invokeMap=Jr((function(e,t){return"function"==typeof e?new Wn(this):this.map((function(n){return Rr(n,e,t)}))})),Wn.prototype.reject=function(e){return this.filter(Oa(oo(e)))},Wn.prototype.slice=function(e,t){e=ps(e);var n=this;return n.__filtered__&&(e>0||t<0)?new Wn(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),t!==i&&(n=(t=ps(t))<0?n.dropRight(-t):n.take(t-e)),n)},Wn.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},Wn.prototype.toArray=function(){return this.take(p)},vr(Wn.prototype,(function(e,t){var n=/^(?:filter|find|map|reject)|While$/.test(t),r=/^(?:head|last)$/.test(t),o=Bn[r?"take"+("last"==t?"Right":""):t],a=r||/^find/.test(t);o&&(Bn.prototype[t]=function(){var t=this.__wrapped__,s=r?[1]:arguments,l=t instanceof Wn,c=s[0],u=l||Ua(t),d=function(e){var t=o.apply(Bn,Ft([e],s));return r&&h?t[0]:t};u&&n&&"function"==typeof c&&1!=c.length&&(l=u=!1);var h=this.__chain__,p=!!this.__actions__.length,m=a&&!h,f=l&&!p;if(!a&&u){t=f?t:new Wn(this);var g=e.apply(t,s);return g.__actions__.push({func:ha,args:[d],thisArg:i}),new zn(g,h)}return m&&f?e.apply(this,s):(g=this.thru(d),m?r?g.value()[0]:g.value():g)})})),At(["pop","push","shift","sort","splice","unshift"],(function(e){var t=Re[e],n=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",r=/^(?:pop|shift)$/.test(e);Bn.prototype[e]=function(){var e=arguments;if(r&&!this.__chain__){var i=this.value();return t.apply(Ua(i)?i:[],e)}return this[n]((function(n){return t.apply(Ua(n)?n:[],e)}))}})),vr(Wn.prototype,(function(e,t){var n=Bn[t];if(n){var r=n.name+"";Le.call(En,r)||(En[r]=[]),En[r].push({name:t,func:n})}})),En[Gi(i,2).name]=[{name:"wrapper",func:i}],Wn.prototype.clone=function(){var e=new Wn(this.__wrapped__);return e.__actions__=xi(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=xi(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=xi(this.__views__),e},Wn.prototype.reverse=function(){if(this.__filtered__){var e=new Wn(this);e.__dir__=-1,e.__filtered__=!0}else(e=this.clone()).__dir__*=-1;return e},Wn.prototype.value=function(){var e=this.__wrapped__.value(),t=this.__dir__,n=Ua(e),r=t<0,i=n?e.length:0,o=function(e,t,n){for(var r=-1,i=n.length;++r<i;){var o=n[r],a=o.size;switch(o.type){case"drop":e+=a;break;case"dropRight":t-=a;break;case"take":t=yn(t,e+a);break;case"takeRight":e=gn(e,t-a)}}return{start:e,end:t}}(0,i,this.__views__),a=o.start,s=o.end,l=s-a,c=r?s:a-1,u=this.__iteratees__,d=u.length,h=0,p=yn(l,this.__takeCount__);if(!n||!r&&i==l&&p==l)return di(e,this.__actions__);var m=[];e:for(;l--&&h<p;){for(var f=-1,g=e[c+=t];++f<d;){var y=u[f],v=y.iteratee,b=y.type,k=v(g);if(2==b)g=k;else if(!k){if(1==b)continue e;break e}}m[h++]=g}return m},Bn.prototype.at=pa,Bn.prototype.chain=function(){return da(this)},Bn.prototype.commit=function(){return new zn(this.value(),this.__chain__)},Bn.prototype.next=function(){this.__values__===i&&(this.__values__=ds(this.value()));var e=this.__index__>=this.__values__.length;return{done:e,value:e?i:this.__values__[this.__index__++]}},Bn.prototype.plant=function(e){for(var t,n=this;n instanceof jn;){var r=Bo(n);r.__index__=0,r.__values__=i,t?o.__wrapped__=r:t=r;var o=r;n=n.__wrapped__}return o.__wrapped__=e,t},Bn.prototype.reverse=function(){var e=this.__wrapped__;if(e instanceof Wn){var t=e;return this.__actions__.length&&(t=new Wn(this)),(t=t.reverse()).__actions__.push({func:ha,args:[Qo],thisArg:i}),new zn(t,this.__chain__)}return this.thru(Qo)},Bn.prototype.toJSON=Bn.prototype.valueOf=Bn.prototype.value=function(){return di(this.__wrapped__,this.__actions__)},Bn.prototype.first=Bn.prototype.head,$e&&(Bn.prototype[$e]=function(){return this}),Bn}();dt._=mn,(r=function(){return mn}.call(t,n,t,e))===i||(e.exports=r)}.call(this)}},t={};function n(r){var i=t[r];if(void 0!==i)return i.exports;var o=t[r]={id:r,loaded:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.loaded=!0,o.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.nmd=e=>(e.paths=[],e.children||(e.children=[]),e);var r={};return(()=>{"use strict";function e(e,t){return function(){return e.apply(t,arguments)}}n.d(r,{default:()=>xi});const{toString:t}=Object.prototype,{getPrototypeOf:i}=Object,o=(a=Object.create(null),e=>{const n=t.call(e);return a[n]||(a[n]=n.slice(8,-1).toLowerCase())});var a;const s=e=>(e=e.toLowerCase(),t=>o(t)===e),l=e=>t=>typeof t===e,{isArray:c}=Array,u=l("undefined"),d=s("ArrayBuffer"),h=l("string"),p=l("function"),m=l("number"),f=e=>null!==e&&"object"==typeof e,g=e=>{if("object"!==o(e))return!1;const t=i(e);return!(null!==t&&t!==Object.prototype&&null!==Object.getPrototypeOf(t)||Symbol.toStringTag in e||Symbol.iterator in e)},y=s("Date"),v=s("File"),b=s("Blob"),k=s("FileList"),w=s("URLSearchParams");function S(e,t,{allOwnKeys:n=!1}={}){if(null==e)return;let r,i;if("object"!=typeof e&&(e=[e]),c(e))for(r=0,i=e.length;r<i;r++)t.call(null,e[r],r,e);else{const i=n?Object.getOwnPropertyNames(e):Object.keys(e),o=i.length;let a;for(r=0;r<o;r++)a=i[r],t.call(null,e[a],a,e)}}function C(e,t){t=t.toLowerCase();const n=Object.keys(e);let r,i=n.length;for(;i-- >0;)if(r=n[i],t===r.toLowerCase())return r;return null}const P="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,A=e=>!u(e)&&e!==P,x=(T="undefined"!=typeof Uint8Array&&i(Uint8Array),e=>T&&e instanceof T);var T;const R=s("HTMLFormElement"),E=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),I=s("RegExp"),F=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};S(n,((n,i)=>{let o;!1!==(o=t(n,i,e))&&(r[i]=o||n)})),Object.defineProperties(e,r)},L="abcdefghijklmnopqrstuvwxyz",O="0123456789",M={DIGIT:O,ALPHA:L,ALPHA_DIGIT:L+L.toUpperCase()+O},D=s("AsyncFunction"),G={isArray:c,isArrayBuffer:d,isBuffer:function(e){return null!==e&&!u(e)&&null!==e.constructor&&!u(e.constructor)&&p(e.constructor.isBuffer)&&e.constructor.isBuffer(e)},isFormData:e=>{let t;return e&&("function"==typeof FormData&&e instanceof FormData||p(e.append)&&("formdata"===(t=o(e))||"object"===t&&p(e.toString)&&"[object FormData]"===e.toString()))},isArrayBufferView:function(e){let t;return t="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&d(e.buffer),t},isString:h,isNumber:m,isBoolean:e=>!0===e||!1===e,isObject:f,isPlainObject:g,isUndefined:u,isDate:y,isFile:v,isBlob:b,isRegExp:I,isFunction:p,isStream:e=>f(e)&&p(e.pipe),isURLSearchParams:w,isTypedArray:x,isFileList:k,forEach:S,merge:function e(){const{caseless:t}=A(this)&&this||{},n={},r=(r,i)=>{const o=t&&C(n,i)||i;g(n[o])&&g(r)?n[o]=e(n[o],r):g(r)?n[o]=e({},r):c(r)?n[o]=r.slice():n[o]=r};for(let e=0,t=arguments.length;e<t;e++)arguments[e]&&S(arguments[e],r);return n},extend:(t,n,r,{allOwnKeys:i}={})=>(S(n,((n,i)=>{r&&p(n)?t[i]=e(n,r):t[i]=n}),{allOwnKeys:i}),t),trim:e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:e=>(65279===e.charCodeAt(0)&&(e=e.slice(1)),e),inherits:(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},toFlatObject:(e,t,n,r)=>{let o,a,s;const l={};if(t=t||{},null==e)return t;do{for(o=Object.getOwnPropertyNames(e),a=o.length;a-- >0;)s=o[a],r&&!r(s,e,t)||l[s]||(t[s]=e[s],l[s]=!0);e=!1!==n&&i(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},kindOf:o,kindOfTest:s,endsWith:(e,t,n)=>{e=String(e),(void 0===n||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return-1!==r&&r===n},toArray:e=>{if(!e)return null;if(c(e))return e;let t=e.length;if(!m(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},forEachEntry:(e,t)=>{const n=(e&&e[Symbol.iterator]).call(e);let r;for(;(r=n.next())&&!r.done;){const n=r.value;t.call(e,n[0],n[1])}},matchAll:(e,t)=>{let n;const r=[];for(;null!==(n=e.exec(t));)r.push(n);return r},isHTMLForm:R,hasOwnProperty:E,hasOwnProp:E,reduceDescriptors:F,freezeMethods:e=>{F(e,((t,n)=>{if(p(e)&&-1!==["arguments","caller","callee"].indexOf(n))return!1;const r=e[n];p(r)&&(t.enumerable=!1,"writable"in t?t.writable=!1:t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")}))}))},toObjectSet:(e,t)=>{const n={},r=e=>{e.forEach((e=>{n[e]=!0}))};return c(e)?r(e):r(String(e).split(t)),n},toCamelCase:e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(e,t,n){return t.toUpperCase()+n})),noop:()=>{},toFiniteNumber:(e,t)=>(e=+e,Number.isFinite(e)?e:t),findKey:C,global:P,isContextDefined:A,ALPHABET:M,generateString:(e=16,t=M.ALPHA_DIGIT)=>{let n="";const{length:r}=t;for(;e--;)n+=t[Math.random()*r|0];return n},isSpecCompliantForm:function(e){return!!(e&&p(e.append)&&"FormData"===e[Symbol.toStringTag]&&e[Symbol.iterator])},toJSONObject:e=>{const t=new Array(10),n=(e,r)=>{if(f(e)){if(t.indexOf(e)>=0)return;if(!("toJSON"in e)){t[r]=e;const i=c(e)?[]:{};return S(e,((e,t)=>{const o=n(e,r+1);!u(o)&&(i[t]=o)})),t[r]=void 0,i}}return e};return n(e,0)},isAsyncFn:D,isThenable:e=>e&&(f(e)||p(e))&&p(e.then)&&p(e.catch)};function B(e,t,n,r,i){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),i&&(this.response=i)}G.inherits(B,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:G.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const N=B.prototype,j={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((e=>{j[e]={value:e}})),Object.defineProperties(B,j),Object.defineProperty(N,"isAxiosError",{value:!0}),B.from=(e,t,n,r,i,o)=>{const a=Object.create(N);return G.toFlatObject(e,a,(function(e){return e!==Error.prototype}),(e=>"isAxiosError"!==e)),B.call(a,e.message,t,n,r,i),a.cause=e,a.name=e.name,o&&Object.assign(a,o),a};const z=B;function W(e){return G.isPlainObject(e)||G.isArray(e)}function U(e){return G.endsWith(e,"[]")?e.slice(0,-2):e}function H(e,t,n){return e?e.concat(t).map((function(e,t){return e=U(e),!n&&t?"["+e+"]":e})).join(n?".":""):t}const Y=G.toFlatObject(G,{},null,(function(e){return/^is[A-Z]/.test(e)})),q=function(e,t,n){if(!G.isObject(e))throw new TypeError("target must be an object");t=t||new FormData;const r=(n=G.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(e,t){return!G.isUndefined(t[e])}))).metaTokens,i=n.visitor||c,o=n.dots,a=n.indexes,s=(n.Blob||"undefined"!=typeof Blob&&Blob)&&G.isSpecCompliantForm(t);if(!G.isFunction(i))throw new TypeError("visitor must be a function");function l(e){if(null===e)return"";if(G.isDate(e))return e.toISOString();if(!s&&G.isBlob(e))throw new z("Blob is not supported. Use a Buffer instead.");return G.isArrayBuffer(e)||G.isTypedArray(e)?s&&"function"==typeof Blob?new Blob([e]):Buffer.from(e):e}function c(e,n,i){let s=e;if(e&&!i&&"object"==typeof e)if(G.endsWith(n,"{}"))n=r?n:n.slice(0,-2),e=JSON.stringify(e);else if(G.isArray(e)&&function(e){return G.isArray(e)&&!e.some(W)}(e)||(G.isFileList(e)||G.endsWith(n,"[]"))&&(s=G.toArray(e)))return n=U(n),s.forEach((function(e,r){!G.isUndefined(e)&&null!==e&&t.append(!0===a?H([n],r,o):null===a?n:n+"[]",l(e))})),!1;return!!W(e)||(t.append(H(i,n,o),l(e)),!1)}const u=[],d=Object.assign(Y,{defaultVisitor:c,convertValue:l,isVisitable:W});if(!G.isObject(e))throw new TypeError("data must be an object");return function e(n,r){if(!G.isUndefined(n)){if(-1!==u.indexOf(n))throw Error("Circular reference detected in "+r.join("."));u.push(n),G.forEach(n,(function(n,o){!0===(!(G.isUndefined(n)||null===n)&&i.call(t,n,G.isString(o)?o.trim():o,r,d))&&e(n,r?r.concat(o):[o])})),u.pop()}}(e),t};function J(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,(function(e){return t[e]}))}function V(e,t){this._pairs=[],e&&q(e,this,t)}const $=V.prototype;$.append=function(e,t){this._pairs.push([e,t])},$.toString=function(e){const t=e?function(t){return e.call(this,t,J)}:J;return this._pairs.map((function(e){return t(e[0])+"="+t(e[1])}),"").join("&")};const K=V;function Z(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function X(e,t,n){if(!t)return e;const r=n&&n.encode||Z,i=n&&n.serialize;let o;if(o=i?i(t,n):G.isURLSearchParams(t)?t.toString():new K(t,n).toString(r),o){const t=e.indexOf("#");-1!==t&&(e=e.slice(0,t)),e+=(-1===e.indexOf("?")?"?":"&")+o}return e}const Q=class{constructor(){this.handlers=[]}use(e,t,n){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){G.forEach(this.handlers,(function(t){null!==t&&e(t)}))}},ee={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},te={isBrowser:!0,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:K,FormData:"undefined"!=typeof FormData?FormData:null,Blob:"undefined"!=typeof Blob?Blob:null},isStandardBrowserEnv:(()=>{let e;return("undefined"==typeof navigator||"ReactNative"!==(e=navigator.product)&&"NativeScript"!==e&&"NS"!==e)&&"undefined"!=typeof window&&"undefined"!=typeof document})(),isStandardBrowserWebWorkerEnv:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,protocols:["http","https","file","blob","url","data"]},ne=function(e){function t(e,n,r,i){let o=e[i++];const a=Number.isFinite(+o),s=i>=e.length;return o=!o&&G.isArray(r)?r.length:o,s?(G.hasOwnProp(r,o)?r[o]=[r[o],n]:r[o]=n,!a):(r[o]&&G.isObject(r[o])||(r[o]=[]),t(e,n,r[o],i)&&G.isArray(r[o])&&(r[o]=function(e){const t={},n=Object.keys(e);let r;const i=n.length;let o;for(r=0;r<i;r++)o=n[r],t[o]=e[o];return t}(r[o])),!a)}if(G.isFormData(e)&&G.isFunction(e.entries)){const n={};return G.forEachEntry(e,((e,r)=>{t(function(e){return G.matchAll(/\w+|\[(\w*)]/g,e).map((e=>"[]"===e[0]?"":e[1]||e[0]))}(e),r,n,0)})),n}return null},re={transitional:ee,adapter:["xhr","http"],transformRequest:[function(e,t){const n=t.getContentType()||"",r=n.indexOf("application/json")>-1,i=G.isObject(e);if(i&&G.isHTMLForm(e)&&(e=new FormData(e)),G.isFormData(e))return r&&r?JSON.stringify(ne(e)):e;if(G.isArrayBuffer(e)||G.isBuffer(e)||G.isStream(e)||G.isFile(e)||G.isBlob(e))return e;if(G.isArrayBufferView(e))return e.buffer;if(G.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let o;if(i){if(n.indexOf("application/x-www-form-urlencoded")>-1)return function(e,t){return q(e,new te.classes.URLSearchParams,Object.assign({visitor:function(e,t,n,r){return te.isNode&&G.isBuffer(e)?(this.append(t,e.toString("base64")),!1):r.defaultVisitor.apply(this,arguments)}},t))}(e,this.formSerializer).toString();if((o=G.isFileList(e))||n.indexOf("multipart/form-data")>-1){const t=this.env&&this.env.FormData;return q(o?{"files[]":e}:e,t&&new t,this.formSerializer)}}return i||r?(t.setContentType("application/json",!1),function(e,t,n){if(G.isString(e))try{return(0,JSON.parse)(e),G.trim(e)}catch(e){if("SyntaxError"!==e.name)throw e}return(0,JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){const t=this.transitional||re.transitional,n=t&&t.forcedJSONParsing,r="json"===this.responseType;if(e&&G.isString(e)&&(n&&!this.responseType||r)){const n=!(t&&t.silentJSONParsing)&&r;try{return JSON.parse(e)}catch(e){if(n){if("SyntaxError"===e.name)throw z.from(e,z.ERR_BAD_RESPONSE,this,null,this.response);throw e}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:te.classes.FormData,Blob:te.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};G.forEach(["delete","get","head","post","put","patch"],(e=>{re.headers[e]={}}));const ie=re,oe=G.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),ae=Symbol("internals");function se(e){return e&&String(e).trim().toLowerCase()}function le(e){return!1===e||null==e?e:G.isArray(e)?e.map(le):String(e)}function ce(e,t,n,r,i){return G.isFunction(r)?r.call(this,t,n):(i&&(t=n),G.isString(t)?G.isString(r)?-1!==t.indexOf(r):G.isRegExp(r)?r.test(t):void 0:void 0)}class ue{constructor(e){e&&this.set(e)}set(e,t,n){const r=this;function i(e,t,n){const i=se(t);if(!i)throw new Error("header name must be a non-empty string");const o=G.findKey(r,i);(!o||void 0===r[o]||!0===n||void 0===n&&!1!==r[o])&&(r[o||t]=le(e))}const o=(e,t)=>G.forEach(e,((e,n)=>i(e,n,t)));return G.isPlainObject(e)||e instanceof this.constructor?o(e,t):G.isString(e)&&(e=e.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim())?o((e=>{const t={};let n,r,i;return e&&e.split("\n").forEach((function(e){i=e.indexOf(":"),n=e.substring(0,i).trim().toLowerCase(),r=e.substring(i+1).trim(),!n||t[n]&&oe[n]||("set-cookie"===n?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+", "+r:r)})),t})(e),t):null!=e&&i(t,e,n),this}get(e,t){if(e=se(e)){const n=G.findKey(this,e);if(n){const e=this[n];if(!t)return e;if(!0===t)return function(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}(e);if(G.isFunction(t))return t.call(this,e,n);if(G.isRegExp(t))return t.exec(e);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=se(e)){const n=G.findKey(this,e);return!(!n||void 0===this[n]||t&&!ce(0,this[n],n,t))}return!1}delete(e,t){const n=this;let r=!1;function i(e){if(e=se(e)){const i=G.findKey(n,e);!i||t&&!ce(0,n[i],i,t)||(delete n[i],r=!0)}}return G.isArray(e)?e.forEach(i):i(e),r}clear(e){const t=Object.keys(this);let n=t.length,r=!1;for(;n--;){const i=t[n];e&&!ce(0,this[i],i,e,!0)||(delete this[i],r=!0)}return r}normalize(e){const t=this,n={};return G.forEach(this,((r,i)=>{const o=G.findKey(n,i);if(o)return t[o]=le(r),void delete t[i];const a=e?function(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((e,t,n)=>t.toUpperCase()+n))}(i):String(i).trim();a!==i&&delete t[i],t[a]=le(r),n[a]=!0})),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const t=Object.create(null);return G.forEach(this,((n,r)=>{null!=n&&!1!==n&&(t[r]=e&&G.isArray(n)?n.join(", "):n)})),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([e,t])=>e+": "+t)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){const n=new this(e);return t.forEach((e=>n.set(e))),n}static accessor(e){const t=(this[ae]=this[ae]={accessors:{}}).accessors,n=this.prototype;function r(e){const r=se(e);t[r]||(function(e,t){const n=G.toCamelCase(" "+t);["get","set","has"].forEach((r=>{Object.defineProperty(e,r+n,{value:function(e,n,i){return this[r].call(this,t,e,n,i)},configurable:!0})}))}(n,e),t[r]=!0)}return G.isArray(e)?e.forEach(r):r(e),this}}ue.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),G.reduceDescriptors(ue.prototype,(({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(e){this[n]=e}}})),G.freezeMethods(ue);const de=ue;function he(e,t){const n=this||ie,r=t||n,i=de.from(r.headers);let o=r.data;return G.forEach(e,(function(e){o=e.call(n,o,i.normalize(),t?t.status:void 0)})),i.normalize(),o}function pe(e){return!(!e||!e.__CANCEL__)}function me(e,t,n){z.call(this,null==e?"canceled":e,z.ERR_CANCELED,t,n),this.name="CanceledError"}G.inherits(me,z,{__CANCEL__:!0});const fe=me,ge=te.isStandardBrowserEnv?{write:function(e,t,n,r,i,o){const a=[];a.push(e+"="+encodeURIComponent(t)),G.isNumber(n)&&a.push("expires="+new Date(n).toGMTString()),G.isString(r)&&a.push("path="+r),G.isString(i)&&a.push("domain="+i),!0===o&&a.push("secure"),document.cookie=a.join("; ")},read:function(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}};function ye(e,t){return e&&!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)?function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}(e,t):t}const ve=te.isStandardBrowserEnv?function(){const e=/(msie|trident)/i.test(navigator.userAgent),t=document.createElement("a");let n;function r(n){let r=n;return e&&(t.setAttribute("href",r),r=t.href),t.setAttribute("href",r),{href:t.href,protocol:t.protocol?t.protocol.replace(/:$/,""):"",host:t.host,search:t.search?t.search.replace(/^\?/,""):"",hash:t.hash?t.hash.replace(/^#/,""):"",hostname:t.hostname,port:t.port,pathname:"/"===t.pathname.charAt(0)?t.pathname:"/"+t.pathname}}return n=r(window.location.href),function(e){const t=G.isString(e)?r(e):e;return t.protocol===n.protocol&&t.host===n.host}}():function(){return!0};function be(e,t){let n=0;const r=function(e,t){e=e||10;const n=new Array(e),r=new Array(e);let i,o=0,a=0;return t=void 0!==t?t:1e3,function(s){const l=Date.now(),c=r[a];i||(i=l),n[o]=s,r[o]=l;let u=a,d=0;for(;u!==o;)d+=n[u++],u%=e;if(o=(o+1)%e,o===a&&(a=(a+1)%e),l-i<t)return;const h=c&&l-c;return h?Math.round(1e3*d/h):void 0}}(50,250);return i=>{const o=i.loaded,a=i.lengthComputable?i.total:void 0,s=o-n,l=r(s);n=o;const c={loaded:o,total:a,progress:a?o/a:void 0,bytes:s,rate:l||void 0,estimated:l&&a&&o<=a?(a-o)/l:void 0,event:i};c[t?"download":"upload"]=!0,e(c)}}const ke={http:null,xhr:"undefined"!=typeof XMLHttpRequest&&function(e){return new Promise((function(t,n){let r=e.data;const i=de.from(e.headers).normalize(),o=e.responseType;let a,s;function l(){e.cancelToken&&e.cancelToken.unsubscribe(a),e.signal&&e.signal.removeEventListener("abort",a)}G.isFormData(r)&&(te.isStandardBrowserEnv||te.isStandardBrowserWebWorkerEnv?i.setContentType(!1):i.getContentType(/^\s*multipart\/form-data/)?G.isString(s=i.getContentType())&&i.setContentType(s.replace(/^\s*(multipart\/form-data);+/,"$1")):i.setContentType("multipart/form-data"));let c=new XMLHttpRequest;if(e.auth){const t=e.auth.username||"",n=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";i.set("Authorization","Basic "+btoa(t+":"+n))}const u=ye(e.baseURL,e.url);function d(){if(!c)return;const r=de.from("getAllResponseHeaders"in c&&c.getAllResponseHeaders());!function(e,t,n){const r=n.config.validateStatus;n.status&&r&&!r(n.status)?t(new z("Request failed with status code "+n.status,[z.ERR_BAD_REQUEST,z.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n)):e(n)}((function(e){t(e),l()}),(function(e){n(e),l()}),{data:o&&"text"!==o&&"json"!==o?c.response:c.responseText,status:c.status,statusText:c.statusText,headers:r,config:e,request:c}),c=null}if(c.open(e.method.toUpperCase(),X(u,e.params,e.paramsSerializer),!0),c.timeout=e.timeout,"onloadend"in c?c.onloadend=d:c.onreadystatechange=function(){c&&4===c.readyState&&(0!==c.status||c.responseURL&&0===c.responseURL.indexOf("file:"))&&setTimeout(d)},c.onabort=function(){c&&(n(new z("Request aborted",z.ECONNABORTED,e,c)),c=null)},c.onerror=function(){n(new z("Network Error",z.ERR_NETWORK,e,c)),c=null},c.ontimeout=function(){let t=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded";const r=e.transitional||ee;e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),n(new z(t,r.clarifyTimeoutError?z.ETIMEDOUT:z.ECONNABORTED,e,c)),c=null},te.isStandardBrowserEnv){const t=(e.withCredentials||ve(u))&&e.xsrfCookieName&&ge.read(e.xsrfCookieName);t&&i.set(e.xsrfHeaderName,t)}void 0===r&&i.setContentType(null),"setRequestHeader"in c&&G.forEach(i.toJSON(),(function(e,t){c.setRequestHeader(t,e)})),G.isUndefined(e.withCredentials)||(c.withCredentials=!!e.withCredentials),o&&"json"!==o&&(c.responseType=e.responseType),"function"==typeof e.onDownloadProgress&&c.addEventListener("progress",be(e.onDownloadProgress,!0)),"function"==typeof e.onUploadProgress&&c.upload&&c.upload.addEventListener("progress",be(e.onUploadProgress)),(e.cancelToken||e.signal)&&(a=t=>{c&&(n(!t||t.type?new fe(null,e,c):t),c.abort(),c=null)},e.cancelToken&&e.cancelToken.subscribe(a),e.signal&&(e.signal.aborted?a():e.signal.addEventListener("abort",a)));const h=function(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}(u);h&&-1===te.protocols.indexOf(h)?n(new z("Unsupported protocol "+h+":",z.ERR_BAD_REQUEST,e)):c.send(r||null)}))}};G.forEach(ke,((e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch(e){}Object.defineProperty(e,"adapterName",{value:t})}}));const we=e=>`- ${e}`,Se=e=>G.isFunction(e)||null===e||!1===e,Ce=e=>{e=G.isArray(e)?e:[e];const{length:t}=e;let n,r;const i={};for(let o=0;o<t;o++){let t;if(n=e[o],r=n,!Se(n)&&(r=ke[(t=String(n)).toLowerCase()],void 0===r))throw new z(`Unknown adapter '${t}'`);if(r)break;i[t||"#"+o]=r}if(!r){const e=Object.entries(i).map((([e,t])=>`adapter ${e} `+(!1===t?"is not supported by the environment":"is not available in the build")));let n=t?e.length>1?"since :\n"+e.map(we).join("\n"):" "+we(e[0]):"as no adapter specified";throw new z("There is no suitable adapter to dispatch the request "+n,"ERR_NOT_SUPPORT")}return r};function Pe(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new fe(null,e)}function Ae(e){return Pe(e),e.headers=de.from(e.headers),e.data=he.call(e,e.transformRequest),-1!==["post","put","patch"].indexOf(e.method)&&e.headers.setContentType("application/x-www-form-urlencoded",!1),Ce(e.adapter||ie.adapter)(e).then((function(t){return Pe(e),t.data=he.call(e,e.transformResponse,t),t.headers=de.from(t.headers),t}),(function(t){return pe(t)||(Pe(e),t&&t.response&&(t.response.data=he.call(e,e.transformResponse,t.response),t.response.headers=de.from(t.response.headers))),Promise.reject(t)}))}const xe=e=>e instanceof de?e.toJSON():e;function Te(e,t){t=t||{};const n={};function r(e,t,n){return G.isPlainObject(e)&&G.isPlainObject(t)?G.merge.call({caseless:n},e,t):G.isPlainObject(t)?G.merge({},t):G.isArray(t)?t.slice():t}function i(e,t,n){return G.isUndefined(t)?G.isUndefined(e)?void 0:r(void 0,e,n):r(e,t,n)}function o(e,t){if(!G.isUndefined(t))return r(void 0,t)}function a(e,t){return G.isUndefined(t)?G.isUndefined(e)?void 0:r(void 0,e):r(void 0,t)}function s(n,i,o){return o in t?r(n,i):o in e?r(void 0,n):void 0}const l={url:o,method:o,data:o,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:s,headers:(e,t)=>i(xe(e),xe(t),!0)};return G.forEach(Object.keys(Object.assign({},e,t)),(function(r){const o=l[r]||i,a=o(e[r],t[r],r);G.isUndefined(a)&&o!==s||(n[r]=a)})),n}const Re={};["object","boolean","number","function","string","symbol"].forEach(((e,t)=>{Re[e]=function(n){return typeof n===e||"a"+(t<1?"n ":" ")+e}}));const Ee={};Re.transitional=function(e,t,n){function r(e,t){return"[Axios v1.5.1] Transitional option '"+e+"'"+t+(n?". "+n:"")}return(n,i,o)=>{if(!1===e)throw new z(r(i," has been removed"+(t?" in "+t:"")),z.ERR_DEPRECATED);return t&&!Ee[i]&&(Ee[i]=!0,console.warn(r(i," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(n,i,o)}};const _e={assertOptions:function(e,t,n){if("object"!=typeof e)throw new z("options must be an object",z.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let i=r.length;for(;i-- >0;){const o=r[i],a=t[o];if(a){const t=e[o],n=void 0===t||a(t,o,e);if(!0!==n)throw new z("option "+o+" must be "+n,z.ERR_BAD_OPTION_VALUE)}else if(!0!==n)throw new z("Unknown option "+o,z.ERR_BAD_OPTION)}},validators:Re},Ie=_e.validators;class Fe{constructor(e){this.defaults=e,this.interceptors={request:new Q,response:new Q}}request(e,t){"string"==typeof e?(t=t||{}).url=e:t=e||{},t=Te(this.defaults,t);const{transitional:n,paramsSerializer:r,headers:i}=t;void 0!==n&&_e.assertOptions(n,{silentJSONParsing:Ie.transitional(Ie.boolean),forcedJSONParsing:Ie.transitional(Ie.boolean),clarifyTimeoutError:Ie.transitional(Ie.boolean)},!1),null!=r&&(G.isFunction(r)?t.paramsSerializer={serialize:r}:_e.assertOptions(r,{encode:Ie.function,serialize:Ie.function},!0)),t.method=(t.method||this.defaults.method||"get").toLowerCase();let o=i&&G.merge(i.common,i[t.method]);i&&G.forEach(["delete","get","head","post","put","patch","common"],(e=>{delete i[e]})),t.headers=de.concat(o,i);const a=[];let s=!0;this.interceptors.request.forEach((function(e){"function"==typeof e.runWhen&&!1===e.runWhen(t)||(s=s&&e.synchronous,a.unshift(e.fulfilled,e.rejected))}));const l=[];let c;this.interceptors.response.forEach((function(e){l.push(e.fulfilled,e.rejected)}));let u,d=0;if(!s){const e=[Ae.bind(this),void 0];for(e.unshift.apply(e,a),e.push.apply(e,l),u=e.length,c=Promise.resolve(t);d<u;)c=c.then(e[d++],e[d++]);return c}u=a.length;let h=t;for(d=0;d<u;){const e=a[d++],t=a[d++];try{h=e(h)}catch(e){t.call(this,e);break}}try{c=Ae.call(this,h)}catch(e){return Promise.reject(e)}for(d=0,u=l.length;d<u;)c=c.then(l[d++],l[d++]);return c}getUri(e){return X(ye((e=Te(this.defaults,e)).baseURL,e.url),e.params,e.paramsSerializer)}}G.forEach(["delete","get","head","options"],(function(e){Fe.prototype[e]=function(t,n){return this.request(Te(n||{},{method:e,url:t,data:(n||{}).data}))}})),G.forEach(["post","put","patch"],(function(e){function t(t){return function(n,r,i){return this.request(Te(i||{},{method:e,headers:t?{"Content-Type":"multipart/form-data"}:{},url:n,data:r}))}}Fe.prototype[e]=t(),Fe.prototype[e+"Form"]=t(!0)}));const Le=Fe;class Oe{constructor(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");let t;this.promise=new Promise((function(e){t=e}));const n=this;this.promise.then((e=>{if(!n._listeners)return;let t=n._listeners.length;for(;t-- >0;)n._listeners[t](e);n._listeners=null})),this.promise.then=e=>{let t;const r=new Promise((e=>{n.subscribe(e),t=e})).then(e);return r.cancel=function(){n.unsubscribe(t)},r},e((function(e,r,i){n.reason||(n.reason=new fe(e,r,i),t(n.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}static source(){let e;return{token:new Oe((function(t){e=t})),cancel:e}}}const Me=Oe,De={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(De).forEach((([e,t])=>{De[t]=e}));const Ge=De,Be=function t(n){const r=new Le(n),i=e(Le.prototype.request,r);return G.extend(i,Le.prototype,r,{allOwnKeys:!0}),G.extend(i,r,null,{allOwnKeys:!0}),i.create=function(e){return t(Te(n,e))},i}(ie);Be.Axios=Le,Be.CanceledError=fe,Be.CancelToken=Me,Be.isCancel=pe,Be.VERSION="1.5.1",Be.toFormData=q,Be.AxiosError=z,Be.Cancel=Be.CanceledError,Be.all=function(e){return Promise.all(e)},Be.spread=function(e){return function(t){return e.apply(null,t)}},Be.isAxiosError=function(e){return G.isObject(e)&&!0===e.isAxiosError},Be.mergeConfig=Te,Be.AxiosHeaders=de,Be.formToJSON=e=>ne(G.isHTMLForm(e)?new FormData(e):e),Be.getAdapter=Ce,Be.HttpStatusCode=Ge,Be.default=Be;const Ne=Be;function je(e){return je="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},je(e)}function ze(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function We(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ze(Object(n),!0).forEach((function(t){He(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ze(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Ue(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Ye(r.key),r)}}function He(e,t,n){return(t=Ye(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ye(e){var t=function(e,t){if("object"!==je(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==je(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===je(t)?t:String(t)}var qe="".concat("https://").concat("core.getfaceage.com").concat("/api/"),Je={authorize:"v1/business/authorize",skinanalyze:"v2/skin-analyzer/analyze"},Ve={baseURL:qe,responseType:"json"},$e={Accept:"application/json","Content-Type":"application/json"},Ke=function(){function e(){var t=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),He(this,"session",void 0),He(this,"request",(function(e,n,r,i,o){var a=We(We({},Ve),{},{headers:We(We({},$e),i)},o),s=n;n in Je&&(s=Je[n]);var l=e.toLowerCase();switch(l){case"get":case"options":case"head":case"delete":return t.session[l](s,a);case"post":case"patch":case"put":return t.session[l](s,r,a)}return null})),this.session=Ne.create(We({},Ve))}var t,n;return t=e,n=[{key:"getInstance",value:function(){return e.instance||(e.instance=new e),e.instance}}],null&&Ue(t.prototype,null),n&&Ue(t,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();He(Ke,"instance",void 0);const Ze=Ke.getInstance(),Xe={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){console&&console[e]&&console[e].apply(console,t)}};class Qe{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.init(e,t)}init(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.prefix=t.prefix||"i18next:",this.logger=e||Xe,this.options=t,this.debug=t.debug}log(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,"log","",!0)}warn(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,"warn","",!0)}error(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,"error","")}deprecate(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,"warn","WARNING DEPRECATED: ",!0)}forward(e,t,n,r){return r&&!this.debug?null:("string"==typeof e[0]&&(e[0]=`${n}${this.prefix} ${e[0]}`),this.logger[t](e))}create(e){return new Qe(this.logger,{prefix:`${this.prefix}:${e}:`,...this.options})}clone(e){return(e=e||this.options).prefix=e.prefix||this.prefix,new Qe(this.logger,e)}}var et=new Qe;class tt{constructor(){this.observers={}}on(e,t){return e.split(" ").forEach((e=>{this.observers[e]||(this.observers[e]=new Map);const n=this.observers[e].get(t)||0;this.observers[e].set(t,n+1)})),this}off(e,t){this.observers[e]&&(t?this.observers[e].delete(t):delete this.observers[e])}emit(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];this.observers[e]&&Array.from(this.observers[e].entries()).forEach((e=>{let[t,r]=e;for(let e=0;e<r;e++)t(...n)})),this.observers["*"]&&Array.from(this.observers["*"].entries()).forEach((t=>{let[r,i]=t;for(let t=0;t<i;t++)r.apply(r,[e,...n])}))}}function nt(){let e,t;const n=new Promise(((n,r)=>{e=n,t=r}));return n.resolve=e,n.reject=t,n}function rt(e){return null==e?"":""+e}const it=/###/g;function ot(e,t,n){function r(e){return e&&e.indexOf("###")>-1?e.replace(it,"."):e}function i(){return!e||"string"==typeof e}const o="string"!=typeof t?t:t.split(".");let a=0;for(;a<o.length-1;){if(i())return{};const t=r(o[a]);!e[t]&&n&&(e[t]=new n),e=Object.prototype.hasOwnProperty.call(e,t)?e[t]:{},++a}return i()?{}:{obj:e,k:r(o[a])}}function at(e,t,n){const{obj:r,k:i}=ot(e,t,Object);if(void 0!==r||1===t.length)return void(r[i]=n);let o=t[t.length-1],a=t.slice(0,t.length-1),s=ot(e,a,Object);for(;void 0===s.obj&&a.length;)o=`${a[a.length-1]}.${o}`,a=a.slice(0,a.length-1),s=ot(e,a,Object),s&&s.obj&&void 0!==s.obj[`${s.k}.${o}`]&&(s.obj=void 0);s.obj[`${s.k}.${o}`]=n}function st(e,t){const{obj:n,k:r}=ot(e,t);if(n)return n[r]}function lt(e,t,n){for(const r in t)"__proto__"!==r&&"constructor"!==r&&(r in e?"string"==typeof e[r]||e[r]instanceof String||"string"==typeof t[r]||t[r]instanceof String?n&&(e[r]=t[r]):lt(e[r],t[r],n):e[r]=t[r]);return e}function ct(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var ut={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"};function dt(e){return"string"==typeof e?e.replace(/[&<>"'\/]/g,(e=>ut[e])):e}const ht=[" ",",","?","!",";"],pt=new class{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){const t=this.regExpMap.get(e);if(void 0!==t)return t;const n=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,n),this.regExpQueue.push(e),n}}(20);function mt(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:".";if(!e)return;if(e[t])return e[t];const r=t.split(n);let i=e;for(let e=0;e<r.length;){if(!i||"object"!=typeof i)return;let t,o="";for(let a=e;a<r.length;++a)if(a!==e&&(o+=n),o+=r[a],t=i[o],void 0!==t){if(["string","number","boolean"].indexOf(typeof t)>-1&&a<r.length-1)continue;e+=a-e+1;break}i=t}return i}function ft(e){return e&&e.indexOf("_")>0?e.replace("_","-"):e}class gt extends tt{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=e||{},this.options=t,void 0===this.options.keySeparator&&(this.options.keySeparator="."),void 0===this.options.ignoreJSONStructure&&(this.options.ignoreJSONStructure=!0)}addNamespaces(e){this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}removeNamespaces(e){const t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}getResource(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const i=void 0!==r.keySeparator?r.keySeparator:this.options.keySeparator,o=void 0!==r.ignoreJSONStructure?r.ignoreJSONStructure:this.options.ignoreJSONStructure;let a;e.indexOf(".")>-1?a=e.split("."):(a=[e,t],n&&(Array.isArray(n)?a.push(...n):"string"==typeof n&&i?a.push(...n.split(i)):a.push(n)));const s=st(this.data,a);return!s&&!t&&!n&&e.indexOf(".")>-1&&(e=a[0],t=a[1],n=a.slice(2).join(".")),s||!o||"string"!=typeof n?s:mt(this.data&&this.data[e]&&this.data[e][t],n,i)}addResource(e,t,n,r){let i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{silent:!1};const o=void 0!==i.keySeparator?i.keySeparator:this.options.keySeparator;let a=[e,t];n&&(a=a.concat(o?n.split(o):n)),e.indexOf(".")>-1&&(a=e.split("."),r=t,t=a[1]),this.addNamespaces(t),at(this.data,a,r),i.silent||this.emit("added",e,t,n,r)}addResources(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{silent:!1};for(const r in n)("string"==typeof n[r]||Array.isArray(n[r]))&&this.addResource(e,t,r,n[r],{silent:!0});r.silent||this.emit("added",e,t,n)}addResourceBundle(e,t,n,r,i){let o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{silent:!1,skipCopy:!1},a=[e,t];e.indexOf(".")>-1&&(a=e.split("."),r=n,n=t,t=a[1]),this.addNamespaces(t);let s=st(this.data,a)||{};o.skipCopy||(n=JSON.parse(JSON.stringify(n))),r?lt(s,n,i):s={...s,...n},at(this.data,a,s),o.silent||this.emit("added",e,t,n)}removeResourceBundle(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit("removed",e,t)}hasResourceBundle(e,t){return void 0!==this.getResource(e,t)}getResourceBundle(e,t){return t||(t=this.options.defaultNS),"v1"===this.options.compatibilityAPI?{...this.getResource(e,t)}:this.getResource(e,t)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){const t=this.getDataByLanguage(e);return!!(t&&Object.keys(t)||[]).find((e=>t[e]&&Object.keys(t[e]).length>0))}toJSON(){return this.data}}var yt={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,n,r,i){return e.forEach((e=>{this.processors[e]&&(t=this.processors[e].process(t,n,r,i))})),t}};const vt={};class bt extends tt{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};var n,r;super(),n=e,r=this,["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"].forEach((e=>{n[e]&&(r[e]=n[e])})),this.options=t,void 0===this.options.keySeparator&&(this.options.keySeparator="."),this.logger=et.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}};if(null==e)return!1;const n=this.resolve(e,t);return n&&void 0!==n.res}extractFromKey(e,t){let n=void 0!==t.nsSeparator?t.nsSeparator:this.options.nsSeparator;void 0===n&&(n=":");const r=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator;let i=t.ns||this.options.defaultNS||[];const o=n&&e.indexOf(n)>-1,a=!(this.options.userDefinedKeySeparator||t.keySeparator||this.options.userDefinedNsSeparator||t.nsSeparator||function(e,t,n){t=t||"",n=n||"";const r=ht.filter((e=>t.indexOf(e)<0&&n.indexOf(e)<0));if(0===r.length)return!0;const i=pt.getRegExp(`(${r.map((e=>"?"===e?"\\?":e)).join("|")})`);let o=!i.test(e);if(!o){const t=e.indexOf(n);t>0&&!i.test(e.substring(0,t))&&(o=!0)}return o}(e,n,r));if(o&&!a){const t=e.match(this.interpolator.nestingRegexp);if(t&&t.length>0)return{key:e,namespaces:i};const o=e.split(n);(n!==r||n===r&&this.options.ns.indexOf(o[0])>-1)&&(i=o.shift()),e=o.join(r)}return"string"==typeof i&&(i=[i]),{key:e,namespaces:i}}translate(e,t,n){if("object"!=typeof t&&this.options.overloadTranslationOptionHandler&&(t=this.options.overloadTranslationOptionHandler(arguments)),"object"==typeof t&&(t={...t}),t||(t={}),null==e)return"";Array.isArray(e)||(e=[String(e)]);const r=void 0!==t.returnDetails?t.returnDetails:this.options.returnDetails,i=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator,{key:o,namespaces:a}=this.extractFromKey(e[e.length-1],t),s=a[a.length-1],l=t.lng||this.language,c=t.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(l&&"cimode"===l.toLowerCase()){if(c){const e=t.nsSeparator||this.options.nsSeparator;return r?{res:`${s}${e}${o}`,usedKey:o,exactUsedKey:o,usedLng:l,usedNS:s,usedParams:this.getUsedParamsDetails(t)}:`${s}${e}${o}`}return r?{res:o,usedKey:o,exactUsedKey:o,usedLng:l,usedNS:s,usedParams:this.getUsedParamsDetails(t)}:o}const u=this.resolve(e,t);let d=u&&u.res;const h=u&&u.usedKey||o,p=u&&u.exactUsedKey||o,m=Object.prototype.toString.apply(d),f=void 0!==t.joinArrays?t.joinArrays:this.options.joinArrays,g=!this.i18nFormat||this.i18nFormat.handleAsObject;if(g&&d&&"string"!=typeof d&&"boolean"!=typeof d&&"number"!=typeof d&&["[object Number]","[object Function]","[object RegExp]"].indexOf(m)<0&&("string"!=typeof f||!Array.isArray(d))){if(!t.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const e=this.options.returnedObjectHandler?this.options.returnedObjectHandler(h,d,{...t,ns:a}):`key '${o} (${this.language})' returned an object instead of string.`;return r?(u.res=e,u.usedParams=this.getUsedParamsDetails(t),u):e}if(i){const e=Array.isArray(d),n=e?[]:{},r=e?p:h;for(const e in d)if(Object.prototype.hasOwnProperty.call(d,e)){const o=`${r}${i}${e}`;n[e]=this.translate(o,{...t,joinArrays:!1,ns:a}),n[e]===o&&(n[e]=d[e])}d=n}}else if(g&&"string"==typeof f&&Array.isArray(d))d=d.join(f),d&&(d=this.extendTranslation(d,e,t,n));else{let r=!1,a=!1;const c=void 0!==t.count&&"string"!=typeof t.count,h=bt.hasDefaultValue(t),p=c?this.pluralResolver.getSuffix(l,t.count,t):"",m=t.ordinal&&c?this.pluralResolver.getSuffix(l,t.count,{ordinal:!1}):"",f=c&&!t.ordinal&&0===t.count&&this.pluralResolver.shouldUseIntlApi(),g=f&&t[`defaultValue${this.options.pluralSeparator}zero`]||t[`defaultValue${p}`]||t[`defaultValue${m}`]||t.defaultValue;!this.isValidLookup(d)&&h&&(r=!0,d=g),this.isValidLookup(d)||(a=!0,d=o);const y=(t.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&a?void 0:d,v=h&&g!==d&&this.options.updateMissing;if(a||r||v){if(this.logger.log(v?"updateKey":"missingKey",l,s,o,v?g:d),i){const e=this.resolve(o,{...t,keySeparator:!1});e&&e.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let e=[];const n=this.languageUtils.getFallbackCodes(this.options.fallbackLng,t.lng||this.language);if("fallback"===this.options.saveMissingTo&&n&&n[0])for(let t=0;t<n.length;t++)e.push(n[t]);else"all"===this.options.saveMissingTo?e=this.languageUtils.toResolveHierarchy(t.lng||this.language):e.push(t.lng||this.language);const r=(e,n,r)=>{const i=h&&r!==d?r:y;this.options.missingKeyHandler?this.options.missingKeyHandler(e,s,n,i,v,t):this.backendConnector&&this.backendConnector.saveMissing&&this.backendConnector.saveMissing(e,s,n,i,v,t),this.emit("missingKey",e,s,n,d)};this.options.saveMissing&&(this.options.saveMissingPlurals&&c?e.forEach((e=>{const n=this.pluralResolver.getSuffixes(e,t);f&&t[`defaultValue${this.options.pluralSeparator}zero`]&&n.indexOf(`${this.options.pluralSeparator}zero`)<0&&n.push(`${this.options.pluralSeparator}zero`),n.forEach((n=>{r([e],o+n,t[`defaultValue${n}`]||g)}))})):r(e,o,g))}d=this.extendTranslation(d,e,t,u,n),a&&d===o&&this.options.appendNamespaceToMissingKey&&(d=`${s}:${o}`),(a||r)&&this.options.parseMissingKeyHandler&&(d="v1"!==this.options.compatibilityAPI?this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${s}:${o}`:o,r?d:void 0):this.options.parseMissingKeyHandler(d))}return r?(u.res=d,u.usedParams=this.getUsedParamsDetails(t),u):d}extendTranslation(e,t,n,r,i){var o=this;if(this.i18nFormat&&this.i18nFormat.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...n},n.lng||this.language||r.usedLng,r.usedNS,r.usedKey,{resolved:r});else if(!n.skipInterpolation){n.interpolation&&this.interpolator.init({...n,interpolation:{...this.options.interpolation,...n.interpolation}});const a="string"==typeof e&&(n&&n.interpolation&&void 0!==n.interpolation.skipOnVariables?n.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let s;if(a){const t=e.match(this.interpolator.nestingRegexp);s=t&&t.length}let l=n.replace&&"string"!=typeof n.replace?n.replace:n;if(this.options.interpolation.defaultVariables&&(l={...this.options.interpolation.defaultVariables,...l}),e=this.interpolator.interpolate(e,l,n.lng||this.language||r.usedLng,n),a){const t=e.match(this.interpolator.nestingRegexp);s<(t&&t.length)&&(n.nest=!1)}!n.lng&&"v1"!==this.options.compatibilityAPI&&r&&r.res&&(n.lng=this.language||r.usedLng),!1!==n.nest&&(e=this.interpolator.nest(e,(function(){for(var e=arguments.length,r=new Array(e),a=0;a<e;a++)r[a]=arguments[a];return i&&i[0]===r[0]&&!n.context?(o.logger.warn(`It seems you are nesting recursively key: ${r[0]} in key: ${t[0]}`),null):o.translate(...r,t)}),n)),n.interpolation&&this.interpolator.reset()}const a=n.postProcess||this.options.postProcess,s="string"==typeof a?[a]:a;return null!=e&&s&&s.length&&!1!==n.applyPostProcessor&&(e=yt.handle(s,e,t,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...r,usedParams:this.getUsedParamsDetails(n)},...n}:n,this)),e}resolve(e){let t,n,r,i,o,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return"string"==typeof e&&(e=[e]),e.forEach((e=>{if(this.isValidLookup(t))return;const s=this.extractFromKey(e,a),l=s.key;n=l;let c=s.namespaces;this.options.fallbackNS&&(c=c.concat(this.options.fallbackNS));const u=void 0!==a.count&&"string"!=typeof a.count,d=u&&!a.ordinal&&0===a.count&&this.pluralResolver.shouldUseIntlApi(),h=void 0!==a.context&&("string"==typeof a.context||"number"==typeof a.context)&&""!==a.context,p=a.lngs?a.lngs:this.languageUtils.toResolveHierarchy(a.lng||this.language,a.fallbackLng);c.forEach((e=>{this.isValidLookup(t)||(o=e,!vt[`${p[0]}-${e}`]&&this.utils&&this.utils.hasLoadedNamespace&&!this.utils.hasLoadedNamespace(o)&&(vt[`${p[0]}-${e}`]=!0,this.logger.warn(`key "${n}" for languages "${p.join(", ")}" won't get resolved as namespace "${o}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),p.forEach((n=>{if(this.isValidLookup(t))return;i=n;const o=[l];if(this.i18nFormat&&this.i18nFormat.addLookupKeys)this.i18nFormat.addLookupKeys(o,l,n,e,a);else{let e;u&&(e=this.pluralResolver.getSuffix(n,a.count,a));const t=`${this.options.pluralSeparator}zero`,r=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(u&&(o.push(l+e),a.ordinal&&0===e.indexOf(r)&&o.push(l+e.replace(r,this.options.pluralSeparator)),d&&o.push(l+t)),h){const n=`${l}${this.options.contextSeparator}${a.context}`;o.push(n),u&&(o.push(n+e),a.ordinal&&0===e.indexOf(r)&&o.push(n+e.replace(r,this.options.pluralSeparator)),d&&o.push(n+t))}}let s;for(;s=o.pop();)this.isValidLookup(t)||(r=s,t=this.getResource(n,e,s,a))})))}))})),{res:t,usedKey:n,exactUsedKey:r,usedLng:i,usedNS:o}}isValidLookup(e){return!(void 0===e||!this.options.returnNull&&null===e||!this.options.returnEmptyString&&""===e)}getResource(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(e,t,n,r):this.resourceStore.getResource(e,t,n,r)}getUsedParamsDetails(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],n=e.replace&&"string"!=typeof e.replace;let r=n?e.replace:e;if(n&&void 0!==e.count&&(r.count=e.count),this.options.interpolation.defaultVariables&&(r={...this.options.interpolation.defaultVariables,...r}),!n){r={...r};for(const e of t)delete r[e]}return r}static hasDefaultValue(e){for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)&&"defaultValue"===t.substring(0,12)&&void 0!==e[t])return!0;return!1}}function kt(e){return e.charAt(0).toUpperCase()+e.slice(1)}class wt{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=et.create("languageUtils")}getScriptPartFromCode(e){if(!(e=ft(e))||e.indexOf("-")<0)return null;const t=e.split("-");return 2===t.length?null:(t.pop(),"x"===t[t.length-1].toLowerCase()?null:this.formatLanguageCode(t.join("-")))}getLanguagePartFromCode(e){if(!(e=ft(e))||e.indexOf("-")<0)return e;const t=e.split("-");return this.formatLanguageCode(t[0])}formatLanguageCode(e){if("string"==typeof e&&e.indexOf("-")>-1){const t=["hans","hant","latn","cyrl","cans","mong","arab"];let n=e.split("-");return this.options.lowerCaseLng?n=n.map((e=>e.toLowerCase())):2===n.length?(n[0]=n[0].toLowerCase(),n[1]=n[1].toUpperCase(),t.indexOf(n[1].toLowerCase())>-1&&(n[1]=kt(n[1].toLowerCase()))):3===n.length&&(n[0]=n[0].toLowerCase(),2===n[1].length&&(n[1]=n[1].toUpperCase()),"sgn"!==n[0]&&2===n[2].length&&(n[2]=n[2].toUpperCase()),t.indexOf(n[1].toLowerCase())>-1&&(n[1]=kt(n[1].toLowerCase())),t.indexOf(n[2].toLowerCase())>-1&&(n[2]=kt(n[2].toLowerCase()))),n.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}isSupportedCode(e){return("languageOnly"===this.options.load||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}getBestMatchFromCodes(e){if(!e)return null;let t;return e.forEach((e=>{if(t)return;const n=this.formatLanguageCode(e);this.options.supportedLngs&&!this.isSupportedCode(n)||(t=n)})),!t&&this.options.supportedLngs&&e.forEach((e=>{if(t)return;const n=this.getLanguagePartFromCode(e);if(this.isSupportedCode(n))return t=n;t=this.options.supportedLngs.find((e=>e===n?e:e.indexOf("-")<0&&n.indexOf("-")<0?void 0:e.indexOf("-")>0&&n.indexOf("-")<0&&e.substring(0,e.indexOf("-"))===n||0===e.indexOf(n)&&n.length>1?e:void 0))})),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t}getFallbackCodes(e,t){if(!e)return[];if("function"==typeof e&&(e=e(t)),"string"==typeof e&&(e=[e]),Array.isArray(e))return e;if(!t)return e.default||[];let n=e[t];return n||(n=e[this.getScriptPartFromCode(t)]),n||(n=e[this.formatLanguageCode(t)]),n||(n=e[this.getLanguagePartFromCode(t)]),n||(n=e.default),n||[]}toResolveHierarchy(e,t){const n=this.getFallbackCodes(t||this.options.fallbackLng||[],e),r=[],i=e=>{e&&(this.isSupportedCode(e)?r.push(e):this.logger.warn(`rejecting language code not found in supportedLngs: ${e}`))};return"string"==typeof e&&(e.indexOf("-")>-1||e.indexOf("_")>-1)?("languageOnly"!==this.options.load&&i(this.formatLanguageCode(e)),"languageOnly"!==this.options.load&&"currentOnly"!==this.options.load&&i(this.getScriptPartFromCode(e)),"currentOnly"!==this.options.load&&i(this.getLanguagePartFromCode(e))):"string"==typeof e&&i(this.formatLanguageCode(e)),n.forEach((e=>{r.indexOf(e)<0&&i(this.formatLanguageCode(e))})),r}}let St=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],Ct={1:function(e){return Number(e>1)},2:function(e){return Number(1!=e)},3:function(e){return 0},4:function(e){return Number(e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2)},5:function(e){return Number(0==e?0:1==e?1:2==e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5)},6:function(e){return Number(1==e?0:e>=2&&e<=4?1:2)},7:function(e){return Number(1==e?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2)},8:function(e){return Number(1==e?0:2==e?1:8!=e&&11!=e?2:3)},9:function(e){return Number(e>=2)},10:function(e){return Number(1==e?0:2==e?1:e<7?2:e<11?3:4)},11:function(e){return Number(1==e||11==e?0:2==e||12==e?1:e>2&&e<20?2:3)},12:function(e){return Number(e%10!=1||e%100==11)},13:function(e){return Number(0!==e)},14:function(e){return Number(1==e?0:2==e?1:3==e?2:3)},15:function(e){return Number(e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2)},16:function(e){return Number(e%10==1&&e%100!=11?0:0!==e?1:2)},17:function(e){return Number(1==e||e%10==1&&e%100!=11?0:1)},18:function(e){return Number(0==e?0:1==e?1:2)},19:function(e){return Number(1==e?0:0==e||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3)},20:function(e){return Number(1==e?0:0==e||e%100>0&&e%100<20?1:2)},21:function(e){return Number(e%100==1?1:e%100==2?2:e%100==3||e%100==4?3:0)},22:function(e){return Number(1==e?0:2==e?1:(e<0||e>10)&&e%10==0?2:3)}};const Pt=["v1","v2","v3"],At=["v4"],xt={zero:0,one:1,two:2,few:3,many:4,other:5};class Tt{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.languageUtils=e,this.options=t,this.logger=et.create("pluralResolver"),this.options.compatibilityJSON&&!At.includes(this.options.compatibilityJSON)||"undefined"!=typeof Intl&&Intl.PluralRules||(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=function(){const e={};return St.forEach((t=>{t.lngs.forEach((n=>{e[n]={numbers:t.nr,plurals:Ct[t.fc]}}))})),e}()}addRule(e,t){this.rules[e]=t}getRule(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.shouldUseIntlApi())try{return new Intl.PluralRules(ft("dev"===e?"en":e),{type:t.ordinal?"ordinal":"cardinal"})}catch(e){return}return this.rules[e]||this.rules[this.languageUtils.getLanguagePartFromCode(e)]}needsPlural(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=this.getRule(e,t);return this.shouldUseIntlApi()?n&&n.resolvedOptions().pluralCategories.length>1:n&&n.numbers.length>1}getPluralFormsOfKey(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.getSuffixes(e,n).map((e=>`${t}${e}`))}getSuffixes(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=this.getRule(e,t);return n?this.shouldUseIntlApi()?n.resolvedOptions().pluralCategories.sort(((e,t)=>xt[e]-xt[t])).map((e=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:""}${e}`)):n.numbers.map((n=>this.getSuffix(e,n,t))):[]}getSuffix(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=this.getRule(e,n);return r?this.shouldUseIntlApi()?`${this.options.prepend}${n.ordinal?`ordinal${this.options.prepend}`:""}${r.select(t)}`:this.getSuffixRetroCompatible(r,t):(this.logger.warn(`no plural rule found for: ${e}`),"")}getSuffixRetroCompatible(e,t){const n=e.noAbs?e.plurals(t):e.plurals(Math.abs(t));let r=e.numbers[n];this.options.simplifyPluralSuffix&&2===e.numbers.length&&1===e.numbers[0]&&(2===r?r="plural":1===r&&(r=""));const i=()=>this.options.prepend&&r.toString()?this.options.prepend+r.toString():r.toString();return"v1"===this.options.compatibilityJSON?1===r?"":"number"==typeof r?`_plural_${r.toString()}`:i():"v2"===this.options.compatibilityJSON||this.options.simplifyPluralSuffix&&2===e.numbers.length&&1===e.numbers[0]?i():this.options.prepend&&n.toString()?this.options.prepend+n.toString():n.toString()}shouldUseIntlApi(){return!Pt.includes(this.options.compatibilityJSON)}}function Rt(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:".",i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],o=function(e,t,n){const r=st(e,n);return void 0!==r?r:st(t,n)}(e,t,n);return!o&&i&&"string"==typeof n&&(o=mt(e,n,r),void 0===o&&(o=mt(t,n,r))),o}class Et{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.logger=et.create("interpolator"),this.options=e,this.format=e.interpolation&&e.interpolation.format||(e=>e),this.init(e)}init(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e.interpolation||(e.interpolation={escapeValue:!0});const{escape:t,escapeValue:n,useRawValueToEscape:r,prefix:i,prefixEscaped:o,suffix:a,suffixEscaped:s,formatSeparator:l,unescapeSuffix:c,unescapePrefix:u,nestingPrefix:d,nestingPrefixEscaped:h,nestingSuffix:p,nestingSuffixEscaped:m,nestingOptionsSeparator:f,maxReplaces:g,alwaysFormat:y}=e.interpolation;this.escape=void 0!==t?t:dt,this.escapeValue=void 0===n||n,this.useRawValueToEscape=void 0!==r&&r,this.prefix=i?ct(i):o||"{{",this.suffix=a?ct(a):s||"}}",this.formatSeparator=l||",",this.unescapePrefix=c?"":u||"-",this.unescapeSuffix=this.unescapePrefix?"":c||"",this.nestingPrefix=d?ct(d):h||ct("$t("),this.nestingSuffix=p?ct(p):m||ct(")"),this.nestingOptionsSeparator=f||",",this.maxReplaces=g||1e3,this.alwaysFormat=void 0!==y&&y,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const e=(e,t)=>e&&e.source===t?(e.lastIndex=0,e):new RegExp(t,"g");this.regexp=e(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=e(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=e(this.nestingRegexp,`${this.nestingPrefix}(.+?)${this.nestingSuffix}`)}interpolate(e,t,n,r){let i,o,a;const s=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function l(e){return e.replace(/\$/g,"$$$$")}const c=e=>{if(e.indexOf(this.formatSeparator)<0){const i=Rt(t,s,e,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(i,void 0,n,{...r,...t,interpolationkey:e}):i}const i=e.split(this.formatSeparator),o=i.shift().trim(),a=i.join(this.formatSeparator).trim();return this.format(Rt(t,s,o,this.options.keySeparator,this.options.ignoreJSONStructure),a,n,{...r,...t,interpolationkey:o})};this.resetRegExp();const u=r&&r.missingInterpolationHandler||this.options.missingInterpolationHandler,d=r&&r.interpolation&&void 0!==r.interpolation.skipOnVariables?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:e=>l(e)},{regex:this.regexp,safeValue:e=>this.escapeValue?l(this.escape(e)):l(e)}].forEach((t=>{for(a=0;i=t.regex.exec(e);){const n=i[1].trim();if(o=c(n),void 0===o)if("function"==typeof u){const t=u(e,i,r);o="string"==typeof t?t:""}else if(r&&Object.prototype.hasOwnProperty.call(r,n))o="";else{if(d){o=i[0];continue}this.logger.warn(`missed to pass in variable ${n} for interpolating ${e}`),o=""}else"string"==typeof o||this.useRawValueToEscape||(o=rt(o));const s=t.safeValue(o);if(e=e.replace(i[0],s),d?(t.regex.lastIndex+=o.length,t.regex.lastIndex-=i[0].length):t.regex.lastIndex=0,a++,a>=this.maxReplaces)break}})),e}nest(e,t){let n,r,i,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};function a(e,t){const n=this.nestingOptionsSeparator;if(e.indexOf(n)<0)return e;const r=e.split(new RegExp(`${n}[ ]*{`));let o=`{${r[1]}`;e=r[0],o=this.interpolate(o,i);const a=o.match(/'/g),s=o.match(/"/g);(a&&a.length%2==0&&!s||s.length%2!=0)&&(o=o.replace(/'/g,'"'));try{i=JSON.parse(o),t&&(i={...t,...i})}catch(t){return this.logger.warn(`failed parsing options string in nesting for key ${e}`,t),`${e}${n}${o}`}return i.defaultValue&&i.defaultValue.indexOf(this.prefix)>-1&&delete i.defaultValue,e}for(;n=this.nestingRegexp.exec(e);){let s=[];i={...o},i=i.replace&&"string"!=typeof i.replace?i.replace:i,i.applyPostProcessor=!1,delete i.defaultValue;let l=!1;if(-1!==n[0].indexOf(this.formatSeparator)&&!/{.*}/.test(n[1])){const e=n[1].split(this.formatSeparator).map((e=>e.trim()));n[1]=e.shift(),s=e,l=!0}if(r=t(a.call(this,n[1].trim(),i),i),r&&n[0]===e&&"string"!=typeof r)return r;"string"!=typeof r&&(r=rt(r)),r||(this.logger.warn(`missed to resolve ${n[1]} for nesting ${e}`),r=""),l&&(r=s.reduce(((e,t)=>this.format(e,t,o.lng,{...o,interpolationkey:n[1].trim()})),r.trim())),e=e.replace(n[0],r),this.regexp.lastIndex=0}return e}}function _t(e){const t={};return function(n,r,i){const o=r+JSON.stringify(i);let a=t[o];return a||(a=e(ft(r),i),t[o]=a),a(n)}}class It{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.logger=et.create("formatter"),this.options=e,this.formats={number:_t(((e,t)=>{const n=new Intl.NumberFormat(e,{...t});return e=>n.format(e)})),currency:_t(((e,t)=>{const n=new Intl.NumberFormat(e,{...t,style:"currency"});return e=>n.format(e)})),datetime:_t(((e,t)=>{const n=new Intl.DateTimeFormat(e,{...t});return e=>n.format(e)})),relativetime:_t(((e,t)=>{const n=new Intl.RelativeTimeFormat(e,{...t});return e=>n.format(e,t.range||"day")})),list:_t(((e,t)=>{const n=new Intl.ListFormat(e,{...t});return e=>n.format(e)}))},this.init(e)}init(e){const t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}}).interpolation;this.formatSeparator=t.formatSeparator?t.formatSeparator:t.formatSeparator||","}add(e,t){this.formats[e.toLowerCase().trim()]=t}addCached(e,t){this.formats[e.toLowerCase().trim()]=_t(t)}format(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return t.split(this.formatSeparator).reduce(((e,t)=>{const{formatName:i,formatOptions:o}=function(e){let t=e.toLowerCase().trim();const n={};if(e.indexOf("(")>-1){const r=e.split("(");t=r[0].toLowerCase().trim();const i=r[1].substring(0,r[1].length-1);"currency"===t&&i.indexOf(":")<0?n.currency||(n.currency=i.trim()):"relativetime"===t&&i.indexOf(":")<0?n.range||(n.range=i.trim()):i.split(";").forEach((e=>{if(e){const[t,...r]=e.split(":"),i=r.join(":").trim().replace(/^'+|'+$/g,""),o=t.trim();n[o]||(n[o]=i),"false"===i&&(n[o]=!1),"true"===i&&(n[o]=!0),isNaN(i)||(n[o]=parseInt(i,10))}}))}return{formatName:t,formatOptions:n}}(t);if(this.formats[i]){let t=e;try{const a=r&&r.formatParams&&r.formatParams[r.interpolationkey]||{},s=a.locale||a.lng||r.locale||r.lng||n;t=this.formats[i](e,s,{...o,...r,...a})}catch(e){this.logger.warn(e)}return t}return this.logger.warn(`there was no format function for ${i}`),e}),e)}}class Ft extends tt{constructor(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};super(),this.backend=e,this.store=t,this.services=n,this.languageUtils=n.languageUtils,this.options=r,this.logger=et.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=r.maxParallelReads||10,this.readingCalls=0,this.maxRetries=r.maxRetries>=0?r.maxRetries:5,this.retryTimeout=r.retryTimeout>=1?r.retryTimeout:350,this.state={},this.queue=[],this.backend&&this.backend.init&&this.backend.init(n,r.backend,r)}queueLoad(e,t,n,r){const i={},o={},a={},s={};return e.forEach((e=>{let r=!0;t.forEach((t=>{const a=`${e}|${t}`;!n.reload&&this.store.hasResourceBundle(e,t)?this.state[a]=2:this.state[a]<0||(1===this.state[a]?void 0===o[a]&&(o[a]=!0):(this.state[a]=1,r=!1,void 0===o[a]&&(o[a]=!0),void 0===i[a]&&(i[a]=!0),void 0===s[t]&&(s[t]=!0)))})),r||(a[e]=!0)})),(Object.keys(i).length||Object.keys(o).length)&&this.queue.push({pending:o,pendingCount:Object.keys(o).length,loaded:{},errors:[],callback:r}),{toLoad:Object.keys(i),pending:Object.keys(o),toLoadLanguages:Object.keys(a),toLoadNamespaces:Object.keys(s)}}loaded(e,t,n){const r=e.split("|"),i=r[0],o=r[1];t&&this.emit("failedLoading",i,o,t),n&&this.store.addResourceBundle(i,o,n,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2;const a={};this.queue.forEach((n=>{!function(e,t,n,r){const{obj:i,k:o}=ot(e,t,Object);i[o]=i[o]||[],i[o].push(n)}(n.loaded,[i],o),function(e,t){void 0!==e.pending[t]&&(delete e.pending[t],e.pendingCount--)}(n,e),t&&n.errors.push(t),0!==n.pendingCount||n.done||(Object.keys(n.loaded).forEach((e=>{a[e]||(a[e]={});const t=n.loaded[e];t.length&&t.forEach((t=>{void 0===a[e][t]&&(a[e][t]=!0)}))})),n.done=!0,n.errors.length?n.callback(n.errors):n.callback())})),this.emit("loaded",a),this.queue=this.queue.filter((e=>!e.done))}read(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:this.retryTimeout,o=arguments.length>5?arguments[5]:void 0;if(!e.length)return o(null,{});if(this.readingCalls>=this.maxParallelReads)return void this.waitingReads.push({lng:e,ns:t,fcName:n,tried:r,wait:i,callback:o});this.readingCalls++;const a=(a,s)=>{if(this.readingCalls--,this.waitingReads.length>0){const e=this.waitingReads.shift();this.read(e.lng,e.ns,e.fcName,e.tried,e.wait,e.callback)}a&&s&&r<this.maxRetries?setTimeout((()=>{this.read.call(this,e,t,n,r+1,2*i,o)}),i):o(a,s)},s=this.backend[n].bind(this.backend);if(2!==s.length)return s(e,t,a);try{const n=s(e,t);n&&"function"==typeof n.then?n.then((e=>a(null,e))).catch(a):a(null,n)}catch(e){a(e)}}prepareLoading(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),r&&r();"string"==typeof e&&(e=this.languageUtils.toResolveHierarchy(e)),"string"==typeof t&&(t=[t]);const i=this.queueLoad(e,t,n,r);if(!i.toLoad.length)return i.pending.length||r(),null;i.toLoad.forEach((e=>{this.loadOne(e)}))}load(e,t,n){this.prepareLoading(e,t,{},n)}reload(e,t,n){this.prepareLoading(e,t,{reload:!0},n)}loadOne(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";const n=e.split("|"),r=n[0],i=n[1];this.read(r,i,"read",void 0,void 0,((n,o)=>{n&&this.logger.warn(`${t}loading namespace ${i} for language ${r} failed`,n),!n&&o&&this.logger.log(`${t}loaded namespace ${i} for language ${r}`,o),this.loaded(e,n,o)}))}saveMissing(e,t,n,r,i){let o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:()=>{};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(t))this.logger.warn(`did not save key "${n}" as the namespace "${t}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");else if(null!=n&&""!==n){if(this.backend&&this.backend.create){const s={...o,isUpdate:i},l=this.backend.create.bind(this.backend);if(l.length<6)try{let i;i=5===l.length?l(e,t,n,r,s):l(e,t,n,r),i&&"function"==typeof i.then?i.then((e=>a(null,e))).catch(a):a(null,i)}catch(e){a(e)}else l(e,t,n,r,a,s)}e&&e[0]&&this.store.addResource(e[0],t,n,r)}}}function Lt(){return{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(e){let t={};if("object"==typeof e[1]&&(t=e[1]),"string"==typeof e[1]&&(t.defaultValue=e[1]),"string"==typeof e[2]&&(t.tDescription=e[2]),"object"==typeof e[2]||"object"==typeof e[3]){const n=e[3]||e[2];Object.keys(n).forEach((e=>{t[e]=n[e]}))}return t},interpolation:{escapeValue:!0,format:e=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}}function Ot(e){return"string"==typeof e.ns&&(e.ns=[e.ns]),"string"==typeof e.fallbackLng&&(e.fallbackLng=[e.fallbackLng]),"string"==typeof e.fallbackNS&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&e.supportedLngs.indexOf("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e}function Mt(){}class Dt extends tt{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;var n;if(super(),this.options=Ot(e),this.services={},this.logger=et,this.modules={external:[]},n=this,Object.getOwnPropertyNames(Object.getPrototypeOf(n)).forEach((e=>{"function"==typeof n[e]&&(n[e]=n[e].bind(n))})),t&&!this.isInitialized&&!e.isClone){if(!this.options.initImmediate)return this.init(e,t),this;setTimeout((()=>{this.init(e,t)}),0)}}init(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;this.isInitializing=!0,"function"==typeof t&&(n=t,t={}),!t.defaultNS&&!1!==t.defaultNS&&t.ns&&("string"==typeof t.ns?t.defaultNS=t.ns:t.ns.indexOf("translation")<0&&(t.defaultNS=t.ns[0]));const r=Lt();function i(e){return e?"function"==typeof e?new e:e:null}if(this.options={...r,...this.options,...Ot(t)},"v1"!==this.options.compatibilityAPI&&(this.options.interpolation={...r.interpolation,...this.options.interpolation}),void 0!==t.keySeparator&&(this.options.userDefinedKeySeparator=t.keySeparator),void 0!==t.nsSeparator&&(this.options.userDefinedNsSeparator=t.nsSeparator),!this.options.isClone){let t;this.modules.logger?et.init(i(this.modules.logger),this.options):et.init(null,this.options),this.modules.formatter?t=this.modules.formatter:"undefined"!=typeof Intl&&(t=It);const n=new wt(this.options);this.store=new gt(this.options.resources,this.options);const o=this.services;o.logger=et,o.resourceStore=this.store,o.languageUtils=n,o.pluralResolver=new Tt(n,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),!t||this.options.interpolation.format&&this.options.interpolation.format!==r.interpolation.format||(o.formatter=i(t),o.formatter.init(o,this.options),this.options.interpolation.format=o.formatter.format.bind(o.formatter)),o.interpolator=new Et(this.options),o.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},o.backendConnector=new Ft(i(this.modules.backend),o.resourceStore,o,this.options),o.backendConnector.on("*",(function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];e.emit(t,...r)})),this.modules.languageDetector&&(o.languageDetector=i(this.modules.languageDetector),o.languageDetector.init&&o.languageDetector.init(o,this.options.detection,this.options)),this.modules.i18nFormat&&(o.i18nFormat=i(this.modules.i18nFormat),o.i18nFormat.init&&o.i18nFormat.init(this)),this.translator=new bt(this.services,this.options),this.translator.on("*",(function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];e.emit(t,...r)})),this.modules.external.forEach((e=>{e.init&&e.init(this)}))}if(this.format=this.options.interpolation.format,n||(n=Mt),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const e=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);e.length>0&&"dev"!==e[0]&&(this.options.lng=e[0])}this.services.languageDetector||this.options.lng||this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach((t=>{this[t]=function(){return e.store[t](...arguments)}})),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach((t=>{this[t]=function(){return e.store[t](...arguments),e}}));const o=nt(),a=()=>{const e=(e,t)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),o.resolve(t),n(e,t)};if(this.languages&&"v1"!==this.options.compatibilityAPI&&!this.isInitialized)return e(null,this.t.bind(this));this.changeLanguage(this.options.lng,e)};return this.options.resources||!this.options.initImmediate?a():setTimeout(a,0),o}loadResources(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Mt;const n="string"==typeof e?e:this.language;if("function"==typeof e&&(t=e),!this.options.resources||this.options.partialBundledLanguages){if(n&&"cimode"===n.toLowerCase()&&(!this.options.preload||0===this.options.preload.length))return t();const e=[],r=t=>{t&&"cimode"!==t&&this.services.languageUtils.toResolveHierarchy(t).forEach((t=>{"cimode"!==t&&e.indexOf(t)<0&&e.push(t)}))};n?r(n):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach((e=>r(e))),this.options.preload&&this.options.preload.forEach((e=>r(e))),this.services.backendConnector.load(e,this.options.ns,(e=>{e||this.resolvedLanguage||!this.language||this.setResolvedLanguage(this.language),t(e)}))}else t(null)}reloadResources(e,t,n){const r=nt();return e||(e=this.languages),t||(t=this.options.ns),n||(n=Mt),this.services.backendConnector.reload(e,t,(e=>{r.resolve(),n(e)})),r}use(e){if(!e)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return"backend"===e.type&&(this.modules.backend=e),("logger"===e.type||e.log&&e.warn&&e.error)&&(this.modules.logger=e),"languageDetector"===e.type&&(this.modules.languageDetector=e),"i18nFormat"===e.type&&(this.modules.i18nFormat=e),"postProcessor"===e.type&&yt.addPostProcessor(e),"formatter"===e.type&&(this.modules.formatter=e),"3rdParty"===e.type&&this.modules.external.push(e),this}setResolvedLanguage(e){if(e&&this.languages&&!(["cimode","dev"].indexOf(e)>-1))for(let e=0;e<this.languages.length;e++){const t=this.languages[e];if(!(["cimode","dev"].indexOf(t)>-1)&&this.store.hasLanguageSomeTranslations(t)){this.resolvedLanguage=t;break}}}changeLanguage(e,t){var n=this;this.isLanguageChangingTo=e;const r=nt();this.emit("languageChanging",e);const i=e=>{this.language=e,this.languages=this.services.languageUtils.toResolveHierarchy(e),this.resolvedLanguage=void 0,this.setResolvedLanguage(e)},o=(e,o)=>{o?(i(o),this.translator.changeLanguage(o),this.isLanguageChangingTo=void 0,this.emit("languageChanged",o),this.logger.log("languageChanged",o)):this.isLanguageChangingTo=void 0,r.resolve((function(){return n.t(...arguments)})),t&&t(e,(function(){return n.t(...arguments)}))},a=t=>{e||t||!this.services.languageDetector||(t=[]);const n="string"==typeof t?t:this.services.languageUtils.getBestMatchFromCodes(t);n&&(this.language||i(n),this.translator.language||this.translator.changeLanguage(n),this.services.languageDetector&&this.services.languageDetector.cacheUserLanguage&&this.services.languageDetector.cacheUserLanguage(n)),this.loadResources(n,(e=>{o(e,n)}))};return e||!this.services.languageDetector||this.services.languageDetector.async?!e&&this.services.languageDetector&&this.services.languageDetector.async?0===this.services.languageDetector.detect.length?this.services.languageDetector.detect().then(a):this.services.languageDetector.detect(a):a(e):a(this.services.languageDetector.detect()),r}getFixedT(e,t,n){var r=this;const i=function(e,t){let o;if("object"!=typeof t){for(var a=arguments.length,s=new Array(a>2?a-2:0),l=2;l<a;l++)s[l-2]=arguments[l];o=r.options.overloadTranslationOptionHandler([e,t].concat(s))}else o={...t};o.lng=o.lng||i.lng,o.lngs=o.lngs||i.lngs,o.ns=o.ns||i.ns,""!==o.keyPrefix&&(o.keyPrefix=o.keyPrefix||n||i.keyPrefix);const c=r.options.keySeparator||".";let u;return u=o.keyPrefix&&Array.isArray(e)?e.map((e=>`${o.keyPrefix}${c}${e}`)):o.keyPrefix?`${o.keyPrefix}${c}${e}`:e,r.t(u,o)};return"string"==typeof e?i.lng=e:i.lngs=e,i.ns=t,i.keyPrefix=n,i}t(){return this.translator&&this.translator.translate(...arguments)}exists(){return this.translator&&this.translator.exists(...arguments)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const n=t.lng||this.resolvedLanguage||this.languages[0],r=!!this.options&&this.options.fallbackLng,i=this.languages[this.languages.length-1];if("cimode"===n.toLowerCase())return!0;const o=(e,t)=>{const n=this.services.backendConnector.state[`${e}|${t}`];return-1===n||2===n};if(t.precheck){const e=t.precheck(this,o);if(void 0!==e)return e}return!(!this.hasResourceBundle(n,e)&&this.services.backendConnector.backend&&(!this.options.resources||this.options.partialBundledLanguages)&&(!o(n,e)||r&&!o(i,e)))}loadNamespaces(e,t){const n=nt();return this.options.ns?("string"==typeof e&&(e=[e]),e.forEach((e=>{this.options.ns.indexOf(e)<0&&this.options.ns.push(e)})),this.loadResources((e=>{n.resolve(),t&&t(e)})),n):(t&&t(),Promise.resolve())}loadLanguages(e,t){const n=nt();"string"==typeof e&&(e=[e]);const r=this.options.preload||[],i=e.filter((e=>r.indexOf(e)<0&&this.services.languageUtils.isSupportedCode(e)));return i.length?(this.options.preload=r.concat(i),this.loadResources((e=>{n.resolve(),t&&t(e)})),n):(t&&t(),Promise.resolve())}dir(e){if(e||(e=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!e)return"rtl";const t=this.services&&this.services.languageUtils||new wt(Lt());return["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"].indexOf(t.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){return new Dt(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},arguments.length>1?arguments[1]:void 0)}cloneInstance(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Mt;const n=e.forkResourceStore;n&&delete e.forkResourceStore;const r={...this.options,...e,isClone:!0},i=new Dt(r);return void 0===e.debug&&void 0===e.prefix||(i.logger=i.logger.clone(e)),["store","services","language"].forEach((e=>{i[e]=this[e]})),i.services={...this.services},i.services.utils={hasLoadedNamespace:i.hasLoadedNamespace.bind(i)},n&&(i.store=new gt(this.store.data,r),i.services.resourceStore=i.store),i.translator=new bt(i.services,r),i.translator.on("*",(function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];i.emit(e,...n)})),i.init(r,t),i.translator.options=r,i.translator.backendConnector.services.utils={hasLoadedNamespace:i.hasLoadedNamespace.bind(i)},i}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}const Gt=Dt.createInstance();function Bt(e){return Bt="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},Bt(e)}function Nt(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,(void 0,i=function(e,t){if("object"!==Bt(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==Bt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===Bt(i)?i:String(i)),r)}var i}Gt.createInstance=Dt.createInstance,Gt.createInstance,Gt.dir,Gt.init,Gt.loadResources,Gt.reloadResources,Gt.use,Gt.changeLanguage,Gt.getFixedT,Gt.t,Gt.exists,Gt.setDefaultNamespace,Gt.hasLoadedNamespace,Gt.loadNamespaces,Gt.loadLanguages;var jt=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.opts=t,this.defaultType=["skincare"],this.defaultDisplayModel=["widget","section","modal"]}var t,n;return t=e,(n=[{key:"init",value:function(e){e.responsiveOverride;var t=this.opts;if(!t||"object"!==Bt(t))throw new Error("pleas enter options.");if(t.arrTypes=this.defaultType,t.arrDisplayModel=this.defaultDisplayModel,t.intro=!0,void 0===t.faceageId||!t.faceageId)throw new Error("pleas enter face age Id.");if(void 0===t.displayModel&&(t.displayModel="section"),"modal"!==t.displayModel){if(void 0===t.elementId||!t.elementId)throw new Error("pleas enter element id.");if(!document.getElementById(t.elementId))throw new Error("element id is not valid.");t.element=document.getElementById(t.elementId)}else t.element=document.body;if(void 0===t.type&&(t.type="skincare"),void 0===t.language&&(t.language="en"),void 0===t.defaultQuiz&&(t.defaultQuiz={}),void 0===t.quiz&&(t.quiz=!0),void 0===t.currency&&(t.currency="$"),void 0===t.showProducts&&(t.showProducts=!1),void 0===t.showRoutine&&(t.showRoutine=!1),"widget"===t.displayModel&&(t.products=!1),"en"!==t.language&&Gt.changeLanguage(t.language),-1===this.defaultType.indexOf(t.type))throw new Error("Type is not valid");if(-1===this.defaultDisplayModel.indexOf(t.displayModel))throw new Error("Display Model is not valid");if(void 0!==t.routinesSupport&&Array.isArray(t.routinesSupport)||(t.routinesSupport=[]),void 0!==t.problems&&Array.isArray(t.problems)||(t.problems=[]),void 0===t.width?t.iframeWidth="360px":t.width&&(t.iframeWidth=t.width),void 0===t.height?"section"===t.displayModel?t.iframeHeight="600px":t.iframeHeight="580px":t.height&&(t.iframeHeight=t.height),void 0===t.showFacePoint&&(t.showFacePoint=!0),void 0===t.showAddToCard&&(t.showAddToCard=!0),void 0===t.showCamera&&(t.showCamera=!0),void 0===t.showUpload&&(t.showUpload=!0),!t.showCamera&&!t.showUpload)throw new Error("There are no input ways to receive the image.");return t}}])&&Nt(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function zt(e){return zt="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},zt(e)}function Wt(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,(void 0,i=function(e,t){if("object"!==zt(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==zt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===zt(i)?i:String(i)),r)}var i}var Ut=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}var t,n;return t=e,(n=[{key:"initGlobalVars",value:function(e){e.skinAnalyzeData=[]}},{key:"globalVars",value:function(e){return{faceID:null,dom:{},events:{onClickProblem:[],onClose:[],onDisplayProducts:[],onAddToCart:[],onCheckout:[],onClickProduct:[]},showCamera:!0,showUpload:!0,formPages:{},formData:{},intro:!0,quiz:!0,iframeWidth:"360px",iframeHeight:"480px",language:"en",displayModel:"widget",showFacePoint:!0,cameraPermission:null,faceDetection:null,boundingBox:[],imageWarning:!1,activeQuiz:0,privacy:!1,products:!0,productLoader:!0,productLists:[],productAction:[],productAddToCart:[],problems:{wrinkles:"Fine Wrinkles",fineWrinkles:"Fine Wrinkles",eye_wrinkles:"Eye Wrinkles",eyeWrinkles:"Eye Wrinkles",deep_wrinkles:"Deep Wrinkles",deepWrinkles:"Deep Wrinkles",dark_circle:"Dark Circle",darkCircle:"Dark Circle",eye_bag:"Eye Bag",eyeBag:"Eye Bag",pores:"Pores",pigments:"Pigment",pigment:"Pigment",acnes:"Acne",acne:"Acne",oiliness:"Oiliness",redness:"Redness"},routineGroup:{morning:{cleanser:"Cleanser",toner:"Toner",serum:"Serum",eyeCream:"Eye Cream",spotTreatment:"Spot Treatment",moisturizer:"Moisturizer",sunscreen:"Sunscreen",faceOil:"Face Oil"},night:{cleanser:"Cleanser",toner:"Toner",serum:"Serum",eyeCream:"Eye Cream",spotTreatment:"Spot Treatment",moisturizer:"Moisturizer",faceOil:"Face Oil",nightCream:"Night Cream"}},routineContent:{cleanser:"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.",toner:"Use a toner to balance your skin’s pH and remove any leftover residue.",serum:"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.",eyeCream:"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.",spotTreatment:"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.",moisturizer:"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.",sunscreen:"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.",faceOil:"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.",nightCream:"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration."}}}},{key:"init",value:function(e){var t=this.globalVars(e);return this.initGlobalVars(t),t}}])&&Wt(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function Ht(e){return Ht="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},Ht(e)}function Yt(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,(void 0,i=function(e,t){if("object"!==Ht(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==Ht(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===Ht(i)?i:String(i)),r)}var i}var qt=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.opts=t}var t,n;return t=e,(n=[{key:"init",value:function(){var e=new jt(this.opts).init({responsiveOverride:!1});return{config:e,globals:(new Ut).init(e)}}}])&&Yt(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function Jt(e){return Jt="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},Jt(e)}function Vt(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,(void 0,i=function(e,t){if("object"!==Jt(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==Jt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===Jt(i)?i:String(i)),r)}var i}var $t=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.ctx=t,this.w=t.w}var t,n;return t=e,n=[{key:"setAttrs",value:function(e,t){for(var n in t)t.hasOwnProperty(n)&&e.setAttribute(n,t[n])}},{key:"getLevelColor",value:function(e){return e<=30?"#5CB85C":e>=70?"#DA005C":"#5C7BB8"}},{key:"getSizeFrame",value:function(e,t){var n,r,i=e.dom.elIframe.clientWidth>300?e.dom.elIframe.clientWidth:300,o=e.dom.elIframe.clientHeight>400?e.dom.elIframe.clientHeight:400;return"widget"===t.displayModel?(n=i,r=i/3*4):"section"===t.displayModel?(r=o,i>768&&(r-=40),i<=(n=r/4*3)&&(r=(n=i-35)/3*4)):i>=668?n=(r=o-120)/4*3:r=(n=i-35)/3*4,{width:n,height:r}}}],null&&Vt(t.prototype,null),n&&Vt(t,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();const Kt=$t;var Zt=n(486),Xt=n.n(Zt);function Qt(e){return Qt="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},Qt(e)}function en(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,(void 0,i=function(e,t){if("object"!==Qt(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==Qt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===Qt(i)?i:String(i)),r)}var i}var tn=function(){function e(t,n,r,i,o){var a;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.gl=n,this.options=null!==(a=r.options)&&void 0!==a?a:[],this.title=Gt.t(r.title),this.description=Gt.t(r.description),this.name=r.name,this.layout=r.layout,this.activeItems=i||[],this.value=i,this.setValue=o,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this,t=(this.gl,document.createElement("div"));Kt.setAttrs(t,{class:"el_box","data-name":this.name});var n=document.createElement("div");Kt.setAttrs(n,{class:"box_title",style:this.title||this.description?"margin-bottom: 10px":""}),n.innerHTML=(this.title?'<label class="title_el">'+this.title+"</label>":"")+(this.description?'<p class="description_el">'+this.description+"</p>":""),t.appendChild(n);var r=document.createElement("div");Kt.setAttrs(r,{class:"checkbox_group input_select "+this.layout});var i=[];this.options.map((function(t){i[t.value]=document.createElement("div"),Kt.setAttrs(i[t.value],{class:"checkbox item "+(e.activeItems.includes(t.value)?"active":"")});var n=(t.icon_url?'<div class="ico"><img alt="'+t.label+'" src="'+t.icon_url+'" /></div>':"")+'<div class="title">'+Gt.t(t.label)+"</div>";i[t.value].innerHTML=n,r.appendChild(i[t.value]),i[t.value].addEventListener("click",(function(n){e.activeItems.includes(t.value)?i[t.value].classList.remove("active"):(i[t.value].classList.add("active"),e.activeItems.push(t.value)),e.setValue(e.activeItems),e.value=e.activeItems}))})),t.appendChild(r),this.el.appendChild(t)}}])&&en(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function nn(e){return nn="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},nn(e)}function rn(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,(void 0,i=function(e,t){if("object"!==nn(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==nn(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===nn(i)?i:String(i)),r)}var i}var on=function(){function e(t,n,r){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.gl=n,this.children=Gt.t(r.text),this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this.gl;e.dom.elementText=document.createElement("p"),Kt.setAttrs(e.dom.elementText,{style:"margin: 0 0 10px"}),e.dom.elementText.innerHTML=this.children,this.el.appendChild(e.dom.elementText)}}])&&rn(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function an(e){return an="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},an(e)}function sn(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,(void 0,i=function(e,t){if("object"!==an(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==an(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===an(i)?i:String(i)),r)}var i}var ln=function(){function e(t,n,r,i,o){var a;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.gl=n,this.options=null!==(a=r.options)&&void 0!==a?a:[],this.name=r.name,this.layout=r.layout,this.title=Gt.t(r.title),this.description=Gt.t(r.description),this.value=i,this.setValue=o,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this,t=(this.gl,document.createElement("div"));Kt.setAttrs(t,{class:"el_box","data-name":this.name});var n=document.createElement("div");Kt.setAttrs(n,{class:"box_title"}),n.innerHTML=(this.title?'<label class="title_el">'+this.title+"</label>":"")+(this.description?'<p class="description_el">'+this.description+"</p>":""),t.appendChild(n);var r=document.createElement("div");Kt.setAttrs(r,{class:"radio_group input_select "+this.layout});var i=[];this.options.map((function(t){i[t.value]=document.createElement("div"),Kt.setAttrs(i[t.value],{class:"radio item "+(e.value===t.value?"active":"")});var n=(t.icon_url?'<div class="ico"><img alt="'+t.label+'" src="'+t.icon_url+'" /></div>':"")+'<div class="title">'+Gt.t(t.label)+"</div>";i[t.value].innerHTML=n,r.appendChild(i[t.value]),i[t.value].addEventListener("click",(function(n){var o=r.getElementsByClassName("radio");if(o.length)for(var a=0;a<o.length;a++)o[a].classList.remove("active");e.value!==t.value?(e.setValue(t.value),e.value=t.value,i[t.value].classList.add("active")):(e.setValue(null),e.value=null)}))})),t.appendChild(r),this.el.appendChild(t)}}])&&sn(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function cn(e){return cn="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},cn(e)}function un(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,(void 0,i=function(e,t){if("object"!==cn(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==cn(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===cn(i)?i:String(i)),r)}var i}var dn=function(){function e(t,n,r){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,a=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.pv=r,this.ctx=n,this.w=n.w,this.gl=this.w.globals,this.co=this.w.config,this.onBack=o,this.showRefresh=a,this.title=i,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this,t=this.gl;t.dom.elAppBar=document.createElement("div"),Kt.setAttrs(t.dom.elAppBar,{class:"app_bar",style:"width: 100%"});var n=' <div class="header_tools">'+(this.onBack?' <div class="back"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M15.56 5.15999L13.2 2.79999L0 16L13.2 29.2L15.56 26.84L4.72 16L15.56 5.15999Z" fill="black"/></svg></div>':"")+' <div class="title">'+Gt.t("Skin Analysis")+'</div> <div class="action">'+(this.showRefresh?' <div class="refresh"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M23.5333 8.46668C21.6 6.53334 18.9467 5.33334 16 5.33334C10.1067 5.33334 5.34668 10.1067 5.34668 16C5.34668 21.8933 10.1067 26.6667 16 26.6667C20.9733 26.6667 25.12 23.2667 26.3067 18.6667H23.5333C22.44 21.7733 19.48 24 16 24C11.5867 24 8.00001 20.4133 8.00001 16C8.00001 11.5867 11.5867 8.00001 16 8.00001C18.2133 8.00001 20.1867 8.92001 21.6267 10.3733L17.3333 14.6667H26.6667V5.33334L23.5333 8.46668Z" fill="black"/></svg></div>':"")+' <div class="close"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M25.3333 8.54663L23.4533 6.66663L16 14.12L8.54667 6.66663L6.66667 8.54663L14.12 16L6.66667 23.4533L8.54667 25.3333L16 17.88L23.4533 25.3333L25.3333 23.4533L17.88 16L25.3333 8.54663Z" fill="black"/></svg></div> </div>';t.dom.elAppBar.innerHTML=n;var r=t.dom.elAppBar.querySelector(".title");this.title?r.innerText=this.title:(t.authorize.logo,t.authorize.name&&(r.innerText=t.authorize.name));var i=t.dom.elAppBar.querySelector(".back"),o=t.dom.elAppBar.querySelector(".refresh"),a=t.dom.elAppBar.querySelector(".close");i&&i.addEventListener("click",(function(t){e.onBack&&e.onBack()})),o&&o.addEventListener("click",(function(n){t.dom.elInfo&&t.dom.elInfo.remove(),t.dom.elForm&&t.dom.elForm.remove(),t.dom.elFace&&t.dom.elFace.remove(),t.activeQuiz=0,t.formData={},t.productLoader=!1,t.productLists=[],t.productAction=[],t.productAddToCart=[],t.imageSubmit=null,t.intro=!0,e.co.intro=!0,new ii(t.dom.docIframe,e.ctx,e.pv),t.onRefresh&&t.onRefresh()})),a&&a.addEventListener("click",(function(e){t.dom.elModalFace.classList.remove("is-open"),t.onCloseModal&&t.onCloseModal()})),this.el.appendChild(t.dom.elAppBar)}}])&&un(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function hn(e){return hn="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},hn(e)}function pn(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,(void 0,i=function(e,t){if("object"!==hn(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==hn(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===hn(i)?i:String(i)),r)}var i}function mn(e,t){var n=function(e,t,n){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)}(e,t);return function(e,t){return t.get?t.get.call(e):t.value}(e,n)}var fn=new WeakMap,gn=function(){function e(){var t,n,r;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),r={writable:!0,value:{copyRight:!0,license:!1,elCopyRight:null}},function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(t=this,n=fn),n.set(t,r)}var t,n;return t=e,(n=[{key:"getValue",value:function(){return mn(this,fn)}},{key:"setValue",value:function(e,t){mn(this,fn)[e]=t}}])&&pn(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function yn(e){return yn="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},yn(e)}function vn(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,(void 0,i=function(e,t){if("object"!==yn(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==yn(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===yn(i)?i:String(i)),r)}var i}var bn=function(){function e(t,n,r){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.pv=r,this.ctx=n,this.w=n.w,this.gl=this.w.globals,this.co=this.w.config,this.pv=new gn,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e,t,n,r,i,o,a,s,l,c,u=this,d=this.el,h=this.gl,p=this.co,m=this.pv.getValue(),f=[{key:"eyeGlass",svg:'<svg width="54" height="55" viewBox="0 0 54 55" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M22.1266 19.4592C24.0344 18.7776 26.0063 18.8686 26.8269 19.6404C27.6451 20.414 27.9449 20.8857 27.9823 21.3679C28.0262 21.9364 27.2941 22.1521 26.8269 21.6852C26.4881 20.9863 25.9015 20.0526 24.9785 19.9126C23.6468 19.7132 21.8617 20.5674 21.2036 21.1167C20.0864 22.0495 16.0629 26.3434 16.0629 26.3434C16.0629 26.3434 18.6231 26.8879 20.2441 27.4343C21.8601 27.9798 22.5946 28.9327 23.7118 29.1618C24.829 29.3881 25.6545 28.7582 27.4867 29.0027C29.3189 29.2471 35.1713 30.572 35.9026 29.9355C36.5981 29.3296 37.8883 26.1075 38.3774 25.0559C38.3994 25.0012 38.4229 24.9552 38.4433 24.914C38.44 24.9111 38.4384 24.9082 38.4343 24.9054C38.6569 24.4548 39.3256 23.035 39.1558 22.548C39.1258 22.4608 39.0689 22.4023 38.9917 22.3793C38.921 22.3582 38.856 22.3821 38.8081 22.4483C38.6716 22.6362 38.7024 23.1452 38.7902 23.382C38.8178 23.4587 38.8511 23.5086 38.8901 23.5325C38.7333 23.9831 38.5099 24.4787 38.3531 24.7999C37.9712 24.1921 37.9232 22.2872 38.4433 21.482C38.999 20.6182 40 20.5731 40 22.2767C40 23.0724 39.8082 25.4815 39.2094 26.2532C39.4605 26.4804 39.4605 27.2311 38.9795 28.1389C38.4969 29.0468 37.1099 33.7951 35.6661 34.1133C34.3759 36.5445 33.0669 35.931 31.5638 35.931C30.0615 35.931 27.7126 35.2273 26.6921 34.725C25.6699 34.2255 24.5341 31.7493 24.3992 31.3859C24.2659 31.0216 23.1869 30.7503 23.0139 31.1808C22.8392 31.6122 22.8603 33.9552 20.1531 33.5209C17.4474 33.0895 15.4641 32.3619 14.7321 30.6583C14 28.9576 14 26.3223 14 26.3223C14 26.3223 20.2205 20.1417 22.1266 19.4592ZM26.6132 33.9341C27.2104 34.7528 31.0641 35.3663 31.0641 35.3663C31.0641 35.3663 33.0093 35.5034 33.6446 35.4804C33.6791 35.4741 33.7128 35.467 33.7458 35.4593C34.756 35.2228 35.0959 34.0233 35.2206 32.9933V31.6399C35.2442 30.9688 34.3604 30.805 33.7023 30.7024C33.0287 30.6027 28.2317 29.7821 27.7296 29.7821C27.2291 29.7821 25.5367 29.7955 25.4408 30.9296C25.3433 32.0695 26.0177 33.1154 26.6132 33.9341ZM16.4643 31.8212C17.7334 32.2631 19.4681 32.8891 20.1523 33.0262C20.6852 33.1384 21.2329 33.171 21.4709 32.914C21.9617 32.3772 21.7586 31.1233 21.8138 30.4043C21.9536 29.2107 19.8711 28.3019 19.8711 28.3019C19.8711 28.3019 16.5594 27.2109 15.6169 27.0767C15.4991 27.0547 14.7507 28.8704 14.7507 28.8704C14.7507 28.8704 15.1968 31.3783 16.4643 31.8212Z" fill="black"/>\n<path d="M38.7619 22.5432C38.7907 22.4266 38.8327 22.4075 38.859 22.4075C38.8686 22.4075 38.8756 22.4102 38.8791 22.4111C38.9237 22.423 38.9535 22.4494 38.9719 22.4958C39.0296 22.6443 38.964 22.9322 38.8459 23.2592C38.7785 23.2036 38.6936 22.8101 38.7619 22.5432Z" fill="'+(null!==(e=null===(t=h.customTemplate)||void 0===t?void 0:t.base_color)&&void 0!==e?e:"#3FC79A")+'" />\n<path fill-rule="evenodd" clip-rule="evenodd" d="M35.6588 14.2799C32.0968 11.9698 27.6242 11.0825 23.1779 12.183C14.6495 14.2939 9.44712 22.9188 11.558 31.4471C12.32 34.5258 13.9309 37.1711 16.0797 39.1953L35.6588 14.2799ZM38.0749 16.2024L18.5214 41.0852C22.0534 43.3094 26.4504 44.149 30.8221 43.067C39.3505 40.9561 44.5529 32.3312 42.442 23.8029C41.6983 20.7985 40.1463 18.2069 38.0749 16.2024ZM22.436 9.18589C32.6197 6.66528 42.9185 12.8774 45.4391 23.061C47.9597 33.2447 41.7476 43.5435 31.564 46.0641C21.3803 48.5847 11.0815 42.3726 8.56089 32.189C6.04028 22.0053 12.2524 11.7065 22.436 9.18589Z" fill="'+(null!==(n=null===(r=h.customTemplate)||void 0===r?void 0:r.base_color)&&void 0!==n?n:"#3FC79A")+'" stroke="white" stroke-width="1.6"/>\n</svg>\n',title:Gt.t("Remove the glasses")},{key:"clean",svg:'<svg width="56" height="55" viewBox="0 0 56 55" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M19.3406 18.2903C19.3406 18.13 19.2032 18 19.0338 18C18.8644 18 18.727 18.13 18.727 18.2903V18.871H17.8068C17.6373 18.871 17.5 19.0009 17.5 19.1613C17.5 19.3216 17.6373 19.4516 17.8068 19.4516H18.727V20.0323H17.8068C17.6373 20.0323 17.5 20.1622 17.5 20.3226C17.5 20.4829 17.6373 20.6129 17.8068 20.6129H18.727V21.1935H17.8068C17.6373 21.1935 17.5 21.3235 17.5 21.4839C17.5 21.6442 17.6373 21.7742 17.8068 21.7742H18.727V22.3548H17.8068C17.6373 22.3548 17.5 22.4848 17.5 22.6452C17.5 22.8055 17.6373 22.9355 17.8068 22.9355H18.727V23.5161H17.8068C17.6373 23.5161 17.5 23.6461 17.5 23.8065C17.5 23.9668 17.6373 24.0968 17.8068 24.0968H18.727V30.1935H18.4203C18.0819 30.1935 17.8068 30.454 17.8068 30.7742V31.5813C17.6199 31.741 17.5 31.9695 17.5 32.2258V35.129C17.5 35.6092 17.9129 36 18.4203 36H19.6473C20.1547 36 20.5676 35.6092 20.5676 35.129V32.2258C20.5676 31.9695 20.4477 31.741 20.2608 31.5813V30.7742C20.2608 30.454 19.9854 30.1935 19.6473 30.1935H19.3406V24.0968H20.2608C20.4303 24.0968 20.5676 23.9668 20.5676 23.8065C20.5676 23.6461 20.4303 23.5161 20.2608 23.5161H19.3406V22.9355H20.2608C20.4303 22.9355 20.5676 22.8055 20.5676 22.6452C20.5676 22.4848 20.4303 22.3548 20.2608 22.3548H19.3406V21.7742H20.2608C20.4303 21.7742 20.5676 21.6442 20.5676 21.4839C20.5676 21.3235 20.4303 21.1935 20.2608 21.1935H19.3406V20.6129H20.2608C20.4303 20.6129 20.5676 20.4829 20.5676 20.3226C20.5676 20.1622 20.4303 20.0323 20.2608 20.0323H19.3406V19.4516H20.2608C20.4303 19.4516 20.5676 19.3216 20.5676 19.1613C20.5676 19.0009 20.4303 18.871 20.2608 18.871H19.3406V18.2903ZM19.9541 32.2258V35.129C19.9541 35.2893 19.8167 35.4194 19.6473 35.4194H18.4203C18.251 35.4194 18.1135 35.2893 18.1135 35.129V32.2258C18.1135 32.0655 18.251 31.9355 18.4203 31.9355H19.6473C19.8167 31.9355 19.9541 32.0655 19.9541 32.2258ZM19.573 30.7742C19.6141 30.7742 19.6473 30.8057 19.6473 30.8445V31.2845C19.6473 31.3234 19.6141 31.3548 19.573 31.3548H18.4946C18.4535 31.3548 18.4203 31.3234 18.4203 31.2845V30.8445C18.4203 30.8057 18.4535 30.7742 18.4946 30.7742H19.573Z" fill="black"/>\n<path d="M36.5 24.3871C36.5 20.8652 33.4726 18 29.7513 18C26.0898 18 23.1022 20.7743 23.0071 24.2184L22.8995 24.0657C22.7485 23.8515 22.4712 23.7577 22.2114 23.832C21.9506 23.9066 21.7755 24.1299 21.7755 24.3877V28.242C21.593 28.3427 21.4687 28.528 21.4687 28.7419V29.4033C21.2862 29.504 21.162 29.6893 21.162 29.9032V35.4194C21.162 35.7396 21.4371 36 21.7755 36H23.616C23.9541 36 24.2296 35.7396 24.2296 35.4194V29.9032C24.2296 29.6893 24.1053 29.504 23.9228 29.4033V28.7419C23.9228 28.528 23.7986 28.3427 23.616 28.242V27.043C24.5956 29.0619 26.6546 30.5177 29.0901 30.743C29.2878 30.7613 29.4445 30.915 29.4445 31.103V35.4194H25.7634C25.4245 35.4194 25.1498 35.6793 25.1498 36H34.3527C34.3527 35.6793 34.078 35.4194 33.7392 35.4194H30.058V31.103C30.058 30.915 30.2146 30.7613 30.4123 30.743C33.8244 30.4276 36.5 27.698 36.5 24.3871ZM22.389 24.6199C22.389 24.5503 22.4843 24.523 22.5251 24.5809L23.0025 25.2586V28.1613H22.389V24.6199ZM22.0822 28.8122C22.0822 28.7734 22.1155 28.7419 22.1565 28.7419H23.235C23.276 28.7419 23.3093 28.7734 23.3093 28.8122V29.2523C23.3093 29.2911 23.276 29.3226 23.235 29.3226H22.1565C22.1155 29.3226 22.0822 29.2911 22.0822 29.2523V28.8122ZM23.6166 35.2787C23.6167 35.3564 23.5501 35.4194 23.4681 35.4194H21.9241C21.842 35.4194 21.7755 35.3564 21.7755 35.2787V30.0438C21.7755 29.9662 21.842 29.9032 21.9241 29.9032H23.4675C23.5495 29.9032 23.6161 29.9662 23.6161 30.0438L23.6166 35.2787ZM29.7513 30.1935C26.3683 30.1935 23.616 27.5888 23.616 24.3871C23.616 21.1854 26.3683 18.5806 29.7513 18.5806C33.1342 18.5806 35.8865 21.1854 35.8865 24.3871C35.8865 27.5888 33.1342 30.1935 29.7513 30.1935Z" fill="black"/>\n<path d="M29.7213 18.4922C26.3006 18.4922 23.5178 21.1259 23.5178 24.3633C23.5178 27.6007 26.3006 30.2344 29.7213 30.2344C33.142 30.2344 35.9248 27.6007 35.9248 24.3633C35.9248 21.1259 33.142 18.4922 29.7213 18.4922ZM29.7213 29.5437C26.7031 29.5437 24.2476 27.2197 24.2476 24.3633C24.2476 21.5068 26.7027 19.1829 29.7213 19.1829C32.7399 19.1829 35.195 21.5068 35.195 24.3633C35.195 27.2197 32.7395 29.5437 29.7213 29.5437Z" fill="black"/>\n<path d="M26.2045 24.6073L26.5231 24.9963L30.9692 21.729L30.6506 21.3399L26.2045 24.6073Z" fill="black"/>\n<path d="M29.1664 20.9531L26.1924 23.1441L26.5114 23.5327L29.4855 21.3418L29.1664 20.9531Z" fill="black"/>\n<path fill-rule="evenodd" clip-rule="evenodd" d="M35.1588 13.6549C31.5968 11.3448 27.1242 10.4575 22.6779 11.558C14.1495 13.6689 8.94712 22.2938 11.058 30.8221C11.82 33.9008 13.4309 36.5461 15.5797 38.5703L35.1588 13.6549ZM37.5749 15.5774L18.0214 40.4602C21.5534 42.6844 25.9504 43.524 30.3221 42.442C38.8505 40.3311 44.0529 31.7062 41.942 23.1779C41.1983 20.1735 39.6463 17.5819 37.5749 15.5774ZM21.936 8.56089C32.1197 6.04028 42.4185 12.2524 44.9391 22.436C47.4597 32.6197 41.2476 42.9185 31.064 45.4391C20.8803 47.9597 10.5815 41.7476 8.06089 31.564C5.54028 21.3803 11.7524 11.0815 21.936 8.56089Z" fill="'+(null!==(i=null===(o=h.customTemplate)||void 0===o?void 0:o.base_color)&&void 0!==i?i:"#3FC79A")+'" stroke="white" stroke-width="1.6"/>\n</svg>',title:Gt.t("Clean your face")},{key:"light",svg:'<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px"\n\t viewBox="0 0 54 55" style="enable-background:new 0 0 54 55;">\n<path d="M31.9,24.1c-4.8,3.9-9.6,0.2-9.8,0C22,24,21.8,24,21.7,24c-0.1,0.1-0.2,0.2-0.2,0.4L23,34.7c0,0.2,0.2,0.3,0.4,0.3\n\tc0.2,0,0.3-0.2,0.3-0.4l-1.4-9.4c1.5,0.9,5.3,2.6,9.2,0.1l-1.8,9.3c0,0.2,0.1,0.4,0.3,0.4c0,0,0,0,0.1,0c0.2,0,0.3-0.1,0.4-0.3\n\tl2-10.3c0-0.2,0-0.3-0.2-0.4C32.2,24,32,24,31.9,24.1z"/>\n<g id="Layer_x0020_1">\n\t<path fill="'+(null!==(a=null===(s=h.customTemplate)||void 0===s?void 0:s.base_color)&&void 0!==a?a:"#3FC79A")+'" d="M27,49.4c-1.2,0-2.5-0.8-2.5-2.2v-0.9h-2.4c-0.4,0-0.6-0.3-0.6-0.6v-2.5c-0.7,0-1.6,0.2-1.6-0.6v-2.9\n\t\tc-0.7-4.5-2.2-6.2-3.7-7.9c-1.6-1.8-3.1-3.6-3.1-8.4c0-7.7,6.2-13.9,13.9-13.9c7.6,0,13.9,6.2,13.9,13.9c0,4.8-1.5,6.6-3.1,8.4\n\t\tc-1.5,1.7-3,3.4-3.7,7.9v2.9c0,0.8-0.9,0.6-1.6,0.6v2.5c0,0.4-0.3,0.6-0.6,0.6h-2.4v0.9C29.5,48.6,28.2,49.4,27,49.4z M21,38.9H33\n\t\tc1.6-9.2,6.7-7.2,6.7-15.7c0-7-5.7-12.7-12.7-12.7c-7,0-12.7,5.7-12.7,12.7C14.3,31.7,19.4,29.6,21,38.9z M22.1,41.8L22.1,41.8\n\t\th10.7v-1.7H21.1v1.7H22.1z M22.8,44.9h8.5v-1.9h-8.5V44.9z M25.7,46.2c0,0.9-0.2,1.9,1.3,1.9c1.4,0,1.2-1.1,1.2-1.9H25.7z"/>\n</g>\n<path fill="#000" d="M36.7,23.8c-0.4,0-0.6-0.3-0.6-0.6c0-5-4-9.1-9-9.1c-0.8,0-0.8-1.2,0-1.2c5.7,0,10.3,4.6,10.3,10.3\n\tC37.3,23.5,37,23.8,36.7,23.8z"/>\n<path fill="#000" d="M27,8.3c-0.4,0-0.6-0.3-0.6-0.6V4c0-0.8,1.2-0.8,1.2,0v3.7C27.6,8,27.3,8.3,27,8.3z"/>\n<path fill="#000" d="M35.7,10.6c-0.5,0-0.8-0.5-0.5-0.9L37,6.5c0.4-0.7,1.5-0.1,1.1,0.6l-1.8,3.2C36.1,10.5,35.9,10.6,35.7,10.6z"/>\n<path fill="#000" d="M42,17c-0.7,0-0.9-0.8-0.3-1.1l3.2-1.8c0.7-0.4,1.3,0.7,0.6,1.1l-3.2,1.8C42.2,16.9,42.1,17,42,17z"/>\n<path fill="#000" d="M18.3,10.6c-0.2,0-0.4-0.1-0.5-0.3l-1.8-3.2c-0.4-0.7,0.7-1.3,1.1-0.6l1.8,3.2C19.1,10.1,18.8,10.6,18.3,10.6z"\n\t/>\n<path fill="#000" d="M12,16.9c-0.1,0-0.2,0-0.3-0.1L8.5,15c-0.7-0.4-0.1-1.5,0.6-1.1l3.2,1.8C12.8,16.1,12.6,16.9,12,16.9z"/>\n</svg>\n',title:Gt.t("Be in the right light")},{key:"position",svg:'<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px"\n\t viewBox="0 0 54 55" style="enable-background:new 0 0 54 55;" >\n<style type="text/css">\n\t.st2{mask:url(#path-2-outside-1_5552_2676_00000124156348595949881960000006641333605475992464_);fill:none;stroke:#FFFFFF;}\n</style>\n<path id="Shape" fill="'+(null!==(l=null===(c=h.customTemplate)||void 0===c?void 0:c.base_color)&&void 0!==l?l:"#3FC79A")+'" d="M20.3,40.7c-2,0.7-8.5,0.7-8.5,4.8v1.9c0,0.4,0.3,0.6,0.6,0.6h29.4c0.4,0,0.6-0.3,0.6-0.6v-1.9\n\tc0-4.1-6.5-4.1-8.5-4.8c-1.1-0.4-2.1-1.1-3-1.9c-0.3-0.2-0.4-0.6-0.4-0.9c0-1,0.2-1.9,0.6-2.8c2.3-1.5,3.7-4.1,3.7-6.8\n\tc0.7,0,1.3-0.3,1.8-0.7c0.5-0.5,0.8-1.1,0.8-1.8v-1.9c0-1-0.6-1.9-1.4-2.3c2.1-3.2,0.7-8.7-3.4-9.1c-1.3-2.6-5.7-3.1-8.6-2.4\n\tc-4,1-6.6,4.3-7.4,9.5c-0.9,5.2,1.6,10.1-2.6,15.4c-0.2,0.2-0.2,0.5-0.1,0.7s0.4,0.4,0.6,0.3c3.5-0.2,5.2-1.6,6.1-3.7\n\tc0.7,1.1,1.6,2.1,2.7,2.8c0.4,0.9,0.6,1.9,0.6,2.8c0,0.4-0.2,0.7-0.4,0.9C22.4,39.6,21.4,40.3,20.3,40.7L20.3,40.7z M24.2,34.4\n\tc-0.3-0.6-3.5-1.6-3.5-6.5c0-0.5,0.1,0.3-0.7-3.6c-0.1-0.3-0.4-0.6-0.8-0.5c-0.3,0.1-0.6,0.4-0.5,0.8l0.6,3.1c0,0.9,0.1,1.9,0.3,2.8\n\tc-0.7,2.3-1.7,3.6-4.1,4c3.4-5.4,1.2-10.1,2-14.7c0.6-3.3,2.1-7.4,6.5-8.5c2.8-0.7,6.1,0,7.1,1.5c0.2,0.4,0.3,0.9,0.8,0.9\n\tc3.5,0,4.6,5.4,2.2,7.7c-0.2,0.2-0.2,0.4-0.2,0.6c0,0.2,0.2,0.4,0.4,0.5c0.1,0,0.2,0.1,0.4,0c0.7,0.1,1.2,0.6,1.2,1.3v1.9\n\tc0,0.7-0.6,1.3-1.3,1.3c-0.6,0-0.9-0.1-1.1,0.2c-0.2,0.2-0.2,0.5-0.2,0.7c0,4.9-3.2,5.9-3.5,6.5c-0.5,1.1-0.8,2.3-0.8,3.6\n\tc0,0.7,0.3,1.4,0.9,1.9c1,0.9,2.1,1.6,3.4,2.1c2,0.7,7.7,0.8,7.7,3.6v1.3H13.1v-1.3c0-2,2.6-2.6,5.6-3.2c1.8-0.3,3.1-0.5,5.5-2.6\n\tc0.5-0.5,0.9-1.1,0.9-1.9C25.1,36.7,24.8,35.5,24.2,34.4L24.2,34.4z"/>\n<path d="M44.3,25.1c0,10.9-7.8,19.8-17.3,19.8S9.7,36.1,9.7,25.1C9.7,14.2,17.4,5.4,27,5.4S44.3,14.2,44.3,25.1z M10.7,25.1\n\tc0,10.2,7.3,18.5,16.3,18.5s16.3-8.3,16.3-18.5C43.3,14.9,36,6.6,27,6.6S10.7,14.9,10.7,25.1z"/>\n<defs>\n\t<filter id="Adobe_OpacityMaskFilter" filterUnits="userSpaceOnUse" x="9.2" y="4.9" width="35.7" height="40.5">\n\t\t<feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/>\n\t</filter>\n</defs>\n<mask maskUnits="userSpaceOnUse" x="9.2" y="4.9" width="35.7" height="40.5" id="path-2-outside-1_5552_2676_00000124156348595949881960000006641333605475992464_">\n\t<rect x="8.7" y="4.4" fill="#FFFFFF" width="37" height="42"/>\n\t<path d="M44.3,25.1c0,10.9-7.8,19.8-17.3,19.8S9.7,36.1,9.7,25.1C9.7,14.2,17.4,5.4,27,5.4S44.3,14.2,44.3,25.1z M10.7,25.1\n\t\tc0,10.2,7.3,18.5,16.3,18.5s16.3-8.3,16.3-18.5C43.3,14.9,36,6.6,27,6.6S10.7,14.9,10.7,25.1z"/>\n</mask>\n<path class="st2" d="M44.3,25.1c0,10.9-7.8,19.8-17.3,19.8S9.7,36.1,9.7,25.1C9.7,14.2,17.4,5.4,27,5.4S44.3,14.2,44.3,25.1z\n\t M10.7,25.1c0,10.2,7.3,18.5,16.3,18.5s16.3-8.3,16.3-18.5C43.3,14.9,36,6.6,27,6.6S10.7,14.9,10.7,25.1z"/>\n</svg>\n',title:Gt.t("Be neutral face and fix position")}];h.dom.elInfo=document.createElement("div"),Kt.setAttrs(h.dom.elInfo,{class:"face_age_info "+p.displayModel,style:"height: 100%;display: flex;flex-direction: column;flex: 1 1 0%;overflow: hidden auto;align-self: center;"}),"modal"===p.displayModel&&new dn(h.dom.elInfo,this.ctx,this.pv,null,h.formPages.length>1&&p.quiz?function(){h.dom.elInfo.remove(),h.activeQuiz=h.activeQuiz-1>0?h.activeQuiz-1:0,h.intro=!0,p.intro=!0,new ii(h.dom.docIframe,u.ctx,u.pv)}:null,h.formPages.length>1&&p.quiz),h.dom.elInfo.box=document.createElement("div"),Kt.setAttrs(h.dom.elInfo.box,{style:"width: 100%;"+("widget"!==p.displayModel?"margin: auto 0px;":"")}),h.dom.elInfo.boxWindow=document.createElement("div"),Kt.setAttrs(h.dom.elInfo.boxWindow,{class:"info_window"}),h.dom.elInfo.boxTitle=document.createElement("div"),Kt.setAttrs(h.dom.elInfo.boxTitle,{class:"title"}),h.dom.elInfo.boxTitle.innerHTML=("modal"!==p.displayModel?'<div class="goBack"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M15.56 5.15999L13.2 2.79999L0 16L13.2 29.2L15.56 26.84L4.72 16L15.56 5.15999Z" fill="black"/></svg></div>':"")+'<div class="bt"><h2>'+Gt.t("Instructions")+"</h2><p>"+Gt.t("Get Ready to Start Skin Analysis")+"</p></div>",h.dom.elInfo.boxWindow.appendChild(h.dom.elInfo.boxTitle),h.dom.elInfo.goBack=h.dom.elInfo.boxTitle.querySelector(".goBack"),h.dom.elInfo.boxItem=document.createElement("div"),Kt.setAttrs(h.dom.elInfo.boxItem,{class:"items"});var g="";Xt().map(f,(function(e,t){g+='<div class="item_intro"><div class="item_main"><div class="icon">'+e.svg+'</div><div class="title">'+e.title+"</div></div></div>"})),h.dom.elInfo.boxItem.innerHTML=g,h.dom.elInfo.boxWindow.appendChild(h.dom.elInfo.boxItem),h.dom.elInfo.privacy=document.createElement("div"),Kt.setAttrs(h.dom.elInfo.privacy,{class:"privacy"}),h.dom.elInfo.privacy.innerHTML='<div class="privacy_face_age"> <div class="check_box"><div class="check_box_input"><svg xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" width="30.114px" height="23.945px" viewBox="0 0 30.114 23.945" enable-background="new 0 0 30.114 23.945" xml:space="preserve" fill="currentColor" role="presentation"><path d="M26.653,0.444l-1.263,1.35L10.399,17.715l-5.586-5.471l-1.321-1.292l-2.584,2.642l1.321,1.292l6.929,6.792l1.343,1.313 l1.292-1.371l16.282-17.3l1.271-1.343L26.653,0.444L26.653,0.444z"></path></svg></div><input type="checkbox" tabindex="0" name="privacy_acept" data-testid="checkbox_privacy_id" style="display: none"></div> <div class="text">'+Gt.t("privacy.text")+" "+(m.copyRight?"<br /><br />"+Gt.t("See our")+' <a href="https://getfaceage.com/privacy-policy" target="_blank">'+Gt.t("Privacy Policy")+"</a> "+Gt.t("for more information")+".":"")+"</div></div>",h.dom.elInfo.boxWindow.appendChild(h.dom.elInfo.privacy),h.dom.elInfo.privacy.checkBox=h.dom.elInfo.privacy.querySelector(".check_box"),h.dom.elInfo.btn=document.createElement("button"),Kt.setAttrs(h.dom.elInfo.btn,{class:"disable",disable:!0}),h.dom.elInfo.btn.innerHTML=Gt.t("Get Started"),h.dom.elInfo.boxWindow.appendChild(h.dom.elInfo.btn),h.dom.elInfo.box.appendChild(h.dom.elInfo.boxWindow),h.dom.elInfo.appendChild(h.dom.elInfo.box),h.privacy&&(h.dom.elInfo.privacy.checkBox.classList.add("active"),h.dom.elInfo.btn.classList.remove("disable"),h.dom.elInfo.btn.setAttribute("disable",!1)),h.dom.elInfo.privacy.addEventListener("click",(function(e){e.target.tagName&&"A"!==e.target.tagName.toUpperCase()&&(h.dom.elInfo.privacy.checkBox.classList.contains("active")?(h.dom.elInfo.privacy.checkBox.classList.remove("active"),h.dom.elInfo.btn.classList.add("disable"),h.dom.elInfo.btn.setAttribute("disable",!0),h.privacy=!1):(h.dom.elInfo.privacy.checkBox.classList.add("active"),h.dom.elInfo.btn.classList.remove("disable"),h.dom.elInfo.btn.setAttribute("disable",!1),h.privacy=!0))})),d.appendChild(h.dom.elInfo),"modal"!==p.displayModel&&h.dom.elInfo.goBack&&(h.formPages.length>1&&p.quiz?h.dom.elInfo.goBack.addEventListener("click",(function(e){h.dom.elInfo.remove(),h.activeQuiz=h.activeQuiz-1>0?h.activeQuiz-1:0,h.intro=!0,p.intro=!0,new ii(h.dom.docIframe,u.ctx,u.pv)})):h.dom.elInfo.goBack.remove())}},{key:"getParentAnchor",value:function(e){for(;null!==e;)if(e.tagName&&"A"!==e.tagName.toUpperCase())return e;return null}}])&&vn(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}(),kn=n(982),wn=n(135);function Sn(e){return Sn="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},Sn(e)}function Cn(){Cn=function(){return t};var e,t={},n=Object.prototype,r=n.hasOwnProperty,i=Object.defineProperty||function(e,t,n){e[t]=n.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",s=o.asyncIterator||"@@asyncIterator",l=o.toStringTag||"@@toStringTag";function c(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,n){return e[t]=n}}function u(e,t,n,r){var o=t&&t.prototype instanceof y?t:y,a=Object.create(o.prototype),s=new _(r||[]);return i(a,"_invoke",{value:x(e,n,s)}),a}function d(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=u;var h="suspendedStart",p="suspendedYield",m="executing",f="completed",g={};function y(){}function v(){}function b(){}var k={};c(k,a,(function(){return this}));var w=Object.getPrototypeOf,S=w&&w(w(I([])));S&&S!==n&&r.call(S,a)&&(k=S);var C=b.prototype=y.prototype=Object.create(k);function P(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function A(e,t){function n(i,o,a,s){var l=d(e[i],e,o);if("throw"!==l.type){var c=l.arg,u=c.value;return u&&"object"==Sn(u)&&r.call(u,"__await")?t.resolve(u.__await).then((function(e){n("next",e,a,s)}),(function(e){n("throw",e,a,s)})):t.resolve(u).then((function(e){c.value=e,a(c)}),(function(e){return n("throw",e,a,s)}))}s(l.arg)}var o;i(this,"_invoke",{value:function(e,r){function i(){return new t((function(t,i){n(e,r,t,i)}))}return o=o?o.then(i,i):i()}})}function x(t,n,r){var i=h;return function(o,a){if(i===m)throw new Error("Generator is already running");if(i===f){if("throw"===o)throw a;return{value:e,done:!0}}for(r.method=o,r.arg=a;;){var s=r.delegate;if(s){var l=T(s,r);if(l){if(l===g)continue;return l}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(i===h)throw i=f,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);i=m;var c=d(t,n,r);if("normal"===c.type){if(i=r.done?f:p,c.arg===g)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(i=f,r.method="throw",r.arg=c.arg)}}}function T(t,n){var r=n.method,i=t.iterator[r];if(i===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,T(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),g;var o=d(i,t.iterator,n.arg);if("throw"===o.type)return n.method="throw",n.arg=o.arg,n.delegate=null,g;var a=o.arg;return a?a.done?(n[t.resultName]=a.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,g):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,g)}function R(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function E(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function _(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(R,this),this.reset(!0)}function I(t){if(t||""===t){var n=t[a];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,o=function n(){for(;++i<t.length;)if(r.call(t,i))return n.value=t[i],n.done=!1,n;return n.value=e,n.done=!0,n};return o.next=o}}throw new TypeError(Sn(t)+" is not iterable")}return v.prototype=b,i(C,"constructor",{value:b,configurable:!0}),i(b,"constructor",{value:v,configurable:!0}),v.displayName=c(b,l,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===v||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,b):(e.__proto__=b,c(e,l,"GeneratorFunction")),e.prototype=Object.create(C),e},t.awrap=function(e){return{__await:e}},P(A.prototype),c(A.prototype,s,(function(){return this})),t.AsyncIterator=A,t.async=function(e,n,r,i,o){void 0===o&&(o=Promise);var a=new A(u(e,n,r,i),o);return t.isGeneratorFunction(n)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},P(C),c(C,l,"Generator"),c(C,a,(function(){return this})),c(C,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},t.values=I,_.prototype={constructor:_,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(E),!t)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function i(r,i){return s.type="throw",s.arg=t,n.next=r,i&&(n.method="next",n.arg=e),!!i}for(var o=this.tryEntries.length-1;o>=0;--o){var a=this.tryEntries[o],s=a.completion;if("root"===a.tryLoc)return i("end");if(a.tryLoc<=this.prev){var l=r.call(a,"catchLoc"),c=r.call(a,"finallyLoc");if(l&&c){if(this.prev<a.catchLoc)return i(a.catchLoc,!0);if(this.prev<a.finallyLoc)return i(a.finallyLoc)}else if(l){if(this.prev<a.catchLoc)return i(a.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return i(a.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=e,a.arg=t,o?(this.method="next",this.next=o.finallyLoc,g):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),g},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),E(n),g}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;E(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:I(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),g}},t}function Pn(e,t,n,r,i,o,a){try{var s=e[o](a),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(r,i)}function An(e){return function(){var t=this,n=arguments;return new Promise((function(r,i){var o=e.apply(t,n);function a(e){Pn(o,r,i,a,s,"next",e)}function s(e){Pn(o,r,i,a,s,"throw",e)}a(void 0)}))}}function xn(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Tn(r.key),r)}}function Tn(e){var t=function(e,t){if("object"!==Sn(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==Sn(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===Sn(t)?t:String(t)}var Rn=function(){function e(t,n,r,i,o,a,s,l){var c,u,d,h=this,p=arguments.length>8&&void 0!==arguments[8]?arguments[8]:"video";!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),c=this,(u=Tn(u="isLoading"))in c?Object.defineProperty(c,u,{value:true,enumerable:!0,configurable:!0,writable:!0}):c[u]=true,this.srcElement=t,this.canvasElement=n,this.canvasCtx=n?n.getContext("2d"):null,this.boundingBoxElement=r,this.handleOnResults=a,this.handleLoading=s,this.handleBrightness=l,this.faceDetectionModel=new kn.FaceDetection({locateFile:function(e){return"https://cdn.jsdelivr.net/npm/@mediapipe/face_detection@0.3/".concat(e)}}),this.faceDetectionModel.setOptions({modelSelection:1,enableTracking:10,minDetectionConfidence:.5}),this.onClose=this.onClose.bind(this),this.faceDetectionModel.onResults("video"===p?this.onResultsVideo.bind(this):this.onResultsImage.bind(this)),"video"===p?(this.camera=new wn.Camera(this.srcElement,{onFrame:(d=An(Cn().mark((function e(){return Cn().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,h.faceDetectionModel.send({image:h.srcElement});case 2:h.isLoading&&(h.isLoading=!0,h.handleLoading());case 3:case"end":return e.stop()}}),e)}))),function(){return d.apply(this,arguments)}),width:o,height:o}),this.camera.start()):this.handleImageFaceDetection()}var t,n,r;return t=e,n=[{key:"handleImageFaceDetection",value:(r=An(Cn().mark((function e(){return Cn().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.faceDetectionModel.send({image:this.srcElement});case 2:this.isLoading&&(this.isLoading=!0,this.handleLoading&&this.handleLoading());case 3:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"onResultsVideo",value:function(e){var t=this,n=e.detections;this.canvasElement&&this.onCanvas(e),this.boundingBoxElement.innerHTML="";var r=[];n.map((function(e){var n=e.boundingBox.xCenter-e.boundingBox.width/2,i={width:e.boundingBox.width,height:e.boundingBox.height,yCenter:e.boundingBox.yCenter-e.boundingBox.height/2,xCenter:n,landmarks:e.landmarks};r.push(i);var o=document.createElement("div");Kt.setAttrs(o,{style:"border: 1px solid rgb(255, 213, 0); position: absolute; top: "+100*i.yCenter+"%; right: "+100*i.xCenter+"%; width: "+100*i.width+"%; height: "+100*i.height+"%; z-index: 3;"}),t.boundingBoxElement.appendChild(o)})),this.handleOnResults&&this.handleOnResults(r)}},{key:"onResultsImage",value:function(e){var t=e.detections;this.canvasElement&&this.onCanvas(e);var n=t.map((function(e){var t=e.boundingBox.xCenter-e.boundingBox.width/2;return{width:e.boundingBox.width,height:e.boundingBox.height,yCenter:e.boundingBox.yCenter-e.boundingBox.height/2,xCenter:t,landmarks:e.landmarks}}));this.handleOnResults&&this.handleOnResults(n)}},{key:"onCanvas",value:function(e){if(this.canvasCtx.save(),this.canvasCtx.clearRect(0,0,this.canvasElement.width,this.canvasElement.height),this.canvasCtx.drawImage(e.image,0,0,this.canvasElement.width,this.canvasElement.height),e.detections.length>0){var t=e.detections[0].landmarks;this.analyzeLighting(t)}this.canvasCtx.restore()}},{key:"onClose",value:function(){this.faceDetectionModel.close()}},{key:"analyzeLighting",value:function(e){var t=e[0],n=e[1],r=this.calculateAverageBrightness([t,n]);this.handleBrightness&&this.handleBrightness(r)}},{key:"calculateAverageBrightness",value:function(e){var t=this,n=0;return e.forEach((function(e){var r=Math.round(e.x*t.canvasElement.width),i=Math.round(e.y*t.canvasElement.height),o=t.canvasCtx.getImageData(r,i,1,1).data,a=(o[0]+o[1]+o[2])/3;n+=a})),n/e.length}},{key:"getBlurScore",value:function(e){var t=e.detections[0].boundingBox,n=t.xCenter*this.canvasElement.width,r=t.yCenter*this.canvasElement.height,i=t.width*this.canvasElement.width,o=t.height*this.canvasElement.height,a=this.canvasCtx.getImageData(n,r,i,o),s=this.analyzeBlur(a);console.log("Blur Score:",s),s<100?console.log("Blur detected in face"):console.log("Face is not blurry")}},{key:"analyzeBlur",value:function(e){var t=this.toGrayscale(e),n=this.computeLaplacian(t,e.width,e.height);return this.computeVariance(n)}},{key:"toGrayscale",value:function(e){for(var t=new Array(e.width*e.height).fill(0),n=e.data,r=0;r<n.length;r+=4){var i=.299*n[r]+.587*n[r+1]+.114*n[r+2];t[Math.floor(r/4)]=i}return t}},{key:"computeLaplacian",value:function(e,t,n){for(var r=new Array(t*n).fill(0),i=[[0,1,0],[1,-4,1],[0,1,0]],o=1;o<n-1;o++)for(var a=1;a<t-1;a++){for(var s=0,l=-1;l<=1;l++)for(var c=-1;c<=1;c++)s+=e[(o+l)*t+(a+c)]*i[l+1][c+1];r[o*t+a]=s}return r}},{key:"computeVariance",value:function(e){var t=e.reduce((function(e,t){return e+t}),0)/e.length;return e.reduce((function(e,n){return e+Math.pow(n-t,2)}),0)/e.length}}],n&&xn(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function En(e){return En="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},En(e)}function _n(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function In(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Ln(r.key),r)}}function Fn(e,t,n){return(t=Ln(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ln(e){var t=function(e,t){if("object"!==En(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==En(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===En(t)?t:String(t)}var On=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Fn(this,"_facingMode","user"),Fn(this,"_webcamList",[]),Fn(this,"_streamList",[]),Fn(this,"_selectedDeviceId",""),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this.snap=this.snap.bind(this),this.startStream=this.startStream.bind(this)}var t,n;return t=e,n=[{key:"facingMode",get:function(){return this._facingMode},set:function(e){this._facingMode=e}},{key:"webcamList",get:function(){return this._webcamList}},{key:"webcamCount",get:function(){return this._webcamList.length}},{key:"selectedDeviceId",get:function(){return this._selectedDeviceId}},{key:"getVideoInputs",value:function(e){var t=this;return this._webcamList=[],e.forEach((function(e){"videoinput"===e.kind&&t._webcamList.push(e)})),1==this._webcamList.length&&(this._facingMode="user"),this._webcamList}},{key:"getMediaConstraints",value:function(e){var t={};return""==this._selectedDeviceId?t.facingMode=this._facingMode:t.deviceId={exact:this._selectedDeviceId},t.width={exact:e.width},t.height={exact:e.height},{video:t,audio:!1}}},{key:"selectCamera",value:function(){var e,t=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return _n(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_n(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}(this._webcamList);try{for(t.s();!(e=t.n()).done;){var n=e.value;if("user"==this._facingMode&&n.label.toLowerCase().includes("front")||"enviroment"==this._facingMode&&n.label.toLowerCase().includes("back")){this._selectedDeviceId=n.deviceId;break}}}catch(e){t.e(e)}finally{t.f()}}},{key:"flip",value:function(){this._facingMode="user"==this._facingMode?"enviroment":"user",this.selectCamera()}},{key:"start",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return new Promise((function(i,o){t.stop(),navigator.mediaDevices.getUserMedia(t.getMediaConstraints(e)).then((function(n){t._streamList.push(n),t.info().then((function(n){t.selectCamera(),r?t.startStream(e).then((function(e){i(t._facingMode)})).catch((function(e){o(e)})):i(t._selectedDeviceId)})).catch((function(e){o(e)}))})).catch((function(e){n&&n(e.name),o(e)}))}))}},{key:"info",value:function(){var e=this;return new Promise((function(t,n){navigator.mediaDevices.enumerateDevices().then((function(n){e.getVideoInputs(n),t(e._webcamList)})).catch((function(e){n(e)}))}))}},{key:"startStream",value:function(e){var t=this;return new Promise((function(n,r){navigator.mediaDevices.getUserMedia(t.getMediaConstraints(e)).then((function(r){t._streamList.push(r),e.srcObject=r,"user"==t._facingMode&&(e.style.transform="scale(-1,1)");var i=e;setTimeout((function(){i.play()}),1e3),n(t._facingMode)})).catch((function(e){r(e)}))}))}},{key:"stop",value:function(){this._streamList.forEach((function(e){e.getTracks().forEach((function(e){e.stop()}))}))}},{key:"snap",value:function(e){var t=document.createElement("canvas");t.height=e.scrollHeight,t.width=e.scrollWidth;var n=t.getContext("2d");"user"===this._facingMode&&(n.translate(t.width,0),n.scale(-1,1)),n.clearRect(0,0,t.width,t.height),n.drawImage(e,0,0,t.width,t.height);var r=t.toDataURL("image/jpeg");return"data:,"===r&&(r=null),t.remove(),r}}],n&&In(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function Mn(e){return Mn="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},Mn(e)}function Dn(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Bn(r.key),r)}}function Gn(e,t,n){return(t=Bn(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Bn(e){var t=function(e,t){if("object"!==Mn(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==Mn(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===Mn(t)?t:String(t)}var Nn=function(){function e(t,n,r){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:360,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:480,a=arguments.length>5?arguments[5]:void 0,s=arguments.length>6?arguments[6]:void 0,l=arguments.length>7?arguments[7]:void 0;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Gn(this,"_facingMode","user"),Gn(this,"_webcamList",[]),Gn(this,"_streamList",[]),Gn(this,"_selectedDeviceId",""),Gn(this,"_canvasElement",null),Gn(this,"loadModel",!1),Gn(this,"flash",!1),Gn(this,"facePosition",!1),Gn(this,"lookStraight",!1),Gn(this,"lighting",!1),Gn(this,"fixStatus",!1),Gn(this,"isCountry",0),Gn(this,"ready",!1),Gn(this,"logs",""),Gn(this,"timeInv",void 0),Gn(this,"setSnap",!1),Gn(this,"image",null),Gn(this,"detection",!1),Gn(this,"faceDetection",void 0),this.el=t,this.gl=n,this.cnf=r,this.width=i,this.height=o,this.handleSubmit=a,this.handleBack=s,this.loading=l,this.setPosition=this.setPosition.bind(this),this.brightnessDetection=this.brightnessDetection.bind(this),this.capture=this.capture.bind(this),this.errorCameraPermission=this.errorCameraPermission.bind(this),this.updateDimension=this.updateDimension.bind(this),this.render(),this.gl.dom.elIframe.contentWindow.addEventListener("resize",this.updateDimension)}var t,n;return t=e,n=[{key:"render",value:function(){var e,t,n,r,i,o,a=this,s=this.el,l=this.gl;l.dom.elwebcam=document.createElement("div"),this.updateDimension();var c='<div style="display: flex; justify-content: center;"><div class="webcamRefBox" style="min-width: '+this.height+"px; min-height: "+this.height+"px; max-height: "+this.height+'px; display: block; position: relative;"><div class="face_detect_age"></div><video class="webcamRef" autoplay muted playsinline style="position: absolute; top: 0px; right: 0px; /*opacity: 0; visibility: hidden; z-index: 2; */ border-radius: 10px; width: auto; transform: scaleX(-1);"></video><canvas class="webcamCanvas" id="webcamCanvas" style="position: absolute; z-index: -2; top: 0px; right: 0px; width: auto; transform: scaleX(-1);"></canvas></div></div><div class="faceController"><ul><li><div class="item_ctl lighting" style="background-color: '+(null!==(e=null===(t=l.customTemplate)||void 0===t?void 0:t.position_not_accepted_status_color)&&void 0!==e?e:"rgb(239, 55, 134)")+';"><span class="title">'+Gt.t("Lighting")+'</span><span class="value">'+Gt.t("Not Good")+'</span></div></li><li><div class="item_ctl face_position" style="background-color: '+(null!==(n=null===(r=l.customTemplate)||void 0===r?void 0:r.position_not_accepted_status_color)&&void 0!==n?n:"rgb(239, 55, 134)")+';"><span class="title">'+Gt.t("Face Position")+'</span><span class="value">'+Gt.t("Not Good")+'</span></div></li><li><div class="item_ctl look_straight" style="background-color: '+(null!==(i=null===(o=l.customTemplate)||void 0===o?void 0:o.position_not_accepted_status_color)&&void 0!==i?i:"rgb(239, 55, 134)")+';"><span class="title">'+Gt.t("Look Straight")+'</span><span class="value">'+Gt.t("Not Good")+'</span></div></li></ul></div><div class="facePositionMap" id="face_position_map"></div><div class="facePosition"><svg class="svg_face_position" viewBox="0 0 '+(this.height<460?this.width+" "+this.height:"360 480")+'"><defs><ellipse class="face-ellipse" id="face-ellipse" cx="50%" cy="55%" rx="133.2" ry="153.6" style="stroke: rgb(255, 255, 255);"></ellipse><mask id="mask"><rect x="0" y="0" width="100%" height="100%" fill="#fff" fill-opacity="0.3"></rect><use xlink:href="#face-ellipse"></use></mask></defs><rect x="0" y="0" width="100%" height="100%" mask="url(#mask)"></rect><use xlink:href="#face-ellipse" fill-opacity="0" stroke="white" stroke-width="2"></use></svg><div id="assertive" class="assertive"></div></div>';l.dom.elwebcam.innerHTML=c,s.appendChild(l.dom.elwebcam),l.dom.elwebcamLoad=document.createElement("div"),l.dom.elwebcamLoad.innerHTML='<div class="loading_request"><div class="FaceCircularProgress-root FaceCircularProgress-colorPrimary FaceCircularProgress-indeterminate" role="progressbar" style="width: 40px; height: 40px;"><svg class="FaceCircularProgress-svg" viewBox="22 22 44 44"><circle class="FaceCircularProgress-circle FaceCircularProgress-circleIndeterminate" cx="44" cy="44" r="20.2" fill="none" stroke-width="3.6"></circle></svg></div></div>',l.dom.elwebcam.appendChild(l.dom.elwebcamLoad),l.dom.elwebcam.refBox=l.dom.elwebcam.getElementsByClassName("webcamRefBox")[0],l.dom.elwebcam.ref=l.dom.elwebcam.getElementsByClassName("webcamRef")[0],l.dom.elwebcam.webcamCanvas=l.dom.elwebcam.getElementsByClassName("webcamCanvas")[0],l.dom.elwebcam.faceDetact=l.dom.elwebcam.getElementsByClassName("face_detect_age")[0],l.dom.elwebcam.facePosition=l.dom.elwebcam.getElementsByClassName("face_position")[0],l.dom.elwebcam.lookStraight=l.dom.elwebcam.getElementsByClassName("look_straight")[0],l.dom.elwebcam.lighting=l.dom.elwebcam.getElementsByClassName("lighting")[0],l.dom.elwebcam.svgFacePosition=l.dom.elwebcam.getElementsByClassName("svg_face_position")[0],l.dom.elwebcam.ref.width=this.width,l.dom.elwebcam.ref.height=this.height,l.dom.elwebcam.webcamCanvas.width=l.dom.elwebcam.ref.width,l.dom.elwebcam.webcamCanvas.height=l.dom.elwebcam.ref.height;var u=this;(new On).start(l.dom.elwebcam.ref,this.errorCameraPermission).then((function(e){u.facePosition=new Rn(l.dom.elwebcam.ref,l.dom.elwebcam.webcamCanvas,l.dom.elwebcam.faceDetact,a.width,a.height,(function(e){return u.setPosition(e)}),(function(){return u.loadingDetection()}),(function(e){return u.brightnessDetection(e)}))})).catch((function(e){new Error(e)}))}},{key:"setPosition",value:function(){var e,t,n,r,i,o,a,s,l=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],c=this.gl,u=this;if(c.intro)return!1;if(1===l.length&&!this.fixStatus){var d=c.dom.elIframe.contentDocument.getElementById("face_age_analyzer");if(d&&c.dom.elwebcam.ref){var h=d.getBoundingClientRect().width,p=d.getBoundingClientRect().height,m=c.dom.elwebcam.ref.offsetWidth,f=c.dom.elwebcam.ref.offsetHeight,g=m-h,y=l[0],v=m*(100*y.width)/100*100/h,b=f*(100*y.height)/100*100/p,k=100*y.yCenter,w=100*(m*(100*y.xCenter)/100-g/2)/h,S=100*y.landmarks[2].y,C=100*y.landmarks[2].x;Math.round(C)-Math.round(w)>v/3&&Math.round(C)-Math.round(w)<v/2.5*1.5&&Math.round(S)-Math.round(k)>b/3&&Math.round(S)-Math.round(k)<b/2.5*1.5?this.lookStraight=!0:this.lookStraight=!1;var P=!1,A=!1,x=!1;if(v>=55&&(v>85?this.logs=Gt.t("Your distance is close to the camera"):(this.logs=null,P=!0)),w>=10&&w<35&&(A=!0),k>=15&&k<75&&(x=!0),P&&A&&x)if(this.logs=null,this.facePosition=!0,this.lookStraight){if(!this.ready){this.ready=!0;var T=3;u.timeInv=setInterval((function(){u.isCountry=T,T<=1?u.setSnap||(u.setSnap=!0,clearInterval(u.timeInv),setTimeout((function(){u.flash=!0,u.capture()}),700)):T=--T}),800)}}else this.ready=!1,this.isCountry=0,clearInterval(u.timeInv);else P?(this.facePosition=!1,this.logs=Gt.t("Keep your face inside the circle"),this.ready=!1,this.isCountry=0,clearInterval(u.timeInv)):(this.facePosition=!1,this.ready=!1,this.isCountry=0,clearInterval(u.timeInv))}}if(c.dom.elwebcam.facePosition.style.backgroundColor=this.facePosition?null!==(e=null===(t=c.customTemplate)||void 0===t?void 0:t.position_accepted_status_color)&&void 0!==e?e:"rgb(8, 211, 144)":null!==(n=null===(r=c.customTemplate)||void 0===r?void 0:r.position_not_accepted_status_color)&&void 0!==n?n:"rgb(239, 55, 134)",c.dom.elwebcam.facePosition.getElementsByClassName("value")[0].innerHTML=this.facePosition?Gt.t("Good"):Gt.t("Not Good"),c.dom.elwebcam.getElementsByClassName("face-ellipse")[0]&&(c.dom.elwebcam.getElementsByClassName("face-ellipse")[0].style.stroke=this.facePosition?"rgba(255,255,255,0.32)":"#fff"),c.dom.elwebcam.lookStraight.style.backgroundColor=this.lookStraight?null!==(i=null===(o=c.customTemplate)||void 0===o?void 0:o.position_accepted_status_color)&&void 0!==i?i:"rgb(8, 211, 144)":null!==(a=null===(s=c.customTemplate)||void 0===s?void 0:s.position_not_accepted_status_color)&&void 0!==a?a:"rgb(239, 55, 134)",c.dom.elwebcam.lookStraight.getElementsByClassName("value")[0].innerHTML=this.lookStraight?Gt.t("Good"):Gt.t("Not Good"),c.dom.elwebcam.getElementsByClassName("assertive")[0]){var R=c.dom.elwebcam.getElementsByClassName("assertive")[0];l.length<=0?R.innerHTML=Gt.t("Please stand in front of the camera"):l.length>1?R.innerHTML=Gt.t("There is more than one person in the picture"):this.logs?R.innerHTML=this.logs:this.isCountry?R.innerHTML='<div class="countryPhoto">'+this.isCountry+"</div>":R.innerHTML=""}}},{key:"brightnessDetection",value:function(){var e,t,n,r,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,o=this.gl;o.dom.elwebcam.lighting.style.backgroundColor=i>50?null!==(e=null===(t=o.customTemplate)||void 0===t?void 0:t.position_accepted_status_color)&&void 0!==e?e:"rgb(8, 211, 144)":null!==(n=null===(r=o.customTemplate)||void 0===r?void 0:r.position_not_accepted_status_color)&&void 0!==n?n:"rgb(239, 55, 134)",o.dom.elwebcam.lighting.getElementsByClassName("value")[0].innerHTML=i>50?Gt.t("Good"):Gt.t("Not Good")}},{key:"capture",value:function(){var e=this,t=this.gl;if(clearInterval(this.timeInv),t.imageWebCam)return!1;if(t.intro)return!1;var n=new On;t.imageWebCam=n.snap(t.dom.elwebcam.ref),n.stop();var r='<div><div style="display: flex; justify-content: center;"><div style="position: relative;"><img class="image_per_camera" src="'+t.imageWebCam+'" alt="" style="width: auto; height: '+this.height+"px; max-height: "+this.height+'px; position: relative;"></div></div><div class="faceActionSubmit"><button class="FaceButtonBase-root FaceIconButton-root handle-back" tabindex="0" type="button"><span class="FaceIconButton-label"><svg viewBox="0 0 24 24" fill="currentColor" style="width: 24px; height: 24px;"><path d="M12 5V1L7 6l5 5V7c3.31 0 6 2.69 6 6s-2.69 6-6 6-6-2.69-6-6H4c0 4.42 3.58 8 8 8s8-3.58 8-8-3.58-8-8-8z"></path></svg></span><span class="FaceTouchRipple-root"></span></button><button class="FaceButtonBase-root FaceIconButton-root handle-submit" tabindex="0" type="button"><span class="FaceIconButton-label"><svg viewBox="0 0 24 24" fill="currentColor" style="width: 24px; height: 24px;"><path d="M9 16.17 5.53 12.7a.9959.9959 0 0 0-1.41 0c-.39.39-.39 1.02 0 1.41l4.18 4.18c.39.39 1.02.39 1.41 0L20.29 7.71c.39-.39.39-1.02 0-1.41a.9959.9959 0 0 0-1.41 0L9 16.17z"></path></svg></span><span class="FaceTouchRipple-root"></span></button></div></div>';t.dom.elwebcam.innerHTML=r,t.dom.showUploadAction&&(t.dom.showUploadAction.style.display="none"),t.dom.showCameraAction&&(t.dom.showCameraAction.style.display="none"),t.dom.elwebcam.handleImage=t.dom.elwebcam.getElementsByClassName("handle-submit")[0],t.dom.elwebcam.handleBack=t.dom.elwebcam.getElementsByClassName("handle-back")[0],t.dom.elwebcam.imagePerCamera=t.dom.elwebcam.getElementsByClassName("image_per_camera")[0],t.dom.elwebcam.handleImage.addEventListener("click",(function(){e.handleSubmit(t.imageWebCam)})),t.dom.elwebcam.handleBack.addEventListener("click",(function(){t.imageWebCam=null,e.isCountry=0,e.ready=!1,e.setSnap=!1,e.image=null,e.logs=null,e.facePosition=!1,e.lookStraight=!1,t.dom.showUploadAction&&(t.dom.showUploadAction.style.display="block"),t.dom.showCameraAction&&(t.dom.showCameraAction.style.display="block"),e.handleBack()}))}},{key:"errorCameraPermission",value:function(e){var t=this.gl,n='<div><div class="mainDragArea"><div class="dragArea" style="height: '+this.height+'px;"><svg class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-vubbuv" focusable="false" aria-hidden="true" viewBox="0 0 24 24" data-testid="DirtyLensTwoToneIcon"><path d="M14.12 5H9.88L8.05 7H4v12h7.27c.14-.98.42-2.05-.16-2.43-.89-.59-1.27 2.06-2.8 1.35-1.39-1.12 1.05-1.29.5-3.27-.22-.79-2.28.36-2.4-1.24-.08-1 1.49-.74 1.51-1.49.03-.75-1.03-1.05-.25-1.91.22-.24.71-.26.91-.19.79.27 1.55 1.82 2.51 1.19 1.03-.66-1.88-2.35 0-2.86 1.64-.44 1.31 2.08 2.65 2.44 1.94.52 2.65-4.55 4.41-2.33 1.85 2.33-3.43 2.27-2.85 4.01.34 1.01 2.15-1.2 2.76.53.64 1.83-3.09.82-3.04 1.66.06.83 2.41.55 1.64 2.12-1.14 1.86-3-1.03-3.81.09-.39.57-.09 1.49.13 2.33H20V7h-4.05l-1.83-2zM19 17.15c0 .48-.38.86-.86.86-.47 0-.86-.38-.86-.86s.38-.86.86-.86c.47 0 .86.38.86.86z" opacity=".3"></path><path d="M20 5h-3.17L15 3H9L7.17 5H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 14h-7.02c-.22-.84-.52-1.76-.13-2.33.81-1.12 2.67 1.77 3.81-.09.77-1.57-1.58-1.29-1.64-2.12-.05-.84 3.68.17 3.04-1.66-.61-1.73-2.42.48-2.76-.53-.58-1.74 4.7-1.68 2.85-4.01-1.76-2.22-2.47 2.85-4.41 2.33-1.34-.36-1.01-2.88-2.65-2.44-1.88.51 1.03 2.2 0 2.86-.96.63-1.72-.92-2.51-1.19-.2-.07-.69-.05-.91.19-.78.86.28 1.16.25 1.91-.02.75-1.59.49-1.51 1.49.12 1.6 2.18.45 2.4 1.24.55 1.98-1.89 2.15-.5 3.27 1.53.71 1.91-1.94 2.8-1.35.58.38.3 1.45.16 2.43H4V7h4.05l1.83-2h4.24l1.83 2H20v12z"></path><path d="M17.28 17.15c0 .48.39.86.86.86.48 0 .86-.38.86-.86s-.39-.86-.86-.86c-.48 0-.86.38-.86.86z"></path></svg><div class="headerBox">'+Gt.t("Error")+'</div><div class="support">'+("NotAllowedError"===e||"PermissionDeniedError"===e?Gt.t("Camera permission denied."):Gt.t("Unable to access the camera."))+"</div></div></div></div>";t.dom.elwebcam.innerHTML=n,t.dom.elwebcam.dragArea=t.dom.elwebcam.getElementsByClassName("dragArea")[0]}},{key:"loadingDetection",value:function(){this.gl.dom.elwebcamLoad.style.display="none",this.detection=!0}},{key:"stop",value:function(){(new On).stop()}},{key:"updateDimension",value:function(){var e=this.gl,t=this.cnf,n=Kt.getSizeFrame(e,t);this.width=n.width,this.height=n.height,e.dom.elwebcam&&e.dom.elwebcam.ref&&(e.dom.elwebcam.ref.width=this.width,e.dom.elwebcam.ref.height=this.height),e.dom.elwebcam&&e.dom.elwebcam.webcamCanvas&&(e.dom.elwebcam.webcamCanvas.width=e.dom.elwebcam.ref.width,e.dom.elwebcam.webcamCanvas.height=e.dom.elwebcam.ref.height),e.dom.elwebcam&&e.dom.elwebcam.refBox&&(e.dom.elwebcam.refBox.style.minWidth=this.height+"px",e.dom.elwebcam.refBox.style.minHeight=this.height+"px",e.dom.elwebcam.refBox.style.maxHeight=this.height+"px"),e.dom.elwebcam&&e.dom.elwebcam.imagePerCamera&&(e.dom.elwebcam.imagePerCamera.style.Height=this.height+"px",e.dom.elwebcam.imagePerCamera.style.maxHeight=this.height+"px"),e.dom.elwebcam&&e.dom.elwebcam.dragArea&&(e.dom.elwebcam.dragArea.style.height=this.height+"px"),e.dom.elwebcam&&e.dom.elwebcam.svgFacePosition&&(this.height<460?Kt.setAttrs(e.dom.elwebcam.svgFacePosition,{viewBox:"0 0 "+this.width+" "+this.height}):Kt.setAttrs(e.dom.elwebcam.svgFacePosition,{viewBox:"0 0 360 480"}))}}],n&&Dn(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}(),jn=n(129),zn=n.n(jn);function Wn(e){return Wn="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},Wn(e)}function Un(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,(void 0,i=function(e,t){if("object"!==Wn(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==Wn(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===Wn(i)?i:String(i)),r)}var i}var Hn=function(){function e(t,n,r,i,o){var a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"OK",s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:"Cancel",l=arguments.length>7&&void 0!==arguments[7]&&arguments[7];!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.gl=t,this.onAccept=n,this.onCancel=r,this.title=i,this.text=o,this.titleAccept=a,this.titleCancel=s,this.close=l,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this,t=this.gl;t.dom.elModal=document.createElement("div"),Kt.setAttrs(t.dom.elModal,{class:"modal_face_age",style:"position: absolute;top: 0;left: 0;right: 0;bottom: 0;z-index: 99999999;text-align: center;background: rgb(0 0 0 / 34%);display: flex;align-items: center;"}),t.dom.elModal.box=document.createElement("div"),Kt.setAttrs(t.dom.elModal.box,{style:"width: 100%;"});var n='<div class="modal_window">'+(this.title?'<div class="title">'+this.title+"</div>":"")+'<div class="body">'+this.text+'</div><div class="action"><div class="sc-1x1y2bq-2 sc-1kkf162-1 dZaMnF lbSetf">'+(this.onCancel?'<div tabindex="0" role="button" width="fullWidth" class="sc-1x1y2bq-3 bLwrg cancel">'+this.titleCancel+"</div>":"")+(this.onAccept?'<div tabindex="0" role="button" width="fullWidth" class="sc-1x1y2bq-3 bLwrg accept">'+this.titleAccept+"</div>":"")+"</div></div></div>";t.dom.elModal.box.innerHTML=n,t.dom.elModal.cancel=t.dom.elModal.box.getElementsByClassName("cancel")[0],t.dom.elModal.accept=t.dom.elModal.box.getElementsByClassName("accept")[0],t.dom.elModal.cancel&&t.dom.elModal.cancel.addEventListener("click",(function(t){e.onCancel()})),t.dom.elModal.accept&&t.dom.elModal.accept.addEventListener("click",(function(t){e.onAccept()})),t.dom.elModal.appendChild(t.dom.elModal.box),t.dom.elFace.analyzer.appendChild(t.dom.elModal)}}])&&Un(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function Yn(e){return Yn="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},Yn(e)}function qn(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Vn(r.key),r)}}function Jn(e,t,n){return(t=Vn(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Vn(e){var t=function(e,t){if("object"!==Yn(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==Yn(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===Yn(t)?t:String(t)}var $n=function(){function e(t,n,r){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:360,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:480,a=arguments.length>5?arguments[5]:void 0,s=arguments.length>6?arguments[6]:void 0,l=arguments.length>7?arguments[7]:void 0;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Jn(this,"fileUrl",null),Jn(this,"image",null),Jn(this,"logs",null),Jn(this,"hasFace",!1),this.el=t,this.gl=n,this.cnf=r,this.width=i,this.height=o,this.handleSubmit=a,this.handleBack=s,this.loading=l,this.handelDragOver=this.handelDragOver.bind(this),this.handelDragLeave=this.handelDragLeave.bind(this),this.handelDrop=this.handelDrop.bind(this),this.handelClick=this.handelClick.bind(this),this.handelChangeInput=this.handelChangeInput.bind(this),this.displayFile=this.displayFile.bind(this),this.showCropMode=this.showCropMode.bind(this),this.updateDimension=this.updateDimension.bind(this),this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this,t=this.el,n=this.gl;this.updateDimension(),n.dom.elIframe.contentWindow.addEventListener("resize",this.updateDimension),n.dom.elupload=document.createElement("div");var r='<div class="mainDragArea"><div class="dragArea" style="height: '+this.height+'px;"><svg viewBox="0 0 24 24" fill="currentColor" style="width: 40px; height: 40px;"><path d="M8 16h12V4H8v12zm3.5-4.33l1.69 2.26 2.48-3.09L19 15H9l2.5-3.33z" opacity=".3"></path><path d="M22 16V4c0-1.1-.9-2-2-2H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2zm-2 0H8V4h12v12zm-4.33-5.17l-2.48 3.09-1.69-2.25L9 15h10zM4 22h14v-2H4V6H2v14c0 1.1.9 2 2 2z"></path></svg><div class="headerBox dragTitle">'+Gt.t("Drag & Drop")+'</div><div class="headerBox">'+Gt.t("Or")+' <span class="buttonUpload">'+Gt.t("browse")+'</span></div><input type="file" class="upload_file_image" id="upload_file_image" accept="image/jpeg,image/png,image/jpg,image/webp" hidden=""><span class="support">'+Gt.t("Supports: JPEG, JPG, PNG")+"</span></div></div>";n.dom.elupload.innerHTML=r,t.appendChild(n.dom.elupload),n.dom.elupload.dragArea=n.dom.elupload.getElementsByClassName("dragArea")[0],this.dragTitle=n.dom.elupload.getElementsByClassName("dragTitle")[0],n.dom.elupload.buttonUpload=n.dom.elupload.getElementsByClassName("buttonUpload")[0],n.dom.elupload.uploadFile=n.dom.elupload.getElementsByClassName("upload_file_image")[0],n.dom.elupload.dragArea.addEventListener("dragover",this.handelDragOver),n.dom.elupload.dragArea.addEventListener("dragleave",this.handelDragLeave),n.dom.elupload.dragArea.addEventListener("drop",this.handelDrop),n.dom.elupload.buttonUpload.addEventListener("click",(function(){return e.handelClick(n.dom.elupload.uploadFile)})),n.dom.elupload.uploadFile.addEventListener("change",(function(t){return e.handelChangeInput(t)}))}},{key:"handelDragOver",value:function(e){e.preventDefault(),this.dragTitle.innerHTML=Gt.t("Release to Upload"),e.target.classList.add("active")}},{key:"handelDragLeave",value:function(e){this.dragTitle.innerHTML=Gt.t("Drag & Drop"),e.target.classList.remove("active")}},{key:"handelDrop",value:function(e){e.preventDefault();var t=e.dataTransfer.files[0];t&&this.displayFile(t),this.dragTitle.innerHTML=Gt.t("Drag & Drop"),e.target.classList.remove("active")}},{key:"handelClick",value:function(e){e&&e.click()}},{key:"handelChangeInput",value:function(e){var t=e.target.files[0];t&&this.displayFile(t)}},{key:"displayFile",value:function(e){var t=this,n=e.type,r=this.gl;if(["image/png","image/jpeg","image/jpg","image/webp"].includes(n)){var i=new FileReader;i.onload=function(){"image/webp"===n?t.compressImageFromURL(i.result,1).then((function(e){t.fileUrl=e,t.cropImage()})):(t.fileUrl=i.result,t.cropImage())},i.readAsDataURL(e)}else new Hn(r,null,(function(){r.dom.elModal.remove()}),Gt.t("Error"),Gt.t("file not supported, file name: ")+n,"",Gt.t("Re-take"))}},{key:"cropImage",value:function(){var e=this,t=this.el,n=this.gl;n.dom.elupload.remove(),n.dom.elupload=document.createElement("div"),n.dom.showUploadAction&&(n.dom.showUploadAction.style.display="none"),n.dom.showCameraAction&&(n.dom.showCameraAction.style.display="none");var r='<div class="mainDragArea"><div class="cropImg" style="height: '+this.height+'px;"><div style="display: block; width: 100%;" class="face_crop_img"></div></div></div><div class="faceAction_upload"><button class="FaceButtonBase-root FaceIconButton-root handle-back" tabindex="0" type="button"><span class="FaceIconButton-label"><svg viewBox="0 0 24 24" fill="currentColor" style="width: 24px; height: 24px;"><path d="M12 5V1L7 6l5 5V7c3.31 0 6 2.69 6 6s-2.69 6-6 6-6-2.69-6-6H4c0 4.42 3.58 8 8 8s8-3.58 8-8-3.58-8-8-8z"></path></svg></span><span class="FaceTouchRipple-root"></span></button><button class="FaceButtonBase-root FaceIconButton-root handle-submit disable" tabindex="0" type="button"><span class="FaceIconButton-label"><svg viewBox="0 0 24 24" fill="currentColor" style="width: 24px; height: 24px;"><path d="M9 16.17 5.53 12.7a.9959.9959 0 0 0-1.41 0c-.39.39-.39 1.02 0 1.41l4.18 4.18c.39.39 1.02.39 1.41 0L20.29 7.71c.39-.39.39-1.02 0-1.41a.9959.9959 0 0 0-1.41 0L9 16.17z"></path></svg></span><span class="FaceTouchRipple-root"></span></button></div>';n.dom.elupload.innerHTML=r,t.appendChild(n.dom.elupload),n.dom.eluploadLoad=document.createElement("div"),n.dom.eluploadLoad.innerHTML='<div class="loading_request"><div class="FaceCircularProgress-root FaceCircularProgress-colorPrimary FaceCircularProgress-indeterminate" role="progressbar" style="width: 40px; height: 40px;"><svg class="FaceCircularProgress-svg" viewBox="22 22 44 44"><circle class="FaceCircularProgress-circle FaceCircularProgress-circleIndeterminate" cx="44" cy="44" r="20.2" fill="none" stroke-width="3.6"></circle></svg></div></div>',n.dom.elupload.appendChild(n.dom.eluploadLoad),n.dom.elupload.faceCropImg=n.dom.elupload.getElementsByClassName("face_crop_img")[0],n.dom.elupload.cropImgBox=n.dom.elupload.getElementsByClassName("cropImg")[0],n.dom.elupload.faceCropImg.image=document.createElement("img"),Kt.setAttrs(n.dom.elupload.faceCropImg.image,{id:"face_image",src:this.fileUrl}),n.dom.elupload.faceCropImg.appendChild(n.dom.elupload.faceCropImg.image);var i=this;new Rn(n.dom.elupload.faceCropImg.image,null,null,this.width,this.height,(function(e){return i.showCropMode(e)}),(function(){return i.loadingDetection()}),null,"image"),n.dom.elupload.handleImage=n.dom.elupload.getElementsByClassName("handle-submit")[0],n.dom.elupload.handleBack=n.dom.elupload.getElementsByClassName("handle-back")[0],n.dom.elupload.handleImage.addEventListener("click",(function(){if(!e.hasFace)return!1;i.handleSubmit(i.image)})),n.dom.elupload.handleBack.addEventListener("click",(function(){n.dom.elupload.innerHTML="",i.image=null,n.dom.showUploadAction&&(n.dom.showUploadAction.style.display="block"),n.dom.showCameraAction&&(n.dom.showCameraAction.style.display="block"),i.handleBack()}))}},{key:"showCropMode",value:function(e){var t=this.gl,n=t.dom.elupload.faceCropImg.image.naturalWidth,r=t.dom.elupload.faceCropImg.image.naturalHeight,i=this,o=e[0];if(!o)return new Hn(t,null,(function(){t.dom.elupload.innerHTML="",i.image=null,t.dom.showUploadAction&&(t.dom.showUploadAction.style.display="block"),t.dom.showCameraAction&&(t.dom.showCameraAction.style.display="block"),i.render(),t.dom.elModal.remove()}),Gt.t("Error"),Gt.t("The face is not visible in the picture"),"",Gt.t("Re-take")),null;t.dom.elupload.handleImage.classList.remove("disable"),this.hasFace=!0;var a=n*(100*o.width)/100,s=r*(100*o.height)/100,l=r*(100*o.yCenter)/100,c=n*(100*o.xCenter)/100,u=document.createElement("div");e.length<=0?u.innerHTML='<div style="background: rgb(255, 255, 255); border-radius: 10px; padding: 8px 15px; margin-bottom: 10px; position: absolute; top: 15px; left: 10px; right: 10px;">Please stand in front of the camera</div>':e.length>1&&(u.innerHTML='<div style="background: rgb(255, 255, 255); border-radius: 10px; padding: 8px 15px; margin-bottom: 10px; position: absolute; top: 15px; left: 10px; right: 10px;">There is more than one person in the picture, please select one person\'s picture.</div>'),t.dom.elupload.faceCropImg.appendChild(u);var d=new(zn())(t.dom.elupload.faceCropImg.image,{aspectRatio:15/18,guides:!1,zoomable:!1,data:{x:c/1.6,y:l/2.5,width:a+2*(c-c/1.6),height:s+2*(l-l/2.5)},crop:function(e){var t=d.getCroppedCanvas({maxWidth:4096,maxHeight:4096}).toDataURL("image/jpeg");i.image=t}})}},{key:"loadingDetection",value:function(){this.gl.dom.eluploadLoad.style.display="none"}},{key:"updateDimension",value:function(){var e=this.gl,t=this.cnf,n=Kt.getSizeFrame(e,t);this.width=n.width,this.height=n.height,e.dom.elupload&&e.dom.elupload.dragArea&&(e.dom.elupload.dragArea.style.height=this.height+"px"),e.dom.elupload&&e.dom.elupload.cropImgBox&&(e.dom.elupload.cropImgBox.style.height=this.height+"px")}},{key:"compressImageFromURL",value:function(e,t){return new Promise((function(n,r){var i=new Image;i.crossOrigin="Anonymous",i.src=e,i.onload=function(){var e=document.createElement("canvas"),r=e.getContext("2d");e.width=i.width,e.height=i.height,r.drawImage(i,0,0,e.width,e.height);var o=e.toDataURL("image/jpeg",t);n(o)},i.onerror=function(e){return r(e)}}))}}])&&qn(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function Kn(e){return Kn="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},Kn(e)}function Zn(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,(void 0,i=function(e,t){if("object"!==Kn(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==Kn(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===Kn(i)?i:String(i)),r)}var i}var Xn=function(){function e(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.ctx=n,this.w=n.w,this.gl=n.w.globals,this.pr=r,this.unitPrice=n.w.config.currency?n.w.config.currency:"$",this.routine=i,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e,t,n,r,i=this,o=this.el,a=this.w.globals,s=this.w.config,l=this.pr,c=document.createElement("div");Kt.setAttrs(c,{class:"product_item_box","data-id":l.id,style:""});var u=null===(e=a.customTemplate)||void 0===e?void 0:e.product_shadow,d=null===(t=a.customTemplate)||void 0===t?void 0:t.product_border_width,h=null===(n=a.customTemplate)||void 0===n?void 0:n.product_border_color,p=null===(r=a.customTemplate)||void 0===r?void 0:r.product_padding,m="";m+=u?"box-shadow: 0 0 5px 0 #0000002b;":"",m+=p?"padding: "+p+"px;":"padding: 10px;",m+=d&&h?"border: "+d+"px solid "+h+";":h?"border: 1px solid "+h+";":"";var f=document.createElement("div");Kt.setAttrs(f,{class:"product_item",style:m});var g=document.createElement("a");if(Kt.setAttrs(g,{class:"product_item_link","data-id":l.id,target:"_blank",href:l.url?l.url:"#"}),!this.routine&&void 0!==l.routineGroups&&l.routineGroups){var y=document.createElement("div");Kt.setAttrs(y,{class:"routine_group"});var v=[];Array.isArray(l.routineGroups)?l.routineGroups.map((function(e){Object.keys(a.routineGroup).forEach((function(t){var n=a.routineGroup[t];Object.keys(n).forEach((function(t){t!==e||v.includes(Gt.t(n[t]))||v.push(Gt.t(n[t]))}))}))})):"object"===Kn(l.routineGroups)&&(v=[],Object.keys(l.routineGroups).forEach((function(e){var t=l.routineGroups[e],n=a.routineGroup[e];t.map((function(e){Object.keys(n).forEach((function(t){t!==e||v.includes(Gt.t(n[t]))||v.push(Gt.t(n[t]))}))}))}))),y.innerHTML="<span>"+v.join(", ")+"</span>",g.appendChild(y)}var b=document.createElement("img");Kt.setAttrs(b,{class:"product_image",src:l.image,alt:l.title}),g.appendChild(b);var k=document.createElement("h2");Kt.setAttrs(k,{class:"product_title"}),k.innerText=Gt.t(l.title),g.appendChild(k);var w=document.createElement("p");if(Kt.setAttrs(w,{class:"product_description"}),w.innerText=Gt.t(l.description),g.appendChild(w),f.appendChild(g),void 0!==l.problems&&l.problems){var S=document.createElement("div");Kt.setAttrs(S,{class:"product_problem_support swiper myProductProblem"});var C=document.createElement("div");Kt.setAttrs(C,{class:"swiper-wrapper"});var P=[];l.problems.map((function(e){if(!P.includes(e)){P.push(e);var t=document.createElement("div");Kt.setAttrs(t,{class:"swiper-slide"});var n=document.createElement("div");Kt.setAttrs(n,{class:"product_problem_item"}),Object.keys(a.problems).forEach((function(t,r){var i=a.problems[t];t.toLowerCase()===e.toLowerCase()&&(n.innerText=Gt.t(i))})),t.appendChild(n),C.appendChild(t)}})),S.appendChild(C),f.appendChild(S)}var A=document.createElement("div");Kt.setAttrs(A,{class:"product_price"});var x=document.createElement("span");Kt.setAttrs(x,{class:"price"});var T=document.createElement("span");if(Kt.setAttrs(T,{class:"old"}),void 0!==l.offerPrice&&l.offerPrice>0&&l.offerPrice<l.price?(x.innerText=this.unitPrice+l.offerPrice,T.innerText=this.unitPrice+l.price,A.appendChild(x),A.appendChild(T),f.appendChild(A)):l.price&&(x.innerText=this.unitPrice+l.price,A.appendChild(x),f.appendChild(A)),void 0!==l.variables&&l.variables){var R=document.createElement("div");Kt.setAttrs(R,{class:"product_variables"}),Object.keys(l.variables).forEach((function(e,t){var n=l.variables[e],r=document.createElement("div");Kt.setAttrs(r,{class:"item"});var o=document.createElement("label");o.innerText=Gt.t(n.title),r.appendChild(o);var a=document.createElement("select");Kt.setAttrs(a,{class:"product_variables_select",name:e,"data-id":l.id}),Array.isArray(n.option)&&n.option.forEach((function(e,t){var n=document.createElement("option");n.value=e.value,n.text=Gt.t(e.label),0===t&&n.setAttribute("selected",!0),a.appendChild(n)})),a.addEventListener("change",(function(e){n.option.forEach((function(t,n){t.value===e.target.value&&(t.price?void 0!==t.offerPrice&&t.offerPrice>0&&t.offerPrice<t.price?(x.innerText=i.unitPrice+t.offerPrice,T&&T.remove(),T=document.createElement("span"),Kt.setAttrs(T,{class:"old"}),T.innerText=i.unitPrice+t.price,A.appendChild(T)):t.price&&(x.innerText=i.unitPrice+t.price,T&&T.remove()):void 0!==l.offerPrice&&l.offerPrice>0&&l.offerPrice<l.price?(x.innerText=i.unitPrice+l.offerPrice,T&&T.remove(),T=document.createElement("span"),Kt.setAttrs(T,{class:"old"}),T.innerText=i.unitPrice+l.price,A.appendChild(T)):l.price&&(x.innerText=i.unitPrice+l.price,T&&T.remove()))}))})),r.appendChild(a),R.appendChild(r)})),f.appendChild(R)}if(s.showAddToCard){var E=document.createElement("button");Kt.setAttrs(E,{class:"product_add_to_cart","data-id":l.id}),E.innerText=Gt.t("Add to cart"),E.addEventListener("click",(function(e){var t=e.target.getAttribute("data-id"),n=e.target.parentElement.querySelectorAll(".product_variables_select"),r=[];n&&n.forEach((function(e){if(e&&e.options.length>0){var t=e.getAttribute("name"),n=(e.getAttribute("data-id"),e.selectedIndex);if(-1!==n){var i=e.options[n];r[t]=i.value}}})),e.target.classList.contains("active")||(e.target.classList.add("active"),e.target.innerText=Gt.t("Add again")),a.dom.elRecommendation.checkOut&&(a.dom.elRecommendation.checkOut.style.display="block"),a.productAddToCart.find((function(e){return e.id===t}))||a.productAddToCart.push({id:t,variable:r}),a.onAddToCart&&a.onAddToCart([{id:t,variable:r}])})),f.appendChild(E)}g.addEventListener("click",(function(e){var t=i.getParentAnchor(e.target);if(null!==t){var n=t.getAttribute("data-id");a.onClickProduct&&a.onClickProduct(n)}})),c.appendChild(f),o.appendChild(c)}},{key:"getParentAnchor",value:function(e){for(;null!==e;){if(e.tagName&&"A"===e.tagName.toUpperCase())return e;e=e.parentNode}return null}}])&&Zn(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}(),Qn={format:"image/png",quality:.92,width:void 0,height:void 0,Canvas:void 0,crossOrigin:void 0};function er(e){return er="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},er(e)}function tr(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,(void 0,i=function(e,t){if("object"!==er(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==er(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===er(i)?i:String(i)),r)}var i}var nr=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.ctx=t,this.w=t.w,this.gl=t.w.globals,this.dataReport=n,this.single=r,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this.w.globals,t=(this.w.config,this.dataReport.damagePercentage?this.dataReport.damagePercentage:0);e.dom.elSkinReport=document.createElement("div"),Kt.setAttrs(e.dom.elSkinReport,{class:"modal_face_age skin_report",style:"position: absolute;top: 0;left: 0;right: 0;bottom: 0;z-index: 99999999;text-align: center;background: rgb(0 0 0 / 34%);display: flex;"+(this.single?"padding-top: 60px":"align-items: center;")}),e.dom.elSkinReport.box=document.createElement("div"),Kt.setAttrs(e.dom.elSkinReport.box,{style:"width: 100%;"});var n='<div class="modal_window"><div class="title">'+Gt.t("My Skin Report")+'</div><div class="close_btn"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" width="32px" height="32px"><line style="fill:none;stroke:#000000;stroke-width:2;stroke-miterlimit:10;" x1="6.5" y1="25.5" x2="25.5" y2="6.5"/><line style="fill:none;stroke:#000000;stroke-width:2;stroke-miterlimit:10;" x1="6.5" y1="6.5" x2="25.5" y2="25.5"/></svg></div><div class="body"> <div class="chart"> <canvas id="radarChart" width="100%" height="200"></canvas> </div> <div class="score"></div> <div class="problem_items"></div></div></div>';if(e.dom.elSkinReport.box.innerHTML=n,e.dom.elSkinReport.close=e.dom.elSkinReport.box.getElementsByClassName("close_btn")[0],e.dom.elSkinReport.problemItems=e.dom.elSkinReport.box.getElementsByClassName("problem_items")[0],e.dom.elSkinReport.score=e.dom.elSkinReport.box.getElementsByClassName("score")[0],e.dom.elSkinReport.appendChild(e.dom.elSkinReport.box),e.dom.elSkinReport.close.addEventListener("click",(function(t){e.dom.elSkinReport.remove()})),t){var r=t&&t>0?100-parseInt(t):99,i=r<=60?Gt.t("Bad"):r>=90?Gt.t("Good"):Gt.t("Fair");e.dom.elSkinReport.score.innerHTML="<div>"+Gt.t("Skin Health")+': <span style="margin-left: 0;display: inline-block;font-weight: bold;">'+r+'%</span></div><div class="type">'+i+"</div>"}if(this.dataReport.problems.length>0&&this.dataReport.problems.map((function(t){var n=document.createElement("div");n.innerHTML='<div class="box">\n <div class="progress_box_problem">\n <div class="progress_image">\n <img class="problem_image" src="" alt="'+Gt.t(t.title)+'">\n </div>\n <div class="progress_item">\n <div style="display: flex; justify-content: space-between; align-items: center;">\n <h2>'+Gt.t(t.title)+'</h2>\n <span class="percentage">'+parseInt(t.number)+("Percent"===t.format?"%":"")+'</span>\n </div>\n <div class="progress-bar-container">\n <div class="title_bar">\n <span class="status-text">'+Gt.t("Good")+'</span>\n <span class="status-text" style="margin-left: auto;">'+Gt.t("Bad")+'</span>\n </div>\n <div class="progress-bar">\n <div class="bar"><div></div><div></div><div></div></div>\n <div class="progress-indicator" style="left: '+("Percent"===t.format?t.number+"%":(t.number<=4?7.3*t.number:t.number>=9?7.3*t.number+60.66>=100?100:7.3*t.number+60.66:7.3*t.number+30.33)+"%")+'"></div>\n </div>\n </div>\n </div>\n </div>\n '+(t.summary?'<p class="description">'+Gt.t(t.summary)+"</p>":"")+"\n</div>";var r,i,o=t.areas&&""!==t.areas?t.areas:null,a=t.masks&&""!==t.masks?t.masks:null,s="-1"===a?o:a;s?(r=[e.imageSubmit,"data:image/svg+xml;base64,"+s],void 0===r&&(r=[]),void 0===i&&(i={}),new Promise((function(e){var t=(i=Object.assign({},Qn,i)).Canvas?new i.Canvas:window.document.createElement("canvas"),n=i.Image||window.Image,o=r.map((function(e){return new Promise((function(t,r){"Object"!==e.constructor.name&&(e={src:e});var o=new n;o.crossOrigin=i.crossOrigin,o.onerror=function(){return r(new Error("Couldn't load image"))},o.onload=function(){return t(Object.assign({},e,{img:o}))},o.src=e.src}))})),a=t.getContext("2d");e(Promise.all(o).then((function(e){var n=function(t){return i[t]||Math.max.apply(Math,e.map((function(e){return e.img[t]})))};return t.width=n("width"),t.height=n("height"),e.forEach((function(e){return a.globalAlpha=e.opacity?e.opacity:1,a.drawImage(e.img,e.x||0,e.y||0)})),i.Canvas&&"image/jpeg"===i.format?new Promise((function(e,n){t.toDataURL(i.format,{quality:i.quality,progressive:!1},(function(t,r){t?n(t):e(r)}))})):t.toDataURL(i.format,i.quality)})))}))).then((function(e){return n.querySelector(".problem_image").src=e})):n.querySelector(".problem_image").src=e.imageSubmit,e.dom.elSkinReport.problemItems.appendChild(n)})),this.dataReport.problems.length>0){var o=this.dataReport.problems.map((function(e){return"Percent"===e.format?"'"+Gt.t(e.title)+"'":null}));o=o.filter((function(e){return e}));var a=this.dataReport.problems.map((function(e){return"Percent"===e.format?parseInt(e.number):null}));a=a.filter((function(e){return e}));var s=this.dataReport.problems.map((function(e){return"Percent"===e.format?e.colors:null}));s=s.filter((function(e){return e}));var l=document.createElement("script");l.type="text/javascript",l.text="var ctx = document.getElementById('radarChart').getContext('2d');\n var radarChart = new Chart(ctx, {\n type: 'polarArea',\n data: {\n labels: ["+o.join(", ")+"],\n datasets: [{\n data: ['"+a.join("', '")+"'],\n backgroundColor: ['"+s.join("', '")+'\'],\n }]\n },\n options: {\n responsive: true,\n plugins: {\n legend: false,\n tooltip: true,\n },\n scale: {\n pointLabels :{\n wight: "10px",\n } },\n elements: {\n line: {\n tension: 0.2 }\n }\n }\n })',e.dom.elSkinReport.appendChild(l)}e.dom.docIframe.appendChild(e.dom.elSkinReport)}}])&&tr(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function rr(e){return rr="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},rr(e)}function ir(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,(void 0,i=function(e,t){if("object"!==rr(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==rr(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===rr(i)?i:String(i)),r)}var i}var or=function(){function e(t,n,r){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.pv=r,this.ctx=n,this.w=n.w,this.gl=n.w.globals,this.co=n.w.config,this.dataReport=i,this.updateDimension=this.updateDimension.bind(this),this.updateSlider=this.updateSlider.bind(this),this.updateSetData=this.updateSetData.bind(this),this.render()}var t,n;return t=e,n=[{key:"render",value:function(){var e=this,t=this.el,n=this.w.globals,r=this.w.config,i="morning";n.dom.elFace.style.display="none",n.dom.elRoutines=document.createElement("div"),Kt.setAttrs(n.dom.elRoutines,{class:"recommendation_products",style:"background: #fff; min-height: 100%;"}),n.dom.elRoutines.box=document.createElement("div"),Kt.setAttrs(n.dom.elRoutines.box,{style:"width: 100%;"});var o='<div class="recommendation_modal_window"> <div class="header_tools"> <div class="back"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M15.56 5.15999L13.2 2.79999L0 16L13.2 29.2L15.56 26.84L4.72 16L15.56 5.15999Z" fill="black"/></svg></div> <div class="title">'+Gt.t("My Routines")+'</div> <div class="info"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4.66663 24.6533L12.6666 16.64L18 21.9733L29.3333 9.22668L27.4533 7.34668L18 17.9733L12.6666 12.64L2.66663 22.6533L4.66663 24.6533Z" fill="black"/></svg></div> <div class="refresh"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M23.5333 8.46668C21.6 6.53334 18.9467 5.33334 16 5.33334C10.1067 5.33334 5.34668 10.1067 5.34668 16C5.34668 21.8933 10.1067 26.6667 16 26.6667C20.9733 26.6667 25.12 23.2667 26.3067 18.6667H23.5333C22.44 21.7733 19.48 24 16 24C11.5867 24 8.00001 20.4133 8.00001 16C8.00001 11.5867 11.5867 8.00001 16 8.00001C18.2133 8.00001 20.1867 8.92001 21.6267 10.3733L17.3333 14.6667H26.6667V5.33334L23.5333 8.46668Z" fill="black"/></svg></div>'+("modal"===r.displayModel?' <div class="close"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M25.3333 8.54663L23.4533 6.66663L16 14.12L8.54667 6.66663L6.66667 8.54663L14.12 16L6.66667 23.4533L8.54667 25.3333L16 17.88L23.4533 25.3333L25.3333 23.4533L17.88 16L25.3333 8.54663Z" fill="black"/></svg></div>':"")+' </div> <div class="body"> <div class="main"> <div class="header_routine_box"> <div class="header_product header_routine"> <div class="title header_routine_title">'+Gt.t("Your")+" "+Gt.t("Morning")+" "+Gt.t("Routine")+'</div> <div class="action"> <button class="routine_btn morning active"><svg width="21" height="20" viewBox="0 0 21 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10.6243 12.8121C11.3617 12.8121 11.9885 12.5541 12.5046 12.0379C13.0208 11.5217 13.2789 10.895 13.2789 10.1576C13.2789 9.42022 13.0208 8.79345 12.5046 8.27729C11.9885 7.76112 11.3617 7.50304 10.6243 7.50304C9.88695 7.50304 9.26018 7.76112 8.74402 8.27729C8.22786 8.79345 7.96978 9.42022 7.96978 10.1576C7.96978 10.895 8.22786 11.5217 8.74402 12.0379C9.26018 12.5541 9.88695 12.8121 10.6243 12.8121ZM10.6243 14.5818C9.40028 14.5818 8.3569 14.1505 7.49417 13.2877C6.63145 12.425 6.20008 11.3816 6.20008 10.1576C6.20008 8.93355 6.63145 7.89016 7.49417 7.02744C8.3569 6.16471 9.40028 5.73335 10.6243 5.73335C11.8484 5.73335 12.8917 6.16471 13.7545 7.02744C14.6172 7.89016 15.0486 8.93355 15.0486 10.1576C15.0486 11.3816 14.6172 12.425 13.7545 13.2877C12.8917 14.1505 11.8484 14.5818 10.6243 14.5818ZM4.43039 11.0424H0.890991V9.27274H4.43039V11.0424ZM20.3577 11.0424H16.8183V9.27274H20.3577V11.0424ZM9.73948 3.96365V0.424255H11.5092V3.96365H9.73948ZM9.73948 19.8909V16.3515H11.5092V19.8909H9.73948ZM5.66917 6.39698L3.43493 4.25123L4.69584 2.94607L6.81948 5.15819L5.66917 6.39698ZM16.5528 17.3691L14.4071 15.1349L15.5795 13.9182L17.8137 16.064L16.5528 17.3691ZM14.3849 5.20244L16.5307 2.96819L17.8358 4.2291L15.6237 6.35274L14.3849 5.20244ZM3.41281 16.0861L5.64705 13.9403L6.86372 15.1127L4.71796 17.347L3.41281 16.0861Z" fill="#1D1B20"/></svg></button> <button class="routine_btn night"><svg width="17" height="17" viewBox="0 0 17 17" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.37575 16.1212C6.16363 16.1212 4.28332 15.347 2.73484 13.7985C1.18635 12.25 0.412109 10.3697 0.412109 8.15758C0.412109 5.94546 1.18635 4.06515 2.73484 2.51667C4.28332 0.968182 6.16363 0.193939 8.37575 0.193939C8.58221 0.193939 8.78499 0.201313 8.98408 0.21606C9.18317 0.230808 9.37858 0.252929 9.57029 0.282424C8.96565 0.710101 8.48267 1.26682 8.12135 1.95258C7.76004 2.63833 7.57938 3.37939 7.57938 4.17576C7.57938 5.50303 8.04393 6.63121 8.97302 7.5603C9.90211 8.48939 11.0303 8.95394 12.3576 8.95394C13.1687 8.95394 13.9134 8.77328 14.5918 8.41197C15.2702 8.05066 15.8232 7.56768 16.2509 6.96303C16.2804 7.15475 16.3025 7.35015 16.3173 7.54924C16.332 7.74833 16.3394 7.95111 16.3394 8.15758C16.3394 10.3697 15.5651 12.25 14.0167 13.7985C12.4682 15.347 10.5879 16.1212 8.37575 16.1212ZM8.37575 14.3515C9.67352 14.3515 10.8386 13.9939 11.8709 13.2786C12.9032 12.5634 13.6553 11.6306 14.1273 10.4803C13.8323 10.554 13.5374 10.613 13.2424 10.6573C12.9475 10.7015 12.6525 10.7236 12.3576 10.7236C10.5436 10.7236 8.99883 10.0858 7.72317 8.81015C6.44751 7.5345 5.80969 5.9897 5.80969 4.17576C5.80969 3.88081 5.83181 3.58586 5.87605 3.29091C5.92029 2.99596 5.97928 2.70101 6.05302 2.40606C4.90272 2.87798 3.96994 3.6301 3.25469 4.66242C2.53943 5.69475 2.18181 6.8598 2.18181 8.15758C2.18181 9.86828 2.78645 11.3283 3.99575 12.5376C5.20504 13.7469 6.66504 14.3515 8.37575 14.3515Z" fill="#1D1B20"/></svg></button> </div> </div> <div class="header_routine_des">'+Gt.t("Check how you can improve your skin with the proper product and routine")+'</div> </div> <div class="routine"> </div> </div> </div></div>';n.dom.elRoutines.box.innerHTML=o,n.dom.elRoutines.appendChild(n.dom.elRoutines.box),t.appendChild(n.dom.elRoutines),n.dom.elRoutines.routine=n.dom.elRoutines.box.querySelector(".routine"),n.dom.elRoutines.back=n.dom.elRoutines.box.querySelector(".back"),n.dom.elRoutines.info=n.dom.elRoutines.box.querySelector(".info"),n.dom.elRoutines.refresh=n.dom.elRoutines.box.querySelector(".refresh"),n.dom.elRoutines.close=n.dom.elRoutines.box.querySelector(".close"),n.dom.elRoutines.morning=n.dom.elRoutines.box.querySelector(".morning"),n.dom.elRoutines.night=n.dom.elRoutines.box.querySelector(".night"),n.dom.elRoutines.routineTitle=n.dom.elRoutines.box.querySelector(".header_routine_title"),n.dom.elRoutines.recommendation_modal=n.dom.elRoutines.box.querySelector(".recommendation_modal_window"),this.updateSlider(this.ctx,"morning"),n.dom.elRoutines.back.addEventListener("click",(function(t){clearInterval(n.checkStateProductLoader),n.statusRoutinDimension=!1,r.showProducts?(n.dom.elRoutines.remove(),n.statusProductDimension=!0,new lr(n.dom.docIframe,e.ctx,e.pv,e.dataReport)):(n.dom.elRoutines.remove(),n.heightElIframeOldSetStatus=!1,n.dom.elIframe.style.height=n.heightElIframeOld+"px",setTimeout((function(){n.dom.elFace.style.display="flex"}),100))})),n.dom.elRoutines.info.addEventListener("click",(function(){new nr(e.ctx,e.dataReport,!0)})),n.dom.elRoutines.refresh.addEventListener("click",(function(){clearInterval(n.checkStateProductLoader),n.statusRoutinDimension=!1,n.dom.elRoutines.remove(),n.dom.elRecommendation&&n.dom.elRecommendation.remove(),n.heightElIframeOldSetStatus=!1,n.dom.elIframe.style.height=n.heightElIframeOld+"px",n.dom.elInfo&&n.dom.elInfo.remove(),n.dom.elForm&&n.dom.elForm.remove(),n.dom.elFace&&n.dom.elFace.remove(),n.activeQuiz=0,n.formData={},n.imageSubmit=null,n.productLoader=!1,n.productLists=[],n.productAction=[],n.productAddToCart=[],n.intro=!0,e.co.intro=!0,new ii(n.dom.docIframe,e.ctx,e.pv),n.onRefresh&&n.onRefresh()})),n.dom.elRoutines.close&&n.dom.elRoutines.close.addEventListener("click",(function(e){clearInterval(n.checkStateProductLoader),n.dom.elModalFace.classList.remove("is-open"),n.onCloseModal&&n.onCloseModal()})),n.dom.elRoutines.morning.addEventListener("click",(function(){"morning"!==i&&(i="morning",n.dom.elRoutines.routineTitle.innerText=Gt.t("Your")+" "+Gt.t("Morning")+" "+Gt.t("Routine"),n.dom.elRoutines.morning.classList.add("active"),n.dom.elRoutines.night.classList.remove("active"),e.updateSlider(e.ctx,"morning"))})),n.dom.elRoutines.night.addEventListener("click",(function(){"night"!==i&&(i="night",n.dom.elRoutines.routineTitle.innerText=Gt.t("Your")+" "+Gt.t("Night")+" "+Gt.t("Routine"),n.dom.elRoutines.night.classList.add("active"),n.dom.elRoutines.morning.classList.remove("active"),e.updateSlider(e.ctx,"night"))})),setTimeout((function(){e.updateDimension()}),500),n.dom.elIframe.contentWindow.addEventListener("resize",this.updateDimension),n.resizeObserverRoutin=new ResizeObserver((function(){e.updateDimension()})),n.resizeObserverRoutin.observe(n.dom.elRoutines.recommendation_modal),n.onDisplayRoutines&&n.onDisplayRoutines(n.productLists)}},{key:"updateSlider",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"morning",r=(e.w,e.w.globals);e.w.config,r.productLoader?(r.dom.elRoutines.routine.innerHTML='<div class="face_age"><div class="loading_request_pr" style="background: transparent"><div class="FaceCircularProgress-root FaceCircularProgress-colorPrimary FaceCircularProgress-indeterminate" role="progressbar" style="width: 40px; height: 40px; color: var(--basic)"><svg class="FaceCircularProgress-svg" viewBox="22 22 44 44"><circle class="FaceCircularProgress-circle FaceCircularProgress-circleIndeterminate" cx="44" cy="44" r="20.2" fill="none" stroke-width="3.6"></circle></svg></div></div></div>',r.checkStateProductLoader=setInterval((function(){r.productLoader||(t.updateSetData(e,n),clearInterval(r.checkStateProductLoader))}),100)):this.updateSetData(e,n)}},{key:"updateSetData",value:function(e,t){e.w;var n=e.w.globals,r=e.w.config,i=[];n.dom.elRoutines.routine.innerHTML="",Object.keys(n.routineGroup[t]).forEach((function(o,a){var s=n.routineGroup[t][o],l="routines.content."+o,c=!0;if(r.routinesSupport.length>0&&(r.routinesSupport.includes(o)||(c=!1)),c){var u=document.createElement("div");Kt.setAttrs(u,{class:"routine_item"});var d=document.createElement("div");Kt.setAttrs(d,{class:"routine_title"}),d.innerHTML="<span>"+(a+1)+".</span>"+Gt.t(s),u.appendChild(d);var h=document.createElement("div");Kt.setAttrs(h,{class:"routine_content"}),h.innerText=Gt.t(l),u.appendChild(h);var p=document.createElement("div");if(Kt.setAttrs(p,{class:"products"}),n.productLists&&(n.productLists.map((function(r){if(void 0!==r.routineGroups&&r.routineGroups){var a=[];if(Array.isArray(r.routineGroups))r.routineGroups.map((function(e){var r=n.routineGroup[t];Object.keys(r).forEach((function(t){t!==e||a.includes(t)||a.push(t)}))}));else if("object"===rr(r.routineGroups)){a=[];var s=r.routineGroups[t];if(s){var l=n.routineGroup[t];s.map((function(e){Object.keys(l).forEach((function(t){t!==e||a.includes(t)||a.push(t)}))}))}}a.includes(o)&&(new Xn(p,e,r,!0),i.push(r.id))}})),n.productAddToCart.length>0)){var m=p.querySelectorAll(".product_item_box");m.forEach((function(e,t){var r=m[t],i=r.getAttribute("data-id");n.productAddToCart.find((function(e){return e.id===i}))&&(r.querySelector(".product_add_to_cart").classList.contains("active")||(r.querySelector(".product_add_to_cart").classList.add("active"),r.querySelector(".product_add_to_cart").innerText=Gt.t("Add again")))}))}u.appendChild(p),n.dom.elRoutines.routine.appendChild(u);var f=document.createElement("script");f.type="text/javascript",f.text="new Swiper('.myProductProblem', {\n slidesPerView: 'auto',\n spaceBetween: 6,\n });",n.dom.elRoutines.routine.appendChild(f)}}))}},{key:"updateDimension",value:function(){var e=this.w.globals;if(!e.statusRoutinDimension)return!1;"section"===this.co.displayModel&&(e.heightProduct=e.dom.elRoutines.recommendation_modal.scrollHeight,e.heightElIframeOldSetStatus||(e.heightElIframeOld=e.dom.elIframe.clientHeight,e.heightElIframeOldSetStatus=!0),e.dom.elIframe.style.height=e.heightProduct+"px")}}],n&&ir(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function ar(e){return ar="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},ar(e)}function sr(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,(void 0,i=function(e,t){if("object"!==ar(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==ar(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===ar(i)?i:String(i)),r)}var i}var lr=function(){function e(t,n,r){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.ctx=n,this.pv=r,this.w=n.w,this.gl=n.w.globals,this.co=n.w.config,this.dataReport=i,this.updateDimension=this.updateDimension.bind(this),this.updateSlider=this.updateSlider.bind(this),this.updateSetData=this.updateSetData.bind(this),this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this,t=this.el,n=this.w.globals,r=this.w.config;n.dom.elFace.style.display="none",n.dom.elRecommendation=document.createElement("div"),Kt.setAttrs(n.dom.elRecommendation,{class:"recommendation_products",style:"background: #fff; min-height: 100%;"}),n.dom.elRecommendation.box=document.createElement("div"),Kt.setAttrs(n.dom.elRecommendation.box,{style:"width: 100%;"});var i='<div class="recommendation_modal_window"> <div class="header_tools"> <div class="back"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M15.56 5.15999L13.2 2.79999L0 16L13.2 29.2L15.56 26.84L4.72 16L15.56 5.15999Z" fill="black"/></svg></div> <div class="title">'+Gt.t("Recommendation Products")+'</div> <div class="info"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4.66663 24.6533L12.6666 16.64L18 21.9733L29.3333 9.22668L27.4533 7.34668L18 17.9733L12.6666 12.64L2.66663 22.6533L4.66663 24.6533Z" fill="black"/></svg></div> <div class="refresh"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M23.5333 8.46668C21.6 6.53334 18.9467 5.33334 16 5.33334C10.1067 5.33334 5.34668 10.1067 5.34668 16C5.34668 21.8933 10.1067 26.6667 16 26.6667C20.9733 26.6667 25.12 23.2667 26.3067 18.6667H23.5333C22.44 21.7733 19.48 24 16 24C11.5867 24 8.00001 20.4133 8.00001 16C8.00001 11.5867 11.5867 8.00001 16 8.00001C18.2133 8.00001 20.1867 8.92001 21.6267 10.3733L17.3333 14.6667H26.6667V5.33334L23.5333 8.46668Z" fill="black"/></svg></div>'+("modal"===r.displayModel?' <div class="close"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M25.3333 8.54663L23.4533 6.66663L16 14.12L8.54667 6.66663L6.66667 8.54663L14.12 16L6.66667 23.4533L8.54667 25.3333L16 17.88L23.4533 25.3333L25.3333 23.4533L17.88 16L25.3333 8.54663Z" fill="black"/></svg></div>':"")+' </div> <div class="slider_header" style="padding: 15px 0 2px; background-color: #F1F3F4"></div> <div class="body"> <div class="main"> <div class="header_product_box"> <div class="header_product"> <div class="title">'+Gt.t("Products That Just Work For you")+'</div> <div class="action">'+(r.showAddToCard?' <button class="add_to_cart add_to_cart_all">'+Gt.t("Add all to cart")+"</button>":"")+(r.showRoutine?' <button class="show_routine">'+Gt.t("Routine")+"</button>":"")+' </div> </div> </div> <div class="products"> </div>'+("modal"===r.displayModel&&r.showAddToCard?' <div class="footer_box"> <button class="add_to_cart add_to_cart_all2">'+Gt.t("Add all to cart")+'</button> <button class="check_out" style="display: none">'+Gt.t("Checkout")+"</button></div>":"")+" </div> </div></div>";n.dom.elRecommendation.box.innerHTML=i,n.dom.elRecommendation.appendChild(n.dom.elRecommendation.box),t.appendChild(n.dom.elRecommendation),n.dom.elRecommendation.problems=n.dom.elRecommendation.box.querySelector(".slider_header"),n.dom.elRecommendation.products=n.dom.elRecommendation.box.querySelector(".products"),n.dom.elRecommendation.headerProduct=n.dom.elRecommendation.box.querySelector(".header_product_box"),n.dom.elRecommendation.back=n.dom.elRecommendation.box.querySelector(".back"),n.dom.elRecommendation.info=n.dom.elRecommendation.box.querySelector(".info"),n.dom.elRecommendation.refresh=n.dom.elRecommendation.box.querySelector(".refresh"),n.dom.elRecommendation.close=n.dom.elRecommendation.box.querySelector(".close"),n.dom.elRecommendation.addToCardAll=n.dom.elRecommendation.box.querySelector(".add_to_cart_all"),n.dom.elRecommendation.addToCardAll2=n.dom.elRecommendation.box.querySelector(".add_to_cart_all2"),n.dom.elRecommendation.footerBox=n.dom.elRecommendation.box.querySelector(".footer_box"),n.dom.elRecommendation.checkOut=n.dom.elRecommendation.box.querySelector(".check_out"),n.dom.elRecommendation.showRoutine=n.dom.elRecommendation.box.querySelector(".show_routine"),n.dom.elRecommendation.recommendation_modal=n.dom.elRecommendation.box.querySelector(".recommendation_modal_window"),new dr(n.dom.elRecommendation.problems,this.ctx,this.pv,this.dataReport?this.dataReport.problems:[],!0,!0,this.updateSlider),this.updateSlider(this.ctx,"all_products"),n.dom.elRecommendation.addToCardAll&&n.dom.elRecommendation.addToCardAll.addEventListener("click",(function(t){e.addToCardAll()})),n.dom.elRecommendation.addToCardAll2&&n.dom.elRecommendation.addToCardAll2.addEventListener("click",(function(t){e.addToCardAll()})),n.dom.elRecommendation.checkOut&&n.dom.elRecommendation.checkOut.addEventListener("click",(function(e){n.onCheckout&&n.onCheckout(n.productAddToCart)})),n.dom.elRecommendation.back.addEventListener("click",(function(e){clearInterval(n.checkStateProductLoader),n.statusProductDimension=!1,n.dom.elRecommendation.remove(),n.heightElIframeOldSetStatus=!1,n.dom.elIframe.style.height=n.heightElIframeOld+"px",setTimeout((function(){n.dom.elFace.style.display="flex"}),100)})),n.dom.elRecommendation.showRoutine&&n.dom.elRecommendation.showRoutine.addEventListener("click",(function(t){clearInterval(n.checkStateProductLoader),n.dom.elRecommendation.remove(),n.statusProductDimension=!1,n.statusRoutinDimension=!0,new or(n.dom.docIframe,e.ctx,e.pv,e.dataReport)})),n.dom.elRecommendation.info.addEventListener("click",(function(){new nr(e.ctx,e.dataReport,!0)})),n.dom.elRecommendation.refresh.addEventListener("click",(function(){clearInterval(n.checkStateProductLoader),n.statusProductDimension=!1,n.dom.elRecommendation.remove(),n.heightElIframeOldSetStatus=!1,n.dom.elIframe.style.height=n.heightElIframeOld+"px",n.dom.elInfo&&n.dom.elInfo.remove(),n.dom.elForm&&n.dom.elForm.remove(),n.dom.elFace&&n.dom.elFace.remove(),n.activeQuiz=0,n.formData={},n.productLoader=!1,n.productLists=[],n.productAction=[],n.productAddToCart=[],n.imageSubmit=null,n.intro=!0,e.co.intro=!0,new ii(n.dom.docIframe,e.ctx,e.pv),n.onRefresh&&n.onRefresh()})),n.dom.elRecommendation.close&&n.dom.elRecommendation.close.addEventListener("click",(function(e){n.dom.elModalFace.classList.remove("is-open"),clearInterval(n.checkStateProductLoader),n.onCloseModal&&n.onCloseModal()})),setTimeout((function(){e.updateDimension()}),500),n.dom.elIframe.contentWindow.addEventListener("resize",this.updateDimension),n.resizeObserverProduct=new ResizeObserver((function(){e.updateDimension()})),n.resizeObserverProduct.observe(n.dom.elRecommendation.recommendation_modal),n.onDisplayProducts&&n.onDisplayProducts(n.productLists)}},{key:"updateSlider",value:function(e,t){var n=this,r=(e.w,e.w.globals);r.dom.elRecommendation.headerProduct.style.display="block",r.dom.elRecommendation.footerBox&&(r.dom.elRecommendation.footerBox.style.display="flex"),r.productListsDisplay=[],r.productLoader?(r.dom.elRecommendation.products.innerHTML='<div class="face_age"><div class="loading_request_pr" style="background: transparent"><div class="FaceCircularProgress-root FaceCircularProgress-colorPrimary FaceCircularProgress-indeterminate" role="progressbar" style="width: 40px; height: 40px; color: var(--basic)"><svg class="FaceCircularProgress-svg" viewBox="22 22 44 44"><circle class="FaceCircularProgress-circle FaceCircularProgress-circleIndeterminate" cx="44" cy="44" r="20.2" fill="none" stroke-width="3.6"></circle></svg></div></div></div>',r.dom.elRecommendation.headerProduct.style.display="none",r.dom.elRecommendation.footerBox&&(r.dom.elRecommendation.footerBox.style.display="none"),r.checkStateProductLoader=setInterval((function(){r.productLoader||(n.updateSetData(e,t),clearInterval(r.checkStateProductLoader))}),100)):this.updateSetData(e,t)}},{key:"updateSetData",value:function(e,t){e.w;var n=e.w.globals,r=[];if(n.dom.elRecommendation.headerProduct.style.display="block",n.dom.elRecommendation.footerBox&&(n.dom.elRecommendation.footerBox.style.display="flex"),n.productListsDisplay=[],!n.productLoader){if(n.dom.elRecommendation.products.innerHTML="",n.productLists){if(n.productLists.map((function(i){(i.problems.includes(t)||"all_products"===t)&&(new Xn(n.dom.elRecommendation.products,e,i),r.push(i.id),n.productListsDisplay.push(i))})),n.productAddToCart.length>0){var i=n.dom.elRecommendation.products.querySelectorAll(".product_item_box");i.forEach((function(e,t){var r=i[t],o=r.getAttribute("data-id");n.productAddToCart.find((function(e){return e.id===o}))&&(r.querySelector(".product_add_to_cart").classList.contains("active")||(r.querySelector(".product_add_to_cart").classList.add("active"),r.querySelector(".product_add_to_cart").innerText=Gt.t("Add again")))})),n.dom.elRecommendation.checkOut&&(n.dom.elRecommendation.checkOut.style.display="block")}var o=document.createElement("script");o.type="text/javascript",o.text="new Swiper('.myProductProblem', {\n slidesPerView: 'auto',\n spaceBetween: 6,\n });",n.dom.elRecommendation.products.appendChild(o)}if(r.length<=0){var a=document.createElement("div");Kt.setAttrs(a,{class:"product_empty"}),a.innerHTML=Gt.t("There are no products to display."),n.dom.elRecommendation.products.appendChild(a),n.dom.elRecommendation.headerProduct.style.display="none",n.dom.elRecommendation.footerBox&&(n.dom.elRecommendation.footerBox.style.display="none")}}}},{key:"updateDimension",value:function(){var e=this.w.globals;if(!e.statusProductDimension)return!1;"section"===this.co.displayModel&&(e.heightProduct=e.dom.elRecommendation.recommendation_modal.scrollHeight,e.heightElIframeOldSetStatus||(e.heightElIframeOld=e.dom.elIframe.clientHeight,e.heightElIframeOldSetStatus=!0),e.dom.elIframe.style.height=e.heightProduct+"px")}},{key:"addToCardAll",value:function(){var e=this.w.globals,t=e.dom.elRecommendation.products.querySelectorAll(".product_item_box"),n=[];t.forEach((function(r,i){var o=t[i],a=o.getAttribute("data-id"),s=o.querySelectorAll(".product_variables_select"),l=[];s&&s.forEach((function(e){if(e&&e.options.length>0){var t=e.getAttribute("name"),n=(e.getAttribute("data-id"),e.selectedIndex);if(-1!==n){var r=e.options[n];l[t]=r.value}}})),o.querySelector(".product_add_to_cart").classList.contains("active")||(o.querySelector(".product_add_to_cart").classList.add("active"),o.querySelector(".product_add_to_cart").innerText=Gt.t("Add again"),e.dom.elRecommendation.checkOut&&(e.dom.elRecommendation.checkOut.style.display="block")),n.push({id:a,variable:l}),e.productAddToCart.find((function(e){return e.id===a}))||e.productAddToCart.push({id:a,variable:l})})),e.onAddToCart&&e.onAddToCart(n)}}])&&sr(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function cr(e){return cr="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},cr(e)}function ur(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,(void 0,i=function(e,t){if("object"!==cr(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==cr(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===cr(i)?i:String(i)),r)}var i}var dr=function(){function e(t,n,r){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],a=arguments.length>5&&void 0!==arguments[5]&&arguments[5],s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.ctx=n,this.pv=r,this.w=n.w,this.gl=n.w.globals,this.co=n.w.config,this.problems=i,this.showProducts=o,this.recommendation=a,this.eventSlider=s,this.render()}var t,n;return t=e,n=[{key:"render",value:function(){var e=this,t=this.el,n=this.gl,r=this.co,i=this.ctx,o=this.pv.getValue(),a='<div class="swiper '+(this.recommendation?"myProducts":"mySwiper")+'">\n <div class="swiper-wrapper">\n <div class="swiper-slide">\n <div class="point_analysis '+(this.recommendation?"all_products":"skin_info")+' active" data-key="'+(this.recommendation?"all_products":"skin_info")+'">\n <div class="count_box">\n <div class="'+(this.recommendation?"products_ico":"skin_info_ico")+'">'+(this.recommendation?'<svg xmlns="http://www.w3.org/2000/svg" id="Layer_1" data-name="Layer 1" viewBox="0 0 24 24"><path d="M23.381,9.854c-.363-.415-.85-.691-1.381-.8v-.554c0-1.953-1.258-3.602-3-4.224V1.5c0-.827-.673-1.5-1.5-1.5h-3c-.827,0-1.5,.673-1.5,1.5v1c0,.276,.224,.5,.5,.5s.5-.224,.5-.5V1.5c0-.276,.224-.5,.5-.5h3c.276,0,.5,.224,.5,.5v2.551c-.166-.019-.329-.051-.5-.051h-2c-.276,0-.5,.224-.5,.5s.224,.5,.5,.5h2c1.93,0,3.5,1.57,3.5,3.5v.5h-7v-.5c0-1.953-1.258-3.602-3-4.224V1.5c0-.827-.673-1.5-1.5-1.5h-3c-.827,0-1.5,.673-1.5,1.5v2.776c-1.742,.621-3,2.271-3,4.224v.554c-.531,.109-1.018,.385-1.381,.8-.475,.542-.692,1.263-.595,1.985l1.118,7.389c.363,2.721,2.707,4.772,5.452,4.772h10.812c2.745,0,5.089-2.052,5.451-4.764l1.121-7.406c.095-.714-.122-1.435-.597-1.977ZM6,1.5c0-.276,.224-.5,.5-.5h3c.276,0,.5,.224,.5,.5v2.551c-.166-.019-.329-.051-.5-.051h-3c-.171,0-.334,.032-.5,.051V1.5Zm.5,3.5h3c1.93,0,3.5,1.57,3.5,3.5v.5H3v-.5c0-1.93,1.57-3.5,3.5-3.5Zm16.488,6.689l-1.121,7.405c-.297,2.227-2.215,3.905-4.461,3.905H6.594c-2.246,0-4.164-1.679-4.462-3.914l-1.118-7.388c-.057-.428,.073-.86,.358-1.186,.285-.326,.696-.512,1.129-.512H21.5c.433,0,.844,.187,1.129,.512,.285,.325,.415,.757,.359,1.177Zm-10.488,.811v7c0,.276-.224,.5-.5,.5s-.5-.224-.5-.5v-7c0-.276,.224-.5,.5-.5s.5,.224,.5,.5Zm5.5,0v7c0,.276-.224,.5-.5,.5s-.5-.224-.5-.5v-7c0-.276,.224-.5,.5-.5s.5,.224,.5,.5Zm-11,0v7c0,.276-.224,.5-.5,.5s-.5-.224-.5-.5v-7c0-.276,.224-.5,.5-.5s.5,.224,.5,.5Z"/></svg>':'<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><g filter="url(#filter0_d_3028_882)"><path fill-rule="evenodd" clip-rule="evenodd" d="M2 1.82353C2 1.36871 2.36871 1 2.82353 1H7.76471C8.21953 1 8.58824 1.36871 8.58824 1.82353C8.58824 2.27835 8.21953 2.64706 7.76471 2.64706H3.64706V6.76471C3.64706 7.21953 3.27835 7.58824 2.82353 7.58824C2.36871 7.58824 2 7.21953 2 6.76471V1.82353Z" fill="white"/><path fill-rule="evenodd" clip-rule="evenodd" d="M29.1765 1C29.6312 1 30 1.36871 30 1.82353V6.76471C30 7.21953 29.6312 7.58824 29.1765 7.58824C28.7217 7.58824 28.3529 7.21953 28.3529 6.76471V2.64706H24.2353C23.7805 2.64706 23.4118 2.27835 23.4118 1.82353C23.4118 1.36871 23.7805 1 24.2353 1H29.1765Z" fill="white"/><path fill-rule="evenodd" clip-rule="evenodd" d="M2.82353 29C2.36871 29 2 28.6312 2 28.1765V23.2353C2 22.7805 2.36871 22.4118 2.82353 22.4118C3.27835 22.4118 3.64706 22.7805 3.64706 23.2353V27.3529H7.76471C8.21953 27.3529 8.58824 27.7217 8.58824 28.1765C8.58824 28.6312 8.21953 29 7.76471 29H2.82353Z" fill="white"/><path fill-rule="evenodd" clip-rule="evenodd" d="M30 28.1765C30 28.6312 29.6312 29 29.1765 29H24.2353C23.7805 29 23.4118 28.6312 23.4118 28.1765C23.4118 27.7217 23.7805 27.3529 24.2353 27.3529H28.3529V23.2353C28.3529 22.7805 28.7217 22.4118 29.1765 22.4118C29.6312 22.4118 30 22.7805 30 23.2353V28.1765Z" fill="white"/><path fill-rule="evenodd" clip-rule="evenodd" d="M8.58823 13.3529C8.58823 9.25954 11.9066 5.94118 16 5.94118C20.0934 5.94118 23.4118 9.25954 23.4118 13.3529V16.6471C23.4118 20.7405 20.0934 24.0588 16 24.0588C11.9066 24.0588 8.58823 20.7405 8.58823 16.6471V13.3529ZM16 7.58824C12.8162 7.58824 10.2353 10.1692 10.2353 13.3529V16.6471C10.2353 19.8308 12.8162 22.4118 16 22.4118C19.1838 22.4118 21.7647 19.8308 21.7647 16.6471V13.3529C21.7647 10.1692 19.1838 7.58824 16 7.58824Z" fill="white"/><path fill-rule="evenodd" clip-rule="evenodd" d="M12.7059 17.4706C13.1606 17.4706 13.5294 17.8394 13.5294 18.2941L13.5299 18.2986C13.5299 18.2986 13.5317 18.3061 13.535 18.3142C13.5416 18.3304 13.5576 18.3608 13.5935 18.4033C13.6686 18.4921 13.8096 18.6074 14.039 18.7222C14.4984 18.9518 15.1905 19.1176 16 19.1176C16.8095 19.1176 17.5016 18.9518 17.961 18.7222C18.1904 18.6074 18.3314 18.4921 18.4065 18.4033C18.4424 18.3608 18.4584 18.3304 18.465 18.3142C18.4683 18.3061 18.4701 18.2986 18.4701 18.2986L18.4706 18.2941C18.4706 17.8394 18.8394 17.4706 19.2941 17.4706C19.7489 17.4706 20.1177 17.8394 20.1177 18.2941C20.1177 19.229 19.3813 19.8535 18.6976 20.1953C17.9646 20.5618 17.0098 20.7647 16 20.7647C14.9902 20.7647 14.0354 20.5618 13.3025 20.1953C12.6188 19.8535 11.8824 19.229 11.8824 18.2941C11.8824 17.8394 12.2511 17.4706 12.7059 17.4706Z" fill="white"/></g><defs><filter id="filter0_d_3028_882" x="0" y="0" width="32" height="32" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/><feOffset dy="1"/><feGaussianBlur stdDeviation="1"/><feComposite in2="hardAlpha" operator="out"/><feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.3 0"/><feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_3028_882"/><feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_3028_882" result="shape"/></filter></defs></svg>')+'</div>\n </div>\n <div class="label_box" style="'+(this.recommendation?"color: #000; text-shadow: 0 0 #000; overflow: visible;":"")+'">'+(this.recommendation?Gt.t("All Products"):Gt.t("Skin Info"))+"</div>\n </div>\n </div>\n";this.problems.length>0&&this.problems.map((function(t){a+=' <div class="swiper-slide">\n <div class="point_analysis '+t.key+'" data-key="'+t.key+'">\n <div class="count_box" style="background-color: '+(e.recommendation?"rgb(0 0 0 / 4%)":"rgba(255, 255, 255, 0.3)")+'">\n <div class="progress-container"><svg class="MuiCircularProgress-svg" viewBox="22 22 44 44"><circle class="MuiCircularProgress-circle" cx="44" cy="44" r="20.2" fill="none" stroke-width="2.6"></circle></svg><div class="progress-label">0%</div></div>\n </div>\n <div class="label_box" style="'+(e.recommendation?"color: #000; text-shadow: 0 0 #000; overflow: visible;":"")+'">'+Gt.t(t.title)+"</div>\n </div>\n </div>\n"})),a+=' </div><div class="swiper-button-next"></div><div class="swiper-button-prev"></div>\n </div>',n.dom.elPreviewImage.imageLoad.slide=document.createElement("div"),Kt.setAttrs(n.dom.elPreviewImage.imageLoad.slide,{style:"background: linear-gradient(rgba(33, 37, 41, 0), rgb(33 37 41 / 51%));"+(this.showProducts?"padding-bottom: 10px;":"position: absolute;z-index: 2;left: 0;right: 0;bottom: 0; padding-bottom: "+(o.copyRight&&"widget"===r.displayModel?25:10)+"px;"),class:"face_slide"}),n.dom.elPreviewImage.imageLoad.slide.innerHTML=a,t.appendChild(n.dom.elPreviewImage.imageLoad.slide);var s=document.createElement("script");s.type="text/javascript",s.text="new Swiper('."+(this.recommendation?"myProducts":"mySwiper")+'\', {\n slidesPerView: \'auto\',\n spaceBetween: 12,\n navigation: {\n nextEl: ".swiper-button-next",\n prevEl: ".swiper-button-prev",\n },\n });',t.appendChild(s),this.problems.length>0&&this.problems.map((function(t){var r=n.dom.elPreviewImage.imageLoad.slide.getElementsByClassName(t.key)[0];e.setProgress(r,parseInt(t.number),t.colors,"Percent"===t.format)}));var l=t.getElementsByClassName("point_analysis");if(l)for(var c=function(){var r=l[u];r.addEventListener("click",(function(o){var a=r.getAttribute("data-key"),s=t.querySelectorAll(".point_analysis");if(s)for(var l=0;l<s.length;l++){var c=s[l];c.classList.contains("active")&&c.classList.remove("active")}if(r.classList.add("active"),e.problems.length>0&&e.problems.map((function(t){var r=n.dom.elPreviewImage.imageLoad.slide.querySelector(".point_analysis."+t.key);r&&e.setProgress(r,parseInt(t.number),t.key!==a?t.colors:"#fff","Percent"===t.format),r.querySelector(".count_box")&&(t.key===a?r.querySelector(".count_box").style.backgroundColor=t.colors:r.querySelector(".count_box").style.backgroundColor=e.recommendation?"rgb(0 0 0 / 4%)":"rgba(255, 255, 255, 0.3)")})),!e.recommendation){"skin_info"!==a&&n.dom.elPreviewImage.imageLoad.score?n.dom.elPreviewImage.imageLoad.score.style.display="none":"skin_info"===a&&n.dom.elPreviewImage.imageLoad.score&&(n.dom.elPreviewImage.imageLoad.score.style.display="block"),"skin_info"!==a&&n.dom.elPreviewImage.imageLoad.warning?n.dom.elPreviewImage.imageLoad.warning.style.display="none":"skin_info"===a&&n.dom.elPreviewImage.imageLoad.warning&&(n.dom.elPreviewImage.imageLoad.warning.style.display="block"),e.setTitle("skin_info"!==a?a:null);var u=n.dom.elPreviewImage.imageLoad.masks.querySelectorAll(".maskItem");if(u)for(var d=0;d<u.length;d++){var h=u[d],p=h.getAttribute("data-key");h.style.display="skin_info"===a||p===a?"block":"none"}}e.eventSlider&&e.eventSlider(i,a),n.onClickProblem&&n.onClickProblem(a)}))},u=0;u<l.length;u++)c()}},{key:"setProgress",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"#da005c",r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],i=e.querySelector(".MuiCircularProgress-circle"),o=e.querySelector(".progress-label"),a=r?Math.min(Math.max(t,0),100):t,s=r?"%":"",l=2*Math.PI*20.2,c=l-a/100*l;i.style.stroke=n,i.style.strokeDashoffset=c,o.textContent="".concat(a).concat(s),o.style.color=n}},{key:"setTitle",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=(this.el,this.gl);if(e){var n=[];this.problems.length>0&&this.problems.map((function(t){e===t.key&&(n=t)})),n&&(t.dom.elPreviewImage.activePoint?(t.dom.elPreviewImage.activePoint.innerHTML=Gt.t(n.title),t.dom.elPreviewImage.activePoint.style.backgroundColor=n.colors):(t.dom.elPreviewImage.activePoint=document.createElement("div"),Kt.setAttrs(t.dom.elPreviewImage.activePoint,{style:"background-color: "+n.colors+";",class:"title_point_select"}),t.dom.elPreviewImage.activePoint.innerHTML=Gt.t(n.title),t.dom.elPreviewImage.imageLoad.appendChild(t.dom.elPreviewImage.activePoint)))}else{var r=t.dom.elPreviewImage.imageLoad.querySelector(".title_point_select");r&&(r.remove(),t.dom.elPreviewImage.activePoint=null)}}}],n&&ur(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function hr(e){return hr="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},hr(e)}function pr(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,(void 0,i=function(e,t){if("object"!==hr(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==hr(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===hr(i)?i:String(i)),r)}var i}var mr=function(){function e(t,n,r){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[];!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.gl=n,this.co=r,this.problems=i,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this.el,t=this.gl;this.co,t.dom.elPreviewImage.imageLoad.masks=document.createElement("div"),Kt.setAttrs(t.dom.elPreviewImage.imageLoad.masks,{style:"position: absolute; top: 0; left: 0; right: 0; bottom: 0"}),t.dom.elPreviewImage.imageLoad.maskItem=[],this.problems.length>0&&this.problems.map((function(e){var n=e.areas&&""!==e.areas?e.areas:null,r=e.masks&&""!==e.masks?e.masks:null,i="-1"===r?n:r,o=r?"mask":"areas",a=r?"0.9":"0.6";i&&(t.dom.elPreviewImage.imageLoad.maskItem[e.key]=document.createElement("div"),Kt.setAttrs(t.dom.elPreviewImage.imageLoad.maskItem[e.key],{class:"maskItem "+o+"_"+e.key,"data-key":e.key,style:"position: absolute; top: 0; left: 0; bottom: 0; right: 0; background-size: 100%; background-repeat: no-repeat; background-position: left top; opacity: "+a+'; background-image: url("data:image/svg+xml;base64,'+i+'");'}),t.dom.elPreviewImage.imageLoad.masks.appendChild(t.dom.elPreviewImage.imageLoad.maskItem[e.key]))})),e.appendChild(t.dom.elPreviewImage.imageLoad.masks)}}])&&pr(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function fr(e){return fr="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},fr(e)}function gr(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,(void 0,i=function(e,t){if("object"!==fr(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==fr(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===fr(i)?i:String(i)),r)}var i}var yr=function(){function e(t,n,r){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.gl=n,this.co=r,this.damage=i,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this.el,t=this.gl,n=(this.co,this.damage&&this.damage>0?100-parseInt(this.damage):99);t.dom.elPreviewImage.imageLoad.score=document.createElement("div"),Kt.setAttrs(t.dom.elPreviewImage.imageLoad.score,{style:"position: absolute;top: "+(t.imageWarning?"58":"15")+"px;left: 17px;text-align: left;background: var(--accepted_status);padding: 7px 10px;border-radius: 10px;color: #fff; font-size: 14px"}),t.dom.elPreviewImage.imageLoad.score.innerHTML="<div>"+Gt.t("Skin Health")+': <span style="margin-left: 7px;display: inline-block;font-weight: bold;">'+n+"%</span></div>",e.appendChild(t.dom.elPreviewImage.imageLoad.score)}}])&&gr(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function vr(e){return vr="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},vr(e)}function br(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,(void 0,i=function(e,t){if("object"!==vr(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==vr(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===vr(i)?i:String(i)),r)}var i}var kr=function(){function e(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.ctx=n,this.w=n.w,this.gl=n.w.globals,this.validation=r,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e,t,n,r,i=this.el,o=this.w.globals,a=(this.w.config,null===(e=this.validation)||void 0===e?void 0:e.blurry),s=null===(t=this.validation)||void 0===t?void 0:t.eyeGlass,l=null===(n=this.validation)||void 0===n?void 0:n.neutralFace,c=null===(r=this.validation)||void 0===r?void 0:r.faceObstruction,u=this.validation.brightness?this.validation.brightness:0;(u<50||a||s||!l)&&(o.dom.elPreviewImage.imageLoad.warning=document.createElement("div"),Kt.setAttrs(o.dom.elPreviewImage.imageLoad.warning,{style:"position: absolute;top: 15px;left: 17px;text-align: left;background: #FFC961;padding: 7px 10px;border-radius: 10px;color: #fff; font-size: 14px; cursor: pointer;"}),o.dom.elPreviewImage.imageLoad.warning.innerHTML='<div class="warning_image"><svg style="width: 16px; display: inline-block; height: 16px; vertical-align: middle;" width="16" height="20" viewBox="0 0 16 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2 13.5V8.5C2 5.43 3.64 2.86 6.5 2.18V1.5C6.5 0.67 7.17 0 8 0C8.83 0 9.5 0.67 9.5 1.5V2.18C12.37 2.86 14 5.42 14 8.5V13.5L16 15.5V16.5H9.53674e-07V15.5L2 13.5ZM7 13.5H9V11.5H7V13.5ZM7 9.5H9V5.5H7V9.5ZM8 19.5C6.9 19.5 6 18.6 6 17.5H10C10 18.6 9.11 19.5 8 19.5Z" fill="white"/></svg> '+Gt.t("Image is not suitable")+"</div>",o.imageWarning=!0,i.appendChild(o.dom.elPreviewImage.imageLoad.warning),o.dom.elPreviewImage.imageLoad.warning.addEventListener("click",(function(){var e=[];a&&e.push(Gt.t("validation.blurry")),s&&e.push(Gt.t("validation.eyeGlass")),c&&e.push(Gt.t("validation.faceObstruction")),l||e.push(Gt.t("validation.neutralFace")),u<50&&e.push(Gt.t("validation.brightness"));var t="<ol>"+e.map((function(e){return"<li>"+e+"</li>"})).join(" ")+"</ol>";new Hn(o,(function(){o.dom.elModal.remove()}),null,Gt.t("Tips for taking better selfies"),t,Gt.t("Continue"))})))}}])&&br(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function wr(e){return wr="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},wr(e)}function Sr(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,(void 0,i=function(e,t){if("object"!==wr(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==wr(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===wr(i)?i:String(i)),r)}var i}var Cr=function(){function e(t,n,r,i,o){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.gl=n,this.name=r.name,this.inputType=r.inputType,this.placeholder=Gt.t(r.placeholder),this.required=r.required,this.title=Gt.t(r.title),this.description=Gt.t(r.description),this.value=i,this.setValue=o,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this,t=(this.gl,document.createElement("div"));Kt.setAttrs(t,{class:"el_box","data-name":this.name});var n=document.createElement("div");Kt.setAttrs(n,{class:"box_title"}),n.innerHTML=(this.title?'<label class="title_el">'+this.title+"</label>":"")+(this.description?'<p class="description_el">'+this.description+"</p>":""),t.appendChild(n);var r=document.createElement("div");Kt.setAttrs(r,{class:"textInput"});var i=document.createElement("input");Kt.setAttrs(i,{class:"input",placeholder:this.placeholder?this.placeholder+" ":"",name:this.name,type:this.inputType,required:this.required,value:void 0!==this.value?this.value:""}),i.addEventListener("input",(function(t){e.setValue(t.target.value),e.value=t.target.value})),r.appendChild(i),t.appendChild(r),this.el.appendChild(t)}}])&&Sr(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function Pr(e){return Pr="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},Pr(e)}function Ar(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,(void 0,i=function(e,t){if("object"!==Pr(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==Pr(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===Pr(i)?i:String(i)),r)}var i}var xr=function(){function e(t,n,r){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.gl=n,this.children=Gt.t(r.text),this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this.gl;e.dom.elementText=document.createElement("h3"),Kt.setAttrs(e.dom.elementText,{style:"margin: 0 0 10px"}),e.dom.elementText.innerHTML=this.children,this.el.appendChild(e.dom.elementText)}}])&&Ar(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function Tr(e){return Tr="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},Tr(e)}function Rr(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,(void 0,i=function(e,t){if("object"!==Tr(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==Tr(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===Tr(i)?i:String(i)),r)}var i}var Er=function(){function e(t,n,r,i,o){var a;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.gl=n,this.name=r.name,this.options=null!==(a=r.options)&&void 0!==a?a:[],this.required=r.required,this.title=Gt.t(r.title),this.description=Gt.t(r.description),this.value=i,this.setValue=o,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this,t=(this.gl,document.createElement("div"));Kt.setAttrs(t,{class:"el_box","data-name":this.name});var n=document.createElement("div");Kt.setAttrs(n,{class:"box_title"}),n.innerHTML=(this.title?'<label class="title_el">'+this.title+"</label>":"")+(this.description?'<p class="description_el">'+this.description+"</p>":""),t.appendChild(n);var r=document.createElement("div");Kt.setAttrs(r,{class:"textInput"});var i=document.createElement("select");Kt.setAttrs(i,{class:"select",name:this.name,required:this.required}),this.options.map((function(t){var n=document.createElement("option");n.value=t.value,n.text=Gt.t(t.label),t.value===e.value&&(n.selected=!0),i.appendChild(n)})),i.addEventListener("change",(function(t){e.setValue(t.target.value),e.value=t.target.value})),r.appendChild(i),t.appendChild(r),this.el.appendChild(t)}}])&&Rr(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();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},_r(e)}function Ir(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,(void 0,i=function(e,t){if("object"!==_r(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==_r(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===_r(i)?i:String(i)),r)}var i}var Fr=function(){function e(t,n,r,i,o){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.gl=n,this.item=r,this.valus=i,this.setData=o,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this,t=this.gl,n=this.item;switch(n.type){case"title":new xr(this.el,t,n);break;case"text":new on(this.el,t,n);break;case"checkboxInput":new tn(this.el,t,n,this.valus[n.name],(function(t){return e.setData(t,n.name)}));break;case"radioInput":new ln(this.el,t,n,this.valus[n.name],(function(t){return e.setData(t,n.name)}));break;case"textInput":new Cr(this.el,t,n,this.valus[n.name],(function(t){return e.setData(t,n.name)}));break;case"selectBox":new Er(this.el,t,n,this.valus[n.name],(function(t){return e.setData(t,n.name)}))}}}])&&Ir(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function Lr(e){return Lr="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},Lr(e)}function Or(e){try{var t=new URL(e);return"http:"===t.protocol||"https:"===t.protocol}catch(e){return!1}}function Mr(e){return/<\/?[a-z][\s\S]*>/i.test(e)}function Dr(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=[];return e.map((function(e,r){var i,o={},a=t[e.name],s=null!==(i=e.title)&&void 0!==i?i:e.name;if(e.required&&!a)o[e.name]=s+" is required";else if(a)if("textInput"===e.type)switch(e.inputType){case"email":/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/.test(a)||(o[e.name]=s+" must be a valid Email");break;case"url":/^(https?:\/\/)?([a-zA-Z0-9-]+\.)+[a-zA-Z]{2,}(:[0-9]{1,5})?(\/.*)?$/.test(a)||(o[e.name]=s+" must be a valid HTTPS URL");break;case"number":/^\d+$/.test(a)||(o[e.name]=s+" must be a valid number");break;case"date":(function(e){if(!/^\d{4}-\d{2}-\d{2}$/.test(e))return!1;var t=new Date(e),n=t.getTime();return!(!n&&0!==n)&&t.toISOString().slice(0,10)===e})(a)||(o[e.name]=s+" must be a valid date (ex: 2024-02-18)")}else"checkboxInput"===e.type&&"object"!==Lr(a)&&(o[e.name]=s+" must be an object if provided");Object.keys(o).length>0&&n.push({index:r,errors:o})})),n.length>0?n:null}function Gr(e){return Gr="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},Gr(e)}function Br(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,(void 0,i=function(e,t){if("object"!==Gr(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==Gr(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===Gr(i)?i:String(i)),r)}var i}var Nr=function(){function e(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.ctx=t,this.w=t.w,this.gl=t.w.globals,this.onSubmit=n,this.onSkip=r,this.valus=this.gl.formData,this.required=[],this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this,t=this.w.globals,n=this.w.config;Object.keys(this.valus).length<=0&&n.defaultQuiz&&Xt().map(n.defaultQuiz,(function(t,n){e.valus[n]=t}));var r=t.formPages.find((function(e){return"imageAnalysis"===e.name}));if(r.content&&r.content.elements&&r.content.elements.length>0){t.formData||(t.formData={});var i=r.content.actions?r.content.actions.find((function(e){return"goToSkip"===e.onAction})):null,o=r.content.actions?r.content.actions.find((function(e){return"goToNext"===e.onAction})):null;new Hn(t,o?function(){if(e.required.length>0&&!e.required.find((function(t){return e.valus[t]})))return!1;r.content.elements.map((function(e){var n=t.dom.elModal.body.querySelector('.el_box[data-name="'+e.name+'"]');if(n){var r=n.querySelector(".err");r&&r.remove()}}));var n=Dr(r.content.elements,e.valus);if(n)return n.map((function(e,n){Xt().map(e.errors,(function(e,n){var r=t.dom.elModal.body.querySelector('.el_box[data-name="'+n+'"]');if(r){var i=document.createElement("p");Kt.setAttrs(i,{class:"err"}),i.innerText=e,r.appendChild(i)}}))})),!1;t.dom.elModal.remove(),e.onSubmit(e.valus)}:null,i?function(){t.dom.elModal.remove(),e.onSkip&&e.onSkip()}:null,"","",o?Gt.t(o.label):"",i?Gt.t(i.label):""),t.dom.elModal.body=t.dom.elModal.box.getElementsByClassName("body")[0],t.dom.elModal.accept=t.dom.elModal.box.getElementsByClassName("accept")[0];var a=!0,s=!0;r.content.elements.map((function(n){console.log(n),n.required&&e.required.push(n.name),n.required&&!e.valus[n.name]&&(a=!1),e.valus[n.name]||(s=!1),new Fr(t.dom.elModal.body,t,n,e.valus,(function(n,r){e.valus[r]=n,t.dom.elModal.accept&&e.required.map((function(n){e.valus[n]?t.dom.elModal.accept.classList.remove("disabale"):t.dom.elModal.accept.classList.add("disabale")}))}))})),t.dom.elModal.accept&&this.required.length>0&&t.dom.elModal.accept.classList.add("disabale"),t.dom.elModal.accept&&a&&t.dom.elModal.accept.classList.contains("disabale")&&t.dom.elModal.accept.classList.remove("disabale"),s&&t.dom.elModal.accept.click()}}}])&&Br(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function jr(e){return jr="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},jr(e)}function zr(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,(void 0,i=function(e,t){if("object"!==jr(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==jr(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===jr(i)?i:String(i)),r)}var i}var Wr=function(){function e(t,n,r,i){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],a=arguments.length>5?arguments[5]:void 0;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.gl=t,this.ctx=n,this.pv=r,this.w=n.w,this.gl=n.w.globals,this.co=n.w.config,this.dataReport=o,this.image=i,this.back=a,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e,t=this.gl,n=(this.co,this.dataReport),r=this,i=[],o=!1,a=!1,s=[];n.validation&&(n.validation.blurry&&!0===n.validation.blurry&&(i.push(Gt.t("your picture quality is blurry")),o=!0),n.validation.eyeGlass&&!0===n.validation.eyeGlass&&(i.push(Gt.t("be wearing glasses")),a=!0),a&&s.push(Gt.t("please remove them")),o&&s.push(Gt.t("Improve photo quality")),e=Gt.t("We noticed you might")+" "+i.join(" "+Gt.t("and")+" ")+". "+Gt.t("for better results")+", "+s.join(" "+Gt.t("and")+" ")+"."),i.length>0?new Hn(t,(function(){r.submitData(n),t.dom.elModal.remove()}),(function(){r.back(),t.dom.elModal.remove()}),Gt.t("Tips for taking better selfies"),e,Gt.t("Continue"),Gt.t("Re-take")):this.submitData(n)}},{key:"submitData",value:function(e){var t=this,n=this.gl,r=this.co,i=this.pv.getValue(),o=n.formPages.find((function(e){return"imageAnalysis"===e.name}));r.showProducts||r.showRoutine?(n.dom.elPreviewImage.actionProducts=document.createElement("div"),Kt.setAttrs(n.dom.elPreviewImage.actionProducts,{class:"problems_products",style:i.copyRight&&"modal"!==r.displayModel?"position: absolute;z-index: 2;left: 10px;right: 10px;bottom: "+("widget"===r.displayModel?25:15)+"px;":"position: absolute;z-index: 2;left: 0;right: 0;bottom: 0;"}),new dr(n.dom.elPreviewImage.actionProducts,this.ctx,this.pv,e.problems,!0),n.dom.elPreviewImage.actionProducts.btn=document.createElement("button"),n.dom.elPreviewImage.actionProducts.btn.innerHTML=r.showProducts?Gt.t("Get recommended products!"):Gt.t("Generate routines for you"),Kt.setAttrs(n.dom.elPreviewImage.actionProducts.btn,{class:"recommended_products"}),n.dom.elPreviewImage.actionProducts.appendChild(n.dom.elPreviewImage.actionProducts.btn),n.dom.elPreviewImage.imageLoad.appendChild(n.dom.elPreviewImage.actionProducts),n.dom.elPreviewImage.actionProducts.btn.addEventListener("click",(function(e){!n.showFinalForm&&o.afterAnalysis&&o.content&&o.content.elements&&o.content.elements.length>0?new Nr(t.ctx,(function(e){n.formData=e,n.showFinalForm=!0,t.showProductsPage(),n.getActiveSelections&&n.getActiveSelections(e)}),(function(){n.showFinalForm=!0,t.showProductsPage(),n.getActiveSelections&&n.getActiveSelections(n.formData)})):t.showProductsPage()}))):new dr(n.dom.elPreviewImage.imageLoad,this.ctx,this.pv,e.problems),new mr(n.dom.elPreviewImage.boxrelative,n,this.co,e.problems),new kr(n.dom.elPreviewImage.imageLoad,this.ctx,e.validation),e.damagePercentage&&new yr(n.dom.elPreviewImage.imageLoad,n,this.co,e.damagePercentage);var a='<button class="FaceButtonBase-root FaceIconButton-root FaceInfoMode infoRepetition" style="'+("modal"===r.displayModel?"top: 10px;":"")+'" tabindex="0" type="button"><span class="FaceIconButton-label"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3.5 18.49L9.5 12.48L13.5 16.48L22 6.92001L20.59 5.51001L13.5 13.48L9.5 9.48001L2 16.99L3.5 18.49Z" fill="#6B7280"/></svg></span><span class="FaceTouchRipple-root"></span></button>';if(n.dom.elPreviewImage.backico=document.createElement("div"),n.dom.elPreviewImage.backico.innerHTML='<button class="FaceButtonBase-root FaceIconButton-root FaceChangeBackMode backRepetition" tabindex="0" type="button"><span class="FaceIconButton-label"><svg viewBox="0 0 24 24" fill="currentColor" style="width: 24px; height: 24px;"><path d="M12 5V1L7 6l5 5V7c3.31 0 6 2.69 6 6s-2.69 6-6 6-6-2.69-6-6H4c0 4.42 3.58 8 8 8s8-3.58 8-8-3.58-8-8-8z"></path></svg></span><span class="FaceTouchRipple-root"></span></button>',n.dom.elPreviewImage.infoico=document.createElement("div"),n.dom.elPreviewImage.infoico.innerHTML=a,"modal"!==r.displayModel&&n.dom.elPreviewImage.appendChild(n.dom.elPreviewImage.backico),n.dom.elPreviewImage.appendChild(n.dom.elPreviewImage.infoico),n.dom.elPreviewImage.backico&&n.dom.elPreviewImage.backico.addEventListener("click",(function(){t.back(),n.onRefresh&&n.onRefresh()})),n.dom.elPreviewImage.infoico.addEventListener("click",(function(){new nr(t.ctx,t.dataReport)})),n.imageSubmit=this.image,n.getAdvisorData&&n.getAdvisorData(e.problems),!r.showProducts&&!r.showRoutine&&!n.showFinalForm&&o.afterAnalysis&&o.content&&o.content.elements&&o.content.elements.length>0&&setTimeout((function(){n.showFinalForm||"preview"!==n.stepShow||new Nr(t.ctx,(function(e){n.formData=e,n.showFinalForm=!0,n.getActiveSelections&&n.getActiveSelections(e)}),(function(){n.showFinalForm=!0,n.getActiveSelections&&n.getActiveSelections(n.formData)}))}),5e3),n.onload){var s={points:{},image:this.image};e.problems.map((function(e){var t=e.key;switch(e.key){case"acne":t="acnes";break;case"darkCircle":t="dark_circle";break;case"deepWrinkles":t="deep_wrinkles";break;case"eyeBag":t="eye_bag";break;case"eyeWrinkles":t="eye_wrinkles";break;case"fineWrinkles":t="wrinkles"}s[t]=parseInt(e.number)})),n.onload(s)}}},{key:"showProductsPage",value:function(){this.co.showProducts?(this.gl.statusProductDimension=!0,new lr(this.gl.dom.docIframe,this.ctx,this.pv,this.dataReport)):this.co.showRoutine&&(this.gl.statusRoutinDimension=!0,new or(this.gl.dom.docIframe,this.ctx,this.pv,this.dataReport))}}])&&zr(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function Ur(e){return Ur="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},Ur(e)}function Hr(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,qr(r.key),r)}}function Yr(e,t,n){return(t=qr(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function qr(e){var t=function(e,t){if("object"!==Ur(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==Ur(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===Ur(t)?t:String(t)}var Jr=function(){function e(t,n,r,i,o,a,s,l){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Yr(this,"dataReport",null),Yr(this,"wrinklesPoint",null),Yr(this,"eyeWrinklesPoint",null),Yr(this,"darkCirclePoint",null),Yr(this,"pigmentPoint",null),Yr(this,"deepWrinklesPoint",null),Yr(this,"eyeBagPoint",null),this.el=t,this.ctx=n,this.pv=r,this.w=n.w,this.gl=n.w.globals,this.co=n.w.config,this.image=i,this.width=o,this.height=a,this.back=s,this.onSet=l,this.valus={},this.required=[],this.submitData=this.submitData.bind(this),this.updateDimension=this.updateDimension.bind(this),this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this,t=this.gl;this.updateDimension(),t.dom.elIframe.contentWindow.addEventListener("resize",this.updateDimension),t.dom.elPreviewImage=document.createElement("div"),Kt.setAttrs(t.dom.elPreviewImage,{class:"imageSubmit"}),t.dom.elPreviewImage.imageLoad=document.createElement("div"),Kt.setAttrs(t.dom.elPreviewImage.imageLoad,{class:"imageLoad",style:"max-height: "+this.height+"px"}),t.dom.elPreviewImage.fix=document.createElement("div"),Kt.setAttrs(t.dom.elPreviewImage.fix,{style:"display: flex; justify-content: center;"}),t.dom.elPreviewImage.boxrelative=document.createElement("div"),Kt.setAttrs(t.dom.elPreviewImage.boxrelative,{style:"position: relative; background: #000;"}),t.dom.elPreviewImage.fix.appendChild(t.dom.elPreviewImage.boxrelative),t.dom.elPreviewImage.imageLoad.appendChild(t.dom.elPreviewImage.fix),t.dom.elPreviewImage.appendChild(t.dom.elPreviewImage.imageLoad),this.el.appendChild(t.dom.elPreviewImage),this.resizeBase64Img(this.image).then((function(t){e.image=t,fetch(e.image).then((function(e){return e.blob()})).then((function(t){if(t.size<=1e3)return e.errorSkinAnalyze(Gt.t("The input image is not suitable")),!1;e.showUserData()}))})).catch((function(){return e.errorSkinAnalyze(Gt.t("The input image is not suitable")),!1}))}},{key:"showUserData",value:function(){var e=this,t=this.gl,n=t.formPages.find((function(e){return"imageAnalysis"===e.name}));if(!n.afterAnalysis&&n.content&&n.content.elements&&n.content.elements.length>0){t.formData||(t.formData={});var r='<div style="position: relative"><img class="image_face_preview" src="'+this.image+'" style="width: auto; height: '+this.height+"px; max-height: "+this.height+'px; position: relative;"></div>';t.dom.elPreviewImage.preview=document.createElement("div"),t.dom.elPreviewImage.preview.innerHTML=r,t.dom.elPreviewImage.boxrelative.appendChild(t.dom.elPreviewImage.preview),new Nr(this.ctx,(function(n){t.formData=n,e.showPreview(),e.submitSkinAnalyze(e.image),t.getActiveSelections&&t.getActiveSelections(n)}),(function(){e.showPreview(),e.submitSkinAnalyze(e.image),t.getActiveSelections&&t.getActiveSelections(t.formData)}))}else this.showPreview(),this.submitSkinAnalyze(this.image)}},{key:"showPreview",value:function(){var e=this.gl;e.dom.elPreviewImage.boxrelative.innerHTML="";var t='<div style="position: relative"><div class="loader_preview_image"><div class="face_loader_text"><ul class="content__container__list"><li class="content__container__list__item">'+Gt.t("Sending Facial Data...")+'</li><li class="content__container__list__item">'+Gt.t("Scanning Face...")+'</li><li class="content__container__list__item">'+Gt.t("Analyzing Facial Attributes...")+'</li><li class="content__container__list__item">'+Gt.t("AI Crafting Report..")+'</li></ul></div><div class="bounding_box" style="display: none"><div class="face_loader face_loader-2"><div class="loader-circles"></div><div class="loader-diamond"></div><div class="loader-groove"></div></div></div></div><img class="image_face_preview" src="'+this.image+'" style="width: auto; height: '+this.height+"px; max-height: "+this.height+'px; position: relative;"></div>';e.dom.elPreviewImage.preview=document.createElement("div"),e.dom.elPreviewImage.preview.innerHTML=t,e.dom.elPreviewImage.boxrelative.appendChild(e.dom.elPreviewImage.preview),e.dom.elPreviewImage.preview.image=e.dom.elPreviewImage.preview.getElementsByClassName("image_face_preview")[0],e.dom.elPreviewImage.preview.boundingBox=e.dom.elPreviewImage.preview.getElementsByClassName("bounding_box")[0];var n=this;new Rn(e.dom.elPreviewImage.preview.image,null,null,this.width,this.height,(function(e){return n.showCropMode(e)}),(function(){return n.loadingDetection()}),null,"image")}},{key:"showCropMode",value:function(e){var t=this.gl,n=e[0];if(!n)return null;Kt.setAttrs(t.dom.elPreviewImage.preview.boundingBox,{style:"position: absolute; top: "+100*n.yCenter+"%; left: "+100*n.xCenter+"%; width: "+100*n.width+"%; height: "+100*n.height+"%; z-index: 99999999; display: block"})}},{key:"loadingDetection",value:function(){this.gl}},{key:"submitSkinAnalyze",value:function(e){var t=this,n=this.gl,r=this.co;return new Promise((function(i,o){var a=t;fetch(e).then((function(e){return e.blob()})).then((function(e){var i;if(e.size<=1e3)return t.errorSkinAnalyze(Gt.t("The input image is not suitable")),!1;var o=new File([e],Math.random()+".jpeg",{type:"image/jpeg"}),s=new FormData;s.append("file",o),n.formData&&s.append("form",JSON.stringify(n.formData)),r.problems.length>0&&s.append("problem",r.problems.join(",")),s.append("faceageId",n.faceageId),null===(i=Ze.request("POST","skinanalyze",s,{"Content-Type":"multipart/form-data"}))||void 0===i||i.then((function(e){e.data.message?(a.onSet&&a.onSet(!1),console.error(e.data.message)):e.data.data.problems?(n.skinAnalyzeData=e.data.data,a.onSet&&a.onSet(!0),a.submitData(e.data.data)):(a.onSet&&a.onSet(!1),console.error("There is a problem processing your image from our service side."))})).catch((function(e){a.onSet&&a.onSet(!1);var n=[];if(e.response&&e.response.data.message&&422===e.response.status)if(e.response.data.errors){var r=e.response.data.errors;Object.keys(r).forEach((function(e){r[e][0]?n.push(r[e][0]):n.push(r[e])}))}else n.push(e.response.data.message);else n.push(e.message);t.errorSkinAnalyze(n.join(", "))}))}))}))}},{key:"submitData",value:function(e){var t=this.gl;t.dom.elPreviewImage.boxrelative.innerHTML="",t.dom.elPreviewImage.finalImage=document.createElement("img"),Kt.setAttrs(t.dom.elPreviewImage.finalImage,{id:"face_age_analyzer_image_server",class:"face_age_analyzer_image_server",src:this.image,style:"width: auto; height: "+this.height+"px; max-height: "+this.height+"px; position: relative; opacity: 0.95"}),t.dom.elPreviewImage.boxrelative.appendChild(t.dom.elPreviewImage.finalImage),this.dataReport=e,new Wr(t,this.ctx,this.pv,this.image,e,this.back)}},{key:"errorSkinAnalyze",value:function(e){var t=this,n=this.gl;n.dom.elPreviewImage.boxrelative.innerHTML="";var r='<div style="position: relative"><img class="image_face_preview" src="'+this.image+'" style="width: auto; height: '+this.height+"px; max-height: "+this.height+'px; position: relative;"></div>';n.dom.elPreviewImage.preview=document.createElement("div"),n.dom.elPreviewImage.preview.innerHTML=r,n.dom.elPreviewImage.boxrelative.appendChild(n.dom.elPreviewImage.preview),new Hn(n,null,(function(){t.back()}),Gt.t("Error"),e,"",Gt.t("Re-take"))}},{key:"updateDimension",value:function(){var e=this.gl,t=this.co,n=Kt.getSizeFrame(e,t);this.width=n.width,this.height=n.height,e.dom.elPreviewImage&&e.dom.elPreviewImage.finalImage&&(e.dom.elPreviewImage.finalImage.style.height=this.height+"px",e.dom.elPreviewImage.finalImage.style.maxHeight=this.height+"px"),e.dom.elPreviewImage&&e.dom.elPreviewImage.preview.image&&(e.dom.elPreviewImage.preview.image.style.height=this.height+"px",e.dom.elPreviewImage.preview.image.style.maxHeight=this.height+"px")}},{key:"resizeBase64Img",value:function(e,t){return new Promise((function(t,n){var r=new Image;r.src=e,r.onload=function(){var n=r.width,i=r.height;if(n>1e3){var o=i/n;i=(n=1e3)*o;var a=document.createElement("canvas");a.width=n,a.height=i,a.getContext("2d").drawImage(r,0,0,n,i);var s=a.toDataURL("image/jpeg",.9);t(s)}else t(e)},r.onerror=function(e){n("Error loading convert image:",e)}}))}}])&&Hr(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function Vr(e){return Vr="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},Vr(e)}function $r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,(void 0,i=function(e,t){if("object"!==Vr(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==Vr(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===Vr(i)?i:String(i)),r)}var i}var Kr=function(){function e(t,n,r){var i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.gl=n,this.cnf=r,this.stepShow="",this.show=i,this.bottom=5,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this,t=this.gl,n=this.cnf;if(console.log(n.displayModel),!this.show)return null;var r=5,i=document.createElement("div");Kt.setAttrs(i,{style:"position: absolute; bottom: "+r+"px; left: 0px; right: 0px; text-align: center; font-size: 10px; color: #ffffffa8; z-index: 999999999;text-shadow: 0px 1px 0px #00000075;"}),i.innerHTML=Gt.t("Powered by")+' <a href="https://getfaceage.com/" target="_blank" style="color: #ffffffa8; text-decoration: none">Face Age</a>',this.el.appendChild(i),"widget"===n.displayModel&&setInterval((function(){if(e.stepShow!==t.stepShow){switch(t.stepShow){case"intro":r=45;break;case"quiz":r=50;break;default:r=5}i.style.bottom=r+"px",e.stepShow=t.stepShow}}),100)}}])&&$r(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function Zr(e){return Zr="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},Zr(e)}function Xr(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,ei(r.key),r)}}function Qr(e,t,n){return(t=ei(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ei(e){var t=function(e,t){if("object"!==Zr(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==Zr(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===Zr(t)?t:String(t)}var ti=function(){function e(t,n,r){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Qr(this,"loading",!1),Qr(this,"width",360),Qr(this,"height",480),this.ctx=n,this.pv=r,this.w=n.w,this.el=t,this.onSet=i,this.updateDimension=this.updateDimension.bind(this),this.handleSubmit=this.handleSubmit.bind(this),this.handleBack=this.handleBack.bind(this),this.restart=this.restart.bind(this),this.callBack=this.callBack.bind(this),this.getCurrentDimension=this.getCurrentDimension.bind(this),this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this,t=this.w.globals,n=this.w.config;this.screenSize=this.getCurrentDimension(),this.updateDimension(),t.dom.elIframe.contentWindow.addEventListener("resize",this.updateDimension),t.dom.elFace=document.createElement("div"),Kt.setAttrs(t.dom.elFace,{id:"analyzer_box",class:"face_age",style:"position: relative; display: flex; align-items: center; height: 100%; "}),t.stepShow="upload",t.dom.elFace.analyzer=document.createElement("div"),Kt.setAttrs(t.dom.elFace.analyzer,{id:"face_age_analyzer",class:"talosFaceSkin",style:"width: "+this.width+"px; height: "+this.height+"px; background-color: #fff"}),this.showAnalyzer(t,n),"modal"===n.displayModel?(new dn(t.dom.elFace,this.ctx,this.pv,null,(function(){t.dom.elFace.remove(),"preview"===t.stepShow?(t.imageWebCam=null,new ii(t.dom.docIframe,e.ctx,e.pv)):(t.intro=!0,n.intro=!0,t.imageWebCam=null,new ii(t.dom.docIframe,e.ctx,e.pv))})),Kt.setAttrs(t.dom.elFace,{style:"height: 100%;display: flex;flex-direction: column;flex: 1 1 0%;overflow: hidden auto;align-self: center;"}),t.dom.elFaceModal=document.createElement("div"),Kt.setAttrs(t.dom.elFaceModal,{class:"face_age_mo_main",style:"position: relative; display: flex; align-items: center; height: 100%; "}),t.dom.elFaceModal.appendChild(t.dom.elFace.analyzer),t.dom.elFace.appendChild(t.dom.elFaceModal)):t.dom.elFace.appendChild(t.dom.elFace.analyzer),this.el.appendChild(t.dom.elFace)}},{key:"showAnalyzer",value:function(e,t){e.dom.elFace.analyzer.innerHTML="",!t.showCamera||e.activeInput&&"camera"!==e.activeInput?this.showUpload(e.dom.elFace.analyzer,e,t):this.showWebCam(e.dom.elFace.analyzer,e,t)}},{key:"showWebCam",value:function(e,t,n){var r=this;if(t.dom.webcamShow=new Nn(e,t,n,this.width,this.height,this.handleSubmit,this.handleBack,this.loading),n.showUpload){t.dom.showUploadAction=document.createElement("div"),Kt.setAttrs(t.dom.showUploadAction,{class:"faceAction"});var i="modal"!==n.displayModel?'<button class="FaceButtonBase-root FaceBackMode FaceIconButton-root" tabindex="0" type="button"><span class="FaceIconButton-label"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M20 11H7.83L13.42 5.41L12 4L4 12L12 20L13.41 18.59L7.83 13H20V11Z" fill="#6B7280"/></svg></span><span class="FaceTouchRipple-root"></span></button>':"";t.dom.showUploadAction.innerHTML=i+'<button class="FaceButtonBase-root FaceChangeMode FaceIconButton-root" tabindex="0" type="button"><span class="FaceIconButton-label"><svg viewBox="0 0 24 24" fill="currentColor" style="width: 24px; height: 24px;"><path d="M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4.86 8.86-3 3.87L9 13.14 6 17h12l-3.86-5.14z"></path></svg></span><span class="FaceTouchRipple-root"></span></button>',e.appendChild(t.dom.showUploadAction);var o=e.querySelector(".FaceChangeMode"),a=e.querySelector(".FaceBackMode");o.addEventListener("click",(function(){e.innerHTML="",t.imageWebCam=null,t.activeInput="upload",r.showAnalyzer(t,n)})),a&&a.addEventListener("click",(function(){e.innerHTML="",t.imageWebCam=null,t.skinAnalyzeData=[],t.dom.elFace.remove(),t.intro=!0,n.intro=!0,new ii(t.dom.docIframe,r.ctx,r.pv)}))}}},{key:"showUpload",value:function(e,t,n){var r=this;if(new $n(e,t,n,this.width,this.height,this.handleSubmit,this.handleBack,this.loading),n.showCamera){t.dom.showCameraAction=document.createElement("div"),Kt.setAttrs(t.dom.showCameraAction,{class:"faceAction"});var i="modal"===n.displayModel||n.showUpload?"":'<button class="FaceButtonBase-root FaceBackMode FaceIconButton-root" tabindex="0" type="button"><span class="FaceIconButton-label"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M20 11H7.83L13.42 5.41L12 4L4 12L12 20L13.41 18.59L7.83 13H20V11Z" fill="#6B7280"/></svg></span><span class="FaceTouchRipple-root"></span></button>';t.dom.showCameraAction.innerHTML=i+'<button class="FaceButtonBase-root FaceChangeWebcamMode FaceIconButton-root" tabindex="0" type="button"><span class="FaceIconButton-label"><svg viewBox="0 0 24 24" fill="currentColor" style="width: 24px; height: 24px;"><path d="M20 4h-3.17L15 2H9L7.17 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 14H4V6h4.05l1.83-2h4.24l1.83 2H20v12zM12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zm0 8c-1.65 0-3-1.35-3-3s1.35-3 3-3 3 1.35 3 3-1.35 3-3 3z"></path></svg></span><span class="FaceTouchRipple-root"></span></button>',e.appendChild(t.dom.showCameraAction);var o=e.querySelector(".FaceChangeWebcamMode"),a=e.querySelector(".FaceBackMode");o.addEventListener("click",(function(){e.innerHTML="",t.activeInput="camera",r.showAnalyzer(t,n)})),a&&a.addEventListener("click",(function(){t.dom.elFace.remove(),t.imageWebCam=null,t.skinAnalyzeData=[],r.el.innerHTML="",t.intro=!0,n.intro=!0,new ii(t.dom.docIframe,r.ctx,r.pv)}))}}},{key:"handleBack",value:function(){var e=this.w.globals,t=this.w.config;e.imageWebCam=null,this.showAnalyzer(e,t)}},{key:"handleSubmit",value:function(e){var t=this.w.globals;t.dom.elFace.analyzer.innerHTML="",t.stepShow="preview",new Jr(t.dom.elFace.analyzer,this.ctx,this.pv,e,this.width,this.height,this.restart,this.callBack)}},{key:"restart",value:function(){var e=this.w.globals;e.imageWebCam=null,e.skinAnalyzeData=[];var t=this.pv.getValue();this.el.innerHTML="",this.onSet&&this.onSet(),this.render(),this.showFaceAge(t.copyRight)}},{key:"callBack",value:function(e){var t=this.w.globals;e&&t.skinAnalyzeData&&this.onSet&&this.onSet(t.skinAnalyzeData)}},{key:"getCurrentDimension",value:function(){return{width:"undefined"==typeof window?0:window.innerWidth,height:"undefined"==typeof window?0:window.innerHeight}}},{key:"updateDimension",value:function(){var e=this.w.globals,t=this.w.config,n=Kt.getSizeFrame(e,t);this.width=n.width,this.height=n.height,"widget"===t.displayModel&&(e.dom.elIframe.style.height=this.height+"px"),e.dom.elFace&&e.dom.elFace.analyzer&&(e.dom.elFace.analyzer.style.width=this.width+"px",e.dom.elFace.analyzer.style.height=this.height+"px")}},{key:"showFaceAge",value:function(e){var t=this.w.globals,n=this.w.config;new Kr(t.dom.docIframe,t,n,e)}}])&&Xr(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function ni(e){return ni="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},ni(e)}function ri(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,(void 0,i=function(e,t){if("object"!==ni(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==ni(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===ni(i)?i:String(i)),r)}var i}var ii=function(){function e(t,n,r){var i;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.ctx=n,this.pv=r,this.w=n.w,this.gl=n.w.globals,this.valus=null!==(i=this.gl.formData)&&void 0!==i?i:{},this.required=[],this.render()}var t,n;return t=e,n=[{key:"render",value:function(){var e=this,t=this.el,n=this.w.globals,r=this.w.config;if(Object.keys(this.valus).length<=0&&r.defaultQuiz&&Xt().map(r.defaultQuiz,(function(t,n){e.valus[n]=t})),n.formPages){var i=!1;n.formPages.map((function(e){"imageAnalysis"===e.name&&(i=!0)})),i||n.formPages.push({name:"imageAnalysis"})}else n.formPages=[{name:"imageAnalysis"}];r.quiz?(n.dom.elForm=document.createElement("div"),Kt.setAttrs(n.dom.elForm,{class:"face_age_form "+r.displayModel,style:"height: 100%;display: flex;flex-direction: column;flex: 1 1 0%;overflow: hidden auto;align-self: center; background-position: center;background-size: cover; border-radius: 14px;"}),t.appendChild(n.dom.elForm),this.showQuiz(n.activeQuiz)):this.showFaceSkin()}},{key:"showQuiz",value:function(){var t=this,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,r=this.w.globals,i=this.w.config,o=r.formPages[n];if(!o)return null;if("imageAnalysis"===o.name)return r.dom.elForm.remove(),this.showFaceSkin(),(!o.content||!o.content.elements&&o.content.elements.length<=0)&&r.getActiveSelections&&r.getActiveSelections(r.formData),null;if(r.stepShow="quiz",o.if&&o.if.key&&o.if.condition&&o.if.value&&!this.checkIf(this.valus[o.if.key],o.if.condition,o.if.value))return this.onSubmit(o),null;var a=o.title?'<div class="title">'+Gt.t(o.title)+"</div>":"",s=(o.content&&o.content.elements,"");this.required=[],o.content.actions&&o.content.actions.map((function(e){s+='<div role="button" width="fullWidth" class="sc-1x1y2bq-3 bLwrg '+("goToNext"===e.onAction?"disabale":"")+" "+e.onAction+'">'+Gt.t(e.label)+"</div>"}));var l='<div class="form_window"><div class="toolbar"></div><div class="box_title">'+("modal"!==i.displayModel?'<div class="goBack"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M15.56 5.15999L13.2 2.79999L0 16L13.2 29.2L15.56 26.84L4.72 16L15.56 5.15999Z" fill="black"/></svg></div>':"")+a+'</div><div class="elements"></div><div class="action"><div class="sc-1x1y2bq-2 sc-1kkf162-1 dZaMnF lbSetf">'+s+"</div></div></div>",c="auto 0px";switch(o.position){case"top":c="10px auto";break;case"center":c="auto 0px";break;case"bottom":c="auto auto 15px"}r.dom.elForm.box=document.createElement("div"),Kt.setAttrs(r.dom.elForm.box,{style:"width: 100%;"+("widget"!==i.displayModel?"margin: "+c+";":"")}),r.dom.elForm.box.innerHTML=l,r.dom.elForm.elements=r.dom.elForm.box.getElementsByClassName("elements")[0],r.dom.elForm.goBack=r.dom.elForm.box.querySelector(".goBack");var u=!0;o.content&&o.content.elements&&o.content.elements.map((function(e){if(e.if&&e.if.key&&e.if.condition&&e.if.value&&!t.checkIf(t.valus[e.if.key],e.if.condition,e.if.value))return!1;e.required&&t.required.push(e.name),e.required&&!t.valus[e.name]&&(u=!1),new Fr(r.dom.elForm.elements,r,e,t.valus,(function(e,n){return t.setData(e,n)}))})),r.dom.elForm.toolbar=r.dom.elForm.box.getElementsByClassName("toolbar")[0],r.dom.elForm.toolbar&&(0!==r.activeQuiz||r.formPages.length>=r.activeQuiz)&&(r.dom.elForm.back=document.createElement("div"),Kt.setAttrs(r.dom.elForm.back,{class:"back;"}),r.dom.elForm.toolbar.appendChild(r.dom.elForm.back)),r.dom.elForm.box.getElementsByClassName("goToNext")&&(r.dom.elForm.goToNext=r.dom.elForm.box.getElementsByClassName("goToNext")[0],r.dom.elForm.goToNext&&(this.required.length<=0&&r.dom.elForm.goToNext.classList.remove("disabale"),r.dom.elForm.goToNext.addEventListener("click",(function(e){t.onSubmit(o)}))),r.dom.elForm.goToNext&&u&&r.dom.elForm.goToNext.classList.remove("disabale")),r.dom.elForm.box.getElementsByClassName("goToSkip")&&(r.dom.elForm.goToSkip=r.dom.elForm.box.getElementsByClassName("goToSkip")[0],r.dom.elForm.goToSkip&&r.dom.elForm.goToSkip.addEventListener("click",(function(e){}))),r.dom.elForm.box.getElementsByClassName("goToSkip")&&(r.dom.elForm.goToSkip=r.dom.elForm.box.getElementsByClassName("goToSkip")[0],r.dom.elForm.goToSkip&&r.dom.elForm.goToSkip.addEventListener("click",(function(n){r.dom.elForm.remove(),r.activeQuiz=r.activeQuiz+1,new e(r.dom.docIframe,t.ctx,t.pv)}))),r.dom.elForm.innerHTML="","modal"===i.displayModel?new dn(r.dom.elForm,this.ctx,this.pv,null,r.activeQuiz>0&&r.formPages.length>1?function(){r.dom.elForm.remove(),r.activeQuiz=r.activeQuiz-1>0?r.activeQuiz-1:0,new e(r.dom.docIframe,t.ctx,t.pv)}:null,r.activeQuiz>0):r.dom.elForm.goBack&&(r.activeQuiz>0&&r.formPages.length>1?r.dom.elForm.goBack.addEventListener("click",(function(n){r.dom.elForm.remove(),r.activeQuiz=r.activeQuiz-1>0?r.activeQuiz-1:0,new e(r.dom.docIframe,t.ctx,t.pv)})):r.dom.elForm.goBack.remove()),"widget"!==i.displayModel&&(o.background_color?r.dom.elForm.style.backgroundColor=o.background_color:r.dom.elForm.style.backgroundColor="",o.background_image?r.dom.elForm.style.backgroundImage='url("'+o.background_image+'")':r.dom.elForm.style.backgroundImage=""),r.dom.elForm.appendChild(r.dom.elForm.box)}},{key:"setData",value:function(e,t){var n=this,r=this.w.globals;if(this.valus[t]=e,r.dom.elForm.goToNext){var i=!0;this.required.map((function(e){n.valus[e]||(i=!1)})),i?r.dom.elForm.goToNext.classList.remove("disabale"):r.dom.elForm.goToNext.classList.add("disabale")}}},{key:"checkIf",value:function(e,t,n){switch(t){case"=":if(e===n)return!0;break;case"!=":if(e!==n)return!0}return!1}},{key:"onSubmit",value:function(e){var t=this,n=this.w.globals;if(this.required.length>0&&!this.required.find((function(e){return t.valus[e]})))return!1;e.content.elements.map((function(e){var t=n.dom.elForm.elements.querySelector('.el_box[data-name="'+e.name+'"]');if(t){var r=t.querySelector(".err");r&&r.remove()}}));var r=Dr(e.content.elements,this.valus);if(r)return r.map((function(e,t){Xt().map(e.errors,(function(e,t){var r=n.dom.elForm.elements.querySelector('.el_box[data-name="'+t+'"]');if(r){var i=document.createElement("p");Kt.setAttrs(i,{class:"err"}),i.innerText=e,r.appendChild(i)}}))})),!1;n.activeQuiz+=1,this.showQuiz(n.activeQuiz),n.formData=this.valus}},{key:"showFaceSkin",value:function(){var e=this,t=this.w.globals,n=this.w.config;t.dom.elForm&&t.dom.elForm.remove(),n.type,n.intro?(t.stepShow="intro",new bn(t.dom.docIframe,this.ctx,this.pv),t.dom.elInfo.btn.addEventListener("click",(function(r){if(t.stepShow="upload",!t.privacy)return null;t.dom.elInfo.btn.style.opacity="0.5",t.intro=!1,n.intro=!1,t.dom.elInfo.remove(),new ti(t.dom.docIframe,e.ctx,e.pv)}))):(t.intro=!1,n.intro=!1,new ti(t.dom.docIframe,this.ctx,this.pv));var r=t.formPages.find((function(e){return"imageAnalysis"===e.name}));r&&r.background_color?t.dom.docIframe.style.backgroundColor=r.background_color:t.dom.docIframe.style.backgroundColor="#ffe5f0;",r&&r.background_image?t.dom.docIframe.style.backgroundImage='url("'+r.background_image+'")':t.dom.docIframe.style.backgroundImage=""}},{key:"setCookie",value:function(e,t,n){var r=new Date;r.setTime(r.getTime()+24*n*60*60*1e3);var i="expires="+r.toUTCString();document.cookie=e+"="+t+";"+i+";path=/"}},{key:"getCookie",value:function(e){for(var t=e+"=",n=decodeURIComponent(document.cookie).split(";"),r=0;r<n.length;r++){for(var i=n[r];" "==i.charAt(0);)i=i.substring(1);if(0==i.indexOf(t))return i.substring(t.length,i.length)}return""}}],n&&ri(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function oi(e){return oi="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},oi(e)}function ai(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,si(r.key),r)}}function si(e){var t=function(e,t){if("object"!==oi(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==oi(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===oi(t)?t:String(t)}var li=function(){function e(t,n){var r,i;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),r=this,(i=si(i="showModel"))in r?Object.defineProperty(r,i,{value:false,enumerable:!0,configurable:!0,writable:!0}):r[i]=false,this.ctx=n,this.w=n.w,this.el=t,this.pv=new gn}var t,n;return t=e,(n=[{key:"setupElements",value:function(){var e=this.w.globals,t=this.w.config;t.type,t.arrTypes,e.faceClass=".faceAge-"+e.faceID,e.dom.elWrap=document.createElement("div"),Kt.setAttrs(e.dom.elWrap,{id:e.faceClass.substring(1),class:"faceAge-main-module "+e.faceClass.substring(1)}),"modal"===t.displayModel?(e.dom.elModalMain=document.createElement("div"),Kt.setAttrs(e.dom.elModalMain,{id:"face-age-plugin"}),e.dom.elModalButtonMessage=document.createElement("div"),Kt.setAttrs(e.dom.elModalButtonMessage,{id:"face-age-message-bubbles",style:"background-color: white;\n color: black;\n box-shadow: rgba(150, 150, 150, 0.2) 0px 10px 30px 0px, rgba(150, 150, 150, 0.2) 0px 0px 0px 1px;\n border-radius: 10px;\n padding: 15px;\n margin: 8px;\n font-size: 14px;\n opacity: 1;\n transform: scale(1);\n transition: opacity 0.5s, transform 0.5s;\n position: fixed;\n border-radius: 10px;\n font-family: sans-serif;\n z-index: 9998;\n cursor: pointer;\n flex-direction: column;\n gap: 50px;\n max-width: 70vw;\n display: block;\n right: auto;\n bottom: 89px;\n left: 15px; text-transform: capitalize; display: none;"}),e.dom.elModalButtonMessage.innerHTML='<div class="text">'+Gt.t("Skin Analysis")+"</div>",e.dom.elModalMain.appendChild(e.dom.elModalButtonMessage),e.dom.elModalButtonMessage.text=e.dom.elModalButtonMessage.querySelector(".text"),e.dom.elModalButton=document.createElement("button"),Kt.setAttrs(e.dom.elModalButton,{id:"face-age-button",style:"opacity: 0; display: none;"}),e.dom.elModalButton.innerHTML='<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 245.26 245.26">\n <defs>\n <style>\n .cls-5 {\n fill: #fff;\n }\n\n .cls-6 {\n stroke-width: 2px;\n }\n\n .cls-6, .cls-7 {\n fill: none;\n stroke-miterlimit: 10;\n }\n\n .cls-7 {\n stroke: #fff;\n }\n </style>\n </defs>\n <circle class="cls-1" cx="121.97" cy="123.39" r="121.42"/>\n <circle class="cls-1" cx="122.63" cy="122.63" r="122.63"/>\n <circle class="cls-7" cx="121.97" cy="123.39" r="107.34"/>\n <circle class="cls-7" cx="121.97" cy="123.39" r="114.38"/>\n <circle class="cls-7" cx="121.97" cy="123.39" r="99.42"/>\n <circle class="cls-7" cx="121.97" cy="123.39" r="91.5"/>\n <circle class="cls-7" cx="121.97" cy="123.39" r="83.58"/>\n <path class="cls-5" d="M84.54,239.14l1.53,.57,4.51,1.31,7.9,1.85,12.53,1.83,6.93,.46,3.76,.09,4.77-.06,4.65-.33c1.27-.07,2.54-.16,3.8-.27h.17s.11-.03,.11-.03c3.91-.36,7.8-.89,11.58-1.58,.19-.03,.37-.07,.56-.1h0c7.57-1.38,12.35-2.36,19.59-5.37,.67-.28,3.34-1.71,4-2-18.9-5.53-34.77-18.14-45.57-34.61,22.88,5.7,47.18,5.64,70.03-.17,.72-22.29,1.43-44.58,2.15-66.86,1.44-44.76-19.65-89.68-55-117.16-2.16,24.13-9.81,48.02-23.91,67.72-14.1,19.7-34.66,33.5-58.26,38.98,2.57-3.39,2.56-6.92,.31-10.53-2.25-3.61-6.83-5.6-11-4.78-4.24,.83-7.64,4.27-9.34,8.24s-1.92,8.43-1.65,12.74c.44,7.07,2.54,14.7,8.36,18.74,8.15,5.66,19.42,1.86,29.06,4.22,7.72,1.89,14.07,7.84,17.58,14.97,3.5,7.13,4.39,15.33,3.75,23.26-.62,7.71-2.94,15.38-6.51,22.48-4.29,8.54-10.38,16.27-17.49,22.28l.72,.27"/>\n <g>\n <path class="cls-1" d="M182.36,68.85c-4.09-2.6-9.86-2.41-13.22,.95-1.74,1.57-2.97,3.64-3.81,5.83-.84,2.21-1.35,4.54-1.63,6.91-.56,4.74-.22,9.54,.66,14.26,.86,4.73,2.08,9.42,3.5,14.04,1.38,4.64,2.99,9.2,4.6,13.81,.78,2.31,1.54,4.67,2.04,7.12,.52,2.44,.7,4.98,.52,7.47-.19,2.48-.59,4.97-1.52,7.33-.47,1.17-1.04,2.31-1.79,3.35s-1.65,1.94-2.65,2.71c-2.01,1.53-4.36,2.5-6.78,2.99-1.21,.25-2.44,.39-3.67,.37-1.23-.03-2.45-.2-3.63-.5,2.41,.41,4.86,.26,7.17-.38,2.31-.62,4.5-1.7,6.28-3.24,.89-.76,1.69-1.63,2.32-2.6,.64-.97,1.12-2.04,1.5-3.15,.76-2.22,1.09-4.59,1.19-6.96,.08-2.37-.15-4.72-.68-7.03-.52-2.31-1.3-4.59-2.11-6.86-1.65-4.56-3.3-9.17-4.72-13.85-1.4-4.69-2.62-9.44-3.45-14.3-.8-4.85-1.12-9.88-.34-14.79,.38-2.45,.96-4.89,1.96-7.2,1-2.29,2.41-4.47,4.38-6.08,.97-.8,2.07-1.47,3.27-1.89,1.19-.43,2.45-.6,3.69-.61,1.24,.01,2.48,.19,3.65,.58,1.2,.4,2.3,.98,3.27,1.72Z"/>\n <path class="cls-1" d="M164,104.51c1.82-1.19,3.81-2.08,5.85-2.81,2.04-.74,4.15-1.26,6.27-1.66,2.13-.37,4.28-.62,6.44-.66,2.16-.06,4.32,.03,6.46,.4-2.12,.47-4.22,.81-6.32,1.15-2.09,.36-4.17,.69-6.24,1.08-2.08,.35-4.13,.78-6.21,1.19-2.05,.42-4.12,.89-6.25,1.31Z"/>\n </g>\n <path class="cls-1" d="M142.64,16.5c-1.02,23.41-6.03,49.01-20.74,67.79-14.72,18.77-38.1,31.07-61.36,38.66,3.42-6.35,.84-13.15-6.63-13.73-7.35-.57-13.66,6.01-14.83,12.96-1.17,6.93,1.52,13.92,4.7,20.26,1.29,2.56,2.74,5.16,5.07,6.93,6.08,4.63,14.96,1.79,22.72,2.37,10.2,.76,19.08,8.09,23.11,17.06,4.03,8.96,3.77,19.28,1.26,28.73-2.52,9.46-7.15,18.27-11.75,27-1.67,3.16-2.34,9.12-5.74,10.49-5.16,2.07-14.18-3.42-20.27-8.23C8.03,187.2-17.79,108.26,20.01,52.51,38.87,24.69,72.04,2.94,107.51,4.91c4.74,.26,9.45,1.02,14.01,2.35,8.95,2.62,12.87,3.72,21.12,9.24"/>\n <g>\n <line class="cls-6" x1="26.69" y1="177.24" x2="112.73" y2="152.19"/>\n <path class="cls-6" d="M50.65,192.49c4.76-1.59,9.52-3.17,14.28-4.76,3.63-1.21,7.26-2.42,10.9-3.63,2.21-.74,6.3-2.95,8.56-2.12,5.13,1.88,10.24,3.79,15.36,5.67,2.63,.97,3.92,1.7,6.56,.78,9.76-3.38,19.53-6.73,29.29-10.1"/>\n <path class="cls-6" d="M38.67,155.46c4.82-1.39,9.64-2.77,14.47-4.16,3.68-1.06,7.36-2.11,11.04-3.17,2.24-.64,6.86-1.13,8.26-3.1,3.17-4.45,6.3-8.92,9.46-13.37,1.62-2.29,2.27-3.62,4.96-4.36,9.96-2.73,19.91-5.5,29.87-8.25"/>\n </g>\n <circle class="cls-5" cx="26.59" cy="177.17" r="2.72"/>\n <circle class="cls-5" cx="50.75" cy="192.44" r="2.72"/>\n <circle class="cls-5" cx="38.67" cy="155.51" r="2.72"/>\n <path class="cls-5" d="M88.45,240l-15-5c11-1,24-44.75,24-44.75h0c3.67,3.92,7.33,7.84,11,11.75"/>\n <polyline class="cls-5" points="112.45 243 142.64 243.62 135.8 244.5 130.66 245.02 125.15 245.25 114.18 244.96 105.95 244.13 99.35 243 95.23 242.23 92.32 241.47"/>\n</svg>',e.dom.elModalButton.addEventListener("click",(function(t){e.dom.elModalFace.classList.add("is-open")})),e.dom.elModalButtonMessage.addEventListener("click",(function(t){e.dom.elModalFace.classList.add("is-open")})),e.dom.elModalMain.appendChild(e.dom.elModalButton),e.dom.elModalFace=document.createElement("div"),Kt.setAttrs(e.dom.elModalFace,{id:"face-age-modal","aria-hidden":"false"}),e.dom.elModalOverlay=document.createElement("div"),Kt.setAttrs(e.dom.elModalOverlay,{id:"face-age-overlay"}),Kt.setAttrs(e.dom.elWrap,{class:"face-age-dialog faceAge-main-module "+e.faceClass.substring(1),role:"dialog"}),e.dom.elModalOverlay.appendChild(e.dom.elWrap),e.dom.elModalFace.appendChild(e.dom.elModalOverlay),e.dom.elModalMain.appendChild(e.dom.elModalFace),this.el.appendChild(e.dom.elModalMain),this.setCustomModalCss()):this.el.appendChild(e.dom.elWrap),this.setIframe(),this.authorize()}},{key:"setIframe",value:function(){var e,t,n=this.w.globals,r=this.w.config;"widget"===r.displayModel?-1===(e=r.iframeWidth||n.iframeWidth).indexOf("%")?t=parseInt(e)/3*4+"px":(t=n.dom.elWrap.clientWidth*(parseInt(e)/100)/3*4+"px")<320&&(t=320):"section"===r.displayModel?(e="100%",t=r.iframeHeight||n.iframeHeight):(e="100%",t="100%"),n.dom.elIframe=document.createElement("iframe"),Kt.setAttrs(n.dom.elIframe,{id:"FaceAge-module-iframe",title:"Face Age Skincare Advisor",allow:"geolocation *; microphone *; camera *",style:"modal"!==r.displayModel?"border: 0px; margin: 0px; padding: 0px; min-width: "+e+"; min-height: "+t+"; overflow: hidden; position: relative; z-index: 1; opacity: 0;":"border: 0px; margin: 0px; padding: 0px; width: "+e+"; height: "+t+"; overflow: hidden; position: relative; z-index: 1; opacity: 0; border: none; background: transparent;"}),n.dom.elWrap.appendChild(n.dom.elIframe),n.dom.docIframe=n.dom.elIframe.contentDocument.body,n.dom.headIframe=n.dom.elIframe.contentDocument.head,Kt.setAttrs(n.dom.docIframe,{id:"faceAge-module-body",class:r.displayModel,style:"margin:0;padding:0;overflow:hidden;"+("widget"!==r.displayModel?"background-color: #fff;":"")});var i=document.createElement("meta");i.name="viewport",i.content="width=device-width, initial-scale=1.0",n.dom.headIframe.appendChild(i);var o=document.createElement("link");o.id="inter-font",o.rel="stylesheet",o.type="text/css",o.media="all",o.href="https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap",n.dom.headIframe.appendChild(o);var a=document.createElement("link");a.id="roboto-mono-font",a.rel="stylesheet",a.type="text/css",a.media="all",a.href="https://fonts.googleapis.com/css?family=Roboto+Mono|Roboto+Slab|Roboto:300,400,500,700&display=optional",n.dom.headIframe.appendChild(a);var s=document.createElement("link");s.rel="stylesheet",s.href="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css",n.dom.headIframe.appendChild(s);var l=document.createElement("link");l.id="face-age-css",l.rel="stylesheet",l.type="text/css",l.media="all",l.href="https://static.getfaceage.com/v2.0/faceage.css",n.dom.headIframe.appendChild(l);var c=document.createElement("script");c.src="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.js",n.dom.headIframe.appendChild(c);var u=document.createElement("script");u.src="https://cdn.jsdelivr.net/npm/chart.js",n.dom.headIframe.appendChild(u),n.dom.elIframe.contentDocument.getElementById("face-age-css").addEventListener("load",(function(){n.dom.elIframe.style.opacity=1})),n.dom.docIframe.loader=document.createElement("div"),n.dom.docIframe.loader.innerHTML='<div class="face_age"><div class="loading_request" style="background: transparent"><div class="FaceCircularProgress-root FaceCircularProgress-colorPrimary FaceCircularProgress-indeterminate" role="progressbar" style="width: 40px; height: 40px; color: #000"><svg class="FaceCircularProgress-svg" viewBox="22 22 44 44"><circle class="FaceCircularProgress-circle FaceCircularProgress-circleIndeterminate" cx="44" cy="44" r="20.2" fill="none" stroke-width="3.6"></circle></svg></div></div></div>',n.dom.docIframe.appendChild(n.dom.docIframe.loader)}},{key:"setElements",value:function(){var e,t,n,r,i,o,a,s,l,c,u,d,h,p,m,f,g,y,v,b,k,w,S,C,P,A,x,T,R,E,_,I,F,L,O,M,D,G,B,N,j=this.w.globals,z=this.w.config,W=this.pv.getValue();z.type,new ii(j.dom.docIframe,this.ctx,this.pv),this.showFaceAge(W.copyRight);var U=document.createElement("style");U.id="face-age-css-root",U.rel="stylesheet",U.type="text/css",U.media="all";var H=":root {\n --background: "+(null!==(e=null===(t=j.customTemplate)||void 0===t?void 0:t.background)&&void 0!==e?e:"#F9FAFC")+";\n --color: "+(null!==(n=null===(r=j.customTemplate)||void 0===r?void 0:r.color)&&void 0!==n?n:"#000")+";\n --divider: "+(null!==(i=null===(o=j.customTemplate)||void 0===o?void 0:o.color)&&void 0!==i?i:"#E6E8F0")+";\n --basic: "+(null!==(a=null===(s=j.customTemplate)||void 0===s?void 0:s.base_color)&&void 0!==a?a:"rgba(239, 55, 134);")+";\n --error: "+(null!==(l=null===(c=j.customTemplate)||void 0===c?void 0:c.error)&&void 0!==l?l:"#da005c")+";\n --basic_action: "+(null!==(u=null===(d=j.customTemplate)||void 0===d?void 0:d.basic_action_color)&&void 0!==u?u:"rgb(239, 55, 134)")+";\n --color_action: "+(null!==(h=null===(p=j.customTemplate)||void 0===p?void 0:p.basic_action_text)&&void 0!==h?h:"#fff")+";\n --submit_action: "+(null!==(m=null===(f=j.customTemplate)||void 0===f?void 0:f.submit_action_color)&&void 0!==m?m:"rgb(8, 211, 144)")+";\n --circle_action: "+(null!==(g=null===(y=j.customTemplate)||void 0===y?void 0:y.circle_action)&&void 0!==g?g:"#fff")+";\n --color_circle_action: "+(null!==(v=null===(b=j.customTemplate)||void 0===b?void 0:b.color_circle_action)&&void 0!==v?v:"#000")+";\n --base_border_radius: "+(null!==(k=null===(w=j.customTemplate)||void 0===w?void 0:w.base_border_radius)&&void 0!==k?k:"40px")+";\n --base_border: "+(null!==(S=null===(C=j.customTemplate)||void 0===C?void 0:C.base_border)&&void 0!==S?S:"#ccc")+";\n --quiz_input_color: "+(null!==(P=null===(A=j.customTemplate)||void 0===A?void 0:A.quiz_input_color)&&void 0!==P?P:"rgb(200 200 200)")+";\n --background_upload_color: "+(null!==(x=null===(T=j.customTemplate)||void 0===T?void 0:T.background_upload_color)&&void 0!==x?x:"#fff0fb")+";\n --accepted_status: "+(null!==(R=null===(E=j.customTemplate)||void 0===E?void 0:E.position_accepted_status_color)&&void 0!==R?R:"rgb(8, 211, 144)")+";\n --not_accepted_status: "+(null!==(_=null===(I=j.customTemplate)||void 0===I?void 0:I.position_not_accepted_status_color)&&void 0!==_?_:"rgb(239, 55, 134)")+";\n --product_shadow: "+(null!==(F=null===(L=j.customTemplate)||void 0===L?void 0:L.product_shadow)&&void 0!==F?F:"0")+";\n --product_border: "+(null!==(O=null===(M=j.customTemplate)||void 0===M?void 0:M.product_border)&&void 0!==O?O:"rgb(200 200 200)")+";\n --product_padding: "+(null!==(D=null===(G=j.customTemplate)||void 0===G?void 0:G.product_padding)&&void 0!==D?D:"10")+";\n --product_action: "+(null!==(B=null===(N=j.customTemplate)||void 0===N?void 0:N.product_action_color)&&void 0!==B?B:"rgb(239, 55, 134)")+";\n}";U.styleSheet?U.styleSheet.cssText=H:U.appendChild(document.createTextNode(H)),j.dom.headIframe.appendChild(U)}},{key:"authorize",value:function(){var e,t=this,n=this.w.config.faceageId,r=this.w.globals,i=this.w.config;null===(e=Ze.request("post","authorize",{faceageId:n}))||void 0===e||e.then((function(e){var o,a;if(r.faceageId=n,r.authorize=e.data.data,r.formPages=[],r.customTemplate=null!==(o=e.data.data.template)&&void 0!==o?o:[],e.data.data.problems&&e.data.data.problems.length>0&&(r.problems=null!==(a=e.data.data.problems)&&void 0!==a?a:[]),e.data&&e.data.data.pages&&e.data.data.pages.map((function(e){"skincare"===i.type&&"skin_analyzer"===e.data.name&&(r.formPages=e.quiz)})),r.dom.docIframe.loader.remove(),t.pv.setValue("copyRight",!0),t.pv.setValue("license",!0),e.data.data.translation&&e.data.data.translation.length>0&&e.data.data.translation.map((function(e){var t={};e.words&&e.words.map((function(e){_.map(e,(function(e,n){n&&n.length>0&&e&&e.length>0&&(t[n]=e)}))})),Gt.addResources(e.lang,"translation",t)})),"modal"===i.displayModel){var s,l,c,u,d,h,p,m,f,g,y,v,b,k,w,S,C,P,A;r.dom.elModalButton.style.opacity=1,r.dom.elModalButton.style.display="block",r.authorize.name&&(r.dom.elModalButtonMessage.text.innerHTML=r.authorize.name+" "+Gt.t("Skin Analysis")),localStorage.getItem("face_message_modal")||setTimeout((function(){r.dom.elModalButtonMessage.style.display="block",localStorage.setItem("face_message_modal","true")}),2e3),r.dom.elModalButton.style.backgroundColor=null!==(s=null===(l=r.customTemplate)||void 0===l?void 0:l.base_color)&&void 0!==s?s:"rgba(239, 55, 134);",r.dom.elIframe.clientWidth>768?(r.dom.elModalButton.style.left=(null!==(u=null===(d=r.customTemplate)||void 0===d?void 0:d.position_show_desktop_tool_left_distance)&&void 0!==u?u:"24")+"px",r.dom.elModalButton.style.bottom=(null!==(h=null===(p=r.customTemplate)||void 0===p?void 0:p.position_show_desktop_tool_button_distance)&&void 0!==h?h:"24")+"px",r.dom.elModalButtonMessage.style.left=(null!==(m=(null===(f=r.customTemplate)||void 0===f?void 0:f.position_show_desktop_tool_left_distance)-9)&&void 0!==m?m:"15")+"px",r.dom.elModalButtonMessage.style.bottom=(null!==(g=(null===(y=r.customTemplate)||void 0===y?void 0:y.position_show_desktop_tool_button_distance)+65)&&void 0!==g?g:"89")+"px"):(r.dom.elModalButton.style.left=(null!==(v=null===(b=r.customTemplate)||void 0===b?void 0:b.position_show_mobile_tool_left_distance)&&void 0!==v?v:"24")+"px",r.dom.elModalButton.style.bottom=(null!==(k=null===(w=r.customTemplate)||void 0===w?void 0:w.position_show_mobile_tool_button_distance)&&void 0!==k?k:"24")+"px",r.dom.elModalButtonMessage.style.left=(null!==(S=(null===(C=r.customTemplate)||void 0===C?void 0:C.position_show_mobile_tool_left_distance)-9)&&void 0!==S?S:"15")+"px",r.dom.elModalButtonMessage.style.bottom=(null!==(P=(null===(A=r.customTemplate)||void 0===A?void 0:A.position_show_mobile_tool_button_distance)+65)&&void 0!==P?P:"89")+"px"),null!==(c=r.customTemplate)&&void 0!==c&&c.tools_icon&&(r.dom.elModalButton.innerHTML='<img alt="'+Gt.t("Skin Analysis")+'" src="'+r.customTemplate.tools_icon+'" />');var x=r.dom.elModalButton.querySelectorAll(".cls-1"),T=r.dom.elModalButton.querySelectorAll(".cls-6");x&&x.forEach((function(e){var t,n;e.style.fill=null!==(t=null===(n=r.customTemplate)||void 0===n?void 0:n.base_color)&&void 0!==t?t:"rgba(239, 55, 134);"})),T&&T.forEach((function(e){var t,n;e.style.stroke=null!==(t=null===(n=r.customTemplate)||void 0===n?void 0:n.base_color)&&void 0!==t?t:"rgba(239, 55, 134);"}))}t.setElements()})).catch((function(e){if(e.response&&e.response.data.message&&422===e.response.status){if(e.response.data.errors){var t=e.response.data.errors;Object.keys(t).forEach((function(e){if(t[e][0]){var n='<div class="face_age"><div class="loading_request" style="background: transparent">'+t[e][0]+"</div></div>";r.dom.docIframe.loader.innerHTML=n,console.error(t[e][0])}else{var i='<div class="face_age"><div class="loading_request" style="background: transparent">'+t[e]+"</div></div>";r.dom.docIframe.loader.innerHTML=i,console.error(t[e])}}))}else{var n='<div class="face_age"><div class="loading_request" style="background: transparent">'+e.response.data.message+"</div></div>";r.dom.docIframe.loader.innerHTML=n,console.error(e.response.data.message)}"modal"===i.displayModel&&(r.dom.elModalButton.style.opacity=1)}else{var o=null!=e&&e.message?Gt.t(null==e?void 0:e.message):Gt.t("An error occurred, please check again"),a='<div class="face_age"><div class="loading_request" style="background: transparent">'+o+"</div></div>";r.dom.docIframe.loader.innerHTML=a,console.error(o)}}))}},{key:"showFaceAge",value:function(e){var t=this.w.globals,n=this.w.config;new Kr(t.dom.docIframe,t,n,e)}},{key:"setCustomModalCss",value:function(){this.w.globals;var e=document.createElement("style");e.id="face-age-styles",e.rel="stylesheet",e.type="text/css",e.media="all";var t='#face-age-button .cls-1{fill: #FB398D} #face-age-button .cls-6{stroke: #FB398D} #face-age-modal{display:none}#face-age-modal.is-open{display:block}#face-age-overlay{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;justify-content:center;align-items:center;z-index:9999;background:rgba(0,0,0,0.2);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);will-change:opacity}.face-age-dialog{margin:0;padding:0;overflow:hidden;background-color:#333;width:100%;height:100%;will-change:transform}#face-age-modal[aria-hidden="false"] #face-age-overlay{-webkit-animation:rv-mmfadeIn .3s cubic-bezier(0,0,0.2,1);animation:rv-mmfadeIn .3s cubic-bezier(0,0,0.2,1)}#face-age-modal[aria-hidden="true"] #face-age-overlay{-webkit-animation:rv-mmfadeOut .25s cubic-bezier(0.4,0,1,1);animation:rv-mmfadeOut .25s cubic-bezier(0.4,0,1,1)}#face-age-modal[aria-hidden="false"] .face-age-dialog{-webkit-animation:rv-mmscaleInN .3s cubic-bezier(0,0,0.2,1);animation:rv-mmscaleInN .3s cubic-bezier(0,0,0.2,1)}#face-age-modal[aria-hidden="true"] .face-age-dialog{-webkit-animation:rv-mmscaleOutN .25s cubic-bezier(0.4,0,1,1);animation:rv-mmscaleOutN .25s cubic-bezier(0.4,0,1,1)}@media (min-width: 768px){.face-age-dialog{width:90%;height:90%;box-shadow:0 16px 24px 2px rgba(0,0,0,0.14),0 6px 30px 5px rgba(0,0,0,0.12),0 8px 10px -5px rgba(0,0,0,0.2);max-width:1140px;max-height:800px;border-radius:10px}#face-age-modal[aria-hidden="false"] .face-age-dialog{-webkit-animation:rv-mmslideIn .3s cubic-bezier(0,0,0.2,1);animation:rv-mmslideIn .3s cubic-bezier(0,0,0.2,1)}#face-age-modal[aria-hidden="true"] .face-age-dialog{-webkit-animation:rv-mmslideOut .25s cubic-bezier(0.4,0,1,1);animation:rv-mmslideOut .25s cubic-bezier(0.4,0,1,1)}}#face-age-button{opacity: 0;width:60px;height:60px;box-shadow:none;border-style:none;top:auto;right:auto;bottom:24px;position:fixed;border-radius:50%;background-color:rgba(239,55,134);left:24px;color:#FFF;margin:0;padding:0;z-index:9998;will-change:opacity;cursor:pointer;text-align:center;display:flex;align-items:center;justify-content:center}#face-age-button > img{max-height:100%;max-width:100%;box-sizing:border-box}#face-age-button:hover{opacity:.9}@-webkit-keyframes rv-mmfadeIn{0%{opacity:0}to{opacity:1}}@keyframes rv-mmfadeIn{0%{opacity:0}to{opacity:1}}@-webkit-keyframes rv-mmfadeOut{0%{opacity:1}to{opacity:0}}@keyframes rv-mmfadeOut{0%{opacity:1}to{opacity:0}}@-webkit-keyframes rv-mmslideIn{0%{-webkit-transform:translateY(-25%);transform:translateY(-25%)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes rv-mmslideIn{0%{-webkit-transform:translateY(-25%);transform:translateY(-25%)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes rv-mmslideOut{0%{-webkit-transform:translateY(0);transform:translateY(0)}to{-webkit-transform:translateY(15%);transform:translateY(15%)}}@keyframes rv-mmslideOut{0%{-webkit-transform:translateY(0);transform:translateY(0)}to{-webkit-transform:translateY(15%);transform:translateY(15%)}}@-webkit-keyframes rv-mmscaleOutN{0%{-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:0 100%;transform-origin:0 100%}to{-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transform-origin:0 100%;transform-origin:0 100%}}@keyframes rv-mmscaleOutN{0%{-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:0 100%;transform-origin:0 100%}to{-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transform-origin:0 100%;transform-origin:0 100%}}@-webkit-keyframes rv-mmscaleInN{0%{-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transform-origin:0 100%;transform-origin:0 100%}to{-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:0 100%;transform-origin:0 100%}}@keyframes rv-mmscaleInN{0%{-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transform-origin:0 100%;transform-origin:0 100%}to{-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:0 100%;transform-origin:0 100%}}#face-age-button > img{display:block;padding:10px}#face-age-button > span{display:none;writing-mode:inherit}@media (min-width: 768px){#face-age-button > img{display:none;padding:10px}#face-age-button > span{display:block;writing-mode:vertical-rl}}';e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t)),document.head.appendChild(e)}}])&&ai(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function ci(e){return ci="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},ci(e)}function ui(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,di(r.key),r)}}function di(e){var t=function(e,t){if("object"!==ci(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==ci(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===ci(t)?t:String(t)}var hi=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}var t,n,r;return t=e,r=[{key:"bind",value:function(e,t){return function(){return e.apply(t,arguments)}}},{key:"isObject",value:function(e){return e&&"object"===ci(e)&&!Array.isArray(e)&&null!=e}},{key:"is",value:function(e,t){return Object.prototype.toString.call(t)==="[object "+e+"]"}},{key:"listToArray",value:function(e){var t,n=[];for(t=0;t<e.length;t++)n[t]=e[t];return n}},{key:"extend",value:function(e,t){var n=this;"function"!=typeof Object.assign&&(Object.assign=function(e){if(null==e)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(e),n=1;n<arguments.length;n++){var r=arguments[n];if(null!=r)for(var i in r)r.hasOwnProperty(i)&&(t[i]=r[i])}return t});var r=Object.assign({},e);return this.isObject(e)&&this.isObject(t)&&Object.keys(t).forEach((function(i){n.isObject(t[i])&&i in e?r[i]=n.extend(e[i],t[i]):Object.assign(r,function(e,t,n){return(t=di(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}({},i,t[i]))})),r}},{key:"extendArray",value:function(t,n){var r=[];return t.map((function(t){r.push(e.extend(n,t))})),r}},{key:"monthMod",value:function(e){return e%12}},{key:"clone",value:function(t){if(e.is("Array",t)){for(var n=[],r=0;r<t.length;r++)n[r]=this.clone(t[r]);return n}if(e.is("Null",t))return null;if(e.is("Date",t))return t;if("object"===ci(t)){var i={};for(var o in t)t.hasOwnProperty(o)&&(i[o]=this.clone(t[o]));return i}return t}},{key:"log10",value:function(e){return Math.log(e)/Math.LN10}},{key:"roundToBase10",value:function(e){return Math.pow(10,Math.floor(Math.log10(e)))}},{key:"roundToBase",value:function(e,t){return Math.pow(t,Math.floor(Math.log(e)/Math.log(t)))}},{key:"parseNumber",value:function(e){return null===e?e:parseFloat(e)}},{key:"stripNumber",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;return Number.isInteger(e)?e:parseFloat(e.toPrecision(t))}},{key:"randomId",value:function(){return(Math.random()+1).toString(36).substring(4)}},{key:"noExponents",value:function(e){var t=String(e).split(/[eE]/);if(1===t.length)return t[0];var n="",r=e<0?"-":"",i=t[0].replace(".",""),o=Number(t[1])+1;if(o<0){for(n=r+"0.";o++;)n+="0";return n+i.replace(/^-/,"")}for(o-=i.length;o--;)n+="0";return i+n}},{key:"getDimensions",value:function(e){var t=getComputedStyle(e,null),n=e.clientHeight,r=e.clientWidth;return n-=parseFloat(t.paddingTop)+parseFloat(t.paddingBottom),[r-=parseFloat(t.paddingLeft)+parseFloat(t.paddingRight),n]}},{key:"getBoundingClientRect",value:function(e){var t=e.getBoundingClientRect();return{top:t.top,right:t.right,bottom:t.bottom,left:t.left,width:e.clientWidth,height:e.clientHeight,x:t.left,y:t.top}}},{key:"getLargestStringFromArr",value:function(e){return e.reduce((function(e,t){return Array.isArray(t)&&(t=t.reduce((function(e,t){return e.length>t.length?e:t}))),e.length>t.length?e:t}),0)}},{key:"hexToRgba",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"#999999",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.6;"#"!==e.substring(0,1)&&(e="#999999");var n=e.replace("#","");n=n.match(new RegExp("(.{"+n.length/3+"})","g"));for(var r=0;r<n.length;r++)n[r]=parseInt(1===n[r].length?n[r]+n[r]:n[r],16);return void 0!==t&&n.push(t),"rgba("+n.join(",")+")"}},{key:"getOpacityFromRGBA",value:function(e){return parseFloat(e.replace(/^.*,(.+)\)/,"$1"))}},{key:"rgb2hex",value:function(e){return(e=e.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i))&&4===e.length?"#"+("0"+parseInt(e[1],10).toString(16)).slice(-2)+("0"+parseInt(e[2],10).toString(16)).slice(-2)+("0"+parseInt(e[3],10).toString(16)).slice(-2):""}},{key:"isColorHex",value:function(e){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)|(^#[0-9A-F]{8}$)/i.test(e)}},{key:"getPolygonPos",value:function(e,t){for(var n=[],r=2*Math.PI/t,i=0;i<t;i++){var o={};o.x=e*Math.sin(i*r),o.y=-e*Math.cos(i*r),n.push(o)}return n}},{key:"polarToCartesian",value:function(e,t,n,r){var i=(r-90)*Math.PI/180;return{x:e+n*Math.cos(i),y:t+n*Math.sin(i)}}},{key:"escapeString",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"x",n=e.toString().slice();return n.replace(/[` ~!@#$%^&*()|+\=?;:'",.<>{}[\]\\/]/gi,t)}},{key:"negToZero",value:function(e){return e<0?0:e}},{key:"moveIndexInArray",value:function(e,t,n){if(n>=e.length)for(var r=n-e.length+1;r--;)e.push(void 0);return e.splice(n,0,e.splice(t,1)[0]),e}},{key:"extractNumber",value:function(e){return parseFloat(e.replace(/[^\d.]*/g,""))}},{key:"findAncestor",value:function(e,t){for(;(e=e.parentElement)&&!e.classList.contains(t););return e}},{key:"setELstyles",value:function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e.style.key=t[n])}},{key:"isNumber",value:function(e){return!isNaN(e)&&parseFloat(Number(e))===e&&!isNaN(parseInt(e,10))}},{key:"isFloat",value:function(e){return Number(e)===e&&e%1!=0}},{key:"isSafari",value:function(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}},{key:"isFirefox",value:function(){return navigator.userAgent.toLowerCase().indexOf("firefox")>-1}},{key:"isIE11",value:function(){if(-1!==window.navigator.userAgent.indexOf("MSIE")||window.navigator.appVersion.indexOf("Trident/")>-1)return!0}},{key:"isIE",value:function(){var e=window.navigator.userAgent,t=e.indexOf("MSIE ");if(t>0)return parseInt(e.substring(t+5,e.indexOf(".",t)),10);if(e.indexOf("Trident/")>0){var n=e.indexOf("rv:");return parseInt(e.substring(n+3,e.indexOf(".",n)),10)}var r=e.indexOf("Edge/");return r>0&&parseInt(e.substring(r+5,e.indexOf(".",r)),10)}}],(n=[{key:"shadeRGBColor",value:function(e,t){var n=t.split(","),r=e<0?0:255,i=e<0?-1*e:e,o=parseInt(n[0].slice(4),10),a=parseInt(n[1],10),s=parseInt(n[2],10);return"rgb("+(Math.round((r-o)*i)+o)+","+(Math.round((r-a)*i)+a)+","+(Math.round((r-s)*i)+s)+")"}},{key:"shadeHexColor",value:function(e,t){var n=parseInt(t.slice(1),16),r=e<0?0:255,i=e<0?-1*e:e,o=n>>16,a=n>>8&255,s=255&n;return"#"+(16777216+65536*(Math.round((r-o)*i)+o)+256*(Math.round((r-a)*i)+a)+(Math.round((r-s)*i)+s)).toString(16).slice(1)}},{key:"shadeColor",value:function(t,n){return e.isColorHex(n)?this.shadeHexColor(t,n):this.shadeRGBColor(t,n)}}])&&ui(t.prototype,n),r&&ui(t,r),Object.defineProperty(t,"prototype",{writable:!1}),e}();const pi=hi;function mi(e){return mi="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},mi(e)}function fi(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,(void 0,i=function(e,t){if("object"!==mi(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==mi(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===mi(i)?i:String(i)),r)}var i}var gi=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.ctx=t,this.w=t.w,this.documentEvent=pi.bind(this.documentEvent,this)}var t,n;return t=e,(n=[{key:"addEventListener",value:function(e,t){var n=this.w;n.globals.events.hasOwnProperty(e)?n.globals.events[e].push(t):n.globals.events[e]=[t]}},{key:"removeEventListener",value:function(e,t){var n=this.w;if(n.globals.events.hasOwnProperty(e)){var r=n.globals.events[e].indexOf(t);-1!==r&&n.globals.events[e].splice(r,1)}}},{key:"fireEvent",value:function(e,t){var n=this.w;if(n.globals.events.hasOwnProperty(e)){t&&t.length||(t=[]);for(var r=n.globals.events[e],i=r.length,o=0;o<i;o++)r[o].apply(null,t)}}},{key:"setupEventHandlers",value:function(){var e=this,t=this.w,n=this.ctx,r=t.globals.dom.baseEl.querySelector(t.globals.faceAgeClass);this.ctx.eventList.forEach((function(e){r.addEventListener(e,(function(e){var r=Object.assign({},t,{seriesIndex:t.globals.capturedSeriesIndex,dataPointIndex:t.globals.capturedDataPointIndex});"mousemove"===e.type||"touchmove"===e.type?"function"==typeof t.config.faceAge.events.mouseMove&&t.config.faceAge.events.mouseMove(e,n,r):"mouseleave"===e.type||"touchleave"===e.type?"function"==typeof t.config.faceAge.events.mouseLeave&&t.config.faceAge.events.mouseLeave(e,n,r):("mouseup"===e.type&&1===e.which||"touchend"===e.type)&&("function"==typeof t.config.faceAge.events.click&&t.config.faceAge.events.click(e,n,r),n.ctx.events.fireEvent("click",[e,n,r]))}),{capture:!1,passive:!0})})),this.ctx.eventList.forEach((function(n){t.globals.dom.baseEl.addEventListener(n,e.documentEvent,{passive:!0})})),this.ctx.core.setupBrushHandler()}},{key:"documentEvent",value:function(e){var t=this.w,n=e.target.className;if("click"===e.type){var r=t.globals.dom.baseEl.querySelector(".faceage-menu");r&&r.classList.contains("faceage-menu-open")&&"faceage-menu-icon"!==n&&r.classList.remove("faceage-menu-open")}t.globals.clientX="touchmove"===e.type?e.touches[0].clientX:e.clientX,t.globals.clientY="touchmove"===e.type?e.touches[0].clientY:e.clientY}}])&&fi(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function yi(e){return yi="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},yi(e)}function vi(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,(void 0,i=function(e,t){if("object"!==yi(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==yi(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===yi(i)?i:String(i)),r)}var i}var bi=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.ctx=t,this.w=t.w}var t,n;return t=e,(n=[{key:"getAdvisorData",value:function(e){var t=this;return new Promise((function(n,r){"function"==typeof e?t.w.globals.getAdvisorData=function(n){try{e({analysis:n,activeSelections:t.w.globals.formData})}catch(e){r(new Error("Error calling:",e.message))}}:r(new Error("function not valid"))}))}},{key:"getImage",value:function(){try{return this.w.globals.imageSubmit?this.w.globals.imageSubmit:null}catch(e){return null}}},{key:"getActiveSelections",value:function(e){var t=this;return new Promise((function(n,r){"function"==typeof e?t.w.globals.getActiveSelections=function(t){try{e(t)}catch(e){r(new Error("Error calling:",e.message))}}:r(new Error("function not valid"))}))}},{key:"getRoutineGroup",value:function(){try{return this.w.globals.routineGroup}catch(e){return null}}},{key:"setCustomProducts",value:function(e){try{this.w.globals.productLoader=!0;var t=(n=e,r=this.w.globals.routineGroup,i=this.w.globals.problems,o=[],n.forEach((function(e,t){var n={};if(null===e.id&&(n.id="ID is required"),null===e.title||""===e.title.trim()?n.title="Title is required":Mr(e.title)&&(n.title="Title is not valid"),e.description&&Mr(e.description)&&(n.description="Description is not valid"),null===e.url||""===e.url.trim()?n.url="URL is required":Or(e.url)||(n.url="URL must be a valid HTTPS URL"),null===e.image||""===e.image.trim()?n.image="Image is required":Or(e.image)||(n.image="Image must be a valid HTTPS URL"),("number"!=typeof e.price||e.price<0)&&(n.price="Price must be a non-negative number"),void 0!==e.offerPrice&&("number"!=typeof e.offerPrice||e.offerPrice<0)&&(n.offerPrice="Offer price must be a non-negative number if provided"),void 0!==e.routineGroups)if(Array.isArray(e.routineGroups)||"object"===Lr(e.routineGroups)){var a=[];Array.isArray(e.routineGroups)?e.routineGroups.map((function(e){Object.values(r).some((function(t){return Object.keys(t).some((function(t){return t.toLowerCase()===e.toLowerCase()}))}))||a.push(e)})):"object"===Lr(e.routineGroups)&&Object.keys(e.routineGroups).forEach((function(t){Object.keys(r).some((function(n){if(t===n){var i=e.routineGroups[t],o=r[n];return i.forEach((function(e){Object.keys(o).some((function(t){return e.toLowerCase()===t.toLowerCase()}))||a.push(e)})),!0}return!1}))||a.push(t)})),a.length>0&&(n.routineGroups="Invalid routine groups: ".concat(a.join(", ")))}else n.routineGroups="Routine groups must be an array";if(void 0!==e.problems&&e.problems)if(Array.isArray(e.problems)){var s=[];e.problems.map((function(e){var t=!1;Object.keys(i).forEach((function(n,r){i[n],n.toLowerCase()===e.toLowerCase()&&(t=!0)})),t||s.push(e)})),s.length>0&&(n.problems="Invalid problem: ".concat(s.join(", ")))}else n.problems="problems must be an array";else n.problems="Problems is required";void 0!==e.variables&&"object"!==Lr(e.variables)?n.variables="Variables must be an object if provided":"object"===Lr(e.variables)&&Object.keys(e.variables).forEach((function(t,r){var i=e.variables[t];i.title&&i.option||(n["variables[".concat(t,"]")]="Each variable must have both title and option"),Array.isArray(i.option)&&i.option.forEach((function(r,i){r.label&&r.value||(n["variables[".concat(t,"][").concat(i,"]")]="Each variable must have both label and value"),void 0!==r.price&&("number"!=typeof r.price||r.price<0)&&(n["variables[".concat(t,"][").concat(i,"]")]="Price must be a non-negative number"),void 0!==r.offerPrice&&("number"!=typeof r.offerPrice||e.offerPrice<0)&&(n["variables[".concat(t,"][").concat(i,"]")]="Offer price must be a non-negative number if provided")}))})),Object.keys(n).length>0&&o.push({index:t,errors:n})})),o.length>0?o:null);t?console.error(t):(this.w.globals.productLists=e,this.w.globals.productLoader=!1)}catch(e){console.error("add custom products error: "+e)}var n,r,i,o}}])&&vi(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function ki(e){return ki="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},ki(e)}function wi(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,(void 0,i=function(e,t){if("object"!==ki(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==ki(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===ki(i)?i:String(i)),r)}var i}"undefined"!=typeof window&&void 0===window.FaceAge&&(window.FaceAge={});var Si=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.ctx=t,this.w=t.w}var t,n;return t=e,(n=[{key:"initModules",value:function(){this.ctx.publicMethods=["onClickProblem","onDisplayProducts","onDisplayRoutines","onAddToCart","onCheckout","onClickProduct","onCloseModal","onRefresh"],this.ctx.publicApiMethods=["getAdvisorData","getActiveSelections","setCustomProducts","getImage","getRoutineGroup"],this.ctx.eventList=[],this.ctx.core=new li(this.ctx.el,this.ctx),this.ctx.events=new gi(this.ctx),this.ctx.API=new bi(this.ctx)}}])&&wi(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}(),Ci={en:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},de:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},zh:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},tr:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},hu:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},lt:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Įdėkite viską į krepšelį","All Products":"Visi produktai","validation.faceObstruction":"Tikriausiai kažkas yra ant veido odos paviršiaus (plaukų ar auskarų)"}')},bn:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},nl:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},ms:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},ja:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},ru:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},pl:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},uk:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Додати все в кошик","All Products":"Всі продукти","validation.faceObstruction":"Ймовірно, є щось на поверхні шкіри обличчя (волосся або пірсинг)"}')},fi:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},ur:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"سب کو کارٹ میں شامل کریں۔","All Products":"تمام مصنوعات","validation.faceObstruction":"چہرے کی جلد کی سطح پر شاید کچھ ہے (بال یا چھیدنا)"}')},sk:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Pridajte všetko do košíka","All Products":"Všetky produkty","validation.faceObstruction":"Pravdepodobne je niečo na povrchu pokožky tváre (vlasy alebo piercing)"}')},pt:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},it:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},sr:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Додај све у корпу","All Products":"Сви производи","validation.faceObstruction":"Вероватно постоји нешто на површини коже лица (длака или пирсинг)"}')},hr:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Dodaj sve u košaricu","All Products":"Svi proizvodi","validation.faceObstruction":"Vjerojatno postoji nešto na površini kože lica (dlake ili piercing)"}')},tl:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Idagdag ang lahat sa cart","All Products":"Lahat ng Produkto","validation.faceObstruction":"Marahil ay mayroong isang bagay sa ibabaw ng balat ng mukha (buhok o butas)"}')},et:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"Tõenäoliselt on näonaha pinnal midagi (juuksed või augustamine)"}')},fr:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},el:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},bg:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"Вероятно има нещо на повърхността на кожата на лицето (косми или пиърсинг)"}')},ro:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},hi:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},ko:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},he:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},vi:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},fa:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"احتمالاً چیزی روی سطح پوست صورت وجود دارد (مو یا سوراخ کردن)"}')},cs:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},id:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},lv:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Pievienot visu grozam","All Products":"Visi produkti","validation.faceObstruction":"Visticamāk, uz sejas ādas virsmas ir kaut kas (mati vai pīrsings)"}')},no:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},da:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},th:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},sv:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},es:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},ar:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')}};function Pi(e){return Pi="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},Pi(e)}function Ai(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,(void 0,i=function(e,t){if("object"!==Pi(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==Pi(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===Pi(i)?i:String(i)),r)}var i}Gt.init({resources:Ci,lng:"en",fallbackLng:"en",interpolation:{escapeValue:!1}});var xi=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.opts=t,this.w=new qt(t).init(),this.el=this.w.config.element,new Si(this).initModules()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this;return new Promise((function(t,n){null!==e.el?(e.w.globals.faceID=pi.randomId(),e.core.setupElements()):n(new Error("Element not found"))}))}},{key:"onload",value:function(e){var t=this;return new Promise((function(n,r){"function"==typeof e?t.w.globals.onload=function(t){try{e(t)}catch(e){r(new Error("Error calling:",e.message))}}:r(new Error("function not valid"))}))}},{key:"onClickProblem",value:function(e){var t=this;return new Promise((function(n,r){"function"==typeof e?t.w.globals.onClickProblem=function(t){try{e(t)}catch(e){r(new Error("Error calling:",e.message))}}:r(new Error("function not valid"))}))}},{key:"onAddToCart",value:function(e){var t=this;return new Promise((function(n,r){"function"==typeof e?t.w.globals.onAddToCart=function(t){try{e(t)}catch(e){r(new Error("Error calling:",e.message))}}:r(new Error("function not valid"))}))}},{key:"onCheckout",value:function(e){var t=this;return new Promise((function(n,r){"function"==typeof e?t.w.globals.onCheckout=function(t){try{e(t)}catch(e){r(new Error("Error calling:",e.message))}}:r(new Error("function not valid"))}))}},{key:"onClickProduct",value:function(e){var t=this;return new Promise((function(n,r){"function"==typeof e?t.w.globals.onClickProduct=function(t){try{e(t)}catch(e){r(new Error("Error calling:",e.message))}}:r(new Error("function not valid"))}))}},{key:"onDisplayProducts",value:function(e){var t=this;return new Promise((function(n,r){"function"==typeof e?t.w.globals.onDisplayProducts=function(t){try{e(t)}catch(e){r(new Error("Error calling:",e.message))}}:r(new Error("function not valid"))}))}},{key:"onDisplayRoutines",value:function(e){var t=this;return new Promise((function(n,r){"function"==typeof e?t.w.globals.onDisplayRoutines=function(t){try{e(t)}catch(e){r(new Error("Error calling:",e.message))}}:r(new Error("function not valid"))}))}},{key:"onCloseModal",value:function(e){var t=this;return new Promise((function(n,r){"function"==typeof e?t.w.globals.onCloseModal=function(t){try{e(t)}catch(e){r(new Error("Error calling:",e.message))}}:r(new Error("function not valid"))}))}},{key:"onResetData",value:function(e){var t=this;return new Promise((function(n,r){"function"==typeof e?t.w.globals.onRefresh=function(n){try{t.w.globals.productLists&&(t.w.globals.productLists=[]),t.w.globals.productAddToCart&&(t.w.globals.productAddToCart=[]),t.w.globals.productLoader=!1,e(n)}catch(e){r(new Error("Error calling:",e.message))}}:r(new Error("function not valid"))}))}}])&&Ai(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}()})(),r.default})()));