w-mousekey 1.0.9 → 1.0.10
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/action.umd.js +1 -1
- package/dist/ck-pic.umd.js +2 -2
- package/dist/ck-pic.umd.js.map +1 -1
- package/dist/ck-pics.umd.js +1 -1
- package/dist/compare.umd.js +2 -2
- package/dist/compare.umd.js.map +1 -1
- package/dist/get-settings.umd.js +1 -1
- package/dist/mousekey.umd.js +1 -1
- package/dist/screen.umd.js +2 -2
- package/dist/screen.umd.js.map +1 -1
- package/dist/wait-pics.umd.js +2 -2
- package/dist/wait-pics.umd.js.map +1 -1
- package/docs/index.html +1 -1
- package/package.json +1 -1
- package/src/screen.mjs +18 -4
package/dist/action.umd.js
CHANGED
package/dist/ck-pic.umd.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* ck-pic v1.0.
|
|
2
|
+
* ck-pic v1.0.10
|
|
3
3
|
* (c) 2018-2021 yuda-lyu(semisphere)
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
6
|
-
!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)["ck-pic"]=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 p=Object.prototype.toString;var v=s?s.toStringTag:void 0;function y(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":v&&v 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 p.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,F=z.hasOwnProperty,T=RegExp("^"+M.call(F).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function q(t){return!(!S(t)||(r=t,E&&E in r))&&(k(t)?T: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}function dt(t){return"[object String]"===Object.prototype.toString.call(t)}function gt(t){return!(!dt(t)||""===t)}function bt(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 pt(t,r={}){let e=ht(r,"fs");if(!e.existsSync(t))return!1;let n=e.lstatSync(t);return!n.isFile()&&!n.isSymbolicLink()}function vt(r){return pt(r,{fs:t})}function yt(r){return function(t,r={}){let e=ht(r,"fs");if(pt(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 wt=n.promisify(e.execFile),mt=r.resolve(),_t="AutoHotkey64.exe",jt="";{let t=`${mt}/AutoHotkey_2.0.19/`,r=`${mt}/node_modules/w-mousekey/AutoHotkey_2.0.19/`;if(bt(`${t}${_t}`))jt=t;else{if(!bt(`${r}${_t}`))throw new Error("can not find folder for AutoHotkey");jt=r}}let $t=`${jt}/AutoHotkey64.exe`,St=`${jt}/zclick.ahk`,kt=`${jt}/zdrag.ahk`,xt=`${jt}/zsend.ahk`;async function Ot(t,r,e=[]){let n=function(){let t,r,e=new Promise(function(){t=arguments[0],r=arguments[1]});return e.resolve=t,e.reject=r,e}();try{let{stdout:o,stderr:i}=await wt(t,["/force",r,...e]);i?n.reject(i):n.resolve(o)}catch(t){n.reject(t)}return n}let Et={mouseClick:async function(t,r){await Ot($t,St,[t,r])},mouseDrag:async function(t,r,e,n){await Ot($t,kt,[t,r,e,n])},sendKey:async function(t){await Ot($t,xt,[`${t}`])},sendString:async function(t){await Ot($t,xt,[`${t}`])}};let At={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 Pt(t){return!0===(r=t)||!1===r||w(r)&&"[object Boolean]"==y(r);var r}var Ht=/\s/;var Rt=/^\s+/;function zt(t){return t?t.slice(0,function(t){for(var r=t.length;r--&&Ht.test(t.charAt(r)););return r}(t)+1).replace(Rt,""):t}var Mt=/^[-+]0x[0-9a-f]+$/i,Ft=/^0b[01]+$/i,Tt=/^0o[0-7]+$/i,qt=parseInt;function Ct(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=zt(t);var e=Ft.test(t);return e||Tt.test(t)?qt(t.slice(2),e?2:8):Mt.test(t)?NaN:+t}var Bt=1/0;function Dt(t){return t?(t=Ct(t))===Bt||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}function Nt(t){var r=Dt(t),e=r%1;return r==r?e?r-e:r:0}function Lt(t){let r=!1;if(gt(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 It(t){if(!Lt(t))return 0;return Dt(t)}function Ut(t){return!!Lt(t)&&(t=It(t),"number"==typeof(r=t)&&r==Nt(r));var r}var Vt=l.isFinite,Gt=Math.min;var Wt=function(t){var r=Math[t];return function(t,e){if(t=Ct(t),(e=null==e?0:Gt(Nt(e),292))&&Vt(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"),Jt=Wt;function Kt(t){if(!Lt(t))return 0;t=It(t);let r=Jt(t);return"0"===String(r)?0:r}function Qt(t){if(!Ut(t))return!1;return Kt(t)>0}function Xt(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 Yt(t){return t!=t}function Zt(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,Yt,e)}var tr=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");function rr(t){return tr.test(t)}var er="\\ud800-\\udfff",nr="["+er+"]",or="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",ir="\\ud83c[\\udffb-\\udfff]",ur="[^"+er+"]",ar="(?:\\ud83c[\\udde6-\\uddff]){2}",fr="[\\ud800-\\udbff][\\udc00-\\udfff]",cr="(?:"+or+"|"+ir+")"+"?",lr="[\\ufe0e\\ufe0f]?",sr=lr+cr+("(?:\\u200d(?:"+[ur,ar,fr].join("|")+")"+lr+cr+")*"),hr="(?:"+[ur+or+"?",or,ar,fr,nr].join("|")+")",dr=RegExp(ir+"(?="+ir+")|"+hr+sr,"g");function gr(t){return rr(t)?function(t){return t.match(dr)||[]}(t):function(t){return t.split("")}(t)}function br(t,r,e){if((t=ft(t))&&(e||void 0===r))return zt(t);if(!t||!(r=at(r)))return t;var n=gr(t),o=gr(r),i=function(t,r){for(var e=-1,n=t.length;++e<n&&Zt(r,t[e],0)>-1;);return e}(n,o),u=function(t,r){for(var e=t.length;e--&&Zt(r,t[e],0)>-1;);return e}(n,o)+1;return Xt(n,i,u).join("")}function pr(t){var r=this.__data__=new G(t);this.size=r.size}pr.prototype.clear=function(){this.__data__=new G,this.size=0},pr.prototype.delete=function(t){var r=this.__data__,e=r.delete(t);return this.size=r.size,e},pr.prototype.get=function(t){return this.__data__.get(t)},pr.prototype.has=function(t){return this.__data__.has(t)},pr.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 vr(t){var r=-1,e=null==t?0:t.length;for(this.__data__=new K;++r<e;)this.add(t[r])}function yr(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 wr(t,r){return t.has(r)}vr.prototype.add=vr.prototype.push=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this},vr.prototype.has=function(t){return this.__data__.has(t)};function mr(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 vr:void 0;for(i.set(t,r),i.set(r,t);++s<a;){var g=t[s],b=r[s];if(n)var p=u?n(b,g,s,r,t,i):n(g,b,s,t,r,i);if(void 0!==p){if(p)continue;h=!1;break}if(d){if(!yr(r,function(t,r){if(!wr(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 _r=l.Uint8Array;function jr(t){var r=-1,e=Array(t.size);return t.forEach(function(t,n){e[++r]=[n,t]}),e}function $r(t){var r=-1,e=Array(t.size);return t.forEach(function(t){e[++r]=t}),e}var Sr=s?s.prototype:void 0,kr=Sr?Sr.valueOf:void 0;function xr(t,r){for(var e=-1,n=r.length,o=t.length;++e<n;)t[o+e]=r[e];return t}var Or=Object.prototype.propertyIsEnumerable,Er=Object.getOwnPropertySymbols,Ar=Er?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}(Er(t),function(r){return Or.call(t,r)}))}:function(){return[]},Pr=Ar;function Hr(t){return w(t)&&"[object Arguments]"==y(t)}var Rr=Object.prototype,zr=Rr.hasOwnProperty,Mr=Rr.propertyIsEnumerable,Fr=Hr(function(){return arguments}())?Hr:function(t){return w(t)&&zr.call(t,"callee")&&!Mr.call(t,"callee")},Tr=Fr;var qr="object"==typeof exports&&exports&&!exports.nodeType&&exports,Cr=qr&&"object"==typeof module&&module&&!module.nodeType&&module,Br=Cr&&Cr.exports===qr?l.Buffer:void 0,Dr=(Br?Br.isBuffer:void 0)||function(){return!1},Nr=/^(?:0|[1-9]\d*)$/;function Lr(t,r){var e=typeof t;return!!(r=null==r?9007199254740991:r)&&("number"==e||"symbol"!=e&&Nr.test(t))&&t>-1&&t%1==0&&t<r}function Ir(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}var Ur={};function Vr(t){return function(r){return t(r)}}Ur["[object Float32Array]"]=Ur["[object Float64Array]"]=Ur["[object Int8Array]"]=Ur["[object Int16Array]"]=Ur["[object Int32Array]"]=Ur["[object Uint8Array]"]=Ur["[object Uint8ClampedArray]"]=Ur["[object Uint16Array]"]=Ur["[object Uint32Array]"]=!0,Ur["[object Arguments]"]=Ur["[object Array]"]=Ur["[object ArrayBuffer]"]=Ur["[object Boolean]"]=Ur["[object DataView]"]=Ur["[object Date]"]=Ur["[object Error]"]=Ur["[object Function]"]=Ur["[object Map]"]=Ur["[object Number]"]=Ur["[object Object]"]=Ur["[object RegExp]"]=Ur["[object Set]"]=Ur["[object String]"]=Ur["[object WeakMap]"]=!1;var Gr="object"==typeof exports&&exports&&!exports.nodeType&&exports,Wr=Gr&&"object"==typeof module&&module&&!module.nodeType&&module,Jr=Wr&&Wr.exports===Gr&&f.process,Kr=function(){try{var t=Wr&&Wr.require&&Wr.require("util").types;return t||Jr&&Jr.binding&&Jr.binding("util")}catch(t){}}(),Qr=Kr&&Kr.isTypedArray,Xr=Qr?Vr(Qr):function(t){return w(t)&&Ir(t.length)&&!!Ur[y(t)]},Yr=Object.prototype.hasOwnProperty;function Zr(t,r){var e=a(t),n=!e&&Tr(t),o=!e&&!n&&Dr(t),i=!e&&!n&&!o&&Xr(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&&!Yr.call(t,l)||u&&("length"==l||o&&("offset"==l||"parent"==l)||i&&("buffer"==l||"byteLength"==l||"byteOffset"==l)||Lr(l,c))||f.push(l);return f}var te=Object.prototype;var re=function(t,r){return function(e){return t(r(e))}}(Object.keys,Object),ee=re,ne=Object.prototype.hasOwnProperty;function oe(t){if(e=(r=t)&&r.constructor,r!==("function"==typeof e&&e.prototype||te))return ee(t);var r,e,n=[];for(var o in Object(t))ne.call(t,o)&&"constructor"!=o&&n.push(o);return n}function ie(t){return null!=t&&Ir(t.length)&&!k(t)}function ue(t){return ie(t)?Zr(t):oe(t)}function ae(t){return function(t,r,e){var n=r(t);return a(t)?n:xr(n,e(t))}(t,ue,Pr)}var fe=Object.prototype.hasOwnProperty;var ce=C(l,"DataView"),le=C(l,"Promise"),se=C(l,"Set"),he=C(l,"WeakMap"),de="[object Map]",ge="[object Promise]",be="[object Set]",pe="[object WeakMap]",ve="[object DataView]",ye=P(ce),we=P(W),me=P(le),_e=P(se),je=P(he),$e=y;(ce&&$e(new ce(new ArrayBuffer(1)))!=ve||W&&$e(new W)!=de||le&&$e(le.resolve())!=ge||se&&$e(new se)!=be||he&&$e(new he)!=pe)&&($e=function(t){var r=y(t),e="[object Object]"==r?t.constructor:void 0,n=e?P(e):"";if(n)switch(n){case ye:return ve;case we:return de;case me:return ge;case _e:return be;case je:return pe}return r});var Se=$e,ke="[object Arguments]",xe="[object Array]",Oe="[object Object]",Ee=Object.prototype.hasOwnProperty;function Ae(t,r,e,n,o,i){var u=a(t),f=a(r),c=u?xe:Se(t),l=f?xe:Se(r),s=(c=c==ke?Oe:c)==Oe,h=(l=l==ke?Oe:l)==Oe,d=c==l;if(d&&Dr(t)){if(!Dr(r))return!1;u=!0,s=!1}if(d&&!s)return i||(i=new pr),u||Xr(t)?mr(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 _r(t),new _r(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=jr;case"[object Set]":var f=1&n;if(a||(a=$r),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=mr(a(t),a(r),n,o,i,u);return u.delete(t),l;case"[object Symbol]":if(kr)return kr.call(t)==kr.call(r)}return!1}(t,r,c,e,n,o,i);if(!(1&e)){var g=s&&Ee.call(t,"__wrapped__"),b=h&&Ee.call(r,"__wrapped__");if(g||b){var p=g?t.value():t,v=b?r.value():r;return i||(i=new pr),o(p,v,e,n,i)}}return!!d&&(i||(i=new pr),function(t,r,e,n,o,i){var u=1&e,a=ae(t),f=a.length;if(f!=ae(r).length&&!u)return!1;for(var c=f;c--;){var l=a[c];if(!(u?l in r:fe.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]],p=r[l];if(n)var v=u?n(p,b,l,r,t,i):n(b,p,l,t,r,i);if(!(void 0===v?b===p||o(b,p,e,n,i):v)){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 Pe(t,r,e,n,o){return t===r||(null==t||null==r||!w(t)&&!w(r)?t!=t&&r!=r:Ae(t,r,e,n,Pe,o))}function He(t){return t==t&&!S(t)}function Re(t,r){return function(e){return null!=e&&(e[t]===r&&(void 0!==r||t in Object(e)))}}function ze(t){var r=function(t){for(var r=ue(t),e=r.length;e--;){var n=r[e],o=t[n];r[e]=[n,o,He(o)]}return r}(t);return 1==r.length&&r[0][2]?Re(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 pr;if(n)var h=n(c,l,f,t,r,s);if(!(void 0===h?Pe(l,c,3,n,s):h))return!1}}return!0}(e,t,r)}}function Me(t,r){return null!=t&&r in Object(t)}function Fe(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)&&Ir(o)&&Lr(u,o)&&(a(t)||Tr(t))}(t,r,Me)}function Te(t){return t}function qe(t){return function(r){return null==r?void 0:r[t]}}function Ce(t){return $(t)?qe(lt(t)):function(t){return function(r){return st(r,t)}}(t)}function Be(t){return"function"==typeof t?t:null==t?Te:"object"==typeof t?a(t)?function(t,r){return $(t)&&He(r)?Re(lt(t),r):function(e){var n=ht(e,t);return void 0===n&&n===r?Fe(e,t):Pe(r,n,3)}}(t[0],t[1]):ze(t):Ce(t)}var De,Ne=function(t,r,e){for(var n=-1,o=Object(t),i=e(t),u=i.length;u--;){var a=i[De?u:++n];if(!1===r(o[a],a,o))break}return t};var Le=function(t,r){return function(e,n){if(null==e)return e;if(!ie(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&&Ne(t,r,ue)}),Ie=Le;function Ue(t,r){var e=-1,n=ie(t)?Array(t.length):[];return Ie(t,function(t,o,i){n[++e]=r(t,o,i)}),n}function Ve(t,r){return(a(t)?ot:Ue)(t,Be(r))}function Ge(t,r){for(var e=-1,n=null==t?0:t.length;++e<n&&!1!==r(t[e],e,t););return t}function We(t,r){var e;return(a(t)?Ge:Ie)(t,"function"==typeof(e=r)?e:Te)}var Je=qe("length"),Ke="\\ud800-\\udfff",Qe="["+Ke+"]",Xe="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",Ye="\\ud83c[\\udffb-\\udfff]",Ze="[^"+Ke+"]",tn="(?:\\ud83c[\\udde6-\\uddff]){2}",rn="[\\ud800-\\udbff][\\udc00-\\udfff]",en="(?:"+Xe+"|"+Ye+")"+"?",nn="[\\ufe0e\\ufe0f]?",on=nn+en+("(?:\\u200d(?:"+[Ze,tn,rn].join("|")+")"+nn+en+")*"),un="(?:"+[Ze+Xe+"?",Xe,tn,rn,Qe].join("|")+")",an=RegExp(Ye+"(?="+Ye+")|"+un+on,"g");function fn(t){return rr(t)?function(t){for(var r=an.lastIndex=0;an.test(t);)++r;return r}(t):Je(t)}function cn(t){if(null==t)return 0;if(ie(t))return"string"==typeof(r=t)||!a(r)&&w(r)&&"[object String]"==y(r)?fn(t):t.length;var r,e=Se(t);return"[object Map]"==e||"[object Set]"==e?t.size:oe(t).length}var ln=s?s.isConcatSpreadable:void 0;function sn(t){return a(t)||Tr(t)||!!(ln&&t&&t[ln])}function hn(t,r,e,n,o){var i=-1,u=t.length;for(e||(e=sn),o||(o=[]);++i<u;){var a=t[i];r>0&&e(a)?r>1?hn(a,r-1,e,n,o):xr(o,a):n||(o[o.length]=a)}return o}function dn(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 gn(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}):[Te];var n=-1;return r=ot(r,Vr(Be)),function(t,r){var e=t.length;for(t.sort(r);e--;)t[e]=t[e].value;return t}(Ue(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=dn(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 bn=Math.max;var pn=function(){try{var t=C(Object,"defineProperty");return t({},"",{}),t}catch(t){}}(),vn=pn,yn=vn?function(t,r){return vn(t,"toString",{configurable:!0,enumerable:!1,value:(e=r,function(){return e}),writable:!0});var e}:Te,wn=yn,mn=Date.now;var _n=function(t){var r=0,e=0;return function(){var n=mn(),o=16-(n-e);if(e=n,o>0){if(++r>=800)return arguments[0]}else r=0;return t.apply(void 0,arguments)}}(wn),jn=_n;function $n(t,r,e){if(!S(e))return!1;var n=typeof r;return!!("number"==n?ie(e)&&Lr(r,e.length):"string"==n&&r in e)&&I(e[r],t)}var Sn=function(t,r){return jn(function(t,r,e){return r=bn(void 0===r?t.length-1:r,0),function(){for(var n=arguments,o=-1,i=bn(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,Te),t+"")}(function(t,r){if(null==t)return[];var e=r.length;return e>1&&$n(t,r[0],r[1])?r=[]:e>2&&$n(r[0],r[1],r[2])&&(r=[r[0]]),gn(t,hn(r,1),[])}),kn=Sn;function xn(t){return ft(t).toLowerCase()}function On(t){return ft(t).toUpperCase()}function En(t){return"[object Object]"===Object.prototype.toString.call(t)}function An(t){if(En(t)){for(let r in t)return!0;return!1}return!1}function Pn(t){if(!Ut(t))return!1;return Kt(t)>=0}function Hn(t,r){return gt(t)&&Pn(r)?0===(r=Kt(r))?"":t.substring(0,r):""}function Rn(t,r){return gt(t)&&Pn(r)?0===(r=Kt(r))?t:function(t,r){if(!gt(t))return"";if(!Pn(r))return"";if(0===(r=Kt(r)))return"";let e=t.length-r;return e<0&&(e=0),t.substring(e,e+r)}(t,t.length-r):""}function zn(t,r,e){if(!gt(t))return"";if(!gt(r))return"";if(!dt(e))return"";return String(t).replaceAll(r,e)}function Mn(t,r){if(!gt(t))return[];if(!gt(r))return[];let e=function(t,r){return gt(t)&>(r)?t.split(r):[]}(t,r);e=Ve(e,br);let n=[];return We(e,function(t){gt(t)&&n.push(t)}),n}function Fn(t){if(!gt(t)&&!Lt(t)&&!m(t))return"";let r="";try{r=String(t)}catch(t){}try{r=t.toString()}catch(t){}return r}function Tn(t,r){return!!En(t)&&(!(!gt(r)&&!Lt(r))&&r in t)}function qn(t,r,e=1){return gt(t)&&Pn(r)?(e=Qt(e)?Kt(e):1,t.substring(r,r+e)):""}let Cn={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 Bn(t){return Nn(t,1)}function Dn(t){return Nn(t,360)}function Nn(t,r=1){if(t.indexOf("%")>=0){if(!Lt(t=zn(t,"%","")))throw new Error("invalid color: value is not a number");t=It(t)/100}else{if(!Lt(t))throw new Error("invalid color: value is not a number");t=It(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 Ln(t){if(!Lt(t))throw new Error("invalid color: value is not a number");if((t=It(t))>1)throw new Error("invalid color: value > 1");if(t<0)throw new Error("invalid color: value < 0");return t}function In(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!==cn(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 Un(t){let r=(t=Rn(t,1)).length;if(2===r)t=`${t}${t}${t}ff`;else if(3===r){let r=qn(t,0,1),e=qn(t,1,1),n=qn(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(!Lt(t=parseInt(t,16)))throw new Error("invalid hex of color");return(t=It(t))/255}return{r:e(qn(t,0,2)),g:e(qn(t,2,2)),b:e(qn(t,4,2)),a:e(qn(t,6,2))}}function Vn(t){return t=In(t=Ve(t,(t,r)=>r<=2?Nn(t,255):3===r?Ln(t):null),"rgba")}function Gn(t){return t=to(t=In(t=Ve(t,(t,r)=>0===r?Dn(t):1===r||2===r?Bn(t):3===r?Ln(t):null),"hsla"))}function Wn(t){return t=ro(t=In(t=Ve(t,(t,r)=>0===r?Dn(t):1===r||2===r?Bn(t):3===r?Ln(t):null),"hsva"))}function Jn(t){if("transparent"===t)return{r:0,g:0,b:0,a:0};if(function(t){return Tn(Cn,t)}(t))return Un(t=`#${Cn[t]}`);if(function(t){return"#"===Hn(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 Un(t);if(function(t){return"rgb"===Hn(t,3)||"rgba"===Hn(t,4)}(t))return function(t){return t=zn(t,"rgba",""),t=zn(t,"rgb",""),Vn(Mn(t=zn(t=t.replace(/[()]/g,""),","," ")," "))}(t);if(function(t){return"hsl"===Hn(t,3)||"hsla"===Hn(t,4)}(t))return function(t){return t=zn(t,"hsla",""),t=zn(t,"hsl",""),Gn(Mn(t=zn(t=t.replace(/[()]/g,""),","," ")," "))}(t);if(function(t){return"hsv"===Hn(t,3)||"hsva"===Hn(t,4)}(t))return function(t){return t=zn(t,"hsva",""),t=zn(t,"hsv",""),Wn(Mn(t=zn(t=t.replace(/[()]/g,""),","," ")," "))}(t);throw new Error("format of color string is not hex-color, name-color, rgba, hsla, hsva")}function Kn(t,r){return!!Tn(t,r=xn(r))||!!Tn(t,r=On(r))}function Qn(t,r,e){let n;return n=ht(t,r,null),null!==n?n:(n=ht(t,r=On(r),null),null!==n?n:e)}function Xn(t){if(function(t){let r=Kn(t,"r"),e=Kn(t,"g"),n=Kn(t,"b");return r&&e&&n}(t))return function(t){let r=[Qn(t,"r",null),Qn(t,"g",null),Qn(t,"b",null),Qn(t,"a",1)];return r=Ve(r,Fn),Vn(r)}(t);if(function(t){let r=Kn(t,"h"),e=Kn(t,"s"),n=Kn(t,"l");return r&&e&&n}(t))return function(t){let r=[Qn(t,"h",null),Qn(t,"s",null),Qn(t,"l",null),Qn(t,"a",1)];return r=Ve(r,Fn),Gn(r)}(t);if(function(t){let r=Kn(t,"h"),e=Kn(t,"s"),n=Kn(t,"v");return r&&e&&n}(t))return function(t){let r=[Qn(t,"h",null),Qn(t,"s",null),Qn(t,"v",null),Qn(t,"a",1)];return r=Ve(r,Fn),Wn(r)}(t);throw new Error("color object is not one of rgba, hsla, hsva")}function Yn(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 Zn(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 to(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 ro(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 eo(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 no(t,r=!0){let e=t.r,n=t.g,o=t.b,i=t.a,u=`${eo(e)}${eo(n)}${eo(o)}`;return r&&(u=`${u}${eo(i)}`),u}function oo(t){return Math.min(1,Math.max(0,t))}function io(t,r){if(!gt(r))throw new Error("fmtOutput is not a string");if(!Do[r])throw console.log(`fmtOutput must be [${ue(Do)}]`),new Error("invalid fmtOutput");return t=Do[r](t)}function uo(t,r,e="toRgbString"){if(r<0||r>1)throw new Error("amount < 0 or > 1");let n=Yn(t);return n.h+=r,n.h=n.h%1,io(to(n),e)}function ao(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 io({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 fo(t){return`${Jt(100*t,1)}%`}function co(t){return Jt(t,0)}function lo(t){return Jt(t,3)}function so(t){return{r:co(255*t.r),g:co(255*t.g),b:co(255*t.b)}}function ho(t){return`rgb(${co(255*t.r)}, ${co(255*t.g)}, ${co(255*t.b)})`}function go(t){return{r:co(255*t.r),g:co(255*t.g),b:co(255*t.b),a:lo(t.a)}}function bo(t){return`rgba(${co(255*t.r)}, ${co(255*t.g)}, ${co(255*t.b)}, ${lo(t.a)})`}function po(t){let r=Yn(t);return{h:co(360*r.h),s:lo(r.s),l:lo(r.l)}}function vo(t){let r=Yn(t);return`hsl(${co(360*r.h)}, ${lo(r.s)}, ${lo(r.l)})`}function yo(t){let r=Yn(t);return{h:co(360*r.h),s:lo(r.s),l:lo(r.l),a:lo(r.a)}}function wo(t){let r=Yn(t);return`hsla(${co(360*r.h)}, ${lo(r.s)}, ${lo(r.l)}, ${lo(r.a)})`}function mo(t){let r=Zn(t);return{h:co(360*r.h),s:lo(r.s),v:lo(r.v)}}function _o(t){let r=Zn(t);return`hsv(${co(360*r.h)}, ${lo(r.s)}, ${lo(r.v)})`}function jo(t){let r=Zn(t);return{h:co(360*r.h),s:lo(r.s),v:lo(r.v),a:lo(r.a)}}function $o(t){let r=Zn(t);return`hsva(${co(360*r.h)}, ${lo(r.s)}, ${lo(r.v)}, ${lo(r.a)})`}function So(t){return{r:fo(t.r),g:fo(t.g),b:fo(t.b)}}function ko(t){return`rgb(${fo(t.r)}, ${fo(t.g)}, ${fo(t.b)})`}function xo(t){return{r:fo(t.r),g:fo(t.g),b:fo(t.b),a:lo(t.a)}}function Oo(t){return`rgba(${fo(t.r)}, ${fo(t.g)}, ${fo(t.b)}, ${lo(t.a)})`}function Eo(t){let r=Yn(t);return{h:co(360*r.h),s:fo(r.s),l:fo(r.l)}}function Ao(t){let r=Yn(t);return`hsl(${co(360*r.h)}, ${fo(r.s)}, ${fo(r.l)})`}function Po(t){let r=Yn(t);return{h:co(360*r.h),s:fo(r.s),l:fo(r.l),a:lo(r.a)}}function Ho(t){let r=Yn(t);return`hsla(${co(360*r.h)}, ${fo(r.s)}, ${fo(r.l)}, ${lo(r.a)})`}function Ro(t){let r=Zn(t);return{h:co(360*r.h),s:fo(r.s),v:fo(r.v)}}function zo(t){let r=Zn(t);return`hsv(${co(360*r.h)}, ${fo(r.s)}, ${fo(r.v)})`}function Mo(t){let r=Zn(t);return{h:co(360*r.h),s:fo(r.s),v:fo(r.v),a:lo(r.a)}}function Fo(t){let r=Zn(t);return`hsva(${co(360*r.h)}, ${fo(r.s)}, ${fo(r.v)}, ${lo(r.a)})`}function To(t){let r=function(t){return no(t,!1)}(t);return`#${r}`}function qo(t){return`#${no(t)}`}function Co(t){let r=null,e=null,n=null;if(gt(t))r=xn(br(t));else{if(!An(t))throw console.log("color=",t),new Error("color is not a string or an object");e=t}if(null!==r)try{n=Jn(r)}catch(t){throw console.log(t),new Error(`can not parse color: ${r}`)}else if(null!==e)try{n=Xn(e)}catch(t){throw console.log(t),new Error(`can not parse color: ${JSON.stringify(e)}`)}return n}function Bo(t){if(!An(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 We(t,(t,e)=>{r.push([It(e),go(Co(t)),t])}),r=kn(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=ao(Co(i),r,Co(a),n,"toRgbaString");break}}return e}}let Do={toRgb:so,toRgbString:ho,toRgba:go,toRgbaString:bo,toHsl:po,toHslString:vo,toHsla:yo,toHslaString:wo,toHsv:mo,toHsvString:_o,toHsva:jo,toHsvaString:$o,toRgbP:So,toRgbPString:ko,toRgbaP:xo,toRgbaPString:Oo,toHslP:Eo,toHslPString:Ao,toHslaP:Po,toHslaPString:Ho,toHsvP:Ro,toHsvPString:zo,toHsvaP:Mo,toHsvaPString:Fo,toHexString:To,toHex8String:qo};var No={toRgb:t=>so(Co(t)),toRgbString:t=>ho(Co(t)),toRgba:t=>go(Co(t)),toRgbaString:t=>bo(Co(t)),toHsl:t=>po(Co(t)),toHslString:t=>vo(Co(t)),toHsla:t=>yo(Co(t)),toHslaString:t=>wo(Co(t)),toHsv:t=>mo(Co(t)),toHsvString:t=>_o(Co(t)),toHsva:t=>jo(Co(t)),toHsvaString:t=>$o(Co(t)),toRgbP:t=>So(Co(t)),toRgbPString:t=>ko(Co(t)),toRgbaP:t=>xo(Co(t)),toRgbaPString:t=>Oo(Co(t)),toHslP:t=>Eo(Co(t)),toHslPString:t=>Ao(Co(t)),toHslaP:t=>Po(Co(t)),toHslaPString:t=>Ho(Co(t)),toHsvP:t=>Ro(Co(t)),toHsvPString:t=>zo(Co(t)),toHsvaP:t=>Mo(Co(t)),toHsvaPString:t=>Fo(Co(t)),toHexString:t=>To(Co(t)),toHex8String:t=>qo(Co(t)),modSaturate:(t,r,e)=>function(t,r,e="toRgbString"){if(r<0||r>1)throw new Error("amount < 0 or > 1");let n=Yn(t);return n.s+=r,n.s=oo(n.s),io(to(n),e)}(Co(t),r,e),modGrey:(t,r)=>function(t,r="toRgbString"){let e=Yn(t);return e.s=0,io(to(e),r)}(Co(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=Yn(t);return n.l+=r,n.l=oo(n.l),io(to(n),e)}(Co(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=oo(t.r),t.g+=r,t.g=oo(t.g),t.b+=r,t.b=oo(t.b),io(t,e)}(Co(t),r,e),modHue:(t,r,e)=>uo(Co(t),r,e),modComplement:(t,r)=>function(t,r="toRgbString"){return uo(t,.5,r)}(Co(t),r),spreadHue:(t,r,e)=>function(t,r,e="toRgbString"){if(!Ut(r))throw new Error("num is not an integer");if((r=Kt(r))<=1)return[t];let n=Yn(t),o=1/r,i=[];for(let t=0;t<r;t++)i.push(io(to(n),e)),n.h+=o,n.h=n.h%1;return i}(Co(t),r,e),spreadMonochromatic:(t,r,e)=>function(t,r,e="toRgbString"){if(!Ut(r))throw new Error("num is not an integer");if((r=Kt(r))<=1)return[t];let n=Zn(t);n.s=1,n.l=1;let o=1/r,i=[];for(let t=0;t<r;t++)i.push(io(ro(n),e)),n.h-=o,n.l-=o;return i}(Co(t),r,e),mix:(t,r,e,n,o)=>ao(Co(t),r,Co(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}(Co(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}(Co(t)),interp:Bo};async function Lo(r){let e=t.readFileSync(r);return u.imdecode(e)}async function Io(r,e){let n=u.imencode(".png",e);t.writeFileSync(r,n)}async function Uo(t,r,e,n={}){let o=ht(n,"useToGray");Pt(o)||(o=!1);let i=t.resize(Math.floor(t.rows*e),Math.floor(t.cols*e));if(i.rows<5||i.cols<5)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 Vo={calcSimilarity:async function(t,r,e,n={}){let o=await Lo(r),i=await Lo(t);return await Uo(i,o,e,n)},calcSimilarityAndDraw:async function(t,r,e,n,o={}){let i=ht(o,"drawBorderWidth");Qt(i)||(i=2);let a=ht(o,"drawBorderColor");gt(a)||(a="#f00"),a=No.toRgb(a);let f=await Lo(r),c=await Lo(t),l=await Uo(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 Io(n,f),{...l,fp:n}},screenAndDrawCircle:async function(t,r,e,n,o,i,a,f={}){let c=ht(f,"drawCircleRadius");Qt(c)||(c=5);let l=ht(f,"drawBorderWidth");Qt(l)||(l=2);let s=ht(f,"drawBorderColor");gt(s)||(s="#f00"),s=No.toRgb(s),await At.screenSave(t,r,e,n,a);let h=await Lo(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 Io(a,h)}};return async(t,r={})=>{let e=!1,n=ht(r,"fdTar",null);if(gt(n)||(n="./pic"),!vt(n))throw new Error(`opt.fdTar[${r.fdTar}] is not a folder`);let o=ht(r,"fdTmp",null);gt(o)||(o="./_tmp"),vt(o)||yt(o);let i=!0;"color"===ht(r,"modeCompare","gray")&&(i=!1);let u=`${n}/${t}.png`;if(!bt(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 At.screenSave(c,l,s,h,a);let p=await Vo.calcSimilarityAndDraw(u,a,1,f,{useToGray:i});console.log(t,"similarity",p.similarity);let v=(t=>({cx:t.x+t.width/2,cy:t.y+t.height/2}))(p);if(p={...p,...v},p.similarity>d){if(g){let t=ht(r,"dx",0),e=ht(r,"dy",0);await Et.mouseClick(p.cx+c+t,p.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 Et.mouseDrag(p.cx+c+t,p.cy+l+e,p.cx+c+n,p.cy+l+o)}e=!0}return e}});
|
|
6
|
+
!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)["ck-pic"]=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,F=z.hasOwnProperty,T=RegExp("^"+M.call(F).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function q(t){return!(!S(t)||(r=t,E&&E in r))&&(k(t)?T: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}function dt(t){return"[object String]"===Object.prototype.toString.call(t)}function gt(t){return!(!dt(t)||""===t)}function bt(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 vt(t,r={}){let e=ht(r,"fs");if(!e.existsSync(t))return!1;let n=e.lstatSync(t);return!n.isFile()&&!n.isSymbolicLink()}function pt(r){return vt(r,{fs:t})}function yt(r){return function(t,r={}){let e=ht(r,"fs");if(vt(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 wt=n.promisify(e.execFile),mt=r.resolve(),_t="AutoHotkey64.exe",jt="";{let t=`${mt}/AutoHotkey_2.0.19/`,r=`${mt}/node_modules/w-mousekey/AutoHotkey_2.0.19/`;if(bt(`${t}${_t}`))jt=t;else{if(!bt(`${r}${_t}`))throw new Error("can not find folder for AutoHotkey");jt=r}}let $t=`${jt}/AutoHotkey64.exe`,St=`${jt}/zclick.ahk`,kt=`${jt}/zdrag.ahk`,xt=`${jt}/zsend.ahk`;async function Ot(t,r,e=[]){let n=function(){let t,r,e=new Promise(function(){t=arguments[0],r=arguments[1]});return e.resolve=t,e.reject=r,e}();try{let{stdout:o,stderr:i}=await wt(t,["/force",r,...e]);i?n.reject(i):n.resolve(o)}catch(t){n.reject(t)}return n}let Et={mouseClick:async function(t,r){await Ot($t,St,[t,r])},mouseDrag:async function(t,r,e,n){await Ot($t,kt,[t,r,e,n])},sendKey:async function(t){await Ot($t,xt,[`${t}`])},sendString:async function(t){await Ot($t,xt,[`${t}`])}};async function At(){let t=await o({format:"png"});if(!t||0===t.length)throw console.log("img",t),new Error("can not get the screenshot");return t}let Pt={screenFull:async function(){return await At()},screen:async function(t,r,e,n){let o=await At();return await i(o).extract({left:t,top:r,width:e,height:n}).toBuffer()},screenFullSave:async function(r){let e=await At();return t.writeFileSync(r,e),e},screenSave:async function(r,e,n,o,u){let a=await At(),f=await i(a).extract({left:r,top:e,width:n,height:o}).toBuffer();return t.writeFileSync(u,f),f}};function Ht(t){return!0===(r=t)||!1===r||w(r)&&"[object Boolean]"==y(r);var r}var Rt=/\s/;var zt=/^\s+/;function Mt(t){return t?t.slice(0,function(t){for(var r=t.length;r--&&Rt.test(t.charAt(r)););return r}(t)+1).replace(zt,""):t}var Ft=/^[-+]0x[0-9a-f]+$/i,Tt=/^0b[01]+$/i,qt=/^0o[0-7]+$/i,Ct=parseInt;function Bt(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=Mt(t);var e=Tt.test(t);return e||qt.test(t)?Ct(t.slice(2),e?2:8):Ft.test(t)?NaN:+t}var Dt=1/0;function Nt(t){return t?(t=Bt(t))===Dt||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}function Lt(t){var r=Nt(t),e=r%1;return r==r?e?r-e:r:0}function It(t){let r=!1;if(gt(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 Ut(t){if(!It(t))return 0;return Nt(t)}function Vt(t){return!!It(t)&&(t=Ut(t),"number"==typeof(r=t)&&r==Lt(r));var r}var Gt=l.isFinite,Wt=Math.min;var Jt=function(t){var r=Math[t];return function(t,e){if(t=Bt(t),(e=null==e?0:Wt(Lt(e),292))&&Gt(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"),Kt=Jt;function Qt(t){if(!It(t))return 0;t=Ut(t);let r=Kt(t);return"0"===String(r)?0:r}function Xt(t){if(!Vt(t))return!1;return Qt(t)>0}function Yt(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 Zt(t){return t!=t}function tr(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,Zt,e)}var rr=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");function er(t){return rr.test(t)}var nr="\\ud800-\\udfff",or="["+nr+"]",ir="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",ur="\\ud83c[\\udffb-\\udfff]",ar="[^"+nr+"]",fr="(?:\\ud83c[\\udde6-\\uddff]){2}",cr="[\\ud800-\\udbff][\\udc00-\\udfff]",lr="(?:"+ir+"|"+ur+")"+"?",sr="[\\ufe0e\\ufe0f]?",hr=sr+lr+("(?:\\u200d(?:"+[ar,fr,cr].join("|")+")"+sr+lr+")*"),dr="(?:"+[ar+ir+"?",ir,fr,cr,or].join("|")+")",gr=RegExp(ur+"(?="+ur+")|"+dr+hr,"g");function br(t){return er(t)?function(t){return t.match(gr)||[]}(t):function(t){return t.split("")}(t)}function vr(t,r,e){if((t=ft(t))&&(e||void 0===r))return Mt(t);if(!t||!(r=at(r)))return t;var n=br(t),o=br(r),i=function(t,r){for(var e=-1,n=t.length;++e<n&&tr(r,t[e],0)>-1;);return e}(n,o),u=function(t,r){for(var e=t.length;e--&&tr(r,t[e],0)>-1;);return e}(n,o)+1;return Yt(n,i,u).join("")}function pr(t){var r=this.__data__=new G(t);this.size=r.size}pr.prototype.clear=function(){this.__data__=new G,this.size=0},pr.prototype.delete=function(t){var r=this.__data__,e=r.delete(t);return this.size=r.size,e},pr.prototype.get=function(t){return this.__data__.get(t)},pr.prototype.has=function(t){return this.__data__.has(t)},pr.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 yr(t){var r=-1,e=null==t?0:t.length;for(this.__data__=new K;++r<e;)this.add(t[r])}function wr(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 mr(t,r){return t.has(r)}yr.prototype.add=yr.prototype.push=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this},yr.prototype.has=function(t){return this.__data__.has(t)};function _r(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 yr: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(!wr(r,function(t,r){if(!mr(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 jr=l.Uint8Array;function $r(t){var r=-1,e=Array(t.size);return t.forEach(function(t,n){e[++r]=[n,t]}),e}function Sr(t){var r=-1,e=Array(t.size);return t.forEach(function(t){e[++r]=t}),e}var kr=s?s.prototype:void 0,xr=kr?kr.valueOf:void 0;function Or(t,r){for(var e=-1,n=r.length,o=t.length;++e<n;)t[o+e]=r[e];return t}var Er=Object.prototype.propertyIsEnumerable,Ar=Object.getOwnPropertySymbols,Pr=Ar?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}(Ar(t),function(r){return Er.call(t,r)}))}:function(){return[]},Hr=Pr;function Rr(t){return w(t)&&"[object Arguments]"==y(t)}var zr=Object.prototype,Mr=zr.hasOwnProperty,Fr=zr.propertyIsEnumerable,Tr=Rr(function(){return arguments}())?Rr:function(t){return w(t)&&Mr.call(t,"callee")&&!Fr.call(t,"callee")},qr=Tr;var Cr="object"==typeof exports&&exports&&!exports.nodeType&&exports,Br=Cr&&"object"==typeof module&&module&&!module.nodeType&&module,Dr=Br&&Br.exports===Cr?l.Buffer:void 0,Nr=(Dr?Dr.isBuffer:void 0)||function(){return!1},Lr=/^(?:0|[1-9]\d*)$/;function Ir(t,r){var e=typeof t;return!!(r=null==r?9007199254740991:r)&&("number"==e||"symbol"!=e&&Lr.test(t))&&t>-1&&t%1==0&&t<r}function Ur(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}var Vr={};function Gr(t){return function(r){return t(r)}}Vr["[object Float32Array]"]=Vr["[object Float64Array]"]=Vr["[object Int8Array]"]=Vr["[object Int16Array]"]=Vr["[object Int32Array]"]=Vr["[object Uint8Array]"]=Vr["[object Uint8ClampedArray]"]=Vr["[object Uint16Array]"]=Vr["[object Uint32Array]"]=!0,Vr["[object Arguments]"]=Vr["[object Array]"]=Vr["[object ArrayBuffer]"]=Vr["[object Boolean]"]=Vr["[object DataView]"]=Vr["[object Date]"]=Vr["[object Error]"]=Vr["[object Function]"]=Vr["[object Map]"]=Vr["[object Number]"]=Vr["[object Object]"]=Vr["[object RegExp]"]=Vr["[object Set]"]=Vr["[object String]"]=Vr["[object WeakMap]"]=!1;var Wr="object"==typeof exports&&exports&&!exports.nodeType&&exports,Jr=Wr&&"object"==typeof module&&module&&!module.nodeType&&module,Kr=Jr&&Jr.exports===Wr&&f.process,Qr=function(){try{var t=Jr&&Jr.require&&Jr.require("util").types;return t||Kr&&Kr.binding&&Kr.binding("util")}catch(t){}}(),Xr=Qr&&Qr.isTypedArray,Yr=Xr?Gr(Xr):function(t){return w(t)&&Ur(t.length)&&!!Vr[y(t)]},Zr=Object.prototype.hasOwnProperty;function te(t,r){var e=a(t),n=!e&&qr(t),o=!e&&!n&&Nr(t),i=!e&&!n&&!o&&Yr(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&&!Zr.call(t,l)||u&&("length"==l||o&&("offset"==l||"parent"==l)||i&&("buffer"==l||"byteLength"==l||"byteOffset"==l)||Ir(l,c))||f.push(l);return f}var re=Object.prototype;var ee=function(t,r){return function(e){return t(r(e))}}(Object.keys,Object),ne=ee,oe=Object.prototype.hasOwnProperty;function ie(t){if(e=(r=t)&&r.constructor,r!==("function"==typeof e&&e.prototype||re))return ne(t);var r,e,n=[];for(var o in Object(t))oe.call(t,o)&&"constructor"!=o&&n.push(o);return n}function ue(t){return null!=t&&Ur(t.length)&&!k(t)}function ae(t){return ue(t)?te(t):ie(t)}function fe(t){return function(t,r,e){var n=r(t);return a(t)?n:Or(n,e(t))}(t,ae,Hr)}var ce=Object.prototype.hasOwnProperty;var le=C(l,"DataView"),se=C(l,"Promise"),he=C(l,"Set"),de=C(l,"WeakMap"),ge="[object Map]",be="[object Promise]",ve="[object Set]",pe="[object WeakMap]",ye="[object DataView]",we=P(le),me=P(W),_e=P(se),je=P(he),$e=P(de),Se=y;(le&&Se(new le(new ArrayBuffer(1)))!=ye||W&&Se(new W)!=ge||se&&Se(se.resolve())!=be||he&&Se(new he)!=ve||de&&Se(new de)!=pe)&&(Se=function(t){var r=y(t),e="[object Object]"==r?t.constructor:void 0,n=e?P(e):"";if(n)switch(n){case we:return ye;case me:return ge;case _e:return be;case je:return ve;case $e:return pe}return r});var ke=Se,xe="[object Arguments]",Oe="[object Array]",Ee="[object Object]",Ae=Object.prototype.hasOwnProperty;function Pe(t,r,e,n,o,i){var u=a(t),f=a(r),c=u?Oe:ke(t),l=f?Oe:ke(r),s=(c=c==xe?Ee:c)==Ee,h=(l=l==xe?Ee:l)==Ee,d=c==l;if(d&&Nr(t)){if(!Nr(r))return!1;u=!0,s=!1}if(d&&!s)return i||(i=new pr),u||Yr(t)?_r(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 jr(t),new jr(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=$r;case"[object Set]":var f=1&n;if(a||(a=Sr),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=_r(a(t),a(r),n,o,i,u);return u.delete(t),l;case"[object Symbol]":if(xr)return xr.call(t)==xr.call(r)}return!1}(t,r,c,e,n,o,i);if(!(1&e)){var g=s&&Ae.call(t,"__wrapped__"),b=h&&Ae.call(r,"__wrapped__");if(g||b){var v=g?t.value():t,p=b?r.value():r;return i||(i=new pr),o(v,p,e,n,i)}}return!!d&&(i||(i=new pr),function(t,r,e,n,o,i){var u=1&e,a=fe(t),f=a.length;if(f!=fe(r).length&&!u)return!1;for(var c=f;c--;){var l=a[c];if(!(u?l in r:ce.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 He(t,r,e,n,o){return t===r||(null==t||null==r||!w(t)&&!w(r)?t!=t&&r!=r:Pe(t,r,e,n,He,o))}function Re(t){return t==t&&!S(t)}function ze(t,r){return function(e){return null!=e&&(e[t]===r&&(void 0!==r||t in Object(e)))}}function Me(t){var r=function(t){for(var r=ae(t),e=r.length;e--;){var n=r[e],o=t[n];r[e]=[n,o,Re(o)]}return r}(t);return 1==r.length&&r[0][2]?ze(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 pr;if(n)var h=n(c,l,f,t,r,s);if(!(void 0===h?He(l,c,3,n,s):h))return!1}}return!0}(e,t,r)}}function Fe(t,r){return null!=t&&r in Object(t)}function Te(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)&&Ur(o)&&Ir(u,o)&&(a(t)||qr(t))}(t,r,Fe)}function qe(t){return t}function Ce(t){return function(r){return null==r?void 0:r[t]}}function Be(t){return $(t)?Ce(lt(t)):function(t){return function(r){return st(r,t)}}(t)}function De(t){return"function"==typeof t?t:null==t?qe:"object"==typeof t?a(t)?function(t,r){return $(t)&&Re(r)?ze(lt(t),r):function(e){var n=ht(e,t);return void 0===n&&n===r?Te(e,t):He(r,n,3)}}(t[0],t[1]):Me(t):Be(t)}var Ne,Le=function(t,r,e){for(var n=-1,o=Object(t),i=e(t),u=i.length;u--;){var a=i[Ne?u:++n];if(!1===r(o[a],a,o))break}return t};var Ie=function(t,r){return function(e,n){if(null==e)return e;if(!ue(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&&Le(t,r,ae)}),Ue=Ie;function Ve(t,r){var e=-1,n=ue(t)?Array(t.length):[];return Ue(t,function(t,o,i){n[++e]=r(t,o,i)}),n}function Ge(t,r){return(a(t)?ot:Ve)(t,De(r))}function We(t,r){for(var e=-1,n=null==t?0:t.length;++e<n&&!1!==r(t[e],e,t););return t}function Je(t,r){var e;return(a(t)?We:Ue)(t,"function"==typeof(e=r)?e:qe)}var Ke=Ce("length"),Qe="\\ud800-\\udfff",Xe="["+Qe+"]",Ye="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",Ze="\\ud83c[\\udffb-\\udfff]",tn="[^"+Qe+"]",rn="(?:\\ud83c[\\udde6-\\uddff]){2}",en="[\\ud800-\\udbff][\\udc00-\\udfff]",nn="(?:"+Ye+"|"+Ze+")"+"?",on="[\\ufe0e\\ufe0f]?",un=on+nn+("(?:\\u200d(?:"+[tn,rn,en].join("|")+")"+on+nn+")*"),an="(?:"+[tn+Ye+"?",Ye,rn,en,Xe].join("|")+")",fn=RegExp(Ze+"(?="+Ze+")|"+an+un,"g");function cn(t){return er(t)?function(t){for(var r=fn.lastIndex=0;fn.test(t);)++r;return r}(t):Ke(t)}function ln(t){if(null==t)return 0;if(ue(t))return"string"==typeof(r=t)||!a(r)&&w(r)&&"[object String]"==y(r)?cn(t):t.length;var r,e=ke(t);return"[object Map]"==e||"[object Set]"==e?t.size:ie(t).length}var sn=s?s.isConcatSpreadable:void 0;function hn(t){return a(t)||qr(t)||!!(sn&&t&&t[sn])}function dn(t,r,e,n,o){var i=-1,u=t.length;for(e||(e=hn),o||(o=[]);++i<u;){var a=t[i];r>0&&e(a)?r>1?dn(a,r-1,e,n,o):Or(o,a):n||(o[o.length]=a)}return o}function gn(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 bn(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}):[qe];var n=-1;return r=ot(r,Gr(De)),function(t,r){var e=t.length;for(t.sort(r);e--;)t[e]=t[e].value;return t}(Ve(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=gn(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 vn=Math.max;var pn=function(){try{var t=C(Object,"defineProperty");return t({},"",{}),t}catch(t){}}(),yn=pn,wn=yn?function(t,r){return yn(t,"toString",{configurable:!0,enumerable:!1,value:(e=r,function(){return e}),writable:!0});var e}:qe,mn=wn,_n=Date.now;var jn=function(t){var r=0,e=0;return function(){var n=_n(),o=16-(n-e);if(e=n,o>0){if(++r>=800)return arguments[0]}else r=0;return t.apply(void 0,arguments)}}(mn),$n=jn;function Sn(t,r,e){if(!S(e))return!1;var n=typeof r;return!!("number"==n?ue(e)&&Ir(r,e.length):"string"==n&&r in e)&&I(e[r],t)}var kn=function(t,r){return $n(function(t,r,e){return r=vn(void 0===r?t.length-1:r,0),function(){for(var n=arguments,o=-1,i=vn(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,qe),t+"")}(function(t,r){if(null==t)return[];var e=r.length;return e>1&&Sn(t,r[0],r[1])?r=[]:e>2&&Sn(r[0],r[1],r[2])&&(r=[r[0]]),bn(t,dn(r,1),[])}),xn=kn;function On(t){return ft(t).toLowerCase()}function En(t){return ft(t).toUpperCase()}function An(t){return"[object Object]"===Object.prototype.toString.call(t)}function Pn(t){if(An(t)){for(let r in t)return!0;return!1}return!1}function Hn(t){if(!Vt(t))return!1;return Qt(t)>=0}function Rn(t,r){return gt(t)&&Hn(r)?0===(r=Qt(r))?"":t.substring(0,r):""}function zn(t,r){return gt(t)&&Hn(r)?0===(r=Qt(r))?t:function(t,r){if(!gt(t))return"";if(!Hn(r))return"";if(0===(r=Qt(r)))return"";let e=t.length-r;return e<0&&(e=0),t.substring(e,e+r)}(t,t.length-r):""}function Mn(t,r,e){if(!gt(t))return"";if(!gt(r))return"";if(!dt(e))return"";return String(t).replaceAll(r,e)}function Fn(t,r){if(!gt(t))return[];if(!gt(r))return[];let e=function(t,r){return gt(t)&>(r)?t.split(r):[]}(t,r);e=Ge(e,vr);let n=[];return Je(e,function(t){gt(t)&&n.push(t)}),n}function Tn(t){if(!gt(t)&&!It(t)&&!m(t))return"";let r="";try{r=String(t)}catch(t){}try{r=t.toString()}catch(t){}return r}function qn(t,r){return!!An(t)&&(!(!gt(r)&&!It(r))&&r in t)}function Cn(t,r,e=1){return gt(t)&&Hn(r)?(e=Xt(e)?Qt(e):1,t.substring(r,r+e)):""}let Bn={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 Dn(t){return Ln(t,1)}function Nn(t){return Ln(t,360)}function Ln(t,r=1){if(t.indexOf("%")>=0){if(!It(t=Mn(t,"%","")))throw new Error("invalid color: value is not a number");t=Ut(t)/100}else{if(!It(t))throw new Error("invalid color: value is not a number");t=Ut(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 In(t){if(!It(t))throw new Error("invalid color: value is not a number");if((t=Ut(t))>1)throw new Error("invalid color: value > 1");if(t<0)throw new Error("invalid color: value < 0");return t}function Un(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!==ln(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 Vn(t){let r=(t=zn(t,1)).length;if(2===r)t=`${t}${t}${t}ff`;else if(3===r){let r=Cn(t,0,1),e=Cn(t,1,1),n=Cn(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(!It(t=parseInt(t,16)))throw new Error("invalid hex of color");return(t=Ut(t))/255}return{r:e(Cn(t,0,2)),g:e(Cn(t,2,2)),b:e(Cn(t,4,2)),a:e(Cn(t,6,2))}}function Gn(t){return t=Un(t=Ge(t,(t,r)=>r<=2?Ln(t,255):3===r?In(t):null),"rgba")}function Wn(t){return t=ro(t=Un(t=Ge(t,(t,r)=>0===r?Nn(t):1===r||2===r?Dn(t):3===r?In(t):null),"hsla"))}function Jn(t){return t=eo(t=Un(t=Ge(t,(t,r)=>0===r?Nn(t):1===r||2===r?Dn(t):3===r?In(t):null),"hsva"))}function Kn(t){if("transparent"===t)return{r:0,g:0,b:0,a:0};if(function(t){return qn(Bn,t)}(t))return Vn(t=`#${Bn[t]}`);if(function(t){return"#"===Rn(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 Vn(t);if(function(t){return"rgb"===Rn(t,3)||"rgba"===Rn(t,4)}(t))return function(t){return t=Mn(t,"rgba",""),t=Mn(t,"rgb",""),Gn(Fn(t=Mn(t=t.replace(/[()]/g,""),","," ")," "))}(t);if(function(t){return"hsl"===Rn(t,3)||"hsla"===Rn(t,4)}(t))return function(t){return t=Mn(t,"hsla",""),t=Mn(t,"hsl",""),Wn(Fn(t=Mn(t=t.replace(/[()]/g,""),","," ")," "))}(t);if(function(t){return"hsv"===Rn(t,3)||"hsva"===Rn(t,4)}(t))return function(t){return t=Mn(t,"hsva",""),t=Mn(t,"hsv",""),Jn(Fn(t=Mn(t=t.replace(/[()]/g,""),","," ")," "))}(t);throw new Error("format of color string is not hex-color, name-color, rgba, hsla, hsva")}function Qn(t,r){return!!qn(t,r=On(r))||!!qn(t,r=En(r))}function Xn(t,r,e){let n;return n=ht(t,r,null),null!==n?n:(n=ht(t,r=En(r),null),null!==n?n:e)}function Yn(t){if(function(t){let r=Qn(t,"r"),e=Qn(t,"g"),n=Qn(t,"b");return r&&e&&n}(t))return function(t){let r=[Xn(t,"r",null),Xn(t,"g",null),Xn(t,"b",null),Xn(t,"a",1)];return r=Ge(r,Tn),Gn(r)}(t);if(function(t){let r=Qn(t,"h"),e=Qn(t,"s"),n=Qn(t,"l");return r&&e&&n}(t))return function(t){let r=[Xn(t,"h",null),Xn(t,"s",null),Xn(t,"l",null),Xn(t,"a",1)];return r=Ge(r,Tn),Wn(r)}(t);if(function(t){let r=Qn(t,"h"),e=Qn(t,"s"),n=Qn(t,"v");return r&&e&&n}(t))return function(t){let r=[Xn(t,"h",null),Xn(t,"s",null),Xn(t,"v",null),Xn(t,"a",1)];return r=Ge(r,Tn),Jn(r)}(t);throw new Error("color object is not one of rgba, hsla, hsva")}function Zn(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 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,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 ro(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 eo(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 no(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 oo(t,r=!0){let e=t.r,n=t.g,o=t.b,i=t.a,u=`${no(e)}${no(n)}${no(o)}`;return r&&(u=`${u}${no(i)}`),u}function io(t){return Math.min(1,Math.max(0,t))}function uo(t,r){if(!gt(r))throw new Error("fmtOutput is not a string");if(!No[r])throw console.log(`fmtOutput must be [${ae(No)}]`),new Error("invalid fmtOutput");return t=No[r](t)}function ao(t,r,e="toRgbString"){if(r<0||r>1)throw new Error("amount < 0 or > 1");let n=Zn(t);return n.h+=r,n.h=n.h%1,uo(ro(n),e)}function fo(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 uo({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 co(t){return`${Kt(100*t,1)}%`}function lo(t){return Kt(t,0)}function so(t){return Kt(t,3)}function ho(t){return{r:lo(255*t.r),g:lo(255*t.g),b:lo(255*t.b)}}function go(t){return`rgb(${lo(255*t.r)}, ${lo(255*t.g)}, ${lo(255*t.b)})`}function bo(t){return{r:lo(255*t.r),g:lo(255*t.g),b:lo(255*t.b),a:so(t.a)}}function vo(t){return`rgba(${lo(255*t.r)}, ${lo(255*t.g)}, ${lo(255*t.b)}, ${so(t.a)})`}function po(t){let r=Zn(t);return{h:lo(360*r.h),s:so(r.s),l:so(r.l)}}function yo(t){let r=Zn(t);return`hsl(${lo(360*r.h)}, ${so(r.s)}, ${so(r.l)})`}function wo(t){let r=Zn(t);return{h:lo(360*r.h),s:so(r.s),l:so(r.l),a:so(r.a)}}function mo(t){let r=Zn(t);return`hsla(${lo(360*r.h)}, ${so(r.s)}, ${so(r.l)}, ${so(r.a)})`}function _o(t){let r=to(t);return{h:lo(360*r.h),s:so(r.s),v:so(r.v)}}function jo(t){let r=to(t);return`hsv(${lo(360*r.h)}, ${so(r.s)}, ${so(r.v)})`}function $o(t){let r=to(t);return{h:lo(360*r.h),s:so(r.s),v:so(r.v),a:so(r.a)}}function So(t){let r=to(t);return`hsva(${lo(360*r.h)}, ${so(r.s)}, ${so(r.v)}, ${so(r.a)})`}function ko(t){return{r:co(t.r),g:co(t.g),b:co(t.b)}}function xo(t){return`rgb(${co(t.r)}, ${co(t.g)}, ${co(t.b)})`}function Oo(t){return{r:co(t.r),g:co(t.g),b:co(t.b),a:so(t.a)}}function Eo(t){return`rgba(${co(t.r)}, ${co(t.g)}, ${co(t.b)}, ${so(t.a)})`}function Ao(t){let r=Zn(t);return{h:lo(360*r.h),s:co(r.s),l:co(r.l)}}function Po(t){let r=Zn(t);return`hsl(${lo(360*r.h)}, ${co(r.s)}, ${co(r.l)})`}function Ho(t){let r=Zn(t);return{h:lo(360*r.h),s:co(r.s),l:co(r.l),a:so(r.a)}}function Ro(t){let r=Zn(t);return`hsla(${lo(360*r.h)}, ${co(r.s)}, ${co(r.l)}, ${so(r.a)})`}function zo(t){let r=to(t);return{h:lo(360*r.h),s:co(r.s),v:co(r.v)}}function Mo(t){let r=to(t);return`hsv(${lo(360*r.h)}, ${co(r.s)}, ${co(r.v)})`}function Fo(t){let r=to(t);return{h:lo(360*r.h),s:co(r.s),v:co(r.v),a:so(r.a)}}function To(t){let r=to(t);return`hsva(${lo(360*r.h)}, ${co(r.s)}, ${co(r.v)}, ${so(r.a)})`}function qo(t){let r=function(t){return oo(t,!1)}(t);return`#${r}`}function Co(t){return`#${oo(t)}`}function Bo(t){let r=null,e=null,n=null;if(gt(t))r=On(vr(t));else{if(!Pn(t))throw console.log("color=",t),new Error("color is not a string or an object");e=t}if(null!==r)try{n=Kn(r)}catch(t){throw console.log(t),new Error(`can not parse color: ${r}`)}else if(null!==e)try{n=Yn(e)}catch(t){throw console.log(t),new Error(`can not parse color: ${JSON.stringify(e)}`)}return n}function Do(t){if(!Pn(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 Je(t,(t,e)=>{r.push([Ut(e),bo(Bo(t)),t])}),r=xn(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=fo(Bo(i),r,Bo(a),n,"toRgbaString");break}}return e}}let No={toRgb:ho,toRgbString:go,toRgba:bo,toRgbaString:vo,toHsl:po,toHslString:yo,toHsla:wo,toHslaString:mo,toHsv:_o,toHsvString:jo,toHsva:$o,toHsvaString:So,toRgbP:ko,toRgbPString:xo,toRgbaP:Oo,toRgbaPString:Eo,toHslP:Ao,toHslPString:Po,toHslaP:Ho,toHslaPString:Ro,toHsvP:zo,toHsvPString:Mo,toHsvaP:Fo,toHsvaPString:To,toHexString:qo,toHex8String:Co};var Lo={toRgb:t=>ho(Bo(t)),toRgbString:t=>go(Bo(t)),toRgba:t=>bo(Bo(t)),toRgbaString:t=>vo(Bo(t)),toHsl:t=>po(Bo(t)),toHslString:t=>yo(Bo(t)),toHsla:t=>wo(Bo(t)),toHslaString:t=>mo(Bo(t)),toHsv:t=>_o(Bo(t)),toHsvString:t=>jo(Bo(t)),toHsva:t=>$o(Bo(t)),toHsvaString:t=>So(Bo(t)),toRgbP:t=>ko(Bo(t)),toRgbPString:t=>xo(Bo(t)),toRgbaP:t=>Oo(Bo(t)),toRgbaPString:t=>Eo(Bo(t)),toHslP:t=>Ao(Bo(t)),toHslPString:t=>Po(Bo(t)),toHslaP:t=>Ho(Bo(t)),toHslaPString:t=>Ro(Bo(t)),toHsvP:t=>zo(Bo(t)),toHsvPString:t=>Mo(Bo(t)),toHsvaP:t=>Fo(Bo(t)),toHsvaPString:t=>To(Bo(t)),toHexString:t=>qo(Bo(t)),toHex8String:t=>Co(Bo(t)),modSaturate:(t,r,e)=>function(t,r,e="toRgbString"){if(r<0||r>1)throw new Error("amount < 0 or > 1");let n=Zn(t);return n.s+=r,n.s=io(n.s),uo(ro(n),e)}(Bo(t),r,e),modGrey:(t,r)=>function(t,r="toRgbString"){let e=Zn(t);return e.s=0,uo(ro(e),r)}(Bo(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=Zn(t);return n.l+=r,n.l=io(n.l),uo(ro(n),e)}(Bo(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=io(t.r),t.g+=r,t.g=io(t.g),t.b+=r,t.b=io(t.b),uo(t,e)}(Bo(t),r,e),modHue:(t,r,e)=>ao(Bo(t),r,e),modComplement:(t,r)=>function(t,r="toRgbString"){return ao(t,.5,r)}(Bo(t),r),spreadHue:(t,r,e)=>function(t,r,e="toRgbString"){if(!Vt(r))throw new Error("num is not an integer");if((r=Qt(r))<=1)return[t];let n=Zn(t),o=1/r,i=[];for(let t=0;t<r;t++)i.push(uo(ro(n),e)),n.h+=o,n.h=n.h%1;return i}(Bo(t),r,e),spreadMonochromatic:(t,r,e)=>function(t,r,e="toRgbString"){if(!Vt(r))throw new Error("num is not an integer");if((r=Qt(r))<=1)return[t];let n=to(t);n.s=1,n.l=1;let o=1/r,i=[];for(let t=0;t<r;t++)i.push(uo(eo(n),e)),n.h-=o,n.l-=o;return i}(Bo(t),r,e),mix:(t,r,e,n,o)=>fo(Bo(t),r,Bo(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}(Bo(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}(Bo(t)),interp:Do};async function Io(r){let e=t.readFileSync(r);return u.imdecode(e)}async function Uo(r,e){let n=u.imencode(".png",e);t.writeFileSync(r,n)}async function Vo(t,r,e,n={}){let o=ht(n,"useToGray");Ht(o)||(o=!1);let i=t.resize(Math.floor(t.rows*e),Math.floor(t.cols*e));if(i.rows<5||i.cols<5)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 Go={calcSimilarity:async function(t,r,e,n={}){let o=await Io(r),i=await Io(t);return await Vo(i,o,e,n)},calcSimilarityAndDraw:async function(t,r,e,n,o={}){let i=ht(o,"drawBorderWidth");Xt(i)||(i=2);let a=ht(o,"drawBorderColor");gt(a)||(a="#f00"),a=Lo.toRgb(a);let f=await Io(r),c=await Io(t),l=await Vo(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 Uo(n,f),{...l,fp:n}},screenAndDrawCircle:async function(t,r,e,n,o,i,a,f={}){let c=ht(f,"drawCircleRadius");Xt(c)||(c=5);let l=ht(f,"drawBorderWidth");Xt(l)||(l=2);let s=ht(f,"drawBorderColor");gt(s)||(s="#f00"),s=Lo.toRgb(s),await Pt.screenSave(t,r,e,n,a);let h=await Io(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 Uo(a,h)}};return async(t,r={})=>{let e=!1,n=ht(r,"fdTar",null);if(gt(n)||(n="./pic"),!pt(n))throw new Error(`opt.fdTar[${r.fdTar}] is not a folder`);let o=ht(r,"fdTmp",null);gt(o)||(o="./_tmp"),pt(o)||yt(o);let i=!0;"color"===ht(r,"modeCompare","gray")&&(i=!1);let u=`${n}/${t}.png`;if(!bt(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 Pt.screenSave(c,l,s,h,a);let v=await Go.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 Et.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 Et.mouseDrag(v.cx+c+t,v.cy+l+e,v.cx+c+n,v.cy+l+o)}e=!0}return e}});
|
|
7
7
|
//# sourceMappingURL=ck-pic.umd.js.map
|