UNPKG

w-mousekey

Version:

An operator for mouse and keyboard in nodejs.

8 lines (7 loc) 40.2 kB
/*! * wait-pics v1.0.7 * (c) 2018-2021 yuda-lyu(semisphere) * Released under the MIT License. */ !function(t,r){"object"==typeof exports&&"undefined"!=typeof module?module.exports=r(require("fs"),require("path"),require("child_process"),require("util"),require("screenshot-desktop"),require("sharp"),require("@u4/opencv4nodejs")):"function"==typeof define&&define.amd?define(["fs","path","child_process","util","screenshot-desktop","sharp","@u4/opencv4nodejs"],r):(t="undefined"!=typeof globalThis?globalThis:t||self)["wait-pics"]=r(t.fs,t.path,t.child_process,t.util,t["screenshot-desktop"],t.sharp,t["@u4/opencv4nodejs"])}(this,function(t,r,e,n,o,i,u){"use strict";var a=Array.isArray,f="object"==typeof global&&global&&global.Object===Object&&global,c="object"==typeof self&&self&&self.Object===Object&&self,l=f||c||Function("return this")(),s=l.Symbol,h=Object.prototype,d=h.hasOwnProperty,g=h.toString,b=s?s.toStringTag:void 0;var v=Object.prototype.toString;var p=s?s.toStringTag:void 0;function y(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":p&&p in Object(t)?function(t){var r=d.call(t,b),e=t[b];try{t[b]=void 0;var n=!0}catch(t){}var o=g.call(t);return n&&(r?t[b]=e:delete t[b]),o}(t):function(t){return v.call(t)}(t)}function w(t){return null!=t&&"object"==typeof t}function m(t){return"symbol"==typeof t||w(t)&&"[object Symbol]"==y(t)}var _=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,j=/^\w*$/;function $(t,r){if(a(t))return!1;var e=typeof t;return!("number"!=e&&"symbol"!=e&&"boolean"!=e&&null!=t&&!m(t))||(j.test(t)||!_.test(t)||null!=r&&t in Object(r))}function S(t){var r=typeof t;return null!=t&&("object"==r||"function"==r)}function k(t){if(!S(t))return!1;var r=y(t);return"[object Function]"==r||"[object GeneratorFunction]"==r||"[object AsyncFunction]"==r||"[object Proxy]"==r}var x,O=l["__core-js_shared__"],E=(x=/[^.]+$/.exec(O&&O.keys&&O.keys.IE_PROTO||""))?"Symbol(src)_1."+x:"";var A=Function.prototype.toString;function P(t){if(null!=t){try{return A.call(t)}catch(t){}try{return t+""}catch(t){}}return""}var H=/^\[object .+?Constructor\]$/,R=Function.prototype,z=Object.prototype,M=R.toString,T=z.hasOwnProperty,F=RegExp("^"+M.call(T).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function q(t){return!(!S(t)||(r=t,E&&E in r))&&(k(t)?F:H).test(P(t));var r}function C(t,r){var e=function(t,r){return null==t?void 0:t[r]}(t,r);return q(e)?e:void 0}var B=C(Object,"create");var D=Object.prototype.hasOwnProperty;var N=Object.prototype.hasOwnProperty;function L(t){var r=-1,e=null==t?0:t.length;for(this.clear();++r<e;){var n=t[r];this.set(n[0],n[1])}}function I(t,r){return t===r||t!=t&&r!=r}function U(t,r){for(var e=t.length;e--;)if(I(t[e][0],r))return e;return-1}L.prototype.clear=function(){this.__data__=B?B(null):{},this.size=0},L.prototype.delete=function(t){var r=this.has(t)&&delete this.__data__[t];return this.size-=r?1:0,r},L.prototype.get=function(t){var r=this.__data__;if(B){var e=r[t];return"__lodash_hash_undefined__"===e?void 0:e}return D.call(r,t)?r[t]:void 0},L.prototype.has=function(t){var r=this.__data__;return B?void 0!==r[t]:N.call(r,t)},L.prototype.set=function(t,r){var e=this.__data__;return this.size+=this.has(t)?0:1,e[t]=B&&void 0===r?"__lodash_hash_undefined__":r,this};var V=Array.prototype.splice;function G(t){var r=-1,e=null==t?0:t.length;for(this.clear();++r<e;){var n=t[r];this.set(n[0],n[1])}}G.prototype.clear=function(){this.__data__=[],this.size=0},G.prototype.delete=function(t){var r=this.__data__,e=U(r,t);return!(e<0)&&(e==r.length-1?r.pop():V.call(r,e,1),--this.size,!0)},G.prototype.get=function(t){var r=this.__data__,e=U(r,t);return e<0?void 0:r[e][1]},G.prototype.has=function(t){return U(this.__data__,t)>-1},G.prototype.set=function(t,r){var e=this.__data__,n=U(e,t);return n<0?(++this.size,e.push([t,r])):e[n][1]=r,this};var W=C(l,"Map");function J(t,r){var e,n,o=t.__data__;return("string"==(n=typeof(e=r))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==e:null===e)?o["string"==typeof r?"string":"hash"]:o.map}function K(t){var r=-1,e=null==t?0:t.length;for(this.clear();++r<e;){var n=t[r];this.set(n[0],n[1])}}K.prototype.clear=function(){this.size=0,this.__data__={hash:new L,map:new(W||G),string:new L}},K.prototype.delete=function(t){var r=J(this,t).delete(t);return this.size-=r?1:0,r},K.prototype.get=function(t){return J(this,t).get(t)},K.prototype.has=function(t){return J(this,t).has(t)},K.prototype.set=function(t,r){var e=J(this,t),n=e.size;return e.set(t,r),this.size+=e.size==n?0:1,this};function Q(t,r){if("function"!=typeof t||null!=r&&"function"!=typeof r)throw new TypeError("Expected a function");var e=function(){var n=arguments,o=r?r.apply(this,n):n[0],i=e.cache;if(i.has(o))return i.get(o);var u=t.apply(this,n);return e.cache=i.set(o,u)||i,u};return e.cache=new(Q.Cache||K),e}Q.Cache=K;var X,Y,Z,tt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,rt=/\\(\\)?/g,et=(X=function(t){var r=[];return 46===t.charCodeAt(0)&&r.push(""),t.replace(tt,function(t,e,n,o){r.push(n?o.replace(rt,"$1"):e||t)}),r},Y=Q(X,function(t){return 500===Z.size&&Z.clear(),t}),Z=Y.cache,Y),nt=et;function ot(t,r){for(var e=-1,n=null==t?0:t.length,o=Array(n);++e<n;)o[e]=r(t[e],e,t);return o}var it=s?s.prototype:void 0,ut=it?it.toString:void 0;function at(t){if("string"==typeof t)return t;if(a(t))return ot(t,at)+"";if(m(t))return ut?ut.call(t):"";var r=t+"";return"0"==r&&1/t==-1/0?"-0":r}function ft(t){return null==t?"":at(t)}function ct(t,r){return a(t)?t:$(t,r)?[t]:nt(ft(t))}function lt(t){if("string"==typeof t||m(t))return t;var r=t+"";return"0"==r&&1/t==-1/0?"-0":r}function st(t,r){for(var e=0,n=(r=ct(r,t)).length;null!=t&&e<n;)t=t[lt(r[e++])];return e&&e==n?t:void 0}function ht(t,r,e){var n=null==t?void 0:st(t,r);return void 0===n?e:n}var dt=Object.prototype;var gt=function(t,r){return function(e){return t(r(e))}}(Object.keys,Object),bt=gt,vt=Object.prototype.hasOwnProperty;function pt(t){if(e=(r=t)&&r.constructor,r!==("function"==typeof e&&e.prototype||dt))return bt(t);var r,e,n=[];for(var o in Object(t))vt.call(t,o)&&"constructor"!=o&&n.push(o);return n}var yt=C(l,"DataView"),wt=C(l,"Promise"),mt=C(l,"Set"),_t=C(l,"WeakMap"),jt="[object Map]",$t="[object Promise]",St="[object Set]",kt="[object WeakMap]",xt="[object DataView]",Ot=P(yt),Et=P(W),At=P(wt),Pt=P(mt),Ht=P(_t),Rt=y;(yt&&Rt(new yt(new ArrayBuffer(1)))!=xt||W&&Rt(new W)!=jt||wt&&Rt(wt.resolve())!=$t||mt&&Rt(new mt)!=St||_t&&Rt(new _t)!=kt)&&(Rt=function(t){var r=y(t),e="[object Object]"==r?t.constructor:void 0,n=e?P(e):"";if(n)switch(n){case Ot:return xt;case Et:return jt;case At:return $t;case Pt:return St;case Ht:return kt}return r});var zt=Rt;function Mt(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}function Tt(t){return null!=t&&Mt(t.length)&&!k(t)}function Ft(t){return function(r){return null==r?void 0:r[t]}}var qt=Ft("length"),Ct=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");function Bt(t){return Ct.test(t)}var Dt="\\ud800-\\udfff",Nt="["+Dt+"]",Lt="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",It="\\ud83c[\\udffb-\\udfff]",Ut="[^"+Dt+"]",Vt="(?:\\ud83c[\\udde6-\\uddff]){2}",Gt="[\\ud800-\\udbff][\\udc00-\\udfff]",Wt="(?:"+Lt+"|"+It+")"+"?",Jt="[\\ufe0e\\ufe0f]?",Kt=Jt+Wt+("(?:\\u200d(?:"+[Ut,Vt,Gt].join("|")+")"+Jt+Wt+")*"),Qt="(?:"+[Ut+Lt+"?",Lt,Vt,Gt,Nt].join("|")+")",Xt=RegExp(It+"(?="+It+")|"+Qt+Kt,"g");function Yt(t){return Bt(t)?function(t){for(var r=Xt.lastIndex=0;Xt.test(t);)++r;return r}(t):qt(t)}function Zt(t){if(null==t)return 0;if(Tt(t))return"string"==typeof(r=t)||!a(r)&&w(r)&&"[object String]"==y(r)?Yt(t):t.length;var r,e=zt(t);return"[object Map]"==e||"[object Set]"==e?t.size:pt(t).length}function tr(t){return"[object String]"===Object.prototype.toString.call(t)}function rr(t){return!(!tr(t)||""===t)}function er(){let t,r,e=new Promise(function(){t=arguments[0],r=arguments[1]});return e.resolve=t,e.reject=r,e}function nr(t){let r=!1;if(rr(t))r=!isNaN(Number(t));else if(function(t){return"[object Number]"===Object.prototype.toString.call(t)}(t)){if(function(t){return t!=t}(t))return!1;r=!0}return r}function or(t=10){nr(t)||(t=10);let r=er();return setTimeout(function(){r.resolve()},t),r}function ir(r){return function(t,r={}){let e=ht(r,"fs");return!!e.existsSync(t)&&!e.lstatSync(t).isDirectory()&&!e.lstatSync(t).isSymbolicLink()}(r,{fs:t})}function ur(t,r={}){let e=ht(r,"fs");if(!e.existsSync(t))return!1;let n=e.lstatSync(t);return!n.isFile()&&!n.isSymbolicLink()}function ar(r){return ur(r,{fs:t})}function fr(r){return function(t,r={}){let e=ht(r,"fs");if(ur(t,{fs:e}))return{success:"input folder is already exists: "+t};if(e.existsSync(t))return{error:"input path already exists: "+t};try{e.mkdirSync(t,{recursive:!0})}catch(t){return{error:t}}return{success:"done: "+t}}(r,{fs:t})}let cr=n.promisify(e.execFile),lr=r.resolve(),sr="AutoHotkey64.exe",hr="";{let t=`${lr}/AutoHotkey_2.0.19/`,r=`${lr}/node_modules/w-mousekey/AutoHotkey_2.0.19/`;if(ir(`${t}${sr}`))hr=t;else{if(!ir(`${r}${sr}`))throw new Error("can not find folder for AutoHotkey");hr=r}}let dr=`${hr}/AutoHotkey64.exe`,gr=`${hr}/zclick.ahk`,br=`${hr}/zdrag.ahk`,vr=`${hr}/zsend.ahk`;async function pr(t,r,e=[]){let n=er();try{let{stdout:o,stderr:i}=await cr(t,["/force",r,...e]);i?n.reject(i):n.resolve(o)}catch(t){n.reject(t)}return n}let yr={mouseClick:async function(t,r){await pr(dr,gr,[t,r])},mouseDrag:async function(t,r,e,n){await pr(dr,br,[t,r,e,n])},sendKey:async function(t){await pr(dr,vr,[`${t}`])},sendString:async function(t){await pr(dr,vr,[`${t}`])}};let wr={screenFull:async function(){return await o({format:"png"})},screen:async function(t,r,e,n){let u=await o({format:"png"});return await i(u).extract({left:t,top:r,width:e,height:n}).toBuffer()},screenFullSave:async function(r){let e=await o({format:"png"});return t.writeFileSync(r,e),e},screenSave:async function(r,e,n,u,a){let f=await o({format:"png"}),c=await i(f).extract({left:r,top:e,width:n,height:u}).toBuffer();return t.writeFileSync(a,c),c}};function mr(t){return!0===(r=t)||!1===r||w(r)&&"[object Boolean]"==y(r);var r}var _r=/\s/;var jr=/^\s+/;function $r(t){return t?t.slice(0,function(t){for(var r=t.length;r--&&_r.test(t.charAt(r)););return r}(t)+1).replace(jr,""):t}var Sr=/^[-+]0x[0-9a-f]+$/i,kr=/^0b[01]+$/i,xr=/^0o[0-7]+$/i,Or=parseInt;function Er(t){if("number"==typeof t)return t;if(m(t))return NaN;if(S(t)){var r="function"==typeof t.valueOf?t.valueOf():t;t=S(r)?r+"":r}if("string"!=typeof t)return 0===t?t:+t;t=$r(t);var e=kr.test(t);return e||xr.test(t)?Or(t.slice(2),e?2:8):Sr.test(t)?NaN:+t}var Ar=1/0;function Pr(t){return t?(t=Er(t))===Ar||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}function Hr(t){var r=Pr(t),e=r%1;return r==r?e?r-e:r:0}function Rr(t){if(!nr(t))return 0;return Pr(t)}function zr(t){return!!nr(t)&&(t=Rr(t),"number"==typeof(r=t)&&r==Hr(r));var r}var Mr=l.isFinite,Tr=Math.min;var Fr=function(t){var r=Math[t];return function(t,e){if(t=Er(t),(e=null==e?0:Tr(Hr(e),292))&&Mr(t)){var n=(ft(t)+"e").split("e");return+((n=(ft(r(n[0]+"e"+(+n[1]+e)))+"e").split("e"))[0]+"e"+(+n[1]-e))}return r(t)}}("round"),qr=Fr;function Cr(t){if(!nr(t))return 0;t=Rr(t);let r=qr(t);return"0"===String(r)?0:r}function Br(t){if(!zr(t))return!1;return Cr(t)>0}function Dr(t,r,e){var n=t.length;return e=void 0===e?n:e,!r&&e>=n?t:function(t,r,e){var n=-1,o=t.length;r<0&&(r=-r>o?0:o+r),(e=e>o?o:e)<0&&(e+=o),o=r>e?0:e-r>>>0,r>>>=0;for(var i=Array(o);++n<o;)i[n]=t[n+r];return i}(t,r,e)}function Nr(t){return t!=t}function Lr(t,r,e){return r==r?function(t,r,e){for(var n=e-1,o=t.length;++n<o;)if(t[n]===r)return n;return-1}(t,r,e):function(t,r,e,n){for(var o=t.length,i=e+(n?1:-1);n?i--:++i<o;)if(r(t[i],i,t))return i;return-1}(t,Nr,e)}var Ir="\\ud800-\\udfff",Ur="["+Ir+"]",Vr="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",Gr="\\ud83c[\\udffb-\\udfff]",Wr="[^"+Ir+"]",Jr="(?:\\ud83c[\\udde6-\\uddff]){2}",Kr="[\\ud800-\\udbff][\\udc00-\\udfff]",Qr="(?:"+Vr+"|"+Gr+")"+"?",Xr="[\\ufe0e\\ufe0f]?",Yr=Xr+Qr+("(?:\\u200d(?:"+[Wr,Jr,Kr].join("|")+")"+Xr+Qr+")*"),Zr="(?:"+[Wr+Vr+"?",Vr,Jr,Kr,Ur].join("|")+")",te=RegExp(Gr+"(?="+Gr+")|"+Zr+Yr,"g");function re(t){return Bt(t)?function(t){return t.match(te)||[]}(t):function(t){return t.split("")}(t)}function ee(t,r,e){if((t=ft(t))&&(e||void 0===r))return $r(t);if(!t||!(r=at(r)))return t;var n=re(t),o=re(r),i=function(t,r){for(var e=-1,n=t.length;++e<n&&Lr(r,t[e],0)>-1;);return e}(n,o),u=function(t,r){for(var e=t.length;e--&&Lr(r,t[e],0)>-1;);return e}(n,o)+1;return Dr(n,i,u).join("")}function ne(t){var r=this.__data__=new G(t);this.size=r.size}ne.prototype.clear=function(){this.__data__=new G,this.size=0},ne.prototype.delete=function(t){var r=this.__data__,e=r.delete(t);return this.size=r.size,e},ne.prototype.get=function(t){return this.__data__.get(t)},ne.prototype.has=function(t){return this.__data__.has(t)},ne.prototype.set=function(t,r){var e=this.__data__;if(e instanceof G){var n=e.__data__;if(!W||n.length<199)return n.push([t,r]),this.size=++e.size,this;e=this.__data__=new K(n)}return e.set(t,r),this.size=e.size,this};function oe(t){var r=-1,e=null==t?0:t.length;for(this.__data__=new K;++r<e;)this.add(t[r])}function ie(t,r){for(var e=-1,n=null==t?0:t.length;++e<n;)if(r(t[e],e,t))return!0;return!1}function ue(t,r){return t.has(r)}oe.prototype.add=oe.prototype.push=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this},oe.prototype.has=function(t){return this.__data__.has(t)};function ae(t,r,e,n,o,i){var u=1&e,a=t.length,f=r.length;if(a!=f&&!(u&&f>a))return!1;var c=i.get(t),l=i.get(r);if(c&&l)return c==r&&l==t;var s=-1,h=!0,d=2&e?new oe:void 0;for(i.set(t,r),i.set(r,t);++s<a;){var g=t[s],b=r[s];if(n)var v=u?n(b,g,s,r,t,i):n(g,b,s,t,r,i);if(void 0!==v){if(v)continue;h=!1;break}if(d){if(!ie(r,function(t,r){if(!ue(d,r)&&(g===t||o(g,t,e,n,i)))return d.push(r)})){h=!1;break}}else if(g!==b&&!o(g,b,e,n,i)){h=!1;break}}return i.delete(t),i.delete(r),h}var fe=l.Uint8Array;function ce(t){var r=-1,e=Array(t.size);return t.forEach(function(t,n){e[++r]=[n,t]}),e}function le(t){var r=-1,e=Array(t.size);return t.forEach(function(t){e[++r]=t}),e}var se=s?s.prototype:void 0,he=se?se.valueOf:void 0;function de(t,r){for(var e=-1,n=r.length,o=t.length;++e<n;)t[o+e]=r[e];return t}var ge=Object.prototype.propertyIsEnumerable,be=Object.getOwnPropertySymbols,ve=be?function(t){return null==t?[]:(t=Object(t),function(t,r){for(var e=-1,n=null==t?0:t.length,o=0,i=[];++e<n;){var u=t[e];r(u,e,t)&&(i[o++]=u)}return i}(be(t),function(r){return ge.call(t,r)}))}:function(){return[]},pe=ve;function ye(t){return w(t)&&"[object Arguments]"==y(t)}var we=Object.prototype,me=we.hasOwnProperty,_e=we.propertyIsEnumerable,je=ye(function(){return arguments}())?ye:function(t){return w(t)&&me.call(t,"callee")&&!_e.call(t,"callee")},$e=je;var Se="object"==typeof exports&&exports&&!exports.nodeType&&exports,ke=Se&&"object"==typeof module&&module&&!module.nodeType&&module,xe=ke&&ke.exports===Se?l.Buffer:void 0,Oe=(xe?xe.isBuffer:void 0)||function(){return!1},Ee=/^(?:0|[1-9]\d*)$/;function Ae(t,r){var e=typeof t;return!!(r=null==r?9007199254740991:r)&&("number"==e||"symbol"!=e&&Ee.test(t))&&t>-1&&t%1==0&&t<r}var Pe={};function He(t){return function(r){return t(r)}}Pe["[object Float32Array]"]=Pe["[object Float64Array]"]=Pe["[object Int8Array]"]=Pe["[object Int16Array]"]=Pe["[object Int32Array]"]=Pe["[object Uint8Array]"]=Pe["[object Uint8ClampedArray]"]=Pe["[object Uint16Array]"]=Pe["[object Uint32Array]"]=!0,Pe["[object Arguments]"]=Pe["[object Array]"]=Pe["[object ArrayBuffer]"]=Pe["[object Boolean]"]=Pe["[object DataView]"]=Pe["[object Date]"]=Pe["[object Error]"]=Pe["[object Function]"]=Pe["[object Map]"]=Pe["[object Number]"]=Pe["[object Object]"]=Pe["[object RegExp]"]=Pe["[object Set]"]=Pe["[object String]"]=Pe["[object WeakMap]"]=!1;var Re="object"==typeof exports&&exports&&!exports.nodeType&&exports,ze=Re&&"object"==typeof module&&module&&!module.nodeType&&module,Me=ze&&ze.exports===Re&&f.process,Te=function(){try{var t=ze&&ze.require&&ze.require("util").types;return t||Me&&Me.binding&&Me.binding("util")}catch(t){}}(),Fe=Te&&Te.isTypedArray,qe=Fe?He(Fe):function(t){return w(t)&&Mt(t.length)&&!!Pe[y(t)]},Ce=Object.prototype.hasOwnProperty;function Be(t,r){var e=a(t),n=!e&&$e(t),o=!e&&!n&&Oe(t),i=!e&&!n&&!o&&qe(t),u=e||n||o||i,f=u?function(t,r){for(var e=-1,n=Array(t);++e<t;)n[e]=r(e);return n}(t.length,String):[],c=f.length;for(var l in t)!r&&!Ce.call(t,l)||u&&("length"==l||o&&("offset"==l||"parent"==l)||i&&("buffer"==l||"byteLength"==l||"byteOffset"==l)||Ae(l,c))||f.push(l);return f}function De(t){return Tt(t)?Be(t):pt(t)}function Ne(t){return function(t,r,e){var n=r(t);return a(t)?n:de(n,e(t))}(t,De,pe)}var Le=Object.prototype.hasOwnProperty;var Ie="[object Arguments]",Ue="[object Array]",Ve="[object Object]",Ge=Object.prototype.hasOwnProperty;function We(t,r,e,n,o,i){var u=a(t),f=a(r),c=u?Ue:zt(t),l=f?Ue:zt(r),s=(c=c==Ie?Ve:c)==Ve,h=(l=l==Ie?Ve:l)==Ve,d=c==l;if(d&&Oe(t)){if(!Oe(r))return!1;u=!0,s=!1}if(d&&!s)return i||(i=new ne),u||qe(t)?ae(t,r,e,n,o,i):function(t,r,e,n,o,i,u){switch(e){case"[object DataView]":if(t.byteLength!=r.byteLength||t.byteOffset!=r.byteOffset)return!1;t=t.buffer,r=r.buffer;case"[object ArrayBuffer]":return!(t.byteLength!=r.byteLength||!i(new fe(t),new fe(r)));case"[object Boolean]":case"[object Date]":case"[object Number]":return I(+t,+r);case"[object Error]":return t.name==r.name&&t.message==r.message;case"[object RegExp]":case"[object String]":return t==r+"";case"[object Map]":var a=ce;case"[object Set]":var f=1&n;if(a||(a=le),t.size!=r.size&&!f)return!1;var c=u.get(t);if(c)return c==r;n|=2,u.set(t,r);var l=ae(a(t),a(r),n,o,i,u);return u.delete(t),l;case"[object Symbol]":if(he)return he.call(t)==he.call(r)}return!1}(t,r,c,e,n,o,i);if(!(1&e)){var g=s&&Ge.call(t,"__wrapped__"),b=h&&Ge.call(r,"__wrapped__");if(g||b){var v=g?t.value():t,p=b?r.value():r;return i||(i=new ne),o(v,p,e,n,i)}}return!!d&&(i||(i=new ne),function(t,r,e,n,o,i){var u=1&e,a=Ne(t),f=a.length;if(f!=Ne(r).length&&!u)return!1;for(var c=f;c--;){var l=a[c];if(!(u?l in r:Le.call(r,l)))return!1}var s=i.get(t),h=i.get(r);if(s&&h)return s==r&&h==t;var d=!0;i.set(t,r),i.set(r,t);for(var g=u;++c<f;){var b=t[l=a[c]],v=r[l];if(n)var p=u?n(v,b,l,r,t,i):n(b,v,l,t,r,i);if(!(void 0===p?b===v||o(b,v,e,n,i):p)){d=!1;break}g||(g="constructor"==l)}if(d&&!g){var y=t.constructor,w=r.constructor;y==w||!("constructor"in t)||!("constructor"in r)||"function"==typeof y&&y instanceof y&&"function"==typeof w&&w instanceof w||(d=!1)}return i.delete(t),i.delete(r),d}(t,r,e,n,o,i))}function Je(t,r,e,n,o){return t===r||(null==t||null==r||!w(t)&&!w(r)?t!=t&&r!=r:We(t,r,e,n,Je,o))}function Ke(t){return t==t&&!S(t)}function Qe(t,r){return function(e){return null!=e&&(e[t]===r&&(void 0!==r||t in Object(e)))}}function Xe(t){var r=function(t){for(var r=De(t),e=r.length;e--;){var n=r[e],o=t[n];r[e]=[n,o,Ke(o)]}return r}(t);return 1==r.length&&r[0][2]?Qe(r[0][0],r[0][1]):function(e){return e===t||function(t,r,e,n){var o=e.length,i=o,u=!n;if(null==t)return!i;for(t=Object(t);o--;){var a=e[o];if(u&&a[2]?a[1]!==t[a[0]]:!(a[0]in t))return!1}for(;++o<i;){var f=(a=e[o])[0],c=t[f],l=a[1];if(u&&a[2]){if(void 0===c&&!(f in t))return!1}else{var s=new ne;if(n)var h=n(c,l,f,t,r,s);if(!(void 0===h?Je(l,c,3,n,s):h))return!1}}return!0}(e,t,r)}}function Ye(t,r){return null!=t&&r in Object(t)}function Ze(t,r){return null!=t&&function(t,r,e){for(var n=-1,o=(r=ct(r,t)).length,i=!1;++n<o;){var u=lt(r[n]);if(!(i=null!=t&&e(t,u)))break;t=t[u]}return i||++n!=o?i:!!(o=null==t?0:t.length)&&Mt(o)&&Ae(u,o)&&(a(t)||$e(t))}(t,r,Ye)}function tn(t){return t}function rn(t){return $(t)?Ft(lt(t)):function(t){return function(r){return st(r,t)}}(t)}function en(t){return"function"==typeof t?t:null==t?tn:"object"==typeof t?a(t)?function(t,r){return $(t)&&Ke(r)?Qe(lt(t),r):function(e){var n=ht(e,t);return void 0===n&&n===r?Ze(e,t):Je(r,n,3)}}(t[0],t[1]):Xe(t):rn(t)}var nn,on=function(t,r,e){for(var n=-1,o=Object(t),i=e(t),u=i.length;u--;){var a=i[nn?u:++n];if(!1===r(o[a],a,o))break}return t};var un=function(t,r){return function(e,n){if(null==e)return e;if(!Tt(e))return t(e,n);for(var o=e.length,i=r?o:-1,u=Object(e);(r?i--:++i<o)&&!1!==n(u[i],i,u););return e}}(function(t,r){return t&&on(t,r,De)}),an=un;function fn(t,r){var e=-1,n=Tt(t)?Array(t.length):[];return an(t,function(t,o,i){n[++e]=r(t,o,i)}),n}function cn(t,r){return(a(t)?ot:fn)(t,en(r))}function ln(t,r){for(var e=-1,n=null==t?0:t.length;++e<n&&!1!==r(t[e],e,t););return t}function sn(t,r){var e;return(a(t)?ln:an)(t,"function"==typeof(e=r)?e:tn)}var hn=s?s.isConcatSpreadable:void 0;function dn(t){return a(t)||$e(t)||!!(hn&&t&&t[hn])}function gn(t,r,e,n,o){var i=-1,u=t.length;for(e||(e=dn),o||(o=[]);++i<u;){var a=t[i];r>0&&e(a)?r>1?gn(a,r-1,e,n,o):de(o,a):n||(o[o.length]=a)}return o}function bn(t,r){if(t!==r){var e=void 0!==t,n=null===t,o=t==t,i=m(t),u=void 0!==r,a=null===r,f=r==r,c=m(r);if(!a&&!c&&!i&&t>r||i&&u&&f&&!a&&!c||n&&u&&f||!e&&f||!o)return 1;if(!n&&!i&&!c&&t<r||c&&e&&o&&!n&&!i||a&&e&&o||!u&&o||!f)return-1}return 0}function vn(t,r,e){r=r.length?ot(r,function(t){return a(t)?function(r){return st(r,1===t.length?t[0]:t)}:t}):[tn];var n=-1;return r=ot(r,He(en)),function(t,r){var e=t.length;for(t.sort(r);e--;)t[e]=t[e].value;return t}(fn(t,function(t,e,o){return{criteria:ot(r,function(r){return r(t)}),index:++n,value:t}}),function(t,r){return function(t,r,e){for(var n=-1,o=t.criteria,i=r.criteria,u=o.length,a=e.length;++n<u;){var f=bn(o[n],i[n]);if(f)return n>=a?f:f*("desc"==e[n]?-1:1)}return t.index-r.index}(t,r,e)})}var pn=Math.max;var yn=function(){try{var t=C(Object,"defineProperty");return t({},"",{}),t}catch(t){}}(),wn=yn,mn=wn?function(t,r){return wn(t,"toString",{configurable:!0,enumerable:!1,value:(e=r,function(){return e}),writable:!0});var e}:tn,_n=mn,jn=Date.now;var $n=function(t){var r=0,e=0;return function(){var n=jn(),o=16-(n-e);if(e=n,o>0){if(++r>=800)return arguments[0]}else r=0;return t.apply(void 0,arguments)}}(_n),Sn=$n;function kn(t,r,e){if(!S(e))return!1;var n=typeof r;return!!("number"==n?Tt(e)&&Ae(r,e.length):"string"==n&&r in e)&&I(e[r],t)}var xn=function(t,r){return Sn(function(t,r,e){return r=pn(void 0===r?t.length-1:r,0),function(){for(var n=arguments,o=-1,i=pn(n.length-r,0),u=Array(i);++o<i;)u[o]=n[r+o];o=-1;for(var a=Array(r+1);++o<r;)a[o]=n[o];return a[r]=e(u),function(t,r,e){switch(e.length){case 0:return t.call(r);case 1:return t.call(r,e[0]);case 2:return t.call(r,e[0],e[1]);case 3:return t.call(r,e[0],e[1],e[2])}return t.apply(r,e)}(t,this,a)}}(t,r,tn),t+"")}(function(t,r){if(null==t)return[];var e=r.length;return e>1&&kn(t,r[0],r[1])?r=[]:e>2&&kn(r[0],r[1],r[2])&&(r=[r[0]]),vn(t,gn(r,1),[])}),On=xn;function En(t){return ft(t).toLowerCase()}function An(t){return ft(t).toUpperCase()}function Pn(t){return"[object Object]"===Object.prototype.toString.call(t)}function Hn(t){if(Pn(t)){for(let r in t)return!0;return!1}return!1}function Rn(t){if(!zr(t))return!1;return Cr(t)>=0}function zn(t,r){return rr(t)&&Rn(r)?0===(r=Cr(r))?"":t.substring(0,r):""}function Mn(t,r){return rr(t)&&Rn(r)?0===(r=Cr(r))?t:function(t,r){if(!rr(t))return"";if(!Rn(r))return"";if(0===(r=Cr(r)))return"";let e=t.length-r;return e<0&&(e=0),t.substring(e,e+r)}(t,t.length-r):""}function Tn(t,r,e){if(!rr(t))return"";if(!rr(r))return"";if(!tr(e))return"";return String(t).replaceAll(r,e)}function Fn(t,r){if(!rr(t))return[];if(!rr(r))return[];let e=function(t,r){return rr(t)&&rr(r)?t.split(r):[]}(t,r);e=cn(e,ee);let n=[];return sn(e,function(t){rr(t)&&n.push(t)}),n}function qn(t){if(!rr(t)&&!nr(t)&&!m(t))return"";let r="";try{r=String(t)}catch(t){}try{r=t.toString()}catch(t){}return r}function Cn(t,r){return!!Pn(t)&&(!(!rr(r)&&!nr(r))&&r in t)}function Bn(t,r,e=1){return rr(t)&&Rn(r)?(e=Br(e)?Cr(e):1,t.substring(r,r+e)):""}let Dn={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"};function Nn(t){return In(t,1)}function Ln(t){return In(t,360)}function In(t,r=1){if(t.indexOf("%")>=0){if(!nr(t=Tn(t,"%","")))throw new Error("invalid color: value is not a number");t=Rr(t)/100}else{if(!nr(t))throw new Error("invalid color: value is not a number");t=Rr(t)/r}if(t>1)throw new Error("invalid color: value > 1");if(t<0)throw new Error("invalid color: value < 0");return t}function Un(t){if(!nr(t))throw new Error("invalid color: value is not a number");if((t=Rr(t))>1)throw new Error("invalid color: value > 1");if(t<0)throw new Error("invalid color: value < 0");return t}function Vn(t,r="rgba"){if(e=t,"[object Array]"!==Object.prototype.toString.call(e))throw new Error("invalid colors array");var e;let n=ht(t,0,0),o=ht(t,1,0),i=ht(t,2,0),u=ht(t,3,1);if(4!==Zt(r=r.split("")))throw new Error("tar.length !== 4");let a=ht(r,0),f=ht(r,1),c=ht(r,2),l=ht(r,3);return{[a]:n,[f]:o,[c]:i,[l]:u}}function Gn(t){let r=(t=Mn(t,1)).length;if(2===r)t=`${t}${t}${t}ff`;else if(3===r){let r=Bn(t,0,1),e=Bn(t,1,1),n=Bn(t,2,1);t=`${r}${r}${e}${e}${n}${n}ff`}else if(6===r)t=`${t}ff`;else if(8!==r)throw new Error("invalid hex color");function e(t){if(2!==t.length)throw new Error("hex.length of color is not equal to 2");if(!nr(t=parseInt(t,16)))throw new Error("invalid hex of color");return(t=Rr(t))/255}return{r:e(Bn(t,0,2)),g:e(Bn(t,2,2)),b:e(Bn(t,4,2)),a:e(Bn(t,6,2))}}function Wn(t){return t=Vn(t=cn(t,(t,r)=>r<=2?In(t,255):3===r?Un(t):null),"rgba")}function Jn(t){return t=eo(t=Vn(t=cn(t,(t,r)=>0===r?Ln(t):1===r||2===r?Nn(t):3===r?Un(t):null),"hsla"))}function Kn(t){return t=no(t=Vn(t=cn(t,(t,r)=>0===r?Ln(t):1===r||2===r?Nn(t):3===r?Un(t):null),"hsva"))}function Qn(t){if("transparent"===t)return{r:0,g:0,b:0,a:0};if(function(t){return Cn(Dn,t)}(t))return Gn(t=`#${Dn[t]}`);if(function(t){return"#"===zn(t,1)&&(!!/[0-9A-Fa-f]{2}/g.test(t)||(!!/[0-9A-Fa-f]{3}/g.test(t)||(!!/[0-9A-Fa-f]{6}/g.test(t)||!!/[0-9A-Fa-f]{8}/g.test(t))))}(t))return Gn(t);if(function(t){return"rgb"===zn(t,3)||"rgba"===zn(t,4)}(t))return function(t){return t=Tn(t,"rgba",""),t=Tn(t,"rgb",""),Wn(Fn(t=Tn(t=t.replace(/[()]/g,""),","," ")," "))}(t);if(function(t){return"hsl"===zn(t,3)||"hsla"===zn(t,4)}(t))return function(t){return t=Tn(t,"hsla",""),t=Tn(t,"hsl",""),Jn(Fn(t=Tn(t=t.replace(/[()]/g,""),","," ")," "))}(t);if(function(t){return"hsv"===zn(t,3)||"hsva"===zn(t,4)}(t))return function(t){return t=Tn(t,"hsva",""),t=Tn(t,"hsv",""),Kn(Fn(t=Tn(t=t.replace(/[()]/g,""),","," ")," "))}(t);throw new Error("format of color string is not hex-color, name-color, rgba, hsla, hsva")}function Xn(t,r){return!!Cn(t,r=En(r))||!!Cn(t,r=An(r))}function Yn(t,r,e){let n;return n=ht(t,r,null),null!==n?n:(n=ht(t,r=An(r),null),null!==n?n:e)}function Zn(t){if(function(t){let r=Xn(t,"r"),e=Xn(t,"g"),n=Xn(t,"b");return r&&e&&n}(t))return function(t){let r=[Yn(t,"r",null),Yn(t,"g",null),Yn(t,"b",null),Yn(t,"a",1)];return r=cn(r,qn),Wn(r)}(t);if(function(t){let r=Xn(t,"h"),e=Xn(t,"s"),n=Xn(t,"l");return r&&e&&n}(t))return function(t){let r=[Yn(t,"h",null),Yn(t,"s",null),Yn(t,"l",null),Yn(t,"a",1)];return r=cn(r,qn),Jn(r)}(t);if(function(t){let r=Xn(t,"h"),e=Xn(t,"s"),n=Xn(t,"v");return r&&e&&n}(t))return function(t){let r=[Yn(t,"h",null),Yn(t,"s",null),Yn(t,"v",null),Yn(t,"a",1)];return r=cn(r,qn),Kn(r)}(t);throw new Error("color object is not one of rgba, hsla, hsva")}function to(t){let r,e,n=t.r,o=t.g,i=t.b,u=Math.max(n,o,i),a=Math.min(n,o,i),f=(u+a)/2;if(u===a)r=e=0;else{let t=u-a;switch(e=f>.5?t/(2-u-a):t/(u+a),u){case n:r=(o-i)/t+(o<i?6:0);break;case o:r=(i-n)/t+2;break;case i:r=(n-o)/t+4}r/=6}return{h:r,s:e,l:f,a:t.a}}function ro(t){let r,e,n=t.r,o=t.g,i=t.b,u=Math.max(n,o,i),a=Math.min(n,o,i),f=u,c=u-a;if(e=0===u?0:c/u,u===a)r=0;else{switch(u){case n:r=(o-i)/c+(o<i?6:0);break;case o:r=(i-n)/c+2;break;case i:r=(n-o)/c+4}r/=6}return{h:r,s:e,v:f,a:t.a}}function eo(t){let r,e,n,o=t.h,i=t.s,u=t.l;function a(t,r,e){return e<0&&(e+=1),e>1&&(e-=1),e<1/6?t+6*(r-t)*e:e<.5?r:e<2/3?t+(r-t)*(2/3-e)*6:t}if(0===i)r=e=n=u;else{let t=u<.5?u*(1+i):u+i-u*i,f=2*u-t;r=a(f,t,o+1/3),e=a(f,t,o),n=a(f,t,o-1/3)}return{r:r,g:e,b:n,a:t.a}}function no(t){let r,e,n,o=t.h,i=t.s,u=t.v,a=Math.floor(6*o),f=6*o-a,c=u*(1-i),l=u*(1-f*i),s=u*(1-(1-f)*i);switch(a%6){case 0:r=u,e=s,n=c;break;case 1:r=l,e=u,n=c;break;case 2:r=c,e=u,n=s;break;case 3:r=c,e=l,n=u;break;case 4:r=s,e=c,n=u;break;case 5:r=u,e=c,n=l}return{r:r,g:e,b:n,a:t.a}}function oo(t){let r=Math.round(255*t).toString(16);if(1===r.length)return`0${r}`;if(2===r.length)return r;throw new Error("invalid value")}function io(t,r=!0){let e=t.r,n=t.g,o=t.b,i=t.a,u=`${oo(e)}${oo(n)}${oo(o)}`;return r&&(u=`${u}${oo(i)}`),u}function uo(t){return Math.min(1,Math.max(0,t))}function ao(t,r){if(!rr(r))throw new Error("fmtOutput is not a string");if(!Lo[r])throw console.log(`fmtOutput must be [${De(Lo)}]`),new Error("invalid fmtOutput");return t=Lo[r](t)}function fo(t,r,e="toRgbString"){if(r<0||r>1)throw new Error("amount < 0 or > 1");let n=to(t);return n.h+=r,n.h=n.h%1,ao(eo(n),e)}function co(t,r,e,n,o="toRgbString"){if(r<0||r>1)throw new Error("w1 < 0 or > 1");if(n<0||n>1)throw new Error("w1 < 0 or > 1");return ao({r:t.r*r+e.r*n,g:t.g*r+e.g*n,b:t.b*r+e.b*n,a:t.a*r+e.a*n},o)}function lo(t){return`${qr(100*t,1)}%`}function so(t){return qr(t,0)}function ho(t){return qr(t,3)}function go(t){return{r:so(255*t.r),g:so(255*t.g),b:so(255*t.b)}}function bo(t){return`rgb(${so(255*t.r)}, ${so(255*t.g)}, ${so(255*t.b)})`}function vo(t){return{r:so(255*t.r),g:so(255*t.g),b:so(255*t.b),a:ho(t.a)}}function po(t){return`rgba(${so(255*t.r)}, ${so(255*t.g)}, ${so(255*t.b)}, ${ho(t.a)})`}function yo(t){let r=to(t);return{h:so(360*r.h),s:ho(r.s),l:ho(r.l)}}function wo(t){let r=to(t);return`hsl(${so(360*r.h)}, ${ho(r.s)}, ${ho(r.l)})`}function mo(t){let r=to(t);return{h:so(360*r.h),s:ho(r.s),l:ho(r.l),a:ho(r.a)}}function _o(t){let r=to(t);return`hsla(${so(360*r.h)}, ${ho(r.s)}, ${ho(r.l)}, ${ho(r.a)})`}function jo(t){let r=ro(t);return{h:so(360*r.h),s:ho(r.s),v:ho(r.v)}}function $o(t){let r=ro(t);return`hsv(${so(360*r.h)}, ${ho(r.s)}, ${ho(r.v)})`}function So(t){let r=ro(t);return{h:so(360*r.h),s:ho(r.s),v:ho(r.v),a:ho(r.a)}}function ko(t){let r=ro(t);return`hsva(${so(360*r.h)}, ${ho(r.s)}, ${ho(r.v)}, ${ho(r.a)})`}function xo(t){return{r:lo(t.r),g:lo(t.g),b:lo(t.b)}}function Oo(t){return`rgb(${lo(t.r)}, ${lo(t.g)}, ${lo(t.b)})`}function Eo(t){return{r:lo(t.r),g:lo(t.g),b:lo(t.b),a:ho(t.a)}}function Ao(t){return`rgba(${lo(t.r)}, ${lo(t.g)}, ${lo(t.b)}, ${ho(t.a)})`}function Po(t){let r=to(t);return{h:so(360*r.h),s:lo(r.s),l:lo(r.l)}}function Ho(t){let r=to(t);return`hsl(${so(360*r.h)}, ${lo(r.s)}, ${lo(r.l)})`}function Ro(t){let r=to(t);return{h:so(360*r.h),s:lo(r.s),l:lo(r.l),a:ho(r.a)}}function zo(t){let r=to(t);return`hsla(${so(360*r.h)}, ${lo(r.s)}, ${lo(r.l)}, ${ho(r.a)})`}function Mo(t){let r=ro(t);return{h:so(360*r.h),s:lo(r.s),v:lo(r.v)}}function To(t){let r=ro(t);return`hsv(${so(360*r.h)}, ${lo(r.s)}, ${lo(r.v)})`}function Fo(t){let r=ro(t);return{h:so(360*r.h),s:lo(r.s),v:lo(r.v),a:ho(r.a)}}function qo(t){let r=ro(t);return`hsva(${so(360*r.h)}, ${lo(r.s)}, ${lo(r.v)}, ${ho(r.a)})`}function Co(t){let r=function(t){return io(t,!1)}(t);return`#${r}`}function Bo(t){return`#${io(t)}`}function Do(t){let r=null,e=null,n=null;if(rr(t))r=En(ee(t));else{if(!Hn(t))throw console.log("color=",t),new Error("color is not a string or an object");e=t}if(null!==r)try{n=Qn(r)}catch(t){throw console.log(t),new Error(`can not parse color: ${r}`)}else if(null!==e)try{n=Zn(e)}catch(t){throw console.log(t),new Error(`can not parse color: ${JSON.stringify(e)}`)}return n}function No(t){if(!Hn(t))return console.log("gradient is not an effective object"),t=>`rgb(${255*(t=Math.min(Math.max(t,0),1))},${255*t},${255*t})`;let r=[];return sn(t,(t,e)=>{r.push([Rr(e),vo(Do(t)),t])}),r=On(r,0),function(t){let e=null;for(let n=1;n<r.length;n++){let o=r[n-1][0],i=r[n-1][1],u=r[n][0],a=r[n][1];if(o<=t&&u>=t){let r=(u-t)/(u-o),n=(t-o)/(u-o);e=co(Do(i),r,Do(a),n,"toRgbaString");break}}return e}}let Lo={toRgb:go,toRgbString:bo,toRgba:vo,toRgbaString:po,toHsl:yo,toHslString:wo,toHsla:mo,toHslaString:_o,toHsv:jo,toHsvString:$o,toHsva:So,toHsvaString:ko,toRgbP:xo,toRgbPString:Oo,toRgbaP:Eo,toRgbaPString:Ao,toHslP:Po,toHslPString:Ho,toHslaP:Ro,toHslaPString:zo,toHsvP:Mo,toHsvPString:To,toHsvaP:Fo,toHsvaPString:qo,toHexString:Co,toHex8String:Bo};var Io={toRgb:t=>go(Do(t)),toRgbString:t=>bo(Do(t)),toRgba:t=>vo(Do(t)),toRgbaString:t=>po(Do(t)),toHsl:t=>yo(Do(t)),toHslString:t=>wo(Do(t)),toHsla:t=>mo(Do(t)),toHslaString:t=>_o(Do(t)),toHsv:t=>jo(Do(t)),toHsvString:t=>$o(Do(t)),toHsva:t=>So(Do(t)),toHsvaString:t=>ko(Do(t)),toRgbP:t=>xo(Do(t)),toRgbPString:t=>Oo(Do(t)),toRgbaP:t=>Eo(Do(t)),toRgbaPString:t=>Ao(Do(t)),toHslP:t=>Po(Do(t)),toHslPString:t=>Ho(Do(t)),toHslaP:t=>Ro(Do(t)),toHslaPString:t=>zo(Do(t)),toHsvP:t=>Mo(Do(t)),toHsvPString:t=>To(Do(t)),toHsvaP:t=>Fo(Do(t)),toHsvaPString:t=>qo(Do(t)),toHexString:t=>Co(Do(t)),toHex8String:t=>Bo(Do(t)),modSaturate:(t,r,e)=>function(t,r,e="toRgbString"){if(r<0||r>1)throw new Error("amount < 0 or > 1");let n=to(t);return n.s+=r,n.s=uo(n.s),ao(eo(n),e)}(Do(t),r,e),modGrey:(t,r)=>function(t,r="toRgbString"){let e=to(t);return e.s=0,ao(eo(e),r)}(Do(t),r),modLighten:(t,r,e)=>function(t,r,e="toRgbString"){if(r<0||r>1)throw new Error("amount < 0 or > 1");let n=to(t);return n.l+=r,n.l=uo(n.l),ao(eo(n),e)}(Do(t),r,e),modBrighten:(t,r,e)=>function(t,r,e="toRgbString"){if(r<0||r>1)throw new Error("amount < 0 or > 1");return t.r+=r,t.r=uo(t.r),t.g+=r,t.g=uo(t.g),t.b+=r,t.b=uo(t.b),ao(t,e)}(Do(t),r,e),modHue:(t,r,e)=>fo(Do(t),r,e),modComplement:(t,r)=>function(t,r="toRgbString"){return fo(t,.5,r)}(Do(t),r),spreadHue:(t,r,e)=>function(t,r,e="toRgbString"){if(!zr(r))throw new Error("num is not an integer");if((r=Cr(r))<=1)return[t];let n=to(t),o=1/r,i=[];for(let t=0;t<r;t++)i.push(ao(eo(n),e)),n.h+=o,n.h=n.h%1;return i}(Do(t),r,e),spreadMonochromatic:(t,r,e)=>function(t,r,e="toRgbString"){if(!zr(r))throw new Error("num is not an integer");if((r=Cr(r))<=1)return[t];let n=ro(t);n.s=1,n.l=1;let o=1/r,i=[];for(let t=0;t<r;t++)i.push(ao(no(n),e)),n.h-=o,n.l-=o;return i}(Do(t),r,e),mix:(t,r,e,n,o)=>co(Do(t),r,Do(e),n,o),getBrightness:t=>function(t){if(1!==t.a)throw new Error("alpha of color can not be equal to 1");return(299*t.r+587*t.g+114*t.b)/1e3}(Do(t)),getLuminance:t=>function(t){if(1!==t.a)throw new Error("alpha of color can not be equal to 1");let r,e,n,o=t.r,i=t.g,u=t.b;return r=o<=.03928?o/12.92:Math.pow((o+.055)/1.055,2.4),e=i<=.03928?i/12.92:Math.pow((i+.055)/1.055,2.4),n=u<=.03928?u/12.92:Math.pow((u+.055)/1.055,2.4),.2126*r+.7152*e+.0722*n}(Do(t)),interp:No};async function Uo(r){let e=t.readFileSync(r);return u.imdecode(e)}async function Vo(r,e){let n=u.imencode(".png",e);t.writeFileSync(r,n)}async function Go(t,r,e,n={}){let o=ht(n,"useToGray");mr(o)||(o=!1);let i=t.resize(Math.floor(t.rows*e),Math.floor(t.cols*e));if(i.rows<10||i.cols<10)throw new Error(`縮放後檢測尺寸過小: [imgTarResize:${i.cols}x${i.rows}]`);if(i.rows>r.rows||i.cols>r.cols)throw new Error(`縮放後檢測>截圖尺寸: [imgScreen:${r.cols}x${r.rows}] > [imgTarResize:${i.cols}x${i.rows}]`);o&&(r=r.bgrToGray(),i=i.bgrToGray());let a=r.matchTemplate(i,u.TM_CCOEFF_NORMED),{maxVal:f,maxLoc:c}=a.minMaxLoc();return{similarity:f,x:c.x,y:c.y,width:i.cols,height:i.rows,scale:e}}let Wo={calcSimilarity:async function(t,r,e,n={}){let o=await Uo(r),i=await Uo(t);return await Go(i,o,e,n)},calcSimilarityAndDraw:async function(t,r,e,n,o={}){let i=ht(o,"drawBorderWidth");Br(i)||(i=2);let a=ht(o,"drawBorderColor");rr(a)||(a="#f00"),a=Io.toRgb(a);let f=await Uo(r),c=await Uo(t),l=await Go(c,f,e,o),s=new u.Point2(l.x,l.y),h=new u.Point2(l.x+l.width,l.y+l.height);return f.drawRectangle(s,h,new u.Vec3(a.b,a.g,a.r),i,u.LINE_8),await Vo(n,f),{...l,fp:n}},screenAndDrawCircle:async function(t,r,e,n,o,i,a,f={}){let c=ht(f,"drawCircleRadius");Br(c)||(c=5);let l=ht(f,"drawBorderWidth");Br(l)||(l=2);let s=ht(f,"drawBorderColor");rr(s)||(s="#f00"),s=Io.toRgb(s),await wr.screenSave(t,r,e,n,a);let h=await Uo(a),d=new u.Point2(o,i);h.drawCircle(d,c,new u.Vec3(s.b,s.g,s.r),l,u.LINE_8),await Vo(a,h)}},Jo=async(t,r={})=>{let e=!1,n=ht(r,"fdTar",null);if(rr(n)||(n="./pic"),!ar(n))throw new Error(`opt.fdTar[${r.fdTar}] is not a folder`);let o=ht(r,"fdTmp",null);rr(o)||(o="./_tmp"),ar(o)||fr(o);let i=!0;"color"===ht(r,"modeCompare","gray")&&(i=!1);let u=`${n}/${t}.png`;if(!ir(u))throw new Error(`fpTar[${u}] is not a file`);let a=`${o}/${t}.all.png`,f=`${o}/${t}.det.png`,c=ht(r,"x",0),l=ht(r,"y",0),s=ht(r,"width",1920),h=ht(r,"height",1080),d=ht(r,"threshold",.9),g=ht(r,"withClick",!0),b=ht(r,"withDrag",!1);await wr.screenSave(c,l,s,h,a);let v=await Wo.calcSimilarityAndDraw(u,a,1,f,{useToGray:i});console.log(t,"similarity",v.similarity);let p=(t=>({cx:t.x+t.width/2,cy:t.y+t.height/2}))(v);if(v={...v,...p},v.similarity>d){if(g){let t=ht(r,"dx",0),e=ht(r,"dy",0);await yr.mouseClick(v.cx+c+t,v.cy+l+e)}if(b){let t=ht(r,"dx1",0),e=ht(r,"dy1",0),n=ht(r,"dx2",0),o=ht(r,"dy2",0);await yr.mouseDrag(v.cx+c+t,v.cy+l+e,v.cx+c+n,v.cy+l+o)}e=!0}return e};return async(t,r={})=>{let e=!1;rr(t)&&(t=[t]);let n=ht(r,"numMax",60),o=ht(r,"timeDelay",1500);for(let i=1;i<=n;i++){console.log(`waitPics names[${t}]...`,i);let n=!1;for(let e=0;e<Zt(t);e++){let o=t[e];if(n=await Jo(o,r),n)break}if(n){e=!0;break}await or(o)}return e}}); //# sourceMappingURL=wait-pics.umd.js.map