Created
March 12, 2022 13:28
-
-
Save wincent/12fce03e30c97d00ce760c77b202c335 to your computer and use it in GitHub Desktop.
This file has been truncated, but you can view the full file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
v8-version,9,4,146,24,-node.14,0 | |
v8-platform,linux,linux | |
shared-library,/home/wincent/n/bin/node,0x400000,0x465e000,0 | |
shared-library,/usr/lib/libc.so.6,0x7fdcebf2c000,0x7fdcec0ce000,0 | |
shared-library,/usr/lib/libpthread.so.0,0x7fdcec136000,0x7fdcec138000,0 | |
shared-library,/usr/lib/libgcc_s.so.1,0x7fdcec13b000,0x7fdcec150000,0 | |
shared-library,/usr/lib/libm.so.6,0x7fdcec156000,0x7fdcec1e0000,0 | |
shared-library,/usr/lib/libstdc++.so.6.0.29,0x7fdcec23e000,0x7fdcec3e0000,0 | |
shared-library,/usr/lib/libdl.so.2,0x7fdcec464000,0x7fdcec466000,0 | |
shared-library,/usr/lib/ld-linux-x86-64.so.2,0x7fdcec487000,0x7fdcec4b0000,0 | |
shared-library,[vdso],0x7fffcb157000,0x7fffcb159000,0 | |
shared-library-end | |
profiler,begin,1000 | |
tick,0x7fdcebfb615a,202,0,0x0,6 | |
new,CodeRange,0x7fdcd4000000,0 | |
new,MemoryChunk,0x30d59e300000,262144 | |
new,MemoryChunk,0x3fd62ab80000,262144 | |
new,MemoryChunk,0x2ec4ab940000,262144 | |
new,MemoryChunk,0x20209b100000,262144 | |
new,MemoryChunk,0x14f5cbb40000,262144 | |
heap-capacity,1031072 | |
heap-available,4346136384 | |
new,MemoryChunk,0xff54a840000,262144 | |
new,MemoryChunk,0x30530bfc0000,262144 | |
new,MemoryChunk,0x24aa43740000,262144 | |
new,MemoryChunk,0xbe5cb9c0000,262144 | |
new,MemoryChunk,0x2f5918940000,262144 | |
new,MemoryChunk,0x16ddc0800000,262144 | |
new,MemoryChunk,0x3adb2a840000,262144 | |
new,MemoryChunk,0x7fdcd4000000,262144 | |
tick,0x122cf5e,1241,0,0x0,6 | |
new,MemoryChunk,0x26e012d40000,262144 | |
code-creation,Builtin,2,2152,0x156fb00,1340,RecordWriteEmitRememberedSetSaveFP | |
code-creation,Builtin,2,2157,0x1570040,452,RecordWriteOmitRememberedSetSaveFP | |
code-creation,Builtin,2,2159,0x1570220,620,RecordWriteEmitRememberedSetIgnoreFP | |
code-creation,Builtin,2,2161,0x15704a0,208,RecordWriteOmitRememberedSetIgnoreFP | |
code-creation,Builtin,2,2163,0x1570580,352,EphemeronKeyBarrierSaveFP | |
code-creation,Builtin,2,2165,0x1570700,116,EphemeronKeyBarrierIgnoreFP | |
code-creation,Builtin,2,2167,0x1570780,60,AdaptorWithBuiltinExitFrame | |
code-creation,Builtin,2,2170,0x15707c0,328,CallFunction_ReceiverIsNullOrUndefined | |
code-creation,Builtin,2,2172,0x1570920,384,CallFunction_ReceiverIsNotNullOrUndefined | |
code-creation,Builtin,2,2174,0x1570ac0,412,CallFunction_ReceiverIsAny | |
code-creation,Builtin,2,2177,0x1570c60,104,CallBoundFunction | |
code-creation,Builtin,2,2179,0x1570ce0,120,Call_ReceiverIsNullOrUndefined | |
code-creation,Builtin,2,2181,0x1570d60,120,Call_ReceiverIsNotNullOrUndefined | |
code-creation,Builtin,2,2183,0x1570de0,120,Call_ReceiverIsAny | |
code-creation,Builtin,2,2185,0x1570e60,988,Call_ReceiverIsNullOrUndefined_Baseline_Compact | |
code-creation,Builtin,2,2187,0x1571240,984,Call_ReceiverIsNullOrUndefined_Baseline | |
code-creation,Builtin,2,2189,0x1571620,1072,Call_ReceiverIsNotNullOrUndefined_Baseline_Compact | |
code-creation,Builtin,2,2192,0x1571a60,1072,Call_ReceiverIsNotNullOrUndefined_Baseline | |
code-creation,Builtin,2,2194,0x1571ea0,1072,Call_ReceiverIsAny_Baseline_Compact | |
code-creation,Builtin,2,2197,0x15722e0,1072,Call_ReceiverIsAny_Baseline | |
code-creation,Builtin,2,2199,0x1572720,944,Call_ReceiverIsNullOrUndefined_WithFeedback | |
code-creation,Builtin,2,2201,0x1572ae0,944,Call_ReceiverIsNotNullOrUndefined_WithFeedback | |
code-creation,Builtin,2,2204,0x1572ea0,944,Call_ReceiverIsAny_WithFeedback | |
code-creation,Builtin,2,2206,0x1573260,736,CallProxy | |
code-creation,Builtin,2,2208,0x1573560,116,CallVarargs | |
code-creation,Builtin,2,2210,0x15735e0,940,CallWithSpread | |
code-creation,Builtin,2,2214,0x15739a0,1948,CallWithSpread_Baseline | |
code-creation,Builtin,2,2216,0x1574140,1920,CallWithSpread_WithFeedback | |
code-creation,Builtin,2,2218,0x15748e0,864,CallWithArrayLike | |
code-creation,Builtin,2,2220,0x1574c60,1812,CallWithArrayLike_WithFeedback | |
code-creation,Builtin,2,2222,0x1575380,124,CallForwardVarargs | |
code-creation,Builtin,2,2224,0x1575400,124,CallFunctionForwardVarargs | |
code-creation,Builtin,2,2226,0x1575480,132,CallFunctionTemplate_CheckAccess | |
code-creation,Builtin,2,2228,0x1575520,228,CallFunctionTemplate_CheckCompatibleReceiver | |
code-creation,Builtin,2,2231,0x1575620,316,CallFunctionTemplate_CheckAccessAndCompatibleReceiver | |
code-creation,Builtin,2,2233,0x1575760,28,ConstructFunction | |
code-creation,Builtin,2,2235,0x1575780,104,ConstructBoundFunction | |
code-creation,Builtin,2,2241,0x1575800,28,ConstructedNonConstructable | |
code-creation,Builtin,2,2243,0x1575820,100,Construct | |
code-creation,Builtin,2,2245,0x15758a0,116,ConstructVarargs | |
code-creation,Builtin,2,2247,0x1575920,964,ConstructWithSpread | |
code-creation,Builtin,2,2248,0x1575d00,1740,ConstructWithSpread_Baseline | |
code-creation,Builtin,2,2251,0x15763e0,1756,ConstructWithSpread_WithFeedback | |
code-creation,Builtin,2,2254,0x1576ac0,920,ConstructWithArrayLike | |
code-creation,Builtin,2,2256,0x1576e60,1644,ConstructWithArrayLike_WithFeedback | |
code-creation,Builtin,2,2258,0x15774e0,164,ConstructForwardVarargs | |
code-creation,Builtin,2,2260,0x15775a0,164,ConstructFunctionForwardVarargs | |
code-creation,Builtin,2,2262,0x1577660,792,Construct_Baseline | |
code-creation,Builtin,2,2264,0x1577980,812,Construct_WithFeedback | |
code-creation,Builtin,2,2267,0x1577cc0,444,JSConstructStubGeneric | |
code-creation,Builtin,2,2268,0x1577e80,344,JSBuiltinsConstructStub | |
code-creation,Builtin,2,2271,0x1577fe0,676,FastNewObject | |
code-creation,Builtin,2,2273,0x15782a0,292,FastNewClosure | |
code-creation,Builtin,2,2274,0x15783e0,720,ConstructProxy | |
code-creation,Builtin,2,2277,0x15786c0,192,JSEntry | |
code-creation,Builtin,2,2279,0x15787a0,192,JSConstructEntry | |
code-creation,Builtin,2,2281,0x1578880,192,JSRunMicrotasksEntry | |
code-creation,Builtin,2,2285,0x1578960,96,JSEntryTrampoline | |
code-creation,Builtin,2,2287,0x15789e0,96,JSConstructEntryTrampoline | |
code-creation,Builtin,2,2289,0x1578a60,280,ResumeGeneratorTrampoline | |
code-creation,Builtin,2,2291,0x1578b80,1116,StringCodePointAt | |
code-creation,Builtin,2,2294,0x1578fe0,1548,StringFromCodePointAt | |
code-creation,Builtin,2,2295,0x1579600,544,StringEqual | |
code-creation,Builtin,2,2297,0x1579840,276,StringGreaterThan | |
code-creation,Builtin,2,2300,0x1579960,276,StringGreaterThanOrEqual | |
code-creation,Builtin,2,2301,0x1579a80,276,StringLessThan | |
code-creation,Builtin,2,2303,0x1579ba0,276,StringLessThanOrEqual | |
code-creation,Builtin,2,2305,0x1579cc0,2492,StringSubstring | |
code-creation,Builtin,2,2311,0x157a680,80,OrderedHashTableHealIndex | |
code-creation,Builtin,2,2314,0x157a6e0,1168,InterpreterEntryTrampoline | |
code-creation,Builtin,2,2316,0x157ab80,76,InterpreterPushArgsThenCall | |
code-creation,Builtin,2,2318,0x157abe0,84,InterpreterPushUndefinedAndArgsThenCall | |
code-creation,Builtin,2,2321,0x157ac40,84,InterpreterPushArgsThenCallWithFinalSpread | |
code-creation,Builtin,2,2323,0x157aca0,80,InterpreterPushArgsThenConstruct | |
code-creation,Builtin,2,2326,0x157ad00,80,InterpreterPushArgsThenConstructArrayFunction | |
code-creation,Builtin,2,2329,0x157ad60,84,InterpreterPushArgsThenConstructWithFinalSpread | |
code-creation,Builtin,2,2333,0x157adc0,84,InterpreterEnterAtBytecode | |
code-creation,Builtin,2,2335,0x157ae20,220,InterpreterEnterAtNextBytecode | |
code-creation,Builtin,2,2338,0x157af00,52,InterpreterOnStackReplacement | |
code-creation,Builtin,2,2340,0x157af40,592,BaselineOutOfLinePrologue | |
code-creation,Builtin,2,2343,0x157b1a0,56,BaselineOnStackReplacement | |
tick,0x7fdcec02e28f,2346,0,0x0,6 | |
code-creation,Builtin,2,2353,0x157b1e0,84,BaselineLeaveFrame | |
code-creation,Builtin,2,2356,0x157b240,212,BaselineOrInterpreterEnterAtBytecode | |
code-creation,Builtin,2,2358,0x157b320,220,BaselineOrInterpreterEnterAtNextBytecode | |
code-creation,Builtin,2,2360,0x157b400,188,InterpreterOnStackReplacement_ToBaseline | |
code-creation,Builtin,2,2363,0x157b4c0,1000,CompileLazy | |
code-creation,Builtin,2,2364,0x157b8c0,72,CompileLazyDeoptimizedCode | |
code-creation,Builtin,2,2367,0x157b920,252,InstantiateAsmJs | |
code-creation,Builtin,2,2369,0x157ba20,32,NotifyDeoptimized | |
code-creation,Builtin,2,2371,0x157ba60,784,DeoptimizationEntry_Eager | |
code-creation,Builtin,2,2374,0x157bd80,784,DeoptimizationEntry_Soft | |
code-creation,Builtin,2,2376,0x157c0a0,784,DeoptimizationEntry_Bailout | |
code-creation,Builtin,2,2378,0x157c3c0,784,DeoptimizationEntry_Lazy | |
code-creation,Builtin,2,2380,0x157c6e0,52,ContinueToCodeStubBuiltin | |
code-creation,Builtin,2,2382,0x157c720,60,ContinueToCodeStubBuiltinWithResult | |
code-creation,Builtin,2,2384,0x157c760,56,ContinueToJavaScriptBuiltin | |
code-creation,Builtin,2,2386,0x157c7a0,64,ContinueToJavaScriptBuiltinWithResult | |
code-creation,Builtin,2,2390,0x157c800,288,CallApiCallback | |
code-creation,Builtin,2,2393,0x157c940,272,CallApiGetter | |
code-creation,Builtin,2,2394,0x157ca60,12,HandleApiCall | |
code-creation,Builtin,2,2396,0x157ca80,12,HandleApiCallAsFunction | |
code-creation,Builtin,2,2398,0x157caa0,12,HandleApiCallAsConstructor | |
code-creation,Builtin,2,2400,0x157cac0,64,AllocateInYoungGeneration | |
code-creation,Builtin,2,2403,0x157cb20,52,AllocateRegularInYoungGeneration | |
code-creation,Builtin,2,2405,0x157cb60,64,AllocateInOldGeneration | |
code-creation,Builtin,2,2407,0x157cbc0,52,AllocateRegularInOldGeneration | |
code-creation,Builtin,2,2409,0x157cc00,424,CopyFastSmiOrObjectElements | |
code-creation,Builtin,2,2411,0x157cdc0,496,GrowFastDoubleElements | |
code-creation,Builtin,2,2413,0x157cfc0,396,GrowFastSmiOrObjectElements | |
code-creation,Builtin,2,2416,0x157d160,388,DebugBreakTrampoline | |
code-creation,Builtin,2,2418,0x157d300,180,ToNumber | |
code-creation,Builtin,2,2420,0x157d3c0,292,ToNumber_Baseline | |
code-creation,Builtin,2,2422,0x157d500,360,ToNumeric_Baseline | |
code-creation,Builtin,2,2423,0x157d680,104,PlainPrimitiveToNumber | |
code-creation,Builtin,2,2426,0x157d700,212,ToNumberConvertBigInt | |
code-creation,Builtin,2,2428,0x157d7e0,132,Typeof | |
code-creation,Builtin,2,2430,0x157d880,104,BigIntToI64 | |
code-creation,Builtin,2,2431,0x157d900,4,BigIntToI32Pair | |
code-creation,Builtin,2,2433,0x157d920,232,I64ToBigInt | |
code-creation,Builtin,2,2435,0x157da20,4,I32PairToBigInt | |
code-creation,Builtin,2,2437,0x157da40,100,ToBooleanLazyDeoptContinuation | |
code-creation,Builtin,2,2440,0x157dac0,4232,KeyedLoadIC_PolymorphicName | |
code-creation,Builtin,2,2442,0x157eb60,15704,KeyedStoreIC_Megamorphic | |
code-creation,Builtin,2,2444,0x15828c0,280,LoadGlobalIC_NoFeedback | |
code-creation,Builtin,2,2446,0x15829e0,60,LoadIC_FunctionPrototype | |
code-creation,Builtin,2,2448,0x1582a20,12,LoadIC_StringLength | |
code-creation,Builtin,2,2450,0x1582a40,16,LoadIC_StringWrapperLength | |
code-creation,Builtin,2,2452,0x1582a60,3056,LoadIC_NoFeedback | |
code-creation,Builtin,2,2454,0x1583660,32,StoreGlobalIC_Slow | |
code-creation,Builtin,2,2456,0x15836a0,7284,StoreIC_NoFeedback | |
code-creation,Builtin,2,2458,0x1585320,180,KeyedLoadIC_SloppyArguments | |
code-creation,Builtin,2,2461,0x15853e0,72,LoadIndexedInterceptorIC | |
code-creation,Builtin,2,2463,0x1585440,240,KeyedStoreIC_SloppyArguments_Standard | |
code-creation,Builtin,2,2465,0x1585540,240,KeyedStoreIC_SloppyArguments_GrowNoTransitionHandleCOW | |
code-creation,Builtin,2,2468,0x1585640,240,KeyedStoreIC_SloppyArguments_NoTransitionIgnoreOOB | |
code-creation,Builtin,2,2470,0x1585740,240,KeyedStoreIC_SloppyArguments_NoTransitionHandleCOW | |
code-creation,Builtin,2,2473,0x1585840,13924,StoreFastElementIC_Standard | |
code-creation,Builtin,2,2475,0x1588ec0,9660,StoreFastElementIC_GrowNoTransitionHandleCOW | |
code-creation,Builtin,2,2478,0x158b480,13104,StoreFastElementIC_NoTransitionIgnoreOOB | |
code-creation,Builtin,2,2480,0x158e7c0,6160,StoreFastElementIC_NoTransitionHandleCOW | |
code-creation,Builtin,2,2482,0x158ffe0,8468,ElementsTransitionAndStore_Standard | |
code-creation,Builtin,2,2484,0x1592100,19332,ElementsTransitionAndStore_GrowNoTransitionHandleCOW | |
code-creation,Builtin,2,2488,0x1596ca0,8468,ElementsTransitionAndStore_NoTransitionIgnoreOOB | |
code-creation,Builtin,2,2490,0x1598dc0,11028,ElementsTransitionAndStore_NoTransitionHandleCOW | |
code-creation,Builtin,2,2492,0x159b8e0,792,KeyedHasIC_PolymorphicName | |
code-creation,Builtin,2,2494,0x159bc00,164,KeyedHasIC_SloppyArguments | |
code-creation,Builtin,2,2496,0x159bcc0,72,HasIndexedInterceptorIC | |
code-creation,Builtin,2,2498,0x159bd20,88,DynamicCheckMapsTrampoline | |
code-creation,Builtin,2,2500,0x159bd80,260,DynamicCheckMaps | |
code-creation,Builtin,2,2503,0x159bea0,88,DynamicCheckMapsWithFeedbackVectorTrampoline | |
code-creation,Builtin,2,2506,0x159bf00,224,DynamicCheckMapsWithFeedbackVector | |
code-creation,Builtin,2,2508,0x159c000,148,EnqueueMicrotask | |
code-creation,Builtin,2,2510,0x159c0a0,8,RunMicrotasksTrampoline | |
code-creation,Builtin,2,2512,0x159c0c0,3504,RunMicrotasks | |
code-creation,Builtin,2,2514,0x159ce80,2624,HasProperty | |
code-creation,Builtin,2,2517,0x159d8e0,1144,DeleteProperty | |
code-creation,Builtin,2,2519,0x159dd60,1972,CopyDataProperties | |
code-creation,Builtin,2,2522,0x159e520,9156,SetDataProperties | |
code-creation,Builtin,2,2524,0x15a0900,28,Abort | |
code-creation,Builtin,2,2526,0x15a0920,28,AbortCSAAssert | |
code-creation,Builtin,2,2527,0x15a0940,12,EmptyFunction | |
code-creation,Builtin,2,2529,0x15a0960,12,Illegal | |
code-creation,Builtin,2,2531,0x15a0980,12,StrictPoisonPillThrower | |
code-creation,Builtin,2,2533,0x15a09a0,12,UnsupportedThrower | |
code-creation,Builtin,2,2535,0x15a09c0,64,ReturnReceiver | |
code-creation,Builtin,2,2536,0x15a0a20,28,ArrayConstructor | |
code-creation,Builtin,2,2538,0x15a0a40,404,ArrayConstructorImpl | |
code-creation,Builtin,2,2540,0x15a0be0,216,ArrayNoArgumentConstructor_PackedSmi_DontOverride | |
code-creation,Builtin,2,2543,0x15a0cc0,216,ArrayNoArgumentConstructor_HoleySmi_DontOverride | |
code-creation,Builtin,2,2545,0x15a0da0,176,ArrayNoArgumentConstructor_PackedSmi_DisableAllocationSites | |
code-creation,Builtin,2,2548,0x15a0e60,176,ArrayNoArgumentConstructor_HoleySmi_DisableAllocationSites | |
code-creation,Builtin,2,2550,0x15a0f20,176,ArrayNoArgumentConstructor_Packed_DisableAllocationSites | |
code-creation,Builtin,2,2553,0x15a0fe0,176,ArrayNoArgumentConstructor_Holey_DisableAllocationSites | |
code-creation,Builtin,2,2555,0x15a10a0,188,ArrayNoArgumentConstructor_PackedDouble_DisableAllocationSites | |
code-creation,Builtin,2,2559,0x15a1160,188,ArrayNoArgumentConstructor_HoleyDouble_DisableAllocationSites | |
code-creation,Builtin,2,2562,0x15a1220,512,ArraySingleArgumentConstructor_PackedSmi_DontOverride | |
code-creation,Builtin,2,2564,0x15a1440,480,ArraySingleArgumentConstructor_HoleySmi_DontOverride | |
code-creation,Builtin,2,2567,0x15a1640,436,ArraySingleArgumentConstructor_PackedSmi_DisableAllocationSites | |
code-creation,Builtin,2,2570,0x15a1800,404,ArraySingleArgumentConstructor_HoleySmi_DisableAllocationSites | |
code-creation,Builtin,2,2573,0x15a19a0,436,ArraySingleArgumentConstructor_Packed_DisableAllocationSites | |
code-creation,Builtin,2,2576,0x15a1b60,404,ArraySingleArgumentConstructor_Holey_DisableAllocationSites | |
code-creation,Builtin,2,2578,0x15a1d00,448,ArraySingleArgumentConstructor_PackedDouble_DisableAllocationSites | |
code-creation,Builtin,2,2581,0x15a1ee0,412,ArraySingleArgumentConstructor_HoleyDouble_DisableAllocationSites | |
code-creation,Builtin,2,2584,0x15a2080,64,ArrayNArgumentsConstructor | |
code-creation,Builtin,2,2586,0x15a20e0,12,ArrayConcat | |
code-creation,Builtin,2,2588,0x15a2100,12,ArrayPrototypeFill | |
code-creation,Builtin,2,2590,0x15a2120,932,ArrayIncludesSmiOrObject | |
code-creation,Builtin,2,2591,0x15a24e0,140,ArrayIncludesPackedDoubles | |
code-creation,Builtin,2,2594,0x15a2580,208,ArrayIncludesHoleyDoubles | |
code-creation,Builtin,2,2596,0x15a2660,548,ArrayIncludes | |
code-creation,Builtin,2,2598,0x15a28a0,856,ArrayIndexOfSmiOrObject | |
code-creation,Builtin,2,2600,0x15a2c00,116,ArrayIndexOfPackedDoubles | |
code-creation,Builtin,2,2602,0x15a2c80,116,ArrayIndexOfHoleyDoubles | |
code-creation,Builtin,2,2604,0x15a2d00,552,ArrayIndexOf | |
code-creation,Builtin,2,2606,0x15a2f40,12,ArrayPop | |
code-creation,Builtin,2,2607,0x15a2f60,616,ArrayPrototypePop | |
code-creation,Builtin,2,2610,0x15a31e0,12,ArrayPush | |
code-creation,Builtin,2,2611,0x15a3200,2412,ArrayPrototypePush | |
code-creation,Builtin,2,2613,0x15a3b80,12,ArrayShift | |
code-creation,Builtin,2,2615,0x15a3ba0,12,ArrayUnshift | |
code-creation,Builtin,2,2617,0x15a3bc0,944,CloneFastJSArray | |
code-creation,Builtin,2,2619,0x15a3f80,2196,CloneFastJSArrayFillingHoles | |
code-creation,Builtin,2,2621,0x15a4820,968,ExtractFastJSArray | |
code-creation,Builtin,2,2623,0x15a4c00,260,ArrayPrototypeEntries | |
code-creation,Builtin,2,2625,0x15a4d20,248,ArrayPrototypeKeys | |
code-creation,Builtin,2,2627,0x15a4e20,260,ArrayPrototypeValues | |
code-creation,Builtin,2,2630,0x15a4f40,4424,ArrayIteratorPrototypeNext | |
code-creation,Builtin,2,2632,0x15a60a0,4164,FlattenIntoArray | |
code-creation,Builtin,2,2633,0x15a7100,4164,FlatMapIntoArray | |
code-creation,Builtin,2,2635,0x15a8160,372,ArrayPrototypeFlat | |
code-creation,Builtin,2,2637,0x15a82e0,428,ArrayPrototypeFlatMap | |
code-creation,Builtin,2,2640,0x15a84a0,12,ArrayBufferConstructor | |
code-creation,Builtin,2,2642,0x15a84c0,12,ArrayBufferConstructor_DoNotInitialize | |
code-creation,Builtin,2,2645,0x15a84e0,12,ArrayBufferPrototypeSlice | |
code-creation,Builtin,2,2647,0x15a8500,12,ArrayBufferPrototypeResize | |
code-creation,Builtin,2,2649,0x15a8520,804,AsyncFunctionEnter | |
code-creation,Builtin,2,2651,0x15a8860,132,AsyncFunctionReject | |
code-creation,Builtin,2,2652,0x15a8900,128,AsyncFunctionResolve | |
code-creation,Builtin,2,2655,0x15a89a0,12,AsyncFunctionLazyDeoptContinuation | |
code-creation,Builtin,2,2657,0x15a89c0,2804,AsyncFunctionAwaitCaught | |
code-creation,Builtin,2,2659,0x15a94c0,2804,AsyncFunctionAwaitUncaught | |
code-creation,Builtin,2,2661,0x15a9fc0,172,AsyncFunctionAwaitRejectClosure | |
code-creation,Builtin,2,2664,0x15aa080,164,AsyncFunctionAwaitResolveClosure | |
code-creation,Builtin,2,2666,0x15aa140,12,BigIntConstructor | |
code-creation,Builtin,2,2668,0x15aa160,12,BigIntAsUintN | |
code-creation,Builtin,2,2670,0x15aa180,12,BigIntAsIntN | |
code-creation,Builtin,2,2671,0x15aa1a0,12,BigIntPrototypeToLocaleString | |
code-creation,Builtin,2,2674,0x15aa1c0,12,BigIntPrototypeToString | |
code-creation,Builtin,2,2676,0x15aa1e0,12,BigIntPrototypeValueOf | |
code-creation,Builtin,2,2678,0x15aa200,12,CallSitePrototypeGetColumnNumber | |
code-creation,Builtin,2,2680,0x15aa220,12,CallSitePrototypeGetEnclosingColumnNumber | |
code-creation,Builtin,2,2682,0x15aa240,12,CallSitePrototypeGetEnclosingLineNumber | |
code-creation,Builtin,2,2684,0x15aa260,12,CallSitePrototypeGetEvalOrigin | |
code-creation,Builtin,2,2686,0x15aa280,12,CallSitePrototypeGetFileName | |
code-creation,Builtin,2,2689,0x15aa2a0,12,CallSitePrototypeGetFunction | |
code-creation,Builtin,2,2691,0x15aa2c0,12,CallSitePrototypeGetFunctionName | |
code-creation,Builtin,2,2693,0x15aa2e0,12,CallSitePrototypeGetLineNumber | |
code-creation,Builtin,2,2695,0x15aa300,12,CallSitePrototypeGetMethodName | |
code-creation,Builtin,2,2697,0x15aa320,12,CallSitePrototypeGetPosition | |
code-creation,Builtin,2,2700,0x15aa340,12,CallSitePrototypeGetPromiseIndex | |
code-creation,Builtin,2,2702,0x15aa360,12,CallSitePrototypeGetScriptNameOrSourceURL | |
code-creation,Builtin,2,2705,0x15aa380,12,CallSitePrototypeGetThis | |
code-creation,Builtin,2,2707,0x15aa3a0,12,CallSitePrototypeGetTypeName | |
code-creation,Builtin,2,2709,0x15aa3c0,12,CallSitePrototypeIsAsync | |
code-creation,Builtin,2,2710,0x15aa3e0,12,CallSitePrototypeIsConstructor | |
code-creation,Builtin,2,2712,0x15aa400,12,CallSitePrototypeIsEval | |
code-creation,Builtin,2,2714,0x15aa420,12,CallSitePrototypeIsNative | |
code-creation,Builtin,2,2717,0x15aa440,12,CallSitePrototypeIsPromiseAll | |
code-creation,Builtin,2,2719,0x15aa460,12,CallSitePrototypeIsToplevel | |
code-creation,Builtin,2,2721,0x15aa480,12,CallSitePrototypeToString | |
code-creation,Builtin,2,2723,0x15aa4a0,12,ConsoleDebug | |
code-creation,Builtin,2,2725,0x15aa4c0,12,ConsoleError | |
code-creation,Builtin,2,2727,0x15aa4e0,12,ConsoleInfo | |
code-creation,Builtin,2,2728,0x15aa500,12,ConsoleLog | |
code-creation,Builtin,2,2730,0x15aa520,12,ConsoleWarn | |
code-creation,Builtin,2,2732,0x15aa540,12,ConsoleDir | |
code-creation,Builtin,2,2734,0x15aa560,12,ConsoleDirXml | |
code-creation,Builtin,2,2735,0x15aa580,12,ConsoleTable | |
code-creation,Builtin,2,2737,0x15aa5a0,12,ConsoleTrace | |
code-creation,Builtin,2,2739,0x15aa5c0,12,ConsoleGroup | |
code-creation,Builtin,2,2742,0x15aa5e0,12,ConsoleGroupCollapsed | |
code-creation,Builtin,2,2744,0x15aa600,12,ConsoleGroupEnd | |
code-creation,Builtin,2,2745,0x15aa620,12,ConsoleClear | |
code-creation,Builtin,2,2747,0x15aa640,12,ConsoleCount | |
code-creation,Builtin,2,2749,0x15aa660,12,ConsoleCountReset | |
code-creation,Builtin,2,2751,0x15aa680,12,ConsoleAssert | |
code-creation,Builtin,2,2752,0x15aa6a0,12,ConsoleProfile | |
code-creation,Builtin,2,2754,0x15aa6c0,12,ConsoleProfileEnd | |
code-creation,Builtin,2,2756,0x15aa6e0,12,ConsoleTime | |
code-creation,Builtin,2,2757,0x15aa700,12,ConsoleTimeLog | |
code-creation,Builtin,2,2759,0x15aa720,12,ConsoleTimeEnd | |
code-creation,Builtin,2,2761,0x15aa740,12,ConsoleTimeStamp | |
code-creation,Builtin,2,2763,0x15aa760,12,ConsoleContext | |
code-creation,Builtin,2,2765,0x15aa780,12,DataViewConstructor | |
code-creation,Builtin,2,2768,0x15aa7a0,12,DateConstructor | |
code-creation,Builtin,2,2770,0x15aa7c0,220,DatePrototypeGetDate | |
code-creation,Builtin,2,2772,0x15aa8a0,220,DatePrototypeGetDay | |
code-creation,Builtin,2,2774,0x15aa980,220,DatePrototypeGetFullYear | |
code-creation,Builtin,2,2776,0x15aaa60,220,DatePrototypeGetHours | |
code-creation,Builtin,2,2778,0x15aab40,196,DatePrototypeGetMilliseconds | |
code-creation,Builtin,2,2780,0x15aac20,220,DatePrototypeGetMinutes | |
code-creation,Builtin,2,2782,0x15aad00,220,DatePrototypeGetMonth | |
code-creation,Builtin,2,2784,0x15aade0,220,DatePrototypeGetSeconds | |
code-creation,Builtin,2,2786,0x15aaec0,124,DatePrototypeGetTime | |
code-creation,Builtin,2,2789,0x15aaf40,196,DatePrototypeGetTimezoneOffset | |
code-creation,Builtin,2,2791,0x15ab020,196,DatePrototypeGetUTCDate | |
code-creation,Builtin,2,2793,0x15ab100,196,DatePrototypeGetUTCDay | |
code-creation,Builtin,2,2794,0x15ab1e0,196,DatePrototypeGetUTCFullYear | |
code-creation,Builtin,2,2797,0x15ab2c0,196,DatePrototypeGetUTCHours | |
code-creation,Builtin,2,2799,0x15ab3a0,196,DatePrototypeGetUTCMilliseconds | |
code-creation,Builtin,2,2801,0x15ab480,196,DatePrototypeGetUTCMinutes | |
code-creation,Builtin,2,2803,0x15ab560,196,DatePrototypeGetUTCMonth | |
code-creation,Builtin,2,2805,0x15ab640,196,DatePrototypeGetUTCSeconds | |
code-creation,Builtin,2,2809,0x15ab720,124,DatePrototypeValueOf | |
code-creation,Builtin,2,2811,0x15ab7a0,352,DatePrototypeToPrimitive | |
code-creation,Builtin,2,2813,0x15ab920,12,DatePrototypeGetYear | |
code-creation,Builtin,2,2815,0x15ab940,12,DatePrototypeSetYear | |
code-creation,Builtin,2,2816,0x15ab960,12,DateNow | |
code-creation,Builtin,2,2818,0x15ab980,12,DateParse | |
code-creation,Builtin,2,2820,0x15ab9a0,12,DatePrototypeSetDate | |
code-creation,Builtin,2,2822,0x15ab9c0,12,DatePrototypeSetFullYear | |
code-creation,Builtin,2,2824,0x15ab9e0,12,DatePrototypeSetHours | |
code-creation,Builtin,2,2826,0x15aba00,12,DatePrototypeSetMilliseconds | |
code-creation,Builtin,2,2828,0x15aba20,12,DatePrototypeSetMinutes | |
code-creation,Builtin,2,2830,0x15aba40,12,DatePrototypeSetMonth | |
code-creation,Builtin,2,2831,0x15aba60,12,DatePrototypeSetSeconds | |
code-creation,Builtin,2,2833,0x15aba80,12,DatePrototypeSetTime | |
code-creation,Builtin,2,2836,0x15abaa0,12,DatePrototypeSetUTCDate | |
code-creation,Builtin,2,2838,0x15abac0,12,DatePrototypeSetUTCFullYear | |
code-creation,Builtin,2,2839,0x15abae0,12,DatePrototypeSetUTCHours | |
code-creation,Builtin,2,2841,0x15abb00,12,DatePrototypeSetUTCMilliseconds | |
code-creation,Builtin,2,2843,0x15abb20,12,DatePrototypeSetUTCMinutes | |
code-creation,Builtin,2,2846,0x15abb40,12,DatePrototypeSetUTCMonth | |
code-creation,Builtin,2,2848,0x15abb60,12,DatePrototypeSetUTCSeconds | |
code-creation,Builtin,2,2849,0x15abb80,12,DatePrototypeToDateString | |
code-creation,Builtin,2,2851,0x15abba0,12,DatePrototypeToISOString | |
code-creation,Builtin,2,2853,0x15abbc0,12,DatePrototypeToUTCString | |
code-creation,Builtin,2,2856,0x15abbe0,12,DatePrototypeToString | |
code-creation,Builtin,2,2858,0x15abc00,12,DatePrototypeToTimeString | |
code-creation,Builtin,2,2859,0x15abc20,12,DatePrototypeToJson | |
code-creation,Builtin,2,2861,0x15abc40,12,DateUTC | |
code-creation,Builtin,2,2863,0x15abc60,12,ErrorConstructor | |
code-creation,Builtin,2,2865,0x15abc80,12,ErrorCaptureStackTrace | |
code-creation,Builtin,2,2867,0x15abca0,12,ErrorPrototypeToString | |
code-creation,Builtin,2,2869,0x15abcc0,12,FunctionConstructor | |
code-creation,Builtin,2,2871,0x15abce0,68,FunctionPrototypeApply | |
code-creation,Builtin,2,2873,0x15abd40,12,FunctionPrototypeBind | |
code-creation,Builtin,2,2875,0x15abd60,32,FunctionPrototypeCall | |
code-creation,Builtin,2,2877,0x15abda0,12,FunctionPrototypeToString | |
code-creation,Builtin,2,2879,0x15abdc0,192,CreateIterResultObject | |
code-creation,Builtin,2,2881,0x15abea0,788,CreateGeneratorObject | |
code-creation,Builtin,2,2883,0x15ac1c0,12,GeneratorFunctionConstructor | |
code-creation,Builtin,2,2885,0x15ac1e0,412,GeneratorPrototypeNext | |
code-creation,Builtin,2,2887,0x15ac380,420,GeneratorPrototypeReturn | |
code-creation,Builtin,2,2889,0x15ac540,424,GeneratorPrototypeThrow | |
code-creation,Builtin,2,2891,0x15ac700,12,AsyncFunctionConstructor | |
code-creation,Builtin,2,2894,0x15ac720,368,SuspendGeneratorBaseline | |
code-creation,Builtin,2,2897,0x15ac8a0,88,ResumeGeneratorBaseline | |
code-creation,Builtin,2,2899,0x15ac900,36,GetIteratorWithFeedbackLazyDeoptContinuation | |
code-creation,Builtin,2,2903,0x15ac940,12,GlobalDecodeURI | |
code-creation,Builtin,2,2904,0x15ac960,12,GlobalDecodeURIComponent | |
code-creation,Builtin,2,2906,0x15ac980,12,GlobalEncodeURI | |
code-creation,Builtin,2,2908,0x15ac9a0,12,GlobalEncodeURIComponent | |
code-creation,Builtin,2,2910,0x15ac9c0,12,GlobalEscape | |
code-creation,Builtin,2,2912,0x15ac9e0,12,GlobalUnescape | |
code-creation,Builtin,2,2914,0x15aca00,12,GlobalEval | |
code-creation,Builtin,2,2916,0x15aca20,132,GlobalIsFinite | |
code-creation,Builtin,2,2918,0x15acac0,124,GlobalIsNaN | |
code-creation,Builtin,2,2920,0x15acb40,12,JsonParse | |
code-creation,Builtin,2,2921,0x15acb60,12,JsonStringify | |
code-creation,Builtin,2,2923,0x15acb80,4608,LoadIC | |
code-creation,Builtin,2,2925,0x15adda0,4296,LoadIC_Megamorphic | |
code-creation,Builtin,2,2927,0x15aee80,4520,LoadIC_Noninlined | |
code-creation,Builtin,2,2929,0x15b0040,44,LoadICTrampoline | |
code-creation,Builtin,2,2931,0x15b0080,24,LoadICBaseline | |
code-creation,Builtin,2,2933,0x15b00a0,44,LoadICTrampoline_Megamorphic | |
code-creation,Builtin,2,2935,0x15b00e0,7376,LoadSuperIC | |
code-creation,Builtin,2,2937,0x15b1dc0,24,LoadSuperICBaseline | |
code-creation,Builtin,2,2939,0x15b1de0,8132,KeyedLoadIC | |
code-creation,Builtin,2,2941,0x15b3dc0,13076,KeyedLoadIC_Megamorphic | |
code-creation,Builtin,2,2943,0x15b70e0,44,KeyedLoadICTrampoline | |
code-creation,Builtin,2,2945,0x15b7120,24,KeyedLoadICBaseline | |
code-creation,Builtin,2,2947,0x15b7140,44,KeyedLoadICTrampoline_Megamorphic | |
code-creation,Builtin,2,2950,0x15b7180,5064,StoreGlobalIC | |
code-creation,Builtin,2,2951,0x15b8560,44,StoreGlobalICTrampoline | |
code-creation,Builtin,2,2953,0x15b85a0,24,StoreGlobalICBaseline | |
code-creation,Builtin,2,2955,0x15b85c0,5304,StoreIC | |
code-creation,Builtin,2,2957,0x15b9a80,44,StoreICTrampoline | |
code-creation,Builtin,2,2959,0x15b9ac0,24,StoreICBaseline | |
code-creation,Builtin,2,2961,0x15b9ae0,5740,KeyedStoreIC | |
code-creation,Builtin,2,2963,0x15bb160,44,KeyedStoreICTrampoline | |
code-creation,Builtin,2,2964,0x15bb1a0,24,KeyedStoreICBaseline | |
code-creation,Builtin,2,2966,0x15bb1c0,404,StoreInArrayLiteralIC | |
code-creation,Builtin,2,2969,0x15bb360,24,StoreInArrayLiteralICBaseline | |
code-creation,Builtin,2,2971,0x15bb380,140,LookupContextBaseline | |
code-creation,Builtin,2,2973,0x15bb420,140,LookupContextInsideTypeofBaseline | |
code-creation,Builtin,2,2975,0x15bb4c0,3244,LoadGlobalIC | |
code-creation,Builtin,2,2976,0x15bc180,3220,LoadGlobalICInsideTypeof | |
code-creation,Builtin,2,2979,0x15bce20,44,LoadGlobalICTrampoline | |
code-creation,Builtin,2,2981,0x15bce60,24,LoadGlobalICBaseline | |
code-creation,Builtin,2,2982,0x15bce80,44,LoadGlobalICInsideTypeofTrampoline | |
code-creation,Builtin,2,2984,0x15bcec0,24,LoadGlobalICInsideTypeofBaseline | |
code-creation,Builtin,2,2987,0x15bcee0,140,LookupGlobalICBaseline | |
code-creation,Builtin,2,2989,0x15bcf80,140,LookupGlobalICInsideTypeofBaseline | |
code-creation,Builtin,2,2991,0x15bd020,2056,CloneObjectIC | |
code-creation,Builtin,2,2993,0x15bd840,24,CloneObjectICBaseline | |
code-creation,Builtin,2,2995,0x15bd860,1988,CloneObjectIC_Slow | |
code-creation,Builtin,2,2996,0x15be040,2764,KeyedHasIC | |
code-creation,Builtin,2,2998,0x15beb20,24,KeyedHasICBaseline | |
code-creation,Builtin,2,3001,0x15beb40,2620,KeyedHasIC_Megamorphic | |
code-creation,Builtin,2,3003,0x15bf580,1428,IterableToList | |
code-creation,Builtin,2,3005,0x15bfb20,1228,IterableToFixedArray | |
code-creation,Builtin,2,3007,0x15c0000,748,IterableToListWithSymbolLookup | |
code-creation,Builtin,2,3009,0x15c0300,56,IterableToFixedArrayWithSymbolLookupSlow | |
code-creation,Builtin,2,3011,0x15c0340,124,IterableToListMayPreserveHoles | |
code-creation,Builtin,2,3013,0x15c03c0,976,IterableToFixedArrayForWasm | |
code-creation,Builtin,2,3016,0x15c07a0,1616,StringListFromIterable | |
code-creation,Builtin,2,3018,0x15c0e00,1220,FindOrderedHashMapEntry | |
code-creation,Builtin,2,3020,0x15c12e0,4156,MapConstructor | |
code-creation,Builtin,2,3023,0x15c2320,1960,MapPrototypeSet | |
code-creation,Builtin,2,3025,0x15c2ae0,1524,MapPrototypeDelete | |
code-creation,Builtin,2,3029,0x15c30e0,204,MapPrototypeGet | |
code-creation,Builtin,2,3031,0x15c31c0,164,MapPrototypeHas | |
code-creation,Builtin,2,3033,0x15c3280,12,MapPrototypeClear | |
code-creation,Builtin,2,3036,0x15c32a0,284,MapPrototypeEntries | |
code-creation,Builtin,2,3038,0x15c33c0,144,MapPrototypeGetSize | |
code-creation,Builtin,2,3041,0x15c3460,492,MapPrototypeForEach | |
code-creation,Builtin,2,3043,0x15c3660,284,MapPrototypeKeys | |
code-creation,Builtin,2,3045,0x15c3780,284,MapPrototypeValues | |
code-creation,Builtin,2,3047,0x15c38a0,1048,MapIteratorPrototypeNext | |
code-creation,Builtin,2,3049,0x15c3cc0,1176,MapIteratorToList | |
code-creation,Builtin,2,3052,0x15c4160,12,NumberPrototypeToExponential | |
code-creation,Builtin,2,3054,0x15c4180,12,NumberPrototypeToFixed | |
code-creation,Builtin,2,3056,0x15c41a0,12,NumberPrototypeToLocaleString | |
code-creation,Builtin,2,3058,0x15c41c0,12,NumberPrototypeToPrecision | |
code-creation,Builtin,2,3060,0x15c41e0,328,SameValue | |
code-creation,Builtin,2,3065,0x15c4340,204,SameValueNumbersOnly | |
code-creation,Builtin,2,3067,0x15c4420,792,Add_Baseline | |
code-creation,Builtin,2,3069,0x15c4740,828,Subtract_Baseline | |
code-creation,Builtin,2,3071,0x15c4a80,808,Multiply_Baseline | |
code-creation,Builtin,2,3073,0x15c4dc0,832,Divide_Baseline | |
code-creation,Builtin,2,3075,0x15c5120,764,Modulus_Baseline | |
code-creation,Builtin,2,3077,0x15c5420,804,Exponentiate_Baseline | |
code-creation,Builtin,2,3079,0x15c5760,708,BitwiseAnd_Baseline | |
code-creation,Builtin,2,3081,0x15c5a40,700,BitwiseOr_Baseline | |
code-creation,Builtin,2,3084,0x15c5d00,708,BitwiseXor_Baseline | |
code-creation,Builtin,2,3086,0x15c5fe0,720,ShiftLeft_Baseline | |
code-creation,Builtin,2,3088,0x15c62c0,720,ShiftRight_Baseline | |
code-creation,Builtin,2,3090,0x15c65a0,836,ShiftRightLogical_Baseline | |
code-creation,Builtin,2,3092,0x15c6900,720,Add_WithFeedback | |
code-creation,Builtin,2,3095,0x15c6be0,780,Subtract_WithFeedback | |
code-creation,Builtin,2,3096,0x15c6f00,776,Multiply_WithFeedback | |
code-creation,Builtin,2,3099,0x15c7220,804,Divide_WithFeedback | |
code-creation,Builtin,2,3101,0x15c7560,724,Modulus_WithFeedback | |
code-creation,Builtin,2,3103,0x15c7840,760,Exponentiate_WithFeedback | |
code-creation,Builtin,2,3105,0x15c7b40,684,BitwiseAnd_WithFeedback | |
code-creation,Builtin,2,3107,0x15c7e00,676,BitwiseOr_WithFeedback | |
code-creation,Builtin,2,3109,0x15c80c0,684,BitwiseXor_WithFeedback | |
code-creation,Builtin,2,3111,0x15c8380,692,ShiftLeft_WithFeedback | |
code-creation,Builtin,2,3113,0x15c8640,692,ShiftRight_WithFeedback | |
code-creation,Builtin,2,3115,0x15c8900,808,ShiftRightLogical_WithFeedback | |
code-creation,Builtin,2,3117,0x15c8c40,1696,Equal_Baseline | |
code-creation,Builtin,2,3119,0x15c9300,908,StrictEqual_Baseline | |
code-creation,Builtin,2,3121,0x15c96a0,1264,LessThan_Baseline | |
code-creation,Builtin,2,3123,0x15c9ba0,1264,GreaterThan_Baseline | |
code-creation,Builtin,2,3125,0x15ca0a0,1264,LessThanOrEqual_Baseline | |
code-creation,Builtin,2,3127,0x15ca5a0,1264,GreaterThanOrEqual_Baseline | |
code-creation,Builtin,2,3129,0x15caaa0,1620,Equal_WithFeedback | |
code-creation,Builtin,2,3131,0x15cb100,940,StrictEqual_WithFeedback | |
code-creation,Builtin,2,3134,0x15cb4c0,1240,LessThan_WithFeedback | |
code-creation,Builtin,2,3136,0x15cb9a0,1240,GreaterThan_WithFeedback | |
code-creation,Builtin,2,3138,0x15cbe80,1240,LessThanOrEqual_WithFeedback | |
code-creation,Builtin,2,3141,0x15cc360,1240,GreaterThanOrEqual_WithFeedback | |
code-creation,Builtin,2,3143,0x15cc840,332,BitwiseNot_Baseline | |
code-creation,Builtin,2,3145,0x15cc9a0,460,Decrement_Baseline | |
code-creation,Builtin,2,3147,0x15ccb80,464,Increment_Baseline | |
code-creation,Builtin,2,3149,0x15ccd60,488,Negate_Baseline | |
code-creation,Builtin,2,3151,0x15ccf60,316,BitwiseNot_WithFeedback | |
code-creation,Builtin,2,3154,0x15cd0a0,440,Decrement_WithFeedback | |
code-creation,Builtin,2,3156,0x15cd260,444,Increment_WithFeedback | |
code-creation,Builtin,2,3159,0x15cd420,472,Negate_WithFeedback | |
code-creation,Builtin,2,3160,0x15cd600,252,ObjectAssign | |
code-creation,Builtin,2,3162,0x15cd700,864,ObjectCreate | |
code-creation,Builtin,2,3164,0x15cda80,12,ObjectDefineGetter | |
code-creation,Builtin,2,3166,0x15cdaa0,12,ObjectDefineProperties | |
code-creation,Builtin,2,3169,0x15cdac0,12,ObjectDefineProperty | |
code-creation,Builtin,2,3172,0x15cdae0,12,ObjectDefineSetter | |
code-creation,Builtin,2,3173,0x15cdb00,1512,ObjectEntries | |
code-creation,Builtin,2,3175,0x15ce100,12,ObjectFreeze | |
code-creation,Builtin,2,3178,0x15ce120,5592,ObjectGetOwnPropertyDescriptor | |
code-creation,Builtin,2,3180,0x15cf700,12,ObjectGetOwnPropertyDescriptors | |
code-creation,Builtin,2,3182,0x15cf720,600,ObjectGetOwnPropertyNames | |
code-creation,Builtin,2,3184,0x15cf980,12,ObjectGetOwnPropertySymbols | |
code-creation,Builtin,2,3186,0x15cf9a0,164,ObjectHasOwn | |
code-creation,Builtin,2,3189,0x15cfa60,388,ObjectIs | |
code-creation,Builtin,2,3190,0x15cfc00,12,ObjectIsFrozen | |
code-creation,Builtin,2,3192,0x15cfc20,12,ObjectIsSealed | |
code-creation,Builtin,2,3194,0x15cfc40,536,ObjectKeys | |
code-creation,Builtin,2,3196,0x15cfe60,12,ObjectLookupGetter | |
code-creation,Builtin,2,3199,0x15cfe80,12,ObjectLookupSetter | |
code-creation,Builtin,2,3201,0x15cfea0,2264,ObjectPrototypeHasOwnProperty | |
code-creation,Builtin,2,3203,0x15d0780,216,ObjectPrototypeIsPrototypeOf | |
code-creation,Builtin,2,3205,0x15d0860,12,ObjectPrototypePropertyIsEnumerable | |
code-creation,Builtin,2,3208,0x15d0880,12,ObjectPrototypeGetProto | |
code-creation,Builtin,2,3210,0x15d08a0,12,ObjectPrototypeSetProto | |
code-creation,Builtin,2,3212,0x15d08c0,12,ObjectSeal | |
code-creation,Builtin,2,3214,0x15d08e0,1108,ObjectToString | |
code-creation,Builtin,2,3215,0x15d0d40,1280,ObjectValues | |
code-creation,Builtin,2,3218,0x15d1260,280,OrdinaryHasInstance | |
code-creation,Builtin,2,3219,0x15d1380,344,InstanceOf | |
code-creation,Builtin,2,3222,0x15d14e0,628,InstanceOf_WithFeedback | |
code-creation,Builtin,2,3224,0x15d1760,648,InstanceOf_Baseline | |
code-creation,Builtin,2,3226,0x15d1a00,268,ForInEnumerate | |
code-creation,Builtin,2,3228,0x15d1b20,148,ForInPrepare | |
code-creation,Builtin,2,3231,0x15d1bc0,2576,ForInFilter | |
code-creation,Builtin,2,3232,0x15d25e0,52,ReflectApply | |
code-creation,Builtin,2,3235,0x15d2620,60,ReflectConstruct | |
code-creation,Builtin,2,3237,0x15d2660,12,ReflectDefineProperty | |
code-creation,Builtin,2,3239,0x15d2680,12,ReflectGetOwnPropertyDescriptor | |
code-creation,Builtin,2,3242,0x15d26a0,12,ReflectOwnKeys | |
code-creation,Builtin,2,3244,0x15d26c0,12,ReflectSet | |
code-creation,Builtin,2,3246,0x15d26e0,12,RegExpCapture1Getter | |
code-creation,Builtin,2,3248,0x15d2700,12,RegExpCapture2Getter | |
code-creation,Builtin,2,3250,0x15d2720,12,RegExpCapture3Getter | |
code-creation,Builtin,2,3252,0x15d2740,12,RegExpCapture4Getter | |
code-creation,Builtin,2,3254,0x15d2760,12,RegExpCapture5Getter | |
code-creation,Builtin,2,3256,0x15d2780,12,RegExpCapture6Getter | |
code-creation,Builtin,2,3258,0x15d27a0,12,RegExpCapture7Getter | |
code-creation,Builtin,2,3261,0x15d27c0,12,RegExpCapture8Getter | |
code-creation,Builtin,2,3263,0x15d27e0,12,RegExpCapture9Getter | |
code-creation,Builtin,2,3265,0x15d2800,2212,RegExpConstructor | |
code-creation,Builtin,2,3267,0x15d30c0,12,RegExpInputGetter | |
code-creation,Builtin,2,3269,0x15d30e0,12,RegExpInputSetter | |
code-creation,Builtin,2,3271,0x15d3100,12,RegExpLastMatchGetter | |
code-creation,Builtin,2,3273,0x15d3120,12,RegExpLastParenGetter | |
code-creation,Builtin,2,3275,0x15d3140,12,RegExpLeftContextGetter | |
code-creation,Builtin,2,3278,0x15d3160,908,RegExpPrototypeCompile | |
code-creation,Builtin,2,3280,0x15d3500,12,RegExpPrototypeToString | |
code-creation,Builtin,2,3282,0x15d3520,12,RegExpRightContextGetter | |
code-creation,Builtin,2,3284,0x15d3540,248,RegExpExecAtom | |
code-creation,Builtin,2,3287,0x15d3640,1024,RegExpExecInternal | |
code-creation,Builtin,2,3288,0x15d3a60,8,RegExpInterpreterTrampoline | |
code-creation,Builtin,2,3291,0x15d3a80,8,RegExpExperimentalTrampoline | |
code-creation,Builtin,2,3293,0x15d3aa0,2676,SetConstructor | |
code-creation,Builtin,2,3295,0x15d4520,1276,SetPrototypeHas | |
code-creation,Builtin,2,3297,0x15d4a20,1708,SetPrototypeAdd | |
code-creation,Builtin,2,3299,0x15d50e0,1476,SetPrototypeDelete | |
code-creation,Builtin,2,3301,0x15d56c0,12,SetPrototypeClear | |
code-creation,Builtin,2,3303,0x15d56e0,284,SetPrototypeEntries | |
code-creation,Builtin,2,3306,0x15d5800,144,SetPrototypeGetSize | |
code-creation,Builtin,2,3309,0x15d58a0,444,SetPrototypeForEach | |
code-creation,Builtin,2,3311,0x15d5a60,284,SetPrototypeValues | |
code-creation,Builtin,2,3313,0x15d5b80,984,SetIteratorPrototypeNext | |
code-creation,Builtin,2,3315,0x15d5f60,1104,SetOrSetIteratorToList | |
code-creation,Builtin,2,3318,0x15d63c0,12,SharedArrayBufferPrototypeGetByteLength | |
code-creation,Builtin,2,3321,0x15d63e0,12,SharedArrayBufferPrototypeSlice | |
code-creation,Builtin,2,3323,0x15d6400,12,SharedArrayBufferPrototypeGrow | |
code-creation,Builtin,2,3325,0x15d6420,1280,AtomicsLoad | |
code-creation,Builtin,2,3327,0x15d6940,1008,AtomicsStore | |
code-creation,Builtin,2,3328,0x15d6d40,1704,AtomicsExchange | |
code-creation,Builtin,2,3331,0x15d7400,2092,AtomicsCompareExchange | |
code-creation,Builtin,2,3333,0x15d7c40,1804,AtomicsAdd | |
code-creation,Builtin,2,3336,0x15d8360,1804,AtomicsSub | |
code-creation,Builtin,2,3338,0x15d8a80,1804,AtomicsAnd | |
code-creation,Builtin,2,3339,0x15d91a0,1804,AtomicsOr | |
code-creation,Builtin,2,3341,0x15d98c0,1804,AtomicsXor | |
code-creation,Builtin,2,3344,0x15d9fe0,12,AtomicsNotify | |
code-creation,Builtin,2,3346,0x15da000,12,AtomicsIsLockFree | |
code-creation,Builtin,2,3348,0x15da020,12,AtomicsWait | |
code-creation,Builtin,2,3350,0x15da040,12,AtomicsWaitAsync | |
code-creation,Builtin,2,3352,0x15da060,12,StringFromCodePoint | |
code-creation,Builtin,2,3354,0x15da080,1428,StringFromCharCode | |
code-creation,Builtin,2,3356,0x15da620,12,StringPrototypeLastIndexOf | |
code-creation,Builtin,2,3358,0x15da640,4360,StringPrototypeMatchAll | |
code-creation,Builtin,2,3360,0x15db760,12,StringPrototypeLocaleCompare | |
code-creation,Builtin,2,3363,0x15db780,1228,StringPrototypeReplace | |
code-creation,Builtin,2,3365,0x15dbc60,2896,StringPrototypeSplit | |
code-creation,Builtin,2,3367,0x15dc7c0,12,StringRaw | |
code-creation,Builtin,2,3369,0x15dc7e0,12,SymbolConstructor | |
code-creation,Builtin,2,3371,0x15dc800,12,SymbolFor | |
code-creation,Builtin,2,3373,0x15dc820,12,SymbolKeyFor | |
code-creation,Builtin,2,3379,0x15dc840,88,TypedArrayBaseConstructor | |
code-creation,Builtin,2,3382,0x15dc8a0,256,TypedArrayConstructor | |
code-creation,Builtin,2,3385,0x15dc9c0,12,TypedArrayPrototypeBuffer | |
code-creation,Builtin,2,3387,0x15dc9e0,884,TypedArrayPrototypeByteLength | |
code-creation,Builtin,2,3390,0x15dcd60,368,TypedArrayPrototypeByteOffset | |
code-creation,Builtin,2,3392,0x15dcee0,588,TypedArrayPrototypeLength | |
code-creation,Builtin,2,3395,0x15dd140,12,TypedArrayPrototypeCopyWithin | |
code-creation,Builtin,2,3397,0x15dd160,12,TypedArrayPrototypeFill | |
code-creation,Builtin,2,3400,0x15dd180,12,TypedArrayPrototypeIncludes | |
code-creation,Builtin,2,3403,0x15dd1a0,12,TypedArrayPrototypeIndexOf | |
code-creation,Builtin,2,3405,0x15dd1c0,12,TypedArrayPrototypeLastIndexOf | |
code-creation,Builtin,2,3408,0x15dd1e0,12,TypedArrayPrototypeReverse | |
code-creation,Builtin,2,3410,0x15dd200,316,TypedArrayPrototypeToStringTag | |
code-creation,Builtin,2,3413,0x15dd340,10664,TypedArrayPrototypeMap | |
code-creation,Builtin,2,3415,0x15dfd00,792,GenericJSToWasmWrapper | |
code-creation,Builtin,2,3418,0x15e0020,148,WasmCompileLazy | |
code-creation,Builtin,2,3420,0x15e00c0,168,WasmDebugBreak | |
code-creation,Builtin,2,3423,0x15e0180,16,WasmOnStackReplace | |
code-creation,Builtin,2,3425,0x15e01a0,140,WasmFloat32ToNumber | |
code-creation,Builtin,2,3428,0x15e0240,152,WasmFloat64ToNumber | |
code-creation,Builtin,2,3431,0x15e02e0,4,WasmI32AtomicWait32 | |
code-creation,Builtin,2,3433,0x15e0300,4,WasmI64AtomicWait32 | |
code-creation,Builtin,2,3435,0x15e0320,24,JSToWasmLazyDeoptContinuation | |
code-creation,Builtin,2,3437,0x15e0340,4316,WeakMapConstructor | |
code-creation,Builtin,2,3441,0x15e1420,196,WeakMapLookupHashIndex | |
code-creation,Builtin,2,3443,0x15e1500,220,WeakMapGet | |
code-creation,Builtin,2,3446,0x15e15e0,176,WeakMapPrototypeHas | |
code-creation,Builtin,2,3448,0x15e16a0,204,WeakMapPrototypeSet | |
code-creation,Builtin,2,3450,0x15e1780,144,WeakMapPrototypeDelete | |
code-creation,Builtin,2,3452,0x15e1820,2876,WeakSetConstructor | |
code-creation,Builtin,2,3455,0x15e2360,176,WeakSetPrototypeHas | |
code-creation,Builtin,2,3457,0x15e2420,204,WeakSetPrototypeAdd | |
code-creation,Builtin,2,3460,0x15e2500,144,WeakSetPrototypeDelete | |
code-creation,Builtin,2,3464,0x15e25a0,372,WeakCollectionDelete | |
code-creation,Builtin,2,3467,0x15e2720,768,WeakCollectionSet | |
code-creation,Builtin,2,3469,0x15e2a40,296,AsyncGeneratorResolve | |
code-creation,Builtin,2,3472,0x15e2b80,100,AsyncGeneratorReject | |
code-creation,Builtin,2,3474,0x15e2c00,2760,AsyncGeneratorYield | |
code-creation,Builtin,2,3476,0x15e36e0,2872,AsyncGeneratorReturn | |
code-creation,Builtin,2,3479,0x15e4220,292,AsyncGeneratorResumeNext | |
code-creation,Builtin,2,3481,0x15e4360,12,AsyncGeneratorFunctionConstructor | |
tick,0x7fdcec02e28f,3484,0,0x0,6 | |
code-creation,Builtin,2,3492,0x15e4380,1016,AsyncGeneratorPrototypeNext | |
code-creation,Builtin,2,3494,0x15e4780,1024,AsyncGeneratorPrototypeReturn | |
code-creation,Builtin,2,3497,0x15e4ba0,1024,AsyncGeneratorPrototypeThrow | |
code-creation,Builtin,2,3499,0x15e4fc0,2736,AsyncGeneratorAwaitCaught | |
code-creation,Builtin,2,3501,0x15e5a80,2736,AsyncGeneratorAwaitUncaught | |
code-creation,Builtin,2,3503,0x15e6540,116,AsyncGeneratorAwaitResolveClosure | |
code-creation,Builtin,2,3505,0x15e65c0,128,AsyncGeneratorAwaitRejectClosure | |
code-creation,Builtin,2,3508,0x15e6660,116,AsyncGeneratorYieldResolveClosure | |
code-creation,Builtin,2,3510,0x15e66e0,116,AsyncGeneratorReturnClosedResolveClosure | |
code-creation,Builtin,2,3513,0x15e6760,112,AsyncGeneratorReturnClosedRejectClosure | |
code-creation,Builtin,2,3516,0x15e67e0,128,AsyncGeneratorReturnResolveClosure | |
code-creation,Builtin,2,3519,0x15e6880,1592,AsyncFromSyncIteratorPrototypeNext | |
code-creation,Builtin,2,3521,0x15e6ec0,1696,AsyncFromSyncIteratorPrototypeThrow | |
code-creation,Builtin,2,3523,0x15e7580,1716,AsyncFromSyncIteratorPrototypeReturn | |
code-creation,Builtin,2,3526,0x15e7c40,100,AsyncIteratorValueUnwrap | |
code-creation,Builtin,2,3528,0x15e7cc0,220,CEntry_Return1_DontSaveFPRegs_ArgvOnStack_NoBuiltinExit | |
code-creation,Builtin,2,3530,0x15e7da0,220,CEntry_Return1_DontSaveFPRegs_ArgvOnStack_BuiltinExit | |
code-creation,Builtin,2,3533,0x15e7e80,204,CEntry_Return1_DontSaveFPRegs_ArgvInRegister_NoBuiltinExit | |
code-creation,Builtin,2,3535,0x15e7f60,396,CEntry_Return1_SaveFPRegs_ArgvOnStack_NoBuiltinExit | |
code-creation,Builtin,2,3538,0x15e8100,396,CEntry_Return1_SaveFPRegs_ArgvOnStack_BuiltinExit | |
code-creation,Builtin,2,3540,0x15e82a0,220,CEntry_Return2_DontSaveFPRegs_ArgvOnStack_NoBuiltinExit | |
code-creation,Builtin,2,3543,0x15e8380,220,CEntry_Return2_DontSaveFPRegs_ArgvOnStack_BuiltinExit | |
code-creation,Builtin,2,3545,0x15e8460,204,CEntry_Return2_DontSaveFPRegs_ArgvInRegister_NoBuiltinExit | |
code-creation,Builtin,2,3548,0x15e8540,396,CEntry_Return2_SaveFPRegs_ArgvOnStack_NoBuiltinExit | |
code-creation,Builtin,2,3550,0x15e86e0,396,CEntry_Return2_SaveFPRegs_ArgvOnStack_BuiltinExit | |
code-creation,Builtin,2,3553,0x15e8880,4,DirectCEntry | |
code-creation,Builtin,2,3556,0x15e88a0,1096,StringAdd_CheckNone | |
code-creation,Builtin,2,3558,0x15e8d00,2480,SubString | |
code-creation,Builtin,2,3560,0x15e96c0,16,StackCheck | |
code-creation,Builtin,2,3562,0x15e96e0,84,DoubleToI | |
code-creation,Builtin,2,3564,0x15e9740,2236,GetProperty | |
code-creation,Builtin,2,3566,0x15ea000,2308,GetPropertyWithReceiver | |
code-creation,Builtin,2,3568,0x15ea920,15844,SetProperty | |
code-creation,Builtin,2,3570,0x15ee720,13404,SetPropertyInLiteral | |
code-creation,Builtin,2,3573,0x15f1b80,8,MemCopyUint8Uint8 | |
code-creation,Builtin,2,3575,0x15f1ba0,8,MemMove | |
code-creation,Builtin,2,3577,0x15f1bc0,12,IsTraceCategoryEnabled | |
code-creation,Builtin,2,3579,0x15f1be0,12,Trace | |
code-creation,Builtin,2,3582,0x15f1c00,12,FinalizationRegistryUnregister | |
code-creation,Builtin,2,3584,0x15f1c20,416,AsyncModuleEvaluate | |
code-creation,Builtin,2,3587,0x15f1de0,12,CallAsyncModuleFulfilled | |
code-creation,Builtin,2,3589,0x15f1e00,12,CallAsyncModuleRejected | |
code-creation,Builtin,2,3591,0x15f1e20,260,AggregateErrorConstructor | |
code-creation,Builtin,2,3594,0x15f1f40,856,ArrayPrototypeAt | |
code-creation,Builtin,2,3596,0x15f22a0,656,ArrayPrototypeConcat | |
code-creation,Builtin,2,3598,0x15f2540,5824,ArrayPrototypeCopyWithin | |
code-creation,Builtin,2,3600,0x15f3c20,212,ArrayEveryLoopEagerDeoptContinuation | |
code-creation,Builtin,2,3602,0x15f3d00,612,ArrayEveryLoopLazyDeoptContinuation | |
code-creation,Builtin,2,3606,0x15f3f80,3256,ArrayEveryLoopContinuation | |
code-creation,Builtin,2,3608,0x15f4c40,1464,ArrayEvery | |
code-creation,Builtin,2,3610,0x15f5200,284,ArrayFilterLoopEagerDeoptContinuation | |
code-creation,Builtin,2,3612,0x15f5320,988,ArrayFilterLoopLazyDeoptContinuation | |
code-creation,Builtin,2,3614,0x15f5700,3560,ArrayFilterLoopContinuation | |
code-creation,Builtin,2,3616,0x15f6500,4248,ArrayFilter | |
code-creation,Builtin,2,3618,0x15f75a0,204,ArrayFindLoopEagerDeoptContinuation | |
code-creation,Builtin,2,3620,0x15f7680,32,ArrayFindLoopLazyDeoptContinuation | |
code-creation,Builtin,2,3623,0x15f76c0,312,ArrayFindLoopAfterCallbackLazyDeoptContinuation | |
code-creation,Builtin,2,3625,0x15f7800,528,ArrayFindLoopContinuation | |
code-creation,Builtin,2,3627,0x15f7a20,1460,ArrayPrototypeFind | |
code-creation,Builtin,2,3629,0x15f7fe0,204,ArrayFindIndexLoopEagerDeoptContinuation | |
code-creation,Builtin,2,3632,0x15f80c0,32,ArrayFindIndexLoopLazyDeoptContinuation | |
code-creation,Builtin,2,3634,0x15f8100,312,ArrayFindIndexLoopAfterCallbackLazyDeoptContinuation | |
code-creation,Builtin,2,3636,0x15f8240,524,ArrayFindIndexLoopContinuation | |
code-creation,Builtin,2,3639,0x15f8460,1460,ArrayPrototypeFindIndex | |
code-creation,Builtin,2,3641,0x15f8a20,448,ArrayFindLastLoopContinuation | |
code-creation,Builtin,2,3643,0x15f8c00,1700,ArrayPrototypeFindLast | |
code-creation,Builtin,2,3645,0x15f92c0,448,ArrayFindLastIndexLoopContinuation | |
code-creation,Builtin,2,3647,0x15f94a0,1700,ArrayPrototypeFindLastIndex | |
code-creation,Builtin,2,3650,0x15f9b60,212,ArrayForEachLoopEagerDeoptContinuation | |
code-creation,Builtin,2,3652,0x15f9c40,212,ArrayForEachLoopLazyDeoptContinuation | |
code-creation,Builtin,2,3655,0x15f9d20,3144,ArrayForEachLoopContinuation | |
code-creation,Builtin,2,3657,0x15fa980,1328,ArrayForEach | |
code-creation,Builtin,2,3659,0x15faec0,3572,ArrayFrom | |
code-creation,Builtin,2,3660,0x15fbcc0,148,ArrayIsArray | |
code-creation,Builtin,2,3662,0x15fbd60,408,LoadJoinElement_DictionaryElements_0 | |
code-creation,Builtin,2,3664,0x15fbf00,36,LoadJoinElement_FastSmiOrObjectElements_0 | |
code-creation,Builtin,2,3667,0x15fbf40,140,LoadJoinElement_FastDoubleElements_0 | |
code-creation,Builtin,2,3669,0x15fbfe0,312,ConvertToLocaleString | |
code-creation,Builtin,2,3671,0x15fc120,748,JoinStackPush | |
code-creation,Builtin,2,3673,0x15fc420,268,JoinStackPop | |
code-creation,Builtin,2,3675,0x15fc540,6620,ArrayPrototypeJoin | |
code-creation,Builtin,2,3677,0x15fdf20,5360,ArrayPrototypeToLocaleString | |
code-creation,Builtin,2,3679,0x15ff420,236,ArrayPrototypeToString | |
code-creation,Builtin,2,3681,0x15ff520,5924,TypedArrayPrototypeJoin | |
code-creation,Builtin,2,3683,0x1600c60,4640,TypedArrayPrototypeToLocaleString | |
code-creation,Builtin,2,3686,0x1601ea0,3824,ArrayPrototypeLastIndexOf | |
code-creation,Builtin,2,3688,0x1602da0,260,ArrayMapPreLoopLazyDeoptContinuation | |
code-creation,Builtin,2,3690,0x1602ec0,252,ArrayMapLoopEagerDeoptContinuation | |
code-creation,Builtin,2,3693,0x1602fc0,532,ArrayMapLoopLazyDeoptContinuation | |
code-creation,Builtin,2,3695,0x16031e0,3188,ArrayMapLoopContinuation | |
code-creation,Builtin,2,3697,0x1603e60,3904,ArrayMap | |
code-creation,Builtin,2,3699,0x1604dc0,1000,ArrayOf | |
code-creation,Builtin,2,3701,0x16051c0,444,ArrayReduceRightPreLoopEagerDeoptContinuation | |
code-creation,Builtin,2,3703,0x1605380,204,ArrayReduceRightLoopEagerDeoptContinuation | |
code-creation,Builtin,2,3705,0x1605460,204,ArrayReduceRightLoopLazyDeoptContinuation | |
code-creation,Builtin,2,3707,0x1605540,3204,ArrayReduceRightLoopContinuation | |
code-creation,Builtin,2,3710,0x16061e0,2000,ArrayReduceRight | |
code-creation,Builtin,2,3712,0x16069c0,176,ArrayReducePreLoopEagerDeoptContinuation | |
code-creation,Builtin,2,3714,0x1606a80,204,ArrayReduceLoopEagerDeoptContinuation | |
code-creation,Builtin,2,3716,0x1606b60,204,ArrayReduceLoopLazyDeoptContinuation | |
code-creation,Builtin,2,3719,0x1606c40,3216,ArrayReduceLoopContinuation | |
code-creation,Builtin,2,3721,0x16078e0,1604,ArrayReduce | |
code-creation,Builtin,2,3722,0x1607f40,3208,ArrayPrototypeReverse | |
code-creation,Builtin,2,3725,0x1608be0,3604,ArrayPrototypeShift | |
code-creation,Builtin,2,3727,0x1609a00,5188,ArrayPrototypeSlice | |
code-creation,Builtin,2,3731,0x160ae60,212,ArraySomeLoopEagerDeoptContinuation | |
code-creation,Builtin,2,3733,0x160af40,580,ArraySomeLoopLazyDeoptContinuation | |
code-creation,Builtin,2,3735,0x160b1a0,3244,ArraySomeLoopContinuation | |
code-creation,Builtin,2,3738,0x160be60,1448,ArraySome | |
code-creation,Builtin,2,3739,0x160c420,14200,ArrayPrototypeSplice | |
code-creation,Builtin,2,3741,0x160fba0,3256,ArrayPrototypeUnshift | |
code-creation,Builtin,2,3744,0x1610860,332,ArrayBufferPrototypeGetByteLength | |
code-creation,Builtin,2,3746,0x16109c0,348,ArrayBufferPrototypeGetMaxByteLength | |
code-creation,Builtin,2,3748,0x1610b20,208,ArrayBufferPrototypeGetResizable | |
code-creation,Builtin,2,3751,0x1610c00,332,SharedArrayBufferPrototypeGetMaxByteLength | |
code-creation,Builtin,2,3753,0x1610d60,208,SharedArrayBufferPrototypeGetGrowable | |
code-creation,Builtin,2,3755,0x1610e40,96,ArrayBufferIsView | |
code-creation,Builtin,2,3757,0x1610ec0,396,ToInteger | |
code-creation,Builtin,2,3759,0x1611060,3068,FastCreateDataProperty | |
code-creation,Builtin,2,3761,0x1611c60,676,CheckNumberInRange | |
code-creation,Builtin,2,3763,0x1611f20,584,CheckSameObject | |
code-creation,Builtin,2,3766,0x1612180,904,BooleanConstructor | |
code-creation,Builtin,2,3767,0x1612520,164,BooleanPrototypeToString | |
code-creation,Builtin,2,3770,0x16125e0,156,BooleanPrototypeValueOf | |
code-creation,Builtin,2,3772,0x1612680,1180,BigIntAddNoThrow | |
code-creation,Builtin,2,3775,0x1612b20,1276,BigIntAdd | |
code-creation,Builtin,2,3777,0x1613020,1180,BigIntSubtractNoThrow | |
code-creation,Builtin,2,3780,0x16134c0,1276,BigIntSubtract | |
code-creation,Builtin,2,3782,0x16139c0,284,BigIntUnaryMinus | |
code-creation,Builtin,2,3784,0x1613ae0,1356,ToString | |
code-creation,Builtin,2,3785,0x1614040,156,StringPrototypeToString | |
code-creation,Builtin,2,3788,0x16140e0,156,StringPrototypeValueOf | |
code-creation,Builtin,2,3790,0x1614180,2452,StringToList | |
code-creation,Builtin,2,3792,0x1614b20,1012,StringPrototypeCharAt | |
code-creation,Builtin,2,3794,0x1614f20,700,StringPrototypeCharCodeAt | |
code-creation,Builtin,2,3796,0x16151e0,1288,StringPrototypeCodePointAt | |
code-creation,Builtin,2,3798,0x1615700,400,StringPrototypeConcat | |
code-creation,Builtin,2,3800,0x16158a0,992,StringConstructor | |
code-creation,Builtin,2,3802,0x1615ca0,1432,StringAddConvertLeft | |
code-creation,Builtin,2,3804,0x1616240,1460,StringAddConvertRight | |
code-creation,Builtin,2,3807,0x1616800,812,StringCharAt | |
code-creation,Builtin,2,3808,0x1616b40,16,FastNewClosureBaseline | |
code-creation,Builtin,2,3811,0x1616b60,196,FastNewFunctionContextEval | |
code-creation,Builtin,2,3813,0x1616c40,196,FastNewFunctionContextFunction | |
code-creation,Builtin,2,3815,0x1616d20,248,CreateRegExpLiteral | |
code-creation,Builtin,2,3817,0x1616e20,1080,CreateShallowArrayLiteral | |
code-creation,Builtin,2,3820,0x1617260,496,CreateEmptyArrayLiteral | |
code-creation,Builtin,2,3822,0x1617460,1724,CreateShallowObjectLiteral | |
code-creation,Builtin,2,3824,0x1617b20,384,ObjectConstructor | |
code-creation,Builtin,2,3827,0x1617cc0,176,CreateEmptyLiteralObject | |
code-creation,Builtin,2,3829,0x1617d80,532,NumberConstructor | |
code-creation,Builtin,2,3831,0x1617fa0,64,GenericLazyDeoptContinuation | |
code-creation,Builtin,2,3833,0x1618000,64,StringToNumber | |
code-creation,Builtin,2,3835,0x1618060,184,NonNumberToNumber | |
code-creation,Builtin,2,3837,0x1618120,240,NonNumberToNumeric | |
code-creation,Builtin,2,3839,0x1618220,36,ToNumeric | |
code-creation,Builtin,2,3841,0x1618260,1180,NumberToString | |
code-creation,Builtin,2,3844,0x1618700,92,ToBoolean | |
code-creation,Builtin,2,3845,0x1618760,96,ToBooleanForBaselineJump | |
code-creation,Builtin,2,3847,0x16187e0,728,ToLength | |
code-creation,Builtin,2,3849,0x1618ac0,1308,ToName | |
code-creation,Builtin,2,3851,0x1618fe0,756,ToObject | |
code-creation,Builtin,2,3853,0x16192e0,208,NonPrimitiveToPrimitive_Default | |
code-creation,Builtin,2,3855,0x16193c0,208,NonPrimitiveToPrimitive_Number | |
code-creation,Builtin,2,3857,0x16194a0,208,NonPrimitiveToPrimitive_String | |
code-creation,Builtin,2,3859,0x1619580,288,OrdinaryToPrimitive_Number | |
code-creation,Builtin,2,3861,0x16196c0,288,OrdinaryToPrimitive_String | |
code-creation,Builtin,2,3863,0x1619800,216,FastConsoleAssert | |
code-creation,Builtin,2,3867,0x16198e0,160,DataViewPrototypeGetBuffer | |
code-creation,Builtin,2,3870,0x16199a0,336,DataViewPrototypeGetByteLength | |
code-creation,Builtin,2,3872,0x1619b00,336,DataViewPrototypeGetByteOffset | |
code-creation,Builtin,2,3874,0x1619c60,572,DataViewPrototypeGetUint8 | |
code-creation,Builtin,2,3877,0x1619ea0,572,DataViewPrototypeGetInt8 | |
code-creation,Builtin,2,3879,0x161a0e0,644,DataViewPrototypeGetUint16 | |
code-creation,Builtin,2,3881,0x161a380,644,DataViewPrototypeGetInt16 | |
code-creation,Builtin,2,3884,0x161a620,808,DataViewPrototypeGetUint32 | |
code-creation,Builtin,2,3886,0x161a960,684,DataViewPrototypeGetInt32 | |
code-creation,Builtin,2,3889,0x161ac20,848,DataViewPrototypeGetFloat32 | |
code-creation,Builtin,2,3891,0x161af80,912,DataViewPrototypeGetFloat64 | |
code-creation,Builtin,2,3893,0x161b320,984,DataViewPrototypeGetBigUint64 | |
code-creation,Builtin,2,3896,0x161b700,1004,DataViewPrototypeGetBigInt64 | |
code-creation,Builtin,2,3898,0x161bb00,928,DataViewPrototypeSetUint8 | |
code-creation,Builtin,2,3900,0x161bec0,928,DataViewPrototypeSetInt8 | |
code-creation,Builtin,2,3902,0x161c280,1028,DataViewPrototypeSetUint16 | |
code-creation,Builtin,2,3904,0x161c6a0,1028,DataViewPrototypeSetInt16 | |
code-creation,Builtin,2,3907,0x161cac0,1064,DataViewPrototypeSetUint32 | |
code-creation,Builtin,2,3909,0x161cf00,1064,DataViewPrototypeSetInt32 | |
code-creation,Builtin,2,3911,0x161d340,1032,DataViewPrototypeSetFloat32 | |
code-creation,Builtin,2,3913,0x161d760,1096,DataViewPrototypeSetFloat64 | |
code-creation,Builtin,2,3916,0x161dbc0,944,DataViewPrototypeSetBigUint64 | |
code-creation,Builtin,2,3918,0x161df80,944,DataViewPrototypeSetBigInt64 | |
code-creation,Builtin,2,3920,0x161e340,828,FinalizationRegistryConstructor | |
code-creation,Builtin,2,3922,0x161e680,1136,FinalizationRegistryRegister | |
code-creation,Builtin,2,3924,0x161eb00,644,FinalizationRegistryPrototypeCleanupSome | |
code-creation,Builtin,2,3927,0x161eda0,328,FunctionPrototypeHasInstance | |
code-creation,Builtin,2,3929,0x161ef00,924,FastFunctionPrototypeBind | |
code-creation,Builtin,2,3931,0x161f2a0,88,IncBlockCounter | |
code-creation,Builtin,2,3933,0x161f300,236,GetTemplateObject | |
code-creation,Builtin,2,3935,0x161f400,28,BytecodeBudgetInterruptFromCode | |
code-creation,Builtin,2,3938,0x161f420,92,ForInNext | |
code-creation,Builtin,2,3940,0x161f480,128,GetImportMetaObjectBaseline | |
code-creation,Builtin,2,3942,0x161f520,116,GetIteratorWithFeedback | |
code-creation,Builtin,2,3944,0x161f5a0,100,GetIteratorBaseline | |
code-creation,Builtin,2,3946,0x161f620,268,CreateAsyncFromSyncIteratorBaseline | |
code-creation,Builtin,2,3948,0x161f740,1076,CallIteratorWithFeedback | |
code-creation,Builtin,2,3950,0x161fb80,288,MathAbs | |
code-creation,Builtin,2,3952,0x161fcc0,428,MathCeil | |
code-creation,Builtin,2,3954,0x161fe80,432,MathFloor | |
code-creation,Builtin,2,3956,0x1620040,488,MathRound | |
code-creation,Builtin,2,3958,0x1620240,428,MathTrunc | |
code-creation,Builtin,2,3960,0x1620400,364,MathPow | |
code-creation,Builtin,2,3962,0x1620580,396,MathMax | |
code-creation,Builtin,2,3964,0x1620720,404,MathMin | |
code-creation,Builtin,2,3966,0x16208c0,320,MathAcos | |
code-creation,Builtin,2,3968,0x1620a20,320,MathAcosh | |
code-creation,Builtin,2,3970,0x1620b80,320,MathAsin | |
code-creation,Builtin,2,3972,0x1620ce0,320,MathAsinh | |
code-creation,Builtin,2,3973,0x1620e40,320,MathAtan | |
code-creation,Builtin,2,3975,0x1620fa0,412,MathAtan2 | |
code-creation,Builtin,2,3978,0x1621140,320,MathAtanh | |
code-creation,Builtin,2,3979,0x16212a0,320,MathCbrt | |
code-creation,Builtin,2,3981,0x1621400,168,MathClz32 | |
code-creation,Builtin,2,3983,0x16214c0,320,MathCos | |
code-creation,Builtin,2,3985,0x1621620,320,MathCosh | |
code-creation,Builtin,2,3987,0x1621780,320,MathExp | |
code-creation,Builtin,2,3989,0x16218e0,320,MathExpm1 | |
code-creation,Builtin,2,3991,0x1621a40,272,MathFround | |
code-creation,Builtin,2,3993,0x1621b60,304,MathImul | |
code-creation,Builtin,2,3994,0x1621ca0,320,MathLog | |
code-creation,Builtin,2,3996,0x1621e00,320,MathLog1p | |
code-creation,Builtin,2,3998,0x1621f60,320,MathLog10 | |
code-creation,Builtin,2,4000,0x16220c0,320,MathLog2 | |
code-creation,Builtin,2,4001,0x1622220,320,MathSin | |
code-creation,Builtin,2,4003,0x1622380,180,MathSign | |
code-creation,Builtin,2,4006,0x1622440,320,MathSinh | |
code-creation,Builtin,2,4008,0x16225a0,268,MathSqrt | |
code-creation,Builtin,2,4010,0x16226c0,320,MathTan | |
code-creation,Builtin,2,4012,0x1622820,320,MathTanh | |
code-creation,Builtin,2,4014,0x1622980,1056,MathHypot | |
code-creation,Builtin,2,4016,0x1622dc0,324,MathRandom | |
code-creation,Builtin,2,4018,0x1622f20,2952,NumberPrototypeToString | |
code-creation,Builtin,2,4020,0x1623ac0,136,NumberIsFinite | |
code-creation,Builtin,2,4022,0x1623b60,340,NumberIsInteger | |
code-creation,Builtin,2,4024,0x1623cc0,116,NumberIsNaN | |
code-creation,Builtin,2,4027,0x1623d40,372,NumberIsSafeInteger | |
code-creation,Builtin,2,4029,0x1623ec0,156,NumberPrototypeValueOf | |
code-creation,Builtin,2,4031,0x1623f60,196,NumberParseFloat | |
code-creation,Builtin,2,4033,0x1624040,248,ParseInt | |
code-creation,Builtin,2,4035,0x1624140,84,NumberParseInt | |
code-creation,Builtin,2,4037,0x16241a0,860,Add | |
code-creation,Builtin,2,4039,0x1624500,424,Subtract | |
code-creation,Builtin,2,4041,0x16246c0,608,Multiply | |
code-creation,Builtin,2,4043,0x1624940,532,Divide | |
code-creation,Builtin,2,4045,0x1624b60,592,Modulus | |
code-creation,Builtin,2,4047,0x1624dc0,524,Exponentiate | |
code-creation,Builtin,2,4049,0x1624fe0,344,Negate | |
code-creation,Builtin,2,4051,0x1625140,112,BitwiseNot | |
code-creation,Builtin,2,4053,0x16251c0,112,Decrement | |
code-creation,Builtin,2,4055,0x1625240,112,Increment | |
code-creation,Builtin,2,4057,0x16252c0,392,ShiftLeft | |
code-creation,Builtin,2,4059,0x1625460,392,ShiftRight | |
code-creation,Builtin,2,4060,0x1625600,508,ShiftRightLogical | |
code-creation,Builtin,2,4063,0x1625800,388,BitwiseAnd | |
code-creation,Builtin,2,4064,0x16259a0,388,BitwiseOr | |
code-creation,Builtin,2,4066,0x1625b40,388,BitwiseXor | |
code-creation,Builtin,2,4068,0x1625ce0,796,LessThan | |
code-creation,Builtin,2,4072,0x1626000,796,LessThanOrEqual | |
code-creation,Builtin,2,4074,0x1626320,796,GreaterThan | |
code-creation,Builtin,2,4076,0x1626640,796,GreaterThanOrEqual | |
code-creation,Builtin,2,4078,0x1626960,860,Equal | |
code-creation,Builtin,2,4080,0x1626cc0,348,StrictEqual | |
code-creation,Builtin,2,4083,0x1626e20,3132,ObjectFromEntries | |
code-creation,Builtin,2,4084,0x1627a60,756,CreateObjectWithoutProperties | |
code-creation,Builtin,2,4087,0x1627d60,144,ObjectIsExtensible | |
code-creation,Builtin,2,4089,0x1627e00,148,ObjectPreventExtensions | |
code-creation,Builtin,2,4092,0x1627ea0,144,ObjectGetPrototypeOf | |
code-creation,Builtin,2,4094,0x1627f40,300,ObjectSetPrototypeOf | |
code-creation,Builtin,2,4096,0x1628080,80,ObjectPrototypeToString | |
code-creation,Builtin,2,4098,0x16280e0,96,ObjectPrototypeValueOf | |
code-creation,Builtin,2,4100,0x1628160,164,ObjectPrototypeToLocaleString | |
code-creation,Builtin,2,4102,0x1628220,860,FulfillPromise | |
code-creation,Builtin,2,4104,0x1628580,980,RejectPromise | |
code-creation,Builtin,2,4106,0x1628960,2412,NewPromiseCapability | |
code-creation,Builtin,2,4108,0x16292e0,164,PromiseCapabilityDefaultReject | |
code-creation,Builtin,2,4110,0x16293a0,148,PromiseCapabilityDefaultResolve | |
code-creation,Builtin,2,4113,0x1629440,1412,PerformPromiseThen | |
code-creation,Builtin,2,4115,0x16299e0,648,PromiseReject | |
code-creation,Builtin,2,4117,0x1629c80,292,PromiseGetCapabilitiesExecutor | |
code-creation,Builtin,2,4119,0x1629dc0,104,PromiseConstructorLazyDeoptContinuation | |
code-creation,Builtin,2,4121,0x1629e40,4556,PromiseAll | |
code-creation,Builtin,2,4123,0x162b020,4876,PromiseAllSettled | |
code-creation,Builtin,2,4125,0x162c340,1100,PromiseAllResolveElementClosure | |
code-creation,Builtin,2,4128,0x162c7a0,1388,PromiseAllSettledResolveElementClosure | |
code-creation,Builtin,2,4131,0x162cd20,1396,PromiseAllSettledRejectElementClosure | |
code-creation,Builtin,2,4133,0x162d2a0,1172,PromiseAnyRejectElementClosure | |
code-creation,Builtin,2,4135,0x162d740,2368,PromiseAny | |
code-creation,Builtin,2,4137,0x162e0a0,2908,PromiseConstructor | |
code-creation,Builtin,2,4139,0x162ec00,296,PromisePrototypeCatch | |
code-creation,Builtin,2,4141,0x162ed40,88,PromiseValueThunkFinally | |
code-creation,Builtin,2,4144,0x162eda0,84,PromiseThrowerFinally | |
code-creation,Builtin,2,4146,0x162ee00,904,PromiseCatchFinally | |
code-creation,Builtin,2,4148,0x162f1a0,904,PromiseThenFinally | |
code-creation,Builtin,2,4152,0x162f540,1700,PromisePrototypeFinally | |
code-creation,Builtin,2,4154,0x162fc00,1336,PromiseRace | |
code-creation,Builtin,2,4157,0x1630140,268,PromiseFulfillReactionJob | |
code-creation,Builtin,2,4159,0x1630260,364,PromiseRejectReactionJob | |
code-creation,Builtin,2,4161,0x16303e0,156,PromiseResolveTrampoline | |
code-creation,Builtin,2,4163,0x1630480,656,PromiseResolve | |
code-creation,Builtin,2,4165,0x1630720,712,ResolvePromise | |
code-creation,Builtin,2,4167,0x1630a00,2220,PromisePrototypeThen | |
code-creation,Builtin,2,4169,0x16312c0,1144,PromiseResolveThenableJob | |
code-creation,Builtin,2,4171,0x1631740,448,ProxyConstructor | |
code-creation,Builtin,2,4173,0x1631920,1760,ProxyDeleteProperty | |
code-creation,Builtin,2,4175,0x1632020,2112,ProxyGetProperty | |
code-creation,Builtin,2,4178,0x1632880,1060,ProxyGetPrototypeOf | |
code-creation,Builtin,2,4180,0x1632cc0,1668,ProxyHasProperty | |
code-creation,Builtin,2,4182,0x1633360,760,ProxyIsExtensible | |
code-creation,Builtin,2,4184,0x1633660,800,ProxyPreventExtensions | |
code-creation,Builtin,2,4186,0x16339a0,1148,ProxyRevocable | |
code-creation,Builtin,2,4188,0x1633e20,120,ProxyRevoke | |
code-creation,Builtin,2,4191,0x1633ea0,2216,ProxySetProperty | |
code-creation,Builtin,2,4192,0x1634760,1292,ProxySetPrototypeOf | |
code-creation,Builtin,2,4195,0x1634c80,208,ReflectIsExtensible | |
code-creation,Builtin,2,4196,0x1634d60,212,ReflectPreventExtensions | |
code-creation,Builtin,2,4199,0x1634e40,188,ReflectGetPrototypeOf | |
code-creation,Builtin,2,4201,0x1634f00,292,ReflectSetPrototypeOf | |
code-creation,Builtin,2,4203,0x1635040,284,ReflectGet | |
code-creation,Builtin,2,4205,0x1635160,160,ReflectDeleteProperty | |
code-creation,Builtin,2,4207,0x1635220,148,ReflectHas | |
code-creation,Builtin,2,4209,0x16352c0,5108,RegExpPrototypeExecSlow | |
code-creation,Builtin,2,4211,0x16366c0,5100,RegExpPrototypeExec | |
code-creation,Builtin,2,4213,0x1637ac0,2360,RegExpPrototypeMatchAll | |
code-creation,Builtin,2,4215,0x1638400,9384,RegExpStringIteratorPrototypeNext | |
code-creation,Builtin,2,4217,0x163a8c0,8796,RegExpMatchFast | |
code-creation,Builtin,2,4219,0x163cb20,3592,RegExpPrototypeMatch | |
code-creation,Builtin,2,4222,0x163d940,6304,RegExpReplace | |
code-creation,Builtin,2,4224,0x163f200,524,RegExpPrototypeReplace | |
code-creation,Builtin,2,4226,0x163f420,1400,RegExpSearchFast | |
code-creation,Builtin,2,4228,0x163f9a0,1640,RegExpPrototypeSearch | |
code-creation,Builtin,2,4230,0x1640020,200,RegExpPrototypeSourceGetter | |
code-creation,Builtin,2,4232,0x1640100,5784,RegExpSplit | |
code-creation,Builtin,2,4235,0x16417a0,476,RegExpPrototypeSplit | |
code-creation,Builtin,2,4237,0x1641980,2236,RegExpPrototypeTest | |
code-creation,Builtin,2,4239,0x1642240,1348,RegExpPrototypeTestFast | |
code-creation,Builtin,2,4241,0x16427a0,228,RegExpPrototypeGlobalGetter | |
code-creation,Builtin,2,4243,0x16428a0,244,RegExpPrototypeIgnoreCaseGetter | |
code-creation,Builtin,2,4245,0x16429a0,244,RegExpPrototypeMultilineGetter | |
code-creation,Builtin,2,4248,0x1642aa0,244,RegExpPrototypeHasIndicesGetter | |
code-creation,Builtin,2,4250,0x1642ba0,244,RegExpPrototypeLinearGetter | |
code-creation,Builtin,2,4252,0x1642ca0,244,RegExpPrototypeDotAllGetter | |
code-creation,Builtin,2,4254,0x1642da0,272,RegExpPrototypeStickyGetter | |
code-creation,Builtin,2,4256,0x1642ec0,272,RegExpPrototypeUnicodeGetter | |
code-creation,Builtin,2,4258,0x1642fe0,2256,RegExpPrototypeFlagsGetter | |
code-creation,Builtin,2,4261,0x16438c0,1500,StringPrototypeAt | |
code-creation,Builtin,2,4262,0x1643ea0,2992,StringPrototypeEndsWith | |
code-creation,Builtin,2,4265,0x1644a60,480,CreateHTML | |
code-creation,Builtin,2,4267,0x1644c60,164,StringPrototypeAnchor | |
code-creation,Builtin,2,4269,0x1644d20,128,StringPrototypeBig | |
code-creation,Builtin,2,4271,0x1644dc0,128,StringPrototypeBlink | |
code-creation,Builtin,2,4273,0x1644e60,128,StringPrototypeBold | |
code-creation,Builtin,2,4276,0x1644f00,168,StringPrototypeFontcolor | |
code-creation,Builtin,2,4278,0x1644fc0,168,StringPrototypeFontsize | |
code-creation,Builtin,2,4282,0x1645080,128,StringPrototypeFixed | |
code-creation,Builtin,2,4284,0x1645120,128,StringPrototypeItalics | |
code-creation,Builtin,2,4286,0x16451c0,168,StringPrototypeLink | |
code-creation,Builtin,2,4291,0x1645280,128,StringPrototypeSmall | |
code-creation,Builtin,2,4293,0x1645320,128,StringPrototypeStrike | |
code-creation,Builtin,2,4295,0x16453c0,128,StringPrototypeSub | |
code-creation,Builtin,2,4296,0x1645460,128,StringPrototypeSup | |
code-creation,Builtin,2,4299,0x1645500,1028,StringPrototypeIncludes | |
code-creation,Builtin,2,4301,0x1645920,628,StringPrototypeIndexOf | |
code-creation,Builtin,2,4303,0x1645ba0,344,StringPrototypeIterator | |
code-creation,Builtin,2,4305,0x1645d00,2028,StringIteratorPrototypeNext | |
code-creation,Builtin,2,4307,0x1646500,1304,StringPrototypeMatch | |
code-creation,Builtin,2,4309,0x1646a20,1304,StringPrototypeSearch | |
code-creation,Builtin,2,4311,0x1646f40,824,StringPrototypePadStart | |
code-creation,Builtin,2,4314,0x1647280,824,StringPrototypePadEnd | |
code-creation,Builtin,2,4316,0x16475c0,120,StringRepeat | |
code-creation,Builtin,2,4318,0x1647640,400,StringPrototypeRepeat | |
code-creation,Builtin,2,4320,0x16477e0,10964,StringPrototypeReplaceAll | |
code-creation,Builtin,2,4322,0x164a2c0,3384,StringPrototypeSlice | |
code-creation,Builtin,2,4325,0x164b000,3004,StringPrototypeStartsWith | |
code-creation,Builtin,2,4327,0x164bbc0,3324,StringPrototypeSubstr | |
code-creation,Builtin,2,4329,0x164c8c0,3260,StringPrototypeSubstring | |
code-creation,Builtin,2,4332,0x164d580,6904,StringPrototypeTrim | |
code-creation,Builtin,2,4333,0x164f080,6316,StringPrototypeTrimStart | |
code-creation,Builtin,2,4335,0x1650940,5840,StringPrototypeTrimEnd | |
code-creation,Builtin,2,4337,0x1652020,160,SymbolPrototypeDescriptionGetter | |
code-creation,Builtin,2,4339,0x16520e0,156,SymbolPrototypeToPrimitive | |
code-creation,Builtin,2,4341,0x1652180,172,SymbolPrototypeToString | |
code-creation,Builtin,2,4343,0x1652240,156,SymbolPrototypeValueOf | |
code-creation,Builtin,2,4345,0x16522e0,832,TypedArrayPrototypeAt | |
code-creation,Builtin,2,4347,0x1652640,10004,CreateTypedArray | |
code-creation,Builtin,2,4349,0x1654d60,1000,TypedArrayPrototypeEvery | |
code-creation,Builtin,2,4351,0x1655160,372,TypedArrayPrototypeEntries | |
code-creation,Builtin,2,4353,0x16552e0,3508,TypedArrayPrototypeFilter | |
code-creation,Builtin,2,4356,0x16560a0,996,TypedArrayPrototypeFind | |
code-creation,Builtin,2,4357,0x16564a0,1004,TypedArrayPrototypeFindIndex | |
code-creation,Builtin,2,4360,0x16568a0,428,FindLastAllElementsDetachedContinuation | |
code-creation,Builtin,2,4362,0x1656a60,1208,TypedArrayPrototypeFindLast | |
code-creation,Builtin,2,4365,0x1656f20,436,FindLastIndexAllElementsDetachedContinuation | |
code-creation,Builtin,2,4367,0x16570e0,1216,TypedArrayPrototypeFindLastIndex | |
code-creation,Builtin,2,4369,0x16575c0,864,TypedArrayPrototypeForEach | |
code-creation,Builtin,2,4372,0x1657940,2352,TypedArrayFrom | |
code-creation,Builtin,2,4373,0x1658280,356,TypedArrayPrototypeKeys | |
code-creation,Builtin,2,4376,0x1658400,1028,TypedArrayOf | |
code-creation,Builtin,2,4378,0x1658820,952,TypedArrayPrototypeReduce | |
code-creation,Builtin,2,4380,0x1658be0,944,TypedArrayPrototypeReduceRight | |
code-creation,Builtin,2,4382,0x1658fa0,2496,TypedArrayPrototypeSet | |
code-creation,Builtin,2,4384,0x1659980,3028,TypedArrayPrototypeSlice | |
code-creation,Builtin,2,4387,0x165a560,992,TypedArrayPrototypeSome | |
code-creation,Builtin,2,4389,0x165a960,1052,TypedArrayMergeSort | |
code-creation,Builtin,2,4391,0x165ad80,1616,TypedArrayPrototypeSort | |
code-creation,Builtin,2,4393,0x165b3e0,2736,TypedArrayPrototypeSubArray | |
code-creation,Builtin,2,4395,0x165bea0,372,TypedArrayPrototypeValues | |
code-creation,Builtin,2,4398,0x165c020,956,WeakRefConstructor | |
code-creation,Builtin,2,4400,0x165c3e0,184,WeakRefDeref | |
code-creation,Builtin,2,4402,0x165c4a0,680,NewSloppyArgumentsElements | |
code-creation,Builtin,2,4404,0x165c760,296,NewStrictArgumentsElements | |
code-creation,Builtin,2,4406,0x165c8a0,320,NewRestArgumentsElements | |
code-creation,Builtin,2,4408,0x165ca00,1388,FastNewSloppyArguments | |
code-creation,Builtin,2,4410,0x165cf80,524,FastNewStrictArguments | |
code-creation,Builtin,2,4413,0x165d1a0,556,FastNewRestArguments | |
code-creation,Builtin,2,4414,0x165d3e0,676,StringSlowFlatten | |
code-creation,Builtin,2,4416,0x165d6a0,2000,StringIndexOf | |
code-creation,Builtin,2,4419,0x165de80,4,GenericBuiltinTest_JSAny_0 | |
code-creation,Builtin,2,4422,0x165dea0,20,TestHelperPlus1 | |
code-creation,Builtin,2,4425,0x165dec0,20,TestHelperPlus2 | |
code-creation,Builtin,2,4427,0x165dee0,96,NewSmiBox | |
code-creation,Builtin,2,4429,0x165df60,24,ReturnTwoValues | |
code-creation,Builtin,2,4431,0x165df80,32,Load_FastSmiElements_0 | |
code-creation,Builtin,2,4433,0x165dfc0,32,Load_FastObjectElements_0 | |
code-creation,Builtin,2,4435,0x165e000,144,Load_FastDoubleElements_0 | |
code-creation,Builtin,2,4437,0x165e0a0,32,Store_FastSmiElements_0 | |
code-creation,Builtin,2,4439,0x165e0e0,92,Store_FastObjectElements_0 | |
code-creation,Builtin,2,4442,0x165e140,48,Store_FastDoubleElements_0 | |
code-creation,Builtin,2,4447,0x165e180,36,Delete_FastSmiElements_0 | |
code-creation,Builtin,2,4450,0x165e1c0,36,Delete_FastObjectElements_0 | |
code-creation,Builtin,2,4452,0x165e200,44,Delete_FastDoubleElements_0 | |
code-creation,Builtin,2,4454,0x165e240,308,SortCompareDefault | |
code-creation,Builtin,2,4457,0x165e380,92,SortCompareUserFn | |
code-creation,Builtin,2,4459,0x165e3e0,8,CanUseSameAccessor_GenericElementsAccessor_0 | |
code-creation,Builtin,2,4462,0x165e400,308,Copy | |
code-creation,Builtin,2,4464,0x165e540,5732,MergeAt | |
code-creation,Builtin,2,4465,0x165fbc0,792,GallopLeft | |
tick,0x7fdcec02e28f,4468,0,0x0,6 | |
code-creation,Builtin,2,4475,0x165fee0,832,GallopRight | |
code-creation,Builtin,2,4477,0x1660240,3820,ArrayTimSort | |
code-creation,Builtin,2,4479,0x1661140,2096,ArrayPrototypeSort | |
code-creation,Builtin,2,4481,0x1661980,100,WasmInt32ToHeapNumber | |
code-creation,Builtin,2,4483,0x1661a00,124,WasmTaggedNonSmiToInt32 | |
code-creation,Builtin,2,4485,0x1661a80,76,WasmTaggedToFloat64 | |
code-creation,Builtin,2,4488,0x1661ae0,72,WasmMemoryGrow | |
code-creation,Builtin,2,4490,0x1661b40,100,WasmTableInit | |
code-creation,Builtin,2,4492,0x1661bc0,100,WasmTableCopy | |
code-creation,Builtin,2,4494,0x1661c40,84,WasmTableFill | |
code-creation,Builtin,2,4496,0x1661ca0,72,WasmTableGrow | |
code-creation,Builtin,2,4498,0x1661d00,144,WasmTableGet | |
code-creation,Builtin,2,4499,0x1661da0,236,WasmTableSet | |
code-creation,Builtin,2,4501,0x1661ea0,88,WasmRefFunc | |
code-creation,Builtin,2,4503,0x1661f00,144,WasmAllocateFixedArray | |
code-creation,Builtin,2,4505,0x1661fa0,44,WasmThrow | |
code-creation,Builtin,2,4507,0x1661fe0,52,WasmRethrow | |
code-creation,Builtin,2,4509,0x1662020,44,WasmTriggerTierUp | |
code-creation,Builtin,2,4511,0x1662060,32,WasmStackGuard | |
code-creation,Builtin,2,4513,0x16620a0,32,WasmStackOverflow | |
code-creation,Builtin,2,4515,0x16620e0,40,WasmTraceMemory | |
code-creation,Builtin,2,4518,0x1662120,32,WasmTraceEnter | |
code-creation,Builtin,2,4520,0x1662160,40,WasmTraceExit | |
code-creation,Builtin,2,4522,0x16621a0,332,WasmAllocateJSArray | |
code-creation,Builtin,2,4524,0x1662300,104,WasmAllocatePair | |
code-creation,Builtin,2,4527,0x1662380,64,WasmAllocateRtt | |
code-creation,Builtin,2,4529,0x16623e0,72,WasmAllocateFreshRtt | |
code-creation,Builtin,2,4531,0x1662440,124,WasmAllocateStructWithRtt | |
code-creation,Builtin,2,4533,0x16624c0,140,WasmAllocateArray_Uninitialized | |
code-creation,Builtin,2,4536,0x1662560,176,WasmAllocateArray_InitZero | |
code-creation,Builtin,2,4538,0x1662620,176,WasmAllocateArray_InitNull | |
code-creation,Builtin,2,4540,0x16626e0,116,WasmArrayCopyWithChecks | |
code-creation,Builtin,2,4543,0x1662760,60,WasmArrayCopy | |
code-creation,Builtin,2,4545,0x16627a0,240,WasmAllocateObjectWrapper | |
code-creation,Builtin,2,4548,0x16628a0,52,WasmSubtypeCheck | |
code-creation,Builtin,2,4549,0x16628e0,8,WasmInt32ToNumber | |
code-creation,Builtin,2,4552,0x1662900,116,WasmUint32ToNumber | |
code-creation,Builtin,2,4554,0x1662980,144,UintPtr53ToNumber | |
code-creation,Builtin,2,4555,0x1662a20,96,WasmAtomicNotify | |
code-creation,Builtin,2,4557,0x1662aa0,116,WasmI32AtomicWait64 | |
code-creation,Builtin,2,4559,0x1662b20,116,WasmI64AtomicWait64 | |
code-creation,Builtin,2,4561,0x1662ba0,580,WasmGetOwnProperty | |
code-creation,Builtin,2,4564,0x1662e00,40,WasmTrap | |
code-creation,Builtin,2,4566,0x1662e40,16,ThrowWasmTrapUnreachable | |
code-creation,Builtin,2,4567,0x1662e60,16,ThrowWasmTrapMemOutOfBounds | |
code-creation,Builtin,2,4570,0x1662e80,16,ThrowWasmTrapUnalignedAccess | |
code-creation,Builtin,2,4574,0x1662ea0,16,ThrowWasmTrapDivByZero | |
code-creation,Builtin,2,4576,0x1662ec0,16,ThrowWasmTrapDivUnrepresentable | |
code-creation,Builtin,2,4578,0x1662ee0,16,ThrowWasmTrapRemByZero | |
code-creation,Builtin,2,4581,0x1662f00,16,ThrowWasmTrapFloatUnrepresentable | |
code-creation,Builtin,2,4583,0x1662f20,16,ThrowWasmTrapFuncSigMismatch | |
code-creation,Builtin,2,4586,0x1662f40,16,ThrowWasmTrapDataSegmentDropped | |
code-creation,Builtin,2,4588,0x1662f60,16,ThrowWasmTrapElemSegmentDropped | |
code-creation,Builtin,2,4591,0x1662f80,16,ThrowWasmTrapTableOutOfBounds | |
code-creation,Builtin,2,4593,0x1662fa0,16,ThrowWasmTrapRethrowNull | |
code-creation,Builtin,2,4596,0x1662fc0,16,ThrowWasmTrapNullDereference | |
code-creation,Builtin,2,4598,0x1662fe0,16,ThrowWasmTrapIllegalCast | |
code-creation,Builtin,2,4600,0x1663000,16,ThrowWasmTrapArrayOutOfBounds | |
code-creation,Builtin,2,4602,0x1663020,16,ThrowWasmTrapArrayTooLarge | |
code-creation,Builtin,2,4604,0x1663040,172,LoadJoinElement_GenericElementsAccessor_0 | |
code-creation,Builtin,2,4607,0x1663100,24,LoadJoinTypedElement_Int32Elements_0 | |
code-creation,Builtin,2,4610,0x1663120,116,LoadJoinTypedElement_Float32Elements_0 | |
code-creation,Builtin,2,4612,0x16631a0,112,LoadJoinTypedElement_Float64Elements_0 | |
code-creation,Builtin,2,4614,0x1663220,24,LoadJoinTypedElement_Uint8ClampedElements_0 | |
code-creation,Builtin,2,4617,0x1663240,220,LoadJoinTypedElement_BigUint64Elements_0 | |
code-creation,Builtin,2,4620,0x1663320,248,LoadJoinTypedElement_BigInt64Elements_0 | |
code-creation,Builtin,2,4622,0x1663420,24,LoadJoinTypedElement_Uint8Elements_0 | |
code-creation,Builtin,2,4624,0x1663440,24,LoadJoinTypedElement_Int8Elements_0 | |
code-creation,Builtin,2,4627,0x1663460,24,LoadJoinTypedElement_Uint16Elements_0 | |
code-creation,Builtin,2,4628,0x1663480,24,LoadJoinTypedElement_Int16Elements_0 | |
code-creation,Builtin,2,4630,0x16634a0,132,LoadJoinTypedElement_Uint32Elements_0 | |
code-creation,Builtin,2,4633,0x1663540,8,GenericBuiltinTest_Smi_0 | |
code-creation,Builtin,2,4635,0x1663560,32,CanUseSameAccessor_FastDoubleElements_0 | |
code-creation,Builtin,2,4638,0x16635a0,32,CanUseSameAccessor_FastSmiElements_0 | |
code-creation,Builtin,2,4640,0x16635e0,32,CanUseSameAccessor_FastObjectElements_0 | |
code-creation,Builtin,2,4643,0x1663620,2668,Load_GenericElementsAccessor_0 | |
code-creation,Builtin,2,4645,0x16640a0,24,Store_GenericElementsAccessor_0 | |
code-creation,Builtin,2,4647,0x16640c0,36,Delete_GenericElementsAccessor_0 | |
code-creation,Builtin,2,4649,0x1664100,24,LoadTypedElement_Int32Elements_0 | |
code-creation,Builtin,2,4652,0x1664120,164,StoreTypedElementNumeric_Int32Elements_0 | |
code-creation,Builtin,2,4654,0x16641e0,180,StoreTypedElementJSAny_Int32Elements_0 | |
code-creation,Builtin,2,4657,0x16642a0,116,LoadTypedElement_Float32Elements_0 | |
code-creation,Builtin,2,4659,0x1664320,32,StoreTypedElementNumeric_Float32Elements_0 | |
code-creation,Builtin,2,4662,0x1664360,156,StoreTypedElementJSAny_Float32Elements_0 | |
code-creation,Builtin,2,4664,0x1664400,112,LoadTypedElement_Float64Elements_0 | |
code-creation,Builtin,2,4666,0x1664480,28,StoreTypedElementNumeric_Float64Elements_0 | |
code-creation,Builtin,2,4669,0x16644a0,152,StoreTypedElementJSAny_Float64Elements_0 | |
code-creation,Builtin,2,4671,0x1664540,24,LoadTypedElement_Uint8ClampedElements_0 | |
code-creation,Builtin,2,4673,0x1664560,24,StoreTypedElementNumeric_Uint8ClampedElements_0 | |
code-creation,Builtin,2,4676,0x1664580,620,StoreTypedElementJSAny_Uint8ClampedElements_0 | |
code-creation,Builtin,2,4678,0x1664800,220,LoadTypedElement_BigUint64Elements_0 | |
code-creation,Builtin,2,4680,0x16648e0,56,StoreTypedElementNumeric_BigUint64Elements_0 | |
code-creation,Builtin,2,4683,0x1664920,200,StoreTypedElementJSAny_BigUint64Elements_0 | |
code-creation,Builtin,2,4685,0x1664a00,248,LoadTypedElement_BigInt64Elements_0 | |
code-creation,Builtin,2,4687,0x1664b00,56,StoreTypedElementNumeric_BigInt64Elements_0 | |
code-creation,Builtin,2,4690,0x1664b40,200,StoreTypedElementJSAny_BigInt64Elements_0 | |
code-creation,Builtin,2,4692,0x1664c20,24,LoadTypedElement_Uint8Elements_0 | |
code-creation,Builtin,2,4694,0x1664c40,24,StoreTypedElementNumeric_Uint8Elements_0 | |
code-creation,Builtin,2,4697,0x1664c60,180,StoreTypedElementJSAny_Uint8Elements_0 | |
code-creation,Builtin,2,4700,0x1664d20,24,LoadTypedElement_Int8Elements_0 | |
code-creation,Builtin,2,4702,0x1664d40,24,StoreTypedElementNumeric_Int8Elements_0 | |
code-creation,Builtin,2,4705,0x1664d60,180,StoreTypedElementJSAny_Int8Elements_0 | |
code-creation,Builtin,2,4708,0x1664e20,24,LoadTypedElement_Uint16Elements_0 | |
code-creation,Builtin,2,4710,0x1664e40,24,StoreTypedElementNumeric_Uint16Elements_0 | |
code-creation,Builtin,2,4712,0x1664e60,180,StoreTypedElementJSAny_Uint16Elements_0 | |
code-creation,Builtin,2,4714,0x1664f20,24,LoadTypedElement_Int16Elements_0 | |
code-creation,Builtin,2,4717,0x1664f40,24,StoreTypedElementNumeric_Int16Elements_0 | |
code-creation,Builtin,2,4719,0x1664f60,180,StoreTypedElementJSAny_Int16Elements_0 | |
code-creation,Builtin,2,4722,0x1665020,132,LoadTypedElement_Uint32Elements_0 | |
code-creation,Builtin,2,4724,0x16650c0,164,StoreTypedElementNumeric_Uint32Elements_0 | |
code-creation,Builtin,2,4726,0x1665180,180,StoreTypedElementJSAny_Uint32Elements_0 | |
code-creation,Builtin,2,4728,0x1665240,12,CollatorConstructor | |
code-creation,Builtin,2,4731,0x1665260,12,CollatorInternalCompare | |
code-creation,Builtin,2,4733,0x1665280,12,CollatorPrototypeCompare | |
code-creation,Builtin,2,4735,0x16652a0,12,CollatorSupportedLocalesOf | |
code-creation,Builtin,2,4737,0x16652c0,12,CollatorPrototypeResolvedOptions | |
code-creation,Builtin,2,4739,0x16652e0,12,DatePrototypeToLocaleDateString | |
code-creation,Builtin,2,4743,0x1665300,12,DatePrototypeToLocaleString | |
code-creation,Builtin,2,4745,0x1665320,12,DatePrototypeToLocaleTimeString | |
code-creation,Builtin,2,4747,0x1665340,12,DateTimeFormatConstructor | |
code-creation,Builtin,2,4750,0x1665360,12,DateTimeFormatInternalFormat | |
code-creation,Builtin,2,4752,0x1665380,12,DateTimeFormatPrototypeFormat | |
code-creation,Builtin,2,4754,0x16653a0,12,DateTimeFormatPrototypeFormatRange | |
code-creation,Builtin,2,4757,0x16653c0,12,DateTimeFormatPrototypeFormatRangeToParts | |
code-creation,Builtin,2,4759,0x16653e0,12,DateTimeFormatPrototypeFormatToParts | |
code-creation,Builtin,2,4761,0x1665400,12,DateTimeFormatPrototypeResolvedOptions | |
code-creation,Builtin,2,4764,0x1665420,12,DateTimeFormatSupportedLocalesOf | |
code-creation,Builtin,2,4766,0x1665440,12,DisplayNamesConstructor | |
code-creation,Builtin,2,4768,0x1665460,12,DisplayNamesPrototypeOf | |
code-creation,Builtin,2,4770,0x1665480,12,DisplayNamesPrototypeResolvedOptions | |
code-creation,Builtin,2,4773,0x16654a0,12,DisplayNamesSupportedLocalesOf | |
code-creation,Builtin,2,4775,0x16654c0,12,IntlGetCanonicalLocales | |
code-creation,Builtin,2,4777,0x16654e0,12,ListFormatConstructor | |
code-creation,Builtin,2,4779,0x1665500,224,ListFormatPrototypeFormat | |
code-creation,Builtin,2,4782,0x1665600,224,ListFormatPrototypeFormatToParts | |
code-creation,Builtin,2,4784,0x1665700,12,ListFormatPrototypeResolvedOptions | |
code-creation,Builtin,2,4786,0x1665720,12,ListFormatSupportedLocalesOf | |
code-creation,Builtin,2,4788,0x1665740,12,LocaleConstructor | |
code-creation,Builtin,2,4790,0x1665760,12,LocalePrototypeBaseName | |
code-creation,Builtin,2,4792,0x1665780,12,LocalePrototypeCalendar | |
code-creation,Builtin,2,4795,0x16657a0,12,LocalePrototypeCalendars | |
code-creation,Builtin,2,4797,0x16657c0,12,LocalePrototypeCaseFirst | |
code-creation,Builtin,2,4799,0x16657e0,12,LocalePrototypeCollation | |
code-creation,Builtin,2,4802,0x1665800,12,LocalePrototypeCollations | |
code-creation,Builtin,2,4804,0x1665820,12,LocalePrototypeHourCycle | |
code-creation,Builtin,2,4806,0x1665840,12,LocalePrototypeHourCycles | |
code-creation,Builtin,2,4809,0x1665860,12,LocalePrototypeLanguage | |
code-creation,Builtin,2,4811,0x1665880,12,LocalePrototypeMaximize | |
code-creation,Builtin,2,4813,0x16658a0,12,LocalePrototypeMinimize | |
code-creation,Builtin,2,4815,0x16658c0,12,LocalePrototypeNumeric | |
code-creation,Builtin,2,4818,0x16658e0,12,LocalePrototypeNumberingSystem | |
code-creation,Builtin,2,4820,0x1665900,12,LocalePrototypeNumberingSystems | |
code-creation,Builtin,2,4822,0x1665920,12,LocalePrototypeRegion | |
code-creation,Builtin,2,4824,0x1665940,12,LocalePrototypeScript | |
code-creation,Builtin,2,4826,0x1665960,12,LocalePrototypeTextInfo | |
code-creation,Builtin,2,4830,0x1665980,12,LocalePrototypeTimeZones | |
code-creation,Builtin,2,4832,0x16659a0,12,LocalePrototypeToString | |
code-creation,Builtin,2,4835,0x16659c0,12,LocalePrototypeWeekInfo | |
code-creation,Builtin,2,4837,0x16659e0,12,NumberFormatConstructor | |
code-creation,Builtin,2,4839,0x1665a00,12,NumberFormatInternalFormatNumber | |
code-creation,Builtin,2,4841,0x1665a20,12,NumberFormatPrototypeFormatNumber | |
code-creation,Builtin,2,4843,0x1665a40,12,NumberFormatPrototypeFormatToParts | |
code-creation,Builtin,2,4845,0x1665a60,12,NumberFormatPrototypeResolvedOptions | |
code-creation,Builtin,2,4847,0x1665a80,12,NumberFormatSupportedLocalesOf | |
code-creation,Builtin,2,4849,0x1665aa0,12,PluralRulesConstructor | |
code-creation,Builtin,2,4852,0x1665ac0,12,PluralRulesPrototypeResolvedOptions | |
code-creation,Builtin,2,4854,0x1665ae0,12,PluralRulesPrototypeSelect | |
code-creation,Builtin,2,4856,0x1665b00,12,PluralRulesSupportedLocalesOf | |
code-creation,Builtin,2,4859,0x1665b20,12,RelativeTimeFormatConstructor | |
code-creation,Builtin,2,4861,0x1665b40,12,RelativeTimeFormatPrototypeFormat | |
code-creation,Builtin,2,4863,0x1665b60,12,RelativeTimeFormatPrototypeFormatToParts | |
code-creation,Builtin,2,4866,0x1665b80,12,RelativeTimeFormatPrototypeResolvedOptions | |
code-creation,Builtin,2,4868,0x1665ba0,12,RelativeTimeFormatSupportedLocalesOf | |
code-creation,Builtin,2,4870,0x1665bc0,12,SegmenterConstructor | |
code-creation,Builtin,2,4872,0x1665be0,12,SegmenterPrototypeResolvedOptions | |
code-creation,Builtin,2,4875,0x1665c00,12,SegmenterPrototypeSegment | |
code-creation,Builtin,2,4877,0x1665c20,12,SegmenterSupportedLocalesOf | |
code-creation,Builtin,2,4879,0x1665c40,12,SegmentIteratorPrototypeNext | |
code-creation,Builtin,2,4881,0x1665c60,12,SegmentsPrototypeContaining | |
code-creation,Builtin,2,4883,0x1665c80,12,SegmentsPrototypeIterator | |
code-creation,Builtin,2,4885,0x1665ca0,12,StringPrototypeNormalizeIntl | |
code-creation,Builtin,2,4888,0x1665cc0,12,StringPrototypeToLocaleLowerCase | |
code-creation,Builtin,2,4890,0x1665ce0,12,StringPrototypeToLocaleUpperCase | |
code-creation,Builtin,2,4892,0x1665d00,200,StringPrototypeToLowerCaseIntl | |
code-creation,Builtin,2,4895,0x1665de0,12,StringPrototypeToUpperCaseIntl | |
code-creation,Builtin,2,4897,0x1665e00,632,StringToLowerCaseIntl | |
code-creation,Builtin,2,4898,0x1666080,12,V8BreakIteratorConstructor | |
code-creation,Builtin,2,4901,0x16660a0,12,V8BreakIteratorInternalAdoptText | |
code-creation,Builtin,2,4903,0x16660c0,12,V8BreakIteratorInternalBreakType | |
code-creation,Builtin,2,4905,0x16660e0,12,V8BreakIteratorInternalCurrent | |
code-creation,Builtin,2,4907,0x1666100,12,V8BreakIteratorInternalFirst | |
code-creation,Builtin,2,4909,0x1666120,12,V8BreakIteratorInternalNext | |
code-creation,Builtin,2,4911,0x1666140,12,V8BreakIteratorPrototypeAdoptText | |
code-creation,Builtin,2,4913,0x1666160,12,V8BreakIteratorPrototypeBreakType | |
code-creation,Builtin,2,4915,0x1666180,12,V8BreakIteratorPrototypeCurrent | |
code-creation,Builtin,2,4917,0x16661a0,12,V8BreakIteratorPrototypeFirst | |
code-creation,Builtin,2,4920,0x16661c0,12,V8BreakIteratorPrototypeNext | |
code-creation,Builtin,2,4922,0x16661e0,12,V8BreakIteratorPrototypeResolvedOptions | |
code-creation,Builtin,2,4924,0x1666200,12,V8BreakIteratorSupportedLocalesOf | |
code-creation,BytecodeHandler,0,4927,0x1666220,24,Wide | |
code-creation,BytecodeHandler,0,4929,0x1666240,24,ExtraWide | |
code-creation,BytecodeHandler,0,4931,0x1666260,104,DebugBreakWide | |
code-creation,BytecodeHandler,0,4934,0x16662e0,104,DebugBreakExtraWide | |
code-creation,BytecodeHandler,0,4936,0x1666360,164,DebugBreak0 | |
code-creation,BytecodeHandler,0,4939,0x1666420,104,DebugBreak1 | |
code-creation,BytecodeHandler,0,4941,0x16664a0,104,DebugBreak2 | |
code-creation,BytecodeHandler,0,4943,0x1666520,104,DebugBreak3 | |
code-creation,BytecodeHandler,0,4945,0x16665a0,104,DebugBreak4 | |
code-creation,BytecodeHandler,0,4947,0x1666620,104,DebugBreak5 | |
code-creation,BytecodeHandler,0,4949,0x16666a0,104,DebugBreak6 | |
code-creation,BytecodeHandler,0,4951,0x1666720,32,Ldar | |
code-creation,BytecodeHandler,0,4953,0x1666760,68,LdaZero | |
code-creation,BytecodeHandler,0,4955,0x16667c0,76,LdaSmi | |
code-creation,BytecodeHandler,0,4957,0x1666820,68,LdaUndefined | |
code-creation,BytecodeHandler,0,4960,0x1666880,68,LdaNull | |
code-creation,BytecodeHandler,0,4962,0x16668e0,68,LdaTheHole | |
code-creation,BytecodeHandler,0,4964,0x1666940,20,LdaTrue | |
code-creation,BytecodeHandler,0,4966,0x1666960,20,LdaFalse | |
code-creation,BytecodeHandler,0,4968,0x1666980,76,LdaConstant | |
code-creation,BytecodeHandler,0,4970,0x16669e0,132,LdaContextSlot | |
code-creation,BytecodeHandler,0,4973,0x1666a80,132,LdaImmutableContextSlot | |
code-creation,BytecodeHandler,0,4975,0x1666b20,88,LdaCurrentContextSlot | |
code-creation,BytecodeHandler,0,4977,0x1666b80,88,LdaImmutableCurrentContextSlot | |
code-creation,BytecodeHandler,0,4979,0x1666be0,32,Star | |
code-creation,BytecodeHandler,0,4981,0x1666c20,40,Mov | |
code-creation,BytecodeHandler,0,4984,0x1666c60,40,PushContext | |
code-creation,BytecodeHandler,0,4985,0x1666ca0,36,PopContext | |
code-creation,BytecodeHandler,0,4988,0x1666ce0,48,TestReferenceEqual | |
code-creation,BytecodeHandler,0,4990,0x1666d20,52,TestUndetectable | |
code-creation,BytecodeHandler,0,4992,0x1666d60,36,TestNull | |
code-creation,BytecodeHandler,0,4994,0x1666da0,36,TestUndefined | |
code-creation,BytecodeHandler,0,4996,0x1666de0,336,TestTypeOf | |
code-creation,BytecodeHandler,0,4998,0x1666f40,6036,LdaGlobal | |
code-creation,BytecodeHandler,0,5001,0x16686e0,4536,LdaGlobalInsideTypeof | |
code-creation,BytecodeHandler,0,5003,0x16698a0,168,StaGlobal | |
code-creation,BytecodeHandler,0,5006,0x1669960,156,StaContextSlot | |
code-creation,BytecodeHandler,0,5007,0x1669a00,112,StaCurrentContextSlot | |
code-creation,BytecodeHandler,0,5010,0x1669a80,124,LdaLookupSlot | |
code-creation,BytecodeHandler,0,5012,0x1669b00,240,LdaLookupContextSlot | |
code-creation,BytecodeHandler,0,5015,0x1669c00,4776,LdaLookupGlobalSlot | |
code-creation,BytecodeHandler,0,5017,0x166aec0,124,LdaLookupSlotInsideTypeof | |
code-creation,BytecodeHandler,0,5019,0x166af40,240,LdaLookupContextSlotInsideTypeof | |
code-creation,BytecodeHandler,0,5021,0x166b040,4740,LdaLookupGlobalSlotInsideTypeof | |
code-creation,BytecodeHandler,0,5024,0x166c2e0,220,StaLookupSlot | |
code-creation,BytecodeHandler,0,5027,0x166c3c0,5216,LdaNamedProperty | |
code-creation,BytecodeHandler,0,5029,0x166d840,180,LdaNamedPropertyFromSuper | |
code-creation,BytecodeHandler,0,5031,0x166d900,212,LdaKeyedProperty | |
code-creation,BytecodeHandler,0,5033,0x166d9e0,160,LdaModuleVariable | |
code-creation,BytecodeHandler,0,5035,0x166daa0,292,StaModuleVariable | |
code-creation,BytecodeHandler,0,5038,0x166dbe0,172,StaNamedProperty | |
code-creation,BytecodeHandler,0,5040,0x166dca0,172,StaNamedOwnProperty | |
code-creation,BytecodeHandler,0,5042,0x166dd60,164,StaKeyedProperty | |
code-creation,BytecodeHandler,0,5044,0x166de20,164,StaInArrayLiteral | |
code-creation,BytecodeHandler,0,5046,0x166dee0,196,StaDataPropertyInLiteral | |
code-creation,BytecodeHandler,0,5049,0x166dfc0,160,CollectTypeProfile | |
code-creation,BytecodeHandler,0,5051,0x166e080,1028,Add | |
code-creation,BytecodeHandler,0,5052,0x166e4a0,1064,Sub | |
code-creation,BytecodeHandler,0,5054,0x166e8e0,1024,Mul | |
code-creation,BytecodeHandler,0,5056,0x166ed00,988,Div | |
code-creation,BytecodeHandler,0,5058,0x166f0e0,912,Mod | |
code-creation,BytecodeHandler,0,5060,0x166f480,960,Exp | |
code-creation,BytecodeHandler,0,5062,0x166f860,876,BitwiseOr | |
code-creation,BytecodeHandler,0,5064,0x166fbe0,888,BitwiseXor | |
code-creation,BytecodeHandler,0,5067,0x166ff60,888,BitwiseAnd | |
code-creation,BytecodeHandler,0,5069,0x16702e0,900,ShiftLeft | |
code-creation,BytecodeHandler,0,5071,0x1670680,900,ShiftRight | |
code-creation,BytecodeHandler,0,5073,0x1670a20,1020,ShiftRightLogical | |
code-creation,BytecodeHandler,0,5075,0x1670e20,960,AddSmi | |
code-creation,BytecodeHandler,0,5077,0x1671200,1000,SubSmi | |
code-creation,BytecodeHandler,0,5079,0x1671600,916,MulSmi | |
code-creation,BytecodeHandler,0,5080,0x16719a0,920,DivSmi | |
code-creation,BytecodeHandler,0,5082,0x1671d40,816,ModSmi | |
code-creation,BytecodeHandler,0,5085,0x1672080,868,ExpSmi | |
code-creation,BytecodeHandler,0,5087,0x1672400,488,BitwiseOrSmi | |
code-creation,BytecodeHandler,0,5090,0x1672600,488,BitwiseXorSmi | |
code-creation,BytecodeHandler,0,5092,0x1672800,488,BitwiseAndSmi | |
code-creation,BytecodeHandler,0,5094,0x1672a00,488,ShiftLeftSmi | |
code-creation,BytecodeHandler,0,5098,0x1672c00,488,ShiftRightSmi | |
code-creation,BytecodeHandler,0,5100,0x1672e00,640,ShiftRightLogicalSmi | |
code-creation,BytecodeHandler,0,5102,0x16730a0,656,Inc | |
code-creation,BytecodeHandler,0,5105,0x1673340,656,Dec | |
code-creation,BytecodeHandler,0,5106,0x16735e0,640,Negate | |
code-creation,BytecodeHandler,0,5109,0x1673880,480,BitwiseNot | |
code-creation,BytecodeHandler,0,5111,0x1673a80,108,ToBooleanLogicalNot | |
code-creation,BytecodeHandler,0,5113,0x1673b00,36,LogicalNot | |
code-creation,BytecodeHandler,0,5116,0x1673b40,208,TypeOf | |
code-creation,BytecodeHandler,0,5118,0x1673c20,120,DeletePropertyStrict | |
code-creation,BytecodeHandler,0,5120,0x1673ca0,112,DeletePropertySloppy | |
code-creation,BytecodeHandler,0,5123,0x1673d20,40,GetSuperConstructor | |
code-creation,BytecodeHandler,0,5125,0x1673d60,1120,CallAnyReceiver | |
code-creation,BytecodeHandler,0,5127,0x16741e0,1120,CallProperty | |
code-creation,BytecodeHandler,0,5129,0x1674660,1008,CallProperty0 | |
code-creation,BytecodeHandler,0,5132,0x1674a60,1024,CallProperty1 | |
code-creation,BytecodeHandler,0,5134,0x1674e80,1036,CallProperty2 | |
code-creation,BytecodeHandler,0,5136,0x16752a0,1000,CallUndefinedReceiver | |
code-creation,BytecodeHandler,0,5139,0x16756a0,1040,CallUndefinedReceiver0 | |
code-creation,BytecodeHandler,0,5141,0x1675ac0,1016,CallUndefinedReceiver1 | |
code-creation,BytecodeHandler,0,5143,0x1675ec0,1032,CallUndefinedReceiver2 | |
code-creation,BytecodeHandler,0,5146,0x16762e0,1120,CallWithSpread | |
code-creation,BytecodeHandler,0,5148,0x1676760,124,CallRuntime | |
code-creation,BytecodeHandler,0,5150,0x16767e0,156,CallRuntimeForPair | |
code-creation,BytecodeHandler,0,5152,0x1676880,80,CallJSRuntime | |
code-creation,BytecodeHandler,0,5154,0x16768e0,1236,InvokeIntrinsic | |
code-creation,BytecodeHandler,0,5156,0x1676dc0,1016,Construct | |
code-creation,BytecodeHandler,0,5158,0x16771c0,536,ConstructWithSpread | |
code-creation,BytecodeHandler,0,5161,0x16773e0,1936,TestEqual | |
code-creation,BytecodeHandler,0,5163,0x1677b80,1064,TestEqualStrict | |
code-creation,BytecodeHandler,0,5165,0x1677fc0,1624,TestLessThan | |
code-creation,BytecodeHandler,0,5167,0x1678620,1624,TestGreaterThan | |
code-creation,BytecodeHandler,0,5168,0x1678c80,1624,TestLessThanOrEqual | |
code-creation,BytecodeHandler,0,5170,0x16792e0,1624,TestGreaterThanOrEqual | |
code-creation,BytecodeHandler,0,5173,0x1679940,856,TestInstanceOf | |
code-creation,BytecodeHandler,0,5175,0x1679ca0,156,TestIn | |
code-creation,BytecodeHandler,0,5177,0x1679d40,112,ToName | |
code-creation,BytecodeHandler,0,5179,0x1679dc0,212,ToNumber | |
code-creation,BytecodeHandler,0,5181,0x1679ea0,232,ToNumeric | |
code-creation,BytecodeHandler,0,5184,0x1679fa0,112,ToObject | |
code-creation,BytecodeHandler,0,5186,0x167a020,116,ToString | |
code-creation,BytecodeHandler,0,5188,0x167a0a0,400,CreateRegExpLiteral | |
code-creation,BytecodeHandler,0,5191,0x167a240,1460,CreateArrayLiteral | |
code-creation,BytecodeHandler,0,5193,0x167a800,92,CreateArrayFromIterable | |
code-creation,BytecodeHandler,0,5195,0x167a860,792,CreateEmptyArrayLiteral | |
code-creation,BytecodeHandler,0,5198,0x167ab80,2160,CreateObjectLiteral | |
code-creation,BytecodeHandler,0,5200,0x167b400,224,CreateEmptyObjectLiteral | |
code-creation,BytecodeHandler,0,5202,0x167b500,168,CloneObject | |
code-creation,BytecodeHandler,0,5205,0x167b5c0,212,GetTemplateObject | |
code-creation,BytecodeHandler,0,5207,0x167b6a0,328,CreateClosure | |
code-creation,BytecodeHandler,0,5210,0x167b800,120,CreateBlockContext | |
code-creation,BytecodeHandler,0,5212,0x167b880,132,CreateCatchContext | |
code-creation,BytecodeHandler,0,5214,0x167b920,256,CreateFunctionContext | |
code-creation,BytecodeHandler,0,5216,0x167ba40,256,CreateEvalContext | |
code-creation,BytecodeHandler,0,5218,0x167bb60,132,CreateWithContext | |
code-creation,BytecodeHandler,0,5220,0x167bc00,1568,CreateMappedArguments | |
code-creation,BytecodeHandler,0,5222,0x167c240,592,CreateUnmappedArguments | |
code-creation,BytecodeHandler,0,5224,0x167c4a0,632,CreateRestParameter | |
code-creation,BytecodeHandler,0,5226,0x167c720,424,JumpLoop | |
code-creation,BytecodeHandler,0,5228,0x167c8e0,44,Jump | |
code-creation,BytecodeHandler,0,5230,0x167c920,56,JumpConstant | |
code-creation,BytecodeHandler,0,5233,0x167c960,80,JumpIfNullConstant | |
code-creation,BytecodeHandler,0,5236,0x167c9c0,80,JumpIfNotNullConstant | |
code-creation,BytecodeHandler,0,5238,0x167ca20,80,JumpIfUndefinedConstant | |
code-creation,BytecodeHandler,0,5240,0x167ca80,80,JumpIfNotUndefinedConstant | |
code-creation,BytecodeHandler,0,5243,0x167cae0,84,JumpIfUndefinedOrNullConstant | |
code-creation,BytecodeHandler,0,5245,0x167cb40,80,JumpIfTrueConstant | |
code-creation,BytecodeHandler,0,5248,0x167cba0,80,JumpIfFalseConstant | |
code-creation,BytecodeHandler,0,5250,0x167cc00,88,JumpIfJSReceiverConstant | |
code-creation,BytecodeHandler,0,5252,0x167cc60,152,JumpIfToBooleanTrueConstant | |
code-creation,BytecodeHandler,0,5254,0x167cd00,152,JumpIfToBooleanFalseConstant | |
code-creation,BytecodeHandler,0,5257,0x167cda0,136,JumpIfToBooleanTrue | |
code-creation,BytecodeHandler,0,5259,0x167ce40,136,JumpIfToBooleanFalse | |
code-creation,BytecodeHandler,0,5261,0x167cee0,64,JumpIfTrue | |
code-creation,BytecodeHandler,0,5264,0x167cf40,64,JumpIfFalse | |
code-creation,BytecodeHandler,0,5266,0x167cfa0,64,JumpIfNull | |
code-creation,BytecodeHandler,0,5268,0x167d000,64,JumpIfNotNull | |
code-creation,BytecodeHandler,0,5270,0x167d060,64,JumpIfUndefined | |
code-creation,BytecodeHandler,0,5272,0x167d0c0,64,JumpIfNotUndefined | |
code-creation,BytecodeHandler,0,5274,0x167d120,72,JumpIfUndefinedOrNull | |
code-creation,BytecodeHandler,0,5277,0x167d180,76,JumpIfJSReceiver | |
code-creation,BytecodeHandler,0,5279,0x167d1e0,108,SwitchOnSmiNoFeedback | |
code-creation,BytecodeHandler,0,5281,0x167d260,464,ForInEnumerate | |
code-creation,BytecodeHandler,0,5283,0x167d440,252,ForInPrepare | |
code-creation,BytecodeHandler,0,5286,0x167d540,60,ForInContinue | |
code-creation,BytecodeHandler,0,5288,0x167d580,256,ForInNext | |
code-creation,BytecodeHandler,0,5290,0x167d6a0,48,ForInStep | |
code-creation,BytecodeHandler,0,5292,0x167d6e0,36,SetPendingMessage | |
code-creation,BytecodeHandler,0,5295,0x167d720,116,Throw | |
code-creation,BytecodeHandler,0,5297,0x167d7a0,116,ReThrow | |
code-creation,BytecodeHandler,0,5300,0x167d820,112,Return | |
code-creation,BytecodeHandler,0,5302,0x167d8a0,196,ThrowReferenceErrorIfHole | |
code-creation,BytecodeHandler,0,5304,0x167d980,132,ThrowSuperNotCalledIfHole | |
code-creation,BytecodeHandler,0,5307,0x167da20,132,ThrowSuperAlreadyCalledIfNotHole | |
code-creation,BytecodeHandler,0,5309,0x167dac0,156,ThrowIfNotSuperConstructor | |
code-creation,BytecodeHandler,0,5311,0x167db60,120,SwitchOnGeneratorState | |
code-creation,BytecodeHandler,0,5314,0x167dbe0,500,SuspendGenerator | |
code-creation,BytecodeHandler,0,5317,0x167dde0,128,ResumeGenerator | |
code-creation,BytecodeHandler,0,5318,0x167de80,152,GetIterator | |
code-creation,BytecodeHandler,0,5321,0x167df20,116,Debugger | |
code-creation,BytecodeHandler,0,5323,0x167dfa0,124,IncBlockCounter | |
code-creation,BytecodeHandler,0,5325,0x167e020,56,Abort | |
code-creation,BytecodeHandler,0,5327,0x167e060,32,Star0 | |
code-creation,BytecodeHandler,0,5329,0x167e0a0,60,Illegal | |
code-creation,BytecodeHandler,0,5332,0x167e0e0,108,DebugBreak1.Wide | |
code-creation,BytecodeHandler,0,5334,0x167e160,108,DebugBreak2.Wide | |
code-creation,BytecodeHandler,0,5336,0x167e1e0,108,DebugBreak3.Wide | |
code-creation,BytecodeHandler,0,5338,0x167e260,108,DebugBreak4.Wide | |
code-creation,BytecodeHandler,0,5340,0x167e2e0,108,DebugBreak5.Wide | |
code-creation,BytecodeHandler,0,5343,0x167e360,108,DebugBreak6.Wide | |
code-creation,BytecodeHandler,0,5345,0x167e3e0,32,Ldar.Wide | |
code-creation,BytecodeHandler,0,5348,0x167e420,32,LdaSmi.Wide | |
code-creation,BytecodeHandler,0,5350,0x167e460,32,LdaConstant.Wide | |
code-creation,BytecodeHandler,0,5353,0x167e4a0,92,LdaContextSlot.Wide | |
code-creation,BytecodeHandler,0,5355,0x167e500,92,LdaImmutableContextSlot.Wide | |
code-creation,BytecodeHandler,0,5358,0x167e560,48,LdaCurrentContextSlot.Wide | |
code-creation,BytecodeHandler,0,5360,0x167e5a0,48,LdaImmutableCurrentContextSlot.Wide | |
code-creation,BytecodeHandler,0,5363,0x167e5e0,32,Star.Wide | |
code-creation,BytecodeHandler,0,5365,0x167e620,40,Mov.Wide | |
code-creation,BytecodeHandler,0,5367,0x167e660,40,PushContext.Wide | |
code-creation,BytecodeHandler,0,5369,0x167e6a0,36,PopContext.Wide | |
code-creation,BytecodeHandler,0,5373,0x167e6e0,48,TestReferenceEqual.Wide | |
code-creation,BytecodeHandler,0,5376,0x167e720,4668,LdaGlobal.Wide | |
code-creation,BytecodeHandler,0,5378,0x167f960,4604,LdaGlobalInsideTypeof.Wide | |
code-creation,BytecodeHandler,0,5380,0x1680b60,172,StaGlobal.Wide | |
code-creation,BytecodeHandler,0,5383,0x1680c20,156,StaContextSlot.Wide | |
code-creation,BytecodeHandler,0,5385,0x1680cc0,112,StaCurrentContextSlot.Wide | |
code-creation,BytecodeHandler,0,5387,0x1680d40,128,LdaLookupSlot.Wide | |
code-creation,BytecodeHandler,0,5390,0x1680de0,244,LdaLookupContextSlot.Wide | |
code-creation,BytecodeHandler,0,5392,0x1680ee0,4852,LdaLookupGlobalSlot.Wide | |
code-creation,BytecodeHandler,0,5395,0x16821e0,128,LdaLookupSlotInsideTypeof.Wide | |
code-creation,BytecodeHandler,0,5397,0x1682280,244,LdaLookupContextSlotInsideTypeof.Wide | |
code-creation,BytecodeHandler,0,5400,0x1682380,4812,LdaLookupGlobalSlotInsideTypeof.Wide | |
code-creation,BytecodeHandler,0,5402,0x1683660,220,StaLookupSlot.Wide | |
code-creation,BytecodeHandler,0,5404,0x1683740,5216,LdaNamedProperty.Wide | |
code-creation,BytecodeHandler,0,5407,0x1684bc0,188,LdaNamedPropertyFromSuper.Wide | |
code-creation,BytecodeHandler,0,5409,0x1684c80,160,LdaKeyedProperty.Wide | |
code-creation,BytecodeHandler,0,5411,0x1684d40,160,LdaModuleVariable.Wide | |
code-creation,BytecodeHandler,0,5414,0x1684e00,296,StaModuleVariable.Wide | |
code-creation,BytecodeHandler,0,5416,0x1684f40,176,StaNamedProperty.Wide | |
code-creation,BytecodeHandler,0,5418,0x1685000,176,StaNamedOwnProperty.Wide | |
code-creation,BytecodeHandler,0,5420,0x16850c0,168,StaKeyedProperty.Wide | |
code-creation,BytecodeHandler,0,5422,0x1685180,168,StaInArrayLiteral.Wide | |
code-creation,BytecodeHandler,0,5425,0x1685240,200,StaDataPropertyInLiteral.Wide | |
code-creation,BytecodeHandler,0,5427,0x1685320,164,CollectTypeProfile.Wide | |
code-creation,BytecodeHandler,0,5430,0x16853e0,984,Add.Wide | |
code-creation,BytecodeHandler,0,5431,0x16857c0,1020,Sub.Wide | |
code-creation,BytecodeHandler,0,5433,0x1685bc0,972,Mul.Wide | |
code-creation,BytecodeHandler,0,5436,0x1685fa0,988,Div.Wide | |
code-creation,BytecodeHandler,0,5438,0x1686380,916,Mod.Wide | |
code-creation,BytecodeHandler,0,5441,0x1686720,984,Exp.Wide | |
code-creation,BytecodeHandler,0,5443,0x1686b00,904,BitwiseOr.Wide | |
code-creation,BytecodeHandler,0,5445,0x1686ea0,920,BitwiseXor.Wide | |
code-creation,BytecodeHandler,0,5447,0x1687240,920,BitwiseAnd.Wide | |
code-creation,BytecodeHandler,0,5450,0x16875e0,932,ShiftLeft.Wide | |
code-creation,BytecodeHandler,0,5452,0x16879a0,932,ShiftRight.Wide | |
code-creation,BytecodeHandler,0,5454,0x1687d60,1052,ShiftRightLogical.Wide | |
code-creation,BytecodeHandler,0,5457,0x1688180,916,AddSmi.Wide | |
code-creation,BytecodeHandler,0,5458,0x1688520,960,SubSmi.Wide | |
code-creation,BytecodeHandler,0,5461,0x1688900,912,MulSmi.Wide | |
code-creation,BytecodeHandler,0,5463,0x1688ca0,920,DivSmi.Wide | |
code-creation,BytecodeHandler,0,5465,0x1689040,816,ModSmi.Wide | |
code-creation,BytecodeHandler,0,5468,0x1689380,868,ExpSmi.Wide | |
code-creation,BytecodeHandler,0,5470,0x1689700,496,BitwiseOrSmi.Wide | |
code-creation,BytecodeHandler,0,5472,0x1689900,496,BitwiseXorSmi.Wide | |
code-creation,BytecodeHandler,0,5474,0x1689b00,496,BitwiseAndSmi.Wide | |
code-creation,BytecodeHandler,0,5477,0x1689d00,496,ShiftLeftSmi.Wide | |
code-creation,BytecodeHandler,0,5479,0x1689f00,496,ShiftRightSmi.Wide | |
code-creation,BytecodeHandler,0,5481,0x168a100,648,ShiftRightLogicalSmi.Wide | |
code-creation,BytecodeHandler,0,5483,0x168a3a0,616,Inc.Wide | |
code-creation,BytecodeHandler,0,5485,0x168a620,616,Dec.Wide | |
code-creation,BytecodeHandler,0,5487,0x168a8a0,648,Negate.Wide | |
code-creation,BytecodeHandler,0,5489,0x168ab40,492,BitwiseNot.Wide | |
code-creation,BytecodeHandler,0,5492,0x168ad40,124,DeletePropertyStrict.Wide | |
code-creation,BytecodeHandler,0,5495,0x168adc0,116,DeletePropertySloppy.Wide | |
code-creation,BytecodeHandler,0,5497,0x168ae40,40,GetSuperConstructor.Wide | |
code-creation,BytecodeHandler,0,5499,0x168ae80,1124,CallAnyReceiver.Wide | |
code-creation,BytecodeHandler,0,5501,0x168b300,1124,CallProperty.Wide | |
code-creation,BytecodeHandler,0,5504,0x168b780,1012,CallProperty0.Wide | |
code-creation,BytecodeHandler,0,5507,0x168bb80,1024,CallProperty1.Wide | |
code-creation,BytecodeHandler,0,5510,0x168bfa0,1036,CallProperty2.Wide | |
code-creation,BytecodeHandler,0,5515,0x168c3c0,1004,CallUndefinedReceiver.Wide | |
code-creation,BytecodeHandler,0,5518,0x168c7c0,1044,CallUndefinedReceiver0.Wide | |
code-creation,BytecodeHandler,0,5521,0x168cbe0,1020,CallUndefinedReceiver1.Wide | |
code-creation,BytecodeHandler,0,5524,0x168cfe0,1036,CallUndefinedReceiver2.Wide | |
code-creation,BytecodeHandler,0,5526,0x168d400,1124,CallWithSpread.Wide | |
code-creation,BytecodeHandler,0,5529,0x168d880,128,CallRuntime.Wide | |
tick,0xd7d49b,5532,0,0x0,6 | |
code-creation,BytecodeHandler,0,5539,0x168d920,168,CallRuntimeForPair.Wide | |
code-creation,BytecodeHandler,0,5542,0x168d9e0,84,CallJSRuntime.Wide | |
code-creation,BytecodeHandler,0,5544,0x168da40,1240,InvokeIntrinsic.Wide | |
code-creation,BytecodeHandler,0,5546,0x168df20,960,Construct.Wide | |
code-creation,BytecodeHandler,0,5548,0x168e300,472,ConstructWithSpread.Wide | |
code-creation,BytecodeHandler,0,5550,0x168e4e0,1964,TestEqual.Wide | |
code-creation,BytecodeHandler,0,5553,0x168eca0,1068,TestEqualStrict.Wide | |
code-creation,BytecodeHandler,0,5555,0x168f0e0,1512,TestLessThan.Wide | |
code-creation,BytecodeHandler,0,5557,0x168f6e0,1512,TestGreaterThan.Wide | |
code-creation,BytecodeHandler,0,5559,0x168fce0,1512,TestLessThanOrEqual.Wide | |
code-creation,BytecodeHandler,0,5561,0x16902e0,1512,TestGreaterThanOrEqual.Wide | |
code-creation,BytecodeHandler,0,5564,0x16908e0,864,TestInstanceOf.Wide | |
code-creation,BytecodeHandler,0,5566,0x1690c60,160,TestIn.Wide | |
code-creation,BytecodeHandler,0,5569,0x1690d20,116,ToName.Wide | |
code-creation,BytecodeHandler,0,5571,0x1690da0,216,ToNumber.Wide | |
code-creation,BytecodeHandler,0,5573,0x1690e80,236,ToNumeric.Wide | |
code-creation,BytecodeHandler,0,5576,0x1690f80,116,ToObject.Wide | |
code-creation,BytecodeHandler,0,5578,0x1691000,404,CreateRegExpLiteral.Wide | |
code-creation,BytecodeHandler,0,5580,0x16911a0,1372,CreateArrayLiteral.Wide | |
code-creation,BytecodeHandler,0,5583,0x1691700,792,CreateEmptyArrayLiteral.Wide | |
code-creation,BytecodeHandler,0,5585,0x1691a20,2060,CreateObjectLiteral.Wide | |
code-creation,BytecodeHandler,0,5588,0x1692240,172,CloneObject.Wide | |
code-creation,BytecodeHandler,0,5590,0x1692300,164,GetTemplateObject.Wide | |
code-creation,BytecodeHandler,0,5593,0x16923c0,320,CreateClosure.Wide | |
code-creation,BytecodeHandler,0,5595,0x1692520,124,CreateBlockContext.Wide | |
code-creation,BytecodeHandler,0,5598,0x16925a0,136,CreateCatchContext.Wide | |
code-creation,BytecodeHandler,0,5600,0x1692640,256,CreateFunctionContext.Wide | |
code-creation,BytecodeHandler,0,5602,0x1692760,256,CreateEvalContext.Wide | |
code-creation,BytecodeHandler,0,5604,0x1692880,136,CreateWithContext.Wide | |
code-creation,BytecodeHandler,0,5607,0x1692920,440,JumpLoop.Wide | |
code-creation,BytecodeHandler,0,5609,0x1692ae0,44,Jump.Wide | |
code-creation,BytecodeHandler,0,5611,0x1692b20,56,JumpConstant.Wide | |
code-creation,BytecodeHandler,0,5613,0x1692b60,80,JumpIfNullConstant.Wide | |
code-creation,BytecodeHandler,0,5616,0x1692bc0,80,JumpIfNotNullConstant.Wide | |
code-creation,BytecodeHandler,0,5618,0x1692c20,80,JumpIfUndefinedConstant.Wide | |
code-creation,BytecodeHandler,0,5622,0x1692c80,80,JumpIfNotUndefinedConstant.Wide | |
code-creation,BytecodeHandler,0,5624,0x1692ce0,84,JumpIfUndefinedOrNullConstant.Wide | |
code-creation,BytecodeHandler,0,5627,0x1692d40,80,JumpIfTrueConstant.Wide | |
code-creation,BytecodeHandler,0,5629,0x1692da0,80,JumpIfFalseConstant.Wide | |
code-creation,BytecodeHandler,0,5632,0x1692e00,88,JumpIfJSReceiverConstant.Wide | |
code-creation,BytecodeHandler,0,5634,0x1692e60,152,JumpIfToBooleanTrueConstant.Wide | |
code-creation,BytecodeHandler,0,5636,0x1692f00,152,JumpIfToBooleanFalseConstant.Wide | |
code-creation,BytecodeHandler,0,5639,0x1692fa0,136,JumpIfToBooleanTrue.Wide | |
code-creation,BytecodeHandler,0,5641,0x1693040,136,JumpIfToBooleanFalse.Wide | |
code-creation,BytecodeHandler,0,5644,0x16930e0,64,JumpIfTrue.Wide | |
code-creation,BytecodeHandler,0,5646,0x1693140,64,JumpIfFalse.Wide | |
code-creation,BytecodeHandler,0,5649,0x16931a0,64,JumpIfNull.Wide | |
code-creation,BytecodeHandler,0,5651,0x1693200,64,JumpIfNotNull.Wide | |
code-creation,BytecodeHandler,0,5655,0x1693260,64,JumpIfUndefined.Wide | |
code-creation,BytecodeHandler,0,5657,0x16932c0,64,JumpIfNotUndefined.Wide | |
code-creation,BytecodeHandler,0,5659,0x1693320,72,JumpIfUndefinedOrNull.Wide | |
code-creation,BytecodeHandler,0,5662,0x1693380,76,JumpIfJSReceiver.Wide | |
code-creation,BytecodeHandler,0,5664,0x16933e0,108,SwitchOnSmiNoFeedback.Wide | |
code-creation,BytecodeHandler,0,5666,0x1693460,468,ForInEnumerate.Wide | |
code-creation,BytecodeHandler,0,5669,0x1693640,252,ForInPrepare.Wide | |
code-creation,BytecodeHandler,0,5671,0x1693740,60,ForInContinue.Wide | |
code-creation,BytecodeHandler,0,5674,0x1693780,260,ForInNext.Wide | |
code-creation,BytecodeHandler,0,5676,0x16938a0,48,ForInStep.Wide | |
code-creation,BytecodeHandler,0,5678,0x16938e0,156,ThrowReferenceErrorIfHole.Wide | |
code-creation,BytecodeHandler,0,5681,0x1693980,160,ThrowIfNotSuperConstructor.Wide | |
code-creation,BytecodeHandler,0,5683,0x1693a40,120,SwitchOnGeneratorState.Wide | |
code-creation,BytecodeHandler,0,5686,0x1693ac0,516,SuspendGenerator.Wide | |
code-creation,BytecodeHandler,0,5688,0x1693ce0,128,ResumeGenerator.Wide | |
code-creation,BytecodeHandler,0,5690,0x1693d80,156,GetIterator.Wide | |
code-creation,BytecodeHandler,0,5692,0x1693e20,128,IncBlockCounter.Wide | |
code-creation,BytecodeHandler,0,5695,0x1693ec0,56,Abort.Wide | |
code-creation,BytecodeHandler,0,5697,0x1693f00,108,DebugBreak1.ExtraWide | |
code-creation,BytecodeHandler,0,5699,0x1693f80,108,DebugBreak2.ExtraWide | |
code-creation,BytecodeHandler,0,5701,0x1694000,108,DebugBreak3.ExtraWide | |
code-creation,BytecodeHandler,0,5704,0x1694080,108,DebugBreak4.ExtraWide | |
code-creation,BytecodeHandler,0,5707,0x1694100,108,DebugBreak5.ExtraWide | |
code-creation,BytecodeHandler,0,5709,0x1694180,108,DebugBreak6.ExtraWide | |
code-creation,BytecodeHandler,0,5711,0x1694200,32,Ldar.ExtraWide | |
code-creation,BytecodeHandler,0,5713,0x1694240,28,LdaSmi.ExtraWide | |
code-creation,BytecodeHandler,0,5716,0x1694260,32,LdaConstant.ExtraWide | |
code-creation,BytecodeHandler,0,5718,0x16942a0,88,LdaContextSlot.ExtraWide | |
code-creation,BytecodeHandler,0,5720,0x1694300,88,LdaImmutableContextSlot.ExtraWide | |
code-creation,BytecodeHandler,0,5723,0x1694360,48,LdaCurrentContextSlot.ExtraWide | |
code-creation,BytecodeHandler,0,5725,0x16943a0,48,LdaImmutableCurrentContextSlot.ExtraWide | |
code-creation,BytecodeHandler,0,5728,0x16943e0,28,Star.ExtraWide | |
code-creation,BytecodeHandler,0,5730,0x1694400,40,Mov.ExtraWide | |
code-creation,BytecodeHandler,0,5732,0x1694440,36,PushContext.ExtraWide | |
code-creation,BytecodeHandler,0,5734,0x1694480,32,PopContext.ExtraWide | |
code-creation,BytecodeHandler,0,5737,0x16944c0,48,TestReferenceEqual.ExtraWide | |
code-creation,BytecodeHandler,0,5739,0x1694500,4656,LdaGlobal.ExtraWide | |
code-creation,BytecodeHandler,0,5742,0x1695740,4592,LdaGlobalInsideTypeof.ExtraWide | |
code-creation,BytecodeHandler,0,5744,0x1696940,168,StaGlobal.ExtraWide | |
code-creation,BytecodeHandler,0,5747,0x1696a00,152,StaContextSlot.ExtraWide | |
code-creation,BytecodeHandler,0,5749,0x1696aa0,108,StaCurrentContextSlot.ExtraWide | |
code-creation,BytecodeHandler,0,5752,0x1696b20,128,LdaLookupSlot.ExtraWide | |
code-creation,BytecodeHandler,0,5755,0x1696bc0,240,LdaLookupContextSlot.ExtraWide | |
code-creation,BytecodeHandler,0,5757,0x1696cc0,4836,LdaLookupGlobalSlot.ExtraWide | |
code-creation,BytecodeHandler,0,5760,0x1697fc0,128,LdaLookupSlotInsideTypeof.ExtraWide | |
code-creation,BytecodeHandler,0,5762,0x1698060,240,LdaLookupContextSlotInsideTypeof.ExtraWide | |
code-creation,BytecodeHandler,0,5765,0x1698160,4800,LdaLookupGlobalSlotInsideTypeof.ExtraWide | |
code-creation,BytecodeHandler,0,5767,0x1699440,220,StaLookupSlot.ExtraWide | |
code-creation,BytecodeHandler,0,5770,0x1699520,5196,LdaNamedProperty.ExtraWide | |
code-creation,BytecodeHandler,0,5772,0x169a980,184,LdaNamedPropertyFromSuper.ExtraWide | |
code-creation,BytecodeHandler,0,5775,0x169aa40,156,LdaKeyedProperty.ExtraWide | |
code-creation,BytecodeHandler,0,5777,0x169aae0,160,LdaModuleVariable.ExtraWide | |
code-creation,BytecodeHandler,0,5779,0x169aba0,292,StaModuleVariable.ExtraWide | |
code-creation,BytecodeHandler,0,5782,0x169ace0,172,StaNamedProperty.ExtraWide | |
code-creation,BytecodeHandler,0,5786,0x169ada0,172,StaNamedOwnProperty.ExtraWide | |
code-creation,BytecodeHandler,0,5788,0x169ae60,168,StaKeyedProperty.ExtraWide | |
code-creation,BytecodeHandler,0,5790,0x169af20,168,StaInArrayLiteral.ExtraWide | |
code-creation,BytecodeHandler,0,5793,0x169afe0,196,StaDataPropertyInLiteral.ExtraWide | |
code-creation,BytecodeHandler,0,5795,0x169b0c0,164,CollectTypeProfile.ExtraWide | |
code-creation,BytecodeHandler,0,5798,0x169b180,980,Add.ExtraWide | |
code-creation,BytecodeHandler,0,5801,0x169b560,1016,Sub.ExtraWide | |
code-creation,BytecodeHandler,0,5803,0x169b960,972,Mul.ExtraWide | |
code-creation,BytecodeHandler,0,5805,0x169bd40,988,Div.ExtraWide | |
code-creation,BytecodeHandler,0,5807,0x169c120,916,Mod.ExtraWide | |
code-creation,BytecodeHandler,0,5809,0x169c4c0,980,Exp.ExtraWide | |
code-creation,BytecodeHandler,0,5812,0x169c8a0,904,BitwiseOr.ExtraWide | |
code-creation,BytecodeHandler,0,5815,0x169cc40,916,BitwiseXor.ExtraWide | |
code-creation,BytecodeHandler,0,5817,0x169cfe0,916,BitwiseAnd.ExtraWide | |
code-creation,BytecodeHandler,0,5819,0x169d380,928,ShiftLeft.ExtraWide | |
code-creation,BytecodeHandler,0,5822,0x169d740,928,ShiftRight.ExtraWide | |
code-creation,BytecodeHandler,0,5825,0x169db00,1048,ShiftRightLogical.ExtraWide | |
code-creation,BytecodeHandler,0,5827,0x169df20,916,AddSmi.ExtraWide | |
code-creation,BytecodeHandler,0,5830,0x169e2c0,960,SubSmi.ExtraWide | |
code-creation,BytecodeHandler,0,5832,0x169e6a0,912,MulSmi.ExtraWide | |
code-creation,BytecodeHandler,0,5834,0x169ea40,916,DivSmi.ExtraWide | |
code-creation,BytecodeHandler,0,5837,0x169ede0,816,ModSmi.ExtraWide | |
code-creation,BytecodeHandler,0,5839,0x169f120,868,ExpSmi.ExtraWide | |
code-creation,BytecodeHandler,0,5841,0x169f4a0,492,BitwiseOrSmi.ExtraWide | |
code-creation,BytecodeHandler,0,5844,0x169f6a0,492,BitwiseXorSmi.ExtraWide | |
code-creation,BytecodeHandler,0,5846,0x169f8a0,492,BitwiseAndSmi.ExtraWide | |
code-creation,BytecodeHandler,0,5849,0x169faa0,492,ShiftLeftSmi.ExtraWide | |
code-creation,BytecodeHandler,0,5851,0x169fca0,492,ShiftRightSmi.ExtraWide | |
code-creation,BytecodeHandler,0,5853,0x169fea0,644,ShiftRightLogicalSmi.ExtraWide | |
code-creation,BytecodeHandler,0,5856,0x16a0140,616,Inc.ExtraWide | |
code-creation,BytecodeHandler,0,5857,0x16a03c0,616,Dec.ExtraWide | |
code-creation,BytecodeHandler,0,5860,0x16a0640,644,Negate.ExtraWide | |
code-creation,BytecodeHandler,0,5863,0x16a08e0,488,BitwiseNot.ExtraWide | |
code-creation,BytecodeHandler,0,5865,0x16a0ae0,124,DeletePropertyStrict.ExtraWide | |
code-creation,BytecodeHandler,0,5867,0x16a0b60,116,DeletePropertySloppy.ExtraWide | |
code-creation,BytecodeHandler,0,5870,0x16a0be0,36,GetSuperConstructor.ExtraWide | |
code-creation,BytecodeHandler,0,5873,0x16a0c20,1120,CallAnyReceiver.ExtraWide | |
code-creation,BytecodeHandler,0,5875,0x16a10a0,1120,CallProperty.ExtraWide | |
code-creation,BytecodeHandler,0,5877,0x16a1520,1004,CallProperty0.ExtraWide | |
code-creation,BytecodeHandler,0,5880,0x16a1920,1020,CallProperty1.ExtraWide | |
code-creation,BytecodeHandler,0,5882,0x16a1d20,1032,CallProperty2.ExtraWide | |
code-creation,BytecodeHandler,0,5884,0x16a2140,1000,CallUndefinedReceiver.ExtraWide | |
code-creation,BytecodeHandler,0,5887,0x16a2540,1044,CallUndefinedReceiver0.ExtraWide | |
code-creation,BytecodeHandler,0,5889,0x16a2960,1016,CallUndefinedReceiver1.ExtraWide | |
code-creation,BytecodeHandler,0,5892,0x16a2d60,1028,CallUndefinedReceiver2.ExtraWide | |
code-creation,BytecodeHandler,0,5894,0x16a3180,1120,CallWithSpread.ExtraWide | |
code-creation,BytecodeHandler,0,5897,0x16a3600,128,CallRuntime.ExtraWide | |
code-creation,BytecodeHandler,0,5899,0x16a36a0,164,CallRuntimeForPair.ExtraWide | |
code-creation,BytecodeHandler,0,5902,0x16a3760,80,CallJSRuntime.ExtraWide | |
code-creation,BytecodeHandler,0,5905,0x16a37c0,1240,InvokeIntrinsic.ExtraWide | |
code-creation,BytecodeHandler,0,5907,0x16a3ca0,956,Construct.ExtraWide | |
code-creation,BytecodeHandler,0,5910,0x16a4060,468,ConstructWithSpread.ExtraWide | |
code-creation,BytecodeHandler,0,5912,0x16a4240,1964,TestEqual.ExtraWide | |
code-creation,BytecodeHandler,0,5915,0x16a4a00,1068,TestEqualStrict.ExtraWide | |
code-creation,BytecodeHandler,0,5918,0x16a4e40,1508,TestLessThan.ExtraWide | |
code-creation,BytecodeHandler,0,5921,0x16a5440,1508,TestGreaterThan.ExtraWide | |
code-creation,BytecodeHandler,0,5923,0x16a5a40,1508,TestLessThanOrEqual.ExtraWide | |
code-creation,BytecodeHandler,0,5926,0x16a6040,1508,TestGreaterThanOrEqual.ExtraWide | |
code-creation,BytecodeHandler,0,5928,0x16a6640,860,TestInstanceOf.ExtraWide | |
code-creation,BytecodeHandler,0,5931,0x16a69a0,156,TestIn.ExtraWide | |
code-creation,BytecodeHandler,0,5933,0x16a6a40,116,ToName.ExtraWide | |
code-creation,BytecodeHandler,0,5935,0x16a6ac0,216,ToNumber.ExtraWide | |
code-creation,BytecodeHandler,0,5937,0x16a6ba0,236,ToNumeric.ExtraWide | |
code-creation,BytecodeHandler,0,5939,0x16a6ca0,116,ToObject.ExtraWide | |
code-creation,BytecodeHandler,0,5941,0x16a6d20,400,CreateRegExpLiteral.ExtraWide | |
code-creation,BytecodeHandler,0,5944,0x16a6ec0,1368,CreateArrayLiteral.ExtraWide | |
code-creation,BytecodeHandler,0,5946,0x16a7420,792,CreateEmptyArrayLiteral.ExtraWide | |
code-creation,BytecodeHandler,0,5948,0x16a7740,2060,CreateObjectLiteral.ExtraWide | |
code-creation,BytecodeHandler,0,5951,0x16a7f60,168,CloneObject.ExtraWide | |
code-creation,BytecodeHandler,0,5953,0x16a8020,160,GetTemplateObject.ExtraWide | |
code-creation,BytecodeHandler,0,5956,0x16a80e0,320,CreateClosure.ExtraWide | |
code-creation,BytecodeHandler,0,5958,0x16a8240,124,CreateBlockContext.ExtraWide | |
code-creation,BytecodeHandler,0,5961,0x16a82c0,132,CreateCatchContext.ExtraWide | |
code-creation,BytecodeHandler,0,5964,0x16a8360,256,CreateFunctionContext.ExtraWide | |
code-creation,BytecodeHandler,0,5967,0x16a8480,256,CreateEvalContext.ExtraWide | |
code-creation,BytecodeHandler,0,5970,0x16a85a0,132,CreateWithContext.ExtraWide | |
code-creation,BytecodeHandler,0,5973,0x16a8640,436,JumpLoop.ExtraWide | |
code-creation,BytecodeHandler,0,5975,0x16a8800,44,Jump.ExtraWide | |
code-creation,BytecodeHandler,0,5977,0x16a8840,56,JumpConstant.ExtraWide | |
code-creation,BytecodeHandler,0,5979,0x16a8880,76,JumpIfNullConstant.ExtraWide | |
code-creation,BytecodeHandler,0,5981,0x16a88e0,76,JumpIfNotNullConstant.ExtraWide | |
code-creation,BytecodeHandler,0,5984,0x16a8940,76,JumpIfUndefinedConstant.ExtraWide | |
code-creation,BytecodeHandler,0,5986,0x16a89a0,76,JumpIfNotUndefinedConstant.ExtraWide | |
code-creation,BytecodeHandler,0,5988,0x16a8a00,84,JumpIfUndefinedOrNullConstant.ExtraWide | |
code-creation,BytecodeHandler,0,5991,0x16a8a60,76,JumpIfTrueConstant.ExtraWide | |
code-creation,BytecodeHandler,0,5993,0x16a8ac0,76,JumpIfFalseConstant.ExtraWide | |
code-creation,BytecodeHandler,0,5996,0x16a8b20,88,JumpIfJSReceiverConstant.ExtraWide | |
code-creation,BytecodeHandler,0,5999,0x16a8b80,148,JumpIfToBooleanTrueConstant.ExtraWide | |
code-creation,BytecodeHandler,0,6001,0x16a8c20,148,JumpIfToBooleanFalseConstant.ExtraWide | |
code-creation,BytecodeHandler,0,6004,0x16a8cc0,136,JumpIfToBooleanTrue.ExtraWide | |
code-creation,BytecodeHandler,0,6006,0x16a8d60,136,JumpIfToBooleanFalse.ExtraWide | |
code-creation,BytecodeHandler,0,6009,0x16a8e00,64,JumpIfTrue.ExtraWide | |
code-creation,BytecodeHandler,0,6011,0x16a8e60,64,JumpIfFalse.ExtraWide | |
code-creation,BytecodeHandler,0,6014,0x16a8ec0,64,JumpIfNull.ExtraWide | |
code-creation,BytecodeHandler,0,6016,0x16a8f20,64,JumpIfNotNull.ExtraWide | |
code-creation,BytecodeHandler,0,6019,0x16a8f80,64,JumpIfUndefined.ExtraWide | |
code-creation,BytecodeHandler,0,6021,0x16a8fe0,64,JumpIfNotUndefined.ExtraWide | |
code-creation,BytecodeHandler,0,6023,0x16a9040,68,JumpIfUndefinedOrNull.ExtraWide | |
code-creation,BytecodeHandler,0,6026,0x16a90a0,72,JumpIfJSReceiver.ExtraWide | |
code-creation,BytecodeHandler,0,6028,0x16a9100,108,SwitchOnSmiNoFeedback.ExtraWide | |
code-creation,BytecodeHandler,0,6030,0x16a9180,464,ForInEnumerate.ExtraWide | |
code-creation,BytecodeHandler,0,6033,0x16a9360,252,ForInPrepare.ExtraWide | |
code-creation,BytecodeHandler,0,6035,0x16a9460,56,ForInContinue.ExtraWide | |
code-creation,BytecodeHandler,0,6037,0x16a94a0,256,ForInNext.ExtraWide | |
code-creation,BytecodeHandler,0,6040,0x16a95c0,44,ForInStep.ExtraWide | |
code-creation,BytecodeHandler,0,6042,0x16a9600,156,ThrowReferenceErrorIfHole.ExtraWide | |
code-creation,BytecodeHandler,0,6045,0x16a96a0,160,ThrowIfNotSuperConstructor.ExtraWide | |
code-creation,BytecodeHandler,0,6047,0x16a9760,120,SwitchOnGeneratorState.ExtraWide | |
code-creation,BytecodeHandler,0,6051,0x16a97e0,512,SuspendGenerator.ExtraWide | |
code-creation,BytecodeHandler,0,6053,0x16a9a00,124,ResumeGenerator.ExtraWide | |
code-creation,BytecodeHandler,0,6056,0x16a9a80,152,GetIterator.ExtraWide | |
code-creation,BytecodeHandler,0,6058,0x16a9b20,124,IncBlockCounter.ExtraWide | |
code-creation,BytecodeHandler,0,6061,0x16a9ba0,56,Abort.ExtraWide | |
new,MemoryChunk,0x84cb7880000,262144 | |
new,MemoryChunk,0x2c9761c0000,262144 | |
tick,0x1c12cf2,6589,0,0x0,5 | |
new,MemoryChunk,0x2b3770c00000,262144 | |
tick,0x122a54e,7659,0,0x0,5 | |
new,MemoryChunk,0x173f9a140000,262144 | |
code-creation,Eval,10,8458,0x173f9a17bdd6,5, node:internal/main/run_main_module:1:1,0x173f9a17bc90,~ | |
script-source,91,node:internal/main/run_main_module,'use strict';\n\nconst {\n prepareMainThreadExecution\n} = require('internal/bootstrap/pre_execution');\n\nprepareMainThreadExecution(true);\n\nmarkBootstrapComplete();\n\n// Note: this loads the module through the ESM loader if the module is\n// determined to be an ES module. This hangs from the CJS module loader\n// because we currently allow monkey-patching of the module loaders\n// in the preloaded scripts through require('module').\n// runMain here might be monkey-patched by users in --require.\n// XXX: the monkey-patchability here should probably be deprecated.\nrequire('internal/modules/cjs/loader').Module.runMain(process.argv[1]);\n | |
code-source-info,0x173f9a17bdd6,91,0,632,C0O0C4O632,, | |
code-creation,Function,10,8483,0x173f9a17be7e,58, node:internal/main/run_main_module:1:1,0x173f9a17bd50,~ | |
code-source-info,0x173f9a17be7e,91,0,632,C0O56C3O56C8O25C13O102C15O102C19O137C22O560C25O560C30O598C35O605C40O622C47O626C51O606C57O631,, | |
code-creation,LazyCompile,10,8627,0x173f9a17c0be,76,nativeModuleRequire node:internal/bootstrap/loaders:332:29,0xff54a84f8f8,~ | |
script-source,9,node:internal/bootstrap/loaders,// This file creates the internal module & binding loaders used by built-in\n// modules. In contrast\x2C user land modules are loaded using\n// lib/internal/modules/cjs/loader.js (CommonJS Modules) or\n// lib/internal/modules/esm/* (ES Modules).\n//\n// This file is compiled and run by node.cc before bootstrap/node.js\n// was called\x2C therefore the loaders are bootstrapped before we start to\n// actually bootstrap Node.js. It creates the following objects:\n//\n// C++ binding loaders:\n// - process.binding(): the legacy C++ binding loader\x2C accessible from user land\n// because it is an object attached to the global process object.\n// These C++ bindings are created using NODE_BUILTIN_MODULE_CONTEXT_AWARE()\n// and have their nm_flags set to NM_F_BUILTIN. We do not make any guarantees\n// about the stability of these bindings\x2C but still have to take care of\n// compatibility issues caused by them from time to time.\n// - process._linkedBinding(): intended to be used by embedders to add\n// additional C++ bindings in their applications. These C++ bindings\n// can be created using NODE_MODULE_CONTEXT_AWARE_CPP() with the flag\n// NM_F_LINKED.\n// - internalBinding(): the private internal C++ binding loader\x2C inaccessible\n// from user land unless through `require('internal/test/binding')`.\n// These C++ bindings are created using NODE_MODULE_CONTEXT_AWARE_INTERNAL()\n// and have their nm_flags set to NM_F_INTERNAL.\n//\n// Internal JavaScript module loader:\n// - NativeModule: a minimal module system used to load the JavaScript core\n// modules found in lib/**/*.js and deps/**/*.js. All core modules are\n// compiled into the node binary via node_javascript.cc generated by js2c.py\x2C\n// so they can be loaded faster without the cost of I/O. This class makes the\n// lib/internal/*\x2C deps/internal/* modules and internalBinding() available by\n// default to core modules\x2C and lets the core modules require itself via\n// require('internal/bootstrap/loaders') even when this file is not written in\n// CommonJS style.\n//\n// Other objects:\n// - process.moduleLoadList: an array recording the bindings and the modules\n// loaded in the process and the order in which they are loaded.\n\n'use strict';\n\n// This file is compiled as if it's wrapped in a function with arguments\n// passed by node::RunBootstrapping()\n/* global process\x2C getLinkedBinding\x2C getInternalBinding\x2C primordials */\n\nconst {\n ArrayPrototypeMap\x2C\n ArrayPrototypePush\x2C\n ArrayPrototypeSlice\x2C\n Error\x2C\n ObjectCreate\x2C\n ObjectDefineProperty\x2C\n ObjectKeys\x2C\n ObjectPrototypeHasOwnProperty\x2C\n ReflectGet\x2C\n SafeMap\x2C\n SafeSet\x2C\n String\x2C\n StringPrototypeStartsWith\x2C\n TypeError\x2C\n} = primordials;\n\n// Set up process.moduleLoadList.\nconst moduleLoadList = [];\nObjectDefineProperty(process\x2C 'moduleLoadList'\x2C {\n value: moduleLoadList\x2C\n configurable: true\x2C\n enumerable: true\x2C\n writable: false\n});\n\n\n// internalBindingAllowlist contains the name of internalBinding modules\n// that are allowed for access via process.binding()... This is used\n// to provide a transition path for modules that are being moved over to\n// internalBinding.\nconst internalBindingAllowlist = new SafeSet([\n 'async_wrap'\x2C\n 'buffer'\x2C\n 'cares_wrap'\x2C\n 'config'\x2C\n 'constants'\x2C\n 'contextify'\x2C\n 'crypto'\x2C\n 'fs'\x2C\n 'fs_event_wrap'\x2C\n 'http_parser'\x2C\n 'icu'\x2C\n 'inspector'\x2C\n 'js_stream'\x2C\n 'natives'\x2C\n 'os'\x2C\n 'pipe_wrap'\x2C\n 'process_wrap'\x2C\n 'signal_wrap'\x2C\n 'spawn_sync'\x2C\n 'stream_wrap'\x2C\n 'tcp_wrap'\x2C\n 'tls_wrap'\x2C\n 'tty_wrap'\x2C\n 'udp_wrap'\x2C\n 'url'\x2C\n 'util'\x2C\n 'uv'\x2C\n 'v8'\x2C\n 'zlib'\x2C\n]);\n\nconst runtimeDeprecatedList = new SafeSet([\n 'async_wrap'\x2C\n 'crypto'\x2C\n 'http_parser'\x2C\n 'signal_wrap'\x2C\n 'url'\x2C\n 'v8'\x2C\n]);\n\nconst legacyWrapperList = new SafeSet([\n 'util'\x2C\n]);\n\n// Set up process.binding() and process._linkedBinding().\n{\n const bindingObj = ObjectCreate(null);\n\n process.binding = function binding(module) {\n module = String(module);\n // Deprecated specific process.binding() modules\x2C but not all\x2C allow\n // selective fallback to internalBinding for the deprecated ones.\n if (internalBindingAllowlist.has(module)) {\n if (runtimeDeprecatedList.has(module)) {\n runtimeDeprecatedList.delete(module);\n process.emitWarning(\n `Access to process.binding('${module}') is deprecated.`\x2C\n 'DeprecationWarning'\x2C\n 'DEP0111');\n }\n if (legacyWrapperList.has(module)) {\n return nativeModuleRequire('internal/legacy/processbinding')[module]();\n }\n return internalBinding(module);\n }\n // eslint-disable-next-line no-restricted-syntax\n throw new Error(`No such module: ${module}`);\n };\n\n process._linkedBinding = function _linkedBinding(module) {\n module = String(module);\n let mod = bindingObj[module];\n if (typeof mod !== 'object')\n mod = bindingObj[module] = getLinkedBinding(module);\n return mod;\n };\n}\n\n// Set up internalBinding() in the closure.\n/**\n * @type {InternalBinding}\n */\nlet internalBinding;\n{\n const bindingObj = ObjectCreate(null);\n // eslint-disable-next-line no-global-assign\n internalBinding = function internalBinding(module) {\n let mod = bindingObj[module];\n if (typeof mod !== 'object') {\n mod = bindingObj[module] = getInternalBinding(module);\n ArrayPrototypePush(moduleLoadList\x2C `Internal Binding ${module}`);\n }\n return mod;\n };\n}\n\nconst loaderId = 'internal/bootstrap/loaders';\nconst {\n moduleIds\x2C\n compileFunction\n} = internalBinding('native_module');\n\nconst getOwn = (target\x2C property\x2C receiver) => {\n return ObjectPrototypeHasOwnProperty(target\x2C property) ?\n ReflectGet(target\x2C property\x2C receiver) :\n undefined;\n};\n\n/**\n * An internal abstraction for the built-in JavaScript modules of Node.js.\n * Be careful not to expose this to user land unless --expose-internals is\n * used\x2C in which case there is no compatibility guarantee about this class.\n */\nclass NativeModule {\n /**\n * A map from the module IDs to the module instances.\n * @type {Map<string\x2C NativeModule>}\n */\n static map = new SafeMap(\n ArrayPrototypeMap(moduleIds\x2C (id) => [id\x2C new NativeModule(id)])\n );\n\n constructor(id) {\n this.filename = `${id}.js`;\n this.id = id;\n this.canBeRequiredByUsers = !StringPrototypeStartsWith(id\x2C 'internal/');\n\n // The CJS exports object of the module.\n this.exports = {};\n // States used to work around circular dependencies.\n this.loaded = false;\n this.loading = false;\n\n // The following properties are used by the ESM implementation and only\n // initialized when the native module is loaded by users.\n /**\n * The C++ ModuleWrap binding used to interface with the ESM implementation.\n * @type {ModuleWrap|undefined}\n */\n this.module = undefined;\n /**\n * Exported names for the ESM imports.\n * @type {string[]|undefined}\n */\n this.exportKeys = undefined;\n }\n\n // To be called during pre-execution when --expose-internals is on.\n // Enables the user-land module loader to access internal modules.\n static exposeInternals() {\n for (const { 0: id\x2C 1: mod } of NativeModule.map) {\n // Do not expose this to user land even with --expose-internals.\n if (id !== loaderId) {\n mod.canBeRequiredByUsers = true;\n }\n }\n }\n\n static exists(id) {\n return NativeModule.map.has(id);\n }\n\n static canBeRequiredByUsers(id) {\n const mod = NativeModule.map.get(id);\n return mod && mod.canBeRequiredByUsers;\n }\n\n // Used by user-land module loaders to compile and load builtins.\n compileForPublicLoader() {\n if (!this.canBeRequiredByUsers) {\n // No code because this is an assertion against bugs\n // eslint-disable-next-line no-restricted-syntax\n throw new Error(`Should not compile ${this.id} for public use`);\n }\n this.compileForInternalLoader();\n if (!this.exportKeys) {\n // When using --expose-internals\x2C we do not want to reflect the named\n // exports from core modules as this can trigger unnecessary getters.\n const internal = StringPrototypeStartsWith(this.id\x2C 'internal/');\n this.exportKeys = internal ? [] : ObjectKeys(this.exports);\n }\n this.getESMFacade();\n this.syncExports();\n return this.exports;\n }\n\n getESMFacade() {\n if (this.module) return this.module;\n const { ModuleWrap } = internalBinding('module_wrap');\n const url = `node:${this.id}`;\n const nativeModule = this;\n const exportsKeys = ArrayPrototypeSlice(this.exportKeys);\n ArrayPrototypePush(exportsKeys\x2C 'default');\n this.module = new ModuleWrap(\n url\x2C undefined\x2C exportsKeys\x2C\n function() {\n nativeModule.syncExports();\n this.setExport('default'\x2C nativeModule.exports);\n });\n // Ensure immediate sync execution to capture exports now\n this.module.instantiate();\n this.module.evaluate(-1\x2C false);\n return this.module;\n }\n\n // Provide named exports for all builtin libraries so that the libraries\n // may be imported in a nicer way for ESM users. The default export is left\n // as the entire namespace (module.exports) and updates when this function is\n // called so that APMs and other behavior are supported.\n syncExports() {\n const names = this.exportKeys;\n if (this.module) {\n for (let i = 0; i < names.length; i++) {\n const exportName = names[i];\n if (exportName === 'default') continue;\n this.module.setExport(exportName\x2C\n getOwn(this.exports\x2C exportName\x2C this.exports));\n }\n }\n }\n\n compileForInternalLoader() {\n if (this.loaded || this.loading) {\n return this.exports;\n }\n\n const id = this.id;\n this.loading = true;\n\n try {\n const requireFn = StringPrototypeStartsWith(this.id\x2C 'internal/deps/') ?\n requireWithFallbackInDeps : nativeModuleRequire;\n\n const fn = compileFunction(id);\n fn(this.exports\x2C requireFn\x2C this\x2C process\x2C internalBinding\x2C primordials);\n\n this.loaded = true;\n } finally {\n this.loading = false;\n }\n\n ArrayPrototypePush(moduleLoadList\x2C `NativeModule ${id}`);\n return this.exports;\n }\n}\n\n// Think of this as module.exports in this file even though it is not\n// written in CommonJS style.\nconst loaderExports = {\n internalBinding\x2C\n NativeModule\x2C\n require: nativeModuleRequire\n};\n\nfunction nativeModuleRequire(id) {\n if (id === loaderId) {\n return loaderExports;\n }\n\n const mod = NativeModule.map.get(id);\n // Can't load the internal errors module from here\x2C have to use a raw error.\n // eslint-disable-next-line no-restricted-syntax\n if (!mod) throw new TypeError(`Missing internal module '${id}'`);\n return mod.compileForInternalLoader();\n}\n\n// Allow internal modules from dependencies to require\n// other modules from dependencies by providing fallbacks.\nfunction requireWithFallbackInDeps(request) {\n if (!NativeModule.map.has(request)) {\n request = `internal/deps/${request}`;\n }\n return nativeModuleRequire(request);\n}\n\n// Pass the exports back to C++ land for C++ internals to use.\nreturn loaderExports;\n | |
code-source-info,0x173f9a17c0be,9,10315,10658,C0O10324C2O10335C4O10331C9O10351C13O10372C14O10392C19O10405C24O10409C29O10409C35O10550C37O10560C47O10608C60O10566C65O10560C66O10629C71O10629C75O10656,, | |
tick,0xfabb24,8827,0,0x0,3,0x11e9af0,0x173f9a17be81 | |
code-creation,LazyCompile,10,8857,0x173f9a17cdce,175,compileForInternalLoader node:internal/bootstrap/loaders:299:27,0xff54a84f828,~ | |
code-source-info,0x173f9a17cdce,9,9528,10089,C0O9546C6O9561C12O9590C16O9598C17O9626C22O9634C23O9647C30O9690C37O9721C45O9690C63O9820C70O9820C75O9855C89O9890C103O9847C108O9928C109O9940C124O9970C126O9983C141O10003C152O10022C160O10054C165O10003C170O10077C174O10085,, | |
code-creation,Eval,10,9057,0x173f9a17dd16,5, node:internal/bootstrap/pre_execution:1:1,0x173f9a17d980,~ | |
script-source,92,node:internal/bootstrap/pre_execution,'use strict';\n\nconst {\n NumberParseInt\x2C\n ObjectDefineProperty\x2C\n SafeMap\x2C\n SafeWeakMap\x2C\n StringPrototypeStartsWith\x2C\n globalThis\x2C\n} = primordials;\n\nconst {\n getOptionValue\x2C\n getEmbedderOptions\x2C\n} = require('internal/options');\nconst { reconnectZeroFillToggle } = require('internal/buffer');\n\nconst { Buffer } = require('buffer');\nconst { ERR_MANIFEST_ASSERT_INTEGRITY } = require('internal/errors').codes;\nconst assert = require('internal/assert');\n\nfunction prepareMainThreadExecution(expandArgv1 = false) {\n // TODO(joyeecheung): this is also necessary for workers when they deserialize\n // this toggle from the snapshot.\n reconnectZeroFillToggle();\n\n // Patch the process object with legacy properties and normalizations\n patchProcessObject(expandArgv1);\n setupTraceCategoryState();\n setupPerfHooks();\n setupInspectorHooks();\n setupWarningHandler();\n\n // Resolve the coverage directory to an absolute path\x2C and\n // overwrite process.env so that the original path gets passed\n // to child processes even when they switch cwd.\n if (process.env.NODE_V8_COVERAGE) {\n process.env.NODE_V8_COVERAGE =\n setupCoverageHooks(process.env.NODE_V8_COVERAGE);\n }\n\n\n setupDebugEnv();\n\n // Print stack trace on `SIGINT` if option `--trace-sigint` presents.\n setupStacktracePrinterOnSigint();\n\n // Process initial diagnostic reporting configuration\x2C if present.\n initializeReport();\n initializeReportSignalHandlers(); // Main-thread-only.\n\n initializeHeapSnapshotSignalHandlers();\n\n // If the process is spawned with env NODE_CHANNEL_FD\x2C it's probably\n // spawned by our child_process module\x2C then initialize IPC.\n // This attaches some internal event listeners and creates:\n // process.send()\x2C process.channel\x2C process.connected\x2C\n // process.disconnect().\n setupChildProcessIpcChannel();\n\n // Load policy from disk and parse it.\n initializePolicy();\n\n // If this is a worker in cluster mode\x2C start up the communication\n // channel. This needs to be done before any user code gets executed\n // (including preload modules).\n initializeClusterIPC();\n\n initializeSourceMapsHandlers();\n initializeDeprecations();\n initializeWASI();\n initializeCJSLoader();\n initializeESMLoader();\n\n const CJSLoader = require('internal/modules/cjs/loader');\n assert(!CJSLoader.hasLoadedAnyUserCJSModule);\n loadPreloadModules();\n initializeFrozenIntrinsics();\n}\n\nfunction patchProcessObject(expandArgv1) {\n const binding = internalBinding('process_methods');\n binding.patchProcessObject(process);\n\n // TODO(joyeecheung): snapshot fast APIs (which need to work with\n // array buffers\x2C whose connection with C++ needs to be rebuilt after\n // deserialization).\n const {\n hrtime\x2C\n hrtimeBigInt\n } = require('internal/process/per_thread').getFastAPIs(binding);\n\n process.hrtime = hrtime;\n process.hrtime.bigint = hrtimeBigInt;\n\n ObjectDefineProperty(process\x2C 'argv0'\x2C {\n enumerable: true\x2C\n configurable: false\x2C\n value: process.argv[0]\n });\n process.argv[0] = process.execPath;\n\n if (expandArgv1 && process.argv[1] &&\n !StringPrototypeStartsWith(process.argv[1]\x2C '-')) {\n // Expand process.argv[1] into a full path.\n const path = require('path');\n try {\n process.argv[1] = path.resolve(process.argv[1]);\n } catch {}\n }\n\n // TODO(joyeecheung): most of these should be deprecated and removed\x2C\n // except some that we need to be able to mutate during run time.\n addReadOnlyProcessAlias('_eval'\x2C '--eval');\n addReadOnlyProcessAlias('_print_eval'\x2C '--print');\n addReadOnlyProcessAlias('_syntax_check_only'\x2C '--check');\n addReadOnlyProcessAlias('_forceRepl'\x2C '--interactive');\n addReadOnlyProcessAlias('_preload_modules'\x2C '--require');\n addReadOnlyProcessAlias('noDeprecation'\x2C '--no-deprecation');\n addReadOnlyProcessAlias('noProcessWarnings'\x2C '--no-warnings');\n addReadOnlyProcessAlias('traceProcessWarnings'\x2C '--trace-warnings');\n addReadOnlyProcessAlias('throwDeprecation'\x2C '--throw-deprecation');\n addReadOnlyProcessAlias('profProcess'\x2C '--prof-process');\n addReadOnlyProcessAlias('traceDeprecation'\x2C '--trace-deprecation');\n addReadOnlyProcessAlias('_breakFirstLine'\x2C '--inspect-brk'\x2C false);\n addReadOnlyProcessAlias('_breakNodeFirstLine'\x2C '--inspect-brk-node'\x2C false);\n}\n\nfunction addReadOnlyProcessAlias(name\x2C option\x2C enumerable = true) {\n const value = getOptionValue(option);\n if (value) {\n ObjectDefineProperty(process\x2C name\x2C {\n writable: false\x2C\n configurable: true\x2C\n enumerable\x2C\n value\n });\n }\n}\n\nfunction setupWarningHandler() {\n const {\n onWarning\n } = require('internal/process/warning');\n if (getOptionValue('--warnings') &&\n process.env.NODE_NO_WARNINGS !== '1') {\n process.on('warning'\x2C onWarning);\n }\n}\n\n// Setup User-facing NODE_V8_COVERAGE environment variable that writes\n// ScriptCoverage to a specified file.\nfunction setupCoverageHooks(dir) {\n const cwd = require('internal/process/execution').tryGetCwd();\n const { resolve } = require('path');\n const coverageDirectory = resolve(cwd\x2C dir);\n const { sourceMapCacheToObject } =\n require('internal/source_map/source_map_cache');\n\n if (process.features.inspector) {\n internalBinding('profiler').setCoverageDirectory(coverageDirectory);\n internalBinding('profiler').setSourceMapCacheGetter(sourceMapCacheToObject);\n } else {\n process.emitWarning('The inspector is disabled\x2C ' +\n 'coverage could not be collected'\x2C\n 'Warning');\n return '';\n }\n return coverageDirectory;\n}\n\nfunction setupStacktracePrinterOnSigint() {\n if (!getOptionValue('--trace-sigint')) {\n return;\n }\n const { SigintWatchdog } = require('internal/watchdog');\n\n const watchdog = new SigintWatchdog();\n watchdog.start();\n}\n\nfunction initializeReport() {\n const { report } = require('internal/process/report');\n ObjectDefineProperty(process\x2C 'report'\x2C {\n enumerable: false\x2C\n configurable: true\x2C\n get() {\n return report;\n }\n });\n}\n\nfunction setupDebugEnv() {\n require('internal/util/debuglog').initializeDebugEnv(process.env.NODE_DEBUG);\n if (getOptionValue('--expose-internals')) {\n require('internal/bootstrap/loaders').NativeModule.exposeInternals();\n }\n}\n\n// This has to be called after initializeReport() is called\nfunction initializeReportSignalHandlers() {\n const { addSignalHandler } = require('internal/process/report');\n\n addSignalHandler();\n}\n\nfunction initializeHeapSnapshotSignalHandlers() {\n const signal = getOptionValue('--heapsnapshot-signal');\n\n if (!signal)\n return;\n\n require('internal/validators').validateSignalName(signal);\n const { writeHeapSnapshot } = require('v8');\n\n process.on(signal\x2C () => {\n writeHeapSnapshot();\n });\n}\n\nfunction setupTraceCategoryState() {\n const { isTraceCategoryEnabled } = internalBinding('trace_events');\n const { toggleTraceCategoryState } = require('internal/process/per_thread');\n toggleTraceCategoryState(isTraceCategoryEnabled('node.async_hooks'));\n}\n\nfunction setupPerfHooks() {\n require('internal/perf/performance').refreshTimeOrigin();\n require('internal/perf/utils').refreshTimeOrigin();\n}\n\nfunction setupInspectorHooks() {\n // If Debugger.setAsyncCallStackDepth is sent during bootstrap\x2C\n // we cannot immediately call into JS to enable the hooks\x2C which could\n // interrupt the JS execution of bootstrap. So instead we save the\n // notification in the inspector agent if it's sent in the middle of\n // bootstrap\x2C and process the notification later here.\n if (internalBinding('config').hasInspector) {\n const {\n enable\x2C\n disable\n } = require('internal/inspector_async_hook');\n internalBinding('inspector').registerAsyncHook(enable\x2C disable);\n }\n}\n\n// In general deprecations are initialized wherever the APIs are implemented\x2C\n// this is used to deprecate APIs implemented in C++ where the deprecation\n// utilities are not easily accessible.\nfunction initializeDeprecations() {\n const { deprecate } = require('internal/util');\n const pendingDeprecation = getOptionValue('--pending-deprecation');\n\n // DEP0103: access to `process.binding('util').isX` type checkers\n // TODO(addaleax): Turn into a full runtime deprecation.\n const utilBinding = internalBinding('util');\n const types = require('internal/util/types');\n for (const name of [\n 'isArrayBuffer'\x2C\n 'isArrayBufferView'\x2C\n 'isAsyncFunction'\x2C\n 'isDataView'\x2C\n 'isDate'\x2C\n 'isExternal'\x2C\n 'isMap'\x2C\n 'isMapIterator'\x2C\n 'isNativeError'\x2C\n 'isPromise'\x2C\n 'isRegExp'\x2C\n 'isSet'\x2C\n 'isSetIterator'\x2C\n 'isTypedArray'\x2C\n 'isUint8Array'\x2C\n 'isAnyArrayBuffer'\x2C\n ]) {\n utilBinding[name] = pendingDeprecation ?\n deprecate(types[name]\x2C\n 'Accessing native typechecking bindings of Node ' +\n 'directly is deprecated. ' +\n `Please use \\`util.types.${name}\\` instead.`\x2C\n 'DEP0103') :\n types[name];\n }\n\n // TODO(joyeecheung): this is a legacy property exposed to process.\n // Now that we use the config binding to carry this information\x2C remove\n // it from the process. We may consider exposing it properly in\n // process.features.\n const { noBrowserGlobals } = internalBinding('config');\n if (noBrowserGlobals) {\n ObjectDefineProperty(process\x2C '_noBrowserGlobals'\x2C {\n writable: false\x2C\n enumerable: true\x2C\n configurable: true\x2C\n value: noBrowserGlobals\n });\n }\n\n if (pendingDeprecation) {\n process.binding = deprecate(process.binding\x2C\n 'process.binding() is deprecated. ' +\n 'Please use public APIs instead.'\x2C 'DEP0111');\n\n process._tickCallback = deprecate(process._tickCallback\x2C\n 'process._tickCallback() is deprecated'\x2C\n 'DEP0134');\n }\n\n // Create global.process and global.Buffer as getters so that we have a\n // deprecation path for these in ES Modules.\n // See https://github.com/nodejs/node/pull/26334.\n let _process = process;\n ObjectDefineProperty(globalThis\x2C 'process'\x2C {\n get() {\n return _process;\n }\x2C\n set(value) {\n _process = value;\n }\x2C\n enumerable: false\x2C\n configurable: true\n });\n\n let _Buffer = Buffer;\n ObjectDefineProperty(globalThis\x2C 'Buffer'\x2C {\n get() {\n return _Buffer;\n }\x2C\n set(value) {\n _Buffer = value;\n }\x2C\n enumerable: false\x2C\n configurable: true\n });\n}\n\nfunction setupChildProcessIpcChannel() {\n if (process.env.NODE_CHANNEL_FD) {\n const assert = require('internal/assert');\n\n const fd = NumberParseInt(process.env.NODE_CHANNEL_FD\x2C 10);\n assert(fd >= 0);\n\n // Make sure it's not accidentally inherited by child processes.\n delete process.env.NODE_CHANNEL_FD;\n\n const serializationMode =\n process.env.NODE_CHANNEL_SERIALIZATION_MODE || 'json';\n delete process.env.NODE_CHANNEL_SERIALIZATION_MODE;\n\n require('child_process')._forkChild(fd\x2C serializationMode);\n assert(process.send);\n }\n}\n\nfunction initializeClusterIPC() {\n if (process.argv[1] && process.env.NODE_UNIQUE_ID) {\n const cluster = require('cluster');\n cluster._setupWorker();\n // Make sure it's not accidentally inherited by child processes.\n delete process.env.NODE_UNIQUE_ID;\n }\n}\n\nfunction initializePolicy() {\n const experimentalPolicy = getOptionValue('--experimental-policy');\n if (experimentalPolicy) {\n process.emitWarning('Policies are experimental.'\x2C\n 'ExperimentalWarning');\n const { pathToFileURL\x2C URL } = require('internal/url');\n // URL here as it is slightly different parsing\n // no bare specifiers for now\n let manifestURL;\n if (require('path').isAbsolute(experimentalPolicy)) {\n manifestURL = new URL(`file://${experimentalPolicy}`);\n } else {\n const cwdURL = pathToFileURL(process.cwd());\n cwdURL.pathname += '/';\n manifestURL = new URL(experimentalPolicy\x2C cwdURL);\n }\n const fs = require('fs');\n const src = fs.readFileSync(manifestURL\x2C 'utf8');\n const experimentalPolicyIntegrity = getOptionValue('--policy-integrity');\n if (experimentalPolicyIntegrity) {\n const SRI = require('internal/policy/sri');\n const { createHash\x2C timingSafeEqual } = require('crypto');\n const realIntegrities = new SafeMap();\n const integrityEntries = SRI.parse(experimentalPolicyIntegrity);\n let foundMatch = false;\n for (let i = 0; i < integrityEntries.length; i++) {\n const {\n algorithm\x2C\n value: expected\n } = integrityEntries[i];\n const hash = createHash(algorithm);\n hash.update(src);\n const digest = hash.digest();\n if (digest.length === expected.length &&\n timingSafeEqual(digest\x2C expected)) {\n foundMatch = true;\n break;\n }\n realIntegrities.set(algorithm\x2C digest.toString('base64'));\n }\n if (!foundMatch) {\n throw new ERR_MANIFEST_ASSERT_INTEGRITY(manifestURL\x2C realIntegrities);\n }\n }\n require('internal/process/policy')\n .setup(src\x2C manifestURL.href);\n }\n}\n\nfunction initializeWASI() {\n const { NativeModule } = require('internal/bootstrap/loaders');\n const mod = NativeModule.map.get('wasi');\n mod.canBeRequiredByUsers =\n getOptionValue('--experimental-wasi-unstable-preview1');\n}\n\nfunction initializeCJSLoader() {\n const CJSLoader = require('internal/modules/cjs/loader');\n if (!getEmbedderOptions().noGlobalSearchPaths) {\n CJSLoader.Module._initPaths();\n }\n // TODO(joyeecheung): deprecate this in favor of a proper hook?\n CJSLoader.Module.runMain =\n require('internal/modules/run_main').executeUserEntryPoint;\n}\n\nfunction initializeESMLoader() {\n // Create this WeakMap in js-land because V8 has no C++ API for WeakMap.\n internalBinding('module_wrap').callbackMap = new SafeWeakMap();\n\n if (getEmbedderOptions().shouldNotRegisterESMLoader) return;\n\n const {\n setImportModuleDynamicallyCallback\x2C\n setInitializeImportMetaObjectCallback\n } = internalBinding('module_wrap');\n const esm = require('internal/process/esm_loader');\n // Setup per-isolate callbacks that locate data or callbacks that we keep\n // track of for different ESM modules.\n setInitializeImportMetaObjectCallback(esm.initializeImportMetaObject);\n setImportModuleDynamicallyCallback(esm.importModuleDynamicallyCallback);\n\n // Patch the vm module when --experimental-vm-modules is on.\n // Please update the comments in vm.js when this block changes.\n if (getOptionValue('--experimental-vm-modules')) {\n const {\n Module\x2C SourceTextModule\x2C SyntheticModule\x2C\n } = require('internal/vm/module');\n const vm = require('vm');\n vm.Module = Module;\n vm.SourceTextModule = SourceTextModule;\n vm.SyntheticModule = SyntheticModule;\n }\n}\n\nfunction initializeSourceMapsHandlers() {\n const { setSourceMapsEnabled } =\n require('internal/source_map/source_map_cache');\n process.setSourceMapsEnabled = setSourceMapsEnabled;\n}\n\nfunction initializeFrozenIntrinsics() {\n if (getOptionValue('--frozen-intrinsics')) {\n process.emitWarning('The --frozen-intrinsics flag is experimental'\x2C\n 'ExperimentalWarning');\n require('internal/freeze_intrinsics')();\n }\n}\n\nfunction loadPreloadModules() {\n // For user code\x2C we preload modules if `-r` is passed\n const preloadModules = getOptionValue('--require');\n if (preloadModules && preloadModules.length > 0) {\n const {\n Module: {\n _preloadModules\n }\x2C\n } = require('internal/modules/cjs/loader');\n _preloadModules(preloadModules);\n }\n}\n\nmodule.exports = {\n patchProcessObject\x2C\n setupCoverageHooks\x2C\n setupWarningHandler\x2C\n setupDebugEnv\x2C\n setupPerfHooks\x2C\n prepareMainThreadExecution\x2C\n initializeDeprecations\x2C\n initializeESMLoader\x2C\n initializeFrozenIntrinsics\x2C\n initializeSourceMapsHandlers\x2C\n loadPreloadModules\x2C\n setupTraceCategoryState\x2C\n setupInspectorHooks\x2C\n initializeReport\x2C\n initializeCJSLoader\x2C\n initializeWASI\n};\n | |
code-source-info,0x173f9a17dd16,92,0,15986,C0O0C4O15986,, | |
code-creation,Function,10,9334,0x173f9a17e816,426, node:internal/bootstrap/pre_execution:1:1,0x173f9a17dc90,~ | |
code-source-info,0x173f9a17e816,92,0,15986,C0O0C190O25C196O43C202O67C208O78C214O93C220O122C226O204C232O204C237O162C243O180C249O269C255O269C260O241C266O317C272O317C277O306C283O378C289O378C294O404C299O344C305O427C311O427C315O427C317O15589C324O15610C330O15632C336O15654C342O15677C348O15694C354O15712C360O15742C366O15768C372O15791C378O15821C384O15853C390O15875C396O15902C402O15925C408O15945C414O15968C420O15604C425O15985,, | |
new,MemoryChunk,0xaef925c0000,262144 | |
code-creation,Eval,10,9446,0xaef925c12b6,5, node:internal/options:1:1,0x173f9a17ffc8,~ | |
script-source,93,node:internal/options,'use strict';\n\nconst {\n getCLIOptions\x2C\n getEmbedderOptions: getEmbedderOptionsFromBinding\x2C\n} = internalBinding('options');\n\nlet warnOnAllowUnauthorized = true;\n\nlet optionsMap;\nlet aliasesMap;\nlet embedderOptions;\n\n// getCLIOptions() would serialize the option values from C++ land.\n// It would error if the values are queried before bootstrap is\n// complete so that we don't accidentally include runtime-dependent\n// states into a runtime-independent snapshot.\nfunction getCLIOptionsFromBinding() {\n if (!optionsMap) {\n ({ options: optionsMap } = getCLIOptions());\n }\n return optionsMap;\n}\n\nfunction getAliasesFromBinding() {\n if (!aliasesMap) {\n ({ aliases: aliasesMap } = getCLIOptions());\n }\n return aliasesMap;\n}\n\nfunction getEmbedderOptions() {\n if (!embedderOptions) {\n embedderOptions = getEmbedderOptionsFromBinding();\n }\n return embedderOptions;\n}\n\nfunction getOptionValue(optionName) {\n const options = getCLIOptionsFromBinding();\n if (optionName.startsWith('--no-')) {\n const option = options.get('--' + optionName.slice(5));\n return option && !option.value;\n }\n return options.get(optionName)?.value;\n}\n\nfunction getAllowUnauthorized() {\n const allowUnauthorized = process.env.NODE_TLS_REJECT_UNAUTHORIZED === '0';\n\n if (allowUnauthorized && warnOnAllowUnauthorized) {\n warnOnAllowUnauthorized = false;\n process.emitWarning(\n 'Setting the NODE_TLS_REJECT_UNAUTHORIZED ' +\n 'environment variable to \\'0\\' makes TLS connections ' +\n 'and HTTPS requests insecure by disabling ' +\n 'certificate verification.');\n }\n return allowUnauthorized;\n}\n\nmodule.exports = {\n get options() {\n return getCLIOptionsFromBinding();\n }\x2C\n get aliases() {\n return getAliasesFromBinding();\n }\x2C\n getOptionValue\x2C\n getAllowUnauthorized\x2C\n getEmbedderOptions\n};\n | |
code-source-info,0xaef925c12b6,93,0,1820,C0O0C4O1820,, | |
code-creation,Function,10,9490,0xaef925c1686,154, node:internal/options:1:1,0xaef925c1230,~ | |
code-source-info,0xaef925c1686,93,0,1820,C0O0C54O97C57O97C62O25C68O62C74O156C75O156C77O167C78O167C80O183C81O183C83O199C84O199C86O1614C93O1756C99O1774C105O1798C148O1629C153O1819,, | |
code-creation,LazyCompile,10,9531,0xaef925c1b96,69,internalBinding node:internal/bootstrap/loaders:164:45,0xff54a84f378,~ | |
code-source-info,0xaef925c1b96,9,5115,5353,C0O5140C7O5150C11O5164C15O5201C25O5228C30O5226C37O5262C48O5281C56O5317C61O5262C66O5338C68O5349,, | |
code-creation,LazyCompile,10,9634,0xaef925c23c6,213,prepareMainThreadExecution node:internal/bootstrap/pre_execution:22:36,0x173f9a17dd48,~ | |
code-source-info,0xaef925c23c6,92,491,2380,C10O634C15O634C18O736C21O736C25O771C28O771C31O800C34O800C37O820C40O820C43O845C46O845C49O1048C52O1060C57O1064C63O1088C66O1096C77O1152C82O1156C87O1125C91O1117C95O1183C98O1183C101O1275C104O1275C107O1381C110O1381C113O1403C116O1403C119O1462C122O1462C125O1785C128O1785C131O1860C134O1860C137O2057C140O2057C143O2084C146O2084C149O2118C152O2118C155O2146C158O2146C161O2166C164O2166C167O2191C170O2191C173O2235C179O2235C184O2277C189O2295C195O2277C199O2325C202O2325C205O2349C208O2349C212O2379,, | |
code-creation,LazyCompile,10,9678,0xaef925c35ee,19,reconnectZeroFillToggle node:internal/buffer:1072:33,0x24aa43771cd0,~ | |
script-source,19,node:internal/buffer,'use strict';\n\nconst {\n BigInt\x2C\n Float32Array\x2C\n Float64Array\x2C\n MathFloor\x2C\n Number\x2C\n Uint8Array\x2C\n} = primordials;\n\nconst {\n ERR_BUFFER_OUT_OF_BOUNDS\x2C\n ERR_INVALID_ARG_TYPE\x2C\n ERR_OUT_OF_RANGE\n} = require('internal/errors').codes;\nconst { validateNumber } = require('internal/validators');\nconst {\n asciiSlice\x2C\n base64Slice\x2C\n base64urlSlice\x2C\n latin1Slice\x2C\n hexSlice\x2C\n ucs2Slice\x2C\n utf8Slice\x2C\n asciiWrite\x2C\n base64Write\x2C\n base64urlWrite\x2C\n latin1Write\x2C\n hexWrite\x2C\n ucs2Write\x2C\n utf8Write\x2C\n getZeroFillToggle\n} = internalBinding('buffer');\nconst {\n untransferable_object_private_symbol\x2C\n setHiddenValue\x2C\n} = internalBinding('util');\n\n// Temporary buffers to convert numbers.\nconst float32Array = new Float32Array(1);\nconst uInt8Float32Array = new Uint8Array(float32Array.buffer);\nconst float64Array = new Float64Array(1);\nconst uInt8Float64Array = new Uint8Array(float64Array.buffer);\n\n// Check endianness.\nfloat32Array[0] = -1; // 0xBF800000\n// Either it is [0\x2C 0\x2C 128\x2C 191] or [191\x2C 128\x2C 0\x2C 0]. It is not possible to\n// check this with `os.endianness()` because that is determined at compile time.\nconst bigEndian = uInt8Float32Array[3] === 0;\n\nfunction checkBounds(buf\x2C offset\x2C byteLength) {\n validateNumber(offset\x2C 'offset');\n if (buf[offset] === undefined || buf[offset + byteLength] === undefined)\n boundsError(offset\x2C buf.length - (byteLength + 1));\n}\n\nfunction checkInt(value\x2C min\x2C max\x2C buf\x2C offset\x2C byteLength) {\n if (value > max || value < min) {\n const n = typeof min === 'bigint' ? 'n' : '';\n let range;\n if (byteLength > 3) {\n if (min === 0 || min === 0n) {\n range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`;\n } else {\n range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and ` +\n `< 2${n} ** ${(byteLength + 1) * 8 - 1}${n}`;\n }\n } else {\n range = `>= ${min}${n} and <= ${max}${n}`;\n }\n throw new ERR_OUT_OF_RANGE('value'\x2C range\x2C value);\n }\n checkBounds(buf\x2C offset\x2C byteLength);\n}\n\nfunction boundsError(value\x2C length\x2C type) {\n if (MathFloor(value) !== value) {\n validateNumber(value\x2C type);\n throw new ERR_OUT_OF_RANGE(type || 'offset'\x2C 'an integer'\x2C value);\n }\n\n if (length < 0)\n throw new ERR_BUFFER_OUT_OF_BOUNDS();\n\n throw new ERR_OUT_OF_RANGE(type || 'offset'\x2C\n `>= ${type ? 1 : 0} and <= ${length}`\x2C\n value);\n}\n\n// Read integers.\nfunction readBigUInt64LE(offset = 0) {\n validateNumber(offset\x2C 'offset');\n const first = this[offset];\n const last = this[offset + 7];\n if (first === undefined || last === undefined)\n boundsError(offset\x2C this.length - 8);\n\n const lo = first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24;\n\n const hi = this[++offset] +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n last * 2 ** 24;\n\n return BigInt(lo) + (BigInt(hi) << 32n);\n}\n\nfunction readBigUInt64BE(offset = 0) {\n validateNumber(offset\x2C 'offset');\n const first = this[offset];\n const last = this[offset + 7];\n if (first === undefined || last === undefined)\n boundsError(offset\x2C this.length - 8);\n\n const hi = first * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset];\n\n const lo = this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last;\n\n return (BigInt(hi) << 32n) + BigInt(lo);\n}\n\nfunction readBigInt64LE(offset = 0) {\n validateNumber(offset\x2C 'offset');\n const first = this[offset];\n const last = this[offset + 7];\n if (first === undefined || last === undefined)\n boundsError(offset\x2C this.length - 8);\n\n const val = this[offset + 4] +\n this[offset + 5] * 2 ** 8 +\n this[offset + 6] * 2 ** 16 +\n (last << 24); // Overflow\n return (BigInt(val) << 32n) +\n BigInt(first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24);\n}\n\nfunction readBigInt64BE(offset = 0) {\n validateNumber(offset\x2C 'offset');\n const first = this[offset];\n const last = this[offset + 7];\n if (first === undefined || last === undefined)\n boundsError(offset\x2C this.length - 8);\n\n const val = (first << 24) + // Overflow\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset];\n return (BigInt(val) << 32n) +\n BigInt(this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last);\n}\n\nfunction readUIntLE(offset\x2C byteLength) {\n if (offset === undefined)\n throw new ERR_INVALID_ARG_TYPE('offset'\x2C 'number'\x2C offset);\n if (byteLength === 6)\n return readUInt48LE(this\x2C offset);\n if (byteLength === 5)\n return readUInt40LE(this\x2C offset);\n if (byteLength === 3)\n return readUInt24LE(this\x2C offset);\n if (byteLength === 4)\n return this.readUInt32LE(offset);\n if (byteLength === 2)\n return this.readUInt16LE(offset);\n if (byteLength === 1)\n return this.readUInt8(offset);\n\n boundsError(byteLength\x2C 6\x2C 'byteLength');\n}\n\nfunction readUInt48LE(buf\x2C offset = 0) {\n validateNumber(offset\x2C 'offset');\n const first = buf[offset];\n const last = buf[offset + 5];\n if (first === undefined || last === undefined)\n boundsError(offset\x2C buf.length - 6);\n\n return first +\n buf[++offset] * 2 ** 8 +\n buf[++offset] * 2 ** 16 +\n buf[++offset] * 2 ** 24 +\n (buf[++offset] + last * 2 ** 8) * 2 ** 32;\n}\n\nfunction readUInt40LE(buf\x2C offset = 0) {\n validateNumber(offset\x2C 'offset');\n const first = buf[offset];\n const last = buf[offset + 4];\n if (first === undefined || last === undefined)\n boundsError(offset\x2C buf.length - 5);\n\n return first +\n buf[++offset] * 2 ** 8 +\n buf[++offset] * 2 ** 16 +\n buf[++offset] * 2 ** 24 +\n last * 2 ** 32;\n}\n\nfunction readUInt32LE(offset = 0) {\n validateNumber(offset\x2C 'offset');\n const first = this[offset];\n const last = this[offset + 3];\n if (first === undefined || last === undefined)\n boundsError(offset\x2C this.length - 4);\n\n return first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n last * 2 ** 24;\n}\n\nfunction readUInt24LE(buf\x2C offset = 0) {\n validateNumber(offset\x2C 'offset');\n const first = buf[offset];\n const last = buf[offset + 2];\n if (first === undefined || last === undefined)\n boundsError(offset\x2C buf.length - 3);\n\n return first + buf[++offset] * 2 ** 8 + last * 2 ** 16;\n}\n\nfunction readUInt16LE(offset = 0) {\n validateNumber(offset\x2C 'offset');\n const first = this[offset];\n const last = this[offset + 1];\n if (first === undefined || last === undefined)\n boundsError(offset\x2C this.length - 2);\n\n return first + last * 2 ** 8;\n}\n\nfunction readUInt8(offset = 0) {\n validateNumber(offset\x2C 'offset');\n const val = this[offset];\n if (val === undefined)\n boundsError(offset\x2C this.length - 1);\n\n return val;\n}\n\nfunction readUIntBE(offset\x2C byteLength) {\n if (offset === undefined)\n throw new ERR_INVALID_ARG_TYPE('offset'\x2C 'number'\x2C offset);\n if (byteLength === 6)\n return readUInt48BE(this\x2C offset);\n if (byteLength === 5)\n return readUInt40BE(this\x2C offset);\n if (byteLength === 3)\n return readUInt24BE(this\x2C offset);\n if (byteLength === 4)\n return this.readUInt32BE(offset);\n if (byteLength === 2)\n return this.readUInt16BE(offset);\n if (byteLength === 1)\n return this.readUInt8(offset);\n\n boundsError(byteLength\x2C 6\x2C 'byteLength');\n}\n\nfunction readUInt48BE(buf\x2C offset = 0) {\n validateNumber(offset\x2C 'offset');\n const first = buf[offset];\n const last = buf[offset + 5];\n if (first === undefined || last === undefined)\n boundsError(offset\x2C buf.length - 6);\n\n return (first * 2 ** 8 + buf[++offset]) * 2 ** 32 +\n buf[++offset] * 2 ** 24 +\n buf[++offset] * 2 ** 16 +\n buf[++offset] * 2 ** 8 +\n last;\n}\n\nfunction readUInt40BE(buf\x2C offset = 0) {\n validateNumber(offset\x2C 'offset');\n const first = buf[offset];\n const last = buf[offset + 4];\n if (first === undefined || last === undefined)\n boundsError(offset\x2C buf.length - 5);\n\n return first * 2 ** 32 +\n buf[++offset] * 2 ** 24 +\n buf[++offset] * 2 ** 16 +\n buf[++offset] * 2 ** 8 +\n last;\n}\n\nfunction readUInt32BE(offset = 0) {\n validateNumber(offset\x2C 'offset');\n const first = this[offset];\n const last = this[offset + 3];\n if (first === undefined || last === undefined)\n boundsError(offset\x2C this.length - 4);\n\n return first * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last;\n}\n\nfunction readUInt24BE(buf\x2C offset = 0) {\n validateNumber(offset\x2C 'offset');\n const first = buf[offset];\n const last = buf[offset + 2];\n if (first === undefined || last === undefined)\n boundsError(offset\x2C buf.length - 3);\n\n return first * 2 ** 16 + buf[++offset] * 2 ** 8 + last;\n}\n\nfunction readUInt16BE(offset = 0) {\n validateNumber(offset\x2C 'offset');\n const first = this[offset];\n const last = this[offset + 1];\n if (first === undefined || last === undefined)\n boundsError(offset\x2C this.length - 2);\n\n return first * 2 ** 8 + last;\n}\n\nfunction readIntLE(offset\x2C byteLength) {\n if (offset === undefined)\n throw new ERR_INVALID_ARG_TYPE('offset'\x2C 'number'\x2C offset);\n if (byteLength === 6)\n return readInt48LE(this\x2C offset);\n if (byteLength === 5)\n return readInt40LE(this\x2C offset);\n if (byteLength === 3)\n return readInt24LE(this\x2C offset);\n if (byteLength === 4)\n return this.readInt32LE(offset);\n if (byteLength === 2)\n return this.readInt16LE(offset);\n if (byteLength === 1)\n return this.readInt8(offset);\n\n boundsError(byteLength\x2C 6\x2C 'byteLength');\n}\n\nfunction readInt48LE(buf\x2C offset = 0) {\n validateNumber(offset\x2C 'offset');\n const first = buf[offset];\n const last = buf[offset + 5];\n if (first === undefined || last === undefined)\n boundsError(offset\x2C buf.length - 6);\n\n const val = buf[offset + 4] + last * 2 ** 8;\n return (val | (val & 2 ** 15) * 0x1fffe) * 2 ** 32 +\n first +\n buf[++offset] * 2 ** 8 +\n buf[++offset] * 2 ** 16 +\n buf[++offset] * 2 ** 24;\n}\n\nfunction readInt40LE(buf\x2C offset = 0) {\n validateNumber(offset\x2C 'offset');\n const first = buf[offset];\n const last = buf[offset + 4];\n if (first === undefined || last === undefined)\n boundsError(offset\x2C buf.length - 5);\n\n return (last | (last & 2 ** 7) * 0x1fffffe) * 2 ** 32 +\n first +\n buf[++offset] * 2 ** 8 +\n buf[++offset] * 2 ** 16 +\n buf[++offset] * 2 ** 24;\n}\n\nfunction readInt32LE(offset = 0) {\n validateNumber(offset\x2C 'offset');\n const first = this[offset];\n const last = this[offset + 3];\n if (first === undefined || last === undefined)\n boundsError(offset\x2C this.length - 4);\n\n return first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n (last << 24); // Overflow\n}\n\nfunction readInt24LE(buf\x2C offset = 0) {\n validateNumber(offset\x2C 'offset');\n const first = buf[offset];\n const last = buf[offset + 2];\n if (first === undefined || last === undefined)\n boundsError(offset\x2C buf.length - 3);\n\n const val = first + buf[++offset] * 2 ** 8 + last * 2 ** 16;\n return val | (val & 2 ** 23) * 0x1fe;\n}\n\nfunction readInt16LE(offset = 0) {\n validateNumber(offset\x2C 'offset');\n const first = this[offset];\n const last = this[offset + 1];\n if (first === undefined || last === undefined)\n boundsError(offset\x2C this.length - 2);\n\n const val = first + last * 2 ** 8;\n return val | (val & 2 ** 15) * 0x1fffe;\n}\n\nfunction readInt8(offset = 0) {\n validateNumber(offset\x2C 'offset');\n const val = this[offset];\n if (val === undefined)\n boundsError(offset\x2C this.length - 1);\n\n return val | (val & 2 ** 7) * 0x1fffffe;\n}\n\nfunction readIntBE(offset\x2C byteLength) {\n if (offset === undefined)\n throw new ERR_INVALID_ARG_TYPE('offset'\x2C 'number'\x2C offset);\n if (byteLength === 6)\n return readInt48BE(this\x2C offset);\n if (byteLength === 5)\n return readInt40BE(this\x2C offset);\n if (byteLength === 3)\n return readInt24BE(this\x2C offset);\n if (byteLength === 4)\n return this.readInt32BE(offset);\n if (byteLength === 2)\n return this.readInt16BE(offset);\n if (byteLength === 1)\n return this.readInt8(offset);\n\n boundsError(byteLength\x2C 6\x2C 'byteLength');\n}\n\nfunction readInt48BE(buf\x2C offset = 0) {\n validateNumber(offset\x2C 'offset');\n const first = buf[offset];\n const last = buf[offset + 5];\n if (first === undefined || last === undefined)\n boundsError(offset\x2C buf.length - 6);\n\n const val = buf[++offset] + first * 2 ** 8;\n return (val | (val & 2 ** 15) * 0x1fffe) * 2 ** 32 +\n buf[++offset] * 2 ** 24 +\n buf[++offset] * 2 ** 16 +\n buf[++offset] * 2 ** 8 +\n last;\n}\n\nfunction readInt40BE(buf\x2C offset = 0) {\n validateNumber(offset\x2C 'offset');\n const first = buf[offset];\n const last = buf[offset + 4];\n if (first === undefined || last === undefined)\n boundsError(offset\x2C buf.length - 5);\n\n return (first | (first & 2 ** 7) * 0x1fffffe) * 2 ** 32 +\n buf[++offset] * 2 ** 24 +\n buf[++offset] * 2 ** 16 +\n buf[++offset] * 2 ** 8 +\n last;\n}\n\nfunction readInt32BE(offset = 0) {\n validateNumber(offset\x2C 'offset');\n const first = this[offset];\n const last = this[offset + 3];\n if (first === undefined || last === undefined)\n boundsError(offset\x2C this.length - 4);\n\n return (first << 24) + // Overflow\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last;\n}\n\nfunction readInt24BE(buf\x2C offset = 0) {\n validateNumber(offset\x2C 'offset');\n const first = buf[offset];\n const last = buf[offset + 2];\n if (first === undefined || last === undefined)\n boundsError(offset\x2C buf.length - 3);\n\n const val = first * 2 ** 16 + buf[++offset] * 2 ** 8 + last;\n return val | (val & 2 ** 23) * 0x1fe;\n}\n\nfunction readInt16BE(offset = 0) {\n validateNumber(offset\x2C 'offset');\n const first = this[offset];\n const last = this[offset + 1];\n if (first === undefined || last === undefined)\n boundsError(offset\x2C this.length - 2);\n\n const val = first * 2 ** 8 + last;\n return val | (val & 2 ** 15) * 0x1fffe;\n}\n\n// Read floats\nfunction readFloatBackwards(offset = 0) {\n validateNumber(offset\x2C 'offset');\n const first = this[offset];\n const last = this[offset + 3];\n if (first === undefined || last === undefined)\n boundsError(offset\x2C this.length - 4);\n\n uInt8Float32Array[3] = first;\n uInt8Float32Array[2] = this[++offset];\n uInt8Float32Array[1] = this[++offset];\n uInt8Float32Array[0] = last;\n return float32Array[0];\n}\n\nfunction readFloatForwards(offset = 0) {\n validateNumber(offset\x2C 'offset');\n const first = this[offset];\n const last = this[offset + 3];\n if (first === undefined || last === undefined)\n boundsError(offset\x2C this.length - 4);\n\n uInt8Float32Array[0] = first;\n uInt8Float32Array[1] = this[++offset];\n uInt8Float32Array[2] = this[++offset];\n uInt8Float32Array[3] = last;\n return float32Array[0];\n}\n\nfunction readDoubleBackwards(offset = 0) {\n validateNumber(offset\x2C 'offset');\n const first = this[offset];\n const last = this[offset + 7];\n if (first === undefined || last === undefined)\n boundsError(offset\x2C this.length - 8);\n\n uInt8Float64Array[7] = first;\n uInt8Float64Array[6] = this[++offset];\n uInt8Float64Array[5] = this[++offset];\n uInt8Float64Array[4] = this[++offset];\n uInt8Float64Array[3] = this[++offset];\n uInt8Float64Array[2] = this[++offset];\n uInt8Float64Array[1] = this[++offset];\n uInt8Float64Array[0] = last;\n return float64Array[0];\n}\n\nfunction readDoubleForwards(offset = 0) {\n validateNumber(offset\x2C 'offset');\n const first = this[offset];\n const last = this[offset + 7];\n if (first === undefined || last === undefined)\n boundsError(offset\x2C this.length - 8);\n\n uInt8Float64Array[0] = first;\n uInt8Float64Array[1] = this[++offset];\n uInt8Float64Array[2] = this[++offset];\n uInt8Float64Array[3] = this[++offset];\n uInt8Float64Array[4] = this[++offset];\n uInt8Float64Array[5] = this[++offset];\n uInt8Float64Array[6] = this[++offset];\n uInt8Float64Array[7] = last;\n return float64Array[0];\n}\n\n// Write integers.\nfunction writeBigU_Int64LE(buf\x2C value\x2C offset\x2C min\x2C max) {\n checkInt(value\x2C min\x2C max\x2C buf\x2C offset\x2C 7);\n\n let lo = Number(value & 0xffffffffn);\n buf[offset++] = lo;\n lo = lo >> 8;\n buf[offset++] = lo;\n lo = lo >> 8;\n buf[offset++] = lo;\n lo = lo >> 8;\n buf[offset++] = lo;\n let hi = Number(value >> 32n & 0xffffffffn);\n buf[offset++] = hi;\n hi = hi >> 8;\n buf[offset++] = hi;\n hi = hi >> 8;\n buf[offset++] = hi;\n hi = hi >> 8;\n buf[offset++] = hi;\n return offset;\n}\n\nfunction writeBigUInt64LE(value\x2C offset = 0) {\n return writeBigU_Int64LE(this\x2C value\x2C offset\x2C 0n\x2C 0xffffffffffffffffn);\n}\n\nfunction writeBigU_Int64BE(buf\x2C value\x2C offset\x2C min\x2C max) {\n checkInt(value\x2C min\x2C max\x2C buf\x2C offset\x2C 7);\n\n let lo = Number(value & 0xffffffffn);\n buf[offset + 7] = lo;\n lo = lo >> 8;\n buf[offset + 6] = lo;\n lo = lo >> 8;\n buf[offset + 5] = lo;\n lo = lo >> 8;\n buf[offset + 4] = lo;\n let hi = Number(value >> 32n & 0xffffffffn);\n buf[offset + 3] = hi;\n hi = hi >> 8;\n buf[offset + 2] = hi;\n hi = hi >> 8;\n buf[offset + 1] = hi;\n hi = hi >> 8;\n buf[offset] = hi;\n return offset + 8;\n}\n\nfunction writeBigUInt64BE(value\x2C offset = 0) {\n return writeBigU_Int64BE(this\x2C value\x2C offset\x2C 0n\x2C 0xffffffffffffffffn);\n}\n\nfunction writeBigInt64LE(value\x2C offset = 0) {\n return writeBigU_Int64LE(\n this\x2C value\x2C offset\x2C -0x8000000000000000n\x2C 0x7fffffffffffffffn);\n}\n\nfunction writeBigInt64BE(value\x2C offset = 0) {\n return writeBigU_Int64BE(\n this\x2C value\x2C offset\x2C -0x8000000000000000n\x2C 0x7fffffffffffffffn);\n}\n\nfunction writeUIntLE(value\x2C offset\x2C byteLength) {\n if (byteLength === 6)\n return writeU_Int48LE(this\x2C value\x2C offset\x2C 0\x2C 0xffffffffffff);\n if (byteLength === 5)\n return writeU_Int40LE(this\x2C value\x2C offset\x2C 0\x2C 0xffffffffff);\n if (byteLength === 3)\n return writeU_Int24LE(this\x2C value\x2C offset\x2C 0\x2C 0xffffff);\n if (byteLength === 4)\n return writeU_Int32LE(this\x2C value\x2C offset\x2C 0\x2C 0xffffffff);\n if (byteLength === 2)\n return writeU_Int16LE(this\x2C value\x2C offset\x2C 0\x2C 0xffff);\n if (byteLength === 1)\n return writeU_Int8(this\x2C value\x2C offset\x2C 0\x2C 0xff);\n\n boundsError(byteLength\x2C 6\x2C 'byteLength');\n}\n\nfunction writeU_Int48LE(buf\x2C value\x2C offset\x2C min\x2C max) {\n value = +value;\n checkInt(value\x2C min\x2C max\x2C buf\x2C offset\x2C 5);\n\n const newVal = MathFloor(value * 2 ** -32);\n buf[offset++] = value;\n value = value >>> 8;\n buf[offset++] = value;\n value = value >>> 8;\n buf[offset++] = value;\n value = value >>> 8;\n buf[offset++] = value;\n buf[offset++] = newVal;\n buf[offset++] = (newVal >>> 8);\n return offset;\n}\n\nfunction writeU_Int40LE(buf\x2C value\x2C offset\x2C min\x2C max) {\n value = +value;\n checkInt(value\x2C min\x2C max\x2C buf\x2C offset\x2C 4);\n\n const newVal = value;\n buf[offset++] = value;\n value = value >>> 8;\n buf[offset++] = value;\n value = value >>> 8;\n buf[offset++] = value;\n value = value >>> 8;\n buf[offset++] = value;\n buf[offset++] = MathFloor(newVal * 2 ** -32);\n return offset;\n}\n\nfunction writeU_Int32LE(buf\x2C value\x2C offset\x2C min\x2C max) {\n value = +value;\n checkInt(value\x2C min\x2C max\x2C buf\x2C offset\x2C 3);\n\n buf[offset++] = value;\n value = value >>> 8;\n buf[offset++] = value;\n value = value >>> 8;\n buf[offset++] = value;\n value = value >>> 8;\n buf[offset++] = value;\n return offset;\n}\n\nfunction writeUInt32LE(value\x2C offset = 0) {\n return writeU_Int32LE(this\x2C value\x2C offset\x2C 0\x2C 0xffffffff);\n}\n\nfunction writeU_Int24LE(buf\x2C value\x2C offset\x2C min\x2C max) {\n value = +value;\n checkInt(value\x2C min\x2C max\x2C buf\x2C offset\x2C 2);\n\n buf[offset++] = value;\n value = value >>> 8;\n buf[offset++] = value;\n value = value >>> 8;\n buf[offset++] = value;\n return offset;\n}\n\nfunction writeU_Int16LE(buf\x2C value\x2C offset\x2C min\x2C max) {\n value = +value;\n checkInt(value\x2C min\x2C max\x2C buf\x2C offset\x2C 1);\n\n buf[offset++] = value;\n buf[offset++] = (value >>> 8);\n return offset;\n}\n\nfunction writeUInt16LE(value\x2C offset = 0) {\n return writeU_Int16LE(this\x2C value\x2C offset\x2C 0\x2C 0xffff);\n}\n\nfunction writeU_Int8(buf\x2C value\x2C offset\x2C min\x2C max) {\n value = +value;\n // `checkInt()` can not be used here because it checks two entries.\n validateNumber(offset\x2C 'offset');\n if (value > max || value < min) {\n throw new ERR_OUT_OF_RANGE('value'\x2C `>= ${min} and <= ${max}`\x2C value);\n }\n if (buf[offset] === undefined)\n boundsError(offset\x2C buf.length - 1);\n\n buf[offset] = value;\n return offset + 1;\n}\n\nfunction writeUInt8(value\x2C offset = 0) {\n return writeU_Int8(this\x2C value\x2C offset\x2C 0\x2C 0xff);\n}\n\nfunction writeUIntBE(value\x2C offset\x2C byteLength) {\n if (byteLength === 6)\n return writeU_Int48BE(this\x2C value\x2C offset\x2C 0\x2C 0xffffffffffff);\n if (byteLength === 5)\n return writeU_Int40BE(this\x2C value\x2C offset\x2C 0\x2C 0xffffffffff);\n if (byteLength === 3)\n return writeU_Int24BE(this\x2C value\x2C offset\x2C 0\x2C 0xffffff);\n if (byteLength === 4)\n return writeU_Int32BE(this\x2C value\x2C offset\x2C 0\x2C 0xffffffff);\n if (byteLength === 2)\n return writeU_Int16BE(this\x2C value\x2C offset\x2C 0\x2C 0xffff);\n if (byteLength === 1)\n return writeU_Int8(this\x2C value\x2C offset\x2C 0\x2C 0xff);\n\n boundsError(byteLength\x2C 6\x2C 'byteLength');\n}\n\nfunction writeU_Int48BE(buf\x2C value\x2C offset\x2C min\x2C max) {\n value = +value;\n checkInt(value\x2C min\x2C max\x2C buf\x2C offset\x2C 5);\n\n const newVal = MathFloor(value * 2 ** -32);\n buf[offset++] = (newVal >>> 8);\n buf[offset++] = newVal;\n buf[offset + 3] = value;\n value = value >>> 8;\n buf[offset + 2] = value;\n value = value >>> 8;\n buf[offset + 1] = value;\n value = value >>> 8;\n buf[offset] = value;\n return offset + 4;\n}\n\nfunction writeU_Int40BE(buf\x2C value\x2C offset\x2C min\x2C max) {\n value = +value;\n checkInt(value\x2C min\x2C max\x2C buf\x2C offset\x2C 4);\n\n buf[offset++] = MathFloor(value * 2 ** -32);\n buf[offset + 3] = value;\n value = value >>> 8;\n buf[offset + 2] = value;\n value = value >>> 8;\n buf[offset + 1] = value;\n value = value >>> 8;\n buf[offset] = value;\n return offset + 4;\n}\n\nfunction writeU_Int32BE(buf\x2C value\x2C offset\x2C min\x2C max) {\n value = +value;\n checkInt(value\x2C min\x2C max\x2C buf\x2C offset\x2C 3);\n\n buf[offset + 3] = value;\n value = value >>> 8;\n buf[offset + 2] = value;\n value = value >>> 8;\n buf[offset + 1] = value;\n value = value >>> 8;\n buf[offset] = value;\n return offset + 4;\n}\n\nfunction writeUInt32BE(value\x2C offset = 0) {\n return writeU_Int32BE(this\x2C value\x2C offset\x2C 0\x2C 0xffffffff);\n}\n\nfunction writeU_Int24BE(buf\x2C value\x2C offset\x2C min\x2C max) {\n value = +value;\n checkInt(value\x2C min\x2C max\x2C buf\x2C offset\x2C 2);\n\n buf[offset + 2] = value;\n value = value >>> 8;\n buf[offset + 1] = value;\n value = value >>> 8;\n buf[offset] = value;\n return offset + 3;\n}\n\nfunction writeU_Int16BE(buf\x2C value\x2C offset\x2C min\x2C max) {\n value = +value;\n checkInt(value\x2C min\x2C max\x2C buf\x2C offset\x2C 1);\n\n buf[offset++] = (value >>> 8);\n buf[offset++] = value;\n return offset;\n}\n\nfunction writeUInt16BE(value\x2C offset = 0) {\n return writeU_Int16BE(this\x2C value\x2C offset\x2C 0\x2C 0xffff);\n}\n\nfunction writeIntLE(value\x2C offset\x2C byteLength) {\n if (byteLength === 6)\n return writeU_Int48LE(this\x2C value\x2C offset\x2C -0x800000000000\x2C 0x7fffffffffff);\n if (byteLength === 5)\n return writeU_Int40LE(this\x2C value\x2C offset\x2C -0x8000000000\x2C 0x7fffffffff);\n if (byteLength === 3)\n return writeU_Int24LE(this\x2C value\x2C offset\x2C -0x800000\x2C 0x7fffff);\n if (byteLength === 4)\n return writeU_Int32LE(this\x2C value\x2C offset\x2C -0x80000000\x2C 0x7fffffff);\n if (byteLength === 2)\n return writeU_Int16LE(this\x2C value\x2C offset\x2C -0x8000\x2C 0x7fff);\n if (byteLength === 1)\n return writeU_Int8(this\x2C value\x2C offset\x2C -0x80\x2C 0x7f);\n\n boundsError(byteLength\x2C 6\x2C 'byteLength');\n}\n\nfunction writeInt32LE(value\x2C offset = 0) {\n return writeU_Int32LE(this\x2C value\x2C offset\x2C -0x80000000\x2C 0x7fffffff);\n}\n\nfunction writeInt16LE(value\x2C offset = 0) {\n return writeU_Int16LE(this\x2C value\x2C offset\x2C -0x8000\x2C 0x7fff);\n}\n\nfunction writeInt8(value\x2C offset = 0) {\n return writeU_Int8(this\x2C value\x2C offset\x2C -0x80\x2C 0x7f);\n}\n\nfunction writeIntBE(value\x2C offset\x2C byteLength) {\n if (byteLength === 6)\n return writeU_Int48BE(this\x2C value\x2C offset\x2C -0x800000000000\x2C 0x7fffffffffff);\n if (byteLength === 5)\n return writeU_Int40BE(this\x2C value\x2C offset\x2C -0x8000000000\x2C 0x7fffffffff);\n if (byteLength === 3)\n return writeU_Int24BE(this\x2C value\x2C offset\x2C -0x800000\x2C 0x7fffff);\n if (byteLength === 4)\n return writeU_Int32BE(this\x2C value\x2C offset\x2C -0x80000000\x2C 0x7fffffff);\n if (byteLength === 2)\n return writeU_Int16BE(this\x2C value\x2C offset\x2C -0x8000\x2C 0x7fff);\n if (byteLength === 1)\n return writeU_Int8(this\x2C value\x2C offset\x2C -0x80\x2C 0x7f);\n\n boundsError(byteLength\x2C 6\x2C 'byteLength');\n}\n\nfunction writeInt32BE(value\x2C offset = 0) {\n return writeU_Int32BE(this\x2C value\x2C offset\x2C -0x80000000\x2C 0x7fffffff);\n}\n\nfunction writeInt16BE(value\x2C offset = 0) {\n return writeU_Int16BE(this\x2C value\x2C offset\x2C -0x8000\x2C 0x7fff);\n}\n\n// Write floats.\nfunction writeDoubleForwards(val\x2C offset = 0) {\n val = +val;\n checkBounds(this\x2C offset\x2C 7);\n\n float64Array[0] = val;\n this[offset++] = uInt8Float64Array[0];\n this[offset++] = uInt8Float64Array[1];\n this[offset++] = uInt8Float64Array[2];\n this[offset++] = uInt8Float64Array[3];\n this[offset++] = uInt8Float64Array[4];\n this[offset++] = uInt8Float64Array[5];\n this[offset++] = uInt8Float64Array[6];\n this[offset++] = uInt8Float64Array[7];\n return offset;\n}\n\nfunction writeDoubleBackwards(val\x2C offset = 0) {\n val = +val;\n checkBounds(this\x2C offset\x2C 7);\n\n float64Array[0] = val;\n this[offset++] = uInt8Float64Array[7];\n this[offset++] = uInt8Float64Array[6];\n this[offset++] = uInt8Float64Array[5];\n this[offset++] = uInt8Float64Array[4];\n this[offset++] = uInt8Float64Array[3];\n this[offset++] = uInt8Float64Array[2];\n this[offset++] = uInt8Float64Array[1];\n this[offset++] = uInt8Float64Array[0];\n return offset;\n}\n\nfunction writeFloatForwards(val\x2C offset = 0) {\n val = +val;\n checkBounds(this\x2C offset\x2C 3);\n\n float32Array[0] = val;\n this[offset++] = uInt8Float32Array[0];\n this[offset++] = uInt8Float32Array[1];\n this[offset++] = uInt8Float32Array[2];\n this[offset++] = uInt8Float32Array[3];\n return offset;\n}\n\nfunction writeFloatBackwards(val\x2C offset = 0) {\n val = +val;\n checkBounds(this\x2C offset\x2C 3);\n\n float32Array[0] = val;\n this[offset++] = uInt8Float32Array[3];\n this[offset++] = uInt8Float32Array[2];\n this[offset++] = uInt8Float32Array[1];\n this[offset++] = uInt8Float32Array[0];\n return offset;\n}\n\nclass FastBuffer extends Uint8Array {\n // Using an explicit constructor here is necessary to avoid relying on\n // `Array.prototype[Symbol.iterator]`\x2C which can be mutated by users.\n // eslint-disable-next-line no-useless-constructor\n constructor(bufferOrLength\x2C byteOffset\x2C length) {\n super(bufferOrLength\x2C byteOffset\x2C length);\n }\n}\n\nfunction addBufferPrototypeMethods(proto) {\n proto.readBigUInt64LE = readBigUInt64LE;\n proto.readBigUInt64BE = readBigUInt64BE;\n proto.readBigUint64LE = readBigUInt64LE;\n proto.readBigUint64BE = readBigUInt64BE;\n proto.readBigInt64LE = readBigInt64LE;\n proto.readBigInt64BE = readBigInt64BE;\n proto.writeBigUInt64LE = writeBigUInt64LE;\n proto.writeBigUInt64BE = writeBigUInt64BE;\n proto.writeBigUint64LE = writeBigUInt64LE;\n proto.writeBigUint64BE = writeBigUInt64BE;\n proto.writeBigInt64LE = writeBigInt64LE;\n proto.writeBigInt64BE = writeBigInt64BE;\n\n proto.readUIntLE = readUIntLE;\n proto.readUInt32LE = readUInt32LE;\n proto.readUInt16LE = readUInt16LE;\n proto.readUInt8 = readUInt8;\n proto.readUIntBE = readUIntBE;\n proto.readUInt32BE = readUInt32BE;\n proto.readUInt16BE = readUInt16BE;\n proto.readUintLE = readUIntLE;\n proto.readUint32LE = readUInt32LE;\n proto.readUint16LE = readUInt16LE;\n proto.readUint8 = readUInt8;\n proto.readUintBE = readUIntBE;\n proto.readUint32BE = readUInt32BE;\n proto.readUint16BE = readUInt16BE;\n proto.readIntLE = readIntLE;\n proto.readInt32LE = readInt32LE;\n proto.readInt16LE = readInt16LE;\n proto.readInt8 = readInt8;\n proto.readIntBE = readIntBE;\n proto.readInt32BE = readInt32BE;\n proto.readInt16BE = readInt16BE;\n\n proto.writeUIntLE = writeUIntLE;\n proto.writeUInt32LE = writeUInt32LE;\n proto.writeUInt16LE = writeUInt16LE;\n proto.writeUInt8 = writeUInt8;\n proto.writeUIntBE = writeUIntBE;\n proto.writeUInt32BE = writeUInt32BE;\n proto.writeUInt16BE = writeUInt16BE;\n proto.writeUintLE = writeUIntLE;\n proto.writeUint32LE = writeUInt32LE;\n proto.writeUint16LE = writeUInt16LE;\n proto.writeUint8 = writeUInt8;\n proto.writeUintBE = writeUIntBE;\n proto.writeUint32BE = writeUInt32BE;\n proto.writeUint16BE = writeUInt16BE;\n proto.writeIntLE = writeIntLE;\n proto.writeInt32LE = writeInt32LE;\n proto.writeInt16LE = writeInt16LE;\n proto.writeInt8 = writeInt8;\n proto.writeIntBE = writeIntBE;\n proto.writeInt32BE = writeInt32BE;\n proto.writeInt16BE = writeInt16BE;\n\n proto.readFloatLE = bigEndian ? readFloatBackwards : readFloatForwards;\n proto.readFloatBE = bigEndian ? readFloatForwards : readFloatBackwards;\n proto.readDoubleLE = bigEndian ? readDoubleBackwards : readDoubleForwards;\n proto.readDoubleBE = bigEndian ? readDoubleForwards : readDoubleBackwards;\n proto.writeFloatLE = bigEndian ? writeFloatBackwards : writeFloatForwards;\n proto.writeFloatBE = bigEndian ? writeFloatForwards : writeFloatBackwards;\n proto.writeDoubleLE = bigEndian ? writeDoubleBackwards : writeDoubleForwards;\n proto.writeDoubleBE = bigEndian ? writeDoubleForwards : writeDoubleBackwards;\n\n proto.asciiSlice = asciiSlice;\n proto.base64Slice = base64Slice;\n proto.base64urlSlice = base64urlSlice;\n proto.latin1Slice = latin1Slice;\n proto.hexSlice = hexSlice;\n proto.ucs2Slice = ucs2Slice;\n proto.utf8Slice = utf8Slice;\n proto.asciiWrite = asciiWrite;\n proto.base64Write = base64Write;\n proto.base64urlWrite = base64urlWrite;\n proto.latin1Write = latin1Write;\n proto.hexWrite = hexWrite;\n proto.ucs2Write = ucs2Write;\n proto.utf8Write = utf8Write;\n}\n\n// This would better be placed in internal/worker/io.js\x2C but that doesn't work\n// because Buffer needs this and that would introduce a cyclic dependency.\nfunction markAsUntransferable(obj) {\n if ((typeof obj !== 'object' && typeof obj !== 'function') || obj === null)\n return; // This object is a primitive and therefore already untransferable.\n setHiddenValue(obj\x2C untransferable_object_private_symbol\x2C true);\n}\n\n// A toggle used to access the zero fill setting of the array buffer allocator\n// in C++.\n// |zeroFill| can be undefined when running inside an isolate where we\n// do not own the ArrayBuffer allocator. Zero fill is always on in that case.\nlet zeroFill = getZeroFillToggle();\nfunction createUnsafeBuffer(size) {\n zeroFill[0] = 0;\n try {\n return new FastBuffer(size);\n } finally {\n zeroFill[0] = 1;\n }\n}\n\n// The connection between the JS land zero fill toggle and the\n// C++ one in the NodeArrayBufferAllocator gets lost if the toggle\n// is deserialized from the snapshot\x2C because V8 owns the underlying\n// memory of this toggle. This resets the connection.\nfunction reconnectZeroFillToggle() {\n zeroFill = getZeroFillToggle();\n}\n\nmodule.exports = {\n FastBuffer\x2C\n addBufferPrototypeMethods\x2C\n markAsUntransferable\x2C\n createUnsafeBuffer\x2C\n readUInt16BE\x2C\n readUInt32BE\x2C\n reconnectZeroFillToggle\n};\n | |
code-source-info,0xaef925c35ee,19,30717,30757,C0O30724C5O30735C11O30733C18O30756,, | |
tick,0x7fdcec3745f4,10204,0,0x0,3,0x11e9af0,0xaef925c23d5,0x173f9a17be8d | |
code-creation,LazyCompile,10,10247,0xaef925c5e3e,432,patchProcessObject node:internal/bootstrap/pre_execution:81:28,0x173f9a17dd98,~ | |
code-source-info,0xaef925c5e3e,92,2409,4251,C0O2443C6O2443C11O2489C19O2489C24O2727C30O2727C35O2765C40O2766C46O2696C51O2708C56O2791C61O2806C65O2818C68O2826C75O2840C79O2859C90O2880C98O2966C104O2970C111O2859C116O2982C119O2990C129O3008C133O2998C137O3021C144O3048C151O3052C158O3066C164O3100C171O3104C178O3066C185O3182C191O3182C199O3215C202O3223C210O3238C218O3254C225O3258C229O3238C234O3231C244O3426C253O3426C258O3472C267O3472C272O3525C281O3525C286O3585C295O3585C300O3643C309O3643C314O3703C323O3703C328O3767C337O3767C342O3832C351O3832C356O3903C365O3903C370O3973C379O3973C384O4033C393O4033C398O4103C409O4103C414O4173C425O4173C431O4250,, | |
code-creation,LazyCompile,10,10330,0xaef925c64ce,113,getFastAPIs node:internal/process/per_thread:57:21,0x24aa4377de80,~ | |
script-source,23,node:internal/process/per_thread,'use strict';\n\n// This files contains process bootstrappers that can be\n// run when setting up each thread\x2C including the main\n// thread and the worker threads.\n\nconst {\n ArrayPrototypeEvery\x2C\n ArrayPrototypeForEach\x2C\n ArrayPrototypeIncludes\x2C\n ArrayPrototypeMap\x2C\n ArrayPrototypePush\x2C\n ArrayPrototypeSplice\x2C\n BigUint64Array\x2C\n Float64Array\x2C\n NumberMAX_SAFE_INTEGER\x2C\n ObjectFreeze\x2C\n ReflectApply\x2C\n RegExpPrototypeTest\x2C\n SafeArrayIterator\x2C\n Set\x2C\n SetPrototypeEntries\x2C\n SetPrototypeValues\x2C\n StringPrototypeEndsWith\x2C\n StringPrototypeReplace\x2C\n StringPrototypeSlice\x2C\n StringPrototypeStartsWith\x2C\n Symbol\x2C\n SymbolIterator\x2C\n Uint32Array\x2C\n} = primordials;\n\nconst {\n errnoException\x2C\n codes: {\n ERR_ASSERTION\x2C\n ERR_INVALID_ARG_TYPE\x2C\n ERR_INVALID_ARG_VALUE\x2C\n ERR_OUT_OF_RANGE\x2C\n ERR_UNKNOWN_SIGNAL\n }\n} = require('internal/errors');\nconst format = require('internal/util/inspect').format;\nconst {\n validateArray\x2C\n validateNumber\x2C\n validateObject\x2C\n} = require('internal/validators');\nconst constants = internalBinding('constants').os.signals;\n\nconst kInternal = Symbol('internal properties');\n\nfunction assert(x\x2C msg) {\n if (!x) throw new ERR_ASSERTION(msg || 'assertion error');\n}\n\nfunction getFastAPIs(binding) {\n const {\n hrtime: _hrtime\n } = binding.getFastAPIs();\n\n // The 3 entries filled in by the original process.hrtime contains\n // the upper/lower 32 bits of the second part of the value\x2C\n // and the remaining nanoseconds of the value.\n const hrValues = new Uint32Array(_hrtime.buffer);\n\n function hrtime(time) {\n _hrtime.hrtime();\n\n if (time !== undefined) {\n validateArray(time\x2C 'time');\n if (time.length !== 2) {\n throw new ERR_OUT_OF_RANGE('time'\x2C 2\x2C time.length);\n }\n\n const sec = (hrValues[0] * 0x100000000 + hrValues[1]) - time[0];\n const nsec = hrValues[2] - time[1];\n const needsBorrow = nsec < 0;\n return [needsBorrow ? sec - 1 : sec\x2C needsBorrow ? nsec + 1e9 : nsec];\n }\n\n return [\n hrValues[0] * 0x100000000 + hrValues[1]\x2C\n hrValues[2]\x2C\n ];\n }\n\n // Use a BigUint64Array in the closure because this is actually a bit\n // faster than simply returning a BigInt from C++ in V8 7.1.\n const hrBigintValues = new BigUint64Array(_hrtime.buffer\x2C 0\x2C 1);\n function hrtimeBigInt() {\n _hrtime.hrtimeBigInt();\n return hrBigintValues[0];\n }\n\n return {\n hrtime\x2C\n hrtimeBigInt\x2C\n };\n}\n\n// The execution of this function itself should not cause any side effects.\nfunction wrapProcessMethods(binding) {\n const {\n cpuUsage: _cpuUsage\x2C\n memoryUsage: _memoryUsage\x2C\n rss\x2C\n resourceUsage: _resourceUsage\n } = binding;\n\n function _rawDebug(...args) {\n binding._rawDebug(ReflectApply(format\x2C null\x2C args));\n }\n\n // Create the argument array that will be passed to the native function.\n const cpuValues = new Float64Array(2);\n\n // Replace the native function with the JS version that calls the native\n // function.\n function cpuUsage(prevValue) {\n // If a previous value was passed in\x2C ensure it has the correct shape.\n if (prevValue) {\n if (!previousValueIsValid(prevValue.user)) {\n validateObject(prevValue\x2C 'prevValue');\n\n validateNumber(prevValue.user\x2C 'prevValue.user');\n throw new ERR_INVALID_ARG_VALUE.RangeError('prevValue.user'\x2C\n prevValue.user);\n }\n\n if (!previousValueIsValid(prevValue.system)) {\n validateNumber(prevValue.system\x2C 'prevValue.system');\n throw new ERR_INVALID_ARG_VALUE.RangeError('prevValue.system'\x2C\n prevValue.system);\n }\n }\n\n // Call the native function to get the current values.\n _cpuUsage(cpuValues);\n\n // If a previous value was passed in\x2C return diff of current from previous.\n if (prevValue) {\n return {\n user: cpuValues[0] - prevValue.user\x2C\n system: cpuValues[1] - prevValue.system\n };\n }\n\n // If no previous value passed in\x2C return current value.\n return {\n user: cpuValues[0]\x2C\n system: cpuValues[1]\n };\n }\n\n // Ensure that a previously passed in value is valid. Currently\x2C the native\n // implementation always returns numbers <= Number.MAX_SAFE_INTEGER.\n function previousValueIsValid(num) {\n return typeof num === 'number' &&\n num <= NumberMAX_SAFE_INTEGER &&\n num >= 0;\n }\n\n const memValues = new Float64Array(5);\n function memoryUsage() {\n _memoryUsage(memValues);\n return {\n rss: memValues[0]\x2C\n heapTotal: memValues[1]\x2C\n heapUsed: memValues[2]\x2C\n external: memValues[3]\x2C\n arrayBuffers: memValues[4]\n };\n }\n\n memoryUsage.rss = rss;\n\n function exit(code) {\n if (code || code === 0)\n process.exitCode = code;\n\n if (!process._exiting) {\n process._exiting = true;\n process.emit('exit'\x2C process.exitCode || 0);\n }\n // FIXME(joyeecheung): This is an undocumented API that gets monkey-patched\n // in the user land. Either document it\x2C or deprecate it in favor of a\n // better public alternative.\n process.reallyExit(process.exitCode || 0);\n }\n\n function kill(pid\x2C sig) {\n let err;\n\n // eslint-disable-next-line eqeqeq\n if (pid != (pid | 0)) {\n throw new ERR_INVALID_ARG_TYPE('pid'\x2C 'number'\x2C pid);\n }\n\n // Preserve null signal\n if (sig === (sig | 0)) {\n // XXX(joyeecheung): we have to use process._kill here because\n // it's monkey-patched by tests.\n err = process._kill(pid\x2C sig);\n } else {\n sig = sig || 'SIGTERM';\n if (constants[sig]) {\n err = process._kill(pid\x2C constants[sig]);\n } else {\n throw new ERR_UNKNOWN_SIGNAL(sig);\n }\n }\n\n if (err)\n throw errnoException(err\x2C 'kill');\n\n return true;\n }\n\n const resourceValues = new Float64Array(16);\n function resourceUsage() {\n _resourceUsage(resourceValues);\n return {\n userCPUTime: resourceValues[0]\x2C\n systemCPUTime: resourceValues[1]\x2C\n maxRSS: resourceValues[2]\x2C\n sharedMemorySize: resourceValues[3]\x2C\n unsharedDataSize: resourceValues[4]\x2C\n unsharedStackSize: resourceValues[5]\x2C\n minorPageFault: resourceValues[6]\x2C\n majorPageFault: resourceValues[7]\x2C\n swappedOut: resourceValues[8]\x2C\n fsRead: resourceValues[9]\x2C\n fsWrite: resourceValues[10]\x2C\n ipcSent: resourceValues[11]\x2C\n ipcReceived: resourceValues[12]\x2C\n signalsCount: resourceValues[13]\x2C\n voluntaryContextSwitches: resourceValues[14]\x2C\n involuntaryContextSwitches: resourceValues[15]\n };\n }\n\n\n return {\n _rawDebug\x2C\n cpuUsage\x2C\n resourceUsage\x2C\n memoryUsage\x2C\n kill\x2C\n exit\n };\n}\n\nconst replaceUnderscoresRegex = /_/g;\nconst leadingDashesRegex = /^--?/;\nconst trailingValuesRegex = /=.*$/;\n\n// This builds the initial process.allowedNodeEnvironmentFlags\n// from data in the config binding.\nfunction buildAllowedFlags() {\n const {\n envSettings: { kAllowedInEnvironment }\x2C\n types: { kBoolean }\x2C\n } = internalBinding('options');\n const { options\x2C aliases } = require('internal/options');\n\n const allowedNodeEnvironmentFlags = [];\n for (const { 0: name\x2C 1: info } of options) {\n if (info.envVarSettings === kAllowedInEnvironment) {\n ArrayPrototypePush(allowedNodeEnvironmentFlags\x2C name);\n if (info.type === kBoolean) {\n const negatedName = `--no-${name.slice(2)}`;\n ArrayPrototypePush(allowedNodeEnvironmentFlags\x2C negatedName);\n }\n }\n }\n\n function isAccepted(to) {\n if (!StringPrototypeStartsWith(to\x2C '-') || to === '--') return true;\n const recursiveExpansion = aliases.get(to);\n if (recursiveExpansion) {\n if (recursiveExpansion[0] === to)\n ArrayPrototypeSplice(recursiveExpansion\x2C 0\x2C 1);\n return ArrayPrototypeEvery(recursiveExpansion\x2C isAccepted);\n }\n return options.get(to).envVarSettings === kAllowedInEnvironment;\n }\n for (const { 0: from\x2C 1: expansion } of aliases) {\n if (ArrayPrototypeEvery(expansion\x2C isAccepted)) {\n let canonical = from;\n if (StringPrototypeEndsWith(canonical\x2C '='))\n canonical = StringPrototypeSlice(canonical\x2C 0\x2C canonical.length - 1);\n if (StringPrototypeEndsWith(canonical\x2C ' <arg>'))\n canonical = StringPrototypeSlice(canonical\x2C 0\x2C canonical.length - 4);\n ArrayPrototypePush(allowedNodeEnvironmentFlags\x2C canonical);\n }\n }\n\n const trimLeadingDashes =\n (flag) => StringPrototypeReplace(flag\x2C leadingDashesRegex\x2C '');\n\n // Save these for comparison against flags provided to\n // process.allowedNodeEnvironmentFlags.has() which lack leading dashes.\n const nodeFlags = ArrayPrototypeMap(allowedNodeEnvironmentFlags\x2C\n trimLeadingDashes);\n\n class NodeEnvironmentFlagsSet extends Set {\n constructor(array) {\n super();\n this[kInternal] = { array };\n }\n\n add() {\n // No-op\x2C `Set` API compatible\n return this;\n }\n\n delete() {\n // No-op\x2C `Set` API compatible\n return false;\n }\n\n clear() {\n // No-op\x2C `Set` API compatible\n }\n\n has(key) {\n // This will return `true` based on various possible\n // permutations of a flag\x2C including present/missing leading\n // dash(es) and/or underscores-for-dashes.\n // Strips any values after `=`\x2C inclusive.\n // TODO(addaleax): It might be more flexible to run the option parser\n // on a dummy option set and see whether it rejects the argument or\n // not.\n if (typeof key === 'string') {\n key = StringPrototypeReplace(key\x2C replaceUnderscoresRegex\x2C '-');\n if (RegExpPrototypeTest(leadingDashesRegex\x2C key)) {\n key = StringPrototypeReplace(key\x2C trailingValuesRegex\x2C '');\n return ArrayPrototypeIncludes(this[kInternal].array\x2C key);\n }\n return ArrayPrototypeIncludes(nodeFlags\x2C key);\n }\n return false;\n }\n\n entries() {\n this[kInternal].set ??=\n new Set(new SafeArrayIterator(this[kInternal].array));\n return SetPrototypeEntries(this[kInternal].set);\n }\n\n forEach(callback\x2C thisArg = undefined) {\n ArrayPrototypeForEach(\n this[kInternal].array\x2C\n (v) => ReflectApply(callback\x2C thisArg\x2C [v\x2C v\x2C this])\n );\n }\n\n get size() {\n return this[kInternal].array.length;\n }\n\n values() {\n this[kInternal].set ??=\n new Set(new SafeArrayIterator(this[kInternal].array));\n return SetPrototypeValues(this[kInternal].set);\n }\n }\n NodeEnvironmentFlagsSet.prototype.keys =\n NodeEnvironmentFlagsSet.prototype[SymbolIterator] =\n NodeEnvironmentFlagsSet.prototype.values;\n\n ObjectFreeze(NodeEnvironmentFlagsSet.prototype.constructor);\n ObjectFreeze(NodeEnvironmentFlagsSet.prototype);\n\n return ObjectFreeze(new NodeEnvironmentFlagsSet(\n allowedNodeEnvironmentFlags\n ));\n}\n\n// Lazy load internal/trace_events_async_hooks only if the async_hooks\n// trace event category is enabled.\nlet traceEventsAsyncHook;\n// Dynamically enable/disable the traceEventsAsyncHook\nfunction toggleTraceCategoryState(asyncHooksEnabled) {\n if (asyncHooksEnabled) {\n if (!traceEventsAsyncHook) {\n traceEventsAsyncHook =\n require('internal/trace_events_async_hooks').createHook();\n }\n traceEventsAsyncHook.enable();\n } else if (traceEventsAsyncHook) {\n traceEventsAsyncHook.disable();\n }\n}\n\nmodule.exports = {\n toggleTraceCategoryState\x2C\n getFastAPIs\x2C\n assert\x2C\n buildAllowedFlags\x2C\n wrapProcessMethods\n};\n | |
code-source-info,0xaef925c64ce,23,1229,2412,C0O1229C24O1285C29O1285C34O1263C40O1500C50O1524C57O1500C62O1500C64O2232C74O2259C86O2232C91O2232C93O2367C100O2380C106O2392C112O2410,, | |
code-creation,LazyCompile,10,10628,0xaef925c7b9e,175,resolve node:path:1091:10,0xbe5cb9e8488,~ | |
script-source,35,node:path,// Copyright Joyent\x2C Inc. and other Node contributors.\n//\n// Permission is hereby granted\x2C free of charge\x2C to any person obtaining a\n// copy of this software and associated documentation files (the\n// "Software")\x2C to deal in the Software without restriction\x2C including\n// without limitation the rights to use\x2C copy\x2C modify\x2C merge\x2C publish\x2C\n// distribute\x2C sublicense\x2C and/or sell copies of the Software\x2C and to permit\n// persons to whom the Software is furnished to do so\x2C subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED "AS IS"\x2C WITHOUT WARRANTY OF ANY KIND\x2C EXPRESS\n// OR IMPLIED\x2C INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY\x2C FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM\x2C\n// DAMAGES OR OTHER LIABILITY\x2C WHETHER IN AN ACTION OF CONTRACT\x2C TORT OR\n// OTHERWISE\x2C ARISING FROM\x2C OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nconst {\n FunctionPrototypeBind\x2C\n StringPrototypeCharCodeAt\x2C\n StringPrototypeIndexOf\x2C\n StringPrototypeLastIndexOf\x2C\n StringPrototypeReplace\x2C\n StringPrototypeSlice\x2C\n StringPrototypeToLowerCase\x2C\n} = primordials;\n\nconst {\n CHAR_UPPERCASE_A\x2C\n CHAR_LOWERCASE_A\x2C\n CHAR_UPPERCASE_Z\x2C\n CHAR_LOWERCASE_Z\x2C\n CHAR_DOT\x2C\n CHAR_FORWARD_SLASH\x2C\n CHAR_BACKWARD_SLASH\x2C\n CHAR_COLON\x2C\n CHAR_QUESTION_MARK\x2C\n} = require('internal/constants');\nconst {\n validateObject\x2C\n validateString\x2C\n} = require('internal/validators');\n\nconst platformIsWin32 = (process.platform === 'win32');\n\nfunction isPathSeparator(code) {\n return code === CHAR_FORWARD_SLASH || code === CHAR_BACKWARD_SLASH;\n}\n\nfunction isPosixPathSeparator(code) {\n return code === CHAR_FORWARD_SLASH;\n}\n\nfunction isWindowsDeviceRoot(code) {\n return (code >= CHAR_UPPERCASE_A && code <= CHAR_UPPERCASE_Z) ||\n (code >= CHAR_LOWERCASE_A && code <= CHAR_LOWERCASE_Z);\n}\n\n// Resolves . and .. elements in a path with directory names\nfunction normalizeString(path\x2C allowAboveRoot\x2C separator\x2C isPathSeparator) {\n let res = '';\n let lastSegmentLength = 0;\n let lastSlash = -1;\n let dots = 0;\n let code = 0;\n for (let i = 0; i <= path.length; ++i) {\n if (i < path.length)\n code = StringPrototypeCharCodeAt(path\x2C i);\n else if (isPathSeparator(code))\n break;\n else\n code = CHAR_FORWARD_SLASH;\n\n if (isPathSeparator(code)) {\n if (lastSlash === i - 1 || dots === 1) {\n // NOOP\n } else if (dots === 2) {\n if (res.length < 2 || lastSegmentLength !== 2 ||\n StringPrototypeCharCodeAt(res\x2C res.length - 1) !== CHAR_DOT ||\n StringPrototypeCharCodeAt(res\x2C res.length - 2) !== CHAR_DOT) {\n if (res.length > 2) {\n const lastSlashIndex = StringPrototypeLastIndexOf(res\x2C separator);\n if (lastSlashIndex === -1) {\n res = '';\n lastSegmentLength = 0;\n } else {\n res = StringPrototypeSlice(res\x2C 0\x2C lastSlashIndex);\n lastSegmentLength =\n res.length - 1 - StringPrototypeLastIndexOf(res\x2C separator);\n }\n lastSlash = i;\n dots = 0;\n continue;\n } else if (res.length !== 0) {\n res = '';\n lastSegmentLength = 0;\n lastSlash = i;\n dots = 0;\n continue;\n }\n }\n if (allowAboveRoot) {\n res += res.length > 0 ? `${separator}..` : '..';\n lastSegmentLength = 2;\n }\n } else {\n if (res.length > 0)\n res += `${separator}${StringPrototypeSlice(path\x2C lastSlash + 1\x2C i)}`;\n else\n res = StringPrototypeSlice(path\x2C lastSlash + 1\x2C i);\n lastSegmentLength = i - lastSlash - 1;\n }\n lastSlash = i;\n dots = 0;\n } else if (code === CHAR_DOT && dots !== -1) {\n ++dots;\n } else {\n dots = -1;\n }\n }\n return res;\n}\n\n/**\n * @param {string} sep\n * @param {{\n * dir?: string;\n * root?: string;\n * base?: string;\n * name?: string;\n * ext?: string;\n * }} pathObject\n * @returns {string}\n */\nfunction _format(sep\x2C pathObject) {\n validateObject(pathObject\x2C 'pathObject');\n const dir = pathObject.dir || pathObject.root;\n const base = pathObject.base ||\n `${pathObject.name || ''}${pathObject.ext || ''}`;\n if (!dir) {\n return base;\n }\n return dir === pathObject.root ? `${dir}${base}` : `${dir}${sep}${base}`;\n}\n\nconst win32 = {\n /**\n * path.resolve([from ...]\x2C to)\n * @param {...string} args\n * @returns {string}\n */\n resolve(...args) {\n let resolvedDevice = '';\n let resolvedTail = '';\n let resolvedAbsolute = false;\n\n for (let i = args.length - 1; i >= -1; i--) {\n let path;\n if (i >= 0) {\n path = args[i];\n validateString(path\x2C 'path');\n\n // Skip empty entries\n if (path.length === 0) {\n continue;\n }\n } else if (resolvedDevice.length === 0) {\n path = process.cwd();\n } else {\n // Windows has the concept of drive-specific current working\n // directories. If we've resolved a drive letter but not yet an\n // absolute path\x2C get cwd for that drive\x2C or the process cwd if\n // the drive cwd is not available. We're sure the device is not\n // a UNC path at this points\x2C because UNC paths are always absolute.\n path = process.env[`=${resolvedDevice}`] || process.cwd();\n\n // Verify that a cwd was found and that it actually points\n // to our drive. If not\x2C default to the drive's root.\n if (path === undefined ||\n (StringPrototypeToLowerCase(StringPrototypeSlice(path\x2C 0\x2C 2)) !==\n StringPrototypeToLowerCase(resolvedDevice) &&\n StringPrototypeCharCodeAt(path\x2C 2) === CHAR_BACKWARD_SLASH)) {\n path = `${resolvedDevice}\\\\`;\n }\n }\n\n const len = path.length;\n let rootEnd = 0;\n let device = '';\n let isAbsolute = false;\n const code = StringPrototypeCharCodeAt(path\x2C 0);\n\n // Try to match a root\n if (len === 1) {\n if (isPathSeparator(code)) {\n // `path` contains just a path separator\n rootEnd = 1;\n isAbsolute = true;\n }\n } else if (isPathSeparator(code)) {\n // Possible UNC root\n\n // If we started with a separator\x2C we know we at least have an\n // absolute path of some kind (UNC or otherwise)\n isAbsolute = true;\n\n if (isPathSeparator(StringPrototypeCharCodeAt(path\x2C 1))) {\n // Matched double path separator at beginning\n let j = 2;\n let last = j;\n // Match 1 or more non-path separators\n while (j < len &&\n !isPathSeparator(StringPrototypeCharCodeAt(path\x2C j))) {\n j++;\n }\n if (j < len && j !== last) {\n const firstPart = StringPrototypeSlice(path\x2C last\x2C j);\n // Matched!\n last = j;\n // Match 1 or more path separators\n while (j < len &&\n isPathSeparator(StringPrototypeCharCodeAt(path\x2C j))) {\n j++;\n }\n if (j < len && j !== last) {\n // Matched!\n last = j;\n // Match 1 or more non-path separators\n while (j < len &&\n !isPathSeparator(StringPrototypeCharCodeAt(path\x2C j))) {\n j++;\n }\n if (j === len || j !== last) {\n // We matched a UNC root\n device =\n `\\\\\\\\${firstPart}\\\\${StringPrototypeSlice(path\x2C last\x2C j)}`;\n rootEnd = j;\n }\n }\n }\n } else {\n rootEnd = 1;\n }\n } else if (isWindowsDeviceRoot(code) &&\n StringPrototypeCharCodeAt(path\x2C 1) === CHAR_COLON) {\n // Possible device root\n device = StringPrototypeSlice(path\x2C 0\x2C 2);\n rootEnd = 2;\n if (len > 2 && isPathSeparator(StringPrototypeCharCodeAt(path\x2C 2))) {\n // Treat separator following drive name as an absolute path\n // indicator\n isAbsolute = true;\n rootEnd = 3;\n }\n }\n\n if (device.length > 0) {\n if (resolvedDevice.length > 0) {\n if (StringPrototypeToLowerCase(device) !==\n StringPrototypeToLowerCase(resolvedDevice))\n // This path points to another device so it is not applicable\n continue;\n } else {\n resolvedDevice = device;\n }\n }\n\n if (resolvedAbsolute) {\n if (resolvedDevice.length > 0)\n break;\n } else {\n resolvedTail =\n `${StringPrototypeSlice(path\x2C rootEnd)}\\\\${resolvedTail}`;\n resolvedAbsolute = isAbsolute;\n if (isAbsolute && resolvedDevice.length > 0) {\n break;\n }\n }\n }\n\n // At this point the path should be resolved to a full absolute path\x2C\n // but handle relative paths to be safe (might happen when process.cwd()\n // fails)\n\n // Normalize the tail path\n resolvedTail = normalizeString(resolvedTail\x2C !resolvedAbsolute\x2C '\\\\'\x2C\n isPathSeparator);\n\n return resolvedAbsolute ?\n `${resolvedDevice}\\\\${resolvedTail}` :\n `${resolvedDevice}${resolvedTail}` || '.';\n }\x2C\n\n /**\n * @param {string} path\n * @returns {string}\n */\n normalize(path) {\n validateString(path\x2C 'path');\n const len = path.length;\n if (len === 0)\n return '.';\n let rootEnd = 0;\n let device;\n let isAbsolute = false;\n const code = StringPrototypeCharCodeAt(path\x2C 0);\n\n // Try to match a root\n if (len === 1) {\n // `path` contains just a single char\x2C exit early to avoid\n // unnecessary work\n return isPosixPathSeparator(code) ? '\\\\' : path;\n }\n if (isPathSeparator(code)) {\n // Possible UNC root\n\n // If we started with a separator\x2C we know we at least have an absolute\n // path of some kind (UNC or otherwise)\n isAbsolute = true;\n\n if (isPathSeparator(StringPrototypeCharCodeAt(path\x2C 1))) {\n // Matched double path separator at beginning\n let j = 2;\n let last = j;\n // Match 1 or more non-path separators\n while (j < len &&\n !isPathSeparator(StringPrototypeCharCodeAt(path\x2C j))) {\n j++;\n }\n if (j < len && j !== last) {\n const firstPart = StringPrototypeSlice(path\x2C last\x2C j);\n // Matched!\n last = j;\n // Match 1 or more path separators\n while (j < len &&\n isPathSeparator(StringPrototypeCharCodeAt(path\x2C j))) {\n j++;\n }\n if (j < len && j !== last) {\n // Matched!\n last = j;\n // Match 1 or more non-path separators\n while (j < len &&\n !isPathSeparator(StringPrototypeCharCodeAt(path\x2C j))) {\n j++;\n }\n if (j === len) {\n // We matched a UNC root only\n // Return the normalized version of the UNC root since there\n // is nothing left to process\n return `\\\\\\\\${firstPart}\\\\${StringPrototypeSlice(path\x2C last)}\\\\`;\n }\n if (j !== last) {\n // We matched a UNC root with leftovers\n device =\n `\\\\\\\\${firstPart}\\\\${StringPrototypeSlice(path\x2C last\x2C j)}`;\n rootEnd = j;\n }\n }\n }\n } else {\n rootEnd = 1;\n }\n } else if (isWindowsDeviceRoot(code) &&\n StringPrototypeCharCodeAt(path\x2C 1) === CHAR_COLON) {\n // Possible device root\n device = StringPrototypeSlice(path\x2C 0\x2C 2);\n rootEnd = 2;\n if (len > 2 && isPathSeparator(StringPrototypeCharCodeAt(path\x2C 2))) {\n // Treat separator following drive name as an absolute path\n // indicator\n isAbsolute = true;\n rootEnd = 3;\n }\n }\n\n let tail = rootEnd < len ?\n normalizeString(StringPrototypeSlice(path\x2C rootEnd)\x2C\n !isAbsolute\x2C '\\\\'\x2C isPathSeparator) :\n '';\n if (tail.length === 0 && !isAbsolute)\n tail = '.';\n if (tail.length > 0 &&\n isPathSeparator(StringPrototypeCharCodeAt(path\x2C len - 1)))\n tail += '\\\\';\n if (device === undefined) {\n return isAbsolute ? `\\\\${tail}` : tail;\n }\n return isAbsolute ? `${device}\\\\${tail}` : `${device}${tail}`;\n }\x2C\n\n /**\n * @param {string} path\n * @returns {boolean}\n */\n isAbsolute(path) {\n validateString(path\x2C 'path');\n const len = path.length;\n if (len === 0)\n return false;\n\n const code = StringPrototypeCharCodeAt(path\x2C 0);\n return isPathSeparator(code) ||\n // Possible device root\n (len > 2 &&\n isWindowsDeviceRoot(code) &&\n StringPrototypeCharCodeAt(path\x2C 1) === CHAR_COLON &&\n isPathSeparator(StringPrototypeCharCodeAt(path\x2C 2)));\n }\x2C\n\n /**\n * @param {...string} args\n * @returns {string}\n */\n join(...args) {\n if (args.length === 0)\n return '.';\n\n let joined;\n let firstPart;\n for (let i = 0; i < args.length; ++i) {\n const arg = args[i];\n validateString(arg\x2C 'path');\n if (arg.length > 0) {\n if (joined === undefined)\n joined = firstPart = arg;\n else\n joined += `\\\\${arg}`;\n }\n }\n\n if (joined === undefined)\n return '.';\n\n // Make sure that the joined path doesn't start with two slashes\x2C because\n // normalize() will mistake it for a UNC path then.\n //\n // This step is skipped when it is very clear that the user actually\n // intended to point at a UNC path. This is assumed when the first\n // non-empty string arguments starts with exactly two slashes followed by\n // at least one more non-slash character.\n //\n // Note that for normalize() to treat a path as a UNC path it needs to\n // have at least 2 components\x2C so we don't filter for that here.\n // This means that the user can use join to construct UNC paths from\n // a server name and a share name; for example:\n // path.join('//server'\x2C 'share') -> '\\\\\\\\server\\\\share\\\\')\n let needsReplace = true;\n let slashCount = 0;\n if (isPathSeparator(StringPrototypeCharCodeAt(firstPart\x2C 0))) {\n ++slashCount;\n const firstLen = firstPart.length;\n if (firstLen > 1 &&\n isPathSeparator(StringPrototypeCharCodeAt(firstPart\x2C 1))) {\n ++slashCount;\n if (firstLen > 2) {\n if (isPathSeparator(StringPrototypeCharCodeAt(firstPart\x2C 2)))\n ++slashCount;\n else {\n // We matched a UNC path in the first part\n needsReplace = false;\n }\n }\n }\n }\n if (needsReplace) {\n // Find any more consecutive slashes we need to replace\n while (slashCount < joined.length &&\n isPathSeparator(StringPrototypeCharCodeAt(joined\x2C slashCount))) {\n slashCount++;\n }\n\n // Replace the slashes if needed\n if (slashCount >= 2)\n joined = `\\\\${StringPrototypeSlice(joined\x2C slashCount)}`;\n }\n\n return win32.normalize(joined);\n }\x2C\n\n /**\n * It will solve the relative path from `from` to `to`\x2C for instancee\n * from = 'C:\\\\orandea\\\\test\\\\aaa'\n * to = 'C:\\\\orandea\\\\impl\\\\bbb'\n * The output of the function should be: '..\\\\..\\\\impl\\\\bbb'\n * @param {string} from\n * @param {string} to\n * @returns {string}\n */\n relative(from\x2C to) {\n validateString(from\x2C 'from');\n validateString(to\x2C 'to');\n\n if (from === to)\n return '';\n\n const fromOrig = win32.resolve(from);\n const toOrig = win32.resolve(to);\n\n if (fromOrig === toOrig)\n return '';\n\n from = StringPrototypeToLowerCase(fromOrig);\n to = StringPrototypeToLowerCase(toOrig);\n\n if (from === to)\n return '';\n\n // Trim any leading backslashes\n let fromStart = 0;\n while (fromStart < from.length &&\n StringPrototypeCharCodeAt(from\x2C fromStart) === CHAR_BACKWARD_SLASH) {\n fromStart++;\n }\n // Trim trailing backslashes (applicable to UNC paths only)\n let fromEnd = from.length;\n while (\n fromEnd - 1 > fromStart &&\n StringPrototypeCharCodeAt(from\x2C fromEnd - 1) === CHAR_BACKWARD_SLASH\n ) {\n fromEnd--;\n }\n const fromLen = fromEnd - fromStart;\n\n // Trim any leading backslashes\n let toStart = 0;\n while (toStart < to.length &&\n StringPrototypeCharCodeAt(to\x2C toStart) === CHAR_BACKWARD_SLASH) {\n toStart++;\n }\n // Trim trailing backslashes (applicable to UNC paths only)\n let toEnd = to.length;\n while (toEnd - 1 > toStart &&\n StringPrototypeCharCodeAt(to\x2C toEnd - 1) === CHAR_BACKWARD_SLASH) {\n toEnd--;\n }\n const toLen = toEnd - toStart;\n\n // Compare paths to find the longest common path from root\n const length = fromLen < toLen ? fromLen : toLen;\n let lastCommonSep = -1;\n let i = 0;\n for (; i < length; i++) {\n const fromCode = StringPrototypeCharCodeAt(from\x2C fromStart + i);\n if (fromCode !== StringPrototypeCharCodeAt(to\x2C toStart + i))\n break;\n else if (fromCode === CHAR_BACKWARD_SLASH)\n lastCommonSep = i;\n }\n\n // We found a mismatch before the first common path separator was seen\x2C so\n // return the original `to`.\n if (i !== length) {\n if (lastCommonSep === -1)\n return toOrig;\n } else {\n if (toLen > length) {\n if (StringPrototypeCharCodeAt(to\x2C toStart + i) ===\n CHAR_BACKWARD_SLASH) {\n // We get here if `from` is the exact base path for `to`.\n // For example: from='C:\\\\foo\\\\bar'; to='C:\\\\foo\\\\bar\\\\baz'\n return StringPrototypeSlice(toOrig\x2C toStart + i + 1);\n }\n if (i === 2) {\n // We get here if `from` is the device root.\n // For example: from='C:\\\\'; to='C:\\\\foo'\n return StringPrototypeSlice(toOrig\x2C toStart + i);\n }\n }\n if (fromLen > length) {\n if (StringPrototypeCharCodeAt(from\x2C fromStart + i) ===\n CHAR_BACKWARD_SLASH) {\n // We get here if `to` is the exact base path for `from`.\n // For example: from='C:\\\\foo\\\\bar'; to='C:\\\\foo'\n lastCommonSep = i;\n } else if (i === 2) {\n // We get here if `to` is the device root.\n // For example: from='C:\\\\foo\\\\bar'; to='C:\\\\'\n lastCommonSep = 3;\n }\n }\n if (lastCommonSep === -1)\n lastCommonSep = 0;\n }\n\n let out = '';\n // Generate the relative path based on the path difference between `to` and\n // `from`\n for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) {\n if (i === fromEnd ||\n StringPrototypeCharCodeAt(from\x2C i) === CHAR_BACKWARD_SLASH) {\n out += out.length === 0 ? '..' : '\\\\..';\n }\n }\n\n toStart += lastCommonSep;\n\n // Lastly\x2C append the rest of the destination (`to`) path that comes after\n // the common path parts\n if (out.length > 0)\n return `${out}${StringPrototypeSlice(toOrig\x2C toStart\x2C toEnd)}`;\n\n if (StringPrototypeCharCodeAt(toOrig\x2C toStart) === CHAR_BACKWARD_SLASH)\n ++toStart;\n return StringPrototypeSlice(toOrig\x2C toStart\x2C toEnd);\n }\x2C\n\n /**\n * @param {string} path\n * @returns {string}\n */\n toNamespacedPath(path) {\n // Note: this will *probably* throw somewhere.\n if (typeof path !== 'string' || path.length === 0)\n return path;\n\n const resolvedPath = win32.resolve(path);\n\n if (resolvedPath.length <= 2)\n return path;\n\n if (StringPrototypeCharCodeAt(resolvedPath\x2C 0) === CHAR_BACKWARD_SLASH) {\n // Possible UNC root\n if (StringPrototypeCharCodeAt(resolvedPath\x2C 1) === CHAR_BACKWARD_SLASH) {\n const code = StringPrototypeCharCodeAt(resolvedPath\x2C 2);\n if (code !== CHAR_QUESTION_MARK && code !== CHAR_DOT) {\n // Matched non-long UNC root\x2C convert the path to a long UNC path\n return `\\\\\\\\?\\\\UNC\\\\${StringPrototypeSlice(resolvedPath\x2C 2)}`;\n }\n }\n } else if (\n isWindowsDeviceRoot(StringPrototypeCharCodeAt(resolvedPath\x2C 0)) &&\n StringPrototypeCharCodeAt(resolvedPath\x2C 1) === CHAR_COLON &&\n StringPrototypeCharCodeAt(resolvedPath\x2C 2) === CHAR_BACKWARD_SLASH\n ) {\n // Matched device root\x2C convert the path to a long UNC path\n return `\\\\\\\\?\\\\${resolvedPath}`;\n }\n\n return path;\n }\x2C\n\n /**\n * @param {string} path\n * @returns {string}\n */\n dirname(path) {\n validateString(path\x2C 'path');\n const len = path.length;\n if (len === 0)\n return '.';\n let rootEnd = -1;\n let offset = 0;\n const code = StringPrototypeCharCodeAt(path\x2C 0);\n\n if (len === 1) {\n // `path` contains just a path separator\x2C exit early to avoid\n // unnecessary work or a dot.\n return isPathSeparator(code) ? path : '.';\n }\n\n // Try to match a root\n if (isPathSeparator(code)) {\n // Possible UNC root\n\n rootEnd = offset = 1;\n\n if (isPathSeparator(StringPrototypeCharCodeAt(path\x2C 1))) {\n // Matched double path separator at beginning\n let j = 2;\n let last = j;\n // Match 1 or more non-path separators\n while (j < len &&\n !isPathSeparator(StringPrototypeCharCodeAt(path\x2C j))) {\n j++;\n }\n if (j < len && j !== last) {\n // Matched!\n last = j;\n // Match 1 or more path separators\n while (j < len &&\n isPathSeparator(StringPrototypeCharCodeAt(path\x2C j))) {\n j++;\n }\n if (j < len && j !== last) {\n // Matched!\n last = j;\n // Match 1 or more non-path separators\n while (j < len &&\n !isPathSeparator(StringPrototypeCharCodeAt(path\x2C j))) {\n j++;\n }\n if (j === len) {\n // We matched a UNC root only\n return path;\n }\n if (j !== last) {\n // We matched a UNC root with leftovers\n\n // Offset by 1 to include the separator after the UNC root to\n // treat it as a "normal root" on top of a (UNC) root\n rootEnd = offset = j + 1;\n }\n }\n }\n }\n // Possible device root\n } else if (isWindowsDeviceRoot(code) &&\n StringPrototypeCharCodeAt(path\x2C 1) === CHAR_COLON) {\n rootEnd =\n len > 2 && isPathSeparator(StringPrototypeCharCodeAt(path\x2C 2)) ? 3 : 2;\n offset = rootEnd;\n }\n\n let end = -1;\n let matchedSlash = true;\n for (let i = len - 1; i >= offset; --i) {\n if (isPathSeparator(StringPrototypeCharCodeAt(path\x2C i))) {\n if (!matchedSlash) {\n end = i;\n break;\n }\n } else {\n // We saw the first non-path separator\n matchedSlash = false;\n }\n }\n\n if (end === -1) {\n if (rootEnd === -1)\n return '.';\n\n end = rootEnd;\n }\n return StringPrototypeSlice(path\x2C 0\x2C end);\n }\x2C\n\n /**\n * @param {string} path\n * @param {string} [ext]\n * @returns {string}\n */\n basename(path\x2C ext) {\n if (ext !== undefined)\n validateString(ext\x2C 'ext');\n validateString(path\x2C 'path');\n let start = 0;\n let end = -1;\n let matchedSlash = true;\n\n // Check for a drive letter prefix so as not to mistake the following\n // path separator as an extra separator at the end of the path that can be\n // disregarded\n if (path.length >= 2 &&\n isWindowsDeviceRoot(StringPrototypeCharCodeAt(path\x2C 0)) &&\n StringPrototypeCharCodeAt(path\x2C 1) === CHAR_COLON) {\n start = 2;\n }\n\n if (ext !== undefined && ext.length > 0 && ext.length <= path.length) {\n if (ext === path)\n return '';\n let extIdx = ext.length - 1;\n let firstNonSlashEnd = -1;\n for (let i = path.length - 1; i >= start; --i) {\n const code = StringPrototypeCharCodeAt(path\x2C i);\n if (isPathSeparator(code)) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string\x2C stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else {\n if (firstNonSlashEnd === -1) {\n // We saw the first non-path separator\x2C remember this index in case\n // we need it if the extension ends up not matching\n matchedSlash = false;\n firstNonSlashEnd = i + 1;\n }\n if (extIdx >= 0) {\n // Try to match the explicit extension\n if (code === StringPrototypeCharCodeAt(ext\x2C extIdx)) {\n if (--extIdx === -1) {\n // We matched the extension\x2C so mark this as the end of our path\n // component\n end = i;\n }\n } else {\n // Extension does not match\x2C so our result is the entire path\n // component\n extIdx = -1;\n end = firstNonSlashEnd;\n }\n }\n }\n }\n\n if (start === end)\n end = firstNonSlashEnd;\n else if (end === -1)\n end = path.length;\n return StringPrototypeSlice(path\x2C start\x2C end);\n }\n for (let i = path.length - 1; i >= start; --i) {\n if (isPathSeparator(StringPrototypeCharCodeAt(path\x2C i))) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string\x2C stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else if (end === -1) {\n // We saw the first non-path separator\x2C mark this as the end of our\n // path component\n matchedSlash = false;\n end = i + 1;\n }\n }\n\n if (end === -1)\n return '';\n return StringPrototypeSlice(path\x2C start\x2C end);\n }\x2C\n\n /**\n * @param {string} path\n * @returns {string}\n */\n extname(path) {\n validateString(path\x2C 'path');\n let start = 0;\n let startDot = -1;\n let startPart = 0;\n let end = -1;\n let matchedSlash = true;\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n let preDotState = 0;\n\n // Check for a drive letter prefix so as not to mistake the following\n // path separator as an extra separator at the end of the path that can be\n // disregarded\n\n if (path.length >= 2 &&\n StringPrototypeCharCodeAt(path\x2C 1) === CHAR_COLON &&\n isWindowsDeviceRoot(StringPrototypeCharCodeAt(path\x2C 0))) {\n start = startPart = 2;\n }\n\n for (let i = path.length - 1; i >= start; --i) {\n const code = StringPrototypeCharCodeAt(path\x2C i);\n if (isPathSeparator(code)) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string\x2C stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n // We saw the first non-path separator\x2C mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n if (code === CHAR_DOT) {\n // If this is our first dot\x2C mark it as the start of our extension\n if (startDot === -1)\n startDot = i;\n else if (preDotState !== 1)\n preDotState = 1;\n } else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot\x2C so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n\n if (startDot === -1 ||\n end === -1 ||\n // We saw a non-dot character immediately before the dot\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly '..'\n (preDotState === 1 &&\n startDot === end - 1 &&\n startDot === startPart + 1)) {\n return '';\n }\n return StringPrototypeSlice(path\x2C startDot\x2C end);\n }\x2C\n\n format: FunctionPrototypeBind(_format\x2C null\x2C '\\\\')\x2C\n\n /**\n * @param {string} path\n * @returns {{\n * dir: string;\n * root: string;\n * base: string;\n * name: string;\n * ext: string;\n * }}\n */\n parse(path) {\n validateString(path\x2C 'path');\n\n const ret = { root: ''\x2C dir: ''\x2C base: ''\x2C ext: ''\x2C name: '' };\n if (path.length === 0)\n return ret;\n\n const len = path.length;\n let rootEnd = 0;\n let code = StringPrototypeCharCodeAt(path\x2C 0);\n\n if (len === 1) {\n if (isPathSeparator(code)) {\n // `path` contains just a path separator\x2C exit early to avoid\n // unnecessary work\n ret.root = ret.dir = path;\n return ret;\n }\n ret.base = ret.name = path;\n return ret;\n }\n // Try to match a root\n if (isPathSeparator(code)) {\n // Possible UNC root\n\n rootEnd = 1;\n if (isPathSeparator(StringPrototypeCharCodeAt(path\x2C 1))) {\n // Matched double path separator at beginning\n let j = 2;\n let last = j;\n // Match 1 or more non-path separators\n while (j < len &&\n !isPathSeparator(StringPrototypeCharCodeAt(path\x2C j))) {\n j++;\n }\n if (j < len && j !== last) {\n // Matched!\n last = j;\n // Match 1 or more path separators\n while (j < len &&\n isPathSeparator(StringPrototypeCharCodeAt(path\x2C j))) {\n j++;\n }\n if (j < len && j !== last) {\n // Matched!\n last = j;\n // Match 1 or more non-path separators\n while (j < len &&\n !isPathSeparator(StringPrototypeCharCodeAt(path\x2C j))) {\n j++;\n }\n if (j === len) {\n // We matched a UNC root only\n rootEnd = j;\n } else if (j !== last) {\n // We matched a UNC root with leftovers\n rootEnd = j + 1;\n }\n }\n }\n }\n } else if (isWindowsDeviceRoot(code) &&\n StringPrototypeCharCodeAt(path\x2C 1) === CHAR_COLON) {\n // Possible device root\n if (len <= 2) {\n // `path` contains just a drive root\x2C exit early to avoid\n // unnecessary work\n ret.root = ret.dir = path;\n return ret;\n }\n rootEnd = 2;\n if (isPathSeparator(StringPrototypeCharCodeAt(path\x2C 2))) {\n if (len === 3) {\n // `path` contains just a drive root\x2C exit early to avoid\n // unnecessary work\n ret.root = ret.dir = path;\n return ret;\n }\n rootEnd = 3;\n }\n }\n if (rootEnd > 0)\n ret.root = StringPrototypeSlice(path\x2C 0\x2C rootEnd);\n\n let startDot = -1;\n let startPart = rootEnd;\n let end = -1;\n let matchedSlash = true;\n let i = path.length - 1;\n\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n let preDotState = 0;\n\n // Get non-dir info\n for (; i >= rootEnd; --i) {\n code = StringPrototypeCharCodeAt(path\x2C i);\n if (isPathSeparator(code)) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string\x2C stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n // We saw the first non-path separator\x2C mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n if (code === CHAR_DOT) {\n // If this is our first dot\x2C mark it as the start of our extension\n if (startDot === -1)\n startDot = i;\n else if (preDotState !== 1)\n preDotState = 1;\n } else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot\x2C so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n\n if (end !== -1) {\n if (startDot === -1 ||\n // We saw a non-dot character immediately before the dot\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly '..'\n (preDotState === 1 &&\n startDot === end - 1 &&\n startDot === startPart + 1)) {\n ret.base = ret.name = StringPrototypeSlice(path\x2C startPart\x2C end);\n } else {\n ret.name = StringPrototypeSlice(path\x2C startPart\x2C startDot);\n ret.base = StringPrototypeSlice(path\x2C startPart\x2C end);\n ret.ext = StringPrototypeSlice(path\x2C startDot\x2C end);\n }\n }\n\n // If the directory is the root\x2C use the entire root as the `dir` including\n // the trailing slash if any (`C:\\abc` -> `C:\\`). Otherwise\x2C strip out the\n // trailing slash (`C:\\abc\\def` -> `C:\\abc`).\n if (startPart > 0 && startPart !== rootEnd)\n ret.dir = StringPrototypeSlice(path\x2C 0\x2C startPart - 1);\n else\n ret.dir = ret.root;\n\n return ret;\n }\x2C\n\n sep: '\\\\'\x2C\n delimiter: ';'\x2C\n win32: null\x2C\n posix: null\n};\n\nconst posixCwd = (() => {\n if (platformIsWin32) {\n // Converts Windows' backslash path separators to POSIX forward slashes\n // and truncates any drive indicator\n const regexp = /\\\\/g;\n return () => {\n const cwd = StringPrototypeReplace(process.cwd()\x2C regexp\x2C '/');\n return StringPrototypeSlice(cwd\x2C StringPrototypeIndexOf(cwd\x2C '/'));\n };\n }\n\n // We're already on POSIX\x2C no need for any transformations\n return () => process.cwd();\n})();\n\nconst posix = {\n /**\n * path.resolve([from ...]\x2C to)\n * @param {...string} args\n * @returns {string}\n */\n resolve(...args) {\n let resolvedPath = '';\n let resolvedAbsolute = false;\n\n for (let i = args.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n const path = i >= 0 ? args[i] : posixCwd();\n\n validateString(path\x2C 'path');\n\n // Skip empty entries\n if (path.length === 0) {\n continue;\n }\n\n resolvedPath = `${path}/${resolvedPath}`;\n resolvedAbsolute =\n StringPrototypeCharCodeAt(path\x2C 0) === CHAR_FORWARD_SLASH;\n }\n\n // At this point the path should be resolved to a full absolute path\x2C but\n // handle relative paths to be safe (might happen when process.cwd() fails)\n\n // Normalize the path\n resolvedPath = normalizeString(resolvedPath\x2C !resolvedAbsolute\x2C '/'\x2C\n isPosixPathSeparator);\n\n if (resolvedAbsolute) {\n return `/${resolvedPath}`;\n }\n return resolvedPath.length > 0 ? resolvedPath : '.';\n }\x2C\n\n /**\n * @param {string} path\n * @returns {string}\n */\n normalize(path) {\n validateString(path\x2C 'path');\n\n if (path.length === 0)\n return '.';\n\n const isAbsolute =\n StringPrototypeCharCodeAt(path\x2C 0) === CHAR_FORWARD_SLASH;\n const trailingSeparator =\n StringPrototypeCharCodeAt(path\x2C path.length - 1) === CHAR_FORWARD_SLASH;\n\n // Normalize the path\n path = normalizeString(path\x2C !isAbsolute\x2C '/'\x2C isPosixPathSeparator);\n\n if (path.length === 0) {\n if (isAbsolute)\n return '/';\n return trailingSeparator ? './' : '.';\n }\n if (trailingSeparator)\n path += '/';\n\n return isAbsolute ? `/${path}` : path;\n }\x2C\n\n /**\n * @param {string} path\n * @returns {boolean}\n */\n isAbsolute(path) {\n validateString(path\x2C 'path');\n return path.length > 0 &&\n StringPrototypeCharCodeAt(path\x2C 0) === CHAR_FORWARD_SLASH;\n }\x2C\n\n /**\n * @param {...string} args\n * @returns {string}\n */\n join(...args) {\n if (args.length === 0)\n return '.';\n let joined;\n for (let i = 0; i < args.length; ++i) {\n const arg = args[i];\n validateString(arg\x2C 'path');\n if (arg.length > 0) {\n if (joined === undefined)\n joined = arg;\n else\n joined += `/${arg}`;\n }\n }\n if (joined === undefined)\n return '.';\n return posix.normalize(joined);\n }\x2C\n\n /**\n * @param {string} from\n * @param {string} to\n * @returns {string}\n */\n relative(from\x2C to) {\n validateString(from\x2C 'from');\n validateString(to\x2C 'to');\n\n if (from === to)\n return '';\n\n // Trim leading forward slashes.\n from = posix.resolve(from);\n to = posix.resolve(to);\n\n if (from === to)\n return '';\n\n const fromStart = 1;\n const fromEnd = from.length;\n const fromLen = fromEnd - fromStart;\n const toStart = 1;\n const toLen = to.length - toStart;\n\n // Compare paths to find the longest common path from root\n const length = (fromLen < toLen ? fromLen : toLen);\n let lastCommonSep = -1;\n let i = 0;\n for (; i < length; i++) {\n const fromCode = StringPrototypeCharCodeAt(from\x2C fromStart + i);\n if (fromCode !== StringPrototypeCharCodeAt(to\x2C toStart + i))\n break;\n else if (fromCode === CHAR_FORWARD_SLASH)\n lastCommonSep = i;\n }\n if (i === length) {\n if (toLen > length) {\n if (StringPrototypeCharCodeAt(to\x2C toStart + i) === CHAR_FORWARD_SLASH) {\n // We get here if `from` is the exact base path for `to`.\n // For example: from='/foo/bar'; to='/foo/bar/baz'\n return StringPrototypeSlice(to\x2C toStart + i + 1);\n }\n if (i === 0) {\n // We get here if `from` is the root\n // For example: from='/'; to='/foo'\n return StringPrototypeSlice(to\x2C toStart + i);\n }\n } else if (fromLen > length) {\n if (StringPrototypeCharCodeAt(from\x2C fromStart + i) ===\n CHAR_FORWARD_SLASH) {\n // We get here if `to` is the exact base path for `from`.\n // For example: from='/foo/bar/baz'; to='/foo/bar'\n lastCommonSep = i;\n } else if (i === 0) {\n // We get here if `to` is the root.\n // For example: from='/foo/bar'; to='/'\n lastCommonSep = 0;\n }\n }\n }\n\n let out = '';\n // Generate the relative path based on the path difference between `to`\n // and `from`.\n for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) {\n if (i === fromEnd ||\n StringPrototypeCharCodeAt(from\x2C i) === CHAR_FORWARD_SLASH) {\n out += out.length === 0 ? '..' : '/..';\n }\n }\n\n // Lastly\x2C append the rest of the destination (`to`) path that comes after\n // the common path parts.\n return `${out}${StringPrototypeSlice(to\x2C toStart + lastCommonSep)}`;\n }\x2C\n\n /**\n * @param {string} path\n * @returns {string}\n */\n toNamespacedPath(path) {\n // Non-op on posix systems\n return path;\n }\x2C\n\n /**\n * @param {string} path\n * @returns {string}\n */\n dirname(path) {\n validateString(path\x2C 'path');\n if (path.length === 0)\n return '.';\n const hasRoot = StringPrototypeCharCodeAt(path\x2C 0) === CHAR_FORWARD_SLASH;\n let end = -1;\n let matchedSlash = true;\n for (let i = path.length - 1; i >= 1; --i) {\n if (StringPrototypeCharCodeAt(path\x2C i) === CHAR_FORWARD_SLASH) {\n if (!matchedSlash) {\n end = i;\n break;\n }\n } else {\n // We saw the first non-path separator\n matchedSlash = false;\n }\n }\n\n if (end === -1)\n return hasRoot ? '/' : '.';\n if (hasRoot && end === 1)\n return '//';\n return StringPrototypeSlice(path\x2C 0\x2C end);\n }\x2C\n\n /**\n * @param {string} path\n * @param {string} [ext]\n * @returns {string}\n */\n basename(path\x2C ext) {\n if (ext !== undefined)\n validateString(ext\x2C 'ext');\n validateString(path\x2C 'path');\n\n let start = 0;\n let end = -1;\n let matchedSlash = true;\n\n if (ext !== undefined && ext.length > 0 && ext.length <= path.length) {\n if (ext === path)\n return '';\n let extIdx = ext.length - 1;\n let firstNonSlashEnd = -1;\n for (let i = path.length - 1; i >= 0; --i) {\n const code = StringPrototypeCharCodeAt(path\x2C i);\n if (code === CHAR_FORWARD_SLASH) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string\x2C stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else {\n if (firstNonSlashEnd === -1) {\n // We saw the first non-path separator\x2C remember this index in case\n // we need it if the extension ends up not matching\n matchedSlash = false;\n firstNonSlashEnd = i + 1;\n }\n if (extIdx >= 0) {\n // Try to match the explicit extension\n if (code === StringPrototypeCharCodeAt(ext\x2C extIdx)) {\n if (--extIdx === -1) {\n // We matched the extension\x2C so mark this as the end of our path\n // component\n end = i;\n }\n } else {\n // Extension does not match\x2C so our result is the entire path\n // component\n extIdx = -1;\n end = firstNonSlashEnd;\n }\n }\n }\n }\n\n if (start === end)\n end = firstNonSlashEnd;\n else if (end === -1)\n end = path.length;\n return StringPrototypeSlice(path\x2C start\x2C end);\n }\n for (let i = path.length - 1; i >= 0; --i) {\n if (StringPrototypeCharCodeAt(path\x2C i) === CHAR_FORWARD_SLASH) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string\x2C stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else if (end === -1) {\n // We saw the first non-path separator\x2C mark this as the end of our\n // path component\n matchedSlash = false;\n end = i + 1;\n }\n }\n\n if (end === -1)\n return '';\n return StringPrototypeSlice(path\x2C start\x2C end);\n }\x2C\n\n /**\n * @param {string} path\n * @returns {string}\n */\n extname(path) {\n validateString(path\x2C 'path');\n let startDot = -1;\n let startPart = 0;\n let end = -1;\n let matchedSlash = true;\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n let preDotState = 0;\n for (let i = path.length - 1; i >= 0; --i) {\n const code = StringPrototypeCharCodeAt(path\x2C i);\n if (code === CHAR_FORWARD_SLASH) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string\x2C stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n // We saw the first non-path separator\x2C mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n if (code === CHAR_DOT) {\n // If this is our first dot\x2C mark it as the start of our extension\n if (startDot === -1)\n startDot = i;\n else if (preDotState !== 1)\n preDotState = 1;\n } else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot\x2C so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n\n if (startDot === -1 ||\n end === -1 ||\n // We saw a non-dot character immediately before the dot\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly '..'\n (preDotState === 1 &&\n startDot === end - 1 &&\n startDot === startPart + 1)) {\n return '';\n }\n return StringPrototypeSlice(path\x2C startDot\x2C end);\n }\x2C\n\n format: FunctionPrototypeBind(_format\x2C null\x2C '/')\x2C\n\n /**\n * @param {string} path\n * @returns {{\n * dir: string;\n * root: string;\n * base: string;\n * name: string;\n * ext: string;\n * }}\n */\n parse(path) {\n validateString(path\x2C 'path');\n\n const ret = { root: ''\x2C dir: ''\x2C base: ''\x2C ext: ''\x2C name: '' };\n if (path.length === 0)\n return ret;\n const isAbsolute =\n StringPrototypeCharCodeAt(path\x2C 0) === CHAR_FORWARD_SLASH;\n let start;\n if (isAbsolute) {\n ret.root = '/';\n start = 1;\n } else {\n start = 0;\n }\n let startDot = -1;\n let startPart = 0;\n let end = -1;\n let matchedSlash = true;\n let i = path.length - 1;\n\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n let preDotState = 0;\n\n // Get non-dir info\n for (; i >= start; --i) {\n const code = StringPrototypeCharCodeAt(path\x2C i);\n if (code === CHAR_FORWARD_SLASH) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string\x2C stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n // We saw the first non-path separator\x2C mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n if (code === CHAR_DOT) {\n // If this is our first dot\x2C mark it as the start of our extension\n if (startDot === -1)\n startDot = i;\n else if (preDotState !== 1)\n preDotState = 1;\n } else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot\x2C so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n\n if (end !== -1) {\n const start = startPart === 0 && isAbsolute ? 1 : startPart;\n if (startDot === -1 ||\n // We saw a non-dot character immediately before the dot\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly '..'\n (preDotState === 1 &&\n startDot === end - 1 &&\n startDot === startPart + 1)) {\n ret.base = ret.name = StringPrototypeSlice(path\x2C start\x2C end);\n } else {\n ret.name = StringPrototypeSlice(path\x2C start\x2C startDot);\n ret.base = StringPrototypeSlice(path\x2C start\x2C end);\n ret.ext = StringPrototypeSlice(path\x2C startDot\x2C end);\n }\n }\n\n if (startPart > 0)\n ret.dir = StringPrototypeSlice(path\x2C 0\x2C startPart - 1);\n else if (isAbsolute)\n ret.dir = '/';\n\n return ret;\n }\x2C\n\n sep: '/'\x2C\n delimiter: ':'\x2C\n win32: null\x2C\n posix: null\n};\n\nposix.win32 = win32.win32 = win32;\nposix.posix = win32.posix = posix;\n\n// Legacy internal API\x2C docs-only deprecated: DEP0080\nwin32._makeLong = win32.toNamespacedPath;\nposix._makeLong = posix.toNamespacedPath;\n\nmodule.exports = platformIsWin32 ? win32 : posix;\n | |
code-source-info,0xaef925c7b9e,35,33782,34692,C0O33782C3O33817C6O33848C8O33878C12O33885C16O33898C18O33892C25O33902C27O33946C28O33948C35O33959C42O33965C45O33965C49O33984C57O33984C62O34058C68O34065C73O34082C75O34107C87O34133C92O34155C99O34182C107O34221C109O34217C113O33921C118O33860C121O34437C126O34483C137O34452C143O34569C147O34599C152O34610C156O34625C157O34656C163O34663C174O34688,, | |
tick,0x7fdcebfa6689,11384,0,0x0,3,0x11e9af0,0xaef925c5f23,0xaef925c23db,0x173f9a17be8d | |
code-creation,LazyCompile,10,11399,0xaef925cadd6,30,validateString node:internal/validators:117:24,0x24aa43759ef8,~ | |
script-source,17,node:internal/validators,'use strict';\n\nconst {\n ArrayIsArray\x2C\n ArrayPrototypeIncludes\x2C\n ArrayPrototypeJoin\x2C\n ArrayPrototypeMap\x2C\n NumberIsInteger\x2C\n NumberMAX_SAFE_INTEGER\x2C\n NumberMIN_SAFE_INTEGER\x2C\n NumberParseInt\x2C\n RegExpPrototypeTest\x2C\n String\x2C\n StringPrototypeToUpperCase\x2C\n StringPrototypeTrim\x2C\n} = primordials;\n\nconst {\n hideStackFrames\x2C\n codes: {\n ERR_SOCKET_BAD_PORT\x2C\n ERR_INVALID_ARG_TYPE\x2C\n ERR_INVALID_ARG_VALUE\x2C\n ERR_OUT_OF_RANGE\x2C\n ERR_UNKNOWN_SIGNAL\x2C\n ERR_INVALID_CALLBACK\x2C\n }\n} = require('internal/errors');\nconst { normalizeEncoding } = require('internal/util');\nconst {\n isArrayBufferView\n} = require('internal/util/types');\nconst { signals } = internalBinding('constants').os;\n\nfunction isInt32(value) {\n return value === (value | 0);\n}\n\nfunction isUint32(value) {\n return value === (value >>> 0);\n}\n\nconst octalReg = /^[0-7]+$/;\nconst modeDesc = 'must be a 32-bit unsigned integer or an octal string';\n\n/**\n * Parse and validate values that will be converted into mode_t (the S_*\n * constants). Only valid numbers and octal strings are allowed. They could be\n * converted to 32-bit unsigned integers or non-negative signed integers in the\n * C++ land\x2C but any value higher than 0o777 will result in platform-specific\n * behaviors.\n *\n * @param {*} value Values to be validated\n * @param {string} name Name of the argument\n * @param {number} [def] If specified\x2C will be returned for invalid values\n * @returns {number}\n */\nfunction parseFileMode(value\x2C name\x2C def) {\n value ??= def;\n if (typeof value === 'string') {\n if (!RegExpPrototypeTest(octalReg\x2C value)) {\n throw new ERR_INVALID_ARG_VALUE(name\x2C value\x2C modeDesc);\n }\n value = NumberParseInt(value\x2C 8);\n }\n\n validateInt32(value\x2C name\x2C 0\x2C 2 ** 32 - 1);\n return value;\n}\n\nconst validateInteger = hideStackFrames(\n (value\x2C name\x2C min = NumberMIN_SAFE_INTEGER\x2C max = NumberMAX_SAFE_INTEGER) => {\n if (typeof value !== 'number')\n throw new ERR_INVALID_ARG_TYPE(name\x2C 'number'\x2C value);\n if (!NumberIsInteger(value))\n throw new ERR_OUT_OF_RANGE(name\x2C 'an integer'\x2C value);\n if (value < min || value > max)\n throw new ERR_OUT_OF_RANGE(name\x2C `>= ${min} && <= ${max}`\x2C value);\n }\n);\n\nconst validateInt32 = hideStackFrames(\n (value\x2C name\x2C min = -2147483648\x2C max = 2147483647) => {\n // The defaults for min and max correspond to the limits of 32-bit integers.\n if (!isInt32(value)) {\n if (typeof value !== 'number') {\n throw new ERR_INVALID_ARG_TYPE(name\x2C 'number'\x2C value);\n }\n if (!NumberIsInteger(value)) {\n throw new ERR_OUT_OF_RANGE(name\x2C 'an integer'\x2C value);\n }\n throw new ERR_OUT_OF_RANGE(name\x2C `>= ${min} && <= ${max}`\x2C value);\n }\n if (value < min || value > max) {\n throw new ERR_OUT_OF_RANGE(name\x2C `>= ${min} && <= ${max}`\x2C value);\n }\n }\n);\n\nconst validateUint32 = hideStackFrames((value\x2C name\x2C positive) => {\n if (!isUint32(value)) {\n if (typeof value !== 'number') {\n throw new ERR_INVALID_ARG_TYPE(name\x2C 'number'\x2C value);\n }\n if (!NumberIsInteger(value)) {\n throw new ERR_OUT_OF_RANGE(name\x2C 'an integer'\x2C value);\n }\n const min = positive ? 1 : 0;\n // 2 ** 32 === 4294967296\n throw new ERR_OUT_OF_RANGE(name\x2C `>= ${min} && < 4294967296`\x2C value);\n }\n if (positive && value === 0) {\n throw new ERR_OUT_OF_RANGE(name\x2C '>= 1 && < 4294967296'\x2C value);\n }\n});\n\nfunction validateString(value\x2C name) {\n if (typeof value !== 'string')\n throw new ERR_INVALID_ARG_TYPE(name\x2C 'string'\x2C value);\n}\n\nfunction validateNumber(value\x2C name) {\n if (typeof value !== 'number')\n throw new ERR_INVALID_ARG_TYPE(name\x2C 'number'\x2C value);\n}\n\nconst validateOneOf = hideStackFrames((value\x2C name\x2C oneOf) => {\n if (!ArrayPrototypeIncludes(oneOf\x2C value)) {\n const allowed = ArrayPrototypeJoin(\n ArrayPrototypeMap(oneOf\x2C (v) =>\n (typeof v === 'string' ? `'${v}'` : String(v)))\x2C\n '\x2C ');\n const reason = 'must be one of: ' + allowed;\n throw new ERR_INVALID_ARG_VALUE(name\x2C value\x2C reason);\n }\n});\n\nfunction validateBoolean(value\x2C name) {\n if (typeof value !== 'boolean')\n throw new ERR_INVALID_ARG_TYPE(name\x2C 'boolean'\x2C value);\n}\n\n/**\n * @param {unknown} value\n * @param {string} name\n * @param {{\n * allowArray?: boolean\x2C\n * allowFunction?: boolean\x2C\n * nullable?: boolean\n * }} [options]\n */\nconst validateObject = hideStackFrames(\n (value\x2C name\x2C options) => {\n const useDefaultOptions = options == null;\n const allowArray = useDefaultOptions ? false : options.allowArray;\n const allowFunction = useDefaultOptions ? false : options.allowFunction;\n const nullable = useDefaultOptions ? false : options.nullable;\n if ((!nullable && value === null) ||\n (!allowArray && ArrayIsArray(value)) ||\n (typeof value !== 'object' && (\n !allowFunction || typeof value !== 'function'\n ))) {\n throw new ERR_INVALID_ARG_TYPE(name\x2C 'Object'\x2C value);\n }\n });\n\nconst validateArray = hideStackFrames((value\x2C name\x2C minLength = 0) => {\n if (!ArrayIsArray(value)) {\n throw new ERR_INVALID_ARG_TYPE(name\x2C 'Array'\x2C value);\n }\n if (value.length < minLength) {\n const reason = `must be longer than ${minLength}`;\n throw new ERR_INVALID_ARG_VALUE(name\x2C value\x2C reason);\n }\n});\n\nfunction validateSignalName(signal\x2C name = 'signal') {\n validateString(signal\x2C name);\n\n if (signals[signal] === undefined) {\n if (signals[StringPrototypeToUpperCase(signal)] !== undefined) {\n throw new ERR_UNKNOWN_SIGNAL(signal +\n ' (signals must use all capital letters)');\n }\n\n throw new ERR_UNKNOWN_SIGNAL(signal);\n }\n}\n\nconst validateBuffer = hideStackFrames((buffer\x2C name = 'buffer') => {\n if (!isArrayBufferView(buffer)) {\n throw new ERR_INVALID_ARG_TYPE(name\x2C\n ['Buffer'\x2C 'TypedArray'\x2C 'DataView']\x2C\n buffer);\n }\n});\n\nfunction validateEncoding(data\x2C encoding) {\n const normalizedEncoding = normalizeEncoding(encoding);\n const length = data.length;\n\n if (normalizedEncoding === 'hex' && length % 2 !== 0) {\n throw new ERR_INVALID_ARG_VALUE('encoding'\x2C encoding\x2C\n `is invalid for data of length ${length}`);\n }\n}\n\n// Check that the port number is not NaN when coerced to a number\x2C\n// is an integer and that it falls within the legal range of port numbers.\nfunction validatePort(port\x2C name = 'Port'\x2C allowZero = true) {\n if ((typeof port !== 'number' && typeof port !== 'string') ||\n (typeof port === 'string' && StringPrototypeTrim(port).length === 0) ||\n +port !== (+port >>> 0) ||\n port > 0xFFFF ||\n (port === 0 && !allowZero)) {\n throw new ERR_SOCKET_BAD_PORT(name\x2C port\x2C allowZero);\n }\n return port | 0;\n}\n\nconst validateCallback = hideStackFrames((callback) => {\n if (typeof callback !== 'function')\n throw new ERR_INVALID_CALLBACK(callback);\n});\n\nconst validateAbortSignal = hideStackFrames((signal\x2C name) => {\n if (signal !== undefined &&\n (signal === null ||\n typeof signal !== 'object' ||\n !('aborted' in signal))) {\n throw new ERR_INVALID_ARG_TYPE(name\x2C 'AbortSignal'\x2C signal);\n }\n});\n\nconst validateFunction = hideStackFrames((value\x2C name) => {\n if (typeof value !== 'function')\n throw new ERR_INVALID_ARG_TYPE(name\x2C 'Function'\x2C value);\n});\n\nconst validateUndefined = hideStackFrames((value\x2C name) => {\n if (value !== undefined)\n throw new ERR_INVALID_ARG_TYPE(name\x2C 'undefined'\x2C value);\n});\n\nmodule.exports = {\n isInt32\x2C\n isUint32\x2C\n parseFileMode\x2C\n validateArray\x2C\n validateBoolean\x2C\n validateBuffer\x2C\n validateEncoding\x2C\n validateFunction\x2C\n validateInt32\x2C\n validateInteger\x2C\n validateNumber\x2C\n validateObject\x2C\n validateOneOf\x2C\n validatePort\x2C\n validateSignalName\x2C\n validateString\x2C\n validateUint32\x2C\n validateUndefined\x2C\n validateCallback\x2C\n validateAbortSignal\x2C\n};\n | |
code-source-info,0xaef925cadd6,17,3398,3507,C0O3416C6O3451C22O3457C27O3451C29O3506,, | |
code-creation,LazyCompile,10,11547,0xaef925cb736,13, node:path:1082:10,0xbe5cb9e8438,~ | |
code-source-info,0xaef925cb736,35,33631,33650,C0O33645C3O33645C8O33645C12O33650,, | |
code-creation,LazyCompile,10,11564,0xaef925cb836,40,wrappedCwd node:internal/bootstrap/switches/does_own_process_state:124:20,0x3adb2a84d3e8,~ | |
script-source,90,node:internal/bootstrap/switches/does_own_process_state,'use strict';\n\nconst credentials = internalBinding('credentials');\nconst rawMethods = internalBinding('process_methods');\n\nprocess.abort = rawMethods.abort;\nprocess.umask = wrappedUmask;\nprocess.chdir = wrappedChdir;\nprocess.cwd = wrappedCwd;\n\nif (credentials.implementsPosixCredentials) {\n const wrapped = wrapPosixCredentialSetters(credentials);\n\n process.initgroups = wrapped.initgroups;\n process.setgroups = wrapped.setgroups;\n process.setegid = wrapped.setegid;\n process.seteuid = wrapped.seteuid;\n process.setgid = wrapped.setgid;\n process.setuid = wrapped.setuid;\n}\n\n// ---- keep the attachment of the wrappers above so that it's easier to ----\n// ---- compare the setups side-by-side -----\n\nconst {\n parseFileMode\x2C\n validateArray\x2C\n validateString\n} = require('internal/validators');\n\nfunction wrapPosixCredentialSetters(credentials) {\n const {\n codes: {\n ERR_INVALID_ARG_TYPE\x2C\n ERR_UNKNOWN_CREDENTIAL\n }\n } = require('internal/errors');\n const {\n validateUint32\n } = require('internal/validators');\n\n const {\n initgroups: _initgroups\x2C\n setgroups: _setgroups\x2C\n setegid: _setegid\x2C\n seteuid: _seteuid\x2C\n setgid: _setgid\x2C\n setuid: _setuid\n } = credentials;\n\n function initgroups(user\x2C extraGroup) {\n validateId(user\x2C 'user');\n validateId(extraGroup\x2C 'extraGroup');\n // Result is 0 on success\x2C 1 if user is unknown\x2C 2 if group is unknown.\n const result = _initgroups(user\x2C extraGroup);\n if (result === 1) {\n throw new ERR_UNKNOWN_CREDENTIAL('User'\x2C user);\n } else if (result === 2) {\n throw new ERR_UNKNOWN_CREDENTIAL('Group'\x2C extraGroup);\n }\n }\n\n function setgroups(groups) {\n validateArray(groups\x2C 'groups');\n for (let i = 0; i < groups.length; i++) {\n validateId(groups[i]\x2C `groups[${i}]`);\n }\n // Result is 0 on success. A positive integer indicates that the\n // corresponding group was not found.\n const result = _setgroups(groups);\n if (result > 0) {\n throw new ERR_UNKNOWN_CREDENTIAL('Group'\x2C groups[result - 1]);\n }\n }\n\n function wrapIdSetter(type\x2C method) {\n return function(id) {\n validateId(id\x2C 'id');\n if (typeof id === 'number') id |= 0;\n // Result is 0 on success\x2C 1 if credential is unknown.\n const result = method(id);\n if (result === 1) {\n throw new ERR_UNKNOWN_CREDENTIAL(type\x2C id);\n }\n };\n }\n\n function validateId(id\x2C name) {\n if (typeof id === 'number') {\n validateUint32(id\x2C name);\n } else if (typeof id !== 'string') {\n throw new ERR_INVALID_ARG_TYPE(name\x2C ['number'\x2C 'string']\x2C id);\n }\n }\n\n return {\n initgroups\x2C\n setgroups\x2C\n setegid: wrapIdSetter('Group'\x2C _setegid)\x2C\n seteuid: wrapIdSetter('User'\x2C _seteuid)\x2C\n setgid: wrapIdSetter('Group'\x2C _setgid)\x2C\n setuid: wrapIdSetter('User'\x2C _setuid)\n };\n}\n\n// Cache the working directory to prevent lots of lookups. If the working\n// directory is changed by `chdir`\x2C it'll be updated.\nlet cachedCwd = '';\n\nfunction wrappedChdir(directory) {\n validateString(directory\x2C 'directory');\n rawMethods.chdir(directory);\n // Mark cache that it requires an update.\n cachedCwd = '';\n}\n\nfunction wrappedUmask(mask) {\n if (mask !== undefined) {\n mask = parseFileMode(mask\x2C 'mask');\n }\n return rawMethods.umask(mask);\n}\n\nfunction wrappedCwd() {\n if (cachedCwd === '')\n cachedCwd = rawMethods.cwd();\n return cachedCwd;\n}\n | |
code-source-info,0xaef925cb836,90,3341,3425,C0O3348C7O3362C12O3374C17O3397C22O3397C29O3384C35O3406C39O3423,, | |
code-creation,LazyCompile,10,11684,0xaef925cbe9e,442,normalizeString node:path:66:25,0xbe5cb9e7fa0,~ | |
code-source-info,0xaef925cbe9e,35,2161,4085,C0O2226C3O2256C5O2277C8O2294C10O2310C12O2328C14O2341C18O2333C23O2373C27O2366C32O2387C37O2394C45O2443C51O2472C53O2494C58O2530C64O2561C66O2581C69O2575C76O2593C83O2631C85O2640C90O2665C97O2672C104O2697C111O2718C114O2753C118O2760C122O2718C130O2769C132O2765C139O2793C142O2828C146O2835C150O2793C158O2844C160O2840C165O2874C172O2881C177O2923C182O2923C188O2979C190O2998C195O3022C198O3046C202O3104C215O3110C221O3210C225O3217C231O3223C234O3223C239O3221C243O3293C246O3320C248O3342C250O3377C256O3384C261O3405C264O3427C266O3462C269O3489C271O3511C273O3551C277O3594C283O3601C293O3610C308O3642C313O3706C319O3713C324O3728C326O3738C330O3750C335O3787C345O3750C363O3821C370O3864C380O3827C386O3881C388O3903C391O3915C395O3934C398O3955C402O3976C404O3989C406O3985C413O4006C418O4022C425O4049C428O2351C433O2315C439O4072C441O4083,, | |
code-creation,LazyCompile,10,11709,0xaef925cc21e,8,isPosixPathSeparator node:path:56:30,0xbe5cb9e7f00,~ | |
code-source-info,0xaef925cc21e,35,1854,1902,C0O1865C2O1881C4O1877C7O1900,, | |
code-creation,LazyCompile,10,11752,0xaef925cc696,63,addReadOnlyProcessAlias node:internal/bootstrap/pre_execution:129:33,0x173f9a17dde8,~ | |
code-source-info,0xaef925cc696,92,4285,4510,C16O4337C21O4337C26O4363C28O4380C36O4410C43O4473C49O4491C56O4380C62O4509,, | |
code-creation,LazyCompile,10,11775,0xaef925cc816,82,getOptionValue node:internal/options:39:24,0xaef925c13d8,~ | |
code-source-info,0xaef925cc816,93,902,1145,C0O935C3O935C7O980C15O980C22O1030C30O1052C38O1052C43O1039C47O1030C53O1067C55O1092C60O1098C61O1120C66O1120C74O1135C81O1143,, | |
code-creation,LazyCompile,10,11789,0xaef925ccbc6,33,getCLIOptionsFromBinding node:internal/options:18:34,0xaef925c12e8,~ | |
code-source-info,0xaef925ccbc6,93,497,598,C0O504C6O527C11O554C15O539C28O578C32O596,, | |
tick,0xf40dbd,11942,0,0x0,0,0xf41350,0xaef925cc6c7,0xaef925c5f73,0xaef925c23db,0x173f9a17be8d | |
code-creation,LazyCompile,10,11958,0xaef925ccfa6,46,setupTraceCategoryState node:internal/bootstrap/pre_execution:221:33,0x173f9a17e090,~ | |
code-source-info,0xaef925ccfa6,92,6753,6980,C0O6795C6O6795C11O6768C16O6867C22O6867C27O6838C32O6909C35O6934C40O6909C45O6979,, | |
code-creation,LazyCompile,10,11986,0xaef925cd13e,77,toggleTraceCategoryState node:internal/process/per_thread:385:34,0x24aa4377e470,~ | |
code-source-info,0xaef925cd13e,23,11040,11337,C0O11064C4O11093C10O11128C16O11159C21O11203C26O11204C33O11149C39O11228C44O11249C49O11249C55O11268C61O11300C66O11321C71O11321C76O11336,, | |
code-creation,LazyCompile,10,11999,0xaef925cd2ee,42,setupPerfHooks node:internal/bootstrap/pre_execution:227:24,0x173f9a17e0e0,~ | |
code-source-info,0xaef925cd2ee,92,7005,7125,C0O7012C6O7012C11O7048C16O7049C20O7072C26O7072C31O7102C36O7103C41O7124,, | |
code-creation,LazyCompile,10,12017,0xaef925cd46e,42,refreshTimeOrigin node:internal/perf/performance:178:27,0x16ddc0803b38,~ | |
script-source,70,node:internal/perf/performance,'use strict';\n\nconst {\n ObjectDefineProperty\x2C\n ObjectDefineProperties\x2C\n ObjectSetPrototypeOf\x2C\n} = primordials;\n\nconst {\n codes: {\n ERR_ILLEGAL_CONSTRUCTOR\x2C\n }\n} = require('internal/errors');\n\nconst {\n EventTarget\x2C\n} = require('internal/event_target');\n\nconst { now } = require('internal/perf/utils');\n\nconst {\n mark\x2C\n measure\x2C\n clearMarkTimings\x2C\n} = require('internal/perf/usertiming');\nconst {\n clearEntriesFromBuffer\x2C\n filterBufferMapByNameAndType\x2C\n} = require('internal/perf/observe');\n\nconst eventLoopUtilization = require('internal/perf/event_loop_utilization');\nconst nodeTiming = require('internal/perf/nodetiming');\nconst timerify = require('internal/perf/timerify');\nconst { customInspectSymbol: kInspect } = require('internal/util');\nconst { inspect } = require('util');\n\nconst {\n getTimeOriginTimestamp\n} = internalBinding('performance');\n\nclass Performance extends EventTarget {\n constructor() {\n throw new ERR_ILLEGAL_CONSTRUCTOR();\n }\n\n [kInspect](depth\x2C options) {\n if (depth < 0) return this;\n\n const opts = {\n ...options\x2C\n depth: options.depth == null ? null : options.depth - 1\n };\n\n return `Performance ${inspect({\n nodeTiming: this.nodeTiming\x2C\n timeOrigin: this.timeOrigin\x2C\n }\x2C opts)}`;\n }\n}\n\nfunction toJSON() {\n return {\n nodeTiming: this.nodeTiming\x2C\n timeOrigin: this.timeOrigin\x2C\n eventLoopUtilization: this.eventLoopUtilization()\n };\n}\n\nfunction clearMarks(name) {\n if (name !== undefined) {\n name = `${name}`;\n }\n clearMarkTimings(name);\n clearEntriesFromBuffer('mark'\x2C name);\n}\n\nfunction clearMeasures(name) {\n if (name !== undefined) {\n name = `${name}`;\n }\n clearEntriesFromBuffer('measure'\x2C name);\n}\n\nfunction getEntries() {\n return filterBufferMapByNameAndType();\n}\n\nfunction getEntriesByName(name) {\n if (name !== undefined) {\n name = `${name}`;\n }\n return filterBufferMapByNameAndType(name\x2C undefined);\n}\n\nfunction getEntriesByType(type) {\n if (type !== undefined) {\n type = `${type}`;\n }\n return filterBufferMapByNameAndType(undefined\x2C type);\n}\n\nclass InternalPerformance extends EventTarget {}\nInternalPerformance.prototype.constructor = Performance.prototype.constructor;\nObjectSetPrototypeOf(InternalPerformance.prototype\x2C Performance.prototype);\n\nObjectDefineProperties(Performance.prototype\x2C {\n clearMarks: {\n configurable: true\x2C\n enumerable: false\x2C\n value: clearMarks\x2C\n }\x2C\n clearMeasures: {\n configurable: true\x2C\n enumerable: false\x2C\n value: clearMeasures\x2C\n }\x2C\n eventLoopUtilization: {\n configurable: true\x2C\n enumerable: false\x2C\n value: eventLoopUtilization\x2C\n }\x2C\n getEntries: {\n configurable: true\x2C\n enumerable: false\x2C\n value: getEntries\x2C\n }\x2C\n getEntriesByName: {\n configurable: true\x2C\n enumerable: false\x2C\n value: getEntriesByName\x2C\n }\x2C\n getEntriesByType: {\n configurable: true\x2C\n enumerable: false\x2C\n value: getEntriesByType\x2C\n }\x2C\n mark: {\n configurable: true\x2C\n enumerable: false\x2C\n value: mark\x2C\n }\x2C\n measure: {\n configurable: true\x2C\n enumerable: false\x2C\n value: measure\x2C\n }\x2C\n nodeTiming: {\n configurable: true\x2C\n enumerable: false\x2C\n value: nodeTiming\x2C\n }\x2C\n now: {\n configurable: true\x2C\n enumerable: false\x2C\n value: now\x2C\n }\x2C\n timerify: {\n configurable: true\x2C\n enumerable: false\x2C\n value: timerify\x2C\n }\x2C\n // This would be updated during pre-execution in case\n // the process is launched from a snapshot.\n // TODO(joyeecheung): we may want to warn about access to\n // this during snapshot building.\n timeOrigin: {\n configurable: true\x2C\n enumerable: true\x2C\n value: getTimeOriginTimestamp()\x2C\n }\x2C\n toJSON: {\n configurable: true\x2C\n enumerable: true\x2C\n value: toJSON\x2C\n }\n});\n\nfunction refreshTimeOrigin() {\n ObjectDefineProperty(Performance.prototype\x2C 'timeOrigin'\x2C {\n configurable: true\x2C\n enumerable: true\x2C\n value: getTimeOriginTimestamp()\x2C\n });\n}\n\nmodule.exports = {\n InternalPerformance\x2C\n refreshTimeOrigin\n};\n | |
code-source-info,0xaef925cd46e,70,3755,3912,C0O3762C7O3783C10O3795C25O3879C28O3879C35O3762C41O3911,, | |
code-creation,LazyCompile,10,12110,0xaef925cdb7e,19,refreshTimeOrigin node:internal/perf/utils:25:27,0xbe5cb9fb420,~ | |
script-source,41,node:internal/perf/utils,'use strict';\n\nconst binding = internalBinding('performance');\nconst {\n milestones\x2C\n getTimeOrigin\x2C\n} = binding;\n\n// TODO(joyeecheung): we may want to warn about access to\n// this during snapshot building.\nlet timeOrigin = getTimeOrigin();\n\nfunction now() {\n const hr = process.hrtime();\n return (hr[0] * 1000 + hr[1] / 1e6) - timeOrigin;\n}\n\nfunction getMilestoneTimestamp(milestoneIdx) {\n const ns = milestones[milestoneIdx];\n if (ns === -1)\n return ns;\n return ns / 1e6 - timeOrigin;\n}\n\nfunction refreshTimeOrigin() {\n timeOrigin = getTimeOrigin();\n}\n\nmodule.exports = {\n now\x2C\n getMilestoneTimestamp\x2C\n refreshTimeOrigin\n};\n | |
code-source-info,0xaef925cdb7e,41,525,563,C0O532C5O545C11O543C18O562,, | |
code-creation,LazyCompile,10,12148,0xaef925cddee,62,setupInspectorHooks node:internal/bootstrap/pre_execution:232:29,0x173f9a17e130,~ | |
code-source-info,0xaef925cddee,92,7155,7708,C0O7498C6O7502C11O7527C17O7592C23O7592C28O7562C33O7576C38O7638C44O7638C49O7666C54O7667C61O7707,, | |
code-creation,Eval,10,12203,0xaef925ce19e,5, node:internal/inspector_async_hook:1:1,0xaef925cdfe8,~ | |
script-source,94,node:internal/inspector_async_hook,'use strict';\n\nlet hook;\nlet config;\n\nconst {\n SafeSet\x2C\n} = primordials;\n\nfunction lazyHookCreation() {\n const inspector = internalBinding('inspector');\n const { createHook } = require('async_hooks');\n config = internalBinding('config');\n\n hook = createHook({\n init(asyncId\x2C type\x2C triggerAsyncId\x2C resource) {\n // It's difficult to tell which tasks will be recurring and which won't\x2C\n // therefore we mark all tasks as recurring. Based on the discussion\n // in https://github.com/nodejs/node/pull/13870#discussion_r124515293\x2C\n // this should be fine as long as we call asyncTaskCanceled() too.\n const recurring = true;\n if (type === 'PROMISE')\n this.promiseIds.add(asyncId);\n else\n inspector.asyncTaskScheduled(type\x2C asyncId\x2C recurring);\n }\x2C\n\n before(asyncId) {\n if (this.promiseIds.has(asyncId))\n return;\n inspector.asyncTaskStarted(asyncId);\n }\x2C\n\n after(asyncId) {\n if (this.promiseIds.has(asyncId))\n return;\n inspector.asyncTaskFinished(asyncId);\n }\x2C\n\n destroy(asyncId) {\n if (this.promiseIds.has(asyncId))\n return this.promiseIds.delete(asyncId);\n inspector.asyncTaskCanceled(asyncId);\n }\x2C\n });\n\n hook.promiseIds = new SafeSet();\n}\n\nfunction enable() {\n if (hook === undefined) lazyHookCreation();\n if (config.bits < 64) {\n // V8 Inspector stores task ids as (void*) pointers.\n // async_hooks store ids as 64bit numbers.\n // As a result\x2C we cannot reliably translate async_hook ids to V8 async_task\n // ids on 32bit platforms.\n process.emitWarning(\n 'Warning: Async stack traces in debugger are not available ' +\n `on ${config.bits}bit platforms. The feature is disabled.`\x2C\n {\n code: 'INSPECTOR_ASYNC_STACK_TRACES_NOT_AVAILABLE'\x2C\n });\n } else {\n hook.enable();\n }\n}\n\nfunction disable() {\n if (hook === undefined) lazyHookCreation();\n hook.disable();\n}\n\nmodule.exports = {\n enable\x2C\n disable\n};\n | |
code-source-info,0xaef925ce19e,94,0,1972,C0O0C4O1972,, | |
code-creation,Function,10,12248,0xaef925ce3be,79, node:internal/inspector_async_hook:1:1,0xaef925ce118,~ | |
code-source-info,0xaef925ce3be,94,0,1972,C0O0C42O19C43O19C45O29C46O29C48O48C54O1930C61O1951C67O1961C73O1945C78O1971,, | |
code-creation,LazyCompile,10,12294,0xaef925ce8b6,69,setupWarningHandler node:internal/bootstrap/pre_execution:141:29,0x173f9a17de38,~ | |
code-source-info,0xaef925ce8b6,92,4540,4737,C0O4575C6O4575C11O4559C16O4614C24O4618C33O4662C38O4666C45O4683C50O4698C53O4706C61O4706C68O4736,, | |
code-creation,LazyCompile,10,12344,0xaef925cea16,20,addListener node:events:486:58,0xff54a872d38,~ | |
script-source,13,node:events,// Copyright Joyent\x2C Inc. and other Node contributors.\n//\n// Permission is hereby granted\x2C free of charge\x2C to any person obtaining a\n// copy of this software and associated documentation files (the\n// "Software")\x2C to deal in the Software without restriction\x2C including\n// without limitation the rights to use\x2C copy\x2C modify\x2C merge\x2C publish\x2C\n// distribute\x2C sublicense\x2C and/or sell copies of the Software\x2C and to permit\n// persons to whom the Software is furnished to do so\x2C subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED "AS IS"\x2C WITHOUT WARRANTY OF ANY KIND\x2C EXPRESS\n// OR IMPLIED\x2C INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY\x2C FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM\x2C\n// DAMAGES OR OTHER LIABILITY\x2C WHETHER IN AN ACTION OF CONTRACT\x2C TORT OR\n// OTHERWISE\x2C ARISING FROM\x2C OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nconst {\n ArrayPrototypeIndexOf\x2C\n ArrayPrototypeJoin\x2C\n ArrayPrototypeShift\x2C\n ArrayPrototypeSlice\x2C\n ArrayPrototypeSplice\x2C\n Boolean\x2C\n Error\x2C\n ErrorCaptureStackTrace\x2C\n FunctionPrototypeBind\x2C\n FunctionPrototypeCall\x2C\n MathMin\x2C\n NumberIsNaN\x2C\n ObjectCreate\x2C\n ObjectDefineProperty\x2C\n ObjectDefineProperties\x2C\n ObjectGetPrototypeOf\x2C\n ObjectSetPrototypeOf\x2C\n Promise\x2C\n PromiseReject\x2C\n PromiseResolve\x2C\n ReflectOwnKeys\x2C\n String\x2C\n StringPrototypeSplit\x2C\n Symbol\x2C\n SymbolFor\x2C\n SymbolAsyncIterator\x2C\n} = primordials;\nconst kRejection = SymbolFor('nodejs.rejection');\nconst { inspect } = require('internal/util/inspect');\n\nlet spliceOne;\n\nconst {\n AbortError\x2C\n kEnhanceStackBeforeInspector\x2C\n codes: {\n ERR_INVALID_ARG_TYPE\x2C\n ERR_OUT_OF_RANGE\x2C\n ERR_UNHANDLED_ERROR\n }\x2C\n} = require('internal/errors');\n\nconst {\n validateAbortSignal\x2C\n validateBoolean\x2C\n validateFunction\x2C\n} = require('internal/validators');\n\nconst kCapture = Symbol('kCapture');\nconst kErrorMonitor = Symbol('events.errorMonitor');\nconst kMaxEventTargetListeners = Symbol('events.maxEventTargetListeners');\nconst kMaxEventTargetListenersWarned =\n Symbol('events.maxEventTargetListenersWarned');\n\n/**\n * Creates a new `EventEmitter` instance.\n * @param {{ captureRejections?: boolean; }} [opts]\n * @returns {EventEmitter}\n */\nfunction EventEmitter(opts) {\n EventEmitter.init.call(this\x2C opts);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\nmodule.exports.on = on;\nmodule.exports.getEventListeners = getEventListeners;\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.usingDomains = false;\n\nEventEmitter.captureRejectionSymbol = kRejection;\nObjectDefineProperty(EventEmitter\x2C 'captureRejections'\x2C {\n get() {\n return EventEmitter.prototype[kCapture];\n }\x2C\n set(value) {\n validateBoolean(value\x2C 'EventEmitter.captureRejections');\n\n EventEmitter.prototype[kCapture] = value;\n }\x2C\n enumerable: true\n});\n\nEventEmitter.errorMonitor = kErrorMonitor;\n\n// The default for captureRejections is false\nObjectDefineProperty(EventEmitter.prototype\x2C kCapture\x2C {\n value: false\x2C\n writable: true\x2C\n enumerable: false\n});\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nlet defaultMaxListeners = 10;\nlet isEventTarget;\n\nfunction checkListener(listener) {\n validateFunction(listener\x2C 'listener');\n}\n\nObjectDefineProperty(EventEmitter\x2C 'defaultMaxListeners'\x2C {\n enumerable: true\x2C\n get: function() {\n return defaultMaxListeners;\n }\x2C\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new ERR_OUT_OF_RANGE('defaultMaxListeners'\x2C\n 'a non-negative number'\x2C\n arg);\n }\n defaultMaxListeners = arg;\n }\n});\n\nObjectDefineProperties(EventEmitter\x2C {\n kMaxEventTargetListeners: {\n value: kMaxEventTargetListeners\x2C\n enumerable: false\x2C\n configurable: false\x2C\n writable: false\x2C\n }\x2C\n kMaxEventTargetListenersWarned: {\n value: kMaxEventTargetListenersWarned\x2C\n enumerable: false\x2C\n configurable: false\x2C\n writable: false\x2C\n }\n});\n\n/**\n * Sets the max listeners.\n * @param {number} n\n * @param {EventTarget[] | EventEmitter[]} [eventTargets]\n * @returns {void}\n */\nEventEmitter.setMaxListeners =\n function(n = defaultMaxListeners\x2C ...eventTargets) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n))\n throw new ERR_OUT_OF_RANGE('n'\x2C 'a non-negative number'\x2C n);\n if (eventTargets.length === 0) {\n defaultMaxListeners = n;\n } else {\n if (isEventTarget === undefined)\n isEventTarget = require('internal/event_target').isEventTarget;\n\n for (let i = 0; i < eventTargets.length; i++) {\n const target = eventTargets[i];\n if (isEventTarget(target)) {\n target[kMaxEventTargetListeners] = n;\n target[kMaxEventTargetListenersWarned] = false;\n } else if (typeof target.setMaxListeners === 'function') {\n target.setMaxListeners(n);\n } else {\n throw new ERR_INVALID_ARG_TYPE(\n 'eventTargets'\x2C\n ['EventEmitter'\x2C 'EventTarget']\x2C\n target);\n }\n }\n }\n };\n\nEventEmitter.init = function(opts) {\n\n if (this._events === undefined ||\n this._events === ObjectGetPrototypeOf(this)._events) {\n this._events = ObjectCreate(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n\n\n if (opts?.captureRejections) {\n validateBoolean(opts.captureRejections\x2C 'options.captureRejections');\n this[kCapture] = Boolean(opts.captureRejections);\n } else {\n // Assigning the kCapture property directly saves an expensive\n // prototype lookup in a very sensitive hot path.\n this[kCapture] = EventEmitter.prototype[kCapture];\n }\n};\n\nfunction addCatch(that\x2C promise\x2C type\x2C args) {\n if (!that[kCapture]) {\n return;\n }\n\n // Handle Promises/A+ spec\x2C then could be a getter\n // that throws on second use.\n try {\n const then = promise.then;\n\n if (typeof then === 'function') {\n then.call(promise\x2C undefined\x2C function(err) {\n // The callback is called with nextTick to avoid a follow-up\n // rejection from this promise.\n process.nextTick(emitUnhandledRejectionOrErr\x2C that\x2C err\x2C type\x2C args);\n });\n }\n } catch (err) {\n that.emit('error'\x2C err);\n }\n}\n\nfunction emitUnhandledRejectionOrErr(ee\x2C err\x2C type\x2C args) {\n if (typeof ee[kRejection] === 'function') {\n ee[kRejection](err\x2C type\x2C ...args);\n } else {\n // We have to disable the capture rejections mechanism\x2C otherwise\n // we might end up in an infinite loop.\n const prev = ee[kCapture];\n\n // If the error handler throws\x2C it is not catcheable and it\n // will end up in 'uncaughtException'. We restore the previous\n // value of kCapture in case the uncaughtException is present\n // and the exception is handled.\n try {\n ee[kCapture] = false;\n ee.emit('error'\x2C err);\n } finally {\n ee[kCapture] = prev;\n }\n }\n}\n\n/**\n * Increases the max listeners of the event emitter.\n * @param {number} n\n * @returns {EventEmitter}\n */\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new ERR_OUT_OF_RANGE('n'\x2C 'a non-negative number'\x2C n);\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\n/**\n * Returns the current max listener value for the event emitter.\n * @returns {number}\n */\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\n// Returns the length and line number of the first sequence of `a` that fully\n// appears in `b` with a length of at least 4.\nfunction identicalSequenceRange(a\x2C b) {\n for (let i = 0; i < a.length - 3; i++) {\n // Find the first entry of b that matches the current entry of a.\n const pos = ArrayPrototypeIndexOf(b\x2C a[i]);\n if (pos !== -1) {\n const rest = b.length - pos;\n if (rest > 3) {\n let len = 1;\n const maxLen = MathMin(a.length - i\x2C rest);\n // Count the number of consecutive entries.\n while (maxLen > len && a[i + len] === b[pos + len]) {\n len++;\n }\n if (len > 3) {\n return [len\x2C i];\n }\n }\n }\n }\n\n return [0\x2C 0];\n}\n\nfunction enhanceStackTrace(err\x2C own) {\n let ctorInfo = '';\n try {\n const { name } = this.constructor;\n if (name !== 'EventEmitter')\n ctorInfo = ` on ${name} instance`;\n } catch {}\n const sep = `\\nEmitted 'error' event${ctorInfo} at:\\n`;\n\n const errStack = ArrayPrototypeSlice(\n StringPrototypeSplit(err.stack\x2C '\\n')\x2C 1);\n const ownStack = ArrayPrototypeSlice(\n StringPrototypeSplit(own.stack\x2C '\\n')\x2C 1);\n\n const { 0: len\x2C 1: off } = identicalSequenceRange(ownStack\x2C errStack);\n if (len > 0) {\n ArrayPrototypeSplice(ownStack\x2C off + 1\x2C len - 2\x2C\n ' [... lines matching original stack trace ...]');\n }\n\n return err.stack + sep + ArrayPrototypeJoin(ownStack\x2C '\\n');\n}\n\n/**\n * Synchronously calls each of the listeners registered\n * for the event.\n * @param {string | symbol} type\n * @param {...any} [args]\n * @returns {boolean}\n */\nEventEmitter.prototype.emit = function emit(type\x2C ...args) {\n let doError = (type === 'error');\n\n const events = this._events;\n if (events !== undefined) {\n if (doError && events[kErrorMonitor] !== undefined)\n this.emit(kErrorMonitor\x2C ...args);\n doError = (doError && events.error === undefined);\n } else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n let er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n try {\n const capture = {};\n ErrorCaptureStackTrace(capture\x2C EventEmitter.prototype.emit);\n ObjectDefineProperty(er\x2C kEnhanceStackBeforeInspector\x2C {\n value: FunctionPrototypeBind(enhanceStackTrace\x2C this\x2C er\x2C capture)\x2C\n configurable: true\n });\n } catch {}\n\n // Note: The comments on the `throw` lines are intentional\x2C they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n\n let stringifiedEr;\n try {\n stringifiedEr = inspect(er);\n } catch {\n stringifiedEr = er;\n }\n\n // At least give some kind of context to the user\n const err = new ERR_UNHANDLED_ERROR(stringifiedEr);\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n const handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n const result = handler.apply(this\x2C args);\n\n // We check if result is undefined first because that\n // is the most common case so we do not pay any perf\n // penalty\n if (result !== undefined && result !== null) {\n addCatch(this\x2C result\x2C type\x2C args);\n }\n } else {\n const len = handler.length;\n const listeners = arrayClone(handler);\n for (let i = 0; i < len; ++i) {\n const result = listeners[i].apply(this\x2C args);\n\n // We check if result is undefined first because that\n // is the most common case so we do not pay any perf\n // penalty.\n // This code is duplicated because extracting it away\n // would make it non-inlineable.\n if (result !== undefined && result !== null) {\n addCatch(this\x2C result\x2C type\x2C args);\n }\n }\n }\n\n return true;\n};\n\nfunction _addListener(target\x2C type\x2C listener\x2C prepend) {\n let m;\n let events;\n let existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = ObjectCreate(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === "newListener"! Before\n // adding it to the listeners\x2C first emit "newListener".\n if (events.newListener !== undefined) {\n target.emit('newListener'\x2C type\x2C\n listener.listener ?? listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element\x2C need to change to array.\n existing = events[type] =\n prepend ? [listener\x2C existing] : [existing\x2C listener];\n // If we've already got an array\x2C just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n const w = new Error('Possible EventEmitter memory leak detected. ' +\n `${existing.length} ${String(type)} listeners ` +\n `added to ${inspect(target\x2C { depth: -1 })}. Use ` +\n 'emitter.setMaxListeners() to increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n process.emitWarning(w);\n }\n }\n\n return target;\n}\n\n/**\n * Adds a listener to the event emitter.\n * @param {string | symbol} type\n * @param {Function} listener\n * @returns {EventEmitter}\n */\nEventEmitter.prototype.addListener = function addListener(type\x2C listener) {\n return _addListener(this\x2C type\x2C listener\x2C false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\n/**\n * Adds the `listener` function to the beginning of\n * the listeners array.\n * @param {string | symbol} type\n * @param {Function} listener\n * @returns {EventEmitter}\n */\nEventEmitter.prototype.prependListener =\n function prependListener(type\x2C listener) {\n return _addListener(this\x2C type\x2C listener\x2C true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type\x2C this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target\x2C arguments);\n }\n}\n\nfunction _onceWrap(target\x2C type\x2C listener) {\n const state = { fired: false\x2C wrapFn: undefined\x2C target\x2C type\x2C listener };\n const wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\n/**\n * Adds a one-time `listener` function to the event emitter.\n * @param {string | symbol} type\n * @param {Function} listener\n * @returns {EventEmitter}\n */\nEventEmitter.prototype.once = function once(type\x2C listener) {\n checkListener(listener);\n\n this.on(type\x2C _onceWrap(this\x2C type\x2C listener));\n return this;\n};\n\n/**\n * Adds a one-time `listener` function to the beginning of\n * the listeners array.\n * @param {string | symbol} type\n * @param {Function} listener\n * @returns {EventEmitter}\n */\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type\x2C listener) {\n checkListener(listener);\n\n this.prependListener(type\x2C _onceWrap(this\x2C type\x2C listener));\n return this;\n };\n\n/**\n * Removes the specified `listener` from the listeners array.\n * @param {string | symbol} type\n * @param {Function} listener\n * @returns {EventEmitter}\n */\nEventEmitter.prototype.removeListener =\n function removeListener(type\x2C listener) {\n checkListener(listener);\n\n const events = this._events;\n if (events === undefined)\n return this;\n\n const list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = ObjectCreate(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener'\x2C type\x2C list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n let position = -1;\n\n for (let i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n if (spliceOne === undefined)\n spliceOne = require('internal/util').spliceOne;\n spliceOne(list\x2C position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener'\x2C type\x2C listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\n/**\n * Removes all listeners from the event emitter. (Only\n * removes listeners for a specific event name if specified\n * as `type`).\n * @param {string | symbol} [type]\n * @returns {EventEmitter}\n */\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n const events = this._events;\n if (events === undefined)\n return this;\n\n // Not listening for removeListener\x2C no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = ObjectCreate(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = ObjectCreate(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // Emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n for (const key of ReflectOwnKeys(events)) {\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = ObjectCreate(null);\n this._eventsCount = 0;\n return this;\n }\n\n const listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type\x2C listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (let i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type\x2C listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target\x2C type\x2C unwrap) {\n const events = target._events;\n\n if (events === undefined)\n return [];\n\n const evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener);\n}\n\n/**\n * Returns a copy of the array of listeners for the event name\n * specified as `type`.\n * @param {string | symbol} type\n * @returns {Function[]}\n */\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this\x2C type\x2C true);\n};\n\n/**\n * Returns a copy of the array of listeners and wrappers for\n * the event name specified as `type`.\n * @param {string | symbol} type\n * @returns {Function[]}\n */\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this\x2C type\x2C false);\n};\n\n/**\n * Returns the number of listeners listening to the event name\n * specified as `type`.\n * @deprecated since v3.2.0\n * @param {EventEmitter} emitter\n * @param {string | symbol} type\n * @returns {number}\n */\nEventEmitter.listenerCount = function(emitter\x2C type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n }\n return FunctionPrototypeCall(listenerCount\x2C emitter\x2C type);\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\n\n/**\n * Returns the number of listeners listening to event name\n * specified as `type`.\n * @param {string | symbol} type\n * @returns {number}\n */\nfunction listenerCount(type) {\n const events = this._events;\n\n if (events !== undefined) {\n const evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\n/**\n * Returns an array listing the events for which\n * the emitter has registered listeners.\n * @returns {any[]}\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr) {\n // At least since V8 8.3\x2C this implementation is faster than the previous\n // which always used a simple for-loop\n switch (arr.length) {\n case 2: return [arr[0]\x2C arr[1]];\n case 3: return [arr[0]\x2C arr[1]\x2C arr[2]];\n case 4: return [arr[0]\x2C arr[1]\x2C arr[2]\x2C arr[3]];\n case 5: return [arr[0]\x2C arr[1]\x2C arr[2]\x2C arr[3]\x2C arr[4]];\n case 6: return [arr[0]\x2C arr[1]\x2C arr[2]\x2C arr[3]\x2C arr[4]\x2C arr[5]];\n }\n return ArrayPrototypeSlice(arr);\n}\n\nfunction unwrapListeners(arr) {\n const ret = arrayClone(arr);\n for (let i = 0; i < ret.length; ++i) {\n const orig = ret[i].listener;\n if (typeof orig === 'function')\n ret[i] = orig;\n }\n return ret;\n}\n\n/**\n * Returns a copy of the array of listeners for the event name\n * specified as `type`.\n * @param {EventEmitter | EventTarget} emitterOrTarget\n * @param {string | symbol} type\n * @returns {Function[]}\n */\nfunction getEventListeners(emitterOrTarget\x2C type) {\n // First check if EventEmitter\n if (typeof emitterOrTarget.listeners === 'function') {\n return emitterOrTarget.listeners(type);\n }\n // Require event target lazily to avoid always loading it\n const { isEventTarget\x2C kEvents } = require('internal/event_target');\n if (isEventTarget(emitterOrTarget)) {\n const root = emitterOrTarget[kEvents].get(type);\n const listeners = [];\n let handler = root?.next;\n while (handler?.listener !== undefined) {\n const listener = handler.listener?.deref ?\n handler.listener.deref() : handler.listener;\n listeners.push(listener);\n handler = handler.next;\n }\n return listeners;\n }\n throw new ERR_INVALID_ARG_TYPE('emitter'\x2C\n ['EventEmitter'\x2C 'EventTarget']\x2C\n emitterOrTarget);\n}\n\n/**\n * Creates a `Promise` that is fulfilled when the emitter\n * emits the given event.\n * @param {EventEmitter} emitter\n * @param {string} name\n * @param {{ signal: AbortSignal; }} [options]\n * @returns {Promise}\n */\nasync function once(emitter\x2C name\x2C options = {}) {\n const signal = options?.signal;\n validateAbortSignal(signal\x2C 'options.signal');\n if (signal?.aborted)\n throw new AbortError();\n return new Promise((resolve\x2C reject) => {\n const errorListener = (err) => {\n emitter.removeListener(name\x2C resolver);\n if (signal != null) {\n eventTargetAgnosticRemoveListener(signal\x2C 'abort'\x2C abortListener);\n }\n reject(err);\n };\n const resolver = (...args) => {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error'\x2C errorListener);\n }\n if (signal != null) {\n eventTargetAgnosticRemoveListener(signal\x2C 'abort'\x2C abortListener);\n }\n resolve(args);\n };\n eventTargetAgnosticAddListener(emitter\x2C name\x2C resolver\x2C { once: true });\n if (name !== 'error' && typeof emitter.once === 'function') {\n emitter.once('error'\x2C errorListener);\n }\n function abortListener() {\n eventTargetAgnosticRemoveListener(emitter\x2C name\x2C resolver);\n eventTargetAgnosticRemoveListener(emitter\x2C 'error'\x2C errorListener);\n reject(new AbortError());\n }\n if (signal != null) {\n eventTargetAgnosticAddListener(\n signal\x2C 'abort'\x2C abortListener\x2C { once: true });\n }\n });\n}\n\nconst AsyncIteratorPrototype = ObjectGetPrototypeOf(\n ObjectGetPrototypeOf(async function* () {}).prototype);\n\nfunction createIterResult(value\x2C done) {\n return { value\x2C done };\n}\n\nfunction eventTargetAgnosticRemoveListener(emitter\x2C name\x2C listener\x2C flags) {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener(name\x2C listener);\n } else if (typeof emitter.removeEventListener === 'function') {\n emitter.removeEventListener(name\x2C listener\x2C flags);\n } else {\n throw new ERR_INVALID_ARG_TYPE('emitter'\x2C 'EventEmitter'\x2C emitter);\n }\n}\n\nfunction eventTargetAgnosticAddListener(emitter\x2C name\x2C listener\x2C flags) {\n if (typeof emitter.on === 'function') {\n if (flags?.once) {\n emitter.once(name\x2C listener);\n } else {\n emitter.on(name\x2C listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters\x2C we do not listen to `error` events here.\n emitter.addEventListener(name\x2C (arg) => { listener(arg); }\x2C flags);\n } else {\n throw new ERR_INVALID_ARG_TYPE('emitter'\x2C 'EventEmitter'\x2C emitter);\n }\n}\n\n/**\n * Returns an `AsyncIterator` that iterates `event` events.\n * @param {EventEmitter} emitter\n * @param {string | symbol} event\n * @param {{ signal: AbortSignal; }} [options]\n * @returns {AsyncIterator}\n */\nfunction on(emitter\x2C event\x2C options) {\n const signal = options?.signal;\n validateAbortSignal(signal\x2C 'options.signal');\n if (signal?.aborted)\n throw new AbortError();\n\n const unconsumedEvents = [];\n const unconsumedPromises = [];\n let error = null;\n let finished = false;\n\n const iterator = ObjectSetPrototypeOf({\n next() {\n // First\x2C we consume all unread events\n const value = unconsumedEvents.shift();\n if (value) {\n return PromiseResolve(createIterResult(value\x2C false));\n }\n\n // Then we error\x2C if an error happened\n // This happens one time if at all\x2C because after 'error'\n // we stop listening\n if (error) {\n const p = PromiseReject(error);\n // Only the first element errors\n error = null;\n return p;\n }\n\n // If the iterator is finished\x2C resolve to done\n if (finished) {\n return PromiseResolve(createIterResult(undefined\x2C true));\n }\n\n // Wait until an event happens\n return new Promise(function(resolve\x2C reject) {\n unconsumedPromises.push({ resolve\x2C reject });\n });\n }\x2C\n\n return() {\n eventTargetAgnosticRemoveListener(emitter\x2C event\x2C eventHandler);\n eventTargetAgnosticRemoveListener(emitter\x2C 'error'\x2C errorHandler);\n\n if (signal) {\n eventTargetAgnosticRemoveListener(\n signal\x2C\n 'abort'\x2C\n abortListener\x2C\n { once: true });\n }\n\n finished = true;\n\n for (const promise of unconsumedPromises) {\n promise.resolve(createIterResult(undefined\x2C true));\n }\n\n return PromiseResolve(createIterResult(undefined\x2C true));\n }\x2C\n\n throw(err) {\n if (!err || !(err instanceof Error)) {\n throw new ERR_INVALID_ARG_TYPE('EventEmitter.AsyncIterator'\x2C\n 'Error'\x2C err);\n }\n error = err;\n eventTargetAgnosticRemoveListener(emitter\x2C event\x2C eventHandler);\n eventTargetAgnosticRemoveListener(emitter\x2C 'error'\x2C errorHandler);\n }\x2C\n\n [SymbolAsyncIterator]() {\n return this;\n }\n }\x2C AsyncIteratorPrototype);\n\n eventTargetAgnosticAddListener(emitter\x2C event\x2C eventHandler);\n if (event !== 'error' && typeof emitter.on === 'function') {\n emitter.on('error'\x2C errorHandler);\n }\n\n if (signal) {\n eventTargetAgnosticAddListener(\n signal\x2C\n 'abort'\x2C\n abortListener\x2C\n { once: true });\n }\n\n return iterator;\n\n function abortListener() {\n errorHandler(new AbortError());\n }\n\n function eventHandler(...args) {\n const promise = ArrayPrototypeShift(unconsumedPromises);\n if (promise) {\n promise.resolve(createIterResult(args\x2C false));\n } else {\n unconsumedEvents.push(args);\n }\n }\n\n function errorHandler(err) {\n finished = true;\n\n const toError = ArrayPrototypeShift(unconsumedPromises);\n\n if (toError) {\n toError.reject(err);\n } else {\n // The next time we call next()\n error = err;\n }\n\n iterator.return();\n }\n}\n | |
code-source-info,0xaef925cea16,13,14192,14264,C0O14213C14O14220C19O14262,, | |
code-creation,LazyCompile,10,12876,0xaef925d0c76,387,_addListener node:events:418:22,0xff54a872c98,~ | |
code-source-info,0xaef925d0c76,13,11979,13994,C0O12021C2O12030C4O12044C6O12057C9O12057C13O12101C18O12112C20O12144C22O12170C27O12170C32O12168C39O12194C40O12214C46O12380C52O12422C60O12475C77O12422C82O12654C87O12673C89O12690C93O12705C97O12816C99O12829C103O12845C109O12854C115O12883C121O12988C129O13022C140O13033C149O13043C166O13056C175O13066C182O13012C193O13141C197O13171C202O13171C209O13218C214O13218C219O13276C222O13280C227O13310C228O13316C233O13332C240O13339C245O13356C251O13372C252O13388C256O13521C264O13618C278O13628C281O13628C295O13578C304O13694C307O13702C312O13694C327O13654C333O13733C339O13521C345O13815C347O13822C351O13861C353O13871C357O13887C359O13894C363O13927C367O13916C371O13941C374O13949C379O13949C384O13978C386O13992,, | |
code-creation,LazyCompile,10,12899,0xaef925d0fae,15,checkListener node:events:127:23,0xff54a8725f8,~ | |
code-source-info,0xaef925d0fae,13,3670,3726,C0O3685C8O3685C14O3725,, | |
code-creation,LazyCompile,10,12913,0xaef925d109e,30, node:internal/validators:235:42,0x24aa4375a390,~ | |
code-source-info,0xaef925d109e,17,7207,7323,C0O7228C6O7265C22O7271C27O7265C29O7322,, | |
code-creation,LazyCompile,10,12970,0xaef925d1336,380,emit node:events:340:44,0xff54a872bd8,~ | |
code-source-info,0xaef925d1336,13,9741,11955,C0O9741C8O9775C10O9781C14O9818C19O9829C21O9861C27O9883C29O9882C34O9924C41O9929C51O9924C56O9958C60O9987C68O10018C72O10036C73O10049C74O10108C78O10131C80O10148C86O10155C91O10166C92O10175C96O10184C98O10202C100O10191C108O10247C110O10259C120O10304C126O10314C132O10259C137O10329C145O10354C157O10403C174O10403C186O10329C197O10677C199O10677C200O10729C205O10760C211O10776C219O10774C220O10809C225O10906C232O10906C238O10950C240O10962C244O10972C246O10972C247O11033C249O11039C253O11050C255O11081C256O11094C257O11098C263O11162C268O11162C275O11316C281O11369C296O11369C303O11446C308O11476C311O11476C316O11514C318O11519C320O11519C325O11554C327O11563C332O11567C337O11567C344O11829C350O11884C365O11884C370O11528C375O11501C378O11941C379O11953,, | |
tick,0xd1989f,13003,0,0x0,2,0x11e9af0,0xaef925d1442,0xaef925d0cc3,0xaef925cea24,0xaef925ce8f3,0xaef925c23f4,0x173f9a17be8d | |
code-creation,LazyCompile,10,13015,0xaef925d16d6,172,startListeningIfSignal node:internal/process/signal:22:32,0x3adb2a84be98,~ | |
script-source,89,node:internal/process/signal,'use strict';\n\nconst {\n FunctionPrototypeBind\x2C\n SafeMap\x2C\n} = primordials;\n\nconst {\n errnoException\x2C\n} = require('internal/errors');\n\nconst { signals } = internalBinding('constants').os;\n\nlet Signal;\nconst signalWraps = new SafeMap();\n\nfunction isSignal(event) {\n return typeof event === 'string' && signals[event] !== undefined;\n}\n\n// Detect presence of a listener for the special signal types\nfunction startListeningIfSignal(type) {\n if (isSignal(type) && !signalWraps.has(type)) {\n if (Signal === undefined)\n Signal = internalBinding('signal_wrap').Signal;\n const wrap = new Signal();\n\n wrap.unref();\n\n wrap.onsignal = FunctionPrototypeBind(process.emit\x2C process\x2C type\x2C type);\n\n const signum = signals[type];\n const err = wrap.start(signum);\n if (err) {\n wrap.close();\n throw errnoException(err\x2C 'uv_signal_start');\n }\n\n signalWraps.set(type\x2C wrap);\n }\n}\n\nfunction stopListeningIfSignal(type) {\n const wrap = signalWraps.get(type);\n if (wrap !== undefined && process.listenerCount(type) === 0) {\n wrap.close();\n signalWraps.delete(type);\n }\n}\n\nmodule.exports = {\n startListeningIfSignal\x2C\n stopListeningIfSignal\n};\n | |
code-source-info,0xaef925d16d6,89,429,904,C0O440C3O444C11O463C14O475C19O475C26O492C32O524C38O533C43O563C50O531C56O589C61O589C67O613C72O613C76O627C78O643C84O673C98O643C103O641C107O721C114O728C118O757C123O757C129O776C131O798C136O798C140O813C148O819C153O813C154O870C159O882C164O882C171O903,, | |
code-creation,LazyCompile,10,13053,0xaef925d1a96,19,isSignal node:internal/process/signal:17:18,0x3adb2a84bce0,~ | |
code-source-info,0xaef925d1a96,89,255,334,C0O267C8O303C13O310C17O318C18O332,, | |
code-creation,LazyCompile,10,13072,0xaef925d1c36,75,setupDebugEnv node:internal/bootstrap/pre_execution:193:23,0x173f9a17dfa0,~ | |
code-source-info,0xaef925d1c36,92,6003,6213,C0O6010C6O6010C11O6043C19O6071C24O6075C29O6044C34O6090C42O6094C48O6138C54O6138C59O6175C64O6188C69O6189C74O6212,, | |
code-creation,LazyCompile,10,13109,0xaef925d1fce,159,initializeDebugEnv node:internal/util/debuglog:22:28,0xbe5cb9fa7c8,~ | |
script-source,40,node:internal/util/debuglog,'use strict';\n\nconst {\n ObjectCreate\x2C\n ObjectDefineProperty\x2C\n RegExp\x2C\n RegExpPrototypeExec\x2C\n SafeArrayIterator\x2C\n StringPrototypeToLowerCase\x2C\n StringPrototypeToUpperCase\x2C\n} = primordials;\n\nconst { inspect\x2C format\x2C formatWithOptions } = require('internal/util/inspect');\n\n// `debugImpls` and `testEnabled` are deliberately not initialized so any call\n// to `debuglog()` before `initializeDebugEnv()` is called will throw.\nlet debugImpls;\nlet testEnabled;\n\n\n// `debugEnv` is initial value of process.env.NODE_DEBUG\nfunction initializeDebugEnv(debugEnv) {\n debugImpls = ObjectCreate(null);\n if (debugEnv) {\n // This is run before any user code\x2C it's OK not to use primordials.\n debugEnv = debugEnv.replace(/[|\\\\{}()[\\]^$+?.]/g\x2C '\\\\$&')\n .replaceAll('*'\x2C '.*')\n .replaceAll('\x2C'\x2C '$|^');\n const debugEnvRegex = new RegExp(`^${debugEnv}$`\x2C 'i');\n testEnabled = (str) => RegExpPrototypeExec(debugEnvRegex\x2C str) !== null;\n } else {\n testEnabled = () => false;\n }\n}\n\n// Emits warning when user sets\n// NODE_DEBUG=http or NODE_DEBUG=http2.\nfunction emitWarningIfNeeded(set) {\n if ('HTTP' === set || 'HTTP2' === set) {\n process.emitWarning('Setting the NODE_DEBUG environment variable ' +\n 'to \\'' + StringPrototypeToLowerCase(set) + '\\' can expose sensitive ' +\n 'data (such as passwords\x2C tokens and authentication headers) ' +\n 'in the resulting log.');\n }\n}\n\nconst noop = () => {};\n\nfunction debuglogImpl(enabled\x2C set) {\n if (debugImpls[set] === undefined) {\n if (enabled) {\n const pid = process.pid;\n emitWarningIfNeeded(set);\n debugImpls[set] = function debug(...args) {\n const colors = process.stderr.hasColors && process.stderr.hasColors();\n const msg = formatWithOptions({ colors }\x2C ...args);\n const coloredPID = inspect(pid\x2C { colors });\n process.stderr.write(format('%s %s: %s\\n'\x2C set\x2C coloredPID\x2C msg));\n };\n } else {\n debugImpls[set] = noop;\n }\n }\n return debugImpls[set];\n}\n\n// debuglogImpl depends on process.pid and process.env.NODE_DEBUG\x2C\n// so it needs to be called lazily in top scopes of internal modules\n// that may be loaded before these run time states are allowed to\n// be accessed.\nfunction debuglog(set\x2C cb) {\n function init() {\n set = StringPrototypeToUpperCase(set);\n enabled = testEnabled(set);\n }\n let debug = (...args) => {\n init();\n // Only invokes debuglogImpl() when the debug function is\n // called for the first time.\n debug = debuglogImpl(enabled\x2C set);\n if (typeof cb === 'function')\n cb(debug);\n switch (args.length) {\n case 0: return debug();\n case 1: return debug(args[0]);\n case 2: return debug(args[0]\x2C args[1]);\n default: return debug(...new SafeArrayIterator(args));\n }\n };\n let enabled;\n let test = () => {\n init();\n test = () => enabled;\n return enabled;\n };\n const logger = (...args) => {\n switch (args.length) {\n case 0: return debug();\n case 1: return debug(args[0]);\n case 2: return debug(args[0]\x2C args[1]);\n default: return debug(...new SafeArrayIterator(args));\n }\n };\n ObjectDefineProperty(logger\x2C 'enabled'\x2C {\n get() {\n return test();\n }\x2C\n configurable: true\x2C\n enumerable: true\n });\n return logger;\n}\n\nmodule.exports = {\n debuglog\x2C\n initializeDebugEnv\n};\n | |
code-source-info,0xaef925d1fce,40,546,991,C0O561C7O574C14O572C20O596C31O709C44O709C51O753C62O754C69O782C80O783C88O833C100O848C116O833C121O833C123O871C132O883C144O959C151O971C158O990,, | |
new,MemoryChunk,0x7fdcd4040000,262144 | |
code-creation,Function,11,13211,0x7fdcd4043060,572,getOptionValue node:internal/options:39:24,0xaef925c13d8,^ | |
code-source-info,0x7fdcd4043060,93,902,1145,,, | |
code-creation,Function,11,13220,0x7fdcd4043300,112,isPosixPathSeparator node:path:56:30,0xbe5cb9e7f00,^ | |
code-source-info,0x7fdcd4043300,35,1854,1902,,, | |
code-creation,Function,11,13245,0x7fdcd40433e0,3068,normalizeString node:path:66:25,0xbe5cb9e7fa0,^ | |
code-source-info,0x7fdcd40433e0,35,2161,4085,,, | |
code-creation,LazyCompile,10,13268,0xaef925d291e,49,setupStacktracePrinterOnSigint node:internal/bootstrap/pre_execution:172:40,0x173f9a17ded8,~ | |
code-source-info,0xaef925d291e,92,5567,5753,C0O5574C8O5579C14O5619C15O5626C16O5660C22O5660C27O5641C32O5710C38O5743C43O5743C48O5752,, | |
code-creation,LazyCompile,10,13296,0xaef925d2b8e,62,initializeReport node:internal/bootstrap/pre_execution:182:26,0x173f9a17df28,~ | |
code-source-info,0xaef925d2b8e,92,5780,5979,C0O5780C8O5806C16O5806C21O5795C27O5844C42O5865C47O5937C55O5844C61O5978,, | |
code-creation,Eval,10,13381,0xaef925d310e,5, node:internal/process/report:1:1,0xaef925d2f08,~ | |
script-source,95,node:internal/process/report,'use strict';\nconst {\n ERR_INVALID_ARG_TYPE\x2C\n ERR_SYNTHETIC\n} = require('internal/errors').codes;\nconst {\n validateBoolean\x2C\n validateObject\x2C\n validateSignalName\x2C\n validateString\x2C\n} = require('internal/validators');\nconst nr = internalBinding('report');\nconst {\n JSONParse\x2C\n} = primordials;\nconst report = {\n writeReport(file\x2C err) {\n if (typeof file === 'object' && file !== null) {\n err = file;\n file = undefined;\n } else if (file !== undefined && typeof file !== 'string') {\n throw new ERR_INVALID_ARG_TYPE('file'\x2C 'String'\x2C file);\n } else if (err === undefined) {\n err = new ERR_SYNTHETIC();\n } else {\n validateObject(err\x2C 'err');\n }\n\n return nr.writeReport('JavaScript API'\x2C 'API'\x2C file\x2C err);\n }\x2C\n getReport(err) {\n if (err === undefined)\n err = new ERR_SYNTHETIC();\n else\n validateObject(err\x2C 'err');\n\n return JSONParse(nr.getReport(err));\n }\x2C\n get directory() {\n return nr.getDirectory();\n }\x2C\n set directory(dir) {\n validateString(dir\x2C 'directory');\n nr.setDirectory(dir);\n }\x2C\n get filename() {\n return nr.getFilename();\n }\x2C\n set filename(name) {\n validateString(name\x2C 'filename');\n nr.setFilename(name);\n }\x2C\n get compact() {\n return nr.getCompact();\n }\x2C\n set compact(b) {\n validateBoolean(b\x2C 'compact');\n nr.setCompact(b);\n }\x2C\n get signal() {\n return nr.getSignal();\n }\x2C\n set signal(sig) {\n validateSignalName(sig\x2C 'signal');\n removeSignalHandler();\n addSignalHandler(sig);\n nr.setSignal(sig);\n }\x2C\n get reportOnFatalError() {\n return nr.shouldReportOnFatalError();\n }\x2C\n set reportOnFatalError(trigger) {\n validateBoolean(trigger\x2C 'trigger');\n\n nr.setReportOnFatalError(trigger);\n }\x2C\n get reportOnSignal() {\n return nr.shouldReportOnSignal();\n }\x2C\n set reportOnSignal(trigger) {\n validateBoolean(trigger\x2C 'trigger');\n\n nr.setReportOnSignal(trigger);\n removeSignalHandler();\n addSignalHandler();\n }\x2C\n get reportOnUncaughtException() {\n return nr.shouldReportOnUncaughtException();\n }\x2C\n set reportOnUncaughtException(trigger) {\n validateBoolean(trigger\x2C 'trigger');\n\n nr.setReportOnUncaughtException(trigger);\n }\n};\n\nfunction addSignalHandler(sig) {\n if (nr.shouldReportOnSignal()) {\n if (typeof sig !== 'string')\n sig = nr.getSignal();\n\n process.on(sig\x2C signalHandler);\n }\n}\n\nfunction removeSignalHandler() {\n const sig = nr.getSignal();\n\n if (sig)\n process.removeListener(sig\x2C signalHandler);\n}\n\nfunction signalHandler(sig) {\n nr.writeReport(sig\x2C 'Signal'\x2C null\x2C '');\n}\n\nmodule.exports = {\n addSignalHandler\x2C\n report\n};\n | |
code-source-info,0xaef925d310e,95,0,2623,C0O0C4O2623,, | |
code-creation,Function,10,13436,0xaef925d3c26,315, node:internal/process/report:1:1,0xaef925d3088,~ | |
code-source-info,0xaef925d3c26,95,0,2623,C0O0C51O66C54O66C59O92C64O24C70O48C76O189C79O189C84O110C90O129C96O147C102O169C108O232C111O232C115O232C117O269C123O312C128O316C136O756C290O2572C297O2593C303O2613C309O2587C314O2622,, | |
code-creation,LazyCompile,10,13527,0xaef925d5966,21,initializeReportSignalHandlers node:internal/bootstrap/pre_execution:201:40,0x173f9a17dff0,~ | |
code-source-info,0xaef925d5966,92,6314,6410,C0O6350C6O6350C11O6329C16O6389C20O6409,, | |
code-creation,LazyCompile,10,13554,0xaef925d5aae,57,addSignalHandler node:internal/process/report:97:26,0xaef925d3140,~ | |
code-source-info,0xaef925d5aae,95,2222,2368,C0O2232C5O2239C10O2239C16O2269C22O2304C27O2313C32O2313C38O2331C41O2339C49O2339C56O2367,, | |
code-creation,LazyCompile,10,13579,0xaef925d606e,92,initializeHeapSnapshotSignalHandlers node:internal/bootstrap/pre_execution:207:46,0x173f9a17e040,~ | |
code-source-info,0xaef925d606e,92,6457,6719,C0O6457C8O6479C18O6479C23O6523C25O6540C26O6547C27O6551C35O6551C40O6581C45O6582C50O6642C58O6642C63O6620C69O6660C74O6668C79O6671C84O6668C91O6718,, | |
code-creation,LazyCompile,10,13605,0xaef925d62fe,138,setupChildProcessIpcChannel node:internal/bootstrap/pre_execution:337:37,0x173f9a17e210,~ | |
code-source-info,0xaef925d62fe,92,10471,11000,C0O10478C3O10490C8O10494C14O10532C20O10532C25O10576C33O10599C38O10603C46O10576C52O10629C53O10639C57O10629C61O10720C64O10735C73O10793C76O10801C81O10805C90O10852C93O10867C102O10909C108O10909C113O10933C118O10934C124O10973C127O10988C132O10973C137O10999,, | |
code-creation,LazyCompile,10,13662,0xaef925d66f6,455,initializePolicy node:internal/bootstrap/pre_execution:365:26,0x173f9a17e2b0,~ | |
code-source-info,0xaef925d66f6,92,11299,13097,C0O11333C10O11333C15O11376C17O11406C21O11414C35O11414C41O11539C49O11539C55O11516C60O11531C65O11658C67O11675C75O11679C81O11694C87O11695C94O11735C100O11767C108O11749C116O11824C120O11846C126O11846C132O11824C138O11860C149O11876C153O11890C161O11904C167O11962C175O11962C180O11996C190O11996C197O12071C207O12071C212O12113C214O12166C222O12166C227O12244C235O12244C241O12212C246O12224C251O12293C257O12293C263O12343C269O12343C275O12402C277O12428C279O12452C283O12433C288O12542C290O12558C295O12493C300O12521C305O12584C311O12620C317O12620C322O12661C328O12661C334O12690C340O12710C344O12697C349O12730C356O12777C358O12806C360O12847C366O12869C376O12869C383O12847C389O12461C394O12415C397O12904C401O12931C415O12937C420O12931C421O13020C429O13020C435O13061C441O13085C447O13062C454O13096,, | |
code-creation,LazyCompile,10,13687,0xaef925d6ae6,63,initializeClusterIPC node:internal/bootstrap/pre_execution:356:30,0x173f9a17e260,~ | |
code-source-info,0xaef925d6ae6,92,11031,11272,C0O11038C3O11050C10O11054C18O11069C23O11073C29O11111C35O11111C40O11143C45O11143C49O11232C52O11247C62O11271,, | |
code-creation,LazyCompile,10,13702,0xaef925d6c56,27,initializeSourceMapsHandlers node:internal/bootstrap/pre_execution:460:38,0x173f9a17e3f0,~ | |
code-source-info,0xaef925d6c56,92,14830,14979,C0O14874C6O14874C11O14845C16O14925C21O14954C26O14978,, | |
code-creation,Eval,10,13830,0xaef925d75d6,5, node:internal/source_map/source_map_cache:1:1,0xaef925d7270,~ | |
script-source,96,node:internal/source_map/source_map_cache,'use strict';\n\nconst {\n ArrayPrototypeMap\x2C\n JSONParse\x2C\n ObjectCreate\x2C\n ObjectKeys\x2C\n ObjectGetOwnPropertyDescriptor\x2C\n ObjectPrototypeHasOwnProperty\x2C\n RegExpPrototypeTest\x2C\n SafeMap\x2C\n StringPrototypeMatch\x2C\n StringPrototypeSplit\x2C\n} = primordials;\n\nfunction ObjectGetValueSafe(obj\x2C key) {\n const desc = ObjectGetOwnPropertyDescriptor(obj\x2C key);\n return ObjectPrototypeHasOwnProperty(desc\x2C 'value') ? desc.value : undefined;\n}\n\n// See https://sourcemaps.info/spec.html for SourceMap V3 specification.\nconst { Buffer } = require('buffer');\nlet debug = require('internal/util/debuglog').debuglog('source_map'\x2C (fn) => {\n debug = fn;\n});\nconst fs = require('fs');\nconst { getOptionValue } = require('internal/options');\nconst { IterableWeakMap } = require('internal/util/iterable_weak_map');\nconst {\n normalizeReferrerURL\x2C\n} = require('internal/modules/cjs/helpers');\nconst { validateBoolean } = require('internal/validators');\n// Since the CJS module cache is mutable\x2C which leads to memory leaks when\n// modules are deleted\x2C we use a WeakMap so that the source map cache will\n// be purged automatically:\nconst cjsSourceMapCache = new IterableWeakMap();\n// The esm cache is not mutable\x2C so we can use a Map without memory concerns:\nconst esmSourceMapCache = new SafeMap();\nconst { fileURLToPath\x2C pathToFileURL\x2C URL } = require('internal/url');\nlet SourceMap;\n\nlet sourceMapsEnabled;\nfunction getSourceMapsEnabled() {\n if (sourceMapsEnabled === undefined) {\n setSourceMapsEnabled(getOptionValue('--enable-source-maps'));\n }\n return sourceMapsEnabled;\n}\n\nfunction setSourceMapsEnabled(val) {\n validateBoolean(val\x2C 'val');\n\n const {\n setSourceMapsEnabled\x2C\n setPrepareStackTraceCallback\n } = internalBinding('errors');\n setSourceMapsEnabled(val);\n if (val) {\n const {\n prepareStackTrace\n } = require('internal/source_map/prepare_stack_trace');\n setPrepareStackTraceCallback(prepareStackTrace);\n } else if (sourceMapsEnabled !== undefined) {\n // Reset prepare stack trace callback only when disabling source maps.\n const {\n prepareStackTrace\x2C\n } = require('internal/errors');\n setPrepareStackTraceCallback(prepareStackTrace);\n }\n\n sourceMapsEnabled = val;\n}\n\nfunction maybeCacheSourceMap(filename\x2C content\x2C cjsModuleInstance) {\n const sourceMapsEnabled = getSourceMapsEnabled();\n if (!(process.env.NODE_V8_COVERAGE || sourceMapsEnabled)) return;\n try {\n filename = normalizeReferrerURL(filename);\n } catch (err) {\n // This is most likely an [eval]-wrapper\x2C which is currently not\n // supported.\n debug(err.stack);\n return;\n }\n const match = StringPrototypeMatch(\n content\x2C\n /\\/[*/]#\\s+sourceMappingURL=(?<sourceMappingURL>[^\\s]+)/\n );\n if (match) {\n const data = dataFromUrl(filename\x2C match.groups.sourceMappingURL);\n const url = data ? null : match.groups.sourceMappingURL;\n if (cjsModuleInstance) {\n cjsSourceMapCache.set(cjsModuleInstance\x2C {\n filename\x2C\n lineLengths: lineLengths(content)\x2C\n data\x2C\n url\n });\n } else {\n // If there is no cjsModuleInstance assume we are in a\n // "modules/esm" context.\n esmSourceMapCache.set(filename\x2C {\n lineLengths: lineLengths(content)\x2C\n data\x2C\n url\n });\n }\n }\n}\n\nfunction dataFromUrl(sourceURL\x2C sourceMappingURL) {\n try {\n const url = new URL(sourceMappingURL);\n switch (url.protocol) {\n case 'data:':\n return sourceMapFromDataUrl(sourceURL\x2C url.pathname);\n default:\n debug(`unknown protocol ${url.protocol}`);\n return null;\n }\n } catch (err) {\n debug(err.stack);\n // If no scheme is present\x2C we assume we are dealing with a file path.\n const mapURL = new URL(sourceMappingURL\x2C sourceURL).href;\n return sourceMapFromFile(mapURL);\n }\n}\n\n// Cache the length of each line in the file that a source map was extracted\n// from. This allows translation from byte offset V8 coverage reports\x2C\n// to line/column offset Source Map V3.\nfunction lineLengths(content) {\n // We purposefully keep \\r as part of the line-length calculation\x2C in\n // cases where there is a \\r\\n separator\x2C so that this can be taken into\n // account in coverage calculations.\n return ArrayPrototypeMap(StringPrototypeSplit(content\x2C /\\n|\\u2028|\\u2029/)\x2C (line) => {\n return line.length;\n });\n}\n\nfunction sourceMapFromFile(mapURL) {\n try {\n const content = fs.readFileSync(fileURLToPath(mapURL)\x2C 'utf8');\n const data = JSONParse(content);\n return sourcesToAbsolute(mapURL\x2C data);\n } catch (err) {\n debug(err.stack);\n return null;\n }\n}\n\n// data:[<mediatype>][;base64]\x2C<data> see:\n// https://tools.ietf.org/html/rfc2397#section-2\nfunction sourceMapFromDataUrl(sourceURL\x2C url) {\n const { 0: format\x2C 1: data } = StringPrototypeSplit(url\x2C '\x2C');\n const splitFormat = StringPrototypeSplit(format\x2C ';');\n const contentType = splitFormat[0];\n const base64 = splitFormat[splitFormat.length - 1] === 'base64';\n if (contentType === 'application/json') {\n const decodedData = base64 ?\n Buffer.from(data\x2C 'base64').toString('utf8') : data;\n try {\n const parsedData = JSONParse(decodedData);\n return sourcesToAbsolute(sourceURL\x2C parsedData);\n } catch (err) {\n debug(err.stack);\n return null;\n }\n } else {\n debug(`unknown content-type ${contentType}`);\n return null;\n }\n}\n\n// If the sources are not absolute URLs after prepending of the "sourceRoot"\x2C\n// the sources are resolved relative to the SourceMap (like resolving script\n// src in a html document).\nfunction sourcesToAbsolute(baseURL\x2C data) {\n data.sources = data.sources.map((source) => {\n source = (data.sourceRoot || '') + source;\n return new URL(source\x2C baseURL).href;\n });\n // The sources array is now resolved to absolute URLs\x2C sourceRoot should\n // be updated to noop.\n data.sourceRoot = '';\n return data;\n}\n\n// WARNING: The `sourceMapCacheToObject` and `appendCJSCache` run during\n// shutdown. In particular\x2C they also run when Workers are terminated\x2C making\n// it important that they do not call out to any user-provided code\x2C including\n// built-in prototypes that might have been tampered with.\n\n// Get serialized representation of source-map cache\x2C this is used\n// to persist a cache of source-maps to disk when NODE_V8_COVERAGE is enabled.\nfunction sourceMapCacheToObject() {\n const obj = ObjectCreate(null);\n\n for (const { 0: k\x2C 1: v } of esmSourceMapCache) {\n obj[k] = v;\n }\n\n appendCJSCache(obj);\n\n if (ObjectKeys(obj).length === 0) {\n return undefined;\n }\n return obj;\n}\n\nfunction appendCJSCache(obj) {\n for (const value of cjsSourceMapCache) {\n obj[ObjectGetValueSafe(value\x2C 'filename')] = {\n lineLengths: ObjectGetValueSafe(value\x2C 'lineLengths')\x2C\n data: ObjectGetValueSafe(value\x2C 'data')\x2C\n url: ObjectGetValueSafe(value\x2C 'url')\n };\n }\n}\n\nfunction findSourceMap(sourceURL) {\n if (!RegExpPrototypeTest(/^\\w+:\\/\\//\x2C sourceURL)) {\n sourceURL = pathToFileURL(sourceURL).href;\n }\n if (!SourceMap) {\n SourceMap = require('internal/source_map/source_map').SourceMap;\n }\n let sourceMap = esmSourceMapCache.get(sourceURL);\n if (sourceMap === undefined) {\n for (const value of cjsSourceMapCache) {\n const filename = ObjectGetValueSafe(value\x2C 'filename');\n if (sourceURL === filename) {\n sourceMap = {\n data: ObjectGetValueSafe(value\x2C 'data')\n };\n }\n }\n }\n if (sourceMap && sourceMap.data) {\n return new SourceMap(sourceMap.data);\n }\n return undefined;\n}\n\nmodule.exports = {\n findSourceMap\x2C\n getSourceMapsEnabled\x2C\n setSourceMapsEnabled\x2C\n maybeCacheSourceMap\x2C\n sourceMapCacheToObject\x2C\n};\n | |
code-source-info,0xaef925d75d6,96,0,7654,C0O0C4O7654,, | |
code-creation,Function,10,13972,0xaef925d7c4e,435, node:internal/source_map/source_map_cache:1:1,0xaef925d7550,~ | |
code-source-info,0xaef925d7c4e,96,0,7654,C0O0C152O25C158O46C164O59C170O75C176O89C182O123C188O156C194O179C199O190C205O214C211O526C217O526C222O515C228O557C234O557C239O590C252O591C258O557C260O653C266O653C270O653C272O695C278O695C283O676C289O752C295O752C300O732C305O832C311O832C316O806C322O901C328O901C333O881C339O1137C341O1137C346O1137C348O1264C350O1264C355O1264C357O1325C363O1325C368O1287C374O1302C380O1317C386O1354C387O1354C389O1370C390O1370C392O7518C399O7539C405O7556C411O7580C417O7604C423O7627C429O7533C434O7653,, | |
code-creation,LazyCompile,10,14043,0xaef925d8a36,82,debuglog node:internal/util/debuglog:71:18,0xbe5cb9fab00,~ | |
code-source-info,0xaef925d8a36,40,2232,3279,C0O2232C28O2357C32O2357C34O2789C35O2789C37O2811C41O2811C43O2899C48O3128C58O3149C63O3174C74O3128C79O3263C81O3277,, | |
tick,0x7fdcec02e28f,14063,0,0x0,3,0x11e9af0,0xaef925d7d4a,0x173f9a17ce35,0x173f9a17c105,0xaef925d6c5c,0xaef925c2458,0x173f9a17be8d | |
code-creation,Eval,10,14135,0xaef925d8fb6,5, node:internal/util/iterable_weak_map:1:1,0xaef925d8d68,~ | |
script-source,97,node:internal/util/iterable_weak_map,'use strict';\n\nconst {\n ObjectFreeze\x2C\n SafeFinalizationRegistry\x2C\n SafeSet\x2C\n SafeWeakMap\x2C\n SafeWeakRef\x2C\n SymbolIterator\x2C\n} = primordials;\n\n// This class is modified from the example code in the WeakRefs specification:\n// https://github.com/tc39/proposal-weakrefs\n// Licensed under ECMA's MIT-style license\x2C see:\n// https://github.com/tc39/ecma262/blob/HEAD/LICENSE.md\nclass IterableWeakMap {\n #weakMap = new SafeWeakMap();\n #refSet = new SafeSet();\n #finalizationGroup = new SafeFinalizationRegistry(cleanup);\n\n set(key\x2C value) {\n const entry = this.#weakMap.get(key);\n if (entry) {\n // If there's already an entry for the object represented by "key"\x2C\n // the value can be updated without creating a new WeakRef:\n this.#weakMap.set(key\x2C { value\x2C ref: entry.ref });\n } else {\n const ref = new SafeWeakRef(key);\n this.#weakMap.set(key\x2C { value\x2C ref });\n this.#refSet.add(ref);\n this.#finalizationGroup.register(key\x2C {\n set: this.#refSet\x2C\n ref\n }\x2C ref);\n }\n }\n\n get(key) {\n return this.#weakMap.get(key)?.value;\n }\n\n has(key) {\n return this.#weakMap.has(key);\n }\n\n delete(key) {\n const entry = this.#weakMap.get(key);\n if (!entry) {\n return false;\n }\n this.#weakMap.delete(key);\n this.#refSet.delete(entry.ref);\n this.#finalizationGroup.unregister(entry.ref);\n return true;\n }\n\n [SymbolIterator]() {\n const iterator = this.#refSet[SymbolIterator]();\n\n const next = () => {\n const result = iterator.next();\n if (result.done) return result;\n const key = result.value.deref();\n if (key == null) return next();\n const { value } = this.#weakMap.get(key);\n return { done: false\x2C value };\n };\n\n return {\n [SymbolIterator]() { return this; }\x2C\n next\x2C\n };\n }\n}\n\nfunction cleanup({ set\x2C ref }) {\n set.delete(ref);\n}\n\nObjectFreeze(IterableWeakMap.prototype);\n\nmodule.exports = {\n IterableWeakMap\x2C\n};\n | |
code-source-info,0xaef925d8fb6,97,0,1958,C0O0C4O1958,, | |
code-creation,Function,10,14183,0xaef925d9716,196, node:internal/util/iterable_weak_map:1:1,0xaef925d8f30,~ | |
code-source-info,0xaef925d9716,97,0,1958,C0O0C26O25C31O41C37O69C43O80C49O95C55O110C134O1392C168O1904C173O1875C177O1917C184O1938C190O1932C195O1957,, | |
code-creation,Function,10,14188,0xaef925d9896,75,<instance_members_initializer> node:internal/util/iterable_weak_map:17:3,0xaef925d9240,~ | |
code-source-info,0xaef925d9896,97,399,516,C3O410C10O410C27O441C34O441C48O479C62O479C74O516,, | |
code-creation,Eval,10,14343,0xaef925da55e,5, node:internal/modules/cjs/helpers:1:1,0xaef925da2a8,~ | |
script-source,98,node:internal/modules/cjs/helpers,'use strict';\n\nconst {\n ArrayPrototypeForEach\x2C\n ArrayPrototypeJoin\x2C\n ArrayPrototypeSome\x2C\n ObjectDefineProperty\x2C\n ObjectPrototypeHasOwnProperty\x2C\n SafeMap\x2C\n SafeSet\x2C\n StringPrototypeCharCodeAt\x2C\n StringPrototypeIncludes\x2C\n StringPrototypeSlice\x2C\n StringPrototypeStartsWith\x2C\n} = primordials;\nconst {\n ERR_MANIFEST_DEPENDENCY_MISSING\x2C\n ERR_UNKNOWN_BUILTIN_MODULE\n} = require('internal/errors').codes;\nconst { NativeModule } = require('internal/bootstrap/loaders');\n\nconst { validateString } = require('internal/validators');\nconst path = require('path');\nconst { pathToFileURL\x2C fileURLToPath\x2C URL } = require('internal/url');\n\nconst { getOptionValue } = require('internal/options');\nconst userConditions = getOptionValue('--conditions');\n\nlet debug = require('internal/util/debuglog').debuglog('module'\x2C (fn) => {\n debug = fn;\n});\n\nconst noAddons = getOptionValue('--no-addons');\nconst addonConditions = noAddons ? [] : ['node-addons'];\n\n// TODO: Use this set when resolving pkg#exports conditions in loader.js.\nconst cjsConditions = new SafeSet([\n 'require'\x2C\n 'node'\x2C\n ...addonConditions\x2C\n ...userConditions\x2C\n]);\n\nfunction loadNativeModule(filename\x2C request) {\n const mod = NativeModule.map.get(filename);\n if (mod?.canBeRequiredByUsers) {\n debug('load native module %s'\x2C request);\n // compileForPublicLoader() throws if mod.canBeRequiredByUsers is false:\n mod.compileForPublicLoader();\n return mod;\n }\n}\n\n// Invoke with makeRequireFunction(module) where |module| is the Module object\n// to use as the context for the require() function.\n// Use redirects to set up a mapping from a policy and restrict dependencies\nconst urlToFileCache = new SafeMap();\nfunction makeRequireFunction(mod\x2C redirects) {\n const Module = mod.constructor;\n\n let require;\n if (redirects) {\n const id = mod.filename || mod.id;\n const conditions = cjsConditions;\n const { resolve\x2C reaction } = redirects;\n require = function require(specifier) {\n let missing = true;\n const destination = resolve(specifier\x2C conditions);\n if (destination === true) {\n missing = false;\n } else if (destination) {\n const href = destination.href;\n if (destination.protocol === 'node:') {\n const specifier = destination.pathname;\n const mod = loadNativeModule(specifier\x2C href);\n if (mod && mod.canBeRequiredByUsers) {\n return mod.exports;\n }\n throw new ERR_UNKNOWN_BUILTIN_MODULE(specifier);\n } else if (destination.protocol === 'file:') {\n let filepath;\n if (urlToFileCache.has(href)) {\n filepath = urlToFileCache.get(href);\n } else {\n filepath = fileURLToPath(destination);\n urlToFileCache.set(href\x2C filepath);\n }\n return mod.require(filepath);\n }\n }\n if (missing) {\n reaction(new ERR_MANIFEST_DEPENDENCY_MISSING(\n id\x2C\n specifier\x2C\n ArrayPrototypeJoin([...conditions]\x2C '\x2C ')\n ));\n }\n return mod.require(specifier);\n };\n } else {\n require = function require(path) {\n return mod.require(path);\n };\n }\n\n function resolve(request\x2C options) {\n validateString(request\x2C 'request');\n return Module._resolveFilename(request\x2C mod\x2C false\x2C options);\n }\n\n require.resolve = resolve;\n\n function paths(request) {\n validateString(request\x2C 'request');\n return Module._resolveLookupPaths(request\x2C mod);\n }\n\n resolve.paths = paths;\n\n require.main = process.mainModule;\n\n // Enable support to add extra extension types.\n require.extensions = Module._extensions;\n\n require.cache = Module._cache;\n\n return require;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n * because the buffer-to-string conversion in `fs.readFileSync()`\n * translates it to FEFF\x2C the UTF-16 BOM.\n */\nfunction stripBOM(content) {\n if (StringPrototypeCharCodeAt(content) === 0xFEFF) {\n content = StringPrototypeSlice(content\x2C 1);\n }\n return content;\n}\n\nfunction addBuiltinLibsToObject(object\x2C dummyModuleName) {\n // Make built-in modules available directly (loaded lazily).\n const Module = require('internal/modules/cjs/loader').Module;\n const { builtinModules } = Module;\n\n // To require built-in modules in user-land and ignore modules whose\n // `canBeRequiredByUsers` is false. So we create a dummy module object and not\n // use `require()` directly.\n const dummyModule = new Module(dummyModuleName);\n\n ArrayPrototypeForEach(builtinModules\x2C (name) => {\n // Neither add underscored modules\x2C nor ones that contain slashes (e.g.\x2C\n // 'fs/promises') or ones that are already defined.\n if (StringPrototypeStartsWith(name\x2C '_') ||\n StringPrototypeIncludes(name\x2C '/') ||\n ObjectPrototypeHasOwnProperty(object\x2C name)) {\n return;\n }\n // Goals of this mechanism are:\n // - Lazy loading of built-in modules\n // - Having all built-in modules available as non-enumerable properties\n // - Allowing the user to re-assign these variables as if there were no\n // pre-existing globals with the same name.\n\n const setReal = (val) => {\n // Deleting the property before re-assigning it disables the\n // getter/setter mechanism.\n delete object[name];\n object[name] = val;\n };\n\n ObjectDefineProperty(object\x2C name\x2C {\n get: () => {\n const lib = dummyModule.require(name);\n\n // Disable the current getter/setter and set up a new\n // non-enumerable property.\n delete object[name];\n ObjectDefineProperty(object\x2C name\x2C {\n get: () => lib\x2C\n set: setReal\x2C\n configurable: true\x2C\n enumerable: false\n });\n\n return lib;\n }\x2C\n set: setReal\x2C\n configurable: true\x2C\n enumerable: false\n });\n });\n}\n\nfunction normalizeReferrerURL(referrer) {\n if (typeof referrer === 'string' && path.isAbsolute(referrer)) {\n return pathToFileURL(referrer).href;\n }\n return new URL(referrer).href;\n}\n\n// For error messages only - used to check if ESM syntax is in use.\nfunction hasEsmSyntax(code) {\n debug('Checking for ESM syntax');\n const parser = require('internal/deps/acorn/acorn/dist/acorn').Parser;\n let root;\n try {\n root = parser.parse(code\x2C { sourceType: 'module'\x2C ecmaVersion: 'latest' });\n } catch {\n return false;\n }\n\n return ArrayPrototypeSome(root.body\x2C (stmt) =>\n stmt.type === 'ExportDefaultDeclaration' ||\n stmt.type === 'ExportNamedDeclaration' ||\n stmt.type === 'ImportDeclaration' ||\n stmt.type === 'ExportAllDeclaration');\n}\n\nmodule.exports = {\n addBuiltinLibsToObject\x2C\n cjsConditions\x2C\n hasEsmSyntax\x2C\n loadNativeModule\x2C\n makeRequireFunction\x2C\n normalizeReferrerURL\x2C\n stripBOM\x2C\n};\n | |
code-source-info,0xaef925da55e,98,0,6746,C0O0C4O6746,, | |
code-creation,Function,10,14469,0xaef925daade,536, node:internal/modules/cjs/helpers:1:1,0xaef925da4d8,~ | |
code-source-info,0xaef925daade,98,0,6746,C0O0C104O25C110O50C116O72C122O94C128O118C134O151C139O162C144O173C150O202C156O229C162O253C168O373C174O373C179O399C184O307C190O342C196O432C202O432C207O415C213O499C219O499C224O480C230O544C236O544C240O544C242O607C248O607C253O569C259O584C265O599C271O660C277O660C282O641C287O712C290O712C295O757C301O757C306O790C319O791C325O757C327O856C330O856C335O911C346O1041C353O1083C354O1083C410O1105C465O1041C470O1041C472O1665C474O1665C479O1665C481O6586C488O6607C494O6633C500O6650C506O6666C512O6686C518O6709C524O6733C530O6601C535O6745,, | |
code-creation,LazyCompile,10,14546,0xaef925db71e,27,SafeSet node:internal/per_context/primordials:364:16,0xff54a849fc0,~ | |
script-source,6,node:internal/per_context/primordials,'use strict';\n\n/* eslint-disable node-core/prefer-primordials */\n\n// This file subclasses and stores the JS builtins that come from the VM\n// so that Node.js's builtin modules do not need to later look these up from\n// the global proxy\x2C which can be mutated by users.\n\n// Use of primordials have sometimes a dramatic impact on performance\x2C please\n// benchmark all changes made in performance-sensitive areas of the codebase.\n// See: https://github.com/nodejs/node/pull/38248\n\nconst {\n defineProperty: ReflectDefineProperty\x2C\n getOwnPropertyDescriptor: ReflectGetOwnPropertyDescriptor\x2C\n ownKeys: ReflectOwnKeys\x2C\n} = Reflect;\n\n// `uncurryThis` is equivalent to `func => Function.prototype.call.bind(func)`.\n// It is using `bind.bind(call)` to avoid using `Function.prototype.bind`\n// and `Function.prototype.call` after it may have been mutated by users.\nconst { apply\x2C bind\x2C call } = Function.prototype;\nconst uncurryThis = bind.bind(call);\nprimordials.uncurryThis = uncurryThis;\n\n// `applyBind` is equivalent to `func => Function.prototype.apply.bind(func)`.\n// It is using `bind.bind(apply)` to avoid using `Function.prototype.bind`\n// and `Function.prototype.apply` after it may have been mutated by users.\nconst applyBind = bind.bind(apply);\nprimordials.applyBind = applyBind;\n\n// Methods that accept a variable number of arguments\x2C and thus it's useful to\n// also create `${prefix}${key}Apply`\x2C which uses `Function.prototype.apply`\x2C\n// instead of `Function.prototype.call`\x2C and thus doesn't require iterator\n// destructuring.\nconst varargsMethods = [\n // 'ArrayPrototypeConcat' is omitted\x2C because it performs the spread\n // on its own for arrays and array-likes with a truthy\n // @@isConcatSpreadable symbol property.\n 'ArrayOf'\x2C\n 'ArrayPrototypePush'\x2C\n 'ArrayPrototypeUnshift'\x2C\n // 'FunctionPrototypeCall' is omitted\x2C since there's 'ReflectApply'\n // and 'FunctionPrototypeApply'.\n 'MathHypot'\x2C\n 'MathMax'\x2C\n 'MathMin'\x2C\n 'StringPrototypeConcat'\x2C\n 'TypedArrayOf'\x2C\n];\n\nfunction getNewKey(key) {\n return typeof key === 'symbol' ?\n `Symbol${key.description[7].toUpperCase()}${key.description.slice(8)}` :\n `${key[0].toUpperCase()}${key.slice(1)}`;\n}\n\nfunction copyAccessor(dest\x2C prefix\x2C key\x2C { enumerable\x2C get\x2C set }) {\n ReflectDefineProperty(dest\x2C `${prefix}Get${key}`\x2C {\n value: uncurryThis(get)\x2C\n enumerable\n });\n if (set !== undefined) {\n ReflectDefineProperty(dest\x2C `${prefix}Set${key}`\x2C {\n value: uncurryThis(set)\x2C\n enumerable\n });\n }\n}\n\nfunction copyPropsRenamed(src\x2C dest\x2C prefix) {\n for (const key of ReflectOwnKeys(src)) {\n const newKey = getNewKey(key);\n const desc = ReflectGetOwnPropertyDescriptor(src\x2C key);\n if ('get' in desc) {\n copyAccessor(dest\x2C prefix\x2C newKey\x2C desc);\n } else {\n const name = `${prefix}${newKey}`;\n ReflectDefineProperty(dest\x2C name\x2C desc);\n if (varargsMethods.includes(name)) {\n ReflectDefineProperty(dest\x2C `${name}Apply`\x2C {\n // `src` is bound as the `this` so that the static `this` points\n // to the object it was defined on\x2C\n // e.g.: `ArrayOfApply` gets a `this` of `Array`:\n value: applyBind(desc.value\x2C src)\x2C\n });\n }\n }\n }\n}\n\nfunction copyPropsRenamedBound(src\x2C dest\x2C prefix) {\n for (const key of ReflectOwnKeys(src)) {\n const newKey = getNewKey(key);\n const desc = ReflectGetOwnPropertyDescriptor(src\x2C key);\n if ('get' in desc) {\n copyAccessor(dest\x2C prefix\x2C newKey\x2C desc);\n } else {\n const { value } = desc;\n if (typeof value === 'function') {\n desc.value = value.bind(src);\n }\n\n const name = `${prefix}${newKey}`;\n ReflectDefineProperty(dest\x2C name\x2C desc);\n if (varargsMethods.includes(name)) {\n ReflectDefineProperty(dest\x2C `${name}Apply`\x2C {\n value: applyBind(value\x2C src)\x2C\n });\n }\n }\n }\n}\n\nfunction copyPrototype(src\x2C dest\x2C prefix) {\n for (const key of ReflectOwnKeys(src)) {\n const newKey = getNewKey(key);\n const desc = ReflectGetOwnPropertyDescriptor(src\x2C key);\n if ('get' in desc) {\n copyAccessor(dest\x2C prefix\x2C newKey\x2C desc);\n } else {\n const { value } = desc;\n if (typeof value === 'function') {\n desc.value = uncurryThis(value);\n }\n\n const name = `${prefix}${newKey}`;\n ReflectDefineProperty(dest\x2C name\x2C desc);\n if (varargsMethods.includes(name)) {\n ReflectDefineProperty(dest\x2C `${name}Apply`\x2C {\n value: applyBind(value)\x2C\n });\n }\n }\n }\n}\n\n// Create copies of configurable value properties of the global object\n[\n 'Proxy'\x2C\n 'globalThis'\x2C\n].forEach((name) => {\n // eslint-disable-next-line no-restricted-globals\n primordials[name] = globalThis[name];\n});\n\n// Create copies of URI handling functions\n[\n decodeURI\x2C\n decodeURIComponent\x2C\n encodeURI\x2C\n encodeURIComponent\x2C\n].forEach((fn) => {\n primordials[fn.name] = fn;\n});\n\n// Create copies of the namespace objects\n[\n 'JSON'\x2C\n 'Math'\x2C\n 'Proxy'\x2C\n 'Reflect'\x2C\n].forEach((name) => {\n // eslint-disable-next-line no-restricted-globals\n copyPropsRenamed(global[name]\x2C primordials\x2C name);\n});\n\n// Create copies of intrinsic objects\n[\n 'AggregateError'\x2C\n 'Array'\x2C\n 'ArrayBuffer'\x2C\n 'BigInt'\x2C\n 'BigInt64Array'\x2C\n 'BigUint64Array'\x2C\n 'Boolean'\x2C\n 'DataView'\x2C\n 'Date'\x2C\n 'Error'\x2C\n 'EvalError'\x2C\n 'FinalizationRegistry'\x2C\n 'Float32Array'\x2C\n 'Float64Array'\x2C\n 'Function'\x2C\n 'Int16Array'\x2C\n 'Int32Array'\x2C\n 'Int8Array'\x2C\n 'Map'\x2C\n 'Number'\x2C\n 'Object'\x2C\n 'RangeError'\x2C\n 'ReferenceError'\x2C\n 'RegExp'\x2C\n 'Set'\x2C\n 'String'\x2C\n 'Symbol'\x2C\n 'SyntaxError'\x2C\n 'TypeError'\x2C\n 'URIError'\x2C\n 'Uint16Array'\x2C\n 'Uint32Array'\x2C\n 'Uint8Array'\x2C\n 'Uint8ClampedArray'\x2C\n 'WeakMap'\x2C\n 'WeakRef'\x2C\n 'WeakSet'\x2C\n].forEach((name) => {\n // eslint-disable-next-line no-restricted-globals\n const original = global[name];\n primordials[name] = original;\n copyPropsRenamed(original\x2C primordials\x2C name);\n copyPrototype(original.prototype\x2C primordials\x2C `${name}Prototype`);\n});\n\n// Create copies of intrinsic objects that require a valid `this` to call\n// static methods.\n// Refs: https://www.ecma-international.org/ecma-262/#sec-promise.all\n[\n 'Promise'\x2C\n].forEach((name) => {\n // eslint-disable-next-line no-restricted-globals\n const original = global[name];\n primordials[name] = original;\n copyPropsRenamedBound(original\x2C primordials\x2C name);\n copyPrototype(original.prototype\x2C primordials\x2C `${name}Prototype`);\n});\n\n// Create copies of abstract intrinsic objects that are not directly exposed\n// on the global object.\n// Refs: https://tc39.es/ecma262/#sec-%typedarray%-intrinsic-object\n[\n { name: 'TypedArray'\x2C original: Reflect.getPrototypeOf(Uint8Array) }\x2C\n { name: 'ArrayIterator'\x2C original: {\n prototype: Reflect.getPrototypeOf(Array.prototype[Symbol.iterator]())\x2C\n } }\x2C\n { name: 'StringIterator'\x2C original: {\n prototype: Reflect.getPrototypeOf(String.prototype[Symbol.iterator]())\x2C\n } }\x2C\n].forEach(({ name\x2C original }) => {\n primordials[name] = original;\n // The static %TypedArray% methods require a valid `this`\x2C but can't be bound\x2C\n // as they need a subclass constructor as the receiver:\n copyPrototype(original\x2C primordials\x2C name);\n copyPrototype(original.prototype\x2C primordials\x2C `${name}Prototype`);\n});\n\n/* eslint-enable node-core/prefer-primordials */\n\nconst {\n ArrayPrototypeForEach\x2C\n FinalizationRegistry\x2C\n FunctionPrototypeCall\x2C\n Map\x2C\n ObjectFreeze\x2C\n ObjectSetPrototypeOf\x2C\n Promise\x2C\n PromisePrototypeThen\x2C\n Set\x2C\n SymbolIterator\x2C\n WeakMap\x2C\n WeakRef\x2C\n WeakSet\x2C\n} = primordials;\n\n// Because these functions are used by `makeSafe`\x2C which is exposed\n// on the `primordials` object\x2C it's important to use const references\n// to the primordials that they use:\nconst createSafeIterator = (factory\x2C next) => {\n class SafeIterator {\n constructor(iterable) {\n this._iterator = factory(iterable);\n }\n next() {\n return next(this._iterator);\n }\n [SymbolIterator]() {\n return this;\n }\n }\n ObjectSetPrototypeOf(SafeIterator.prototype\x2C null);\n ObjectFreeze(SafeIterator.prototype);\n ObjectFreeze(SafeIterator);\n return SafeIterator;\n};\n\nprimordials.SafeArrayIterator = createSafeIterator(\n primordials.ArrayPrototypeSymbolIterator\x2C\n primordials.ArrayIteratorPrototypeNext\n);\nprimordials.SafeStringIterator = createSafeIterator(\n primordials.StringPrototypeSymbolIterator\x2C\n primordials.StringIteratorPrototypeNext\n);\n\nconst copyProps = (src\x2C dest) => {\n ArrayPrototypeForEach(ReflectOwnKeys(src)\x2C (key) => {\n if (!ReflectGetOwnPropertyDescriptor(dest\x2C key)) {\n ReflectDefineProperty(\n dest\x2C\n key\x2C\n ReflectGetOwnPropertyDescriptor(src\x2C key));\n }\n });\n};\n\n/**\n * @type {typeof primordials.makeSafe}\n */\nconst makeSafe = (unsafe\x2C safe) => {\n if (SymbolIterator in unsafe.prototype) {\n const dummy = new unsafe();\n let next; // We can reuse the same `next` method.\n\n ArrayPrototypeForEach(ReflectOwnKeys(unsafe.prototype)\x2C (key) => {\n if (!ReflectGetOwnPropertyDescriptor(safe.prototype\x2C key)) {\n const desc = ReflectGetOwnPropertyDescriptor(unsafe.prototype\x2C key);\n if (\n typeof desc.value === 'function' &&\n desc.value.length === 0 &&\n SymbolIterator in (FunctionPrototypeCall(desc.value\x2C dummy) ?? {})\n ) {\n const createIterator = uncurryThis(desc.value);\n next ??= uncurryThis(createIterator(dummy).next);\n const SafeIterator = createSafeIterator(createIterator\x2C next);\n desc.value = function() {\n return new SafeIterator(this);\n };\n }\n ReflectDefineProperty(safe.prototype\x2C key\x2C desc);\n }\n });\n } else {\n copyProps(unsafe.prototype\x2C safe.prototype);\n }\n copyProps(unsafe\x2C safe);\n\n ObjectSetPrototypeOf(safe.prototype\x2C null);\n ObjectFreeze(safe.prototype);\n ObjectFreeze(safe);\n return safe;\n};\nprimordials.makeSafe = makeSafe;\n\n// Subclass the constructors because we need to use their prototype\n// methods later.\n// Defining the `constructor` is necessary here to avoid the default\n// constructor which uses the user-mutable `%ArrayIteratorPrototype%.next`.\nprimordials.SafeMap = makeSafe(\n Map\x2C\n class SafeMap extends Map {\n constructor(i) { super(i); } // eslint-disable-line no-useless-constructor\n }\n);\nprimordials.SafeWeakMap = makeSafe(\n WeakMap\x2C\n class SafeWeakMap extends WeakMap {\n constructor(i) { super(i); } // eslint-disable-line no-useless-constructor\n }\n);\n\nprimordials.SafeSet = makeSafe(\n Set\x2C\n class SafeSet extends Set {\n constructor(i) { super(i); } // eslint-disable-line no-useless-constructor\n }\n);\nprimordials.SafeWeakSet = makeSafe(\n WeakSet\x2C\n class SafeWeakSet extends WeakSet {\n constructor(i) { super(i); } // eslint-disable-line no-useless-constructor\n }\n);\n\nprimordials.SafeFinalizationRegistry = makeSafe(\n FinalizationRegistry\x2C\n class SafeFinalizationRegistry extends FinalizationRegistry {\n // eslint-disable-next-line no-useless-constructor\n constructor(cleanupCallback) { super(cleanupCallback); }\n }\n);\nprimordials.SafeWeakRef = makeSafe(\n WeakRef\x2C\n class SafeWeakRef extends WeakRef {\n // eslint-disable-next-line no-useless-constructor\n constructor(target) { super(target); }\n }\n);\n\nconst SafePromise = makeSafe(\n Promise\x2C\n class SafePromise extends Promise {\n // eslint-disable-next-line no-useless-constructor\n constructor(executor) { super(executor); }\n }\n);\n\nprimordials.PromisePrototypeCatch = (thisPromise\x2C onRejected) =>\n PromisePrototypeThen(thisPromise\x2C undefined\x2C onRejected);\n\n/**\n * Attaches a callback that is invoked when the Promise is settled (fulfilled or\n * rejected). The resolved value cannot be modified from the callback.\n * Prefer using async functions when possible.\n * @param {Promise<any>} thisPromise\n * @param {() => void) | undefined | null} onFinally The callback to execute\n * when the Promise is settled (fulfilled or rejected).\n * @returns A Promise for the completion of the callback.\n */\nprimordials.SafePromisePrototypeFinally = (thisPromise\x2C onFinally) =>\n // Wrapping on a new Promise is necessary to not expose the SafePromise\n // prototype to user-land.\n new Promise((a\x2C b) =>\n new SafePromise((a\x2C b) => PromisePrototypeThen(thisPromise\x2C a\x2C b))\n .finally(onFinally)\n .then(a\x2C b)\n );\n\nprimordials.AsyncIteratorPrototype =\n primordials.ReflectGetPrototypeOf(\n primordials.ReflectGetPrototypeOf(\n async function* () {}).prototype);\n\nObjectSetPrototypeOf(primordials\x2C null);\nObjectFreeze(primordials);\n | |
code-source-info,0xaef925db71e,6,10527,10544,C3O10533C7O10539C11O10533C26O10543,, | |
code-creation,LazyCompile,10,14765,0xaef925dc55e,27,SafeMap node:internal/per_context/primordials:351:16,0xff54a849e38,~ | |
code-source-info,0xaef925dc55e,6,10200,10217,C3O10206C7O10212C11O10206C26O10216,, | |
code-creation,LazyCompile,10,14788,0xaef925dc6d6,16,IterableWeakMap node:internal/util/iterable_weak_map:16:1,0xaef925d9038,~ | |
code-source-info,0xaef925dc6d6,97,373,373,C0O373C15O373,, | |
code-creation,LazyCompile,10,14801,0xaef925dca5e,27,SafeWeakMap node:internal/per_context/primordials:357:16,0xff54a849ef8,~ | |
code-source-info,0xaef925dca5e,6,10371,10388,C3O10377C7O10383C11O10377C26O10387,, | |
code-creation,LazyCompile,10,14818,0xaef925dcb66,27,SafeFinalizationRegistry node:internal/per_context/primordials:378:16,0xff54a84a148,~ | |
code-source-info,0xaef925dcb66,6,10977,11022,C3O10997C7O11003C11O10997C26O11021,, | |
code-creation,LazyCompile,10,14889,0xaef925dd34e,492,initializeDeprecations node:internal/bootstrap/pre_execution:250:32,0x173f9a17e180,~ | |
code-source-info,0xaef925dd34e,92,7934,10433,C0O7934C11O7963C19O7963C24O7949C29O8018C39O8018C44O8209C52O8209C57O8250C65O8250C70O8303C99O8295C127O8295C130O8621C141O8641C145O8683C156O8757C167O8847C178O8802C187O8668C196O8906C199O8639C203O8284C269O9183C277O9183C282O9162C287O9212C289O9240C304O9261C311O9379C315O9240C320O9411C324O9441C334O9477C344O9554C351O9459C356O9457C360O9640C370O9682C381O9664C386O9662C390O10021C394O10021C396O10032C407O10053C418O10082C426O10124C434O10032C439O10237C445O10237C447O10247C458O10268C469O10296C477O10337C485O10247C491O10432,, | |
code-creation,LazyCompile,10,14935,0xaef925dd97e,53,initializeWASI node:internal/bootstrap/pre_execution:414:24,0x173f9a17e300,~ | |
code-source-info,0xaef925dd97e,92,13122,13328,C0O13154C6O13154C11O13137C16O13220C21O13224C29O13224C35O13239C37O13270C43O13270C47O13264C52O13327,, | |
code-creation,LazyCompile,10,14957,0xaef925ddb7e,66,initializeCJSLoader node:internal/bootstrap/pre_execution:421:29,0x173f9a17e350,~ | |
code-source-info,0xaef925ddb7e,92,13358,13673,C0O13383C6O13383C11O13425C16O13430C20O13450C26O13488C31O13495C36O13495C40O13591C51O13612C56O13648C60O13606C65O13672,, | |
tick,0x116e250,15116,1,0xb53440,2,0xd4bba0,0x173f9a17ce14,0x173f9a17c105,0xaef925ddb84,0xaef925c246a,0x173f9a17be8d | |
code-creation,Eval,10,15468,0xaef925dfb36,5, node:internal/modules/cjs/loader:1:1,0xaef925df250,~ | |
script-source,99,node:internal/modules/cjs/loader,// Copyright Joyent\x2C Inc. and other Node contributors.\n//\n// Permission is hereby granted\x2C free of charge\x2C to any person obtaining a\n// copy of this software and associated documentation files (the\n// "Software")\x2C to deal in the Software without restriction\x2C including\n// without limitation the rights to use\x2C copy\x2C modify\x2C merge\x2C publish\x2C\n// distribute\x2C sublicense\x2C and/or sell copies of the Software\x2C and to permit\n// persons to whom the Software is furnished to do so\x2C subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED "AS IS"\x2C WITHOUT WARRANTY OF ANY KIND\x2C EXPRESS\n// OR IMPLIED\x2C INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY\x2C FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM\x2C\n// DAMAGES OR OTHER LIABILITY\x2C WHETHER IN AN ACTION OF CONTRACT\x2C TORT OR\n// OTHERWISE\x2C ARISING FROM\x2C OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nconst {\n ArrayIsArray\x2C\n ArrayPrototypeConcat\x2C\n ArrayPrototypeFilter\x2C\n ArrayPrototypeIncludes\x2C\n ArrayPrototypeIndexOf\x2C\n ArrayPrototypeJoin\x2C\n ArrayPrototypePush\x2C\n ArrayPrototypeSlice\x2C\n ArrayPrototypeSplice\x2C\n ArrayPrototypeUnshift\x2C\n ArrayPrototypeUnshiftApply\x2C\n Boolean\x2C\n Error\x2C\n JSONParse\x2C\n ObjectCreate\x2C\n ObjectDefineProperty\x2C\n ObjectFreeze\x2C\n ObjectGetOwnPropertyDescriptor\x2C\n ObjectGetPrototypeOf\x2C\n ObjectKeys\x2C\n ObjectPrototype\x2C\n ObjectPrototypeHasOwnProperty\x2C\n ObjectSetPrototypeOf\x2C\n Proxy\x2C\n ReflectApply\x2C\n ReflectSet\x2C\n RegExpPrototypeExec\x2C\n RegExpPrototypeTest\x2C\n SafeMap\x2C\n SafeWeakMap\x2C\n String\x2C\n StringPrototypeCharAt\x2C\n StringPrototypeCharCodeAt\x2C\n StringPrototypeEndsWith\x2C\n StringPrototypeLastIndexOf\x2C\n StringPrototypeIndexOf\x2C\n StringPrototypeMatch\x2C\n StringPrototypeRepeat\x2C\n StringPrototypeSlice\x2C\n StringPrototypeSplit\x2C\n StringPrototypeStartsWith\x2C\n} = primordials;\n\n// Map used to store CJS parsing data.\nconst cjsParseCache = new SafeWeakMap();\n\n// Set first due to cycle with ESM loader functions.\nmodule.exports = {\n wrapSafe\x2C Module\x2C toRealPath\x2C readPackageScope\x2C cjsParseCache\x2C\n get hasLoadedAnyUserCJSModule() { return hasLoadedAnyUserCJSModule; }\n};\n\nconst { NativeModule } = require('internal/bootstrap/loaders');\nconst {\n maybeCacheSourceMap\x2C\n} = require('internal/source_map/source_map_cache');\nconst { pathToFileURL\x2C fileURLToPath\x2C isURLInstance } = require('internal/url');\nconst { deprecate } = require('internal/util');\nconst vm = require('vm');\nconst assert = require('internal/assert');\nconst fs = require('fs');\nconst internalFS = require('internal/fs/utils');\nconst path = require('path');\nconst { sep } = path;\nconst { internalModuleStat } = internalBinding('fs');\nconst packageJsonReader = require('internal/modules/package_json_reader');\nconst { safeGetenv } = internalBinding('credentials');\nconst {\n cjsConditions\x2C\n hasEsmSyntax\x2C\n loadNativeModule\x2C\n makeRequireFunction\x2C\n normalizeReferrerURL\x2C\n stripBOM\x2C\n} = require('internal/modules/cjs/helpers');\nconst { getOptionValue } = require('internal/options');\nconst preserveSymlinks = getOptionValue('--preserve-symlinks');\nconst preserveSymlinksMain = getOptionValue('--preserve-symlinks-main');\n// Do not eagerly grab .manifest\x2C it may be in TDZ\nconst policy = getOptionValue('--experimental-policy') ?\n require('internal/process/policy') :\n null;\n\n// Whether any user-provided CJS modules had been loaded (executed).\n// Used for internal assertions.\nlet hasLoadedAnyUserCJSModule = false;\n\nconst {\n codes: {\n ERR_INVALID_ARG_VALUE\x2C\n ERR_INVALID_MODULE_SPECIFIER\x2C\n ERR_REQUIRE_ESM\x2C\n ERR_UNKNOWN_BUILTIN_MODULE\x2C\n }\x2C\n setArrowMessage\x2C\n} = require('internal/errors');\nconst { validateString } = require('internal/validators');\nconst pendingDeprecation = getOptionValue('--pending-deprecation');\n\nconst {\n CHAR_FORWARD_SLASH\x2C\n CHAR_BACKWARD_SLASH\x2C\n CHAR_COLON\n} = require('internal/constants');\n\nconst {\n isProxy\n} = require('internal/util/types');\n\nconst asyncESM = require('internal/process/esm_loader');\nconst { enrichCJSError } = require('internal/modules/esm/translators');\nconst { kEvaluated } = internalBinding('module_wrap');\nconst {\n encodedSepRegEx\x2C\n packageExportsResolve\x2C\n packageImportsResolve\n} = require('internal/modules/esm/resolve');\n\nconst isWindows = process.platform === 'win32';\n\nconst relativeResolveCache = ObjectCreate(null);\n\nlet requireDepth = 0;\nlet statCache = null;\nlet isPreloading = false;\n\nfunction stat(filename) {\n filename = path.toNamespacedPath(filename);\n if (statCache !== null) {\n const result = statCache.get(filename);\n if (result !== undefined) return result;\n }\n const result = internalModuleStat(filename);\n if (statCache !== null && result >= 0) {\n // Only set cache when `internalModuleStat(filename)` succeeds.\n statCache.set(filename\x2C result);\n }\n return result;\n}\n\nfunction updateChildren(parent\x2C child\x2C scan) {\n const children = parent?.children;\n if (children && !(scan && ArrayPrototypeIncludes(children\x2C child)))\n ArrayPrototypePush(children\x2C child);\n}\n\nconst moduleParentCache = new SafeWeakMap();\nfunction Module(id = ''\x2C parent) {\n this.id = id;\n this.path = path.dirname(id);\n this.exports = {};\n moduleParentCache.set(this\x2C parent);\n updateChildren(parent\x2C this\x2C false);\n this.filename = null;\n this.loaded = false;\n this.children = [];\n}\n\nconst builtinModules = [];\nfor (const { 0: id\x2C 1: mod } of NativeModule.map) {\n if (mod.canBeRequiredByUsers) {\n ArrayPrototypePush(builtinModules\x2C id);\n }\n}\n\nObjectFreeze(builtinModules);\nModule.builtinModules = builtinModules;\n\nModule._cache = ObjectCreate(null);\nModule._pathCache = ObjectCreate(null);\nModule._extensions = ObjectCreate(null);\nlet modulePaths = [];\nModule.globalPaths = [];\n\nlet patched = false;\n\n// eslint-disable-next-line func-style\nlet wrap = function(script) {\n return Module.wrapper[0] + script + Module.wrapper[1];\n};\n\nconst wrapper = [\n '(function (exports\x2C require\x2C module\x2C __filename\x2C __dirname) { '\x2C\n '\\n});'\x2C\n];\n\nlet wrapperProxy = new Proxy(wrapper\x2C {\n set(target\x2C property\x2C value\x2C receiver) {\n patched = true;\n return ReflectSet(target\x2C property\x2C value\x2C receiver);\n }\x2C\n\n defineProperty(target\x2C property\x2C descriptor) {\n patched = true;\n return ObjectDefineProperty(target\x2C property\x2C descriptor);\n }\n});\n\nObjectDefineProperty(Module\x2C 'wrap'\x2C {\n get() {\n return wrap;\n }\x2C\n\n set(value) {\n patched = true;\n wrap = value;\n }\n});\n\nObjectDefineProperty(Module\x2C 'wrapper'\x2C {\n get() {\n return wrapperProxy;\n }\x2C\n\n set(value) {\n patched = true;\n wrapperProxy = value;\n }\n});\n\nconst isPreloadingDesc = { get() { return isPreloading; } };\nObjectDefineProperty(Module.prototype\x2C 'isPreloading'\x2C isPreloadingDesc);\nObjectDefineProperty(NativeModule.prototype\x2C 'isPreloading'\x2C isPreloadingDesc);\n\nfunction getModuleParent() {\n return moduleParentCache.get(this);\n}\n\nfunction setModuleParent(value) {\n moduleParentCache.set(this\x2C value);\n}\n\nObjectDefineProperty(Module.prototype\x2C 'parent'\x2C {\n get: pendingDeprecation ? deprecate(\n getModuleParent\x2C\n 'module.parent is deprecated due to accuracy issues. Please use ' +\n 'require.main to find program entry point instead.'\x2C\n 'DEP0144'\n ) : getModuleParent\x2C\n set: pendingDeprecation ? deprecate(\n setModuleParent\x2C\n 'module.parent is deprecated due to accuracy issues. Please use ' +\n 'require.main to find program entry point instead.'\x2C\n 'DEP0144'\n ) : setModuleParent\x2C\n});\n\nlet debug = require('internal/util/debuglog').debuglog('module'\x2C (fn) => {\n debug = fn;\n});\nModule._debug = deprecate(debug\x2C 'Module._debug is deprecated.'\x2C 'DEP0077');\n\n// Given a module name\x2C and a list of paths to test\x2C returns the first\n// matching file in the following precedence.\n//\n// require("a.<ext>")\n// -> a.<ext>\n//\n// require("a")\n// -> a\n// -> a.<ext>\n// -> a/index.<ext>\n\nconst packageJsonCache = new SafeMap();\n\nfunction readPackage(requestPath) {\n const jsonPath = path.resolve(requestPath\x2C 'package.json');\n\n const existing = packageJsonCache.get(jsonPath);\n if (existing !== undefined) return existing;\n\n const result = packageJsonReader.read(jsonPath);\n const json = result.containsKeys === false ? '{}' : result.string;\n if (json === undefined) {\n packageJsonCache.set(jsonPath\x2C false);\n return false;\n }\n\n try {\n const parsed = JSONParse(json);\n const filtered = {\n name: parsed.name\x2C\n main: parsed.main\x2C\n exports: parsed.exports\x2C\n imports: parsed.imports\x2C\n type: parsed.type\n };\n packageJsonCache.set(jsonPath\x2C filtered);\n return filtered;\n } catch (e) {\n e.path = jsonPath;\n e.message = 'Error parsing ' + jsonPath + ': ' + e.message;\n throw e;\n }\n}\n\nfunction readPackageScope(checkPath) {\n const rootSeparatorIndex = StringPrototypeIndexOf(checkPath\x2C sep);\n let separatorIndex;\n do {\n separatorIndex = StringPrototypeLastIndexOf(checkPath\x2C sep);\n checkPath = StringPrototypeSlice(checkPath\x2C 0\x2C separatorIndex);\n if (StringPrototypeEndsWith(checkPath\x2C sep + 'node_modules'))\n return false;\n const pjson = readPackage(checkPath + sep);\n if (pjson) return {\n data: pjson\x2C\n path: checkPath\x2C\n };\n } while (separatorIndex > rootSeparatorIndex);\n return false;\n}\n\nfunction tryPackage(requestPath\x2C exts\x2C isMain\x2C originalPath) {\n const pkg = readPackage(requestPath)?.main;\n\n if (!pkg) {\n return tryExtensions(path.resolve(requestPath\x2C 'index')\x2C exts\x2C isMain);\n }\n\n const filename = path.resolve(requestPath\x2C pkg);\n let actual = tryFile(filename\x2C isMain) ||\n tryExtensions(filename\x2C exts\x2C isMain) ||\n tryExtensions(path.resolve(filename\x2C 'index')\x2C exts\x2C isMain);\n if (actual === false) {\n actual = tryExtensions(path.resolve(requestPath\x2C 'index')\x2C exts\x2C isMain);\n if (!actual) {\n // eslint-disable-next-line no-restricted-syntax\n const err = new Error(\n `Cannot find module '${filename}'. ` +\n 'Please verify that the package.json has a valid "main" entry'\n );\n err.code = 'MODULE_NOT_FOUND';\n err.path = path.resolve(requestPath\x2C 'package.json');\n err.requestPath = originalPath;\n // TODO(BridgeAR): Add the requireStack as well.\n throw err;\n } else {\n const jsonPath = path.resolve(requestPath\x2C 'package.json');\n process.emitWarning(\n `Invalid 'main' field in '${jsonPath}' of '${pkg}'. ` +\n 'Please either fix that or report it to the module author'\x2C\n 'DeprecationWarning'\x2C\n 'DEP0128'\n );\n }\n }\n return actual;\n}\n\n// In order to minimize unnecessary lstat() calls\x2C\n// this cache is a list of known-real paths.\n// Set to an empty Map to reset.\nconst realpathCache = new SafeMap();\n\n// Check if the file exists and is not a directory\n// if using --preserve-symlinks and isMain is false\x2C\n// keep symlinks intact\x2C otherwise resolve to the\n// absolute realpath.\nfunction tryFile(requestPath\x2C isMain) {\n const rc = stat(requestPath);\n if (rc !== 0) return;\n if (preserveSymlinks && !isMain) {\n return path.resolve(requestPath);\n }\n return toRealPath(requestPath);\n}\n\nfunction toRealPath(requestPath) {\n return fs.realpathSync(requestPath\x2C {\n [internalFS.realpathCacheKey]: realpathCache\n });\n}\n\n// Given a path\x2C check if the file exists with any of the set extensions\nfunction tryExtensions(p\x2C exts\x2C isMain) {\n for (let i = 0; i < exts.length; i++) {\n const filename = tryFile(p + exts[i]\x2C isMain);\n\n if (filename) {\n return filename;\n }\n }\n return false;\n}\n\n// Find the longest (possibly multi-dot) extension registered in\n// Module._extensions\nfunction findLongestRegisteredExtension(filename) {\n const name = path.basename(filename);\n let currentExtension;\n let index;\n let startIndex = 0;\n while ((index = StringPrototypeIndexOf(name\x2C '.'\x2C startIndex)) !== -1) {\n startIndex = index + 1;\n if (index === 0) continue; // Skip dotfiles like .gitignore\n currentExtension = StringPrototypeSlice(name\x2C index);\n if (Module._extensions[currentExtension]) return currentExtension;\n }\n return '.js';\n}\n\nfunction trySelfParentPath(parent) {\n if (!parent) return false;\n\n if (parent.filename) {\n return parent.filename;\n } else if (parent.id === '<repl>' || parent.id === 'internal/preload') {\n try {\n return process.cwd() + path.sep;\n } catch {\n return false;\n }\n }\n}\n\nfunction trySelf(parentPath\x2C request) {\n if (!parentPath) return false;\n\n const { data: pkg\x2C path: pkgPath } = readPackageScope(parentPath) || {};\n if (!pkg || pkg.exports === undefined) return false;\n if (typeof pkg.name !== 'string') return false;\n\n let expansion;\n if (request === pkg.name) {\n expansion = '.';\n } else if (StringPrototypeStartsWith(request\x2C `${pkg.name}/`)) {\n expansion = '.' + StringPrototypeSlice(request\x2C pkg.name.length);\n } else {\n return false;\n }\n\n try {\n return finalizeEsmResolution(packageExportsResolve(\n pathToFileURL(pkgPath + '/package.json')\x2C expansion\x2C pkg\x2C\n pathToFileURL(parentPath)\x2C cjsConditions)\x2C request\x2C parentPath\x2C pkgPath);\n } catch (e) {\n if (e.code === 'ERR_MODULE_NOT_FOUND')\n throw createEsmNotFoundErr(request\x2C pkgPath + '/package.json');\n throw e;\n }\n}\n\n// This only applies to requests of a specific form:\n// 1. name/.*\n// 2. @scope/name/.*\nconst EXPORTS_PATTERN = /^((?:@[^/\\\\%]+\\/)?[^./\\\\%][^/\\\\%]*)(\\/.*)?$/;\nfunction resolveExports(nmPath\x2C request) {\n // The implementation's behavior is meant to mirror resolution in ESM.\n const { 1: name\x2C 2: expansion = '' } =\n StringPrototypeMatch(request\x2C EXPORTS_PATTERN) || [];\n if (!name)\n return;\n const pkgPath = path.resolve(nmPath\x2C name);\n const pkg = readPackage(pkgPath);\n if (pkg?.exports != null) {\n try {\n return finalizeEsmResolution(packageExportsResolve(\n pathToFileURL(pkgPath + '/package.json')\x2C '.' + expansion\x2C pkg\x2C null\x2C\n cjsConditions)\x2C request\x2C null\x2C pkgPath);\n } catch (e) {\n if (e.code === 'ERR_MODULE_NOT_FOUND')\n throw createEsmNotFoundErr(request\x2C pkgPath + '/package.json');\n throw e;\n }\n }\n}\n\nconst trailingSlashRegex = /(?:^|\\/)\\.?\\.$/;\nModule._findPath = function(request\x2C paths\x2C isMain) {\n const absoluteRequest = path.isAbsolute(request);\n if (absoluteRequest) {\n paths = [''];\n } else if (!paths || paths.length === 0) {\n return false;\n }\n\n const cacheKey = request + '\\x00' + ArrayPrototypeJoin(paths\x2C '\\x00');\n const entry = Module._pathCache[cacheKey];\n if (entry)\n return entry;\n\n let exts;\n let trailingSlash = request.length > 0 &&\n StringPrototypeCharCodeAt(request\x2C request.length - 1) ===\n CHAR_FORWARD_SLASH;\n if (!trailingSlash) {\n trailingSlash = RegExpPrototypeTest(trailingSlashRegex\x2C request);\n }\n\n // For each path\n for (let i = 0; i < paths.length; i++) {\n // Don't search further if path doesn't exist\n const curPath = paths[i];\n if (curPath && stat(curPath) < 1) continue;\n\n if (!absoluteRequest) {\n const exportsResolved = resolveExports(curPath\x2C request);\n if (exportsResolved)\n return exportsResolved;\n }\n\n const basePath = path.resolve(curPath\x2C request);\n let filename;\n\n const rc = stat(basePath);\n if (!trailingSlash) {\n if (rc === 0) { // File.\n if (!isMain) {\n if (preserveSymlinks) {\n filename = path.resolve(basePath);\n } else {\n filename = toRealPath(basePath);\n }\n } else if (preserveSymlinksMain) {\n // For the main module\x2C we use the preserveSymlinksMain flag instead\n // mainly for backward compatibility\x2C as the preserveSymlinks flag\n // historically has not applied to the main module. Most likely this\n // was intended to keep .bin/ binaries working\x2C as following those\n // symlinks is usually required for the imports in the corresponding\n // files to resolve; that said\x2C in some use cases following symlinks\n // causes bigger problems which is why the preserveSymlinksMain option\n // is needed.\n filename = path.resolve(basePath);\n } else {\n filename = toRealPath(basePath);\n }\n }\n\n if (!filename) {\n // Try it with each of the extensions\n if (exts === undefined)\n exts = ObjectKeys(Module._extensions);\n filename = tryExtensions(basePath\x2C exts\x2C isMain);\n }\n }\n\n if (!filename && rc === 1) { // Directory.\n // try it with each of the extensions at "index"\n if (exts === undefined)\n exts = ObjectKeys(Module._extensions);\n filename = tryPackage(basePath\x2C exts\x2C isMain\x2C request);\n }\n\n if (filename) {\n Module._pathCache[cacheKey] = filename;\n return filename;\n }\n }\n\n return false;\n};\n\n// 'node_modules' character codes reversed\nconst nmChars = [ 115\x2C 101\x2C 108\x2C 117\x2C 100\x2C 111\x2C 109\x2C 95\x2C 101\x2C 100\x2C 111\x2C 110 ];\nconst nmLen = nmChars.length;\nif (isWindows) {\n // 'from' is the __dirname of the module.\n Module._nodeModulePaths = function(from) {\n // Guarantee that 'from' is absolute.\n from = path.resolve(from);\n\n // note: this approach *only* works when the path is guaranteed\n // to be absolute. Doing a fully-edge-case-correct path.split\n // that works on both Windows and Posix is non-trivial.\n\n // return root node_modules when path is 'D:\\\\'.\n // path.resolve will make sure from.length >=3 in Windows.\n if (StringPrototypeCharCodeAt(from\x2C from.length - 1) ===\n CHAR_BACKWARD_SLASH &&\n StringPrototypeCharCodeAt(from\x2C from.length - 2) === CHAR_COLON)\n return [from + 'node_modules'];\n\n const paths = [];\n for (let i = from.length - 1\x2C p = 0\x2C last = from.length; i >= 0; --i) {\n const code = StringPrototypeCharCodeAt(from\x2C i);\n // The path segment separator check ('\\' and '/') was used to get\n // node_modules path for every path segment.\n // Use colon as an extra condition since we can get node_modules\n // path for drive root like 'C:\\node_modules' and don't need to\n // parse drive name.\n if (code === CHAR_BACKWARD_SLASH ||\n code === CHAR_FORWARD_SLASH ||\n code === CHAR_COLON) {\n if (p !== nmLen)\n ArrayPrototypePush(\n paths\x2C\n StringPrototypeSlice(from\x2C 0\x2C last) + '\\\\node_modules'\n );\n last = i;\n p = 0;\n } else if (p !== -1) {\n if (nmChars[p] === code) {\n ++p;\n } else {\n p = -1;\n }\n }\n }\n\n return paths;\n };\n} else { // posix\n // 'from' is the __dirname of the module.\n Module._nodeModulePaths = function(from) {\n // Guarantee that 'from' is absolute.\n from = path.resolve(from);\n // Return early not only to avoid unnecessary work\x2C but to *avoid* returning\n // an array of two items for a root: [ '//node_modules'\x2C '/node_modules' ]\n if (from === '/')\n return ['/node_modules'];\n\n // note: this approach *only* works when the path is guaranteed\n // to be absolute. Doing a fully-edge-case-correct path.split\n // that works on both Windows and Posix is non-trivial.\n const paths = [];\n for (let i = from.length - 1\x2C p = 0\x2C last = from.length; i >= 0; --i) {\n const code = StringPrototypeCharCodeAt(from\x2C i);\n if (code === CHAR_FORWARD_SLASH) {\n if (p !== nmLen)\n ArrayPrototypePush(\n paths\x2C\n StringPrototypeSlice(from\x2C 0\x2C last) + '/node_modules'\n );\n last = i;\n p = 0;\n } else if (p !== -1) {\n if (nmChars[p] === code) {\n ++p;\n } else {\n p = -1;\n }\n }\n }\n\n // Append /node_modules to handle root paths.\n ArrayPrototypePush(paths\x2C '/node_modules');\n\n return paths;\n };\n}\n\nModule._resolveLookupPaths = function(request\x2C parent) {\n if (NativeModule.canBeRequiredByUsers(request)) {\n debug('looking for %j in []'\x2C request);\n return null;\n }\n\n // Check for node modules paths.\n if (StringPrototypeCharAt(request\x2C 0) !== '.' ||\n (request.length > 1 &&\n StringPrototypeCharAt(request\x2C 1) !== '.' &&\n StringPrototypeCharAt(request\x2C 1) !== '/' &&\n (!isWindows || StringPrototypeCharAt(request\x2C 1) !== '\\\\'))) {\n\n let paths = modulePaths;\n if (parent?.paths?.length) {\n paths = ArrayPrototypeConcat(parent.paths\x2C paths);\n }\n\n debug('looking for %j in %j'\x2C request\x2C paths);\n return paths.length > 0 ? paths : null;\n }\n\n // In REPL\x2C parent.filename is null.\n if (!parent || !parent.id || !parent.filename) {\n // Make require('./path/to/foo') work - normally the path is taken\n // from realpath(__filename) but in REPL there is no filename\n const mainPaths = ['.'];\n\n debug('looking for %j in %j'\x2C request\x2C mainPaths);\n return mainPaths;\n }\n\n debug('RELATIVE: requested: %s from parent.id %s'\x2C request\x2C parent.id);\n\n const parentDir = [path.dirname(parent.filename)];\n debug('looking for %j'\x2C parentDir);\n return parentDir;\n};\n\nfunction emitCircularRequireWarning(prop) {\n process.emitWarning(\n `Accessing non-existent property '${String(prop)}' of module exports ` +\n 'inside circular dependency'\n );\n}\n\n// A Proxy that can be used as the prototype of a module.exports object and\n// warns when non-existent properties are accessed.\nconst CircularRequirePrototypeWarningProxy = new Proxy({}\x2C {\n get(target\x2C prop) {\n // Allow __esModule access in any case because it is used in the output\n // of transpiled code to determine whether something comes from an\n // ES module\x2C and is not used as a regular key of `module.exports`.\n if (prop in target || prop === '__esModule') return target[prop];\n emitCircularRequireWarning(prop);\n return undefined;\n }\x2C\n\n getOwnPropertyDescriptor(target\x2C prop) {\n if (ObjectPrototypeHasOwnProperty(target\x2C prop) || prop === '__esModule')\n return ObjectGetOwnPropertyDescriptor(target\x2C prop);\n emitCircularRequireWarning(prop);\n return undefined;\n }\n});\n\nfunction getExportsForCircularRequire(module) {\n if (module.exports &&\n !isProxy(module.exports) &&\n ObjectGetPrototypeOf(module.exports) === ObjectPrototype &&\n // Exclude transpiled ES6 modules / TypeScript code because those may\n // employ unusual patterns for accessing 'module.exports'. That should\n // be okay because ES6 modules have a different approach to circular\n // dependencies anyway.\n !module.exports.__esModule) {\n // This is later unset once the module is done loading.\n ObjectSetPrototypeOf(\n module.exports\x2C CircularRequirePrototypeWarningProxy);\n }\n\n return module.exports;\n}\n\n// Check the cache for the requested file.\n// 1. If a module already exists in the cache: return its exports object.\n// 2. If the module is native: call\n// `NativeModule.prototype.compileForPublicLoader()` and return the exports.\n// 3. Otherwise\x2C create a new module for the file and save it to the cache.\n// Then have it load the file contents before returning its exports\n// object.\nModule._load = function(request\x2C parent\x2C isMain) {\n let relResolveCacheIdentifier;\n if (parent) {\n debug('Module._load REQUEST %s parent: %s'\x2C request\x2C parent.id);\n // Fast path for (lazy loaded) modules in the same directory. The indirect\n // caching is required to allow cache invalidation without changing the old\n // cache key names.\n relResolveCacheIdentifier = `${parent.path}\\x00${request}`;\n const filename = relativeResolveCache[relResolveCacheIdentifier];\n if (filename !== undefined) {\n const cachedModule = Module._cache[filename];\n if (cachedModule !== undefined) {\n updateChildren(parent\x2C cachedModule\x2C true);\n if (!cachedModule.loaded)\n return getExportsForCircularRequire(cachedModule);\n return cachedModule.exports;\n }\n delete relativeResolveCache[relResolveCacheIdentifier];\n }\n }\n\n const filename = Module._resolveFilename(request\x2C parent\x2C isMain);\n if (StringPrototypeStartsWith(filename\x2C 'node:')) {\n // Slice 'node:' prefix\n const id = StringPrototypeSlice(filename\x2C 5);\n\n const module = loadNativeModule(id\x2C request);\n if (!module?.canBeRequiredByUsers) {\n throw new ERR_UNKNOWN_BUILTIN_MODULE(filename);\n }\n\n return module.exports;\n }\n\n const cachedModule = Module._cache[filename];\n if (cachedModule !== undefined) {\n updateChildren(parent\x2C cachedModule\x2C true);\n if (!cachedModule.loaded) {\n const parseCachedModule = cjsParseCache.get(cachedModule);\n if (!parseCachedModule || parseCachedModule.loaded)\n return getExportsForCircularRequire(cachedModule);\n parseCachedModule.loaded = true;\n } else {\n return cachedModule.exports;\n }\n }\n\n const mod = loadNativeModule(filename\x2C request);\n if (mod?.canBeRequiredByUsers) return mod.exports;\n\n // Don't call updateChildren()\x2C Module constructor already does.\n const module = cachedModule || new Module(filename\x2C parent);\n\n if (isMain) {\n process.mainModule = module;\n module.id = '.';\n }\n\n Module._cache[filename] = module;\n if (parent !== undefined) {\n relativeResolveCache[relResolveCacheIdentifier] = filename;\n }\n\n let threw = true;\n try {\n module.load(filename);\n threw = false;\n } finally {\n if (threw) {\n delete Module._cache[filename];\n if (parent !== undefined) {\n delete relativeResolveCache[relResolveCacheIdentifier];\n const children = parent?.children;\n if (ArrayIsArray(children)) {\n const index = ArrayPrototypeIndexOf(children\x2C module);\n if (index !== -1) {\n ArrayPrototypeSplice(children\x2C index\x2C 1);\n }\n }\n }\n } else if (module.exports &&\n !isProxy(module.exports) &&\n ObjectGetPrototypeOf(module.exports) ===\n CircularRequirePrototypeWarningProxy) {\n ObjectSetPrototypeOf(module.exports\x2C ObjectPrototype);\n }\n }\n\n return module.exports;\n};\n\nModule._resolveFilename = function(request\x2C parent\x2C isMain\x2C options) {\n if (StringPrototypeStartsWith(request\x2C 'node:') ||\n NativeModule.canBeRequiredByUsers(request)) {\n return request;\n }\n\n let paths;\n\n if (typeof options === 'object' && options !== null) {\n if (ArrayIsArray(options.paths)) {\n const isRelative = StringPrototypeStartsWith(request\x2C './') ||\n StringPrototypeStartsWith(request\x2C '../') ||\n ((isWindows && StringPrototypeStartsWith(request\x2C '.\\\\')) ||\n StringPrototypeStartsWith(request\x2C '..\\\\'));\n\n if (isRelative) {\n paths = options.paths;\n } else {\n const fakeParent = new Module(''\x2C null);\n\n paths = [];\n\n for (let i = 0; i < options.paths.length; i++) {\n const path = options.paths[i];\n fakeParent.paths = Module._nodeModulePaths(path);\n const lookupPaths = Module._resolveLookupPaths(request\x2C fakeParent);\n\n for (let j = 0; j < lookupPaths.length; j++) {\n if (!ArrayPrototypeIncludes(paths\x2C lookupPaths[j]))\n ArrayPrototypePush(paths\x2C lookupPaths[j]);\n }\n }\n }\n } else if (options.paths === undefined) {\n paths = Module._resolveLookupPaths(request\x2C parent);\n } else {\n throw new ERR_INVALID_ARG_VALUE('options.paths'\x2C options.paths);\n }\n } else {\n paths = Module._resolveLookupPaths(request\x2C parent);\n }\n\n if (parent?.filename) {\n if (request[0] === '#') {\n const pkg = readPackageScope(parent.filename) || {};\n if (pkg.data?.imports != null) {\n try {\n return finalizeEsmResolution(\n packageImportsResolve(request\x2C pathToFileURL(parent.filename)\x2C\n cjsConditions)\x2C request\x2C parent.filename\x2C\n pkg.path);\n } catch (e) {\n if (e.code === 'ERR_MODULE_NOT_FOUND')\n throw createEsmNotFoundErr(request);\n throw e;\n }\n }\n }\n }\n\n // Try module self resolution first\n const parentPath = trySelfParentPath(parent);\n const selfResolved = trySelf(parentPath\x2C request);\n if (selfResolved) {\n const cacheKey = request + '\\x00' +\n (paths.length === 1 ? paths[0] : ArrayPrototypeJoin(paths\x2C '\\x00'));\n Module._pathCache[cacheKey] = selfResolved;\n return selfResolved;\n }\n\n // Look up the filename first\x2C since that's the cache key.\n const filename = Module._findPath(request\x2C paths\x2C isMain\x2C false);\n if (filename) return filename;\n const requireStack = [];\n for (let cursor = parent;\n cursor;\n cursor = moduleParentCache.get(cursor)) {\n ArrayPrototypePush(requireStack\x2C cursor.filename || cursor.id);\n }\n let message = `Cannot find module '${request}'`;\n if (requireStack.length > 0) {\n message = message + '\\nRequire stack:\\n- ' +\n ArrayPrototypeJoin(requireStack\x2C '\\n- ');\n }\n // eslint-disable-next-line no-restricted-syntax\n const err = new Error(message);\n err.code = 'MODULE_NOT_FOUND';\n err.requireStack = requireStack;\n throw err;\n};\n\nfunction finalizeEsmResolution(match\x2C request\x2C parentPath\x2C pkgPath) {\n const { resolved\x2C exact } = match;\n if (RegExpPrototypeTest(encodedSepRegEx\x2C resolved))\n throw new ERR_INVALID_MODULE_SPECIFIER(\n resolved\x2C 'must not include encoded "/" or "\\\\" characters'\x2C parentPath);\n const filename = fileURLToPath(resolved);\n let actual = tryFile(filename);\n if (!exact && !actual) {\n const exts = ObjectKeys(Module._extensions);\n actual = tryExtensions(filename\x2C exts\x2C false) ||\n tryPackage(filename\x2C exts\x2C false\x2C request);\n }\n if (actual)\n return actual;\n const err = createEsmNotFoundErr(filename\x2C\n path.resolve(pkgPath\x2C 'package.json'));\n throw err;\n}\n\nfunction createEsmNotFoundErr(request\x2C path) {\n // eslint-disable-next-line no-restricted-syntax\n const err = new Error(`Cannot find module '${request}'`);\n err.code = 'MODULE_NOT_FOUND';\n if (path)\n err.path = path;\n // TODO(BridgeAR): Add the requireStack as well.\n return err;\n}\n\n// Given a file name\x2C pass it to the proper extension handler.\nModule.prototype.load = function(filename) {\n debug('load %j for module %j'\x2C filename\x2C this.id);\n\n assert(!this.loaded);\n this.filename = filename;\n this.paths = Module._nodeModulePaths(path.dirname(filename));\n\n const extension = findLongestRegisteredExtension(filename);\n // allow .mjs to be overridden\n if (StringPrototypeEndsWith(filename\x2C '.mjs') && !Module._extensions['.mjs'])\n throw new ERR_REQUIRE_ESM(filename\x2C true);\n\n Module._extensions[extension](this\x2C filename);\n this.loaded = true;\n\n const esmLoader = asyncESM.esmLoader;\n // Create module entry at load time to snapshot exports correctly\n const exports = this.exports;\n // Preemptively cache\n if ((module?.module === undefined ||\n module.module.getStatus() < kEvaluated) &&\n !esmLoader.cjsCache.has(this))\n esmLoader.cjsCache.set(this\x2C exports);\n};\n\n\n// Loads a module at the given file path. Returns that module's\n// `exports` property.\nModule.prototype.require = function(id) {\n validateString(id\x2C 'id');\n if (id === '') {\n throw new ERR_INVALID_ARG_VALUE('id'\x2C id\x2C\n 'must be a non-empty string');\n }\n requireDepth++;\n try {\n return Module._load(id\x2C this\x2C /* isMain */ false);\n } finally {\n requireDepth--;\n }\n};\n\n\n// Resolved path to process.argv[1] will be lazily placed here\n// (needed for setting breakpoint when called with --inspect-brk)\nlet resolvedArgv;\nlet hasPausedEntry = false;\n\nfunction wrapSafe(filename\x2C content\x2C cjsModuleInstance) {\n if (patched) {\n const wrapper = Module.wrap(content);\n return vm.runInThisContext(wrapper\x2C {\n filename\x2C\n lineOffset: 0\x2C\n displayErrors: true\x2C\n importModuleDynamically: async (specifier) => {\n const loader = asyncESM.esmLoader;\n return loader.import(specifier\x2C normalizeReferrerURL(filename));\n }\x2C\n });\n }\n try {\n return vm.compileFunction(content\x2C [\n 'exports'\x2C\n 'require'\x2C\n 'module'\x2C\n '__filename'\x2C\n '__dirname'\x2C\n ]\x2C {\n filename\x2C\n importModuleDynamically(specifier) {\n const loader = asyncESM.esmLoader;\n return loader.import(specifier\x2C normalizeReferrerURL(filename));\n }\x2C\n });\n } catch (err) {\n if (process.mainModule === cjsModuleInstance)\n enrichCJSError(err\x2C content);\n throw err;\n }\n}\n\n// Run the file contents in the correct scope or sandbox. Expose\n// the correct helper variables (require\x2C module\x2C exports) to\n// the file.\n// Returns exception\x2C if any.\nModule.prototype._compile = function(content\x2C filename) {\n let moduleURL;\n let redirects;\n if (policy?.manifest) {\n moduleURL = pathToFileURL(filename);\n redirects = policy.manifest.getDependencyMapper(moduleURL);\n policy.manifest.assertIntegrity(moduleURL\x2C content);\n }\n\n maybeCacheSourceMap(filename\x2C content\x2C this);\n const compiledWrapper = wrapSafe(filename\x2C content\x2C this);\n\n let inspectorWrapper = null;\n if (getOptionValue('--inspect-brk') && process._eval == null) {\n if (!resolvedArgv) {\n // We enter the repl if we're not given a filename argument.\n if (process.argv[1]) {\n try {\n resolvedArgv = Module._resolveFilename(process.argv[1]\x2C null\x2C false);\n } catch {\n // We only expect this codepath to be reached in the case of a\n // preloaded module (it will fail earlier with the main entry)\n assert(ArrayIsArray(getOptionValue('--require')));\n }\n } else {\n resolvedArgv = 'repl';\n }\n }\n\n // Set breakpoint on module start\n if (resolvedArgv && !hasPausedEntry && filename === resolvedArgv) {\n hasPausedEntry = true;\n inspectorWrapper = internalBinding('inspector').callAndPauseOnStart;\n }\n }\n const dirname = path.dirname(filename);\n const require = makeRequireFunction(this\x2C redirects);\n let result;\n const exports = this.exports;\n const thisValue = exports;\n const module = this;\n if (requireDepth === 0) statCache = new SafeMap();\n if (inspectorWrapper) {\n result = inspectorWrapper(compiledWrapper\x2C thisValue\x2C exports\x2C\n require\x2C module\x2C filename\x2C dirname);\n } else {\n result = ReflectApply(compiledWrapper\x2C thisValue\x2C\n [exports\x2C require\x2C module\x2C filename\x2C dirname]);\n }\n hasLoadedAnyUserCJSModule = true;\n if (requireDepth === 0) statCache = null;\n return result;\n};\n\n// Native extension for .js\nModule._extensions['.js'] = function(module\x2C filename) {\n // If already analyzed the source\x2C then it will be cached.\n const cached = cjsParseCache.get(module);\n let content;\n if (cached?.source) {\n content = cached.source;\n cached.source = undefined;\n } else {\n content = fs.readFileSync(filename\x2C 'utf8');\n }\n if (StringPrototypeEndsWith(filename\x2C '.js')) {\n const pkg = readPackageScope(filename);\n // Function require shouldn't be used in ES modules.\n if (pkg?.data?.type === 'module') {\n const parent = moduleParentCache.get(module);\n const parentPath = parent?.filename;\n const packageJsonPath = path.resolve(pkg.path\x2C 'package.json');\n const usesEsm = hasEsmSyntax(content);\n const err = new ERR_REQUIRE_ESM(filename\x2C usesEsm\x2C parentPath\x2C\n packageJsonPath);\n // Attempt to reconstruct the parent require frame.\n if (Module._cache[parentPath]) {\n let parentSource;\n try {\n parentSource = fs.readFileSync(parentPath\x2C 'utf8');\n } catch {}\n if (parentSource) {\n const errLine = StringPrototypeSplit(\n StringPrototypeSlice(err.stack\x2C StringPrototypeIndexOf(\n err.stack\x2C ' at '))\x2C '\\n'\x2C 1)[0];\n const { 1: line\x2C 2: col } =\n RegExpPrototypeExec(/(\\d+):(\\d+)\\)/\x2C errLine) || [];\n if (line && col) {\n const srcLine = StringPrototypeSplit(parentSource\x2C '\\n')[line - 1];\n const frame = `${parentPath}:${line}\\n${srcLine}\\n${\n StringPrototypeRepeat(' '\x2C col - 1)}^\\n`;\n setArrowMessage(err\x2C frame);\n }\n }\n }\n throw err;\n }\n }\n module._compile(content\x2C filename);\n};\n\n\n// Native extension for .json\nModule._extensions['.json'] = function(module\x2C filename) {\n const content = fs.readFileSync(filename\x2C 'utf8');\n\n if (policy?.manifest) {\n const moduleURL = pathToFileURL(filename);\n policy.manifest.assertIntegrity(moduleURL\x2C content);\n }\n\n try {\n module.exports = JSONParse(stripBOM(content));\n } catch (err) {\n err.message = filename + ': ' + err.message;\n throw err;\n }\n};\n\n\n// Native extension for .node\nModule._extensions['.node'] = function(module\x2C filename) {\n if (policy?.manifest) {\n const content = fs.readFileSync(filename);\n const moduleURL = pathToFileURL(filename);\n policy.manifest.assertIntegrity(moduleURL\x2C content);\n }\n // Be aware this doesn't use `content`\n return process.dlopen(module\x2C path.toNamespacedPath(filename));\n};\n\nfunction createRequireFromPath(filename) {\n // Allow a directory to be passed as the filename\n const trailingSlash =\n StringPrototypeEndsWith(filename\x2C '/') ||\n (isWindows && StringPrototypeEndsWith(filename\x2C '\\\\'));\n\n const proxyPath = trailingSlash ?\n path.join(filename\x2C 'noop.js') :\n filename;\n\n const m = new Module(proxyPath);\n m.filename = proxyPath;\n\n m.paths = Module._nodeModulePaths(m.path);\n return makeRequireFunction(m\x2C null);\n}\n\nconst createRequireError = 'must be a file URL object\x2C file URL string\x2C or ' +\n 'absolute path string';\n\nfunction createRequire(filename) {\n let filepath;\n\n if (isURLInstance(filename) ||\n (typeof filename === 'string' && !path.isAbsolute(filename))) {\n try {\n filepath = fileURLToPath(filename);\n } catch {\n throw new ERR_INVALID_ARG_VALUE('filename'\x2C filename\x2C\n createRequireError);\n }\n } else if (typeof filename !== 'string') {\n throw new ERR_INVALID_ARG_VALUE('filename'\x2C filename\x2C createRequireError);\n } else {\n filepath = filename;\n }\n return createRequireFromPath(filepath);\n}\n\nModule.createRequire = createRequire;\n\nModule._initPaths = function() {\n const homeDir = isWindows ? process.env.USERPROFILE : safeGetenv('HOME');\n const nodePath = isWindows ? process.env.NODE_PATH : safeGetenv('NODE_PATH');\n\n // process.execPath is $PREFIX/bin/node except on Windows where it is\n // $PREFIX\\node.exe where $PREFIX is the root of the Node.js installation.\n const prefixDir = isWindows ?\n path.resolve(process.execPath\x2C '..') :\n path.resolve(process.execPath\x2C '..'\x2C '..');\n\n const paths = [path.resolve(prefixDir\x2C 'lib'\x2C 'node')];\n\n if (homeDir) {\n ArrayPrototypeUnshift(paths\x2C path.resolve(homeDir\x2C '.node_libraries'));\n ArrayPrototypeUnshift(paths\x2C path.resolve(homeDir\x2C '.node_modules'));\n }\n\n if (nodePath) {\n ArrayPrototypeUnshiftApply(paths\x2C ArrayPrototypeFilter(\n StringPrototypeSplit(nodePath\x2C path.delimiter)\x2C\n Boolean\n ));\n }\n\n modulePaths = paths;\n\n // Clone as a shallow copy\x2C for introspection.\n Module.globalPaths = ArrayPrototypeSlice(modulePaths);\n};\n\nModule._preloadModules = function(requests) {\n if (!ArrayIsArray(requests))\n return;\n\n isPreloading = true;\n\n // Preloaded modules have a dummy parent module which is deemed to exist\n // in the current working directory. This seeds the search path for\n // preloaded modules.\n const parent = new Module('internal/preload'\x2C null);\n try {\n parent.paths = Module._nodeModulePaths(process.cwd());\n } catch (e) {\n if (e.code !== 'ENOENT') {\n isPreloading = false;\n throw e;\n }\n }\n for (let n = 0; n < requests.length; n++)\n parent.require(requests[n]);\n isPreloading = false;\n};\n\nModule.syncBuiltinESMExports = function syncBuiltinESMExports() {\n for (const mod of NativeModule.map.values()) {\n if (mod.canBeRequiredByUsers) {\n mod.syncExports();\n }\n }\n};\n\n// Backwards compatibility\nModule.Module = Module;\n | |
code-source-info,0xaef925dfb36,99,0,40182,C0O0C4O40182,, | |
code-creation,Function,10,16172,0xaef925e18d6,2547, node:internal/modules/cjs/loader:1:1,0xaef925dfab0,~ | |
code-source-info,0xaef925e18d6,99,0,40182,C0O0C446O1159C452O1175C458O1199C464O1223C470O1249C476O1274C482O1296C488O1318C494O1341C500O1365C506O1390C512O1420C518O1431C524O1440C530O1453C535O1469C541O1493C546O1509C552O1543C558O1567C564O1581C570O1600C576O1633C582O1657C587O1666C593O1682C599O1696C605O1719C611O1742C617O1753C622O1768C628O1778C634O1803C640O1832C646O1859C652O1889C658O1915C664O1939C670O1964C676O1988C682O2012C688O2118C690O2118C695O2118C697O2191C709O2212C715O2222C721O2230C727O2242C733O2260C763O2206C767O2376C771O2376C777O2359C783O2450C787O2450C793O2425C799O2555C803O2555C809O2507C815O2522C821O2537C827O2602C831O2602C837O2588C842O2639C846O2639C850O2639C852O2669C856O2669C860O2669C862O2708C866O2708C870O2708C872O2742C876O2742C880O2742C882O2785C886O2785C890O2785C892O2818C896O2810C902O2855C910O2855C916O2832C922O2904C926O2904C930O2904C932O2976C940O2976C946O2961C952O3132C956O3132C962O3018C968O3035C974O3051C980O3071C986O3094C992O3118C998O3200C1002O3200C1008O3181C1014O3254C1022O3254C1026O3254C1028O3322C1036O3322C1040O3322C1042O3432C1050O3432C1060O3476C1067O3432C1069O3656C1070O3656C1072O3825C1076O3825C1082O3825C1088O3687C1094O3714C1100O3748C1106O3769C1112O3804C1118O3880C1122O3880C1128O3861C1134O3939C1142O3939C1147O4051C1151O4051C1157O3991C1163O4013C1169O4036C1175O4105C1179O4105C1185O4093C1191O4155C1195O4155C1199O4155C1201O4222C1205O4222C1211O4203C1217O4290C1225O4290C1231O4275C1237O4402C1241O4402C1247O4332C1253O4351C1259O4376C1265O4462C1269O4470C1277O4479C1280O4462C1282O4522C1285O4522C1289O4522C1291O4562C1292O4562C1294O4581C1295O4581C1297O4606C1298O4606C1300O5250C1302O5250C1307O5250C1309O5546C1312O5595C1316O5595C1350O5577C1381O5566C1388O5573C1397O5612C1403O5640C1407O5640C1412O5550C1483O5687C1487O5717C1493O5739C1497O5758C1504O5774C1508O5772C1512O5794C1519O5814C1527O5812C1535O5834C1542O5855C1550O5853C1558O5893C1562O5893C1564O5897C1572O5916C1580O5937C1581O5937C1583O5995C1587O5995C1589O6091C1597O6205C1606O6218C1618O6345C1635O6195C1645O6195C1647O6484C1659O6505C1668O6525C1680O6558C1692O6484C1702O6618C1714O6639C1723O6662C1735O6703C1747O6618C1757O6796C1766O6798C1781O6832C1789O6860C1806O6832C1816O6906C1824O6940C1841O6906C1851O7132C1859O7160C1884O7190C1892O7313C1907O7211C1921O7394C1931O7418C1939O7541C1954O7439C1968O7622C1976O7132C1986O7656C1990O7656C2000O7689C2020O7690C2032O7656C2034O7737C2050O7753C2060O7751C2068O8066C2072O8066C2082O8066C2084O10869C2088O10869C2098O10869C2100O13498C2107O13498C2109O14282C2116O14282C2118O14300C2126O14317C2134O16993C2141O16993C2143O17070C2147O17078C2155O17070C2157O17086C2161O17149C2169O17173C2179O18757C2187O18781C2195O19927C2203O19954C2211O21502C2223O21520C2235O21897C2249O21502C2259O21502C2261O23185C2269O23198C2277O26129C2285O26153C2293O30233C2297O30240C2311O30255C2319O31169C2323O31176C2337O31194C2345O31632C2346O31632C2348O31667C2349O31667C2351O32724C2355O32731C2369O32750C2377O34632C2381O34639C2395O34658C2403O36402C2407O36409C2421O36430C2429O36830C2433O36837C2447O36858C2455O37671C2461O37721C2467O37671C2469O38305C2475O38326C2483O38344C2491O38362C2499O39331C2507O39354C2515O39941C2523O39970C2531O40158C2537O40172C2546O40181,, | |
tick,0x7fdcebfa66bb,16208,1,0xb53440,3,0xd4bba0,0x173f9a17ce14,0x173f9a17c105,0xaef925ddb84,0xaef925c246a,0x173f9a17be8d | |
code-creation,Eval,10,16350,0xaef925e5946,5, node:internal/modules/package_json_reader:1:1,0xaef925e57a0,~ | |
script-source,100,node:internal/modules/package_json_reader,'use strict';\n\nconst { SafeMap } = primordials;\nconst { internalModuleReadJSON } = internalBinding('fs');\nconst { pathToFileURL } = require('url');\nconst { toNamespacedPath } = require('path');\n\nconst cache = new SafeMap();\n\nlet manifest;\n\n/**\n *\n * @param {string} jsonPath\n */\nfunction read(jsonPath) {\n if (cache.has(jsonPath)) {\n return cache.get(jsonPath);\n }\n\n const { 0: string\x2C 1: containsKeys } = internalModuleReadJSON(\n toNamespacedPath(jsonPath)\n );\n const result = { string\x2C containsKeys };\n const { getOptionValue } = require('internal/options');\n if (string !== undefined) {\n if (manifest === undefined) {\n manifest = getOptionValue('--experimental-policy') ?\n require('internal/process/policy').manifest :\n null;\n }\n if (manifest !== null) {\n const jsonURL = pathToFileURL(jsonPath);\n manifest.assertIntegrity(jsonURL\x2C string);\n }\n }\n cache.set(jsonPath\x2C result);\n return result;\n}\n\nmodule.exports = { read };\n | |
code-source-info,0xaef925e5946,100,0,983,C0O0C4O983,, | |
code-creation,Function,10,16381,0xaef925e5a96,113, node:internal/modules/package_json_reader:1:1,0xaef925e58c0,~ | |
code-source-info,0xaef925e5a96,100,0,983,C0O0C29O23C34O83C37O83C42O56C48O132C54O132C59O114C65O177C71O177C76O156C82O209C84O209C89O209C91O229C92O229C94O956C101O975C107O971C112O982,, | |
code-creation,Eval,10,16470,0xaef925e6266,5, node:internal/process/esm_loader:1:1,0xaef925e6070,~ | |
script-source,101,node:internal/process/esm_loader,'use strict';\n\nconst {\n ObjectCreate\x2C\n} = primordials;\n\nconst {\n ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING\x2C\n} = require('internal/errors').codes;\nconst { ESMLoader } = require('internal/modules/esm/loader');\nconst {\n hasUncaughtExceptionCaptureCallback\x2C\n} = require('internal/process/execution');\nconst { pathToFileURL } = require('internal/url');\nconst {\n getModuleFromWrap\x2C\n} = require('internal/vm/module');\n\nexports.initializeImportMetaObject = function(wrap\x2C meta) {\n const { callbackMap } = internalBinding('module_wrap');\n if (callbackMap.has(wrap)) {\n const { initializeImportMeta } = callbackMap.get(wrap);\n if (initializeImportMeta !== undefined) {\n initializeImportMeta(meta\x2C getModuleFromWrap(wrap) || wrap);\n }\n }\n};\n\nexports.importModuleDynamicallyCallback =\nasync function importModuleDynamicallyCallback(wrap\x2C specifier\x2C assertions) {\n const { callbackMap } = internalBinding('module_wrap');\n if (callbackMap.has(wrap)) {\n const { importModuleDynamically } = callbackMap.get(wrap);\n if (importModuleDynamically !== undefined) {\n return importModuleDynamically(\n specifier\x2C getModuleFromWrap(wrap) || wrap\x2C assertions);\n }\n }\n throw new ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING();\n};\n\nconst esmLoader = new ESMLoader();\n\nexports.esmLoader = esmLoader;\n\n/**\n * Causes side-effects: user-defined loader hooks are added to esmLoader.\n * @returns {void}\n */\nasync function initializeLoader() {\n const { getOptionValue } = require('internal/options');\n // customLoaders CURRENTLY can be only 1 (a string)\n // Once chaining is implemented\x2C it will be string[]\n const customLoaders = getOptionValue('--experimental-loader');\n\n if (!customLoaders.length) return;\n\n const { emitExperimentalWarning } = require('internal/util');\n emitExperimentalWarning('--experimental-loader');\n\n let cwd;\n try {\n cwd = process.cwd() + '/';\n } catch {\n cwd = 'file:///';\n }\n\n // A separate loader instance is necessary to avoid cross-contamination\n // between internal Node.js and userland. For example\x2C a module with internal\n // state (such as a counter) should be independent.\n const internalEsmLoader = new ESMLoader();\n\n // Importation must be handled by internal loader to avoid poluting userland\n const exports = await internalEsmLoader.import(\n customLoaders\x2C\n pathToFileURL(cwd).href\x2C\n ObjectCreate(null)\x2C\n );\n\n // Hooks must then be added to external/public loader\n // (so they're triggered in userland)\n await esmLoader.addCustomLoaders(exports);\n}\n\nexports.loadESM = async function loadESM(callback) {\n try {\n await initializeLoader();\n await callback(esmLoader);\n } catch (err) {\n if (hasUncaughtExceptionCaptureCallback()) {\n process._fatalException(err);\n return;\n }\n internalBinding('errors').triggerUncaughtException(\n err\x2C\n true /* fromPromise */\n );\n }\n};\n | |
code-source-info,0xaef925e6266,101,0,2883,C0O0C4O2883,, | |
code-creation,Function,10,16532,0xaef925e6506,182, node:internal/process/esm_loader:1:1,0xaef925e61e0,~ | |
code-source-info,0xaef925e6506,101,0,2883,C0O0C44O25C50O111C56O111C61O137C66O67C72O167C78O167C83O153C89O258C95O258C100O217C106O323C112O323C117O305C123O381C129O381C134O358C140O413C144O448C148O749C152O789C156O1259C159O1259C164O1259C166O1277C168O1295C172O2528C176O2544C181O2882,, | |
code-creation,Eval,10,16712,0xaef925e756e,5, node:internal/modules/esm/loader:1:1,0xaef925e7170,~ | |
script-source,102,node:internal/modules/esm/loader,'use strict';\n\n// This is needed to avoid cycles in esm/resolve <-> cjs/loader\nrequire('internal/modules/cjs/loader');\n\nconst {\n Array\x2C\n ArrayIsArray\x2C\n ArrayPrototypeJoin\x2C\n ArrayPrototypePush\x2C\n FunctionPrototypeBind\x2C\n FunctionPrototypeCall\x2C\n ObjectCreate\x2C\n ObjectSetPrototypeOf\x2C\n PromiseAll\x2C\n RegExpPrototypeExec\x2C\n SafeArrayIterator\x2C\n SafeWeakMap\x2C\n globalThis\x2C\n} = primordials;\n\nconst {\n ERR_INVALID_ARG_TYPE\x2C\n ERR_INVALID_ARG_VALUE\x2C\n ERR_INVALID_MODULE_SPECIFIER\x2C\n ERR_INVALID_RETURN_PROPERTY_VALUE\x2C\n ERR_INVALID_RETURN_VALUE\x2C\n ERR_UNKNOWN_MODULE_FORMAT\n} = require('internal/errors').codes;\nconst { pathToFileURL\x2C isURLInstance } = require('internal/url');\nconst {\n isAnyArrayBuffer\x2C\n isArrayBufferView\x2C\n} = require('internal/util/types');\nconst ModuleMap = require('internal/modules/esm/module_map');\nconst ModuleJob = require('internal/modules/esm/module_job');\n\nconst {\n defaultResolve\x2C\n DEFAULT_CONDITIONS\x2C\n} = require('internal/modules/esm/resolve');\nconst { defaultLoad } = require('internal/modules/esm/load');\nconst { translators } = require(\n 'internal/modules/esm/translators');\nconst { getOptionValue } = require('internal/options');\n\n/**\n * An ESMLoader instance is used as the main entry point for loading ES modules.\n * Currently\x2C this is a singleton -- there is only one used for loading\n * the main module and everything in its dependency graph.\n */\nclass ESMLoader {\n /**\n * Prior to ESM loading. These are called once before any modules are started.\n * @private\n * @property {function[]} globalPreloaders First-in-first-out list of\n * preload hooks.\n */\n #globalPreloaders = [];\n\n /**\n * Phase 2 of 2 in ESM loading.\n * @private\n * @property {function[]} loaders First-in-first-out list of loader hooks.\n */\n #loaders = [\n defaultLoad\x2C\n ];\n\n /**\n * Phase 1 of 2 in ESM loading.\n * @private\n * @property {function[]} resolvers First-in-first-out list of resolver hooks\n */\n #resolvers = [\n defaultResolve\x2C\n ];\n\n /**\n * Map of already-loaded CJS modules to use\n */\n cjsCache = new SafeWeakMap();\n\n /**\n * The index for assigning unique URLs to anonymous module evaluation\n */\n evalIndex = 0;\n\n /**\n * Registry of loaded modules\x2C akin to `require.cache`\n */\n moduleMap = new ModuleMap();\n\n /**\n * Methods which translate input code or other information into ES modules\n */\n translators = translators;\n\n static pluckHooks({\n globalPreload\x2C\n resolve\x2C\n load\x2C\n // obsolete hooks:\n dynamicInstantiate\x2C\n getFormat\x2C\n getGlobalPreloadCode\x2C\n getSource\x2C\n transformSource\x2C\n }) {\n const obsoleteHooks = [];\n const acceptedHooks = ObjectCreate(null);\n\n if (getGlobalPreloadCode) {\n globalPreload ??= getGlobalPreloadCode;\n\n process.emitWarning(\n 'Loader hook "getGlobalPreloadCode" has been renamed to "globalPreload"'\n );\n }\n if (dynamicInstantiate) ArrayPrototypePush(\n obsoleteHooks\x2C\n 'dynamicInstantiate'\n );\n if (getFormat) ArrayPrototypePush(\n obsoleteHooks\x2C\n 'getFormat'\x2C\n );\n if (getSource) ArrayPrototypePush(\n obsoleteHooks\x2C\n 'getSource'\x2C\n );\n if (transformSource) ArrayPrototypePush(\n obsoleteHooks\x2C\n 'transformSource'\x2C\n );\n\n if (obsoleteHooks.length) process.emitWarning(\n `Obsolete loader hook(s) supplied and will be ignored: ${\n ArrayPrototypeJoin(obsoleteHooks\x2C '\x2C ')\n }`\x2C\n 'DeprecationWarning'\x2C\n );\n\n // Use .bind() to avoid giving access to the Loader instance when called.\n if (globalPreload) {\n acceptedHooks.globalPreloader =\n FunctionPrototypeBind(globalPreload\x2C null);\n }\n if (resolve) {\n acceptedHooks.resolver = FunctionPrototypeBind(resolve\x2C null);\n }\n if (load) {\n acceptedHooks.loader = FunctionPrototypeBind(load\x2C null);\n }\n\n return acceptedHooks;\n }\n\n /**\n * Collect custom/user-defined hook(s). After all hooks have been collected\x2C\n * calls global preload hook(s).\n * @param {object | object[]} customLoaders A list of exports from\n * user-defined loaders (as returned by ESMLoader.import()).\n */\n async addCustomLoaders(\n customLoaders = []\x2C\n ) {\n if (!ArrayIsArray(customLoaders)) customLoaders = [customLoaders];\n\n for (let i = 0; i < customLoaders.length; i++) {\n const exports = customLoaders[i];\n const {\n globalPreloader\x2C\n resolver\x2C\n loader\x2C\n } = ESMLoader.pluckHooks(exports);\n\n if (globalPreloader) ArrayPrototypePush(\n this.#globalPreloaders\x2C\n FunctionPrototypeBind(globalPreloader\x2C null)\x2C // [1]\n );\n if (resolver) ArrayPrototypePush(\n this.#resolvers\x2C\n FunctionPrototypeBind(resolver\x2C null)\x2C // [1]\n );\n if (loader) ArrayPrototypePush(\n this.#loaders\x2C\n FunctionPrototypeBind(loader\x2C null)\x2C // [1]\n );\n }\n\n // [1] ensure hook function is not bound to ESMLoader instance\n\n this.preload();\n }\n\n async eval(\n source\x2C\n url = pathToFileURL(`${process.cwd()}/[eval${++this.evalIndex}]`).href\n ) {\n const evalInstance = (url) => {\n const { ModuleWrap\x2C callbackMap } = internalBinding('module_wrap');\n const module = new ModuleWrap(url\x2C undefined\x2C source\x2C 0\x2C 0);\n callbackMap.set(module\x2C {\n importModuleDynamically: (specifier\x2C { url }) => {\n return this.import(specifier\x2C url);\n }\n });\n\n return module;\n };\n const job = new ModuleJob(this\x2C url\x2C evalInstance\x2C false\x2C false);\n this.moduleMap.set(url\x2C job);\n const { module } = await job.run();\n\n return {\n namespace: module.getNamespace()\x2C\n };\n }\n\n async getModuleJob(specifier\x2C parentURL) {\n const { format\x2C url } = await this.resolve(specifier\x2C parentURL);\n let job = this.moduleMap.get(url);\n // CommonJS will set functions for lazy job evaluation.\n if (typeof job === 'function') this.moduleMap.set(url\x2C job = job());\n\n if (job !== undefined) return job;\n\n const moduleProvider = async (url\x2C isMain) => {\n const { format: finalFormat\x2C source } = await this.load(url\x2C { format });\n\n const translator = translators.get(finalFormat);\n\n if (!translator) throw new ERR_UNKNOWN_MODULE_FORMAT(finalFormat);\n\n return FunctionPrototypeCall(translator\x2C this\x2C url\x2C source\x2C isMain);\n };\n\n const inspectBrk = (\n parentURL === undefined &&\n getOptionValue('--inspect-brk')\n );\n\n job = new ModuleJob(\n this\x2C\n url\x2C\n moduleProvider\x2C\n parentURL === undefined\x2C\n inspectBrk\n );\n\n this.moduleMap.set(url\x2C job);\n\n return job;\n }\n\n /**\n * This method is usually called indirectly as part of the loading processes.\n * Internally\x2C it is used directly to add loaders. Use directly with caution.\n *\n * This method must NOT be renamed: it functions as a dynamic import on a\n * loader module.\n *\n * @param {string | string[]} specifiers Path(s) to the module\n * @param {string} [parentURL] Path of the parent importing the module\n * @returns {object | object[]} A list of module export(s)\n */\n async import(specifiers\x2C parentURL) {\n const wasArr = ArrayIsArray(specifiers);\n if (!wasArr) specifiers = [specifiers];\n\n const count = specifiers.length;\n const jobs = new Array(count);\n\n for (let i = 0; i < count; i++) {\n jobs[i] = this.getModuleJob(specifiers[i]\x2C parentURL)\n .then((job) => job.run())\n .then(({ module }) => module.getNamespace());\n }\n\n const namespaces = await PromiseAll(new SafeArrayIterator(jobs));\n\n return wasArr ?\n namespaces :\n namespaces[0];\n }\n\n /**\n * Provide source that is understood by one of Node's translators.\n *\n * The internals of this WILL change when chaining is implemented\x2C\n * depending on the resolution/consensus from #36954\n * @param {string} url The URL/path of the module to be loaded\n * @param {Object} context Metadata about the module\n * @returns {Object}\n */\n async load(url\x2C context = {}) {\n const defaultLoader = this.#loaders[0];\n\n const loader = this.#loaders.length === 1 ?\n defaultLoader :\n this.#loaders[1];\n const loaded = await loader(url\x2C context\x2C defaultLoader);\n\n if (typeof loaded !== 'object') {\n throw new ERR_INVALID_RETURN_VALUE(\n 'object'\x2C\n 'loader load'\x2C\n loaded\x2C\n );\n }\n\n const {\n format\x2C\n source\x2C\n } = loaded;\n\n if (format == null) {\n const dataUrl = RegExpPrototypeExec(\n /^data:([^/]+\\/[^;\x2C]+)(?:[^\x2C]*?)(;base64)?\x2C/\x2C\n url\x2C\n );\n\n throw new ERR_INVALID_MODULE_SPECIFIER(\n url\x2C\n dataUrl ? `has an unsupported MIME type "${dataUrl[1]}"` : ''\n );\n }\n\n if (typeof format !== 'string') {\n throw new ERR_INVALID_RETURN_PROPERTY_VALUE(\n 'string'\x2C\n 'loader resolve'\x2C\n 'format'\x2C\n format\x2C\n );\n }\n\n if (\n source != null &&\n typeof source !== 'string' &&\n !isAnyArrayBuffer(source) &&\n !isArrayBufferView(source)\n ) throw ERR_INVALID_RETURN_PROPERTY_VALUE(\n 'string\x2C an ArrayBuffer\x2C or a TypedArray'\x2C\n 'loader load'\x2C\n 'source'\x2C\n source\n );\n\n return {\n format\x2C\n source\x2C\n };\n }\n\n preload() {\n const count = this.#globalPreloaders.length;\n if (!count) return;\n\n for (let i = 0; i < count; i++) {\n const preload = this.#globalPreloaders[i]();\n\n if (preload == null) return;\n\n if (typeof preload !== 'string') {\n throw new ERR_INVALID_RETURN_VALUE(\n 'string'\x2C\n 'loader globalPreloadCode'\x2C\n preload\x2C\n );\n }\n const { compileFunction } = require('vm');\n const preloadInit = compileFunction(\n preload\x2C\n ['getBuiltin']\x2C\n {\n filename: '<preload>'\x2C\n }\n );\n const { NativeModule } = require('internal/bootstrap/loaders');\n\n FunctionPrototypeCall(preloadInit\x2C globalThis\x2C (builtinName) => {\n if (NativeModule.canBeRequiredByUsers(builtinName)) {\n return require(builtinName);\n }\n throw new ERR_INVALID_ARG_VALUE('builtinName'\x2C builtinName);\n });\n }\n }\n\n /**\n * Resolve the location of the module.\n *\n * The internals of this WILL change when chaining is implemented\x2C\n * depending on the resolution/consensus from #36954\n * @param {string} originalSpecifier The specified URL path of the module to\n * be resolved\n * @param {String} parentURL The URL path of the module's parent\n * @returns {{ url: String }}\n */\n async resolve(originalSpecifier\x2C parentURL) {\n const isMain = parentURL === undefined;\n\n if (\n !isMain &&\n typeof parentURL !== 'string' &&\n !isURLInstance(parentURL)\n ) throw new ERR_INVALID_ARG_TYPE(\n 'parentURL'\x2C\n ['string'\x2C 'URL']\x2C\n parentURL\x2C\n );\n\n const conditions = DEFAULT_CONDITIONS;\n\n const defaultResolver = this.#resolvers[0];\n\n const resolver = this.#resolvers.length === 1 ?\n defaultResolver :\n this.#resolvers[1];\n const resolution = await resolver(\n originalSpecifier\x2C\n {\n conditions\x2C\n parentURL\x2C\n }\x2C\n defaultResolver\x2C\n );\n\n if (typeof resolution !== 'object') {\n throw new ERR_INVALID_RETURN_VALUE(\n 'object'\x2C\n 'loader resolve'\x2C\n resolution\x2C\n );\n }\n\n const { format\x2C url } = resolution;\n\n if (\n format != null &&\n typeof format !== 'string'\n ) {\n throw new ERR_INVALID_RETURN_PROPERTY_VALUE(\n 'string'\x2C\n 'loader resolve'\x2C\n 'format'\x2C\n format\x2C\n );\n }\n if (typeof url !== 'string') {\n throw new ERR_INVALID_RETURN_PROPERTY_VALUE(\n 'string'\x2C\n 'loader resolve'\x2C\n 'url'\x2C\n url\x2C\n );\n }\n\n return {\n format\x2C\n url\x2C\n };\n }\n}\n\nObjectSetPrototypeOf(ESMLoader.prototype\x2C null);\n\nexports.ESMLoader = ESMLoader;\n | |
code-source-info,0xaef925e756e,102,0,11918,C0O0C4O11918,, | |
code-creation,Function,10,16936,0xaef925e7cb6,530, node:internal/modules/esm/loader:1:1,0xaef925e74e8,~ | |
code-source-info,0xaef925e7cb6,102,0,11918,C0O0C104O79C110O79C114O130C120O139C126O155C132O177C138O199C144O224C150O249C156O265C161O289C167O303C173O326C179O347C185O362C191O578C197O578C202O604C207O402C213O426C219O451C225O483C231O520C237O548C243O653C249O653C254O620C260O635C266O731C272O731C277O688C283O708C289O781C295O781C299O781C301O843C307O843C311O843C313O940C319O940C324O898C330O916C336O1005C342O1005C347O989C353O1067C359O1067C364O1051C370O1142C376O1142C381O1123C510O11868C517O11837C522O11887C524O11905C529O11917,, | |
code-creation,Function,10,16946,0xaef925e80ae,139,<instance_members_initializer> node:internal/modules/esm/loader:59:3,0xaef925e7870,~ | |
code-source-info,0xaef925e80ae,102,1611,2404,C3O1631C17O1786C28O1792C45O1966C56O1972C73O2065C80O2065C94O2183C104O2270C111O2270C125O2393C138O2404,, | |
code-creation,Eval,10,17026,0xaef925e9476,5, node:internal/modules/esm/module_map:1:1,0xaef925e92a8,~ | |
script-source,103,node:internal/modules/esm/module_map,'use strict';\n\nconst ModuleJob = require('internal/modules/esm/module_job');\nconst {\n SafeMap\x2C\n} = primordials;\nlet debug = require('internal/util/debuglog').debuglog('esm'\x2C (fn) => {\n debug = fn;\n});\nconst { ERR_INVALID_ARG_TYPE } = require('internal/errors').codes;\nconst { validateString } = require('internal/validators');\n\n// Tracks the state of the loader-level module cache\nclass ModuleMap extends SafeMap {\n constructor(i) { super(i); } // eslint-disable-line no-useless-constructor\n get(url) {\n validateString(url\x2C 'url');\n return super.get(url);\n }\n set(url\x2C job) {\n validateString(url\x2C 'url');\n if (job instanceof ModuleJob !== true &&\n typeof job !== 'function') {\n throw new ERR_INVALID_ARG_TYPE('job'\x2C 'ModuleJob'\x2C job);\n }\n debug(`Storing ${url} in ModuleMap`);\n return super.set(url\x2C job);\n }\n has(url) {\n validateString(url\x2C 'url');\n return super.has(url);\n }\n}\nmodule.exports = ModuleMap;\n | |
code-source-info,0xaef925e9476,103,0,955,C0O0C4O955,, | |
code-creation,Function,10,17054,0xaef925e9896,149, node:internal/modules/esm/module_map:1:1,0xaef925e93f0,~ | |
code-source-info,0xaef925e9896,103,0,955,C0O0C17O33C20O33C24O33C26O87C31O125C34O125C39O158C52O159C58O125C60O236C63O236C68O262C73O211C79O297C82O297C87O278C97O407C141O927C143O942C148O954,, | |
code-creation,Eval,10,17178,0xaef925ea2be,5, node:internal/modules/esm/module_job:1:1,0xaef925e9fd8,~ | |
script-source,104,node:internal/modules/esm/module_job,'use strict';\n\nconst {\n ArrayPrototypeJoin\x2C\n ArrayPrototypeMap\x2C\n ArrayPrototypePush\x2C\n ArrayPrototypeSome\x2C\n FunctionPrototype\x2C\n ObjectSetPrototypeOf\x2C\n PromiseAll\x2C\n PromiseResolve\x2C\n PromisePrototypeCatch\x2C\n ReflectApply\x2C\n RegExpPrototypeTest\x2C\n SafeArrayIterator\x2C\n SafeSet\x2C\n StringPrototypeIncludes\x2C\n StringPrototypeMatch\x2C\n StringPrototypeReplace\x2C\n StringPrototypeSplit\x2C\n StringPrototypeStartsWith\x2C\n} = primordials;\n\nconst { ModuleWrap } = internalBinding('module_wrap');\n\nconst { decorateErrorStack } = require('internal/util');\nconst {\n getSourceMapsEnabled\x2C\n} = require('internal/source_map/source_map_cache');\nconst assert = require('internal/assert');\nconst resolvedPromise = PromiseResolve();\n\nconst noop = FunctionPrototype;\n\nlet hasPausedEntry = false;\n\nconst CJSGlobalLike = [\n 'require'\x2C\n 'module'\x2C\n 'exports'\x2C\n '__filename'\x2C\n '__dirname'\x2C\n];\nconst isCommonJSGlobalLikeNotDefinedError = (errorMessage) =>\n ArrayPrototypeSome(\n CJSGlobalLike\x2C\n (globalLike) => errorMessage === `${globalLike} is not defined`\n );\n\n/* A ModuleJob tracks the loading of a single Module\x2C and the ModuleJobs of\n * its dependencies\x2C over time. */\nclass ModuleJob {\n // `loader` is the Loader instance used for loading dependencies.\n // `moduleProvider` is a function\n constructor(loader\x2C url\x2C moduleProvider\x2C isMain\x2C inspectBrk) {\n this.loader = loader;\n this.isMain = isMain;\n this.inspectBrk = inspectBrk;\n\n this.module = undefined;\n // Expose the promise to the ModuleWrap directly for linking below.\n // `this.module` is also filled in below.\n this.modulePromise = ReflectApply(moduleProvider\x2C loader\x2C [url\x2C isMain]);\n\n // Wait for the ModuleWrap instance being linked with all dependencies.\n const link = async () => {\n this.module = await this.modulePromise;\n assert(this.module instanceof ModuleWrap);\n\n // Explicitly keeping track of dependency jobs is needed in order\n // to flatten out the dependency graph below in `_instantiate()`\x2C\n // so that circular dependencies can't cause a deadlock by two of\n // these `link` callbacks depending on each other.\n const dependencyJobs = [];\n const promises = this.module.link(async (specifier) => {\n const jobPromise = this.loader.getModuleJob(specifier\x2C url);\n ArrayPrototypePush(dependencyJobs\x2C jobPromise);\n const job = await jobPromise;\n return job.modulePromise;\n });\n\n if (promises !== undefined)\n await PromiseAll(new SafeArrayIterator(promises));\n\n return PromiseAll(new SafeArrayIterator(dependencyJobs));\n };\n // Promise for the list of all dependencyJobs.\n this.linked = link();\n // This promise is awaited later anyway\x2C so silence\n // 'unhandled rejection' warnings.\n PromisePrototypeCatch(this.linked\x2C noop);\n\n // instantiated == deep dependency jobs wrappers are instantiated\x2C\n // and module wrapper is instantiated.\n this.instantiated = undefined;\n }\n\n instantiate() {\n if (this.instantiated === undefined) {\n this.instantiated = this._instantiate();\n }\n return this.instantiated;\n }\n\n async _instantiate() {\n const jobsInGraph = new SafeSet();\n const addJobsToDependencyGraph = async (moduleJob) => {\n if (jobsInGraph.has(moduleJob)) {\n return;\n }\n jobsInGraph.add(moduleJob);\n const dependencyJobs = await moduleJob.linked;\n return PromiseAll(new SafeArrayIterator(\n ArrayPrototypeMap(dependencyJobs\x2C addJobsToDependencyGraph)));\n };\n await addJobsToDependencyGraph(this);\n\n try {\n if (!hasPausedEntry && this.inspectBrk) {\n hasPausedEntry = true;\n const initWrapper = internalBinding('inspector').callAndPauseOnStart;\n initWrapper(this.module.instantiate\x2C this.module);\n } else {\n this.module.instantiate();\n }\n } catch (e) {\n decorateErrorStack(e);\n // TODO(@bcoe): Add source map support to exception that occurs as result\n // of missing named export. This is currently not possible because\n // stack trace originates in module_job\x2C not the file itself. A hidden\n // symbol with filename could be set in node_errors.cc to facilitate this.\n if (!getSourceMapsEnabled() &&\n StringPrototypeIncludes(e.message\x2C\n ' does not provide an export named')) {\n const splitStack = StringPrototypeSplit(e.stack\x2C '\\n');\n const parentFileUrl = StringPrototypeReplace(\n splitStack[0]\x2C\n /:\\d+$/\x2C\n ''\n );\n const { 1: childSpecifier\x2C 2: name } = StringPrototypeMatch(\n e.message\x2C\n /module '(.*)' does not provide an export named '(.+)'/);\n const { url: childFileURL } = await this.loader.resolve(\n childSpecifier\x2C parentFileUrl\x2C\n );\n const { format } = await this.loader.load(childFileURL);\n\n if (format === 'commonjs') {\n const importStatement = splitStack[1];\n // TODO(@ctavan): The original error stack only provides the single\n // line which causes the error. For multi-line import statements we\n // cannot generate an equivalent object destructuring assignment by\n // just parsing the error stack.\n const oneLineNamedImports = StringPrototypeMatch(importStatement\x2C /{.*}/);\n const destructuringAssignment = oneLineNamedImports &&\n StringPrototypeReplace(oneLineNamedImports\x2C /\\s+as\\s+/g\x2C ': ');\n e.message = `Named export '${name}' not found. The requested module` +\n ` '${childSpecifier}' is a CommonJS module\x2C which may not support` +\n ' all module.exports as named exports.\\nCommonJS modules can ' +\n 'always be imported via the default export\x2C for example using:' +\n `\\n\\nimport pkg from '${childSpecifier}';\\n${\n destructuringAssignment ?\n `const ${destructuringAssignment} = pkg;\\n` : ''}`;\n const newStack = StringPrototypeSplit(e.stack\x2C '\\n');\n newStack[3] = `SyntaxError: ${e.message}`;\n e.stack = ArrayPrototypeJoin(newStack\x2C '\\n');\n }\n }\n throw e;\n }\n\n for (const dependencyJob of jobsInGraph) {\n // Calling `this.module.instantiate()` instantiates not only the\n // ModuleWrap in this module\x2C but all modules in the graph.\n dependencyJob.instantiated = resolvedPromise;\n }\n }\n\n async run() {\n await this.instantiate();\n const timeout = -1;\n const breakOnSigint = false;\n try {\n await this.module.evaluate(timeout\x2C breakOnSigint);\n } catch (e) {\n if (e?.name === 'ReferenceError' &&\n isCommonJSGlobalLikeNotDefinedError(e.message)) {\n e.message += ' in ES module scope';\n\n if (StringPrototypeStartsWith(e.message\x2C 'require ')) {\n e.message += '\x2C you can use import instead';\n }\n\n const packageConfig =\n StringPrototypeStartsWith(this.module.url\x2C 'file://') &&\n RegExpPrototypeTest(/\\.js(\\?[^#]*)?(#.*)?$/\x2C this.module.url) &&\n require('internal/modules/esm/resolve')\n .getPackageScopeConfig(this.module.url);\n if (packageConfig.type === 'module') {\n e.message +=\n '\\nThis file is being treated as an ES module because it has a ' +\n `'.js' file extension and '${packageConfig.pjsonPath}' contains ` +\n '"type": "module". To treat it as a CommonJS script\x2C rename it ' +\n 'to use the \\'.cjs\\' file extension.';\n }\n }\n throw e;\n }\n return { module: this.module };\n }\n}\nObjectSetPrototypeOf(ModuleJob.prototype\x2C null);\nmodule.exports = ModuleJob;\n | |
code-source-info,0xaef925ea2be,104,0,7692,C0O0C4O7692,, | |
code-creation,Function,10,17326,0xaef925ea7ae,334, node:internal/modules/esm/module_job:1:1,0xaef925ea238,~ | |
code-source-info,0xaef925ea7ae,104,0,7692,C0O0C85O25C91O47C97O68C103O90C109O112C114O133C119O157C125O171C130O189C136O214C142O230C148O253C154O274C160O285C166O312C172O336C178O362C184O386C190O454C196O454C201O439C207O518C213O518C218O495C224O580C230O580C235O554C241O644C247O644C251O644C253O696C256O696C258O728C260O728C262O769C263O769C265O799C269O799C271O917C275O917C314O7646C321O7615C326O7664C328O7679C333O7691,, | |
tick,0x7fdcec374f01,17337,1,0xb53440,3,0xd4bba0,0x173f9a17ce14,0x173f9a17c105,0xaef925e98aa,0x173f9a17ce35,0x173f9a17c105,0xaef925e7ddd,0x173f9a17ce35,0x173f9a17c105,0xaef925e6554,0x173f9a17ce35,0x173f9a17c105,0xaef925e1d81,0x173f9a17ce35,0x173f9a17c105,0xaef925ddb84,0xaef925c246a,0x173f9a17be8d | |
code-creation,Eval,10,17804,0xaef925ed4e6,5, node:internal/modules/esm/resolve:1:1,0xaef925ecdf0,~ | |
script-source,105,node:internal/modules/esm/resolve,'use strict';\n\nconst {\n ArrayIsArray\x2C\n ArrayPrototypeJoin\x2C\n ArrayPrototypeShift\x2C\n JSONParse\x2C\n JSONStringify\x2C\n ObjectFreeze\x2C\n ObjectGetOwnPropertyNames\x2C\n ObjectPrototypeHasOwnProperty\x2C\n RegExp\x2C\n RegExpPrototypeSymbolReplace\x2C\n RegExpPrototypeTest\x2C\n SafeMap\x2C\n SafeSet\x2C\n String\x2C\n StringPrototypeEndsWith\x2C\n StringPrototypeIncludes\x2C\n StringPrototypeIndexOf\x2C\n StringPrototypeLastIndexOf\x2C\n StringPrototypeSlice\x2C\n StringPrototypeSplit\x2C\n StringPrototypeStartsWith\x2C\n} = primordials;\nconst internalFS = require('internal/fs/utils');\nconst { NativeModule } = require('internal/bootstrap/loaders');\nconst {\n realpathSync\x2C\n statSync\x2C\n Stats\x2C\n} = require('fs');\nconst { getOptionValue } = require('internal/options');\n// Do not eagerly grab .manifest\x2C it may be in TDZ\nconst policy = getOptionValue('--experimental-policy') ?\n require('internal/process/policy') :\n null;\nconst { sep\x2C relative\x2C resolve } = require('path');\nconst preserveSymlinks = getOptionValue('--preserve-symlinks');\nconst preserveSymlinksMain = getOptionValue('--preserve-symlinks-main');\nconst typeFlag = getOptionValue('--input-type');\nconst pendingDeprecation = getOptionValue('--pending-deprecation');\nconst { URL\x2C pathToFileURL\x2C fileURLToPath } = require('internal/url');\nconst {\n ERR_INPUT_TYPE_NOT_ALLOWED\x2C\n ERR_INVALID_ARG_VALUE\x2C\n ERR_INVALID_MODULE_SPECIFIER\x2C\n ERR_INVALID_PACKAGE_CONFIG\x2C\n ERR_INVALID_PACKAGE_TARGET\x2C\n ERR_MANIFEST_DEPENDENCY_MISSING\x2C\n ERR_MODULE_NOT_FOUND\x2C\n ERR_PACKAGE_IMPORT_NOT_DEFINED\x2C\n ERR_PACKAGE_PATH_NOT_EXPORTED\x2C\n ERR_UNSUPPORTED_DIR_IMPORT\x2C\n ERR_UNSUPPORTED_ESM_URL_SCHEME\x2C\n} = require('internal/errors').codes;\nconst { Module: CJSModule } = require('internal/modules/cjs/loader');\n\nconst packageJsonReader = require('internal/modules/package_json_reader');\nconst userConditions = getOptionValue('--conditions');\nconst noAddons = getOptionValue('--no-addons');\nconst addonConditions = noAddons ? [] : ['node-addons'];\n\nconst DEFAULT_CONDITIONS = ObjectFreeze([\n 'node'\x2C\n 'import'\x2C\n ...addonConditions\x2C\n ...userConditions\x2C\n]);\n\nconst DEFAULT_CONDITIONS_SET = new SafeSet(DEFAULT_CONDITIONS);\n\n/**\n * @typedef {string | string[] | Record<string\x2C unknown>} Exports\n * @typedef {'module' | 'commonjs'} PackageType\n * @typedef {{\n * exports?: ExportConfig;\n * name?: string;\n * main?: string;\n * type?: PackageType;\n * }} PackageConfig\n */\n\nconst emittedPackageWarnings = new SafeSet();\n\n/**\n * @param {string} match\n * @param {URL} pjsonUrl\n * @param {boolean} isExports\n * @param {string | URL | undefined} base\n * @returns {void}\n */\nfunction emitFolderMapDeprecation(match\x2C pjsonUrl\x2C isExports\x2C base) {\n const pjsonPath = fileURLToPath(pjsonUrl);\n\n if (emittedPackageWarnings.has(pjsonPath + '|' + match))\n return;\n emittedPackageWarnings.add(pjsonPath + '|' + match);\n process.emitWarning(\n `Use of deprecated folder mapping "${match}" in the ${isExports ?\n '"exports"' : '"imports"'} field module resolution of the package at ${\n pjsonPath}${base ? ` imported from ${fileURLToPath(base)}` : ''}.\\n` +\n `Update this package.json to use a subpath pattern like "${match}*".`\x2C\n 'DeprecationWarning'\x2C\n 'DEP0148'\n );\n}\n\nfunction emitTrailingSlashPatternDeprecation(match\x2C pjsonUrl\x2C isExports\x2C base) {\n if (!pendingDeprecation) return;\n const pjsonPath = fileURLToPath(pjsonUrl);\n if (emittedPackageWarnings.has(pjsonPath + '|' + match))\n return;\n emittedPackageWarnings.add(pjsonPath + '|' + match);\n process.emitWarning(\n `Use of deprecated trailing slash pattern mapping "${match}" in the ${\n isExports ? '"exports"' : '"imports"'} field module resolution of the ` +\n `package at ${pjsonPath}${base ? ` imported from ${fileURLToPath(base)}` :\n ''}. Mapping specifiers ending in "/" is no longer supported.`\x2C\n 'DeprecationWarning'\x2C\n 'DEP0155'\n );\n}\n\n/**\n * @param {URL} url\n * @param {URL} packageJSONUrl\n * @param {string | URL | undefined} base\n * @param {string} main\n * @returns\n */\nfunction emitLegacyIndexDeprecation(url\x2C packageJSONUrl\x2C base\x2C main) {\n const format = defaultGetFormat(url);\n if (format !== 'module')\n return;\n const path = fileURLToPath(url);\n const pkgPath = fileURLToPath(new URL('.'\x2C packageJSONUrl));\n const basePath = fileURLToPath(base);\n if (main)\n process.emitWarning(\n `Package ${pkgPath} has a "main" field set to ${JSONStringify(main)}\x2C ` +\n `excluding the full filename and extension to the resolved file at "${\n StringPrototypeSlice(path\x2C pkgPath.length)}"\x2C imported from ${\n basePath}.\\n Automatic extension resolution of the "main" field is ` +\n 'deprecated for ES modules.'\x2C\n 'DeprecationWarning'\x2C\n 'DEP0151'\n );\n else\n process.emitWarning(\n `No "main" or "exports" field defined in the package.json for ${pkgPath\n } resolving the main entry point "${\n StringPrototypeSlice(path\x2C pkgPath.length)}"\x2C imported from ${basePath\n }.\\nDefault "index" lookups for the main are deprecated for ES modules.`\x2C\n 'DeprecationWarning'\x2C\n 'DEP0151'\n );\n}\n\n/**\n * @param {string[]} [conditions]\n * @returns {Set<string>}\n */\nfunction getConditionsSet(conditions) {\n if (conditions !== undefined && conditions !== DEFAULT_CONDITIONS) {\n if (!ArrayIsArray(conditions)) {\n throw new ERR_INVALID_ARG_VALUE('conditions'\x2C conditions\x2C\n 'expected an array');\n }\n return new SafeSet(conditions);\n }\n return DEFAULT_CONDITIONS_SET;\n}\n\nconst realpathCache = new SafeMap();\nconst packageJSONCache = new SafeMap(); /* string -> PackageConfig */\n\n/**\n * @param {string | URL} path\n * @returns {import('fs').Stats}\n */\nconst tryStatSync =\n (path) => statSync(path\x2C { throwIfNoEntry: false }) ?? new Stats();\n\n/**\n * @param {string} path\n * @param {string} specifier\n * @param {string | URL | undefined} base\n * @returns {PackageConfig}\n */\nfunction getPackageConfig(path\x2C specifier\x2C base) {\n const existing = packageJSONCache.get(path);\n if (existing !== undefined) {\n return existing;\n }\n const source = packageJsonReader.read(path).string;\n if (source === undefined) {\n const packageConfig = {\n pjsonPath: path\x2C\n exists: false\x2C\n main: undefined\x2C\n name: undefined\x2C\n type: 'none'\x2C\n exports: undefined\x2C\n imports: undefined\x2C\n };\n packageJSONCache.set(path\x2C packageConfig);\n return packageConfig;\n }\n\n let packageJSON;\n try {\n packageJSON = JSONParse(source);\n } catch (error) {\n throw new ERR_INVALID_PACKAGE_CONFIG(\n path\x2C\n (base ? `"${specifier}" from ` : '') + fileURLToPath(base || specifier)\x2C\n error.message\n );\n }\n\n let { imports\x2C main\x2C name\x2C type } = packageJSON;\n const { exports } = packageJSON;\n if (typeof imports !== 'object' || imports === null) imports = undefined;\n if (typeof main !== 'string') main = undefined;\n if (typeof name !== 'string') name = undefined;\n // Ignore unknown types for forwards compatibility\n if (type !== 'module' && type !== 'commonjs') type = 'none';\n\n const packageConfig = {\n pjsonPath: path\x2C\n exists: true\x2C\n main\x2C\n name\x2C\n type\x2C\n exports\x2C\n imports\x2C\n };\n packageJSONCache.set(path\x2C packageConfig);\n return packageConfig;\n}\n\n/**\n * @param {URL | string} resolved\n * @returns {PackageConfig}\n */\nfunction getPackageScopeConfig(resolved) {\n let packageJSONUrl = new URL('./package.json'\x2C resolved);\n while (true) {\n const packageJSONPath = packageJSONUrl.pathname;\n if (StringPrototypeEndsWith(packageJSONPath\x2C 'node_modules/package.json'))\n break;\n const packageConfig = getPackageConfig(fileURLToPath(packageJSONUrl)\x2C\n resolved);\n if (packageConfig.exists) return packageConfig;\n\n const lastPackageJSONUrl = packageJSONUrl;\n packageJSONUrl = new URL('../package.json'\x2C packageJSONUrl);\n\n // Terminates at root where ../package.json equals ../../package.json\n // (can't just check "/package.json" for Windows support).\n if (packageJSONUrl.pathname === lastPackageJSONUrl.pathname) break;\n }\n const packageJSONPath = fileURLToPath(packageJSONUrl);\n const packageConfig = {\n pjsonPath: packageJSONPath\x2C\n exists: false\x2C\n main: undefined\x2C\n name: undefined\x2C\n type: 'none'\x2C\n exports: undefined\x2C\n imports: undefined\x2C\n };\n packageJSONCache.set(packageJSONPath\x2C packageConfig);\n return packageConfig;\n}\n\n/**\n * @param {string | URL} url\n * @returns {boolean}\n */\nfunction fileExists(url) {\n return statSync(url\x2C { throwIfNoEntry: false })?.isFile() ?? false;\n}\n\n/**\n * Legacy CommonJS main resolution:\n * 1. let M = pkg_url + (json main field)\n * 2. TRY(M\x2C M.js\x2C M.json\x2C M.node)\n * 3. TRY(M/index.js\x2C M/index.json\x2C M/index.node)\n * 4. TRY(pkg_url/index.js\x2C pkg_url/index.json\x2C pkg_url/index.node)\n * 5. NOT_FOUND\n * @param {URL} packageJSONUrl\n * @param {PackageConfig} packageConfig\n * @param {string | URL | undefined} base\n * @returns {URL}\n */\nfunction legacyMainResolve(packageJSONUrl\x2C packageConfig\x2C base) {\n let guess;\n if (packageConfig.main !== undefined) {\n // Note: fs check redundances will be handled by Descriptor cache here.\n if (fileExists(guess = new URL(`./${packageConfig.main}`\x2C\n packageJSONUrl))) {\n return guess;\n } else if (fileExists(guess = new URL(`./${packageConfig.main}.js`\x2C\n packageJSONUrl)));\n else if (fileExists(guess = new URL(`./${packageConfig.main}.json`\x2C\n packageJSONUrl)));\n else if (fileExists(guess = new URL(`./${packageConfig.main}.node`\x2C\n packageJSONUrl)));\n else if (fileExists(guess = new URL(`./${packageConfig.main}/index.js`\x2C\n packageJSONUrl)));\n else if (fileExists(guess = new URL(`./${packageConfig.main}/index.json`\x2C\n packageJSONUrl)));\n else if (fileExists(guess = new URL(`./${packageConfig.main}/index.node`\x2C\n packageJSONUrl)));\n else guess = undefined;\n if (guess) {\n emitLegacyIndexDeprecation(guess\x2C packageJSONUrl\x2C base\x2C\n packageConfig.main);\n return guess;\n }\n // Fallthrough.\n }\n if (fileExists(guess = new URL('./index.js'\x2C packageJSONUrl)));\n // So fs.\n else if (fileExists(guess = new URL('./index.json'\x2C packageJSONUrl)));\n else if (fileExists(guess = new URL('./index.node'\x2C packageJSONUrl)));\n else guess = undefined;\n if (guess) {\n emitLegacyIndexDeprecation(guess\x2C packageJSONUrl\x2C base\x2C packageConfig.main);\n return guess;\n }\n // Not found.\n throw new ERR_MODULE_NOT_FOUND(\n fileURLToPath(new URL('.'\x2C packageJSONUrl))\x2C fileURLToPath(base));\n}\n\n/**\n * @param {URL} search\n * @returns {URL | undefined}\n */\nfunction resolveExtensionsWithTryExactName(search) {\n if (fileExists(search)) return search;\n return resolveExtensions(search);\n}\n\nconst extensions = ['.js'\x2C '.json'\x2C '.node'\x2C '.mjs'];\n\n/**\n * @param {URL} search\n * @returns {URL | undefined}\n */\nfunction resolveExtensions(search) {\n for (let i = 0; i < extensions.length; i++) {\n const extension = extensions[i];\n const guess = new URL(`${search.pathname}${extension}`\x2C search);\n if (fileExists(guess)) return guess;\n }\n return undefined;\n}\n\n/**\n * @param {URL} search\n * @returns {URL | undefined}\n */\nfunction resolveDirectoryEntry(search) {\n const dirPath = fileURLToPath(search);\n const pkgJsonPath = resolve(dirPath\x2C 'package.json');\n if (fileExists(pkgJsonPath)) {\n const pkgJson = packageJsonReader.read(pkgJsonPath);\n if (pkgJson.containsKeys) {\n const { main } = JSONParse(pkgJson.string);\n if (main != null) {\n const mainUrl = pathToFileURL(resolve(dirPath\x2C main));\n return resolveExtensionsWithTryExactName(mainUrl);\n }\n }\n }\n return resolveExtensions(new URL('index'\x2C search));\n}\n\nconst encodedSepRegEx = /%2F|%5C/i;\n/**\n * @param {URL} resolved\n * @param {string | URL | undefined} base\n * @returns {URL | undefined}\n */\nfunction finalizeResolution(resolved\x2C base) {\n if (RegExpPrototypeTest(encodedSepRegEx\x2C resolved.pathname))\n throw new ERR_INVALID_MODULE_SPECIFIER(\n resolved.pathname\x2C 'must not include encoded "/" or "\\\\" characters'\x2C\n fileURLToPath(base));\n\n const path = fileURLToPath(resolved);\n if (getOptionValue('--experimental-specifier-resolution') === 'node') {\n let file = resolveExtensionsWithTryExactName(resolved);\n if (file !== undefined) return file;\n if (!StringPrototypeEndsWith(path\x2C '/')) {\n file = resolveDirectoryEntry(new URL(`${resolved}/`));\n if (file !== undefined) return file;\n } else {\n return resolveDirectoryEntry(resolved) || resolved;\n }\n throw new ERR_MODULE_NOT_FOUND(\n resolved.pathname\x2C fileURLToPath(base)\x2C 'module');\n }\n\n const stats = tryStatSync(StringPrototypeEndsWith(path\x2C '/') ?\n StringPrototypeSlice(path\x2C -1) : path);\n if (stats.isDirectory()) {\n const err = new ERR_UNSUPPORTED_DIR_IMPORT(path\x2C fileURLToPath(base));\n err.url = String(resolved);\n throw err;\n } else if (!stats.isFile()) {\n throw new ERR_MODULE_NOT_FOUND(\n path || resolved.pathname\x2C base && fileURLToPath(base)\x2C 'module');\n }\n\n return resolved;\n}\n\n/**\n * @param {string} specifier\n * @param {URL} packageJSONUrl\n * @param {string | URL | undefined} base\n */\nfunction throwImportNotDefined(specifier\x2C packageJSONUrl\x2C base) {\n throw new ERR_PACKAGE_IMPORT_NOT_DEFINED(\n specifier\x2C packageJSONUrl && fileURLToPath(new URL('.'\x2C packageJSONUrl))\x2C\n fileURLToPath(base));\n}\n\n/**\n * @param {string} specifier\n * @param {URL} packageJSONUrl\n * @param {string | URL | undefined} base\n */\nfunction throwExportsNotFound(subpath\x2C packageJSONUrl\x2C base) {\n throw new ERR_PACKAGE_PATH_NOT_EXPORTED(\n fileURLToPath(new URL('.'\x2C packageJSONUrl))\x2C subpath\x2C\n base && fileURLToPath(base));\n}\n\n/**\n *\n * @param {string | URL} subpath\n * @param {URL} packageJSONUrl\n * @param {boolean} internal\n * @param {string | URL | undefined} base\n */\nfunction throwInvalidSubpath(subpath\x2C packageJSONUrl\x2C internal\x2C base) {\n const reason = `request is not a valid subpath for the "${internal ?\n 'imports' : 'exports'}" resolution of ${fileURLToPath(packageJSONUrl)}`;\n throw new ERR_INVALID_MODULE_SPECIFIER(subpath\x2C reason\x2C\n base && fileURLToPath(base));\n}\n\nfunction throwInvalidPackageTarget(\n subpath\x2C target\x2C packageJSONUrl\x2C internal\x2C base) {\n if (typeof target === 'object' && target !== null) {\n target = JSONStringify(target\x2C null\x2C '');\n } else {\n target = `${target}`;\n }\n throw new ERR_INVALID_PACKAGE_TARGET(\n fileURLToPath(new URL('.'\x2C packageJSONUrl))\x2C subpath\x2C target\x2C\n internal\x2C base && fileURLToPath(base));\n}\n\nconst invalidSegmentRegEx = /(^|\\\\|\\/)(\\.\\.?|node_modules)(\\\\|\\/|$)/;\nconst patternRegEx = /\\*/g;\n\nfunction resolvePackageTargetString(\n target\x2C subpath\x2C match\x2C packageJSONUrl\x2C base\x2C pattern\x2C internal\x2C conditions) {\n if (subpath !== '' && !pattern && target[target.length - 1] !== '/')\n throwInvalidPackageTarget(match\x2C target\x2C packageJSONUrl\x2C internal\x2C base);\n\n if (!StringPrototypeStartsWith(target\x2C './')) {\n if (internal && !StringPrototypeStartsWith(target\x2C '../') &&\n !StringPrototypeStartsWith(target\x2C '/')) {\n let isURL = false;\n try {\n new URL(target);\n isURL = true;\n } catch {}\n if (!isURL) {\n const exportTarget = pattern ?\n RegExpPrototypeSymbolReplace(patternRegEx\x2C target\x2C () => subpath) :\n target + subpath;\n return packageResolve(exportTarget\x2C packageJSONUrl\x2C conditions);\n }\n }\n throwInvalidPackageTarget(match\x2C target\x2C packageJSONUrl\x2C internal\x2C base);\n }\n\n if (RegExpPrototypeTest(invalidSegmentRegEx\x2C StringPrototypeSlice(target\x2C 2)))\n throwInvalidPackageTarget(match\x2C target\x2C packageJSONUrl\x2C internal\x2C base);\n\n const resolved = new URL(target\x2C packageJSONUrl);\n const resolvedPath = resolved.pathname;\n const packagePath = new URL('.'\x2C packageJSONUrl).pathname;\n\n if (!StringPrototypeStartsWith(resolvedPath\x2C packagePath))\n throwInvalidPackageTarget(match\x2C target\x2C packageJSONUrl\x2C internal\x2C base);\n\n if (subpath === '') return resolved;\n\n if (RegExpPrototypeTest(invalidSegmentRegEx\x2C subpath))\n throwInvalidSubpath(match + subpath\x2C packageJSONUrl\x2C internal\x2C base);\n\n if (pattern)\n return new URL(RegExpPrototypeSymbolReplace(patternRegEx\x2C resolved.href\x2C\n () => subpath));\n return new URL(subpath\x2C resolved);\n}\n\n/**\n * @param {string} key\n * @returns {boolean}\n */\nfunction isArrayIndex(key) {\n const keyNum = +key;\n if (`${keyNum}` !== key) return false;\n return keyNum >= 0 && keyNum < 0xFFFF_FFFF;\n}\n\nfunction resolvePackageTarget(packageJSONUrl\x2C target\x2C subpath\x2C packageSubpath\x2C\n base\x2C pattern\x2C internal\x2C conditions) {\n if (typeof target === 'string') {\n return resolvePackageTargetString(\n target\x2C subpath\x2C packageSubpath\x2C packageJSONUrl\x2C base\x2C pattern\x2C internal\x2C\n conditions);\n } else if (ArrayIsArray(target)) {\n if (target.length === 0)\n return null;\n\n let lastException;\n for (let i = 0; i < target.length; i++) {\n const targetItem = target[i];\n let resolved;\n try {\n resolved = resolvePackageTarget(\n packageJSONUrl\x2C targetItem\x2C subpath\x2C packageSubpath\x2C base\x2C pattern\x2C\n internal\x2C conditions);\n } catch (e) {\n lastException = e;\n if (e.code === 'ERR_INVALID_PACKAGE_TARGET')\n continue;\n throw e;\n }\n if (resolved === undefined)\n continue;\n if (resolved === null) {\n lastException = null;\n continue;\n }\n return resolved;\n }\n if (lastException === undefined || lastException === null)\n return lastException;\n throw lastException;\n } else if (typeof target === 'object' && target !== null) {\n const keys = ObjectGetOwnPropertyNames(target);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if (isArrayIndex(key)) {\n throw new ERR_INVALID_PACKAGE_CONFIG(\n fileURLToPath(packageJSONUrl)\x2C base\x2C\n '"exports" cannot contain numeric property keys.');\n }\n }\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if (key === 'default' || conditions.has(key)) {\n const conditionalTarget = target[key];\n const resolved = resolvePackageTarget(\n packageJSONUrl\x2C conditionalTarget\x2C subpath\x2C packageSubpath\x2C base\x2C\n pattern\x2C internal\x2C conditions);\n if (resolved === undefined)\n continue;\n return resolved;\n }\n }\n return undefined;\n } else if (target === null) {\n return null;\n }\n throwInvalidPackageTarget(packageSubpath\x2C target\x2C packageJSONUrl\x2C internal\x2C\n base);\n}\n\n/**\n *\n * @param {Exports} exports\n * @param {URL} packageJSONUrl\n * @param {string | URL | undefined} base\n * @returns\n */\nfunction isConditionalExportsMainSugar(exports\x2C packageJSONUrl\x2C base) {\n if (typeof exports === 'string' || ArrayIsArray(exports)) return true;\n if (typeof exports !== 'object' || exports === null) return false;\n\n const keys = ObjectGetOwnPropertyNames(exports);\n let isConditionalSugar = false;\n let i = 0;\n for (let j = 0; j < keys.length; j++) {\n const key = keys[j];\n const curIsConditionalSugar = key === '' || key[0] !== '.';\n if (i++ === 0) {\n isConditionalSugar = curIsConditionalSugar;\n } else if (isConditionalSugar !== curIsConditionalSugar) {\n throw new ERR_INVALID_PACKAGE_CONFIG(\n fileURLToPath(packageJSONUrl)\x2C base\x2C\n '"exports" cannot contain some keys starting with \\'.\\' and some not.' +\n ' The exports object must either be an object of package subpath keys' +\n ' or an object of main entry condition name keys |