- Added VMAF quality-targeted mode to av1_svt_converter (v2.25) - Fixed documentation version mismatch (misc_fixes v2.8, stream_organizer v4.10, audio_standardizer v1.15) - Updated rate control documentation with VMAF mode details - Added vmaf_target and vmaf_samples input options - Added ab-av1 binary detection with ABAV1_PATH env var support
1 line
48 KiB
JavaScript
1 line
48 KiB
JavaScript
'use strict';var a68u=a68b;(function(a,b){var t=a68b,c=a();while(!![]){try{var d=-parseInt(t(0x239))/0x1*(-parseInt(t(0x25f))/0x2)+parseInt(t(0x25b))/0x3*(-parseInt(t(0x267))/0x4)+parseInt(t(0x205))/0x5+parseInt(t(0x19c))/0x6*(parseInt(t(0x222))/0x7)+-parseInt(t(0x291))/0x8+parseInt(t(0x1fc))/0x9*(parseInt(t(0x21a))/0xa)+-parseInt(t(0x28a))/0xb;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a68a,0x8092f));var __assign=this&&this[a68u(0x281)]||function(){var v=a68u;return __assign=Object[v(0x20c)]||function(a){var w=v;for(var b,c=0x1,d=arguments['length'];c<d;c++){b=arguments[c];for(var e in b)if(Object[w(0x1b2)][w(0x23a)][w(0x28d)](b,e))a[e]=b[e];}return a;},__assign[v(0x25c)](this,arguments);},__awaiter=this&&this['__awaiter']||function(a,b,c,d){function e(f){return f instanceof c?f:new c(function(g){g(f);});}return new(c||(c=Promise))(function(f,g){function h(k){var x=a68b;try{j(d[x(0x1f4)](k));}catch(l){g(l);}}function i(k){try{j(d['throw'](k));}catch(l){g(l);}}function j(k){var y=a68b;k[y(0x1eb)]?f(k[y(0x202)]):e(k[y(0x202)])[y(0x251)](h,i);}j((d=d['apply'](a,b||[]))['next']());});},__generator=this&&this['__generator']||function(a,b){var z=a68u,c={'label':0x0,'sent':function(){if(h[0x0]&0x1)throw h[0x1];return h[0x1];},'trys':[],'ops':[]},d,e,h,i;return i={'next':j(0x0),'throw':j(0x1),'return':j(0x2)},typeof Symbol===z(0x1a5)&&(i[Symbol[z(0x26f)]]=function(){return this;}),i;function j(l){return function(m){return k([l,m]);};}function k(l){var A=z;if(d)throw new TypeError(A(0x24f));while(i&&(i=0x0,l[0x0]&&(c=0x0)),c)try{if(d=0x1,e&&(h=l[0x0]&0x2?e['return']:l[0x0]?e[A(0x270)]||((h=e[A(0x238)])&&h[A(0x28d)](e),0x0):e[A(0x1f4)])&&!(h=h[A(0x28d)](e,l[0x1]))[A(0x1eb)])return h;if(e=0x0,h)l=[l[0x0]&0x2,h[A(0x202)]];switch(l[0x0]){case 0x0:case 0x1:h=l;break;case 0x4:c[A(0x192)]++;return{'value':l[0x1],'done':![]};case 0x5:c['label']++,e=l[0x1],l=[0x0];continue;case 0x7:l=c[A(0x240)]['pop'](),c[A(0x1e7)]['pop']();continue;default:if(!(h=c['trys'],h=h[A(0x17f)]>0x0&&h[h['length']-0x1])&&(l[0x0]===0x6||l[0x0]===0x2)){c=0x0;continue;}if(l[0x0]===0x3&&(!h||l[0x1]>h[0x0]&&l[0x1]<h[0x3])){c[A(0x192)]=l[0x1];break;}if(l[0x0]===0x6&&c[A(0x192)]<h[0x1]){c['label']=h[0x1],h=l;break;}if(h&&c[A(0x192)]<h[0x2]){c['label']=h[0x2],c['ops'][A(0x1f6)](l);break;}if(h[0x2])c[A(0x240)][A(0x1d1)]();c['trys'][A(0x1d1)]();continue;}l=b['call'](a,c);}catch(m){l=[0x6,m],e=0x0;}finally{d=h=0x0;}if(l[0x0]&0x5)throw l[0x1];return{'value':l[0x0]?l[0x1]:void 0x0,'done':!![]};}},__spreadArray=this&&this[a68u(0x187)]||function(a,b,c){var B=a68u;if(c||arguments[B(0x17f)]===0x2)for(var d=0x0,e=b[B(0x17f)],f;d<e;d++){if(f||!(d in b)){if(!f)f=Array['prototype'][B(0x218)]['call'](b,0x0,d);f[d]=b[d];}}return a['concat'](f||Array['prototype'][B(0x218)][B(0x28d)](b));},__importDefault=this&&this[a68u(0x279)]||function(a){var C=a68u;return a&&a[C(0x27a)]?a:{'default':a};};Object[a68u(0x1b3)](exports,a68u(0x27a),{'value':!![]});function a68b(a,b){var c=a68a();return a68b=function(d,e){d=d-0x17a;var f=c[d];return f;},a68b(a,b);}function a68a(){var a5=['LibrarySettingsJSONDB','streams','assign','queueCompleted','Determining\x20healthcheck\x20command','healthcheckgpu','scanFile','lastPluginDetails','duration','Cache\x20folder:\x20','serverToNode','vaapi','ffmpeg','processFile','slice','round','34420NRIloi','transcodeError','nodeName','itemCancelled','-hwaccel_device\x20/dev/dri/renderD128','getTime','logOutcome','./ffmpegErrors','28XOtfhF','unlinkSync','originalLibraryFile','[Step\x20W02]\x20Loading\x20flow','process','--scan','Subworker\x20killed','pluginCycleLogJSONString:','totalTranscodeCount','success','stderr:','notRequired','[3/3]\x20Command\x20sent','Transcodes\x20during\x20this\x20job\x20so\x20far:\x20','concat','Updating\x20healthcheck\x20stats','cleanWorkDir','getFFmpegVar','argv','./cliParsers',':\x0a\x0d\x0a\x20\x22','<io>','return','7748tYnxzU','hasOwnProperty','sent','automatic','Safety\x20check\x20[-error-]:','[1/2]\x20Checking\x20file\x20frame\x20count','Processing','ops','Getting\x20source\x20file\x20size','isArray','\x22\x0a\x0d\x0a\x20','transcodeSettingsLog','[Step\x20W02]\x20[C','forEach','[1/3]\x20Sending\x20command\x20to\x20subworker','-stats\x20-v\x20error\x20','Checking\x20new\x20cache\x20file','The\x20new\x20transcode\x20arguments\x20were\x20the\x20exact\x20same\x20as\x20the\x20last\x20ones\x20meaning\x0athe\x20file/worker\x20would\x20most\x20likely\x20be\x20stuck\x20in\x20an\x20infinite\x20transcode\x20loop\x20if\x20not\x20stopped.\x0d\x0a\x20\x0d\x0a\x0aLast\x20arguments:\x20','\x0a\x0d\x0a\x20You\x20can\x20change\x20the\x20transcode\x20cache\x20in\x20the\x20library\x20settings\x0a','constants','transcode','checkStringForErr','Generator\x20is\x20already\x20executing.','Worker\x20config:\x20','then','transcodeSuccess','healthcheckSuccess','statistics','[Step\x20W05]\x20[C','reduce','fps','./formatWorkerCommand','Plugin\x20','VideoFrameRate','54807eJlbak','apply','info','amf','162mhoBHB','pluginRaw','Cancelled','Transcoding\x20successful.\x20Finished\x20job.','includes','send','consoleMessage','Cache\x20file\x20stem:\x20','112DrxsMM','itemRequest','Error\x20encountered\x20when\x20processing\x20','healthcheck','\x20\x0d\x0a\x0a\x0aCheck\x20your\x20plugin\x20stack\x20or\x20transcode\x20settings\x20to\x20make\x20sure\x20that','ffProbeData','Handbrake\x20healthcheck\x20task,\x20no\x20need\x20to\x20scan\x20for\x20extra\x20file\x20details',']\x20Running\x20pre-process\x20file','iterator','throw','\x20\x0d\x0a\x0aNew\x20arguments:\x20','handbrakescan','old\x20transcode\x20args/container\x20match\x20new\x20ones','detector\x20as\x20no\x20progress\x20was\x20detected.\x20You\x20can\x20disable\x20this\x20on\x20the\x20Options\x20tab','Exit\x20code:','task\x202\x20of\x202','type','split','__importDefault','__esModule','accessSync',']\x20Worker\x20[-success-]',']\x20Analysing\x20file\x20-\x20running\x20plugins','Cancelling','verbose:Exit\x20request','Worker\x20will\x20process','__assign','suggestedCacheFilePath','cliToUse','preset','workerLog','error','suicide','editready','kill','12402940FOscCZ','[1/2]\x20Trying\x20to\x20delete\x20errored\x20cache\x20file\x20','[Step\x20W06]\x20[C','call','[Step\x20W01]\x20Received\x20file,\x20original:\x20','Cancelled\x20worker:\x20','[Step\x20W03]\x20[C','6088952vDhhtK','Fetching\x20plugin\x20data\x20from\x20server','R_OK','library','task\x201\x20of\x202','../commonModules/logger','Args:\x20','Original\x20file\x20scanned','-stats\x20-v\x20error\x20-hwaccel\x20qsv\x20','hErr','length','string-argv','./transcodeSettings/determineTranscodeSettings','handbrake','meta','updateWorker','ensureDirSync','editreadyParser','__spreadArray','../commonModules/configGetter','Last\x20200\x20lines\x20of\x20CLI\x20log:','Worker\x20log:\x20','Updating\x20Node\x20relay:\x20Processing','./pathTranslator','transcodecpu','Deleted\x20successfully','env','transcodegpu','New\x20cache\x20file\x20has\x20already\x20been\x20scanned,\x20no\x20need\x20to\x20scan\x20again','label','data','size','Subworker\x20launched',',\x20-f\x20null\x20-max_muxing_queue_size\x209999','W_OK','fork','version','cache','map','762108AAlNQK','./workerHelpers','global','file','exitRequest','healthcheckcpu','Worker\x20success\x20during\x20processing','../utils/utils','stringify','function','Source\x20file\x20size:\x20','args','\x20in\x20','statSync','handbrakeParser',']\x20Won\x27t\x20process:\x20','configGetter','custom','outputPath','getScanTypes','[Step\x20W04]\x20[C','wontProcess','prototype','defineProperty','Performing\x20safety\x20check\x20on\x20worker\x20config\x20to\x20see\x20if\x20','user','File\x20processing\x20complete','Tdarr\x20ALERT:\x20NO\x20OUTPUT\x20FILE\x20PRODUCED:\x20\x20\x0d\x0a','child_process','lastCompletedCacheFile','./crudTransDBN','./workerFlowPlugin','message','sourceFileDefault','key','in\x20the\x20staging\x20section\x20on\x20the\x20Tdarr\x20tab\x20before\x20the\x20job\x20starts.','exit','warn','fatal','Source\x20file\x20to\x20work\x20on\x20determined:','stdout','platform_arch_isdocker','exitApproved','Safety\x20check\x20complete,\x20all\x20good','existsSync','Subworker:','connected','Subworker\x20exit\x20approved,\x20killing\x20subworker','string','fileVersionOriginalLogJSONString:','Finished','Path\x20translating\x20objects','container','pop','default','true','./workerUtils','workDir','splice','ffmpegscan','transcode\x20task,\x20scanning\x20for\x20extra\x20file\x20details\x20before\x20transcode','incdec','./replaceContainer','[2/2]\x20The\x20following\x20source\x20file\x20cannot\x20be\x20accessed\x20on\x20Tdarr_Node\x20','[Step\x20W07]\x20[C','Scanning\x20original\x20library\x20file','\x20you\x20have\x20conditions\x20to\x20prevent\x20an\x20infinite\x20transcode\x20loop\x20\x0d\x0a\x0a','footprintId','source','newFile','Item\x20was\x20cancelled\x20by\x20user.','fileVersionLogJSONString:','Updating\x20transcode\x20stats','qsv','settingsPlugin','trys','./updateWorkerJob','parse','goToNext','done','job','itemProcEnd','Cache\x20file\x20path:\x20','ffmpegParser','_id','transcode\x20cache\x20paths.\x0a\x0d\x0a\x20For\x20example,\x20/mnt/library\x20on\x20the\x20Server\x20should\x20point\x20to\x20the\x20same\x20location\x20as\x20/mnt/library\x20on\x20the\x20Node.\x0a\x0d\x0a\x20You\x20can\x20set\x20the\x20path\x20translators\x20in\x20Tdarr_Node_Config.json\x20for\x20when\x20it\x27s\x20not\x20possible\x20to\x20have\x20the\x20exact\x20same\x20paths\x0a(e.g.\x20if\x20you\x20have\x20the\x20Server\x20on\x20Linux\x20but\x20the\x20Node\x20on\x20Windows).\x20For\x20instance,\x20you\x20could\x20set\x20a\x20translator\x0a\x20to\x20translate\x20/mnt/library\x20to\x20C:/Library\x20or\x20vice\x20versa.\x0a\x0a\x20More\x20info\x20here:\x0a\x0a\x20https://docs.tdarr.io/docs/installation/windows-linux-macos#path-translators\x0a\x0a\x20If\x20running\x20the\x20Node\x20on\x20Windows,\x20don\x27t\x20run\x20as\x20admin\x20as\x20that\x20can\x20stop\x20access\x20to\x20network\x20shares.\x0a','[2/2]\x20Delete\x20[-error-]\x20','Scanning\x20new\x20file:\x20','next',']\x20Launching\x20subworker','push','settingsFlows','totalHealthCheckCount','[2/3]\x20','FFmpeg\x20[-error-]\x20detected\x20when\x20processing\x20file','../commonModules/normJoinPath','2169NsFaxG','requestNewItem','stderr','To\x20see\x20live\x20CLI\x20output,\x20enable\x20\x27Log\x20full\x20FFmpeg/HandBrake\x20output\x27\x20','[2/2]\x20Scan\x20complete','reason','value','\x0d\x0a\x20To\x20resolve\x20this,\x20make\x20sure\x20the\x20Server\x20and\x20Node\x20can\x20access\x20the\x20same\x20library\x20and\x20','[Step\x20W03.1]\x20[C','4808240vJNrFp','nb_frames','decisionMaker','getAll','healthcheckError'];a68a=function(){return a5;};return a68a();}var utils_1=require(a68u(0x1a3)),waitTimeout_1=__importDefault(require('../commonModules/waitTimeout')),logger_1=__importDefault(require(a68u(0x17a))),config_1=__importDefault(require('../config/config')),crudTransDBN_1=__importDefault(require(a68u(0x1ba))),updateWorkerJob_1=__importDefault(require(a68u(0x1e8))),resultDefault_1=__importDefault(require('./transcodeSettings/resultDefault')),ffmpegErrors_1=require(a68u(0x221)),pathTranslator_1=__importDefault(require(a68u(0x18c))),determineTranscodeSettings_1=__importDefault(require(a68u(0x181))),getCachePath_1=__importDefault(require('./getCachePath')),replaceContainer_1=__importDefault(require(a68u(0x1da))),cliParsers_1=require(a68u(0x235)),normJoinPath_1=__importDefault(require(a68u(0x1fb))),formatWorkerCommand_1=__importDefault(require(a68u(0x258))),workerHelpers_1=require(a68u(0x19d)),workerUtils_1=require(a68u(0x1d4)),workerFlowPlugin_1=__importDefault(require(a68u(0x1bb))),configGetter_1=require(a68u(0x188)),nodeName=(0x0,configGetter_1[a68u(0x1ac)])(a68u(0x21c)),workerID=process[a68u(0x234)][0x2],workerType=process['argv'][0x3],verboseLogs=process['argv'][0x4]===a68u(0x1d3),nodeID=process['argv'][0x8],logWorkerVerdictTranscodeNotRequired=process[a68u(0x234)][0x9]===a68u(0x1d3),worker2,ffmpegErrorsFound=[],cliLog=[],fs=require('graceful-fs'),childProcess=require(a68u(0x1b8)),parseArgsStringToArgv=require(a68u(0x180))['parseArgsStringToArgv'],fsextra=require('fs-extra');process['on']('uncaughtException',function(a){var D=a68u;console[D(0x286)](a),logger_1[D(0x1d2)][D(0x1c2)](a),process[D(0x1c0)](0x1);});var inputObj={'job':{'footprintId':'','version':config_1['default'][a68u(0x199)],'jobId':'','start':0x0,'type':'','fileId':''},'originalLibraryFile':{'_id':'','file':'','DB':'','footprintId':'','file_size':0x0},'lastCompletedCacheFile':{'_id':'','file':'','DB':'','footprintId':'','file_size':0x0},'workDir':''},sourceFile=JSON[a68u(0x1e9)](JSON[a68u(0x1a4)](workerHelpers_1[a68u(0x1bd)])),cacheFileDefault={'_id':'','file':'','DB':'','footprintId':''},cacheFile=JSON[a68u(0x1e9)](JSON[a68u(0x1a4)](cacheFileDefault)),lastCliCommand='',cacheFilePath='',librarySettings,ffmpegPath='',handbrakePath='',mkvpropeditPath='',gpuSelect='-',allowGpuDoCpu=![],thoroughHealthCheckCpuExtraInputArgs='',thoroughHealthCheckGpuExtraInputArgs='',thoroughHealthCheckCpuExtraArgs='',thoroughHealthCheckGpuExtraArgs='',logFullCliOutput=![],runMkvpropedit=![],dontCleanWorkerCacheFolder=![],pluginCycle=0x0,hbPass=0x0,pluginsSelectedWithRaw=[],workerConfigDefault={'workerLog':'','cliToUse':a68u(0x216),'container':'','preset':'','lastPluginDetails':{},'error':![],'reason':'','processFile':![],'transcodeSettingsLog':'','custom':{'args':'','cliPath':'','outputPath':''}},workerConfig=JSON[a68u(0x1e9)](JSON[a68u(0x1a4)](workerConfigDefault)),lastWorkerConfig=JSON[a68u(0x1e9)](JSON['stringify'](workerConfigDefault)),frameCount=0x0,transcodeCount=0x0,requestItem=function(){var E=a68u,a=[workerID,E(0x268),workerType];process&&process[E(0x264)]&&process['send'](a);};requestItem();var sendWorker2=function(a){var F=a68u;worker2&&worker2[F(0x1ca)]===!![]&&worker2[F(0x264)](a);},fancyTimeFormat=function(a){var G=a68u,b=~~(a/0xe10),c=~~(a%0xe10/0x3c),d=~~a%0x3c,e='';return e+=''['concat'](b,':')[G(0x230)](c<0xa?'0':''),e+=''[G(0x230)](c,':')[G(0x230)](d<0xa?'0':''),e+=''[G(0x230)](d),e;},transcodingSuccessful=function(){return __awaiter(void 0x0,void 0x0,void 0x0,function(){var a,b;return __generator(this,function(c){var H=a68b;switch(c['label']){case 0x0:(0x0,updateWorkerJob_1[H(0x1d2)])(workerID,inputObj[H(0x1ec)],'[Step\x20W08]\x20[-success-]\x20Job\x20end'),(0x0,updateWorkerJob_1[H(0x1d2)])(workerID,inputObj[H(0x1ec)],H(0x262)),c['label']=0x1;case 0x1:c[H(0x1e7)][H(0x1f6)]([0x1,0x3,,0x4]),a={'workerID':workerID,'status':H(0x252),'reason':'','_id':inputObj[H(0x224)][H(0x19f)],'lastCompletedCacheFile':inputObj[H(0x1b9)],'stagedLog':workerConfig[H(0x285)],'job':inputObj['job']};return[0x4,(0x0,workerUtils_1[H(0x1ed)])({'obj':a,'nodeID':nodeID,'job':inputObj[H(0x1ec)],'workerID':workerID,'verboseLogs':verboseLogs})];case 0x2:c['sent'](),requestItem();return[0x3,0x4];case 0x3:b=c[H(0x23b)](),logger_1[H(0x1d2)]['error'](b);return[0x3,0x4];case 0x4:return[0x2];}});});},progAVG=[],oldOutSize=0x0,oldEstSize=0x0,oldProgress=0x0,lastProgCheck=0x0,updateETA=function(a){var I=a68u;if(a>0x0){if(lastProgCheck===0x0)lastProgCheck=new Date()[I(0x21f)](),oldProgress=a;else{if(a!==oldProgress){var b=new Date()['getTime'](),c=(b-lastProgCheck)/0x3e8;if(c>0x1){var d=Math[I(0x219)](0x64/(a-oldProgress)*c);d*=(0x64-a)/0x64,progAVG[I(0x1f6)](d);var e=progAVG[I(0x256)](function(j,k){return k+=j;}),f=e/progAVG['length'],g=0x0,h=void 0x0;try{if(fs[I(0x1c8)](cacheFilePath)){var i=fs[I(0x1a9)](cacheFilePath);i=i[I(0x194)],h=i/(0x400*0x400*0x400),h!==oldOutSize&&(oldOutSize=h,g=h+(0x64-a)/a*h,oldEstSize=g);}}catch(j){logger_1['default'][I(0x286)](j);}(0x0,workerHelpers_1[I(0x184)])({'ETA':fancyTimeFormat(f),'outputFileSizeInGbytes':h===undefined?0x0:h,'estSize':oldEstSize===undefined?0x0:oldEstSize}),progAVG[I(0x17f)]>0x1e&&progAVG[I(0x1d6)](0x0,0x1),lastProgCheck=b,oldProgress=a;}}}}},addToCliLog=function(a){var J=a68u;cliLog[J(0x1f6)](''[J(0x230)](a,'\x0a')),cliLog=cliLog[J(0x218)](-0xc8);},updateStat=function(a,b){var K=a68u,c={'key':a,'inc':b};void(0x0,crudTransDBN_1['default'])(K(0x20a),K(0x1d9),inputObj[K(0x224)]['DB'],c);var d={'key':a,'inc':b};void(0x0,crudTransDBN_1[K(0x1d2)])('StatisticsJSONDB',K(0x1d9),K(0x254),d);},logPluginOutcome=function(a){var L=a68u;(0x0,updateWorkerJob_1[L(0x1d2)])(workerID,inputObj[L(0x1ec)],L(0x229)[L(0x230)](JSON[L(0x1a4)]({'nodeName':nodeName,'workerID':workerID,'pluginCycle':pluginCycle,'outcome':a,'workerLog':workerConfig[L(0x285)],'lastCliCommand':lastCliCommand})));},workerEncounteredError=function(a,b){return __awaiter(void 0x0,void 0x0,void 0x0,function(){var c,d,e,f,g,h,g;return __generator(this,function(i){var M=a68b;switch(i[M(0x192)]){case 0x0:(0x0,updateWorkerJob_1[M(0x1d2)])(workerID,inputObj[M(0x1ec)],'[-error-]'),(0x0,updateWorkerJob_1[M(0x1d2)])(workerID,inputObj[M(0x1ec)],M(0x1dc)[M(0x230)](pluginCycle,']\x20Worker\x20[-error-]')),(0x0,updateWorkerJob_1[M(0x1d2)])(workerID,inputObj[M(0x1ec)],M(0x269)[M(0x230)](sourceFile[M(0x19f)]));workerType[M(0x263)]('transcode')&&!fs[M(0x1c8)](cacheFilePath)&&((0x0,updateWorkerJob_1[M(0x1d2)])(workerID,inputObj[M(0x1ec)],M(0x249)),c=M(0x1b7)['concat'](cacheFilePath),(0x0,updateWorkerJob_1[M(0x1d2)])(workerID,inputObj[M(0x1ec)],c),logger_1[M(0x1d2)][M(0x1c1)](c));i['label']=0x1;case 0x1:i[M(0x1e7)][M(0x1f6)]([0x1,0x4,,0x5]);if(!fs['existsSync'](cacheFilePath))return[0x3,0x3];(0x0,updateWorkerJob_1[M(0x1d2)])(workerID,inputObj[M(0x1ec)],M(0x28b)[M(0x230)](cacheFilePath));return[0x4,(0x0,waitTimeout_1[M(0x1d2)])(0x7d0)];case 0x2:i['sent'](),fs[M(0x223)](cacheFilePath),(0x0,updateWorkerJob_1['default'])(workerID,inputObj[M(0x1ec)],'[2/2]\x20Delete\x20success'),i[M(0x192)]=0x3;case 0x3:return[0x3,0x5];case 0x4:d=i[M(0x23b)](),logger_1[M(0x1d2)][M(0x286)](d),(0x0,updateWorkerJob_1[M(0x1d2)])(workerID,inputObj[M(0x1ec)],M(0x1f2)[M(0x230)](JSON[M(0x1a4)](d)));return[0x3,0x5];case 0x5:if(!(a===M(0x261)))return[0x3,0x7];e=workerType[M(0x263)]('healthcheck')?'healthcheckCancelled':'transcodeCancelled',f='';if(b===M(0x23c))f='Item\x20was\x20cancelled\x20automatically\x20by\x20the\x20worker\x20stall\x20'+M(0x274);else b===M(0x1b5)&&(f=M(0x1e2));(0x0,updateWorkerJob_1[M(0x1d2)])(workerID,inputObj[M(0x1ec)],f),g={'workerID':workerID,'status':e,'reason':'','_id':inputObj[M(0x224)][M(0x19f)],'lastCompletedCacheFile':inputObj['lastCompletedCacheFile'],'stagedLog':f,'job':inputObj[M(0x1ec)]};return[0x4,(0x0,workerUtils_1['itemProcEnd'])({'obj':g,'nodeID':nodeID,'job':inputObj[M(0x1ec)],'workerID':workerID,'verboseLogs':verboseLogs})];case 0x6:i[M(0x23b)](),(0x0,updateWorkerJob_1[M(0x1d2)])(workerID,inputObj[M(0x1ec)],'Requesting\x20exit\x20from\x20Node\x20relay'),h=[workerID,M(0x1a0)];process&&process['send']&&process[M(0x264)](h);return[0x3,0xb];case 0x7:if(!workerType['includes'](M(0x26a)))return[0x3,0x9];(0x0,updateWorkerJob_1[M(0x1d2)])(workerID,inputObj['job'],'Updating\x20healthcheck\x20stats'),(0x0,workerUtils_1[M(0x220)])(M(0x17e)),updateStat(M(0x1f8),0x1),g={'workerID':workerID,'status':M(0x209),'reason':'','_id':inputObj['originalLibraryFile'][M(0x19f)],'lastCompletedCacheFile':JSON[M(0x1e9)](JSON[M(0x1a4)](cacheFileDefault)),'stagedLog':'','job':inputObj[M(0x1ec)]};return[0x4,(0x0,workerUtils_1['itemProcEnd'])({'obj':g,'nodeID':nodeID,'job':inputObj['job'],'workerID':workerID,'verboseLogs':verboseLogs})];case 0x8:i[M(0x23b)](),requestItem();return[0x3,0xb];case 0x9:if(!workerType[M(0x263)](M(0x24d)))return[0x3,0xb];logPluginOutcome(M(0x286)),(0x0,updateWorkerJob_1['default'])(workerID,inputObj[M(0x1ec)],M(0x1e4)),(0x0,workerUtils_1[M(0x220)])('tErr');return[0x4,(0x0,workerUtils_1[M(0x21b)])({'nodeID':nodeID,'inputObj':inputObj,'workerID':workerID,'verboseLogs':verboseLogs})];case 0xa:i[M(0x23b)](),requestItem(),i[M(0x192)]=0xb;case 0xb:return[0x2];}});});},workerNotEncounteredError=function(){return __awaiter(void 0x0,void 0x0,void 0x0,function(){var a,b,c,d,e;return __generator(this,function(f){var N=a68b;switch(f[N(0x192)]){case 0x0:(0x0,updateWorkerJob_1[N(0x1d2)])(workerID,inputObj[N(0x1ec)],N(0x28c)[N(0x230)](pluginCycle,N(0x27c))),(0x0,updateWorkerJob_1[N(0x1d2)])(workerID,inputObj[N(0x1ec)],N(0x1a2)),(0x0,workerHelpers_1[N(0x184)])({'percentage':0x64});if(!workerType['includes'](N(0x26a)))return[0x3,0x2];(0x0,updateWorkerJob_1[N(0x1d2)])(workerID,inputObj['job'],N(0x231)),(0x0,workerUtils_1[N(0x220)])('hSuc'),updateStat('totalHealthCheckCount',0x1),a={'workerID':workerID,'status':N(0x253),'reason':'','_id':inputObj['originalLibraryFile'][N(0x19f)],'lastCompletedCacheFile':JSON[N(0x1e9)](JSON[N(0x1a4)](cacheFileDefault)),'stagedLog':'','job':inputObj['job']};return[0x4,(0x0,workerUtils_1[N(0x1ed)])({'obj':a,'nodeID':nodeID,'job':inputObj[N(0x1ec)],'workerID':workerID,'verboseLogs':verboseLogs})];case 0x1:f[N(0x23b)](),requestItem();return[0x3,0x9];case 0x2:if(!workerType['includes']('transcode'))return[0x3,0x9];(0x0,updateWorkerJob_1[N(0x1d2)])(workerID,inputObj[N(0x1ec)],N(0x1e4)),(0x0,workerUtils_1['logOutcome'])('tSuc'),updateStat(N(0x22a),0x1),b=(0x0,utils_1[N(0x1af)])(pluginsSelectedWithRaw[N(0x19b)](function(g){var O=N;return g[O(0x260)];})),(0x0,updateWorkerJob_1[N(0x1d2)])(workerID,inputObj[N(0x1ec)],'Deleting\x20non-latest\x20cache\x20file\x20'[N(0x230)](sourceFile['file'])),f['label']=0x3;case 0x3:f[N(0x1e7)]['push']([0x3,0x6,,0x7]);if(!(sourceFile['file']!==inputObj['originalLibraryFile'][N(0x19f)]&&fs[N(0x1c8)](sourceFile[N(0x19f)])))return[0x3,0x5];return[0x4,(0x0,waitTimeout_1['default'])(0x7d0)];case 0x4:f[N(0x23b)](),fs[N(0x223)](sourceFile[N(0x19f)]),(0x0,updateWorkerJob_1[N(0x1d2)])(workerID,inputObj[N(0x1ec)],N(0x18e)),f[N(0x192)]=0x5;case 0x5:return[0x3,0x7];case 0x6:c=f[N(0x23b)](),(0x0,updateWorkerJob_1[N(0x1d2)])(workerID,inputObj[N(0x1ec)],'Deletion\x20[-warning-]\x20'['concat'](JSON[N(0x1a4)](c))),logger_1[N(0x1d2)]['error'](c);return[0x3,0x7];case 0x7:inputObj[N(0x1b9)]=JSON[N(0x1e9)](JSON[N(0x1a4)](cacheFile)),(0x0,updateWorkerJob_1[N(0x1d2)])(workerID,inputObj[N(0x1ec)],N(0x1f3)['concat'](cacheFile[N(0x19f)])),d=inputObj;return[0x4,(0x0,workerHelpers_1[N(0x210)])({'sourceFilee':inputObj[N(0x1b9)],'scanTypes':b,'runMkvpropedit':runMkvpropedit,'workerType':workerType,'job':inputObj[N(0x1ec)],'mkvpropeditPath':mkvpropeditPath})];case 0x8:d[N(0x1b9)]=f[N(0x23b)](),logPluginOutcome(N(0x22b));workerType[N(0x263)]('transcode')&&(0x0,updateWorkerJob_1['default'])(workerID,inputObj[N(0x1ec)],N(0x1e3)[N(0x230)](JSON[N(0x1a4)]({'lastCliCommand':lastCliCommand,'lastPluginId':(e=workerConfig===null||workerConfig===void 0x0?void 0x0:workerConfig['lastPluginDetails'])===null||e===void 0x0?void 0x0:e['id'],'sourceFile':inputObj[N(0x1b9)]})));transcodeCount+=0x1,(0x0,updateWorkerJob_1[N(0x1d2)])(workerID,inputObj['job'],N(0x22f)[N(0x230)](transcodeCount));librarySettings[N(0x207)][N(0x1e6)]===!![]?void preProcessFile(inputObj[N(0x1b9)],!![]):void transcodingSuccessful();f[N(0x192)]=0x9;case 0x9:return[0x2];}});});},launchWorker=function(a,b){var P=a68u;(0x0,updateWorkerJob_1[P(0x1d2)])(workerID,inputObj['job'],P(0x255)['concat'](pluginCycle,P(0x1f5))),(0x0,updateWorkerJob_1[P(0x1d2)])(workerID,inputObj[P(0x1ec)],'Preparing\x20to\x20launch\x20subworker'),(0x0,workerHelpers_1[P(0x184)])({'percentage':0x0});var c=(0x0,normJoinPath_1[P(0x1d2)])(__dirname,'worker2.js');worker2=childProcess[P(0x198)](c,[],{'silent':!![],'env':__assign({},process[P(0x18f)])}),(0x0,updateWorkerJob_1[P(0x1d2)])(workerID,inputObj[P(0x1ec)],P(0x195));var d=['processFile',a,b];(0x0,updateWorkerJob_1[P(0x1d2)])(workerID,inputObj['job'],P(0x247)),(0x0,updateWorkerJob_1[P(0x1d2)])(workerID,inputObj[P(0x1ec)],P(0x1f9)[P(0x230)](lastCliCommand)),sendWorker2(d),(0x0,updateWorkerJob_1['default'])(workerID,inputObj[P(0x1ec)],P(0x22e));logFullCliOutput!==!![]&&(0x0,updateWorkerJob_1[P(0x1d2)])(workerID,inputObj['job'],P(0x1ff)+P(0x1bf)+'\x20Note\x20this\x20could\x20increase\x20the\x20job\x20report\x20size\x20substantially.');var e=function(f){var Q=P,g,h,i,j,k=''[Q(0x230)](f);logFullCliOutput===!![]?(0x0,updateWorkerJob_1[Q(0x1d2)])(workerID,inputObj[Q(0x1ec)],k):addToCliLog(k);if(workerConfig['cliToUse']==='handbrake'){if(k[Q(0x263)](Q(0x295)))hbPass=0x1;else k['includes'](Q(0x276))&&(hbPass=0x2);var l=(0x0,cliParsers_1[Q(0x1aa)])({'str':k,'hbPass':hbPass});l>0x0&&(updateETA(l),(0x0,workerHelpers_1[Q(0x184)])({'percentage':l}));}else{if(workerConfig[Q(0x283)]==='ffmpeg'){workerType[Q(0x263)]('healthcheck')&&((0x0,ffmpegErrors_1[Q(0x24e)])(k)===!![]&&((0x0,updateWorkerJob_1[Q(0x1d2)])(workerID,inputObj['job'],Q(0x1fa)),(0x0,updateWorkerJob_1[Q(0x1d2)])(workerID,inputObj['job'],k),ffmpegErrorsFound[Q(0x1f6)](k)));var m=k['indexOf']('fps'),o=k[Q(0x17f)]>=0x6&&m>=0x6,p=parseInt((0x0,cliParsers_1[Q(0x233)])({'str':k,'variable':Q(0x257)}),0xa),l=(0x0,cliParsers_1[Q(0x1ef)])({'str':k,'frameCount':frameCount,'videoFrameRate':(g=sourceFile===null||sourceFile===void 0x0?void 0x0:sourceFile[Q(0x183)])===null||g===void 0x0?void 0x0:g[Q(0x25a)],'ffprobeDuration':(i=(h=sourceFile[Q(0x26c)])===null||h===void 0x0?void 0x0:h['format'])===null||i===void 0x0?void 0x0:i[Q(0x212)],'metaDuration':(j=sourceFile===null||sourceFile===void 0x0?void 0x0:sourceFile[Q(0x183)])===null||j===void 0x0?void 0x0:j['Duration']});o===!![]&&p>0x0&&(0x0,workerHelpers_1['updateWorker'])({'fps':p}),l>0x0&&(updateETA(l),(0x0,workerHelpers_1['updateWorker'])({'percentage':l}));}else{if(workerConfig[Q(0x283)]===Q(0x288)){var l=(0x0,cliParsers_1[Q(0x186)])({'str':k});l>0x0&&(updateETA(l),(0x0,workerHelpers_1[Q(0x184)])({'percentage':l}));}}}};worker2[P(0x1c4)]['on'](P(0x193),function(f){var R=P;e(f);if(f[R(0x263)](R(0x275))){}if(f[R(0x263)](R(0x22c))){}}),worker2[P(0x1fe)]['on'](P(0x193),function(f){e(f);}),worker2['on'](P(0x1c0),function(f){var S=P;(0x0,updateWorkerJob_1[S(0x1d2)])(workerID,inputObj['job'],'Subworker\x20exited\x20'[S(0x230)](f));}),worker2['on'](P(0x1bc),function(f){var T=P;f[0x0]===T(0x265)&&(0x0,updateWorkerJob_1[T(0x1d2)])(workerID,inputObj[T(0x1ec)],T(0x1c9)[T(0x230)](f[0x1]));f[T(0x286)]&&(0x0,updateWorkerJob_1[T(0x1d2)])(workerID,inputObj[T(0x1ec)],T(0x1c9)[T(0x230)](f[T(0x286)]));if(f[0x0]==='Exit'){(0x0,updateWorkerJob_1[T(0x1d2)])(workerID,inputObj[T(0x1ec)],T(0x1cb));var g=['exitApproved'];sendWorker2(g),worker2[T(0x289)](),(0x0,updateWorkerJob_1[T(0x1d2)])(workerID,inputObj['job'],T(0x228));f[0x2]&&(0x0,updateWorkerJob_1['default'])(workerID,inputObj[T(0x1ec)],''['concat'](f[0x2]));worker2='';var h=function(){var U=T;logFullCliOutput!==!![]&&((0x0,updateWorkerJob_1[U(0x1d2)])(workerID,inputObj[U(0x1ec)],U(0x189)),(0x0,updateWorkerJob_1[U(0x1d2)])(workerID,inputObj[U(0x1ec)],cliLog['join']('')));};(0x0,updateWorkerJob_1[T(0x1d2)])(workerID,inputObj[T(0x1ec)],'CLI\x20code:\x20'[T(0x230)](f[0x1])),f[0x1]!==0x0||workerType[T(0x263)]('healthcheck')&&ffmpegErrorsFound['length']>0x0||workerType['includes'](T(0x24d))&&!fs['existsSync'](cacheFilePath)?(h(),void workerEncounteredError(f[0x1],f[0x2])):(h(),void workerNotEncounteredError());}});},prepCommand=function(a){var V=a68u,b=a[V(0x282)];return __awaiter(void 0x0,void 0x0,void 0x0,function(){var c,d,e,f,g,h,i,j,k,l,m,n,o,p;return __generator(this,function(q){var W=a68b;switch(q[W(0x192)]){case 0x0:(0x0,updateWorkerJob_1[W(0x1d2)])(workerID,inputObj[W(0x1ec)],W(0x1b0)[W(0x230)](pluginCycle,']\x20Preparing\x20command')),c=(0x0,normJoinPath_1['default'])(librarySettings[W(0x19a)]),(0x0,updateWorkerJob_1[W(0x1d2)])(workerID,inputObj['job'],W(0x266)['concat'](c)),d=sourceFile[W(0x19f)],cacheFilePath=b,e=(o=workerConfig===null||workerConfig===void 0x0?void 0x0:workerConfig[W(0x1ad)])===null||o===void 0x0?void 0x0:o[W(0x1a7)],f=Array['isArray'](e)&&e[W(0x17f)]>0x0||typeof e===W(0x1cc)&&e[W(0x17f)]>0x0;!f?cacheFilePath=(0x0,replaceContainer_1[W(0x1d2)])(cacheFilePath,workerConfig[W(0x1d0)]):cacheFilePath=workerConfig[W(0x1ad)][W(0x1ae)];(0x0,updateWorkerJob_1[W(0x1d2)])(workerID,inputObj[W(0x1ec)],W(0x1ee)[W(0x230)](cacheFilePath)),cacheFile['_id']=cacheFilePath,cacheFile[W(0x19f)]=cacheFilePath,cacheFile['DB']=inputObj[W(0x224)]['DB'],cacheFile[W(0x1df)]=inputObj['originalLibraryFile'][W(0x1df)];workerConfig[W(0x284)][W(0x263)](W(0x237))?g=workerConfig[W(0x284)][W(0x278)](W(0x237)):g=workerConfig['preset'][W(0x278)](',');h=[],i='',(0x0,updateWorkerJob_1[W(0x1d2)])(workerID,inputObj['job'],'Create\x20transcode\x20args');if(f)i=(p=workerConfig===null||workerConfig===void 0x0?void 0x0:workerConfig[W(0x1ad)])===null||p===void 0x0?void 0x0:p['cliPath'],Array[W(0x242)](e)?h=e:h=__spreadArray([],parseArgsStringToArgv(e,'',''),!![]);else switch(!![]){case workerConfig['cliToUse']===W(0x182):h=__spreadArray(['-i',''[W(0x230)](d),'-o',''[W(0x230)](cacheFilePath)],parseArgsStringToArgv(workerConfig[W(0x284)],'',''),!![]),i=''[W(0x230)](handbrakePath);break;case workerConfig[W(0x283)]===W(0x216):h=__spreadArray(__spreadArray(__spreadArray(__spreadArray([],parseArgsStringToArgv(g[0x0],'',''),!![]),['-i',''[W(0x230)](d)],![]),parseArgsStringToArgv(g[0x1],'',''),!![]),[''[W(0x230)](cacheFilePath)],![]),i=''['concat'](ffmpegPath);break;default:}(0x0,updateWorkerJob_1[W(0x1d2)])(workerID,inputObj[W(0x1ec)],W(0x17b)[W(0x230)]((0x0,formatWorkerCommand_1[W(0x1d2)])(undefined,h))),(0x0,updateWorkerJob_1[W(0x1d2)])(workerID,inputObj[W(0x1ec)],W(0x241));try{j=fs['statSync'](sourceFile['file'])[W(0x194)]/(0x400*0x400*0x400);}catch(r){j='Error';}k=0x0;try{k=fs[W(0x1a9)](inputObj[W(0x224)][W(0x19f)])['size']/(0x400*0x400*0x400);}catch(s){}(0x0,updateWorkerJob_1['default'])(workerID,inputObj[W(0x1ec)],W(0x1a6)['concat'](j)),l='';workerConfig&&workerConfig[W(0x211)]&&(l=W(0x259)[W(0x230)](workerConfig[W(0x211)][W(0x1e0)],'\x20')['concat'](workerConfig['lastPluginDetails']['id']));(0x0,updateWorkerJob_1[W(0x1d2)])(workerID,inputObj[W(0x1ec)],W(0x1b4)+W(0x273));if(!(!f&&lastWorkerConfig[W(0x284)]===workerConfig[W(0x284)]&&lastWorkerConfig[W(0x1d0)]===workerConfig['container']))return[0x3,0x2];m=W(0x24a)['concat'](lastWorkerConfig[W(0x284)],'\x20in\x20\x20')[W(0x230)](lastWorkerConfig[W(0x1d0)],W(0x271))[W(0x230)](workerConfig[W(0x284)],W(0x1a8))[W(0x230)](workerConfig['container'],'\x20\x0d\x0a\x0a')[W(0x230)](l,W(0x26b))+W(0x1de),(0x0,updateWorkerJob_1[W(0x1d2)])(workerID,inputObj['job'],W(0x23d)[W(0x230)](m)),n={'workerID':workerID,'status':W(0x21b),'reason':'','_id':inputObj[W(0x224)]['file'],'lastCompletedCacheFile':inputObj['lastCompletedCacheFile'],'stagedLog':m,'job':inputObj[W(0x1ec)]};return[0x4,(0x0,workerUtils_1['itemProcEnd'])({'obj':n,'nodeID':nodeID,'job':inputObj[W(0x1ec)],'workerID':workerID,'verboseLogs':verboseLogs})];case 0x1:q['sent'](),requestItem();return[0x3,0x3];case 0x2:(0x0,updateWorkerJob_1['default'])(workerID,inputObj[W(0x1ec)],W(0x1c7)),lastWorkerConfig=JSON['parse'](JSON[W(0x1a4)](workerConfig)),(0x0,workerHelpers_1['updateWorker'])({'workerLog':workerConfig[W(0x285)],'sourcefileSizeInGbytes':j,'originalfileSizeInGbytes':k,'startTime':new Date()[W(0x21f)](),'CLIType':workerConfig['cliToUse'],'preset':workerConfig['preset'],'lastPluginDetails':workerConfig['lastPluginDetails'],'status':W(0x23f)}),lastCliCommand=''[W(0x230)]((0x0,formatWorkerCommand_1[W(0x1d2)])(i,h)),launchWorker(i,h),q[W(0x192)]=0x3;case 0x3:return[0x2];}});});},analyseFile=function(a){return __awaiter(void 0x0,void 0x0,void 0x0,function(){var b,b,c,d,e,f,g,h,h;return __generator(this,function(i){var X=a68b;switch(i[X(0x192)]){case 0x0:(0x0,updateWorkerJob_1[X(0x1d2)])(workerID,inputObj[X(0x1ec)],X(0x290)[X(0x230)](pluginCycle,X(0x27d)));if(!!a)return[0x3,0x6];if(!(workerType===X(0x18d)||workerType==='transcodegpu'))return[0x3,0x2];(0x0,updateWorkerJob_1[X(0x1d2)])(workerID,inputObj[X(0x1ec)],X(0x1d8)),b=(0x0,utils_1[X(0x1af)])(pluginsSelectedWithRaw[X(0x19b)](function(j){var Y=X;return j[Y(0x260)];}));return[0x4,(0x0,workerHelpers_1['scanFile'])({'sourceFilee':sourceFile,'scanTypes':b,'runMkvpropedit':runMkvpropedit,'workerType':workerType,'job':inputObj[X(0x1ec)],'mkvpropeditPath':mkvpropeditPath})];case 0x1:sourceFile=i[X(0x23b)](),(0x0,updateWorkerJob_1[X(0x1d2)])(workerID,inputObj['job'],'Scan\x20complete');return[0x3,0x5];case 0x2:if(!(librarySettings['handbrakescan']&&(workerType===X(0x1a1)||workerType===X(0x20f))))return[0x3,0x3];(0x0,updateWorkerJob_1[X(0x1d2)])(workerID,inputObj[X(0x1ec)],X(0x26d));return[0x3,0x5];case 0x3:if(!(librarySettings['ffmpegscan']&&(workerType===X(0x1a1)||workerType===X(0x20f))))return[0x3,0x5];(0x0,updateWorkerJob_1[X(0x1d2)])(workerID,inputObj[X(0x1ec)],'[1/2]\x20FFmpeg\x20healthcheck\x20task,\x20scanning\x20for\x20extra\x20file\x20details\x20before\x20health\x20check'),b={'exifToolScan':!![],'mediaInfoScan':![],'closedCaptionScan':![]};return[0x4,(0x0,workerHelpers_1[X(0x210)])({'sourceFilee':sourceFile,'scanTypes':b,'runMkvpropedit':runMkvpropedit,'workerType':workerType,'job':inputObj['job'],'mkvpropeditPath':mkvpropeditPath})];case 0x4:sourceFile=i[X(0x23b)](),(0x0,updateWorkerJob_1[X(0x1d2)])(workerID,inputObj[X(0x1ec)],X(0x200)),i[X(0x192)]=0x5;case 0x5:return[0x3,0x7];case 0x6:(0x0,updateWorkerJob_1[X(0x1d2)])(workerID,inputObj[X(0x1ec)],X(0x191)),i[X(0x192)]=0x7;case 0x7:(0x0,updateWorkerJob_1[X(0x1d2)])(workerID,inputObj[X(0x1ec)],X(0x18b)),(0x0,workerHelpers_1[X(0x184)])({'status':'Processing'}),(0x0,updateWorkerJob_1[X(0x1d2)])(workerID,inputObj[X(0x1ec)],X(0x23e));try{sourceFile[X(0x26c)]&&sourceFile['ffProbeData']['streams']&&sourceFile[X(0x26c)][X(0x20b)][0x0]&&sourceFile[X(0x26c)]['streams'][0x0][X(0x206)]!==undefined?frameCount=parseInt(sourceFile[X(0x26c)][X(0x20b)][0x0][X(0x206)],0xa):frameCount=0x0;}catch(j){}(0x0,updateWorkerJob_1[X(0x1d2)])(workerID,inputObj[X(0x1ec)],'[2/2]\x20Frame\x20count\x20'['concat'](frameCount)),workerConfig=JSON[X(0x1e9)](JSON[X(0x1a4)](resultDefault_1[X(0x1d2)])),c=(0x0,getCachePath_1[X(0x1d2)])({'sourceFilePath':sourceFile[X(0x19f)],'cacheStem':librarySettings[X(0x19a)],'outputContainer':'.'[X(0x230)](sourceFile[X(0x19f)][X(0x278)]('.')['pop']())}),d={'handbrakePath':handbrakePath,'ffmpegPath':ffmpegPath,'mkvpropeditPath':mkvpropeditPath,'originalLibraryFile':inputObj[X(0x224)],'nodeHardwareType':gpuSelect,'pluginCycle':pluginCycle,'workerType':workerType,'version':config_1[X(0x1d2)][X(0x199)],'platform_arch_isdocker':config_1[X(0x1d2)][X(0x1c5)],'cacheFilePath':c,'job':inputObj['job']},e=function(k){var Z=X;(0x0,updateWorkerJob_1[Z(0x1d2)])(workerID,inputObj['job'],k);};if(!(workerType===X(0x18d)||workerType===X(0x190)))return[0x3,0xf];(0x0,updateWorkerJob_1[X(0x1d2)])(workerID,inputObj['job'],'Transcode\x20task,\x20determining\x20transcode\x20settings');return[0x4,(0x0,determineTranscodeSettings_1[X(0x1d2)])(workerType,gpuSelect,allowGpuDoCpu,sourceFile,librarySettings,d,pluginsSelectedWithRaw,e)];case 0x8:workerConfig=i[X(0x23b)](),f=JSON['parse'](JSON[X(0x1a4)](workerConfig));f&&f['workerLog']&&(delete f[X(0x244)],delete f['workerLog']);(0x0,updateWorkerJob_1[X(0x1d2)])(workerID,inputObj[X(0x1ec)],X(0x250)[X(0x230)](JSON['stringify'](f,null,0x2))),(0x0,updateWorkerJob_1[X(0x1d2)])(workerID,inputObj[X(0x1ec)],X(0x18a)[X(0x230)](workerConfig[X(0x285)])),g=X(0x22d);workerConfig['reason']&&(g=workerConfig[X(0x201)]);if(!(workerConfig[X(0x286)]===!![]))return[0x3,0xa];(0x0,updateWorkerJob_1[X(0x1d2)])(workerID,inputObj['job'],'Worker\x20config\x20[-error-]:'),h={'workerID':workerID,'status':'transcodeError','reason':'','_id':inputObj[X(0x224)][X(0x19f)],'lastCompletedCacheFile':inputObj[X(0x1b9)],'stagedLog':workerConfig[X(0x285)],'job':inputObj[X(0x1ec)]};return[0x4,(0x0,workerUtils_1[X(0x1ed)])({'obj':h,'nodeID':nodeID,'job':inputObj[X(0x1ec)],'workerID':workerID,'verboseLogs':verboseLogs})];case 0x9:i[X(0x23b)](),void requestItem();return[0x3,0xe];case 0xa:if(!(workerConfig[X(0x217)]===!![]))return[0x3,0xb];(0x0,updateWorkerJob_1[X(0x1d2)])(workerID,inputObj['job'],X(0x280)),void prepCommand({'suggestedCacheFilePath':c});return[0x3,0xe];case 0xb:if(!(transcodeCount>0x0&&g===X(0x22d)))return[0x3,0xc];void transcodingSuccessful();return[0x3,0xe];case 0xc:g===X(0x22d)&&logWorkerVerdictTranscodeNotRequired&&(0x0,workerUtils_1[X(0x220)])('tNq');(0x0,updateWorkerJob_1[X(0x1d2)])(workerID,inputObj[X(0x1ec)],X(0x204)[X(0x230)](pluginCycle,X(0x1ab))[X(0x230)](g)),h={'workerID':workerID,'status':X(0x1b1),'reason':g,'_id':inputObj[X(0x224)][X(0x19f)],'lastCompletedCacheFile':inputObj[X(0x1b9)],'stagedLog':workerConfig[X(0x285)],'job':inputObj[X(0x1ec)]};return[0x4,(0x0,workerUtils_1['itemProcEnd'])({'obj':h,'nodeID':nodeID,'job':inputObj[X(0x1ec)],'workerID':workerID,'verboseLogs':verboseLogs})];case 0xd:i[X(0x23b)](),requestItem(),i['label']=0xe;case 0xe:return[0x3,0x10];case 0xf:if(workerType==='healthcheckcpu'||workerType===X(0x20f)){(0x0,updateWorkerJob_1['default'])(workerID,inputObj[X(0x1ec)],X(0x20e));if(librarySettings[X(0x272)]===!![])workerConfig['cliToUse']=X(0x182),workerConfig[X(0x284)]=X(0x227);else{if(librarySettings[X(0x1d7)]===!![]&&workerType===X(0x1a1))workerConfig[X(0x283)]=X(0x216),workerConfig[X(0x284)]=X(0x248)[X(0x230)](typeof thoroughHealthCheckCpuExtraInputArgs===X(0x1cc)?thoroughHealthCheckCpuExtraInputArgs:'',X(0x196)),typeof thoroughHealthCheckCpuExtraArgs===X(0x1cc)&&(workerConfig[X(0x284)]+='\x20'[X(0x230)](thoroughHealthCheckCpuExtraArgs));else{if(librarySettings['ffmpegscan']===!![]&&workerType==='healthcheckgpu'){workerConfig[X(0x283)]=X(0x216);if(gpuSelect==='nvenc')workerConfig['preset']='-stats\x20-v\x20error\x20-hwaccel\x20nvdec\x20-hwaccel_output_format\x20cuda';else{if(gpuSelect===X(0x215)||gpuSelect===X(0x25e))workerConfig[X(0x284)]='-stats\x20-v\x20error\x20-hwaccel\x20vaapi\x20-hwaccel_output_format\x20vaapi\x20'+X(0x21e);else gpuSelect===X(0x1e5)?workerConfig[X(0x284)]=X(0x17d):workerConfig[X(0x284)]='-stats\x20-v\x20error\x20-hwaccel\x20nvdec\x20-hwaccel_output_format\x20cuda';}workerConfig[X(0x284)]+='\x20'[X(0x230)](typeof thoroughHealthCheckGpuExtraInputArgs===X(0x1cc)?thoroughHealthCheckGpuExtraInputArgs:'',X(0x196)),typeof thoroughHealthCheckGpuExtraArgs===X(0x1cc)&&(workerConfig[X(0x284)]+='\x20'['concat'](thoroughHealthCheckGpuExtraArgs));}}}void prepCommand({'suggestedCacheFilePath':c});}i[X(0x192)]=0x10;case 0x10:return[0x2];}});});},accessError=a68u(0x203)+a68u(0x1f1),preProcessFile=function(a,b){return __awaiter(void 0x0,void 0x0,void 0x0,function(){var c,d,e,e,d,e;return __generator(this,function(f){var a0=a68b;switch(f[a0(0x192)]){case 0x0:pluginCycle+=0x1,(0x0,updateWorkerJob_1[a0(0x1d2)])(workerID,inputObj[a0(0x1ec)],a0(0x245)[a0(0x230)](pluginCycle,a0(0x26e))),(0x0,updateWorkerJob_1[a0(0x1d2)])(workerID,inputObj[a0(0x1ec)],'Checking\x20files\x20can\x20be\x20accessed'),c=function(g){var a1=a0;try{fs[a1(0x27b)](g,fs[a1(0x24c)][a1(0x293)]|fs[a1(0x24c)][a1(0x197)]),(0x0,updateWorkerJob_1['default'])(workerID,inputObj[a1(0x1ec)],'[1/2]\x20R/W\x20success:'[a1(0x230)](g));}catch(h){(0x0,updateWorkerJob_1[a1(0x1d2)])(workerID,inputObj[a1(0x1ec)],'[1/2]\x20R/W\x20[-error-]:'[a1(0x230)](g,':')['concat'](h)),logger_1[a1(0x1d2)][a1(0x286)](h);}};if(!!fs[a0(0x1c8)](a[a0(0x1f0)]))return[0x3,0x5];c(a[a0(0x1f0)]),d=a0(0x1db)['concat'](nodeID,a0(0x236))[a0(0x230)](a['_id'],a0(0x243))[a0(0x230)](accessError),(0x0,updateWorkerJob_1[a0(0x1d2)])(workerID,inputObj[a0(0x1ec)],d);if(!workerType[a0(0x263)](a0(0x24d)))return[0x3,0x2];e={'workerID':workerID,'status':'transcodeError','reason':'','_id':inputObj[a0(0x224)][a0(0x19f)],'lastCompletedCacheFile':inputObj['lastCompletedCacheFile'],'stagedLog':d,'job':inputObj['job']};return[0x4,(0x0,workerUtils_1[a0(0x1ed)])({'obj':e,'nodeID':nodeID,'job':inputObj[a0(0x1ec)],'workerID':workerID,'verboseLogs':verboseLogs})];case 0x1:f['sent']();return[0x3,0x4];case 0x2:if(!workerType['includes'](a0(0x26a)))return[0x3,0x4];e={'workerID':workerID,'status':a0(0x209),'reason':'','_id':inputObj[a0(0x224)][a0(0x19f)],'lastCompletedCacheFile':JSON[a0(0x1e9)](JSON['stringify'](cacheFileDefault)),'stagedLog':d,'job':inputObj[a0(0x1ec)]};return[0x4,(0x0,workerUtils_1[a0(0x1ed)])({'obj':e,'nodeID':nodeID,'job':inputObj['job'],'workerID':workerID,'verboseLogs':verboseLogs})];case 0x3:f[a0(0x23b)](),f[a0(0x192)]=0x4;case 0x4:requestItem();return[0x3,0x8];case 0x5:if(!(workerType[a0(0x263)](a0(0x24d))&&!fs['existsSync'](librarySettings[a0(0x19a)])))return[0x3,0x7];c(librarySettings[a0(0x19a)]),d='[2/2]\x20The\x20following\x20transcode\x20cache\x20path\x20cannot\x20be\x20accessed\x20on\x20Tdarr_Node\x20'[a0(0x230)](nodeID,a0(0x236))[a0(0x230)](librarySettings[a0(0x19a)],a0(0x243))[a0(0x230)](accessError,a0(0x24b)),(0x0,updateWorkerJob_1['default'])(workerID,inputObj['job'],d),e={'workerID':workerID,'status':a0(0x21b),'reason':'','_id':inputObj['originalLibraryFile']['file'],'lastCompletedCacheFile':inputObj['lastCompletedCacheFile'],'stagedLog':d,'job':inputObj[a0(0x1ec)]};return[0x4,(0x0,workerUtils_1['itemProcEnd'])({'obj':e,'nodeID':nodeID,'job':inputObj[a0(0x1ec)],'workerID':workerID,'verboseLogs':verboseLogs})];case 0x6:f[a0(0x23b)](),requestItem();return[0x3,0x8];case 0x7:(0x0,updateWorkerJob_1[a0(0x1d2)])(workerID,inputObj[a0(0x1ec)],'Relevant\x20paths\x20can\x20be\x20accessed'),(0x0,updateWorkerJob_1[a0(0x1d2)])(workerID,inputObj[a0(0x1ec)],'Source\x20file:\x20'['concat'](a[a0(0x1f0)]));workerType[a0(0x263)](a0(0x24d))&&(0x0,updateWorkerJob_1['default'])(workerID,inputObj[a0(0x1ec)],a0(0x213)[a0(0x230)](librarySettings[a0(0x19a)]));sourceFile=__assign(__assign({},JSON[a0(0x1e9)](JSON[a0(0x1a4)](workerHelpers_1[a0(0x1bd)]))),a),void analyseFile(b),f['label']=0x8;case 0x8:return[0x2];}});});},isFlowWorker=![],exitRequest=function(){var a2=a68u,a=[workerID,a2(0x1a0)];process&&process[a2(0x264)]&&process[a2(0x264)](a),verboseLogs&&logger_1['default']['info'](a2(0x27f));},workDir='',cleanWorkDir=function(){try{fsextra['removeSync'](workDir);}catch(a){}};process['on'](a68u(0x1bc),function(a){return __awaiter(void 0x0,void 0x0,void 0x0,function(){var b,c,d,e,f,g,h,i,j;return __generator(this,function(k){var a3=a68b;switch(k['label']){case 0x0:a[0x0]===a3(0x1fd)&&requestItem();a[0x0]===a3(0x20d)&&exitRequest();a[0x0]===a3(0x1c6)&&(verboseLogs&&logger_1[a3(0x1d2)][a3(0x25d)]('verbose:Exiting'),process[a3(0x1c0)](0x0));if(!(a[0x0]===a3(0x287)||a[0x0]==='exitThread'))return[0x3,0x4];logger_1['default'][a3(0x1c1)](a3(0x27e));if(!!isFlowWorker)return[0x3,0x1];b=['exitThread',a3(0x21d),a[0x1]];try{sendWorker2(b);}catch(l){}return[0x3,0x4];case 0x1:(0x0,workerHelpers_1[a3(0x184)])({'status':a3(0x27e)}),(0x0,updateWorkerJob_1[a3(0x1d2)])(workerID,inputObj[a3(0x1ec)],a3(0x28f)[a3(0x230)](a[0x1]));return[0x4,(0x0,workerUtils_1['transcodeError'])({'nodeID':nodeID,'inputObj':inputObj,'workerID':workerID,'verboseLogs':verboseLogs})];case 0x2:k['sent']();return[0x4,new Promise(function(n){return setTimeout(n,0x3e8);})];case 0x3:k[a3(0x23b)](),exitRequest(),k['label']=0x4;case 0x4:if(!(a[0x0]===a3(0x1e1)))return[0x3,0xe];inputObj=a[0x1],librarySettings=a[0x2],ffmpegPath=a[0x3],handbrakePath=a[0x4],mkvpropeditPath=a[0x5],gpuSelect=a[0x6],allowGpuDoCpu=a[0x7],thoroughHealthCheckCpuExtraInputArgs=a[0x8],thoroughHealthCheckGpuExtraInputArgs=a[0x9],thoroughHealthCheckCpuExtraArgs=a[0xa],thoroughHealthCheckGpuExtraArgs=a[0xb],logFullCliOutput=a[0xc],runMkvpropedit=a[0xd],dontCleanWorkerCacheFolder=a[0xe],(0x0,updateWorkerJob_1['default'])(workerID,inputObj[a3(0x1ec)],a3(0x28e)['concat'](inputObj[a3(0x224)][a3(0x19f)])),(0x0,updateWorkerJob_1[a3(0x1d2)])(workerID,inputObj[a3(0x1ec)],JSON[a3(0x1a4)]({'workerType':workerType})),(0x0,updateWorkerJob_1[a3(0x1d2)])(workerID,inputObj[a3(0x1ec)],JSON['stringify']({'ffmpegPath':ffmpegPath})),(0x0,updateWorkerJob_1[a3(0x1d2)])(workerID,inputObj[a3(0x1ec)],JSON[a3(0x1a4)]({'handbrakePath':handbrakePath})),(0x0,updateWorkerJob_1[a3(0x1d2)])(workerID,inputObj[a3(0x1ec)],JSON[a3(0x1a4)]({'mkvpropeditPath':mkvpropeditPath})),(0x0,updateWorkerJob_1[a3(0x1d2)])(workerID,inputObj[a3(0x1ec)],JSON[a3(0x1a4)]({'gpuSelect':gpuSelect})),(0x0,updateWorkerJob_1['default'])(workerID,inputObj[a3(0x1ec)],JSON['stringify']({'allowGpuDoCpu':allowGpuDoCpu})),(0x0,updateWorkerJob_1[a3(0x1d2)])(workerID,inputObj[a3(0x1ec)],JSON[a3(0x1a4)]({'thoroughHealthCheckCpuExtraInputArgs':thoroughHealthCheckCpuExtraInputArgs})),(0x0,updateWorkerJob_1[a3(0x1d2)])(workerID,inputObj[a3(0x1ec)],JSON[a3(0x1a4)]({'thoroughHealthCheckGpuExtraInputArgs':thoroughHealthCheckGpuExtraInputArgs})),(0x0,updateWorkerJob_1[a3(0x1d2)])(workerID,inputObj[a3(0x1ec)],JSON[a3(0x1a4)]({'thoroughHealthCheckCpuExtraArgs':thoroughHealthCheckCpuExtraArgs})),(0x0,updateWorkerJob_1[a3(0x1d2)])(workerID,inputObj['job'],JSON[a3(0x1a4)]({'thoroughHealthCheckGpuExtraArgs':thoroughHealthCheckGpuExtraArgs})),(0x0,updateWorkerJob_1['default'])(workerID,inputObj['job'],JSON[a3(0x1a4)]({'logFullCliOutput':logFullCliOutput})),(0x0,updateWorkerJob_1[a3(0x1d2)])(workerID,inputObj[a3(0x1ec)],JSON['stringify']({'runMkvpropedit':runMkvpropedit})),(0x0,updateWorkerJob_1[a3(0x1d2)])(workerID,inputObj[a3(0x1ec)],JSON['stringify']({'dontCleanWorkerCacheFolder':dontCleanWorkerCacheFolder})),(0x0,updateWorkerJob_1[a3(0x1d2)])(workerID,inputObj[a3(0x1ec)],a3(0x1cf)),inputObj=(0x0,pathTranslator_1[a3(0x1d2)])(inputObj,'serverToNode'),librarySettings=(0x0,pathTranslator_1[a3(0x1d2)])(librarySettings,a3(0x214)),(0x0,updateWorkerJob_1['default'])(workerID,inputObj[a3(0x1ec)],JSON[a3(0x1a4)]({'librarySettings':librarySettings})),pluginsSelectedWithRaw=[];if(!(workerType[a3(0x263)](a3(0x24d))&&librarySettings[a3(0x207)][a3(0x1e6)]))return[0x3,0x6];(0x0,updateWorkerJob_1[a3(0x1d2)])(workerID,inputObj[a3(0x1ec)],a3(0x292));return[0x4,(0x0,utils_1['fetchAllPluginsText'])(librarySettings)];case 0x5:pluginsSelectedWithRaw=k['sent'](),k[a3(0x192)]=0x6;case 0x6:c={'exifToolScan':!![],'mediaInfoScan':![],'closedCaptionScan':![]};workerType[a3(0x263)](a3(0x24d))&&(c={'exifToolScan':!![],'mediaInfoScan':!![],'closedCaptionScan':!![]});(0x0,updateWorkerJob_1[a3(0x1d2)])(workerID,inputObj[a3(0x1ec)],a3(0x1dd)),(0x0,updateWorkerJob_1[a3(0x1d2)])(workerID,inputObj[a3(0x1ec)],''['concat'](JSON[a3(0x1a4)](c,null,0x2))),d=inputObj;return[0x4,(0x0,workerHelpers_1[a3(0x210)])({'sourceFilee':__assign(__assign({},JSON[a3(0x1e9)](JSON['stringify'](workerHelpers_1[a3(0x1bd)]))),{'_id':inputObj['originalLibraryFile'][a3(0x1f0)],'file':inputObj['originalLibraryFile'][a3(0x19f)],'DB':inputObj['originalLibraryFile']['DB'],'footprintId':inputObj[a3(0x224)][a3(0x1df)]}),'scanTypes':c,'runMkvpropedit':runMkvpropedit,'workerType':workerType,'job':inputObj[a3(0x1ec)],'mkvpropeditPath':mkvpropeditPath})];case 0x7:d['originalLibraryFile']=k['sent'](),(0x0,updateWorkerJob_1[a3(0x1d2)])(workerID,inputObj['job'],a3(0x17c)),ffmpegErrorsFound=[],cliLog=[],lastCliCommand='',pluginCycle=0x0,hbPass=0x0,workerConfig=JSON[a3(0x1e9)](JSON[a3(0x1a4)](workerConfigDefault)),lastWorkerConfig=JSON[a3(0x1e9)](JSON[a3(0x1a4)](workerConfigDefault)),frameCount=0x0,transcodeCount=0x0,sourceFile=JSON[a3(0x1e9)](JSON[a3(0x1a4)](workerHelpers_1[a3(0x1bd)])),cacheFile=JSON[a3(0x1e9)](JSON[a3(0x1a4)](cacheFileDefault));workerType['includes'](a3(0x24d))&&(0x0,updateWorkerJob_1[a3(0x1d2)])(workerID,inputObj[a3(0x1ec)],a3(0x1cd)[a3(0x230)](JSON[a3(0x1a4)]({'lastCliCommand':'','lastPluginId':'','sourceFile':inputObj[a3(0x224)]})));if(!(!((j=librarySettings===null||librarySettings===void 0x0?void 0x0:librarySettings['decisionMaker'])===null||j===void 0x0?void 0x0:j[a3(0x1f7)])&&workerType['includes'](a3(0x24d))||workerType[a3(0x263)]('healthcheck')))return[0x3,0x8];inputObj[a3(0x1b9)][a3(0x19f)]===undefined?sourceFile=__assign(__assign({},JSON['parse'](JSON['stringify'](workerHelpers_1[a3(0x1bd)]))),inputObj['originalLibraryFile']):sourceFile=__assign(__assign({},JSON[a3(0x1e9)](JSON['stringify'](workerHelpers_1[a3(0x1bd)]))),inputObj['lastCompletedCacheFile']);(0x0,updateWorkerJob_1[a3(0x1d2)])(workerID,inputObj[a3(0x1ec)],a3(0x1c3)[a3(0x230)](sourceFile['file'])),void preProcessFile(sourceFile,![]);return[0x3,0xe];case 0x8:isFlowWorker=!![],(0x0,updateWorkerJob_1[a3(0x1d2)])(workerID,inputObj[a3(0x1ec)],a3(0x225)),workDir=inputObj[a3(0x1d5)],fsextra[a3(0x185)](workDir),(0x0,workerHelpers_1[a3(0x184)])({'isFlowWorker':!![],'workDir':workDir}),e={'global':{},'library':{}};return[0x4,(0x0,crudTransDBN_1[a3(0x1d2)])('VariablesJSONDB',a3(0x208),'',{})];case 0x9:f=k['sent']();Array[a3(0x242)](f)&&f[a3(0x246)](function(n){var a4=a3,o=n[a4(0x1be)]||n[a4(0x1f0)];if(n[a4(0x277)]==='global')e[a4(0x19e)][o]=n['value'];else{if(n[a4(0x277)]&&n[a4(0x277)][a4(0x263)](a4(0x294))){var p=n[a4(0x277)][a4(0x278)](':'),q=p[0x1];q===inputObj[a4(0x224)]['DB']&&(e[a4(0x294)][o]=n[a4(0x202)]);}}});g=0x0,k[a3(0x192)]=0xa;case 0xa:if(!!![])return[0x3,0xc];g+=0x1,h=new workerFlowPlugin_1[(a3(0x1d2))]({'flowWorkerconfig':{'inputObj':inputObj,'runMkvpropedit':runMkvpropedit,'mkvpropeditPath':mkvpropeditPath,'workerType':workerType,'librarySettings':librarySettings,'nodeID':nodeID,'verboseLogs':verboseLogs,'gpuSelect':gpuSelect,'ffmpegPath':ffmpegPath,'handbrakePath':handbrakePath,'workDir':workDir,'updateWorker':workerHelpers_1[a3(0x184)],'logFullCliOutput':logFullCliOutput,'pluginsRun':g,'userVariables':e}});return[0x4,h[a3(0x226)]()];case 0xb:i=k[a3(0x23b)]();if(!i[a3(0x1ea)]){if(dontCleanWorkerCacheFolder===!![]||!i[a3(0x232)])(0x0,updateWorkerJob_1[a3(0x1d2)])(workerID,inputObj['job'],'Not\x20cleaning\x20worker\x20cache\x20folder');else i[a3(0x232)]&&cleanWorkDir();return[0x3,0xc];}return[0x3,0xa];case 0xc:(0x0,workerHelpers_1['updateWorker'])({'status':a3(0x1ce)}),(0x0,updateWorkerJob_1['default'])(workerID,inputObj[a3(0x1ec)],a3(0x1b6));return[0x4,new Promise(function(n){return setTimeout(n,0x3e8);})];case 0xd:k['sent'](),requestItem(),k[a3(0x192)]=0xe;case 0xe:return[0x2];}});});}); |