@letsscrapedata/scraper
Version:
Web scraper that scraping web pages by LetsScrapeData XML template
1 lines • 177 kB
JavaScript
"use strict";var __create=Object.create,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(t,e)=>{for(var r in e)__defProp(t,r,{get:e[r],enumerable:!0})},__copyProps=(t,e,r,a)=>{if(e&&"object"==typeof e||"function"==typeof e)for(let s of __getOwnPropNames(e))__hasOwnProp.call(t,s)||s===r||__defProp(t,s,{get:()=>e[s],enumerable:!(a=__getOwnPropDesc(e,s))||a.enumerable});return t},__toESM=(t,e,r)=>(r=null!=t?__create(__getProtoOf(t)):{},__copyProps(!e&&t&&t.__esModule?r:__defProp(r,"default",{value:t,enumerable:!0}),t)),__toCommonJS=t=>__copyProps(__defProp({},"__esModule",{value:!0}),t),src_exports={};__export(src_exports,{performOneTask:()=>performOneTask,scraper:()=>scraper,setScraperLogFun:()=>setScraperLogFun,updateScraperConfig:()=>updateScraperConfig}),module.exports=__toCommonJS(src_exports);var import_controller=require("@letsscrapedata/controller"),import_proxy=require("@letsscrapedata/proxy"),import_utils=require("@letsscrapedata/utils"),pkgLog=import_utils.log;function setScraperLogFun(t){return"function"==typeof t&&(pkgLog=t,(0,import_controller.setControllerLogFun)(pkgLog),(0,import_proxy.setProxyLogFun)(pkgLog),!0)}async function logdbg(...t){await pkgLog(import_utils.LogLevel.DBG,...t)}async function loginfo(...t){await pkgLog(import_utils.LogLevel.INF,...t)}async function logwarn(...t){await pkgLog(import_utils.LogLevel.WRN,...t)}async function logerr(...t){await pkgLog(import_utils.LogLevel.ERR,...t)}(0,import_controller.setControllerLogFun)(pkgLog),(0,import_proxy.setProxyLogFun)(pkgLog),(0,import_utils.setLogLevel)(import_utils.LogLevel.DBG);var import_utils13=require("@letsscrapedata/utils"),import_xml2js_lsd=__toESM(require("xml2js-lsd"),1),defaultSplitOfParases="[\r\n\t,]+",defaultSeperatorOfParas="::",newLineChar="\n",defaultElementCfg={template:{tid:void 0,version:void 0,commited:!1},attrs:{},attr:{name:void 0,value:void 0},paras:{},para:{paraname:void 0,name:"",desc:"",uitype:"",defval:"",listid:"0",listparas:"",min:"",max:"",pattern:"",alert:""},element:{loc:void 0,source:"default",absolute:!1},iframe:{srcprefix:"",loc:""},templstr:{templ:void 0},elecontent_attr:{type:void 0,attrname:void 0,attrname2:"",attrname3:"",attrname4:"",trim:!1,pattern:"",boolattr:!1,multieles:!0,join:newLineChar,line:!1,absolute:!1},elecontent_imgbase64:{type:void 0},elecontent_innerhtml:{type:void 0},elecontent_length:{type:void 0},elecontent_outerhtml:{type:void 0},elecontent_text:{type:void 0,trim:!0,multieles:!0,join:newLineChar,line:!1,top:!1},decodefontsvg:{outtype:"text"},decodefontttf:{fontselectors:"",fontfamilies:"",intype:"outerhtml",outtype:"text",all:!1},ocrcfg_api:{type:void 0,nlchars:"",seperator:!1,lang:"zh"},ocrcfg_tesseract:{type:void 0,nlchars:"",seperator:!1,lang:"zh"},tabname_cache:{type:void 0,optype:void 0,tabname:void 0,prefix:"cached",requestheaders:!1,filename:"",fileidx:"0"},tabname_check:{type:void 0,tabname:void 0,errname:void 0,mincnt:"0",maxcnt:"0",subkeys:"",minlen:"0",maxlen:"0",pattern:"",not:!1},tabname_deduplicate:{type:void 0,tabname:void 0,keys:void 0,keep:"first"},tabname_delete:{type:void 0,tabname:void 0},tabname_filter:{type:void 0,tabname:void 0,varname:void 0,subkeys:""},actions:{},action_api:{type:void 0,method:"GET",url:void 0,encodeuri:!1,session:!1,headerssource:"headers",headers:"{}",referer:"",proxy:!0,timeout:"30000",context:"default",data:"",datatype:"object",format:"data",requestprefix:"",responseprefix:"",tabname:"none",subkeys:"",varname:"",setkeys:"",errname:"normal",valerrname:"ignore",pattern:"",flags:"",gen:!0,cap:!0,id:"0"},action_break:{type:void 0,id:"0"},action_captcha:{type:void 0,try:"1",errname:"captchafailed",debug:!1,id:"0"},action_click:{type:void 0,wait:"-1",gen:!0,cap:!0,clicktype:"click",try:"1",errname:"cfginvalid",popuppage:"ignored",popupsubtask:!1,login:!0,captcha:!0,navigate:!1,eurl:"",eloc:"",pn1:"",pv1:"",pn2:"",pv2:"",downloadpath:"",filename:"",pathvarname:"",id:"0"},action_continue:{type:void 0,id:"0"},action_misc:{type:void 0,id:"0"},misc_delsyncdbdata:{type:void 0,tids:"",retention:"2592000",minretention:"86400"},misc_extractdata:{type:void 0,name:void 0,datatableids:"",method:"put",paras:!0,execdata:!0,subtasks:!0,credits:!0},misc_loadtaskdata:{type:void 0,taskid:void 0},misc_getstatedata:{type:void 0,cookies:"new",localstorage:"new",headers:"none",userdata:"none",duration:""},action_exit:{type:void 0,errname:void 0,id:"0"},action_extract:{type:void 0,tabname:"dat_0000000000009911",id:"0"},action_extract_array:{type:void 0,subtype:void 0,list:void 0,requrl:"",setprocessed:!1,skipprocessed:!1,subkeys:"",arrayinrec:!0,keys:"",tabname:"dat_0000000000009921",varname:"",idxname:"",setkeys:"",maxloops:"0",errname:"cfginvalid",id:"0"},action_extract_script:{type:void 0,subtype:void 0,name:void 0,others:"",desc:"",tabname:"dat_0000000000009931",maxloops:"0",errname:"cfginvalid",id:"0"},action_extract_table:{type:void 0,subtype:void 0,orientation:"horizontal",check:!0,tabname:"dat_0000000000009941",keyformat:"camel",colnames:"",maxloops:"0",errname:"cfginvalid",id:"0"},column_element:{type:void 0,colname:void 0,completed:!1,setvar:!1,datatype:"string",errname:"ignore",valerrname:"ignore",pattern:"",flags:"",id:"0",discarded:!1},column_property:{type:void 0,subkeys:void 0,filter:!1,json:!1,colname:void 0,completed:!1,setvar:!1,datatype:"string",valerrname:"ignore",pattern:"",flags:"",id:"0",discarded:!1},column_ocr:{type:void 0,colname:void 0,completed:!1,setvar:!1,datatype:"string",valerrname:"ignore",pattern:"",flags:"",id:"0",discarded:!1},column_subtask:{type:void 0,colname:void 0,completed:!1,setvar:!1,datatype:"string",valerrname:"ignore",pattern:"",flags:"",id:"0",discarded:!1},column_templstr:{type:void 0,colname:void 0,completed:!1,setvar:!1,datatype:"string",valerrname:"ignore",pattern:"",flags:"",id:"0",discarded:!1},action_goto:{type:void 0,url:void 0,reuse:!1,timeout:"30000",wait:"-1",encodeuri:!1,gen:!0,cap:!0,popuppage:"ignored",popupsubtask:!1,login:!0,captcha:!0,eurl:"",eloc:"",pn1:"",pv1:"",pn2:"",pv2:"",headers:"",referer:"",id:"0"},action_hover:{type:void 0,try:"1",gen:!1,cap:!1,wait:"-1",errname:"cfginvalid",id:"0"},action_ifelse:{type:void 0,id:"0"},condition_element:{type:void 0},condition_else:{type:void 0},condition_templstr:{type:void 0},action_input:{type:void 0,content:void 0,enter:!1,replace:!1,gen:!1,cap:!1,try:"1",wait:"-1",errname:"cfginvalid",popuppage:"ignored",popupsubtask:!1,login:!1,captcha:!1,eurl:"",eloc:"",pn1:"",pv1:"",pn2:"",pv2:"",id:"0"},action_intercept_clear:{type:void 0,subtype:void 0,id:"0"},action_intercept_set:{type:void 0,subtype:void 0,id:"0"},request_abort:{type:void 0,method:"all",url:"",resourcetype:"image",postdata:""},response_cache:{type:void 0,method:"all",url:void 0,resourcetype:"all",postdata:"",minsize:"0",maxsize:"0",contenttype:"text",tabname:"dat_0000000000007001",requestheaders:!1,responseheaders:!1,cacheheaders:!1},object_key:{type:void 0,key:void 0,value:void 0,datatype:"string",operate:"set",varname:""},request_header:{type:void 0,name:void 0,value:void 0},response_save:{type:void 0,method:"all",url:void 0,resourcetype:"all",postdata:"",minsize:"0",maxsize:"0",basedir:"response",pathtype:"path_name",hashmethod:"MD5",hostnameparts:"0",extname:"",validextnames:"",params:"",encoding:"",tabname:"none"},response_statuscode:{type:void 0,codes:void 0,errname:void 0},action_loopdowhile_element:{type:void 0,subtype:void 0,iswhile:!1,varname:"",maxloops:"0",click:!1,navigate:!0,gen:!0,cap:!0,errname:"cfginvalid",wait:"-1",id:"0"},action_loopdowhile_templstr:{type:void 0,subtype:void 0,iswhile:!1,varname:"",maxloops:"0",id:"0"},action_loopfor:{type:void 0,from:void 0,to:void 0,step:"1",roundtype:"ceil",varname:void 0,maxloops:"0",errname:"ignore",id:"0"},action_loopineles:{type:void 0,varname:"",maxloops:"0",start:"1",end:"0",step:"1",errname:"ignore",id:"0"},action_loopinstr:{type:void 0,list:void 0,requrl:"",setprocessed:!1,skipprocessed:!1,subkeys:"",arrayinrec:!0,split:defaultSplitOfParases,varname:"",idxname:"",setkeys:"",maxloops:"0",trim:!0,errname:"ignore",id:"0"},action_scroll_by:{type:void 0,subtype:void 0,height:"100",unit:"windowpct",maxtimes:"1",interval:"800",gen:!1,cap:!1,popuppage:"ignored",popupsubtask:!1,login:!1,captcha:!1,eurl:"",eloc:"",pn1:"",pv1:"",pn2:"",pv2:"",id:"0"},action_scroll_intoview:{type:void 0,subtype:void 0,gen:!1,cap:!1,errname:"cfginvalid",popuppage:"ignored",popupsubtask:!1,login:!1,captcha:!1,eurl:"",eloc:"",pn1:"",pv1:"",pn2:"",pv2:"",id:"0"},action_scroll_to:{type:void 0,subtype:void 0,height:"100",unit:"bodypct",gen:!1,cap:!1,popuppage:"ignored",popupsubtask:!1,login:!1,captcha:!1,eurl:"",eloc:"",pn1:"",pv1:"",pn2:"",pv2:"",id:"0"},action_select:{type:void 0,selecttype:"value",selectval:"",gen:!1,cap:!1,try:"1",wait:"-1",errname:"cfginvalid",popuppage:"ignored",popupsubtask:!1,login:!1,captcha:!1,eurl:"",eloc:"",pn1:"",pv1:"",pn2:"",pv2:"",id:"0"},dbquery:{dbname:void 0,sql:void 0,sqlparas:"",parasplit:defaultSeperatorOfParas,join:newLineChar,tabname:"none"},action_setvar_dbquery:{type:void 0,subtype:void 0,varname:void 0,defaultval:"",errname:"ignore",setkeys:"",valerrname:"ignore",pattern:"",flags:"",path:"",id:"0"},action_setvar_element:{type:void 0,subtype:void 0,varname:void 0,defaultval:"",try:"1",errname:"ignore",setkeys:"",valerrname:"ignore",pattern:"",flags:"",path:"",id:"0"},file:{path:void 0,encoding:"utf8"},action_setvar_file:{type:void 0,subtype:void 0,varname:void 0,defaultval:"",proxy:!0,errname:"ignore",setkeys:"",valerrname:"ignore",pattern:"",flags:"",path:"",id:"0"},action_setvar_get:{type:void 0,subtype:void 0,varname:void 0,defaultval:"",errname:"ignore",setkeys:"",valerrname:"ignore",pattern:"",flags:"",path:"",id:"0"},action_setvar_object:{type:void 0,subtype:void 0,varname:void 0,data:"{}",defaultval:"",errname:"ignore",setkeys:"",valerrname:"ignore",pattern:"",flags:"",path:"",id:"0"},action_setvar_ocr:{type:void 0,subtype:void 0,varname:void 0,defaultval:"",errname:"ignore",setkeys:"",valerrname:"ignore",pattern:"",flags:"",path:"",id:"0"},action_setvar_subtask:{type:void 0,subtype:void 0,varname:void 0,defaultval:"",errname:"ignore",setkeys:"",valerrname:"ignore",pattern:"",flags:"",path:"",id:"0"},action_setvar_templstr:{type:void 0,subtype:void 0,varname:void 0,defaultval:"",errname:"ignore",setkeys:"",valerrname:"ignore",pattern:"",flags:"",path:"",id:"0"},subtask:{tid:void 0,parasstr:void 0,idx:"",minlen:"1",errname:"cfginvalid",popuppage:!1},action_subtask:{type:void 0,subtasks:"",sameasparent:!1,id:"0"},action_tabname:{type:void 0,id:"0"},action_wait_element:{type:void 0,subtype:void 0,timeout:"30000",state:"visible",errname:"ignore",wait:"-1",id:"0"},action_wait_navigation:{type:void 0,subtype:void 0,timeout:"30000",waituntil:"load",url:"",errname:"cfginvalid",wait:"-1",id:"0"},action_wait_sleep:{type:void 0,subtype:void 0,minms:"5000",maxms:"10000",errname:"ignore",wait:"-1",id:"0"},fonts:{},fontsvg:{exloc:"head link[rel='stylesheet']",inloc:"",csmaptype:"general",bsfilter:""},fontttf:{exloc:"head link[rel='stylesheet']",inloc:"",classes:"*",fonffamiles:"*",minuc:"0",maxuc:"0",startidx:"-1",fontselectors:"",fonturlpatterns:"",parsetype:"none",debug:!1},fontselector:{name:void 0,fontfamily:void 0},fontfamily:{name:void 0,fontcodes:"",fontchars:"",fonturl:""},fontcodes:{name:void 0,codes:void 0},fontchars:{name:void 0,chars:void 0},scripts:{},script:{name:void 0,scenario:void 0,desc:"",version:"0",scripttype:"js-isolated",base64:!0,script:""},captcha_amazon:{type:void 0},captcha_funcaptcha:{type:void 0},captcha_geetest:{type:void 0},captcha_keycaptcha:{type:void 0},captcha_mtcaptcha:{type:void 0},captcha_recaptcha:{type:void 0,minscore:"0.3"},captcha_turnstile:{type:void 0},image_element:{type:void 0},comment_element:{type:void 0,attr:"textContent"},input_element:{type:void 0,enter:!1},submit_element:{type:void 0},check_result:{type:void 0,attr:"",failedstr:""},captcha_text:{type:void 0,case:!1,lang:"en",math:!1,maxlen:"0",minlen:"0",question:!1,space:!1,texttype:"any"},captcha_coordinate:{type:void 0,lang:"en",maxclicks:"0",minclicks:"1"},transform:{defaultval:"",usevar:!1},fun_a_at:{type:void 0,subtype:void 0,idx:void 0},fun_a_concat:{type:void 0,subtype:void 0,array2:void 0},fun_a_every:{type:void 0,subtype:void 0,pattern:void 0,flags:""},fun_a_filter:{type:void 0,subtype:void 0,pattern:void 0,flags:""},fun_a_find:{type:void 0,subtype:void 0,pattern:void 0,flags:""},fun_a_findindex:{type:void 0,subtype:void 0,pattern:void 0,flags:""},fun_a_includes:{type:void 0,subtype:void 0,item:void 0},fun_a_indexof:{type:void 0,subtype:void 0,item:void 0,position:"0"},fun_a_join:{type:void 0,subtype:void 0,join:void 0},fun_a_length:{type:void 0,subtype:void 0},fun_a_mapattr:{type:void 0,subtype:void 0,subkeys:void 0},fun_a_match:{type:void 0,subtype:void 0,pattern:void 0,flags:"",resulttype:"idx",idx:"0"},fun_a_max:{type:void 0,subtype:void 0},fun_a_min:{type:void 0,subtype:void 0},fun_a_pop:{type:void 0,subtype:void 0},fun_a_push:{type:void 0,subtype:void 0,item:void 0},fun_a_replace:{type:void 0,subtype:void 0,substr:void 0,newstr:void 0,regexp:!1,flags:""},fun_a_setcomplement:{type:void 0,subtype:void 0,array2:void 0},fun_a_setdifference:{type:void 0,subtype:void 0,array2:void 0},fun_a_setintersection:{type:void 0,subtype:void 0,array2:void 0},fun_a_setunion:{type:void 0,subtype:void 0,array2:void 0},fun_a_shift:{type:void 0,subtype:void 0},fun_a_shuffle:{type:void 0,subtype:void 0},fun_a_slice:{type:void 0,subtype:void 0,beginidx:void 0,len:"",endidx:""},fun_a_sort:{type:void 0,subtype:void 0,valtype:"number",sorttype:"asc"},fun_a_toobj:{type:void 0,subtype:void 0,key:void 0,value:void 0},fun_a_uniq:{type:void 0,subtype:void 0},fun_a_unshift:{type:void 0,subtype:void 0,item:void 0},fun_n_ceil:{type:void 0,subtype:void 0},fun_n_dateformat:{type:void 0,subtype:void 0,format:void 0,ms:!0},fun_n_eq:{type:void 0,subtype:void 0,number2:void 0},fun_n_floor:{type:void 0,subtype:void 0},fun_n_ge:{type:void 0,subtype:void 0,number2:void 0},fun_n_gt:{type:void 0,subtype:void 0,number2:void 0},fun_n_isnan:{type:void 0,subtype:void 0},fun_n_le:{type:void 0,subtype:void 0,number2:void 0},fun_n_lt:{type:void 0,subtype:void 0,number2:void 0},fun_n_max:{type:void 0,subtype:void 0,number2:void 0},fun_n_min:{type:void 0,subtype:void 0,number2:void 0},fun_n_parsefloat:{type:void 0,subtype:void 0},fun_n_parseint:{type:void 0,subtype:void 0},fun_n_round:{type:void 0,subtype:void 0},fun_n_tofixed:{type:void 0,subtype:void 0,digits:void 0,fixed:!1},fun_o_assign:{type:void 0,subtype:void 0,object2:void 0},fun_o_attr:{type:void 0,subtype:void 0,subkeys:void 0},fun_o_entries:{type:void 0,subtype:void 0,kvjoin:"="},fun_o_findstrinobj:{type:void 0,subtype:void 0,str:void 0,equal:!1},fun_o_keys:{type:void 0,subtype:void 0},fun_o_match:{type:void 0,subtype:void 0,pattern:void 0,flags:"",resulttype:"idx",idx:"0"},fun_o_replace:{type:void 0,subtype:void 0,substr:void 0,newstr:void 0,regexp:!1,flags:""},fun_o_sort:{type:void 0,subtype:void 0,valtype:"number",sorttype:"asc"},fun_o_values:{type:void 0,subtype:void 0},fun_x_attr:{type:void 0,subtype:void 0,loc:void 0,idx:"0",attrname:void 0,xml:!0,decode:!1},fun_x_data:{type:void 0,subtype:void 0,loc:void 0,idx:"0",attrname:void 0,xml:!0,decode:!1},fun_x_empty:{type:void 0,subtype:void 0,loc:void 0,xml:!0,decode:!1},fun_x_html:{type:void 0,subtype:void 0,loc:void 0,idx:"0",xml:!0,decode:!1},fun_x_length:{type:void 0,subtype:void 0,loc:void 0,xml:!0,decode:!1},fun_x_remove:{type:void 0,subtype:void 0,loc:void 0,xml:!0,decode:!1},fun_x_text:{type:void 0,subtype:void 0,loc:void 0,idx:"-9999",xml:!0,decode:!1},fun_at:{type:void 0,idx:void 0},fun_closingsubstr:{type:void 0,openchar:void 0,startstr:"",regexp:!1,flags:"",position:"0"},fun_compress:{type:void 0,method:"gzip",flush:"",finishflush:"",chunksize:"0",windowbits:"0",level:"",memlevel:"",strategy:"",sourceencoding:"utf8",targetencoding:"base64"},fun_concat:{type:void 0,str1:void 0,str2:"",str3:"",str4:"",str5:""},fun_convertencoding:{type:void 0,sourceencoding:"base64",targetencoding:"utf8",start:"0",end:"0"},fun_decode:{type:void 0,str1:"",val1:"",str2:"",val2:"",str3:"",val3:"",str4:"",val4:"",str5:"",val5:"",defaultval:""},fun_decompress:{type:void 0,method:"gunzip",flush:"",finishflush:"",chunksize:"0",windowbits:"0",sourceencoding:"base64",targetencoding:"utf8",start:"0",end:"0"},fun_endswith:{type:void 0,str:void 0},fun_eq:{type:void 0,str:void 0},fun_hashcode:{type:void 0,hashmethod:"MD5"},fun_includes:{type:void 0,str:void 0},fun_indexof:{type:void 0,str:void 0,position:"0"},fun_insert:{type:void 0,str:void 0},fun_isin:{type:void 0,items:void 0},fun_itemstoobj:{type:void 0,split:defaultSplitOfParases,kvsplit:":",keytrim:!0,keynows:!1,valuetrim:!0,valuenows:!1},fun_length:{type:void 0},fun_match:{type:void 0,pattern:void 0,flags:"",resulttype:"idx",idx:"0"},fun_normalize:{type:void 0},fun_not:{type:void 0},fun_padend:{type:void 0,targetlen:void 0,padstr:" "},fun_padstart:{type:void 0,targetlen:void 0,padstr:" "},fun_parsestr:{type:void 0},fun_replace:{type:void 0,substr:void 0,newstr:void 0,regexp:!1,flags:""},fun_search:{type:void 0,pattern:void 0},fun_slice:{type:void 0,beginidx:void 0,len:"",endidx:""},fun_specialconvert:{type:void 0,method:void 0,para1:"",para2:"",para3:"",para4:"",para5:""},fun_split:{type:void 0,split:defaultSplitOfParases,limit:"0"},fun_startswith:{type:void 0,str:void 0},fun_substrafter:{type:void 0,substr:void 0,regexp:!1,flags:"",position:"0",last:!1,include:!1},fun_substrbefore:{type:void 0,substr:void 0,regexp:!1,flags:"",position:"0",last:!1,include:!1},fun_tobigint:{type:void 0},fun_tobool:{type:void 0},fun_tolowercase:{type:void 0},fun_tonum:{type:void 0},fun_touppercase:{type:void 0},fun_trim:{type:void 0},fun_trimend:{type:void 0},fun_trimstart:{type:void 0},fun_urldecode:{type:void 0,method:"URI",encoding:"utf8",percent:!0},fun_urldelparams:{type:void 0,param1:void 0,param2:"",param3:","},fun_urlencode:{type:void 0,method:"URI",encoding:"utf8",percent:!0},fun_urlget:{type:void 0,attrorpath:void 0,hashmethod:"MD5",hostnameparts:"0",params:"",param:"",extname:"",validextnames:"",title:""},fun_urlsetparams:{type:void 0,param1:void 0,val1:"",param2:"",val2:"",param3:"",val3:"",replace:!0},fun_script:{type:void 0,name:void 0,arg1:"",arg2:"",arg3:"",arg4:"",arg5:""},get_addedtaskparas:{type:void 0,tid:void 0,limit:"10000",join:newLineChar,interval:"3600"},get_content:{type:void 0},get_cookie:{type:void 0,domain:"",name:"",attr:"name",source:"orig"},get_evaluate:{type:void 0,script:void 0,data:"",isolated:!0,secure:!0},get_execedtaskparas:{type:void 0,tid:void 0,limit:"10000",join:newLineChar,interval:"3600"},get_file:{type:void 0,url:void 0,path:"",basedir:"files",pathtype:"path_name",hashmethod:"MD5",hostnameparts:"0",params:"",extname:"",validextnames:"",pathvarname:"",proxy:!0,headers:"",referer:"",setvar:!1},httpbrowser:{name:void 0,minversion:"0",maxversion:"0",httpversion:"0"},httpdevice:{device:void 0},httpheader:{name:void 0,source:"value",value:void 0,delete:!1},httpos:{os:void 0},get_httpheaders:{type:void 0,headermethod:"genLatestWindowsChrome",origheaders:"",browserlist:"",httpversion:"0"},get_localstorage:{type:void 0,origin:void 0,name:void 0,source:"orig",parsestr:!1},get_mhtml:{type:void 0,path:"",basedir:"mhtml",pathtype:"title",hashmethod:"MD5",hostnameparts:"0",pathvarname:""},get_pdf:{type:void 0,path:"",basedir:"pdf",pathtype:"title",hashmethod:"MD5",hostnameparts:"0",scale:"1",displayheaderfooter:!1,headertemplate:"",footertemplate:"",printbackground:!1,landscape:!1,pageranges:"",format:"Letter",width:"",height:"",top:"",right:"",bottom:"",left:"",screen:!1,onepage:!1,hmargin:"",setvar:!1,pathvarname:""},get_queuedcntwithparas:{type:void 0,tid:void 0,parasstr:void 0,operator:"eq"},get_queuedtaskparas:{type:void 0,tid:void 0,limit:"10000",join:newLineChar,interval:"3600"},get_random:{type:void 0,min:void 0,max:void 0},get_screenshot:{type:void 0,basedir:"screenshot",path:"",extname:"png",quality:"-1",fullpage:!1,x:"0",y:"0",width:"0",height:"0",omitbackground:!1,setvar:!1,pathvarname:""},get_tabname:{type:void 0,tabname:void 0,requrl:"",length:!1,idx:"-1",subkeys:""},get_title:{type:void 0,aspath:!1},get_window:{type:void 0,key1:void 0,key2:"",key3:"",key4:"",key5:"",key6:"",keys:!1,length:!1}},import_controller2=require("@letsscrapedata/controller"),appConfig={XML_ATTR_KEY:"$$",XML_CHAR_KEY:"_",XML_CHILDREN_KEY:"children",GEN_CREDITS_BITS:16,GEN_CREDITS_AND:65535,CHECK_DNS_DOMAIN:"example.com",CHECK_POPUP_PAGE_TIMEOUT1:35e3,CHECK_POPUP_PAGE_TIMEOUT2:5e3,RESERVED_PARA_NAMES:["authInfo","inParas","sysParas"],EVENT_TYPES:{lsdPageClose:import_controller2.LsdPageEvent.PAGE_CLOSE,lsdPagePopup:import_controller2.LsdPageEvent.PAGE_POPUP,lsdScraperPopup:"lsdScraperPopup",taskComplete:"taskComplete"},OPERATE_ACTIONS:["click","goto","hover","input","scroll","select","wait","captcha","intercept"],performOneTask:console.log,cfg:{exitWhenCompleted:!1,useParasstrInXmlIfNeeded:!1,loadUnfinishedTasks:!1,loadFailedTasksInterval:0,baseDir:"",baseDownloadDir:"",baseFileDir:"",templateDir:"",taskDir:"",exportsDir:"",inputFileDirPart:"LetsScrapeData",useStealthPlugin:!1,browserControllerType:"patchright",browserType:"chromium",lsdLaunchOptions:{headless:!1,geoip:!0},lsdConnectOptions:{browserUrl:""},browserConfigs:[],captcha:{clientKey:"",captchas:[]},maxConcurrency:1,readCode:"",templateParas:[],urlPrefix:"https://api.letsscrapedata.com/nologin",totalMaxConcurrency:10,minMiliseconds:2e3,moveDataWhenStart:!1,dataFileFormat:"jsonl",columnSeperator:"::"}},TaskParser=class t{static#t(e,r){try{if(!e||!r)throw new Error(`##te Invalid paras, parentEleName ${r} in _applyDefaultElementCfg`);if("object"!=typeof e)return!0;const a=appConfig.XML_ATTR_KEY,s=appConfig.XML_CHILDREN_KEY;e[a]||(e[a]={});let i=r;e[a].type&&(i=i+"_"+e[a].type),e[a].subtype&&(i=i+"_"+e[a].subtype);const n=defaultElementCfg[i];if(!n)throw new Error(`##te No default Cfg for eleName ${i} in _applyDefaultElementCfg`);const o=Object.assign({},n);if(Object.keys(n).forEach(t=>{let r=e[a][t];if("boolean"==typeof o[t])"true"===r||""===r?o[t]=!0:"false"===r&&(o[t]=!1);else if(r||""===r)o[t]=r;else if(void 0===o[t])throw new Error(`##te Attribute ${t} of Element ${i} is undefined`)}),e[a]=o,!e[s])return!0;const c=Array.from(Object.keys(e[s]));for(const r of c){const a=e[s][r];1===a.length&&""===a[0]?e[s][r]=[]:a.forEach(e=>t.#t(e,r))}return!0}catch(t){throw logerr(`##te Error parentEleName ${r} in _applyDefaultElementCfg`),new Error(t)}}static async convertXmlToJson(e,r=!0){try{const a=function(t){const e=t.indexOf("_");return e>0?t.slice(0,e):t},s={attrkey:appConfig.XML_ATTR_KEY,charkey:appConfig.XML_CHAR_KEY,childkey:appConfig.XML_CHILDREN_KEY,explicitChildren:!0,tagNameProcessors:[a]},i=appConfig.XML_CHILDREN_KEY,n=await import_xml2js_lsd.default.parseStringPromise(e,s);if(!(n&&n.template&&n.template[i]&&Array.isArray(n.template[i].actions)))throw new Error(`##te Invalid XML config string: ${e}`);return r&&t.#t(n.template,"template"),n.template}catch(t){throw logerr("##te Exeception in convertXmlToJson"),logerr(`##te xmlCfgStr: ${e}`),new Error(t)}}static getPartOfJsonCfg(t,e,r=!1){try{const r=t[appConfig.XML_CHILDREN_KEY][e][0];return r||null}catch(t){if(r)return null;throw logerr(`##te Exeception when try to get ${e} in getPartOfJsonCfg`),new Error(t)}}static#e(e){try{const r=t.getPartOfJsonCfg(e,"attrs");return!Array.isArray(r?.children?.attr)||r.children.attr.length<=0?[]:r.children.attr.map(t=>t[appConfig.XML_ATTR_KEY])}catch(t){return logerr(t),[]}}static getParaCfgsFromJsonCfg(e){try{const r=t.getPartOfJsonCfg(e,"paras");return!Array.isArray(r?.children?.para)||r.children.para.length<=0?[]:r.children.para.map(t=>t[appConfig.XML_ATTR_KEY])}catch(t){return logerr(t),[]}}static getScriptCfgsFromJsonCfg(e){try{const r=t.getPartOfJsonCfg(e,"scripts",!0);return!Array.isArray(r?.children?.script)||r.children.script.length<=0?[]:r.children.script.map(t=>Object.assign({},t[appConfig.XML_ATTR_KEY],{script:t[appConfig.XML_CHAR_KEY]}))}catch(t){return logerr(t),[]}}static getAttrsInXml(e){const r=t.#e(e),a={};return r.forEach(t=>a[t.name]=t.value),a}static#r(e,r){const a=[],s=appConfig.XML_CHILDREN_KEY;for(const i of e)if(i?.[appConfig.XML_ATTR_KEY]?.type===r)a.push(i);else if(i&&i[s]&&(i[s].action||i[s].condition)){t.#r(i[s].action?i[s].action:i[s].condition,r).forEach(t=>{a.push(t)})}return a}static getCaptchTypes(e){const r=appConfig.XML_CHILDREN_KEY,a=e[r].actions[0][r].action,s=t.#r(a,"captcha"),i=[];for(const t of s){const e=t[appConfig.XML_CHILDREN_KEY]?.captcha;Array.isArray(e)&&e.forEach(t=>{const e=t[appConfig.XML_ATTR_KEY].type;e&&i.push(e)})}return i}static getInParas(t,e=[],r="::"){const a={},s=t.split("@@"),i=["para","apara","rpara"];for(let t=0;t<3;t++){let n=i[t],o=e.filter(t=>t.paraname.startsWith(n)).length;if(s.length>t&&s[t].length>0){let e=s.length>t&&s[t].length>0?s[t].split(r):[];for(let t=1;t<=e.length;t++)a[`${n}${t}`]=e[t-1];for(let t=e.length+1;t<=o;t++)a[`${n}${t}`]=""}}return a}},fs=__toESM(require("fs"),1),path=__toESM(require("path"),1),import_utils3=require("@letsscrapedata/utils"),import_isolated_vm=__toESM(require("isolated-vm"),1),import_utils2=require("@letsscrapedata/utils"),LsdScript=class t{static#a=null;static#s=null;static convertScriptCfg(t){let{name:e,scenario:r,script:a,scripttype:s,base64:i}=t;const n=s.split("-");i&&(a=(0,import_utils2.decodeFromBase64)(a,!1));return{name:e,script:a,scenario:r,lang:n[0],env:n[1]}}static#i(t){return t.startsWith("std")}static setGetStdFunScript(e){if("function"==typeof e)return t.#a=e,!0;throw new Error("##cfg fun not a function in setGetStdFunScript")}static setClearStdFunScript(e){if("function"==typeof e)return t.#s=e,!0;throw new Error("##cfg fun not a function in clearGetStdFunScript")}static#n(e){return!(!this.#i(e)||!t.#s)&&this.#n(e)}static async#o(e,r={}){if("string"!=typeof e||!e)throw new Error("invalid paras");let a=r[e];return a||(e.startsWith("std")&&t.#a&&(a=await t.#a(e),a)?a:null)}static#c(t,e){try{const r=new import_isolated_vm.default.Isolate,a=r.createContextSync(),s=new import_isolated_vm.default.ExternalCopy(t);a.global.setSync("inData",s.copyInto());const i=r.compileScriptSync(e).runSync(a);return"string"!=typeof i&&logwarn("Please check the script is correct."),"string"==typeof i?i:""}catch(t){return logerr(t),""}}static async#l(e,r,a,s){const i=await t.#o(r,a);if(!i||i.scenario!==s)return"";return t.#c(e,i.script)}static async execFunScript(e,r,a={}){const s=await t.#l(e,r,a,"fun");return"cfginvalid"===s&&t.#n(r),s}static async execExtractScript(e,r,a={}){const s=await t.#l(e,r,a,"extract");let i=(0,import_utils2.getJsonParseOfStr)(s);return i||(i={execData:{},errName:"cfginvalid"}),"cfginvalid"===i.errName&&t.#n(r),i}},TemplateManagerInScraper=class t{static#p=new Map;static#g=new Set;static#h(t){const e=appConfig.cfg.templateParas.find(e=>e.templateId===t);return e?.readCode?e.readCode:appConfig.cfg.readCode}static async#u(t,e){try{if(!e){if(!appConfig.cfg.templateDir)return null;const r=await(0,import_utils3.filesInDir)(appConfig.cfg.templateDir,"general",`tid${t}_`,"xml");let a=1===r.length?r[0]:`tid${t}.xml`;a=path.join(appConfig.cfg.templateDir,a),e=fs.readFileSync(a,"utf8")}if(!e)return null;return{templateId:t,domainId:1,defaultElementSource:"browser",maxExecutionDuration:600,configDetail:e}}catch(t){return null}}static async#d(e,r){try{if(t.#g.has(e))return null;let a=`${appConfig.cfg.urlPrefix}/template`;a=`${a}?tid=${e}&code=${r}`;const s=await fetch(a);if(200!==s.status)return 403===s.status?logwarn(`Failed to get template ${e}: No privilege`):logwarn(`Failed to get template ${e}, status: ${s.status}`),t.#g.add(e),null;const i=await s.json();if(!i||0!==i.code||!i.data)return logwarn(`Failed to get template ${e}: ${i.message}`),null;if(i.data.templateId!==e)return logerr(`Different templateId ${e} / ${i.templateId}`),null;const{domainId:n=0,defaultElementSource:o,configDetail:c="",maxExecutionDuration:l}=i.data;if(!c)return logerr(`Invalid content in template ${e}`),null;return{templateId:e,domainId:n,defaultElementSource:o,maxExecutionDuration:l,configDetail:c}}catch(t){return logdbg(t),null}}static async parseXmlTemplate(t){const e=await TaskParser.convertXmlToJson(t),r=TaskParser.getParaCfgsFromJsonCfg(e),a=TaskParser.getPartOfJsonCfg(e,"fonts",!0),s=TaskParser.getScriptCfgsFromJsonCfg(e),i=TaskParser.getPartOfJsonCfg(e,"actions",!1),n=TaskParser.getAttrsInXml(e),o=TaskParser.getCaptchTypes(e),c=(0,import_utils3.getCurrentUnixTime)(),l={};s.forEach(t=>{l[t.name]=LsdScript.convertScriptCfg(t)});return{actionConfigs:i,paraCfgs:r,fontsConfig:a||null,templScripts:l,attrsInXml:n,captchaTypes:o,lastUsedTime:c,lastCheckTime:c,secureDataFlag:t.includes("secureData.")}}static async getTemplateConfig(e,r=""){if(!r){const r=t.#p.get(e);if(r)return r}let a=await t.#u(e,r);if(!a){const r=t.#h(e);a=await t.#d(e,r)}if(!a){const t=`Cannot get template tid ${e}`;throw logwarn(t),new Error(t)}const s=await t.parseXmlTemplate(a.configDetail),i=Object.assign({},s,{template:a});return t.#p.set(e,i),i}static clearTemplateConfig(e=0){return e>0?t.#p.delete(e):t.#p.clear(),!0}},import_node_events=__toESM(require("events"),1),import_node_events2=require("events"),fs6=__toESM(require("fs"),1),path5=__toESM(require("path"),1),import_got_scraping=require("got-scraping"),import_utils11=require("@letsscrapedata/utils"),import_controller3=require("@letsscrapedata/controller"),uuid=__toESM(require("uuid"),1),SysParas=class{#f;#m;#y;#C;constructor(t,e,r,a){this.#f=t,this.#m=e,this.#y=r,this.#C=a}get version(){return this.#C}get templateId(){return this.#m}get taskId(){return this.#y}get url(){try{return this.#f?.page?this.#f.page.url():""}catch{return""}}get userAgent(){try{return this.#f?.page?.userAgent?this.#f.page.userAgent():""}catch{return""}}get hasPopupPage(){return this.#f?.popupPage?"1":"0"}get subtaskNum(){const t=this.#f?.subtasks;return Array.isArray(t)?String(t.length):"0"}get datatableNum(){const t=this.#f?.execData;return t&&"object"==typeof t?String(Object.keys(t).length):"0"}get currentISODate(){return(new Date).toISOString().slice(0,10)}get currentISOString(){return(new Date).toISOString()}get currentLocaleString(){return(new Date).toLocaleString()}get currentLocaleDateString(){return(new Date).toLocaleDateString()}get currentLocaleTimeString(){return(new Date).toLocaleTimeString()}get currentString(){return(new Date).toString()}get currentUTCString(){return(new Date).toUTCString()}get currentUnixMs(){return String(Date.now())}get currentUnixTs(){return String(Math.floor(Date.now()/1e3))}get random10(){return String(Math.floor(10*Math.random()))}get random100(){return String(Math.floor(100*Math.random()))}get random1000(){return String(Math.floor(1e3*Math.random()))}get random10000(){return String(Math.floor(1e4*Math.random()))}get uuidv1(){return uuid.v1()}get uuidv4(){return uuid.v4()}},iconv=__toESM(require("iconv-lite"),1),zlib=__toESM(require("zlib"),1),cheerio=__toESM(require("cheerio"),1),import_dateformat=__toESM(require("dateformat"),1),import_utils4=require("@letsscrapedata/utils");function findStrInObj(t,e,r="obj",a=!1,s=1){let i,n=[];if(s>20)return[];if(Array.isArray(t))for(let o=0;o<t.length;o++){const c=r?`${r}.${o}`:`${o}`;i=findStrInObj(t[o],e,c,a,s+1),n.push(...i)}else if("object"!=typeof t||t){if("string"==typeof t)(a&&t===e||!a&&t.includes(e))&&n.push([r,t]);else if("number"==typeof t){const s=String(t);(a&&s===e||!a&&s.includes(e))&&n.push([r,t])}}else for(const o in t){const c=r?`${r}.${o}`:`${o}`;i=findStrInObj(t[o],e,c,a,s+1),n.push(...i)}return n}var LsdString=class t{static specialConvertFunObj={};static setSpecialConvertFunObj(e){return t.specialConvertFunObj=e,!0}static transformStrSync(e,r,a){let s=e;try{if("string"!=typeof e||!Array.isArray(r))throw new Error("Invalid paras in transformStr");for(const e of r){if("object"!=typeof e)throw new Error("Invalid funCfg in transformStr");const r=1===e.type.length?`${e.type}_${e.subtype}`:e.type;let a=t.#v[r];if(!a||"function"!=typeof a)return logerr(`Invalid funName ${r} in transformStr`),"";s=a(s,e)}}catch(t){t.message.includes(" JSON ")||t.message.startsWith("##check")||loginfo(t),s=""}return s||a}static async transformStr(e,r,a,s){let i=e;try{if("string"!=typeof e||!Array.isArray(r))throw new Error("Invalid paras in transformStr");for(const e of r){if("object"!=typeof e)throw new Error("Invalid funCfg in transformStr");const r=1===e.type.length?`${e.type}_${e.subtype}`:e.type;if("script"!==r){let a=t.#v[r];if(!a||"function"!=typeof a)return logerr(`Invalid funName ${r} in transformStr`),"";i=a(i,e)}else i=await t.#b(i,e,s)}}catch(t){t.message.includes(" JSON ")||t.message.startsWith("##check")||loginfo(t),i=""}return i||a}static#w(t,e){if(!Array.isArray(t))throw new Error("##check data is not an array!");if(void 0!==e&&!Array.isArray(e))throw new Error("##check data is not an array!")}static#S(t,e){if(!t||"object"!=typeof t)throw new Error("##check data is not an not-null object!");if(void 0!==e&&(!e||"object"!=typeof t))throw new Error("##check data is not an not-null object!")}static#k(t){return(0,import_utils4.getStringOfObj)(t)}static#_(t,e){for(const r of e.split(".")){if("object"!=typeof t||!t)return"";t=t[r]}return null==t?"":"string"==typeof t?t:"number"==typeof t?String(t):"boolean"==typeof t?t?"1":"0":"object"==typeof t?JSON.stringify(t):""}static#x(e,r){const{idx:a}=r,s=(0,import_utils4.getJsonParseOfStr)(e);t.#w(s);const i=s.at(parseInt(a));return t.#k(i)}static#E(e,r){const{array2:a}=r,s=(0,import_utils4.getJsonParseOfStr)(e),i=(0,import_utils4.getJsonParseOfStr)(a);t.#w(s,i);let n=s.concat(i);return JSON.stringify(n)}static#A(e,r){const{pattern:a,flags:s}=r,i=(0,import_utils4.getJsonParseOfStr)(e);t.#w(i);const n=new RegExp(a,s);return i.every(t=>(0,import_utils4.getStringOfObj)(t).match(n))?"1":"0"}static#O(e,r){const{pattern:a,flags:s}=r,i=(0,import_utils4.getJsonParseOfStr)(e);t.#w(i);const n=new RegExp(a,s),o=i.filter(t=>(0,import_utils4.getStringOfObj)(t).match(n));return JSON.stringify(o)}static#I(e,r){const{pattern:a,flags:s}=r,i=(0,import_utils4.getJsonParseOfStr)(e);t.#w(i);const n=new RegExp(a,s),o=i.find(t=>(0,import_utils4.getStringOfObj)(t).match(n));return(0,import_utils4.getStringOfObj)(o)}static#T(e,r){const{pattern:a,flags:s}=r,i=(0,import_utils4.getJsonParseOfStr)(e);t.#w(i);const n=new RegExp(a,s),o=i.findIndex(t=>(0,import_utils4.getStringOfObj)(t).match(n));return String(o)}static#D(e,r){const{item:a}=r,s=(0,import_utils4.getJsonParseOfStr)(e);return t.#w(s),s.includes(a)?"1":"0"}static#P(e,r){const{item:a,position:s}=r,i=(0,import_utils4.getJsonParseOfStr)(e);return t.#w(i),String(i.indexOf(a,parseInt(s)))}static#N(e,r){const{join:a}=r,s=(0,import_utils4.getJsonParseOfStr)(e);return t.#w(s),s.join(a)}static#R(e){const r=(0,import_utils4.getJsonParseOfStr)(e);return t.#w(r),String(r.length)}static#F(e,r){const{subkeys:a}=r,s=(0,import_utils4.getJsonParseOfStr)(e);t.#w(s);const i=s.map(e=>t.#_(e,a));return JSON.stringify(i)}static#j(e,r){const a=(0,import_utils4.getJsonParseOfStr)(e);t.#w(a);const s=a.map(e=>"string"==typeof e?t.#$(e,r):e);return JSON.stringify(s)}static#L(e){const r=(0,import_utils4.getJsonParseOfStr)(e);t.#w(r);const a=r.map(t=>Number(t));return a.findIndex(t=>Number.isNaN(t))>=0?"":String(Math.max(...a))}static#M(e){const r=(0,import_utils4.getJsonParseOfStr)(e);t.#w(r);const a=r.map(t=>Number(t));return a.findIndex(t=>Number.isNaN(t))>=0?"":String(Math.min(...a))}static#q(e){const r=(0,import_utils4.getJsonParseOfStr)(e);t.#w(r);const a=r.pop();return t.#k(a)}static#U(e,r){const{item:a}=r,s=(0,import_utils4.getJsonParseOfStr)(e);return t.#w(s),s.push(a),JSON.stringify(s)}static#H(e,r){const a=(0,import_utils4.getJsonParseOfStr)(e);t.#w(a);const s=a.map(e=>"string"==typeof e?t.#J(e,r):e);return JSON.stringify(s)}static#B(e,r){const{array2:a}=r,s=(0,import_utils4.getJsonParseOfStr)(e),i=(0,import_utils4.getJsonParseOfStr)(a);t.#w(s,i);let n=(0,import_utils4.getComplementOfTwoArray)(s,i);return JSON.stringify(n)}static#V(e,r){const{array2:a}=r,s=(0,import_utils4.getJsonParseOfStr)(e),i=(0,import_utils4.getJsonParseOfStr)(a);t.#w(s,i);let n=(0,import_utils4.getDifferenceOfTwoArray)(s,i);return JSON.stringify(n)}static#W(e,r){const{array2:a}=r,s=(0,import_utils4.getJsonParseOfStr)(e),i=(0,import_utils4.getJsonParseOfStr)(a);t.#w(s,i);let n=(0,import_utils4.getIntersectionOfTwoArray)(s,i);return JSON.stringify(n)}static#K(e,r){const{array2:a}=r,s=(0,import_utils4.getJsonParseOfStr)(e),i=(0,import_utils4.getJsonParseOfStr)(a);t.#w(s,i);let n=(0,import_utils4.getUnionOfTwoArray)(s,i);return JSON.stringify(n)}static#G(e){const r=(0,import_utils4.getJsonParseOfStr)(e);t.#w(r);const a=r.shift();return t.#k(a)}static#z(e){const r=(0,import_utils4.getJsonParseOfStr)(e);t.#w(r);let a=r.sort(()=>Math.random()-.5);return JSON.stringify(a)}static#Y(e,r){const{beginidx:a,len:s,endidx:i}=r,n=parseInt(a);let o="string"==typeof i&&i.length>0?parseInt(i):void 0;const c="string"==typeof s&&s.length>0?parseInt(s):void 0;c&&c>0&&(o=n+c);const l=(0,import_utils4.getJsonParseOfStr)(e);t.#w(l);const p=l.slice(n,o);return JSON.stringify(p)}static#X(t,e,r){let a;return a="string"===e?"asc"===r?t.sort((t,e)=>t.localeCompare(e)):t.sort((t,e)=>e.localeCompare(t)):"asc"===r?t.sort((t,e)=>Number(t)-Number(e)):t.sort((t,e)=>Number(e)-Number(t)),a}static#Q(e,r){const{valtype:a,sorttype:s}=r,i=(0,import_utils4.getJsonParseOfStr)(e);t.#w(i);let n=t.#X(i,a,s);return JSON.stringify(n)}static#Z(e,r){const{key:a,value:s}=r;if(!a||!s)return"";const i=(0,import_utils4.getJsonParseOfStr)(e);t.#w(i);const n={};for(const t of i){const e=String(t[a]),r=(0,import_utils4.getStringOfObj)(t[s]);n[e]=r}return JSON.stringify(n)}static#tt(e){const r=(0,import_utils4.getJsonParseOfStr)(e);t.#w(r);const a=[...new Set(r)];return JSON.stringify(a)}static#et(e,r){const{item:a}=r,s=(0,import_utils4.getJsonParseOfStr)(e);return t.#w(s),s.unshift(a),JSON.stringify(s)}static#rt(t){return String(Math.ceil(Number(t)))}static#at(t,e){const{format:r,ms:a}=e;let s=t?parseInt(t):0;a||(s*=1e3);const i=s?new Date(s):new Date;return"toISODate"===r?i.toISOString().slice(0,10):"toISOString"===r?i.toISOString():"toLocaleString"===r?i.toLocaleString():"toLocaleDateString"===r?i.toLocaleDateString():"toLocaleTimeString"===r?i.toLocaleTimeString():"toString"===r?i.toString():"toUTCString"===r?i.toUTCString():(0,import_dateformat.default)(i,r)}static#st(t,e){const{number2:r}=e;return Number(t)===Number(r)?"1":"0"}static#it(t){return String(Math.floor(Number(t)))}static#nt(t,e){const{number2:r}=e;return Number(t)>=Number(r)?"1":"0"}static#ot(t,e){const{number2:r}=e;return Number(t)>Number(r)?"1":"0"}static#ct(t){const e=Number(t);return Number.isNaN(e)?"1":"0"}static#lt(t,e){const{number2:r}=e;return Number(t)<=Number(r)?"1":"0"}static#pt(t,e){const{number2:r}=e;return Number(t)<Number(r)?"1":"0"}static#gt(t,e){const{number2:r}=e,a=Number(t),s=Number(r);return String(a>s?a:s)}static#ht(t,e){const{number2:r}=e,a=Number(t),s=Number(r);return String(a<s?a:s)}static#ut(t){return String(parseFloat(t))}static#dt(t){return String(parseInt(t))}static#ft(t){return String(Math.round(Number(t)))}static#mt(t,e){const{digits:r,fixed:a}=e,s=Number(t),i=parseInt(r);if(a)return String(s.toFixed(i));{const t=String(s).split(".");return 2!==t.length||t[1].length<=i?String(s):String(s.toFixed(i))}}static#yt(e,r){const{object2:a}=r,s=(0,import_utils4.getJsonParseOfStr)(e),i=(0,import_utils4.getJsonParseOfStr)(a);t.#S(s,i);const n=Object.assign({},s,i);return JSON.stringify(n)}static#Ct(e,r){const{subkeys:a}=r;let s=(0,import_utils4.getJsonParseOfStr)(e);return t.#S(s),t.#_(s,a)}static#vt(e,r){const{kvjoin:a}=r;let s=(0,import_utils4.getJsonParseOfStr)(e);t.#S(s);const i=Array.from(Object.entries(s)).map(t=>t.join(a));return JSON.stringify(i)}static#bt(t,e){const{str:r,equal:a}=e;const s=findStrInObj((0,import_utils4.getJsonParseOfStr)(t),r,"",a);return s.length>0?s.map(t=>`${t[0]}: ${JSON.stringify(t[1])}`).join("\n"):""}static#wt(e){let r=(0,import_utils4.getJsonParseOfStr)(e);t.#S(r);const a=Array.from(Object.keys(r));return JSON.stringify(a)}static#St(e,r){let a=(0,import_utils4.getJsonParseOfStr)(e);t.#S(a);for(const e of Object.keys(a))"string"==typeof a[e]&&(a[e]=t.#$(a[e],r));return JSON.stringify(a)}static#kt(e,r){let a=(0,import_utils4.getJsonParseOfStr)(e);t.#S(a);for(const e of Object.keys(a))"string"==typeof a[e]&&(a[e]=t.#J(a[e],r));return JSON.stringify(a)}static#_t(e,r){const{valtype:a,sorttype:s}=r;let i=(0,import_utils4.getJsonParseOfStr)(e);t.#S(i);const n=Array.from(Object.keys(i)),o=t.#X(n,a,s),c={};return o.forEach(t=>c[t]=i[t]),JSON.stringify(c)}static#xt(e){let r=(0,import_utils4.getJsonParseOfStr)(e);t.#S(r);const a=Array.from(Object.values(r));return JSON.stringify(a)}static#Et(t,e,r=0){try{const a="root"===e?t.root():t(e);return a.length<=0||-9999===r?a:a.eq(r)}catch(t){return logerr("##te cheerio invalid $ or loc"),null}}static#At(e,r){try{const{loc:a,idx:s,attrname:i,xml:n,decode:o}=r,c=parseInt(s),l={xmlMode:n,decodeEntities:o},p=cheerio.load(e,l);return t.#Et(p,a,c).attr(i)}catch(t){return logerr(`##tmp cheerio xAttr err: ${t}`),""}}static#Ot(e,r){try{const{loc:a,idx:s,attrname:i,xml:n,decode:o}=r,c=parseInt(s),l={xmlMode:n,decodeEntities:o},p=cheerio.load(e,l);return t.#Et(p,a,c).data(i)}catch(t){return logerr(`##tmp cheerio xData err: ${t}`),""}}static#It(t,e){try{const{loc:r,xml:a,decode:s}=e,i={xmlMode:a,decodeEntities:s},n=cheerio.load(t,i);return n(r).empty(),n.html()}catch(e){return logerr(`##tmp cheerio xEmpty err: ${e}`),t}}static#Tt(e,r){try{const{loc:a,idx:s,xml:i,decode:n}=r,o=parseInt(s),c={xmlMode:i,decodeEntities:n},l=cheerio.load(e,c);if(a){return t.#Et(l,a,o).html()}return l.html()}catch(t){return logerr(`##tmp cheerio xHtml err: ${t}`),""}}static#Dt(e,r){try{const{loc:a,xml:s,decode:i}=r,n=-9999,o={xmlMode:s,decodeEntities:i},c=cheerio.load(e,o),l=t.#Et(c,a,n);return String(l.length)}catch(t){return logerr(`##tmp cheerio xLength err: ${t}`),"0"}}static#Pt(t,e){try{const{loc:r,xml:a,decode:s}=e,i={xmlMode:a,decodeEntities:s},n=cheerio.load(t,i);return n(r).remove(),n.html()}catch(e){return logerr(`##tmp cheerio xRemove err: ${e}`),t}}static#Nt(e,r){try{const{loc:a,idx:s,xml:i,decode:n}=r,o=parseInt(s),c={xmlMode:i,decodeEntities:n},l=cheerio.load(e,c);if(a){return t.#Et(l,a,o).text()}return l.text()}catch(t){return logerr(`##tmp cheerio c_text err: ${t}`),""}}static#Rt(t,e){const{idx:r}=e,a=parseInt(r),s=t.at(a);return s||""}static#Ft(t,e){const{openchar:r,startstr:a,regexp:s,flags:i,position:n}=e;if("string"!=typeof t||"string"!=typeof r||!["{","[","(","lt"].includes(r)||"string"!=typeof a||"number"!=typeof parseInt(n)||parseInt(n)<0)return"";const o="lt"===r?"<":r,c={"{":"}","[":"]","(":")","<":">"}[o];let l=1,p=-1;if(a){if(s){const e=new RegExp(a,i),r=t.match(e);if(!r||1!==r.length||void 0===r.index)return"";p=r.index}else p=t.indexOf(a);if(p<0)return""}else p=parseInt(n);const g=t.indexOf(o,p);if(g<0)return"";let h=g+1;for(;h<t.length;h++){let e=t[h];if(e===o)l++;else if(e===c&&(l--,0===l))break}const u=h<=t.length?h+1:-1;return u>g?t.substring(g,u):""}static#jt(t,e){return t||e?void 0:{}}static#$t(e,r){try{const{method:a,sourceencoding:s,targetencoding:i}=r,n=t.#jt(r,!0),o=Buffer.from(e,s);let c=null;return"gzip"===a?c=zlib.gzipSync(o,n):"deflate"===a?c=zlib.deflateSync(o,n):"deflateraw"===a?c=zlib.deflateRawSync(o,n):"brotli"===a&&(c=zlib.brotliCompressSync(o,n)),c?t.#Lt(c,i):""}catch(t){return""}}static#Mt(t,e){let r=t;const{str1:a,str2:s,str3:i,str4:n,str5:o}=e;return[a,s,i,n,o].forEach(t=>{"string"==typeof t&&(r=r.concat(t))}),r}static#Lt(t,e,r="0",a="0"){const s=r?Number(r):0,i=a?Number(a):0;return t instanceof Buffer?i>0?t.toString(e,s,i):s>0?t.toString(e,s):t.toString(e):""}static#qt(e,r){const{sourceencoding:a,targetencoding:s,start:i,end:n}=r;try{if(a===s||!a||!s)return e;const r=Buffer.from(e,a);return t.#Lt(r,s,i,n)}catch(t){return""}}static#Ut(t,e){const{str1:r,val1:a,str2:s,val2:i,str3:n,val3:o,str4:c,val4:l,str5:p,val5:g,defaultval:h}=e;try{return t===r?a:t===s?i:t===n?o:t===c?l:t===p?g:h}catch(t){return""}}static#Ht(e,r){try{const{method:a,sourceencoding:s,targetencoding:i,start:n,end:o}=r,c=t.#jt(r,!1),l=Buffer.from(e,s);let p=Buffer.from(e,s);return"gunzip"===a?p=zlib.gunzipSync(l,c):"inflate"===a?p=zlib.inflateSync(l,c):"inflateraw"===a?p=zlib.inflateRawSync(l,c):"unzip"===a?p=zlib.unzipSync(l,c):"brotli"===a&&(p=zlib.brotliDecompressSync(l,c)),p?t.#Lt(p,i,n,o):""}catch(t){return""}}static#Jt(t,e){const{str:r}=e;return t.endsWith(r)?"1":"0"}static#Bt(t,e){const{str:r}=e;return t===r?"1":"0"}static#Vt(t,e){const{hashmethod:r}=e;return import_utils4.LsdUrl.getHashCode(t,r)}static#Wt(t,e){const{str:r}=e;if("string"!=typeof r)throw new Error("Invalid searchstr in _contains");return t.includes(r)?"1":"0"}static#Kt(t,e){const{str:r,position:a}=e;if("string"!=typeof r)throw new Error("Invalid str in _insert");return String(t.indexOf(r,parseInt(a)))}static#Gt(t,e){const{str:r}=e;if("string"!=typeof r)throw new Error("Invalid str in _insert");return r+t}static#zt(t,e){const{items:r}=e;if("string"!=typeof r)throw new Error("Invalid str in _isin");if(!r)return"0";return r.split(",").includes(t)?"1":"0"}static#Yt(t,e){const{split:r,kvsplit:a,keytrim:s,keynows:i,valuetrim:n,valuenows:o}=e;if(!r||!a)return"{}";try{let e={};const c=t.split(new RegExp(r)),l=new RegExp(a);for(const t of c){const r=t.split(l);if(2!==r.length)continue;let a=s?r[0].trim():r[0];i&&(a=a.split("").filter(t=>t.trim()).join(""));let c=n?r[1].trim():r[1];o&&(c=c.split("").filter(t=>t.trim()).join("")),a&&(e[a]=c)}return JSON.stringify(e)}catch(t){return"{}"}}static#Xt(t){return String(t.length)}static#$(t,e){const{pattern:r,flags:a,idx:s}=e,i=e.resulttype,n=new RegExp(r,a),o=t.match(n);if("boolean"===i)return o?"1":"0";if(!o)return"";if("all"===i)return o.join(",");if("array"===i)return JSON.stringify(o);if("idx"===i){const t=parseInt(s);return o[t]?String(o[t]):""}return"index"===i?"number"==typeof o.index?String(o.index):"":"length"===i?String(o.length):void(0,import_utils4.unreachable)(i)}static#Qt(t){return t.normalize()}static#Zt(t){return t&&"0"!==t&&"false"!==t.toLowerCase()?"0":"1"}static#te(t,e){const{targetlen:r,padstr:a}=e,s=parseInt(r),i="string"==typeof a&&a.length>0?a:" ";return t.padEnd(s,i)}static#ee(t,e){const{targetlen:r,padstr:a}=e,s=parseInt(r),i="string"==typeof a&&a.length>0?a:" ";return t.padStart(s,i)}static#re(t){const e=(0,import_utils4.getJsonParseOfStr)(t);return"string"==typeof e?e:""}static#J(t,e){const{substr:r,newstr:a,regexp:s,flags:i}=e;try{if("string"!=typeof r)throw new Error("Invalid substr in _replace");if("string"!=typeof a)throw new Error("Invalid newstr in _replace");return s?t.replace(RegExp(r,i),a):t.replace(r,a)}catch(e){return t}}static#ae(t,e){const{pattern:r}=e,a=new RegExp(r);return String(t.search(a))}static#se(t,e){const{beginidx:r,len:a,endidx:s}=e,i=parseInt(r);let n="string"==typeof s&&s.length>0?parseInt(s):void 0;const o="string"==typeof a&&a.length>0?parseInt(a):void 0;return o&&o>0&&(n=i+o),t.slice(i,n)}static#ie(e,r){let a=e;try{const{method:s}=r;return"function"==typeof t.specialConvertFunObj[s]&&(a=t.specialConvertFunObj[s](e,r)),a}catch(t){return a}}static#ne(e,r){const{split:a,limit:s}=r,i=new RegExp(a),n=parseInt(s);let o=n>0?e.split(i,n):e.split(i);return t.#w(o),JSON.stringify(o)}static#oe(t,e){const{str:r}=e;return t.startsWith(r)?"1":"0"}static#ce(t,e){const{substr:r,regexp:a,flags:s,position:i,last:n,include:o}=e,c=o,l=parseInt(i);if("string"!=typeof r)throw new Error("Invalid substr in _substrAfter");let p=-1,g=r;if(a){const e=new RegExp(r,s),a=t.match(e);if(!a||1!==a.length||void 0===a.index)return t;p=a.index,g=a[0]}else p=n?l?t.lastIndexOf(r,l):t.lastIndexOf(r):l?t.indexOf(r,l):t.indexOf(r);return p<0?t:String(c?t.substring(p):t.substring(p+g.length))}static#le(t,e){const{substr:r,regexp:a,flags:s,position:i,last:n,include:o}=e,c=parseInt(i),l=o;if("string"!=typeof r)throw new Error("Invalid substr in substrBefore");let p=-1,g=r;if(a){const e=new RegExp(r,s),a=t.match(e);if(!a||1!==a.length||void 0===a.index)return t;p=a.index,g=a[0]}else p=n?c?t.lastIndexOf(r,c):t.lastIndexOf(r):c?t.indexOf(r,c):t.indexOf(r);return p<0?t:l?t.substring(0,p+g.length):t.substring(0,p)}static#pe(t){try{return String(BigInt(t))}catch(t){return""}}static#ge(t){try{let e=t.replace(/true/g,"1");return e=e.replace(/false/g,"0"),e.search(/^[\s\d.+\-*/()<>=!|&:?]*$/)>-1&&-1===e.search(/=>/)?String(Number(Boolean((0,eval)(e)))):(loginfo(`Invalid logic expression ${t} in _toBool`),"0")}catch(t){return"0"}}static#he(t){return t.toLowerCase()}static#ue(t){let e=t;return e.search(/^[\s\d.+\-*/()<>=!|&:?]+$/)>-1&&-1===e.search(/=>/)&&e.trim().length>0?String(Number((0,eval)(e))):(loginfo(`Invalid arithmetic expression ${e} in _toNum`),"0")}static#de(t){return t.toUpperCase()}static#fe(t){return t.trim()}static#me(t){return t.trimEnd()}static#ye(t){return t.trimStart()}static#Ce(t,e){try{const{method:r,encoding:a,percent:s}=e;if("URI"===r)return encodeURI(t);if("URIComponent"===r)return encodeURIComponent(t);if("iconv"===r){const e=iconv.encode(t,a).toString("hex").toUpperCase();if(!e||e.length%2!=0)return logerr("Invalid str length in _urlencode"),"";if(s){const t=e.match(/../g);return t?t.map(t=>`%${t}`).join(""):""}return e}return logerr(`Invalid method ${r} in _urlencode`),""}catch(t){return logerr(t),""}}static#ve(t,e){try{const{method:r,encoding:a,percent:s}=e;if("URI"===r)return decodeURI(t);if("URIComponent"===r)return decodeURIComponent(t);if("iconv"===r){const e=s?/.../g:/../g,r=t.match(e);if(!r)return"";const i=r.map(t=>parseInt(t.slice(1),16));return iconv.decode(Buffer.from(i),a)}return logerr(