You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
class/class_backend/isolate-000001A40652CF70-34...

14546 lines
2.8 MiB

v8-version,11,3,244,8,-node.23,0
v8-platform,windows,unknown
shared-library,D:\\Program Files\\Nodejs\\node.exe,0x7ff7b8ce0000,0x7ff7bd217000,0
shared-library,C:\\Windows\\SYSTEM32\\ntdll.dll,0x7ffcc61f0000,0x7ffcc63e8000,0
shared-library,C:\\Windows\\System32\\KERNEL32.DLL,0x7ffcc58d0000,0x7ffcc5991000,0
shared-library,C:\\Windows\\System32\\KERNELBASE.dll,0x7ffcc3a30000,0x7ffcc3d2d000,0
shared-library,C:\\Windows\\System32\\WS2_32.dll,0x7ffcc4ff0000,0x7ffcc505b000,0
shared-library,C:\\Windows\\System32\\RPCRT4.dll,0x7ffcc4e00000,0x7ffcc4f23000,0
shared-library,C:\\Windows\\System32\\ole32.dll,0x7ffcc4c00000,0x7ffcc4d2b000,0
shared-library,C:\\Windows\\System32\\ucrtbase.dll,0x7ffcc3da0000,0x7ffcc3ea0000,0
shared-library,C:\\Windows\\System32\\combase.dll,0x7ffcc46e0000,0x7ffcc4a33000,0
shared-library,C:\\Windows\\System32\\GDI32.dll,0x7ffcc4fc0000,0x7ffcc4feb000,0
shared-library,C:\\Windows\\System32\\win32u.dll,0x7ffcc3ed0000,0x7ffcc3ef2000,0
shared-library,C:\\Windows\\System32\\gdi32full.dll,0x7ffcc3fa0000,0x7ffcc40b7000,0
shared-library,C:\\Windows\\System32\\msvcp_win.dll,0x7ffcc3f00000,0x7ffcc3f9d000,0
shared-library,C:\\Windows\\SYSTEM32\\dbghelp.dll,0x7ffcc1200000,0x7ffcc13e4000,0
shared-library,C:\\Windows\\System32\\USER32.dll,0x7ffcc5e40000,0x7ffcc5fdd000,0
shared-library,C:\\Windows\\System32\\PSAPI.DLL,0x7ffcc5dc0000,0x7ffcc5dc8000,0
shared-library,C:\\Windows\\System32\\SHELL32.dll,0x7ffcc5100000,0x7ffcc586f000,0
shared-library,C:\\Windows\\System32\\ADVAPI32.dll,0x7ffcc6100000,0x7ffcc61b0000,0
shared-library,C:\\Windows\\System32\\msvcrt.dll,0x7ffcc5c10000,0x7ffcc5cae000,0
shared-library,C:\\Windows\\System32\\sechost.dll,0x7ffcc5060000,0x7ffcc5100000,0
shared-library,C:\\Windows\\System32\\bcrypt.dll,0x7ffcc3ea0000,0x7ffcc3ec7000,0
shared-library,C:\\Windows\\System32\\CRYPT32.dll,0x7ffcc40c0000,0x7ffcc421c000,0
shared-library,C:\\Windows\\SYSTEM32\\IPHLPAPI.DLL,0x7ffcc2c20000,0x7ffcc2c5b000,0
shared-library,C:\\Windows\\SYSTEM32\\USERENV.dll,0x7ffcc3750000,0x7ffcc377e000,0
shared-library,C:\\Windows\\SYSTEM32\\WINMM.dll,0x7ffcb8520000,0x7ffcb8547000,0
shared-library,C:\\Windows\\SYSTEM32\\dbgcore.DLL,0x7ffcb84e0000,0x7ffcb8514000,0
shared-library,C:\\Windows\\SYSTEM32\\CRYPTBASE.DLL,0x7ffcc31b0000,0x7ffcc31bc000,0
shared-library,C:\\Windows\\System32\\IMM32.DLL,0x7ffcc46b0000,0x7ffcc46df000,0
shared-library,C:\\Windows\\SYSTEM32\\powrprof.dll,0x7ffcc2d40000,0x7ffcc2d8b000,0
shared-library,C:\\Windows\\SYSTEM32\\UMPDC.dll,0x7ffcc2c00000,0x7ffcc2c12000,0
shared-library,C:\\Windows\\system32\\uxtheme.dll,0x7ffcc0b20000,0x7ffcc0bbe000,0
shared-library,C:\\Windows\\system32\\mswsock.dll,0x7ffcc2f70000,0x7ffcc2fda000,0
shared-library,C:\\Windows\\System32\\bcryptprimitives.dll,0x7ffcc39a0000,0x7ffcc3a22000,0
shared-library,C:\\Windows\\SYSTEM32\\kernel.appcore.dll,0x7ffcc2010000,0x7ffcc2022000,0
shared-library-end
tick,0x7ffcc628d5e4,212888,0,0x0,6
profiler,begin,1000
new,CodeRange,0x7ff739b80000,0
new,MemoryChunk,0x23489780000,262144
new,MemoryChunk,0x106f8d00000,262144
new,MemoryChunk,0x1d8979c0000,262144
new,MemoryChunk,0x129ae240000,262144
new,MemoryChunk,0xf7f4a00000,262144
heap-capacity,1030880
heap-available,4346312128
new,MemoryChunk,0x14d49580000,262144
new,MemoryChunk,0x32773680000,270336
new,MemoryChunk,0x39e2db40000,262144
new,MemoryChunk,0x3b02000000,262144
new,MemoryChunk,0x2f8b8640000,262144
tick,0x7ff7ba213830,223772,0,0x0,6
code-creation,Builtin,2,225452,0x7ff7b9a13604,776,DeoptimizationEntry_Eager
code-creation,Builtin,2,225514,0x7ff7b9a13944,780,DeoptimizationEntry_Lazy
code-creation,Builtin,2,225527,0x7ff7b9a13c84,2736,RecordWriteSaveFP
code-creation,Builtin,2,225539,0x7ff7b9a14744,1196,RecordWriteIgnoreFP
code-creation,Builtin,2,225551,0x7ff7b9a14c04,344,EphemeronKeyBarrierSaveFP
code-creation,Builtin,2,225563,0x7ff7b9a14d84,124,EphemeronKeyBarrierIgnoreFP
code-creation,Builtin,2,225575,0x7ff7b9a14e04,64,AdaptorWithBuiltinExitFrame
code-creation,Builtin,2,225587,0x7ff7b9a14e84,288,CallFunction_ReceiverIsNullOrUndefined
code-creation,Builtin,2,225599,0x7ff7b9a14fc4,336,CallFunction_ReceiverIsNotNullOrUndefined
code-creation,Builtin,2,225700,0x7ff7b9a15144,372,CallFunction_ReceiverIsAny
code-creation,Builtin,2,225718,0x7ff7b9a152c4,100,CallBoundFunction
code-creation,Builtin,2,225730,0x7ff7b9a15344,848,CallWrappedFunction
code-creation,Builtin,2,225741,0x7ff7b9a156c4,168,Call_ReceiverIsNullOrUndefined
code-creation,Builtin,2,225753,0x7ff7b9a15784,168,Call_ReceiverIsNotNullOrUndefined
code-creation,Builtin,2,225766,0x7ff7b9a15844,168,Call_ReceiverIsAny
code-creation,Builtin,2,225777,0x7ff7b9a15904,980,Call_ReceiverIsNullOrUndefined_Baseline_Compact
code-creation,Builtin,2,225790,0x7ff7b9a15d04,972,Call_ReceiverIsNullOrUndefined_Baseline
code-creation,Builtin,2,225803,0x7ff7b9a16104,1048,Call_ReceiverIsNotNullOrUndefined_Baseline_Compact
code-creation,Builtin,2,225816,0x7ff7b9a16544,1040,Call_ReceiverIsNotNullOrUndefined_Baseline
code-creation,Builtin,2,225829,0x7ff7b9a16984,1048,Call_ReceiverIsAny_Baseline_Compact
code-creation,Builtin,2,225841,0x7ff7b9a16dc4,1040,Call_ReceiverIsAny_Baseline
code-creation,Builtin,2,225852,0x7ff7b9a17204,928,Call_ReceiverIsNullOrUndefined_WithFeedback
code-creation,Builtin,2,225865,0x7ff7b9a175c4,928,Call_ReceiverIsNotNullOrUndefined_WithFeedback
code-creation,Builtin,2,225878,0x7ff7b9a17984,928,Call_ReceiverIsAny_WithFeedback
code-creation,Builtin,2,225890,0x7ff7b9a17d44,732,CallProxy
code-creation,Builtin,2,225900,0x7ff7b9a18044,152,CallVarargs
code-creation,Builtin,2,225911,0x7ff7b9a18104,940,CallWithSpread
code-creation,Builtin,2,225922,0x7ff7b9a184c4,1956,CallWithSpread_Baseline
code-creation,Builtin,2,225934,0x7ff7b9a18c84,1908,CallWithSpread_WithFeedback
code-creation,Builtin,2,225946,0x7ff7b9a19404,892,CallWithArrayLike
code-creation,Builtin,2,225957,0x7ff7b9a19784,1836,CallWithArrayLike_WithFeedback
code-creation,Builtin,2,225969,0x7ff7b9a19ec4,156,CallForwardVarargs
code-creation,Builtin,2,225980,0x7ff7b9a19f84,156,CallFunctionForwardVarargs
code-creation,Builtin,2,225992,0x7ff7b9a1a044,128,CallFunctionTemplate_CheckAccess
code-creation,Builtin,2,226004,0x7ff7b9a1a104,232,CallFunctionTemplate_CheckCompatibleReceiver
code-creation,Builtin,2,226017,0x7ff7b9a1a204,320,CallFunctionTemplate_CheckAccessAndCompatibleReceiver
code-creation,Builtin,2,226031,0x7ff7b9a1a384,32,ConstructFunction
code-creation,Builtin,2,226042,0x7ff7b9a1a3c4,100,ConstructBoundFunction
code-creation,Builtin,2,226053,0x7ff7b9a1a444,28,ConstructedNonConstructable
code-creation,Builtin,2,226065,0x7ff7b9a1a484,100,Construct
code-creation,Builtin,2,226076,0x7ff7b9a1a504,152,ConstructVarargs
code-creation,Builtin,2,226087,0x7ff7b9a1a5c4,968,ConstructWithSpread
code-creation,Builtin,2,226098,0x7ff7b9a1a9c4,1772,ConstructWithSpread_Baseline
code-creation,Builtin,2,226110,0x7ff7b9a1b0c4,1748,ConstructWithSpread_WithFeedback
code-creation,Builtin,2,226122,0x7ff7b9a1b7c4,952,ConstructWithArrayLike
code-creation,Builtin,2,226133,0x7ff7b9a1bb84,1696,ConstructWithArrayLike_WithFeedback
code-creation,Builtin,2,226144,0x7ff7b9a1c244,196,ConstructForwardVarargs
code-creation,Builtin,2,226155,0x7ff7b9a1c344,196,ConstructFunctionForwardVarargs
code-creation,Builtin,2,226166,0x7ff7b9a1c444,788,Construct_Baseline
code-creation,Builtin,2,226177,0x7ff7b9a1c784,808,Construct_WithFeedback
code-creation,Builtin,2,226187,0x7ff7b9a1cac4,444,JSConstructStubGeneric
code-creation,Builtin,2,226210,0x7ff7b9a1cc84,340,JSBuiltinsConstructStub
code-creation,Builtin,2,226221,0x7ff7b9a1ce04,772,FastNewObject
code-creation,Builtin,2,226232,0x7ff7b9a1d144,312,FastNewClosure
code-creation,Builtin,2,226242,0x7ff7b9a1d284,764,ConstructProxy
code-creation,Builtin,2,226252,0x7ff7b9a1d584,360,JSEntry
code-creation,Builtin,2,226262,0x7ff7b9a1d704,360,JSConstructEntry
code-creation,Builtin,2,226272,0x7ff7b9a1d884,360,JSRunMicrotasksEntry
code-creation,Builtin,2,226283,0x7ff7b9a1da04,100,JSEntryTrampoline
code-creation,Builtin,2,226294,0x7ff7b9a1da84,100,JSConstructEntryTrampoline
code-creation,Builtin,2,226306,0x7ff7b9a1db04,256,ResumeGeneratorTrampoline
code-creation,Builtin,2,226317,0x7ff7b9a1dc44,1268,StringFromCodePointAt
code-creation,Builtin,2,226327,0x7ff7b9a1e144,708,StringEqual
code-creation,Builtin,2,226381,0x7ff7b9a1e444,328,StringGreaterThan
code-creation,Builtin,2,226394,0x7ff7b9a1e5c4,328,StringGreaterThanOrEqual
code-creation,Builtin,2,226409,0x7ff7b9a1e744,328,StringLessThan
code-creation,Builtin,2,226419,0x7ff7b9a1e8c4,328,StringLessThanOrEqual
code-creation,Builtin,2,226430,0x7ff7b9a1ea44,328,StringCompare
code-creation,Builtin,2,226441,0x7ff7b9a1ebc4,2392,StringSubstring
code-creation,Builtin,2,226452,0x7ff7b9a1f544,80,OrderedHashTableHealIndex
code-creation,Builtin,2,226463,0x7ff7b9a1f5c4,876,InterpreterEntryTrampoline
code-creation,Builtin,2,226474,0x7ff7b9a1f944,888,InterpreterEntryTrampolineForProfiling
code-creation,Builtin,2,226486,0x7ff7b9a1fcc4,76,InterpreterPushArgsThenCall
code-creation,Builtin,2,226500,0x7ff7b9a1fd44,84,InterpreterPushUndefinedAndArgsThenCall
code-creation,Builtin,2,226512,0x7ff7b9a1fdc4,84,InterpreterPushArgsThenCallWithFinalSpread
code-creation,Builtin,2,226524,0x7ff7b9a1fe44,84,InterpreterPushArgsThenConstruct
code-creation,Builtin,2,226536,0x7ff7b9a1fec4,84,InterpreterPushArgsThenConstructArrayFunction
code-creation,Builtin,2,226548,0x7ff7b9a1ff44,88,InterpreterPushArgsThenConstructWithFinalSpread
code-creation,Builtin,2,226560,0x7ff7b9a1ffc4,80,InterpreterEnterAtBytecode
code-creation,Builtin,2,226571,0x7ff7b9a20044,216,InterpreterEnterAtNextBytecode
code-creation,Builtin,2,226582,0x7ff7b9a20144,96,InterpreterOnStackReplacement
code-creation,Builtin,2,226593,0x7ff7b9a201c4,388,BaselineOutOfLinePrologue
code-creation,Builtin,2,226604,0x7ff7b9a20384,16,BaselineOutOfLinePrologueDeopt
code-creation,Builtin,2,226615,0x7ff7b9a203c4,100,BaselineOnStackReplacement
code-creation,Builtin,2,226626,0x7ff7b9a20444,84,BaselineLeaveFrame
code-creation,Builtin,2,226637,0x7ff7b9a204c4,212,BaselineOrInterpreterEnterAtBytecode
code-creation,Builtin,2,226649,0x7ff7b9a205c4,220,BaselineOrInterpreterEnterAtNextBytecode
code-creation,Builtin,2,226661,0x7ff7b9a206c4,184,InterpreterOnStackReplacement_ToBaseline
code-creation,Builtin,2,226673,0x7ff7b9a20784,36,MaglevOnStackReplacement
code-creation,Builtin,2,226686,0x7ff7b9a207c4,864,CompileLazy
code-creation,Builtin,2,226697,0x7ff7b9a20b44,68,CompileLazyDeoptimizedCode
code-creation,Builtin,2,226708,0x7ff7b9a20bc4,224,InstantiateAsmJs
code-creation,Builtin,2,226718,0x7ff7b9a20cc4,32,NotifyDeoptimized
code-creation,Builtin,2,226729,0x7ff7b9a20d04,52,ContinueToCodeStubBuiltin
code-creation,Builtin,2,226740,0x7ff7b9a20d44,60,ContinueToCodeStubBuiltinWithResult
code-creation,Builtin,2,226751,0x7ff7b9a20d84,56,ContinueToJavaScriptBuiltin
code-creation,Builtin,2,226762,0x7ff7b9a20dc4,64,ContinueToJavaScriptBuiltinWithResult
code-creation,Builtin,2,226774,0x7ff7b9a20e44,264,CallApiCallback
code-creation,Builtin,2,226785,0x7ff7b9a20f84,244,CallApiGetter
code-creation,Builtin,2,226796,0x7ff7b9a21084,12,HandleApiCall
code-creation,Builtin,2,226806,0x7ff7b9a210c4,12,HandleApiCallAsFunction
code-creation,Builtin,2,226817,0x7ff7b9a21104,12,HandleApiCallAsConstructor
code-creation,Builtin,2,226829,0x7ff7b9a21144,64,AllocateInYoungGeneration
code-creation,Builtin,2,226847,0x7ff7b9a211c4,52,AllocateRegularInYoungGeneration
code-creation,Builtin,2,226859,0x7ff7b9a21204,64,AllocateInOldGeneration
code-creation,Builtin,2,226870,0x7ff7b9a21284,52,AllocateRegularInOldGeneration
code-creation,Builtin,2,226881,0x7ff7b9a212c4,144,NewHeapNumber
code-creation,Builtin,2,226891,0x7ff7b9a21384,508,CopyFastSmiOrObjectElements
code-creation,Builtin,2,226902,0x7ff7b9a21584,524,GrowFastDoubleElements
code-creation,Builtin,2,226913,0x7ff7b9a217c4,424,GrowFastSmiOrObjectElements
code-creation,Builtin,2,226924,0x7ff7b9a21984,444,DebugBreakTrampoline
code-creation,Builtin,2,226935,0x7ff7b9a21b44,272,RestartFrameTrampoline
code-creation,Builtin,2,226946,0x7ff7b9a21c84,188,ToNumber
code-creation,Builtin,2,226956,0x7ff7b9a21d44,88,ToBigInt
code-creation,Builtin,2,226966,0x7ff7b9a21dc4,308,ToNumber_Baseline
code-creation,Builtin,2,226977,0x7ff7b9a21f04,372,ToNumeric_Baseline
code-creation,Builtin,2,226987,0x7ff7b9a22084,104,PlainPrimitiveToNumber
code-creation,Builtin,2,227036,0x7ff7b9a22104,224,ToNumberConvertBigInt
code-creation,Builtin,2,227050,0x7ff7b9a22204,60,ToBigIntConvertNumber
code-creation,Builtin,2,227061,0x7ff7b9a22244,140,Typeof
code-creation,Builtin,2,227071,0x7ff7b9a22304,112,BigIntToI64
code-creation,Builtin,2,227081,0x7ff7b9a22384,4,BigIntToI32Pair
code-creation,Builtin,2,227092,0x7ff7b9a223c4,220,I64ToBigInt
code-creation,Builtin,2,227102,0x7ff7b9a224c4,4,I32PairToBigInt
code-creation,Builtin,2,227112,0x7ff7b9a22504,116,ToBooleanLazyDeoptContinuation
code-creation,Builtin,2,227123,0x7ff7b9a22584,356,MathCeilContinuation
code-creation,Builtin,2,227134,0x7ff7b9a22704,364,MathFloorContinuation
code-creation,Builtin,2,227145,0x7ff7b9a22884,408,MathRoundContinuation
code-creation,Builtin,2,227162,0x7ff7b9a22a44,4480,KeyedLoadIC_PolymorphicName
code-creation,Builtin,2,227175,0x7ff7b9a23c04,16988,KeyedStoreIC_Megamorphic
code-creation,Builtin,2,227186,0x7ff7b9a27e84,13328,DefineKeyedOwnIC_Megamorphic
code-creation,Builtin,2,227197,0x7ff7b9a2b2c4,608,LoadGlobalIC_NoFeedback
code-creation,Builtin,2,227208,0x7ff7b9a2b544,68,LoadIC_FunctionPrototype
code-creation,Builtin,2,227219,0x7ff7b9a2b5c4,12,LoadIC_StringLength
code-creation,Builtin,2,227230,0x7ff7b9a2b604,16,LoadIC_StringWrapperLength
code-creation,Builtin,2,227241,0x7ff7b9a2b644,4448,LoadIC_NoFeedback
code-creation,Builtin,2,227252,0x7ff7b9a2c7c4,32,StoreGlobalIC_Slow
code-creation,Builtin,2,227262,0x7ff7b9a2c804,8020,StoreIC_NoFeedback
code-creation,Builtin,2,227273,0x7ff7b9a2e784,4384,DefineNamedOwnIC_NoFeedback
code-creation,Builtin,2,227284,0x7ff7b9a2f8c4,188,KeyedLoadIC_SloppyArguments
code-creation,Builtin,2,227295,0x7ff7b9a2f984,72,LoadIndexedInterceptorIC
code-creation,Builtin,2,227306,0x7ff7b9a2fa04,244,KeyedStoreIC_SloppyArguments_Standard
code-creation,Builtin,2,227318,0x7ff7b9a2fb04,244,KeyedStoreIC_SloppyArguments_GrowNoTransitionHandleCOW
code-creation,Builtin,2,227331,0x7ff7b9a2fc04,244,KeyedStoreIC_SloppyArguments_NoTransitionIgnoreOOB
code-creation,Builtin,2,227343,0x7ff7b9a2fd04,244,KeyedStoreIC_SloppyArguments_NoTransitionHandleCOW
code-creation,Builtin,2,227355,0x7ff7b9a2fe04,15076,StoreFastElementIC_Standard
code-creation,Builtin,2,227367,0x7ff7b9a33904,10744,StoreFastElementIC_GrowNoTransitionHandleCOW
code-creation,Builtin,2,227379,0x7ff7b9a36304,14340,StoreFastElementIC_NoTransitionIgnoreOOB
code-creation,Builtin,2,227394,0x7ff7b9a39b44,6440,StoreFastElementIC_NoTransitionHandleCOW
code-creation,Builtin,2,227407,0x7ff7b9a3b484,8416,ElementsTransitionAndStore_Standard
code-creation,Builtin,2,227418,0x7ff7b9a3d584,19372,ElementsTransitionAndStore_GrowNoTransitionHandleCOW
code-creation,Builtin,2,227431,0x7ff7b9a42144,8416,ElementsTransitionAndStore_NoTransitionIgnoreOOB
code-creation,Builtin,2,227443,0x7ff7b9a44244,11164,ElementsTransitionAndStore_NoTransitionHandleCOW
code-creation,Builtin,2,227456,0x7ff7b9a46e04,1128,KeyedHasIC_PolymorphicName
code-creation,Builtin,2,227466,0x7ff7b9a47284,172,KeyedHasIC_SloppyArguments
code-creation,Builtin,2,227477,0x7ff7b9a47344,72,HasIndexedInterceptorIC
code-creation,Builtin,2,227488,0x7ff7b9a473c4,164,EnqueueMicrotask
code-creation,Builtin,2,227499,0x7ff7b9a47484,8,RunMicrotasksTrampoline
code-creation,Builtin,2,227510,0x7ff7b9a474c4,3780,RunMicrotasks
code-creation,Builtin,2,227521,0x7ff7b9a483c4,3464,HasProperty
code-creation,Builtin,2,227531,0x7ff7b9a49184,1324,DeleteProperty
code-creation,Builtin,2,227542,0x7ff7b9a496c4,2596,CopyDataProperties
code-creation,Builtin,2,227552,0x7ff7b9a4a104,10812,SetDataProperties
code-creation,Builtin,2,227563,0x7ff7b9a4cb44,3316,CopyDataPropertiesWithExcludedPropertiesOnStack
code-creation,Builtin,2,227576,0x7ff7b9a4d844,56,CopyDataPropertiesWithExcludedProperties
code-creation,Builtin,2,227587,0x7ff7b9a4d884,28,Abort
code-creation,Builtin,2,227597,0x7ff7b9a4d8c4,28,AbortCSADcheck
code-creation,Builtin,2,227608,0x7ff7b9a4d904,12,EmptyFunction
code-creation,Builtin,2,227618,0x7ff7b9a4d944,12,Illegal
code-creation,Builtin,2,227628,0x7ff7b9a4d984,12,StrictPoisonPillThrower
code-creation,Builtin,2,227640,0x7ff7b9a4d9c4,12,UnsupportedThrower
code-creation,Builtin,2,227655,0x7ff7b9a4da04,60,ReturnReceiver
code-creation,Builtin,2,227666,0x7ff7b9a4da44,36,ArrayConstructor
code-creation,Builtin,2,227692,0x7ff7b9a4da84,380,ArrayConstructorImpl
code-creation,Builtin,2,227702,0x7ff7b9a4dc04,220,ArrayNoArgumentConstructor_PackedSmi_DontOverride
code-creation,Builtin,2,227715,0x7ff7b9a4dd04,220,ArrayNoArgumentConstructor_HoleySmi_DontOverride
code-creation,Builtin,2,227727,0x7ff7b9a4de04,184,ArrayNoArgumentConstructor_PackedSmi_DisableAllocationSites
code-creation,Builtin,2,227740,0x7ff7b9a4dec4,184,ArrayNoArgumentConstructor_HoleySmi_DisableAllocationSites
code-creation,Builtin,2,227753,0x7ff7b9a4df84,184,ArrayNoArgumentConstructor_Packed_DisableAllocationSites
code-creation,Builtin,2,227765,0x7ff7b9a4e044,184,ArrayNoArgumentConstructor_Holey_DisableAllocationSites
code-creation,Builtin,2,227778,0x7ff7b9a4e104,192,ArrayNoArgumentConstructor_PackedDouble_DisableAllocationSites
code-creation,Builtin,2,227791,0x7ff7b9a4e204,192,ArrayNoArgumentConstructor_HoleyDouble_DisableAllocationSites
code-creation,Builtin,2,227804,0x7ff7b9a4e304,272,ArraySingleArgumentConstructor_PackedSmi_DontOverride
code-creation,Builtin,2,227816,0x7ff7b9a4e444,476,ArraySingleArgumentConstructor_HoleySmi_DontOverride
code-creation,Builtin,2,227829,0x7ff7b9a4e644,228,ArraySingleArgumentConstructor_PackedSmi_DisableAllocationSites
code-creation,Builtin,2,227842,0x7ff7b9a4e744,404,ArraySingleArgumentConstructor_HoleySmi_DisableAllocationSites
code-creation,Builtin,2,227855,0x7ff7b9a4e904,228,ArraySingleArgumentConstructor_Packed_DisableAllocationSites
code-creation,Builtin,2,227868,0x7ff7b9a4ea04,404,ArraySingleArgumentConstructor_Holey_DisableAllocationSites
code-creation,Builtin,2,227881,0x7ff7b9a4ebc4,228,ArraySingleArgumentConstructor_PackedDouble_DisableAllocationSites
code-creation,Builtin,2,227894,0x7ff7b9a4ecc4,408,ArraySingleArgumentConstructor_HoleyDouble_DisableAllocationSites
code-creation,Builtin,2,227907,0x7ff7b9a4ee84,48,ArrayNArgumentsConstructor
code-creation,Builtin,2,227918,0x7ff7b9a4eec4,12,ArrayConcat
code-creation,Builtin,2,227929,0x7ff7b9a4ef04,12,ArrayPrototypeFill
code-creation,Builtin,2,227940,0x7ff7b9a4ef44,1164,ArrayIncludesSmi
code-creation,Builtin,2,227951,0x7ff7b9a4f404,1164,ArrayIncludesSmiOrObject
code-creation,Builtin,2,227962,0x7ff7b9a4f8c4,152,ArrayIncludesPackedDoubles
code-creation,Builtin,2,227973,0x7ff7b9a4f984,220,ArrayIncludesHoleyDoubles
code-creation,Builtin,2,227991,0x7ff7b9a4fa84,584,ArrayIncludes
code-creation,Builtin,2,228001,0x7ff7b9a4fd04,1076,ArrayIndexOfSmi
code-creation,Builtin,2,228012,0x7ff7b9a50144,1076,ArrayIndexOfSmiOrObject
code-creation,Builtin,2,228023,0x7ff7b9a50584,116,ArrayIndexOfPackedDoubles
code-creation,Builtin,2,228034,0x7ff7b9a50604,116,ArrayIndexOfHoleyDoubles
code-creation,Builtin,2,228045,0x7ff7b9a50684,584,ArrayIndexOf
code-creation,Builtin,2,228056,0x7ff7b9a50904,12,ArrayPop
code-creation,Builtin,2,228066,0x7ff7b9a50944,568,ArrayPrototypePop
code-creation,Builtin,2,228077,0x7ff7b9a50b84,12,ArrayPrototypeGroup
code-creation,Builtin,2,228088,0x7ff7b9a50bc4,12,ArrayPrototypeGroupToMap
code-creation,Builtin,2,228099,0x7ff7b9a50c04,12,ArrayPush
code-creation,Builtin,2,228109,0x7ff7b9a50c44,2428,ArrayPrototypePush
code-creation,Builtin,2,228120,0x7ff7b9a515c4,12,ArrayShift
code-creation,Builtin,2,228130,0x7ff7b9a51604,12,ArrayUnshift
code-creation,Builtin,2,228140,0x7ff7b9a51644,12,ArrayFromAsync
code-creation,Builtin,2,228151,0x7ff7b9a51684,1088,CloneFastJSArray
code-creation,Builtin,2,228161,0x7ff7b9a51b04,2364,CloneFastJSArrayFillingHoles
code-creation,Builtin,2,228173,0x7ff7b9a52444,1112,ExtractFastJSArray
code-creation,Builtin,2,228186,0x7ff7b9a528c4,264,ArrayPrototypeEntries
code-creation,Builtin,2,228197,0x7ff7b9a52a04,252,ArrayPrototypeKeys
code-creation,Builtin,2,228207,0x7ff7b9a52b04,264,ArrayPrototypeValues
code-creation,Builtin,2,228218,0x7ff7b9a52c44,4256,ArrayIteratorPrototypeNext
code-creation,Builtin,2,228229,0x7ff7b9a53d04,4944,FlattenIntoArray
code-creation,Builtin,2,228239,0x7ff7b9a55084,4836,FlatMapIntoArray
code-creation,Builtin,2,228252,0x7ff7b9a56384,368,ArrayPrototypeFlat
code-creation,Builtin,2,228264,0x7ff7b9a56504,428,ArrayPrototypeFlatMap
code-creation,Builtin,2,228274,0x7ff7b9a566c4,12,ArrayBufferConstructor
code-creation,Builtin,2,228285,0x7ff7b9a56704,12,ArrayBufferConstructor_DoNotInitialize
code-creation,Builtin,2,228298,0x7ff7b9a56744,12,ArrayBufferPrototypeSlice
code-creation,Builtin,2,228308,0x7ff7b9a56784,12,ArrayBufferPrototypeResize
code-creation,Builtin,2,228320,0x7ff7b9a567c4,12,ArrayBufferPrototypeTransfer
code-creation,Builtin,2,228334,0x7ff7b9a56804,12,ArrayBufferPrototypeTransferToFixedLength
code-creation,Builtin,2,228347,0x7ff7b9a56844,964,AsyncFunctionEnter
code-creation,Builtin,2,228372,0x7ff7b9a56c44,80,AsyncFunctionReject
code-creation,Builtin,2,228384,0x7ff7b9a56cc4,76,AsyncFunctionResolve
code-creation,Builtin,2,228395,0x7ff7b9a56d44,12,AsyncFunctionLazyDeoptContinuation
code-creation,Builtin,2,228408,0x7ff7b9a56d84,1564,AsyncFunctionAwaitCaught
code-creation,Builtin,2,228419,0x7ff7b9a573c4,1564,AsyncFunctionAwaitUncaught
code-creation,Builtin,2,228431,0x7ff7b9a57a04,172,AsyncFunctionAwaitRejectClosure
code-creation,Builtin,2,228443,0x7ff7b9a57ac4,168,AsyncFunctionAwaitResolveClosure
code-creation,Builtin,2,228455,0x7ff7b9a57b84,12,BigIntConstructor
code-creation,Builtin,2,228466,0x7ff7b9a57bc4,12,BigIntAsUintN
code-creation,Builtin,2,228478,0x7ff7b9a57c04,12,BigIntAsIntN
code-creation,Builtin,2,228489,0x7ff7b9a57c44,12,BigIntPrototypeToLocaleString
code-creation,Builtin,2,228500,0x7ff7b9a57c84,12,BigIntPrototypeToString
code-creation,Builtin,2,228512,0x7ff7b9a57cc4,12,BigIntPrototypeValueOf
code-creation,Builtin,2,228524,0x7ff7b9a57d04,12,CallSitePrototypeGetColumnNumber
code-creation,Builtin,2,228539,0x7ff7b9a57d44,12,CallSitePrototypeGetEnclosingColumnNumber
code-creation,Builtin,2,228552,0x7ff7b9a57d84,12,CallSitePrototypeGetEnclosingLineNumber
code-creation,Builtin,2,228564,0x7ff7b9a57dc4,12,CallSitePrototypeGetEvalOrigin
code-creation,Builtin,2,228576,0x7ff7b9a57e04,12,CallSitePrototypeGetFileName
code-creation,Builtin,2,228594,0x7ff7b9a57e44,12,CallSitePrototypeGetFunction
code-creation,Builtin,2,228610,0x7ff7b9a57e84,12,CallSitePrototypeGetFunctionName
code-creation,Builtin,2,228629,0x7ff7b9a57ec4,12,CallSitePrototypeGetLineNumber
code-creation,Builtin,2,228648,0x7ff7b9a57f04,12,CallSitePrototypeGetMethodName
code-creation,Builtin,2,228668,0x7ff7b9a57f44,12,CallSitePrototypeGetPosition
code-creation,Builtin,2,228686,0x7ff7b9a57f84,12,CallSitePrototypeGetPromiseIndex
code-creation,Builtin,2,228711,0x7ff7b9a57fc4,12,CallSitePrototypeGetScriptHash
code-creation,Builtin,2,228756,0x7ff7b9a58004,12,CallSitePrototypeGetScriptNameOrSourceURL
code-creation,Builtin,2,228775,0x7ff7b9a58044,12,CallSitePrototypeGetThis
code-creation,Builtin,2,228794,0x7ff7b9a58084,12,CallSitePrototypeGetTypeName
code-creation,Builtin,2,228812,0x7ff7b9a580c4,12,CallSitePrototypeIsAsync
code-creation,Builtin,2,228828,0x7ff7b9a58104,12,CallSitePrototypeIsConstructor
code-creation,Builtin,2,228845,0x7ff7b9a58144,12,CallSitePrototypeIsEval
code-creation,Builtin,2,228862,0x7ff7b9a58184,12,CallSitePrototypeIsNative
code-creation,Builtin,2,228881,0x7ff7b9a581c4,12,CallSitePrototypeIsPromiseAll
code-creation,Builtin,2,228914,0x7ff7b9a58204,12,CallSitePrototypeIsToplevel
code-creation,Builtin,2,228932,0x7ff7b9a58244,12,CallSitePrototypeToString
code-creation,Builtin,2,228950,0x7ff7b9a58284,12,ConsoleDebug
code-creation,Builtin,2,228968,0x7ff7b9a582c4,12,ConsoleError
code-creation,Builtin,2,228985,0x7ff7b9a58304,12,ConsoleInfo
code-creation,Builtin,2,229002,0x7ff7b9a58344,12,ConsoleLog
code-creation,Builtin,2,229017,0x7ff7b9a58384,12,ConsoleWarn
code-creation,Builtin,2,229034,0x7ff7b9a583c4,12,ConsoleDir
code-creation,Builtin,2,229066,0x7ff7b9a58404,12,ConsoleDirXml
code-creation,Builtin,2,229084,0x7ff7b9a58444,12,ConsoleTable
code-creation,Builtin,2,229102,0x7ff7b9a58484,12,ConsoleTrace
code-creation,Builtin,2,229120,0x7ff7b9a584c4,12,ConsoleGroup
code-creation,Builtin,2,229134,0x7ff7b9a58504,12,ConsoleGroupCollapsed
code-creation,Builtin,2,229154,0x7ff7b9a58544,12,ConsoleGroupEnd
code-creation,Builtin,2,229174,0x7ff7b9a58584,12,ConsoleClear
code-creation,Builtin,2,229192,0x7ff7b9a585c4,12,ConsoleCount
code-creation,Builtin,2,229208,0x7ff7b9a58604,12,ConsoleCountReset
code-creation,Builtin,2,229225,0x7ff7b9a58644,12,ConsoleAssert
code-creation,Builtin,2,229237,0x7ff7b9a58684,12,ConsoleProfile
code-creation,Builtin,2,229247,0x7ff7b9a586c4,12,ConsoleProfileEnd
code-creation,Builtin,2,229259,0x7ff7b9a58704,12,ConsoleTime
code-creation,Builtin,2,229270,0x7ff7b9a58744,12,ConsoleTimeLog
code-creation,Builtin,2,229281,0x7ff7b9a58784,12,ConsoleTimeEnd
code-creation,Builtin,2,229292,0x7ff7b9a587c4,12,ConsoleTimeStamp
code-creation,Builtin,2,229304,0x7ff7b9a58804,12,ConsoleContext
code-creation,Builtin,2,229315,0x7ff7b9a58844,12,DataViewConstructor
code-creation,Builtin,2,229326,0x7ff7b9a58884,12,DateConstructor
code-creation,Builtin,2,229337,0x7ff7b9a588c4,216,DatePrototypeGetDate
code-creation,Builtin,2,229348,0x7ff7b9a589c4,216,DatePrototypeGetDay
code-creation,Builtin,2,229360,0x7ff7b9a58ac4,216,DatePrototypeGetFullYear
code-creation,Builtin,2,229372,0x7ff7b9a58bc4,216,DatePrototypeGetHours
code-creation,Builtin,2,229384,0x7ff7b9a58cc4,196,DatePrototypeGetMilliseconds
code-creation,Builtin,2,229395,0x7ff7b9a58dc4,216,DatePrototypeGetMinutes
code-creation,Builtin,2,229407,0x7ff7b9a58ec4,216,DatePrototypeGetMonth
code-creation,Builtin,2,229418,0x7ff7b9a58fc4,216,DatePrototypeGetSeconds
code-creation,Builtin,2,229430,0x7ff7b9a590c4,128,DatePrototypeGetTime
code-creation,Builtin,2,229441,0x7ff7b9a59184,196,DatePrototypeGetTimezoneOffset
code-creation,Builtin,2,229453,0x7ff7b9a59284,196,DatePrototypeGetUTCDate
code-creation,Builtin,2,229465,0x7ff7b9a59384,196,DatePrototypeGetUTCDay
code-creation,Builtin,2,229480,0x7ff7b9a59484,196,DatePrototypeGetUTCFullYear
code-creation,Builtin,2,229492,0x7ff7b9a59584,196,DatePrototypeGetUTCHours
code-creation,Builtin,2,229514,0x7ff7b9a59684,196,DatePrototypeGetUTCMilliseconds
code-creation,Builtin,2,229526,0x7ff7b9a59784,196,DatePrototypeGetUTCMinutes
code-creation,Builtin,2,229538,0x7ff7b9a59884,196,DatePrototypeGetUTCMonth
code-creation,Builtin,2,229549,0x7ff7b9a59984,196,DatePrototypeGetUTCSeconds
code-creation,Builtin,2,229562,0x7ff7b9a59a84,128,DatePrototypeValueOf
code-creation,Builtin,2,229573,0x7ff7b9a59b44,436,DatePrototypeToPrimitive
code-creation,Builtin,2,229584,0x7ff7b9a59d04,12,DatePrototypeGetYear
code-creation,Builtin,2,229596,0x7ff7b9a59d44,12,DatePrototypeSetYear
code-creation,Builtin,2,229607,0x7ff7b9a59d84,12,DateNow
code-creation,Builtin,2,229618,0x7ff7b9a59dc4,12,DateParse
code-creation,Builtin,2,229628,0x7ff7b9a59e04,12,DatePrototypeSetDate
code-creation,Builtin,2,229640,0x7ff7b9a59e44,12,DatePrototypeSetFullYear
code-creation,Builtin,2,229652,0x7ff7b9a59e84,12,DatePrototypeSetHours
code-creation,Builtin,2,229678,0x7ff7b9a59ec4,12,DatePrototypeSetMilliseconds
code-creation,Builtin,2,229689,0x7ff7b9a59f04,12,DatePrototypeSetMinutes
code-creation,Builtin,2,229701,0x7ff7b9a59f44,12,DatePrototypeSetMonth
code-creation,Builtin,2,229712,0x7ff7b9a59f84,12,DatePrototypeSetSeconds
code-creation,Builtin,2,229723,0x7ff7b9a59fc4,12,DatePrototypeSetTime
code-creation,Builtin,2,229734,0x7ff7b9a5a004,12,DatePrototypeSetUTCDate
code-creation,Builtin,2,229746,0x7ff7b9a5a044,12,DatePrototypeSetUTCFullYear
code-creation,Builtin,2,229758,0x7ff7b9a5a084,12,DatePrototypeSetUTCHours
code-creation,Builtin,2,229770,0x7ff7b9a5a0c4,12,DatePrototypeSetUTCMilliseconds
code-creation,Builtin,2,229782,0x7ff7b9a5a104,12,DatePrototypeSetUTCMinutes
code-creation,Builtin,2,229793,0x7ff7b9a5a144,12,DatePrototypeSetUTCMonth
code-creation,Builtin,2,229805,0x7ff7b9a5a184,12,DatePrototypeSetUTCSeconds
code-creation,Builtin,2,229816,0x7ff7b9a5a1c4,12,DatePrototypeToDateString
code-creation,Builtin,2,229828,0x7ff7b9a5a204,12,DatePrototypeToISOString
code-creation,Builtin,2,229840,0x7ff7b9a5a244,12,DatePrototypeToUTCString
code-creation,Builtin,2,229851,0x7ff7b9a5a284,12,DatePrototypeToString
code-creation,Builtin,2,229866,0x7ff7b9a5a2c4,12,DatePrototypeToTimeString
code-creation,Builtin,2,229879,0x7ff7b9a5a304,12,DatePrototypeToJson
code-creation,Builtin,2,229892,0x7ff7b9a5a344,12,DateUTC
code-creation,Builtin,2,229914,0x7ff7b9a5a384,12,ErrorConstructor
code-creation,Builtin,2,229925,0x7ff7b9a5a3c4,12,ErrorCaptureStackTrace
code-creation,Builtin,2,229936,0x7ff7b9a5a404,12,ErrorPrototypeToString
code-creation,Builtin,2,229948,0x7ff7b9a5a444,12,FunctionConstructor
code-creation,Builtin,2,229959,0x7ff7b9a5a484,80,FunctionPrototypeApply
code-creation,Builtin,2,229970,0x7ff7b9a5a504,12,FunctionPrototypeBind
code-creation,Builtin,2,229982,0x7ff7b9a5a544,36,FunctionPrototypeCall
code-creation,Builtin,2,229993,0x7ff7b9a5a584,12,FunctionPrototypeToString
code-creation,Builtin,2,230004,0x7ff7b9a5a5c4,212,CreateIterResultObject
code-creation,Builtin,2,230015,0x7ff7b9a5a6c4,916,CreateGeneratorObject
code-creation,Builtin,2,230027,0x7ff7b9a5aa84,12,GeneratorFunctionConstructor
code-creation,Builtin,2,230039,0x7ff7b9a5aac4,404,GeneratorPrototypeNext
code-creation,Builtin,2,230050,0x7ff7b9a5ac84,404,GeneratorPrototypeReturn
code-creation,Builtin,2,230062,0x7ff7b9a5ae44,408,GeneratorPrototypeThrow
code-creation,Builtin,2,230073,0x7ff7b9a5b004,12,AsyncFunctionConstructor
code-creation,Builtin,2,230085,0x7ff7b9a5b044,384,SuspendGeneratorBaseline
code-creation,Builtin,2,230096,0x7ff7b9a5b204,96,ResumeGeneratorBaseline
code-creation,Builtin,2,230107,0x7ff7b9a5b284,36,GetIteratorWithFeedbackLazyDeoptContinuation
code-creation,Builtin,2,230121,0x7ff7b9a5b2c4,84,CallIteratorWithFeedbackLazyDeoptContinuation
code-creation,Builtin,2,230135,0x7ff7b9a5b344,12,GlobalDecodeURI
code-creation,Builtin,2,230145,0x7ff7b9a5b384,12,GlobalDecodeURIComponent
code-creation,Builtin,2,230157,0x7ff7b9a5b3c4,12,GlobalEncodeURI
code-creation,Builtin,2,230168,0x7ff7b9a5b404,12,GlobalEncodeURIComponent
code-creation,Builtin,2,230194,0x7ff7b9a5b444,12,GlobalEscape
code-creation,Builtin,2,230207,0x7ff7b9a5b484,12,GlobalUnescape
code-creation,Builtin,2,230219,0x7ff7b9a5b4c4,12,GlobalEval
code-creation,Builtin,2,230229,0x7ff7b9a5b504,136,GlobalIsFinite
code-creation,Builtin,2,230241,0x7ff7b9a5b5c4,132,GlobalIsNaN
code-creation,Builtin,2,230252,0x7ff7b9a5b684,12,JsonParse
code-creation,Builtin,2,230262,0x7ff7b9a5b6c4,12,JsonStringify
code-creation,Builtin,2,230275,0x7ff7b9a5b704,12,JsonRawJson
code-creation,Builtin,2,230303,0x7ff7b9a5b744,12,JsonIsRawJson
code-creation,Builtin,2,230314,0x7ff7b9a5b784,5084,LoadIC
code-creation,Builtin,2,230328,0x7ff7b9a5cb84,4720,LoadIC_Megamorphic
code-creation,Builtin,2,230339,0x7ff7b9a5de04,4932,LoadIC_Noninlined
code-creation,Builtin,2,230352,0x7ff7b9a5f184,44,LoadICTrampoline
code-creation,Builtin,2,230364,0x7ff7b9a5f1c4,24,LoadICBaseline
code-creation,Builtin,2,230375,0x7ff7b9a5f204,44,LoadICTrampoline_Megamorphic
code-creation,Builtin,2,230388,0x7ff7b9a5f244,8860,LoadSuperIC
code-creation,Builtin,2,230399,0x7ff7b9a61504,24,LoadSuperICBaseline
code-creation,Builtin,2,230411,0x7ff7b9a61544,8260,KeyedLoadIC
code-creation,Builtin,2,230423,0x7ff7b9a635c4,16288,KeyedLoadIC_Megamorphic
code-creation,Builtin,2,230435,0x7ff7b9a67584,13348,KeyedLoadIC_MegamorphicStringKey
code-creation,Builtin,2,230448,0x7ff7b9a6a9c4,44,KeyedLoadICTrampoline
code-creation,Builtin,2,230460,0x7ff7b9a6aa04,24,KeyedLoadICBaseline
code-creation,Builtin,2,230472,0x7ff7b9a6aa44,44,KeyedLoadICTrampoline_Megamorphic
code-creation,Builtin,2,230488,0x7ff7b9a6aa84,44,KeyedLoadICTrampoline_MegamorphicStringKey
code-creation,Builtin,2,230501,0x7ff7b9a6aac4,5440,StoreGlobalIC
code-creation,Builtin,2,230513,0x7ff7b9a6c044,44,StoreGlobalICTrampoline
code-creation,Builtin,2,230526,0x7ff7b9a6c084,24,StoreGlobalICBaseline
code-creation,Builtin,2,230538,0x7ff7b9a6c0c4,5956,StoreIC
code-creation,Builtin,2,230549,0x7ff7b9a6d844,44,StoreICTrampoline
code-creation,Builtin,2,230561,0x7ff7b9a6d884,24,StoreICBaseline
code-creation,Builtin,2,230573,0x7ff7b9a6d8c4,5748,DefineNamedOwnIC
code-creation,Builtin,2,230584,0x7ff7b9a6ef44,44,DefineNamedOwnICTrampoline
code-creation,Builtin,2,230678,0x7ff7b9a6ef84,24,DefineNamedOwnICBaseline
code-creation,Builtin,2,230693,0x7ff7b9a6efc4,6440,KeyedStoreIC
code-creation,Builtin,2,230706,0x7ff7b9a70904,44,KeyedStoreICTrampoline
code-creation,Builtin,2,230718,0x7ff7b9a70944,24,KeyedStoreICBaseline
code-creation,Builtin,2,230730,0x7ff7b9a70984,6372,DefineKeyedOwnIC
code-creation,Builtin,2,230742,0x7ff7b9a72284,52,DefineKeyedOwnICTrampoline
code-creation,Builtin,2,230754,0x7ff7b9a722c4,28,DefineKeyedOwnICBaseline
code-creation,Builtin,2,230767,0x7ff7b9a72304,320,StoreInArrayLiteralIC
code-creation,Builtin,2,230779,0x7ff7b9a72484,24,StoreInArrayLiteralICBaseline
code-creation,Builtin,2,230791,0x7ff7b9a724c4,144,LookupContextTrampoline
code-creation,Builtin,2,230804,0x7ff7b9a72584,156,LookupContextBaseline
code-creation,Builtin,2,230817,0x7ff7b9a72644,144,LookupContextInsideTypeofTrampoline
code-creation,Builtin,2,230830,0x7ff7b9a72704,156,LookupContextInsideTypeofBaseline
code-creation,Builtin,2,230843,0x7ff7b9a727c4,3252,LoadGlobalIC
code-creation,Builtin,2,230854,0x7ff7b9a73484,3232,LoadGlobalICInsideTypeof
code-creation,Builtin,2,230866,0x7ff7b9a74144,44,LoadGlobalICTrampoline
code-creation,Builtin,2,230879,0x7ff7b9a74184,24,LoadGlobalICBaseline
code-creation,Builtin,2,230892,0x7ff7b9a741c4,44,LoadGlobalICInsideTypeofTrampoline
code-creation,Builtin,2,230918,0x7ff7b9a74204,24,LoadGlobalICInsideTypeofBaseline
code-creation,Builtin,2,230931,0x7ff7b9a74244,140,LookupGlobalIC
code-creation,Builtin,2,230943,0x7ff7b9a74304,176,LookupGlobalICTrampoline
code-creation,Builtin,2,230956,0x7ff7b9a743c4,160,LookupGlobalICBaseline
code-creation,Builtin,2,230968,0x7ff7b9a74484,140,LookupGlobalICInsideTypeof
code-creation,Builtin,2,230981,0x7ff7b9a74544,176,LookupGlobalICInsideTypeofTrampoline
code-creation,Builtin,2,230993,0x7ff7b9a74604,160,LookupGlobalICInsideTypeofBaseline
code-creation,Builtin,2,231006,0x7ff7b9a746c4,2692,CloneObjectIC
code-creation,Builtin,2,231018,0x7ff7b9a75184,24,CloneObjectICBaseline
code-creation,Builtin,2,231031,0x7ff7b9a751c4,2728,CloneObjectIC_Slow
code-creation,Builtin,2,231044,0x7ff7b9a75c84,3108,KeyedHasIC
code-creation,Builtin,2,231055,0x7ff7b9a768c4,24,KeyedHasICBaseline
code-creation,Builtin,2,231067,0x7ff7b9a76904,3468,KeyedHasIC_Megamorphic
code-creation,Builtin,2,231080,0x7ff7b9a776c4,1720,IterableToList
code-creation,Builtin,2,231091,0x7ff7b9a77d84,1532,IterableToFixedArray
code-creation,Builtin,2,231104,0x7ff7b9a78384,728,IterableToListWithSymbolLookup
code-creation,Builtin,2,231117,0x7ff7b9a78684,56,IterableToFixedArrayWithSymbolLookupSlow
code-creation,Builtin,2,231130,0x7ff7b9a786c4,112,IterableToListMayPreserveHoles
code-creation,Builtin,2,231143,0x7ff7b9a78744,1232,IterableToFixedArrayForWasm
code-creation,Builtin,2,231159,0x7ff7b9a78c44,1668,StringListFromIterable
code-creation,Builtin,2,231172,0x7ff7b9a79304,1144,FindOrderedHashMapEntry
code-creation,Builtin,2,231184,0x7ff7b9a79784,4296,MapConstructor
code-creation,Builtin,2,231196,0x7ff7b9a7a884,1888,MapPrototypeSet
code-creation,Builtin,2,231208,0x7ff7b9a7b004,1460,MapPrototypeDelete
code-creation,Builtin,2,231220,0x7ff7b9a7b5c4,212,MapPrototypeGet
code-creation,Builtin,2,231232,0x7ff7b9a7b6c4,172,MapPrototypeHas
code-creation,Builtin,2,231245,0x7ff7b9a7b784,12,MapPrototypeClear
code-creation,Builtin,2,231258,0x7ff7b9a7b7c4,288,MapPrototypeEntries
code-creation,Builtin,2,231269,0x7ff7b9a7b904,144,MapPrototypeGetSize
code-creation,Builtin,2,231280,0x7ff7b9a7b9c4,488,MapPrototypeForEach
code-creation,Builtin,2,231291,0x7ff7b9a7bbc4,288,MapPrototypeKeys
code-creation,Builtin,2,231303,0x7ff7b9a7bd04,288,MapPrototypeValues
code-creation,Builtin,2,231314,0x7ff7b9a7be44,916,MapIteratorPrototypeNext
code-creation,Builtin,2,231326,0x7ff7b9a7c204,1180,MapIteratorToList
code-creation,Builtin,2,231337,0x7ff7b9a7c6c4,12,NumberPrototypeToExponential
code-creation,Builtin,2,231349,0x7ff7b9a7c704,12,NumberPrototypeToFixed
code-creation,Builtin,2,231360,0x7ff7b9a7c744,12,NumberPrototypeToLocaleString
code-creation,Builtin,2,231372,0x7ff7b9a7c784,12,NumberPrototypeToPrecision
code-creation,Builtin,2,231398,0x7ff7b9a7c7c4,356,SameValue
code-creation,Builtin,2,231410,0x7ff7b9a7c944,200,SameValueNumbersOnly
code-creation,Builtin,2,231421,0x7ff7b9a7ca44,1368,Add_Baseline
code-creation,Builtin,2,231432,0x7ff7b9a7cfc4,1072,AddSmi_Baseline
code-creation,Builtin,2,231443,0x7ff7b9a7d404,1340,Subtract_Baseline
code-creation,Builtin,2,231454,0x7ff7b9a7d944,1076,SubtractSmi_Baseline
code-creation,Builtin,2,231466,0x7ff7b9a7dd84,1436,Multiply_Baseline
code-creation,Builtin,2,231477,0x7ff7b9a7e344,1164,MultiplySmi_Baseline
code-creation,Builtin,2,231488,0x7ff7b9a7e804,1532,Divide_Baseline
code-creation,Builtin,2,231499,0x7ff7b9a7ee04,1304,DivideSmi_Baseline
code-creation,Builtin,2,231514,0x7ff7b9a7f344,1472,Modulus_Baseline
code-creation,Builtin,2,231525,0x7ff7b9a7f944,1188,ModulusSmi_Baseline
code-creation,Builtin,2,231537,0x7ff7b9a7fe04,812,Exponentiate_Baseline
code-creation,Builtin,2,231549,0x7ff7b9a80144,708,ExponentiateSmi_Baseline
code-creation,Builtin,2,231560,0x7ff7b9a80444,1520,BitwiseAnd_Baseline
code-creation,Builtin,2,231572,0x7ff7b9a80a44,368,BitwiseAndSmi_Baseline
code-creation,Builtin,2,231583,0x7ff7b9a80bc4,1520,BitwiseOr_Baseline
code-creation,Builtin,2,231595,0x7ff7b9a811c4,368,BitwiseOrSmi_Baseline
code-creation,Builtin,2,231606,0x7ff7b9a81344,1524,BitwiseXor_Baseline
code-creation,Builtin,2,231618,0x7ff7b9a81944,368,BitwiseXorSmi_Baseline
code-creation,Builtin,2,231629,0x7ff7b9a81ac4,976,ShiftLeft_Baseline
code-creation,Builtin,2,231640,0x7ff7b9a81ec4,392,ShiftLeftSmi_Baseline
code-creation,Builtin,2,231652,0x7ff7b9a82084,976,ShiftRight_Baseline
code-creation,Builtin,2,231663,0x7ff7b9a82484,376,ShiftRightSmi_Baseline
code-creation,Builtin,2,231675,0x7ff7b9a82604,1096,ShiftRightLogical_Baseline
code-creation,Builtin,2,231687,0x7ff7b9a82a84,632,ShiftRightLogicalSmi_Baseline
code-creation,Builtin,2,231699,0x7ff7b9a82d04,1304,Add_WithFeedback
code-creation,Builtin,2,231710,0x7ff7b9a83244,1288,Subtract_WithFeedback
code-creation,Builtin,2,231721,0x7ff7b9a83784,1380,Multiply_WithFeedback
code-creation,Builtin,2,231733,0x7ff7b9a83d04,1488,Divide_WithFeedback
code-creation,Builtin,2,231744,0x7ff7b9a84304,1408,Modulus_WithFeedback
code-creation,Builtin,2,231756,0x7ff7b9a848c4,772,Exponentiate_WithFeedback
code-creation,Builtin,2,231768,0x7ff7b9a84c04,1464,BitwiseAnd_WithFeedback
code-creation,Builtin,2,231779,0x7ff7b9a851c4,1464,BitwiseOr_WithFeedback
code-creation,Builtin,2,231791,0x7ff7b9a85784,1464,BitwiseXor_WithFeedback
code-creation,Builtin,2,231802,0x7ff7b9a85d44,928,ShiftLeft_WithFeedback
code-creation,Builtin,2,231815,0x7ff7b9a86104,928,ShiftRight_WithFeedback
code-creation,Builtin,2,231826,0x7ff7b9a864c4,1040,ShiftRightLogical_WithFeedback
code-creation,Builtin,2,231840,0x7ff7b9a86904,1968,Equal_Baseline
code-creation,Builtin,2,231851,0x7ff7b9a870c4,1188,StrictEqual_Baseline
code-creation,Builtin,2,231864,0x7ff7b9a87584,1440,LessThan_Baseline
code-creation,Builtin,2,231875,0x7ff7b9a87b44,1440,GreaterThan_Baseline
code-creation,Builtin,2,231888,0x7ff7b9a88104,1440,LessThanOrEqual_Baseline
code-creation,Builtin,2,231900,0x7ff7b9a886c4,1440,GreaterThanOrEqual_Baseline
code-creation,Builtin,2,231913,0x7ff7b9a88c84,1868,Equal_WithFeedback
code-creation,Builtin,2,231925,0x7ff7b9a89404,1188,StrictEqual_WithFeedback
code-creation,Builtin,2,231938,0x7ff7b9a898c4,1428,LessThan_WithFeedback
code-creation,Builtin,2,231950,0x7ff7b9a89e84,1428,GreaterThan_WithFeedback
code-creation,Builtin,2,231963,0x7ff7b9a8a444,1428,LessThanOrEqual_WithFeedback
code-creation,Builtin,2,231975,0x7ff7b9a8aa04,1428,GreaterThanOrEqual_WithFeedback
code-creation,Builtin,2,231988,0x7ff7b9a8afc4,360,BitwiseNot_Baseline
code-creation,Builtin,2,232001,0x7ff7b9a8b144,456,Decrement_Baseline
code-creation,Builtin,2,232028,0x7ff7b9a8b344,460,Increment_Baseline
code-creation,Builtin,2,232040,0x7ff7b9a8b544,488,Negate_Baseline
code-creation,Builtin,2,232052,0x7ff7b9a8b744,348,BitwiseNot_WithFeedback
code-creation,Builtin,2,232064,0x7ff7b9a8b8c4,440,Decrement_WithFeedback
code-creation,Builtin,2,232083,0x7ff7b9a8ba84,444,Increment_WithFeedback
code-creation,Builtin,2,232097,0x7ff7b9a8bc44,468,Negate_WithFeedback
code-creation,Builtin,2,232110,0x7ff7b9a8be44,256,ObjectAssign
code-creation,Builtin,2,232121,0x7ff7b9a8bf84,932,ObjectCreate
code-creation,Builtin,2,232133,0x7ff7b9a8c344,12,ObjectDefineGetter
code-creation,Builtin,2,232145,0x7ff7b9a8c384,12,ObjectDefineProperties
code-creation,Builtin,2,232158,0x7ff7b9a8c3c4,12,ObjectDefineProperty
code-creation,Builtin,2,232170,0x7ff7b9a8c404,12,ObjectDefineSetter
code-creation,Builtin,2,232182,0x7ff7b9a8c444,1484,ObjectEntries
code-creation,Builtin,2,232193,0x7ff7b9a8ca44,12,ObjectFreeze
code-creation,Builtin,2,232205,0x7ff7b9a8ca84,4760,ObjectGetOwnPropertyDescriptor
code-creation,Builtin,2,232218,0x7ff7b9a8dd44,12,ObjectGetOwnPropertyDescriptors
code-creation,Builtin,2,232230,0x7ff7b9a8dd84,600,ObjectGetOwnPropertyNames
code-creation,Builtin,2,232243,0x7ff7b9a8e004,12,ObjectGetOwnPropertySymbols
code-creation,Builtin,2,232255,0x7ff7b9a8e044,168,ObjectHasOwn
code-creation,Builtin,2,232267,0x7ff7b9a8e104,416,ObjectIs
code-creation,Builtin,2,232278,0x7ff7b9a8e2c4,12,ObjectIsFrozen
code-creation,Builtin,2,232290,0x7ff7b9a8e304,12,ObjectIsSealed
code-creation,Builtin,2,232301,0x7ff7b9a8e344,532,ObjectKeys
code-creation,Builtin,2,232313,0x7ff7b9a8e584,12,ObjectLookupGetter
code-creation,Builtin,2,232324,0x7ff7b9a8e5c4,12,ObjectLookupSetter
code-creation,Builtin,2,232336,0x7ff7b9a8e604,3056,ObjectPrototypeHasOwnProperty
code-creation,Builtin,2,232349,0x7ff7b9a8f204,240,ObjectPrototypeIsPrototypeOf
code-creation,Builtin,2,232363,0x7ff7b9a8f304,12,ObjectPrototypePropertyIsEnumerable
code-creation,Builtin,2,232376,0x7ff7b9a8f344,12,ObjectPrototypeGetProto
code-creation,Builtin,2,232388,0x7ff7b9a8f384,12,ObjectPrototypeSetProto
code-creation,Builtin,2,232401,0x7ff7b9a8f3c4,12,ObjectSeal
code-creation,Builtin,2,232412,0x7ff7b9a8f404,1356,ObjectToString
code-creation,Builtin,2,232424,0x7ff7b9a8f984,1260,ObjectValues
code-creation,Builtin,2,232436,0x7ff7b9a8fe84,304,OrdinaryHasInstance
code-creation,Builtin,2,232448,0x7ff7b9a8ffc4,372,InstanceOf
code-creation,Builtin,2,232460,0x7ff7b9a90144,644,InstanceOf_WithFeedback
code-creation,Builtin,2,232473,0x7ff7b9a90404,664,InstanceOf_Baseline
code-creation,Builtin,2,232485,0x7ff7b9a906c4,276,ForInEnumerate
code-creation,Builtin,2,232497,0x7ff7b9a90804,148,ForInPrepare
code-creation,Builtin,2,232509,0x7ff7b9a908c4,3408,ForInFilter
code-creation,Builtin,2,232521,0x7ff7b9a91644,56,ReflectApply
code-creation,Builtin,2,232535,0x7ff7b9a91684,64,ReflectConstruct
code-creation,Builtin,2,232546,0x7ff7b9a91704,12,ReflectDefineProperty
code-creation,Builtin,2,232559,0x7ff7b9a91744,12,ReflectOwnKeys
code-creation,Builtin,2,232571,0x7ff7b9a91784,12,ReflectSet
code-creation,Builtin,2,232582,0x7ff7b9a917c4,12,RegExpCapture1Getter
code-creation,Builtin,2,232594,0x7ff7b9a91804,12,RegExpCapture2Getter
code-creation,Builtin,2,232619,0x7ff7b9a91844,12,RegExpCapture3Getter
code-creation,Builtin,2,232632,0x7ff7b9a91884,12,RegExpCapture4Getter
code-creation,Builtin,2,232644,0x7ff7b9a918c4,12,RegExpCapture5Getter
code-creation,Builtin,2,232656,0x7ff7b9a91904,12,RegExpCapture6Getter
code-creation,Builtin,2,232668,0x7ff7b9a91944,12,RegExpCapture7Getter
code-creation,Builtin,2,232679,0x7ff7b9a91984,12,RegExpCapture8Getter
code-creation,Builtin,2,232692,0x7ff7b9a919c4,12,RegExpCapture9Getter
code-creation,Builtin,2,232704,0x7ff7b9a91a04,2360,RegExpConstructor
code-creation,Builtin,2,232716,0x7ff7b9a92344,12,RegExpInputGetter
code-creation,Builtin,2,232728,0x7ff7b9a92384,12,RegExpInputSetter
code-creation,Builtin,2,232740,0x7ff7b9a923c4,12,RegExpLastMatchGetter
code-creation,Builtin,2,232752,0x7ff7b9a92404,12,RegExpLastParenGetter
code-creation,Builtin,2,232764,0x7ff7b9a92444,12,RegExpLeftContextGetter
code-creation,Builtin,2,232776,0x7ff7b9a92484,952,RegExpPrototypeCompile
code-creation,Builtin,2,232789,0x7ff7b9a92844,12,RegExpPrototypeToString
code-creation,Builtin,2,232801,0x7ff7b9a92884,12,RegExpRightContextGetter
code-creation,Builtin,2,232828,0x7ff7b9a928c4,248,RegExpExecAtom
code-creation,Builtin,2,232840,0x7ff7b9a929c4,1012,RegExpExecInternal
code-creation,Builtin,2,232854,0x7ff7b9a92dc4,8,RegExpInterpreterTrampoline
code-creation,Builtin,2,232868,0x7ff7b9a92e04,8,RegExpExperimentalTrampoline
code-creation,Builtin,2,232881,0x7ff7b9a92e44,1128,FindOrderedHashSetEntry
code-creation,Builtin,2,232893,0x7ff7b9a932c4,2972,SetConstructor
code-creation,Builtin,2,232905,0x7ff7b9a93e84,172,SetPrototypeHas
code-creation,Builtin,2,232918,0x7ff7b9a93f44,1660,SetPrototypeAdd
code-creation,Builtin,2,232939,0x7ff7b9a945c4,1424,SetPrototypeDelete
code-creation,Builtin,2,232951,0x7ff7b9a94b84,12,SetPrototypeClear
code-creation,Builtin,2,232963,0x7ff7b9a94bc4,288,SetPrototypeEntries
code-creation,Builtin,2,232975,0x7ff7b9a94d04,148,SetPrototypeGetSize
code-creation,Builtin,2,233001,0x7ff7b9a94dc4,456,SetPrototypeForEach
code-creation,Builtin,2,233013,0x7ff7b9a94fc4,288,SetPrototypeValues
code-creation,Builtin,2,233025,0x7ff7b9a95104,840,SetIteratorPrototypeNext
code-creation,Builtin,2,233037,0x7ff7b9a95484,1112,SetOrSetIteratorToList
code-creation,Builtin,2,233049,0x7ff7b9a95904,12,ShadowRealmConstructor
code-creation,Builtin,2,233062,0x7ff7b9a95944,576,ShadowRealmGetWrappedValue
code-creation,Builtin,2,233075,0x7ff7b9a95bc4,12,ShadowRealmPrototypeEvaluate
code-creation,Builtin,2,233087,0x7ff7b9a95c04,1404,ShadowRealmPrototypeImportValue
code-creation,Builtin,2,233100,0x7ff7b9a96184,236,ShadowRealmImportValueFulfilled
code-creation,Builtin,2,233113,0x7ff7b9a96284,76,ShadowRealmImportValueRejected
code-creation,Builtin,2,233127,0x7ff7b9a96304,12,SharedArrayBufferPrototypeGetByteLength
code-creation,Builtin,2,233140,0x7ff7b9a96344,12,SharedArrayBufferPrototypeSlice
code-creation,Builtin,2,233153,0x7ff7b9a96384,12,SharedArrayBufferPrototypeGrow
code-creation,Builtin,2,233166,0x7ff7b9a963c4,2108,AtomicsLoad
code-creation,Builtin,2,233178,0x7ff7b9a96c04,2240,AtomicsStore
code-creation,Builtin,2,233195,0x7ff7b9a97504,2844,AtomicsExchange
code-creation,Builtin,2,233207,0x7ff7b9a98044,3128,AtomicsCompareExchange
code-creation,Builtin,2,233219,0x7ff7b9a98c84,2868,AtomicsAdd
code-creation,Builtin,2,233231,0x7ff7b9a997c4,2868,AtomicsSub
code-creation,Builtin,2,233243,0x7ff7b9a9a304,2868,AtomicsAnd
code-creation,Builtin,2,233254,0x7ff7b9a9ae44,2868,AtomicsOr
code-creation,Builtin,2,233266,0x7ff7b9a9b984,2868,AtomicsXor
code-creation,Builtin,2,233277,0x7ff7b9a9c4c4,12,AtomicsNotify
code-creation,Builtin,2,233289,0x7ff7b9a9c504,12,AtomicsIsLockFree
code-creation,Builtin,2,233303,0x7ff7b9a9c544,12,AtomicsWait
code-creation,Builtin,2,233314,0x7ff7b9a9c584,12,AtomicsWaitAsync
code-creation,Builtin,2,233326,0x7ff7b9a9c5c4,12,StringFromCodePoint
code-creation,Builtin,2,233339,0x7ff7b9a9c604,1308,StringFromCharCode
code-creation,Builtin,2,233351,0x7ff7b9a9cb44,12,StringPrototypeLastIndexOf
code-creation,Builtin,2,233363,0x7ff7b9a9cb84,4612,StringPrototypeMatchAll
code-creation,Builtin,2,233376,0x7ff7b9a9ddc4,12,StringPrototypeLocaleCompare
code-creation,Builtin,2,233389,0x7ff7b9a9de04,1292,StringPrototypeReplace
code-creation,Builtin,2,233401,0x7ff7b9a9e344,2868,StringPrototypeSplit
code-creation,Builtin,2,233414,0x7ff7b9a9ee84,12,StringRaw
code-creation,Builtin,2,233425,0x7ff7b9a9eec4,12,SymbolConstructor
code-creation,Builtin,2,233440,0x7ff7b9a9ef04,12,SymbolFor
code-creation,Builtin,2,233451,0x7ff7b9a9ef44,12,SymbolKeyFor
code-creation,Builtin,2,233464,0x7ff7b9a9ef84,88,TypedArrayBaseConstructor
code-creation,Builtin,2,233476,0x7ff7b9a9f004,252,TypedArrayConstructor
code-creation,Builtin,2,233488,0x7ff7b9a9f104,12,TypedArrayPrototypeBuffer
code-creation,Builtin,2,233501,0x7ff7b9a9f144,884,TypedArrayPrototypeByteLength
code-creation,Builtin,2,233515,0x7ff7b9a9f4c4,364,TypedArrayPrototypeByteOffset
code-creation,Builtin,2,233528,0x7ff7b9a9f644,596,TypedArrayPrototypeLength
code-creation,Builtin,2,233541,0x7ff7b9a9f8c4,12,TypedArrayPrototypeCopyWithin
code-creation,Builtin,2,233555,0x7ff7b9a9f904,12,TypedArrayPrototypeFill
code-creation,Builtin,2,233569,0x7ff7b9a9f944,12,TypedArrayPrototypeIncludes
code-creation,Builtin,2,233582,0x7ff7b9a9f984,12,TypedArrayPrototypeIndexOf
code-creation,Builtin,2,233598,0x7ff7b9a9f9c4,12,TypedArrayPrototypeLastIndexOf
code-creation,Builtin,2,233613,0x7ff7b9a9fa04,12,TypedArrayPrototypeReverse
code-creation,Builtin,2,233626,0x7ff7b9a9fa44,432,TypedArrayPrototypeToStringTag
code-creation,Builtin,2,233640,0x7ff7b9a9fc04,24556,TypedArrayPrototypeMap
code-creation,Builtin,2,233654,0x7ff7b9aa5c04,992,GenericJSToWasmWrapper
code-creation,Builtin,2,233668,0x7ff7b9aa6004,1268,WasmReturnPromiseOnSuspend
code-creation,Builtin,2,233682,0x7ff7b9aa6504,160,WasmSuspend
code-creation,Builtin,2,233694,0x7ff7b9aa65c4,324,WasmResume
code-creation,Builtin,2,233707,0x7ff7b9aa6744,340,WasmReject
code-creation,Builtin,2,233719,0x7ff7b9aa68c4,156,WasmCompileLazy
code-creation,Builtin,2,233735,0x7ff7b9aa6984,192,WasmLiftoffFrameSetup
code-creation,Builtin,2,233749,0x7ff7b9aa6a84,180,WasmDebugBreak
code-creation,Builtin,2,233763,0x7ff7b9aa6b44,16,WasmOnStackReplace
code-creation,Builtin,2,233776,0x7ff7b9aa6b84,132,WasmFloat32ToNumber
code-creation,Builtin,2,233788,0x7ff7b9aa6c44,144,WasmFloat64ToNumber
code-creation,Builtin,2,233801,0x7ff7b9aa6d04,24,JSToWasmLazyDeoptContinuation
code-creation,Builtin,2,233814,0x7ff7b9aa6d44,4532,WeakMapConstructor
code-creation,Builtin,2,233827,0x7ff7b9aa7f04,264,WeakMapLookupHashIndex
code-creation,Builtin,2,233841,0x7ff7b9aa8044,224,WeakMapGet
code-creation,Builtin,2,233853,0x7ff7b9aa8144,184,WeakMapPrototypeHas
code-creation,Builtin,2,233866,0x7ff7b9aa8204,256,WeakMapPrototypeSet
code-creation,Builtin,2,233878,0x7ff7b9aa8344,156,WeakMapPrototypeDelete
code-creation,Builtin,2,233891,0x7ff7b9aa8404,3156,WeakSetConstructor
code-creation,Builtin,2,233904,0x7ff7b9aa9084,184,WeakSetPrototypeHas
code-creation,Builtin,2,233917,0x7ff7b9aa9144,260,WeakSetPrototypeAdd
code-creation,Builtin,2,233930,0x7ff7b9aa9284,156,WeakSetPrototypeDelete
code-creation,Builtin,2,233943,0x7ff7b9aa9344,448,WeakCollectionDelete
code-creation,Builtin,2,233956,0x7ff7b9aa9544,808,WeakCollectionSet
code-creation,Builtin,2,233969,0x7ff7b9aa9884,12,SharedStructTypeConstructor
code-creation,Builtin,2,233982,0x7ff7b9aa98c4,12,SharedStructConstructor
code-creation,Builtin,2,233995,0x7ff7b9aa9904,12,SharedArrayConstructor
code-creation,Builtin,2,234008,0x7ff7b9aa9944,12,AtomicsMutexConstructor
code-creation,Builtin,2,234021,0x7ff7b9aa9984,12,AtomicsMutexLock
code-creation,Builtin,2,234034,0x7ff7b9aa99c4,12,AtomicsMutexTryLock
code-creation,Builtin,2,234046,0x7ff7b9aa9a04,12,AtomicsConditionConstructor
code-creation,Builtin,2,234059,0x7ff7b9aa9a44,12,AtomicsConditionWait
code-creation,Builtin,2,234072,0x7ff7b9aa9a84,12,AtomicsConditionNotify
code-creation,Builtin,2,234085,0x7ff7b9aa9ac4,292,AsyncGeneratorResolve
code-creation,Builtin,2,234098,0x7ff7b9aa9c04,104,AsyncGeneratorReject
code-creation,Builtin,2,234111,0x7ff7b9aa9c84,1624,AsyncGeneratorYieldWithAwait
code-creation,Builtin,2,234125,0x7ff7b9aaa304,1912,AsyncGeneratorReturn
code-creation,Builtin,2,234138,0x7ff7b9aaaa84,376,AsyncGeneratorResumeNext
code-creation,Builtin,2,234152,0x7ff7b9aaac04,12,AsyncGeneratorFunctionConstructor
code-creation,Builtin,2,234165,0x7ff7b9aaac44,1024,AsyncGeneratorPrototypeNext
code-creation,Builtin,2,234179,0x7ff7b9aab084,1032,AsyncGeneratorPrototypeReturn
code-creation,Builtin,2,234192,0x7ff7b9aab4c4,1032,AsyncGeneratorPrototypeThrow
code-creation,Builtin,2,234206,0x7ff7b9aab904,1600,AsyncGeneratorAwaitCaught
code-creation,Builtin,2,234219,0x7ff7b9aabf84,1600,AsyncGeneratorAwaitUncaught
code-creation,Builtin,2,234233,0x7ff7b9aac604,176,AsyncGeneratorAwaitResolveClosure
code-creation,Builtin,2,234247,0x7ff7b9aac6c4,172,AsyncGeneratorAwaitRejectClosure
code-creation,Builtin,2,234261,0x7ff7b9aac784,124,AsyncGeneratorYieldWithAwaitResolveClosure
code-creation,Builtin,2,234275,0x7ff7b9aac804,124,AsyncGeneratorReturnClosedResolveClosure
code-creation,Builtin,2,234288,0x7ff7b9aac884,116,AsyncGeneratorReturnClosedRejectClosure
code-creation,Builtin,2,234301,0x7ff7b9aac904,180,AsyncGeneratorReturnResolveClosure
code-creation,Builtin,2,234314,0x7ff7b9aac9c4,1656,AsyncFromSyncIteratorPrototypeNext
code-creation,Builtin,2,234329,0x7ff7b9aad044,1764,AsyncFromSyncIteratorPrototypeThrow
code-creation,Builtin,2,234344,0x7ff7b9aad744,1788,AsyncFromSyncIteratorPrototypeReturn
code-creation,Builtin,2,234357,0x7ff7b9aade44,100,AsyncIteratorValueUnwrap
code-creation,Builtin,2,234369,0x7ff7b9aadec4,200,CEntry_Return1_ArgvInRegister_NoBuiltinExit
code-creation,Builtin,2,234383,0x7ff7b9aadfc4,208,CEntry_Return1_ArgvOnStack_BuiltinExit
code-creation,Builtin,2,234396,0x7ff7b9aae0c4,208,CEntry_Return1_ArgvOnStack_NoBuiltinExit
code-creation,Builtin,2,234409,0x7ff7b9aae1c4,212,CEntry_Return2_ArgvInRegister_NoBuiltinExit
code-creation,Builtin,2,234423,0x7ff7b9aae2c4,224,CEntry_Return2_ArgvOnStack_BuiltinExit
code-creation,Builtin,2,234436,0x7ff7b9aae3c4,224,CEntry_Return2_ArgvOnStack_NoBuiltinExit
code-creation,Builtin,2,234453,0x7ff7b9aae4c4,4,DirectCEntry
code-creation,Builtin,2,234464,0x7ff7b9aae504,1244,StringAdd_CheckNone
code-creation,Builtin,2,234476,0x7ff7b9aaea04,2384,SubString
code-creation,Builtin,2,234487,0x7ff7b9aaf384,84,DoubleToI
code-creation,Builtin,2,234499,0x7ff7b9aaf404,3100,GetProperty
code-creation,Builtin,2,234511,0x7ff7b9ab0044,3272,GetPropertyWithReceiver
code-creation,Builtin,2,234531,0x7ff7b9ab0d44,17132,SetProperty
code-creation,Builtin,2,234542,0x7ff7b9ab5044,14220,CreateDataProperty
code-creation,Builtin,2,234555,0x7ff7b9ab8804,52,GetOwnPropertyDescriptor
code-creation,Builtin,2,234567,0x7ff7b9ab8844,8,MemCopyUint8Uint8
code-creation,Builtin,2,234579,0x7ff7b9ab8884,8,MemMove
code-creation,Builtin,2,234590,0x7ff7b9ab88c4,180,FindNonDefaultConstructorOrConstruct
code-creation,Builtin,2,234604,0x7ff7b9ab8984,2828,OrdinaryGetOwnPropertyDescriptor
code-creation,Builtin,2,234616,0x7ff7b9ab94c4,12,IsTraceCategoryEnabled
code-creation,Builtin,2,234628,0x7ff7b9ab9504,12,Trace
code-creation,Builtin,2,234640,0x7ff7b9ab9544,12,FinalizationRegistryUnregister
code-creation,Builtin,2,234652,0x7ff7b9ab9584,408,AsyncModuleEvaluate
code-creation,Builtin,2,234664,0x7ff7b9ab9744,12,CallAsyncModuleFulfilled
code-creation,Builtin,2,234676,0x7ff7b9ab9784,12,CallAsyncModuleRejected
code-creation,Builtin,2,234688,0x7ff7b9ab97c4,12,TemporalNowTimeZone
code-creation,Builtin,2,234700,0x7ff7b9ab9804,12,TemporalNowInstant
code-creation,Builtin,2,234712,0x7ff7b9ab9844,12,TemporalNowPlainDateTime
code-creation,Builtin,2,234724,0x7ff7b9ab9884,12,TemporalNowPlainDateTimeISO
code-creation,Builtin,2,234737,0x7ff7b9ab98c4,12,TemporalNowZonedDateTime
code-creation,Builtin,2,234749,0x7ff7b9ab9904,12,TemporalNowZonedDateTimeISO
code-creation,Builtin,2,234763,0x7ff7b9ab9944,12,TemporalNowPlainDate
code-creation,Builtin,2,234777,0x7ff7b9ab9984,12,TemporalNowPlainDateISO
code-creation,Builtin,2,234789,0x7ff7b9ab99c4,12,TemporalNowPlainTimeISO
code-creation,Builtin,2,234801,0x7ff7b9ab9a04,12,TemporalPlainDateConstructor
code-creation,Builtin,2,234814,0x7ff7b9ab9a44,12,TemporalPlainDateFrom
code-creation,Builtin,2,234852,0x7ff7b9ab9a84,12,TemporalPlainDateCompare
code-creation,Builtin,2,234864,0x7ff7b9ab9ac4,12,TemporalPlainDatePrototypeCalendar
code-creation,Builtin,2,234877,0x7ff7b9ab9b04,12,TemporalPlainDatePrototypeYear
code-creation,Builtin,2,234890,0x7ff7b9ab9b44,12,TemporalPlainDatePrototypeMonth
code-creation,Builtin,2,234903,0x7ff7b9ab9b84,12,TemporalPlainDatePrototypeMonthCode
code-creation,Builtin,2,234915,0x7ff7b9ab9bc4,12,TemporalPlainDatePrototypeDay
code-creation,Builtin,2,234928,0x7ff7b9ab9c04,12,TemporalPlainDatePrototypeDayOfWeek
code-creation,Builtin,2,234945,0x7ff7b9ab9c44,12,TemporalPlainDatePrototypeDayOfYear
code-creation,Builtin,2,234958,0x7ff7b9ab9c84,12,TemporalPlainDatePrototypeWeekOfYear
code-creation,Builtin,2,234971,0x7ff7b9ab9cc4,12,TemporalPlainDatePrototypeDaysInWeek
code-creation,Builtin,2,234984,0x7ff7b9ab9d04,12,TemporalPlainDatePrototypeDaysInMonth
code-creation,Builtin,2,234997,0x7ff7b9ab9d44,12,TemporalPlainDatePrototypeDaysInYear
code-creation,Builtin,2,235010,0x7ff7b9ab9d84,12,TemporalPlainDatePrototypeMonthsInYear
code-creation,Builtin,2,235023,0x7ff7b9ab9dc4,12,TemporalPlainDatePrototypeInLeapYear
code-creation,Builtin,2,235054,0x7ff7b9ab9e04,12,TemporalPlainDatePrototypeToPlainYearMonth
code-creation,Builtin,2,235068,0x7ff7b9ab9e44,12,TemporalPlainDatePrototypeToPlainMonthDay
code-creation,Builtin,2,235082,0x7ff7b9ab9e84,12,TemporalPlainDatePrototypeGetISOFields
code-creation,Builtin,2,235094,0x7ff7b9ab9ec4,12,TemporalPlainDatePrototypeAdd
code-creation,Builtin,2,235107,0x7ff7b9ab9f04,12,TemporalPlainDatePrototypeSubtract
code-creation,Builtin,2,235120,0x7ff7b9ab9f44,12,TemporalPlainDatePrototypeWith
code-creation,Builtin,2,235132,0x7ff7b9ab9f84,12,TemporalPlainDatePrototypeWithCalendar
code-creation,Builtin,2,235146,0x7ff7b9ab9fc4,12,TemporalPlainDatePrototypeUntil
code-creation,Builtin,2,235162,0x7ff7b9aba004,12,TemporalPlainDatePrototypeSince
code-creation,Builtin,2,235174,0x7ff7b9aba044,12,TemporalPlainDatePrototypeEquals
code-creation,Builtin,2,235188,0x7ff7b9aba084,12,TemporalPlainDatePrototypeToPlainDateTime
code-creation,Builtin,2,235201,0x7ff7b9aba0c4,12,TemporalPlainDatePrototypeToZonedDateTime
code-creation,Builtin,2,235214,0x7ff7b9aba104,12,TemporalPlainDatePrototypeToString
code-creation,Builtin,2,235227,0x7ff7b9aba144,12,TemporalPlainDatePrototypeToJSON
code-creation,Builtin,2,235240,0x7ff7b9aba184,12,TemporalPlainDatePrototypeToLocaleString
code-creation,Builtin,2,235253,0x7ff7b9aba1c4,12,TemporalPlainDatePrototypeValueOf
code-creation,Builtin,2,235266,0x7ff7b9aba204,12,TemporalPlainTimeConstructor
code-creation,Builtin,2,235278,0x7ff7b9aba244,12,TemporalPlainTimeFrom
code-creation,Builtin,2,235290,0x7ff7b9aba284,12,TemporalPlainTimeCompare
code-creation,Builtin,2,235302,0x7ff7b9aba2c4,12,TemporalPlainTimePrototypeCalendar
code-creation,Builtin,2,235316,0x7ff7b9aba304,12,TemporalPlainTimePrototypeHour
code-creation,Builtin,2,235328,0x7ff7b9aba344,12,TemporalPlainTimePrototypeMinute
code-creation,Builtin,2,235341,0x7ff7b9aba384,12,TemporalPlainTimePrototypeSecond
code-creation,Builtin,2,235354,0x7ff7b9aba3c4,12,TemporalPlainTimePrototypeMillisecond
code-creation,Builtin,2,235368,0x7ff7b9aba404,12,TemporalPlainTimePrototypeMicrosecond
code-creation,Builtin,2,235381,0x7ff7b9aba444,12,TemporalPlainTimePrototypeNanosecond
code-creation,Builtin,2,235393,0x7ff7b9aba484,12,TemporalPlainTimePrototypeAdd
code-creation,Builtin,2,235406,0x7ff7b9aba4c4,12,TemporalPlainTimePrototypeSubtract
code-creation,Builtin,2,235419,0x7ff7b9aba504,12,TemporalPlainTimePrototypeWith
code-creation,Builtin,2,235431,0x7ff7b9aba544,12,TemporalPlainTimePrototypeUntil
code-creation,Builtin,2,235444,0x7ff7b9aba584,12,TemporalPlainTimePrototypeSince
code-creation,Builtin,2,235456,0x7ff7b9aba5c4,12,TemporalPlainTimePrototypeRound
code-creation,Builtin,2,235469,0x7ff7b9aba604,12,TemporalPlainTimePrototypeEquals
code-creation,Builtin,2,235482,0x7ff7b9aba644,12,TemporalPlainTimePrototypeToPlainDateTime
code-creation,Builtin,2,235498,0x7ff7b9aba684,12,TemporalPlainTimePrototypeToZonedDateTime
code-creation,Builtin,2,235511,0x7ff7b9aba6c4,12,TemporalPlainTimePrototypeGetISOFields
code-creation,Builtin,2,235525,0x7ff7b9aba704,12,TemporalPlainTimePrototypeToString
code-creation,Builtin,2,235537,0x7ff7b9aba744,12,TemporalPlainTimePrototypeToJSON
code-creation,Builtin,2,235550,0x7ff7b9aba784,12,TemporalPlainTimePrototypeToLocaleString
code-creation,Builtin,2,235563,0x7ff7b9aba7c4,12,TemporalPlainTimePrototypeValueOf
code-creation,Builtin,2,235576,0x7ff7b9aba804,12,TemporalPlainDateTimeConstructor
code-creation,Builtin,2,235588,0x7ff7b9aba844,12,TemporalPlainDateTimeFrom
code-creation,Builtin,2,235601,0x7ff7b9aba884,12,TemporalPlainDateTimeCompare
code-creation,Builtin,2,235613,0x7ff7b9aba8c4,12,TemporalPlainDateTimePrototypeCalendar
code-creation,Builtin,2,235626,0x7ff7b9aba904,12,TemporalPlainDateTimePrototypeYear
code-creation,Builtin,2,235640,0x7ff7b9aba944,12,TemporalPlainDateTimePrototypeMonth
code-creation,Builtin,2,235653,0x7ff7b9aba984,12,TemporalPlainDateTimePrototypeMonthCode
code-creation,Builtin,2,235666,0x7ff7b9aba9c4,12,TemporalPlainDateTimePrototypeDay
code-creation,Builtin,2,235678,0x7ff7b9abaa04,12,TemporalPlainDateTimePrototypeHour
code-creation,Builtin,2,235693,0x7ff7b9abaa44,12,TemporalPlainDateTimePrototypeMinute
code-creation,Builtin,2,235707,0x7ff7b9abaa84,12,TemporalPlainDateTimePrototypeSecond
code-creation,Builtin,2,235720,0x7ff7b9abaac4,12,TemporalPlainDateTimePrototypeMillisecond
code-creation,Builtin,2,235734,0x7ff7b9abab04,12,TemporalPlainDateTimePrototypeMicrosecond
code-creation,Builtin,2,235747,0x7ff7b9abab44,12,TemporalPlainDateTimePrototypeNanosecond
code-creation,Builtin,2,235760,0x7ff7b9abab84,12,TemporalPlainDateTimePrototypeDayOfWeek
code-creation,Builtin,2,235773,0x7ff7b9ababc4,12,TemporalPlainDateTimePrototypeDayOfYear
code-creation,Builtin,2,235786,0x7ff7b9abac04,12,TemporalPlainDateTimePrototypeWeekOfYear
code-creation,Builtin,2,235799,0x7ff7b9abac44,12,TemporalPlainDateTimePrototypeDaysInWeek
code-creation,Builtin,2,235813,0x7ff7b9abac84,12,TemporalPlainDateTimePrototypeDaysInMonth
code-creation,Builtin,2,235826,0x7ff7b9abacc4,12,TemporalPlainDateTimePrototypeDaysInYear
code-creation,Builtin,2,235839,0x7ff7b9abad04,12,TemporalPlainDateTimePrototypeMonthsInYear
code-creation,Builtin,2,235853,0x7ff7b9abad44,12,TemporalPlainDateTimePrototypeInLeapYear
code-creation,Builtin,2,235866,0x7ff7b9abad84,12,TemporalPlainDateTimePrototypeWith
code-creation,Builtin,2,235879,0x7ff7b9abadc4,12,TemporalPlainDateTimePrototypeWithPlainTime
code-creation,Builtin,2,235893,0x7ff7b9abae04,12,TemporalPlainDateTimePrototypeWithPlainDate
code-creation,Builtin,2,235906,0x7ff7b9abae44,12,TemporalPlainDateTimePrototypeWithCalendar
code-creation,Builtin,2,235919,0x7ff7b9abae84,12,TemporalPlainDateTimePrototypeAdd
code-creation,Builtin,2,235932,0x7ff7b9abaec4,12,TemporalPlainDateTimePrototypeSubtract
code-creation,Builtin,2,235945,0x7ff7b9abaf04,12,TemporalPlainDateTimePrototypeUntil
code-creation,Builtin,2,235958,0x7ff7b9abaf44,12,TemporalPlainDateTimePrototypeSince
code-creation,Builtin,2,235971,0x7ff7b9abaf84,12,TemporalPlainDateTimePrototypeRound
code-creation,Builtin,2,235984,0x7ff7b9abafc4,12,TemporalPlainDateTimePrototypeEquals
code-creation,Builtin,2,235997,0x7ff7b9abb004,12,TemporalPlainDateTimePrototypeToString
code-creation,Builtin,2,236010,0x7ff7b9abb044,12,TemporalPlainDateTimePrototypeToJSON
code-creation,Builtin,2,236023,0x7ff7b9abb084,12,TemporalPlainDateTimePrototypeToLocaleString
code-creation,Builtin,2,236037,0x7ff7b9abb0c4,12,TemporalPlainDateTimePrototypeValueOf
code-creation,Builtin,2,236051,0x7ff7b9abb104,12,TemporalPlainDateTimePrototypeToZonedDateTime
code-creation,Builtin,2,236064,0x7ff7b9abb144,12,TemporalPlainDateTimePrototypeToPlainDate
code-creation,Builtin,2,236077,0x7ff7b9abb184,12,TemporalPlainDateTimePrototypeToPlainYearMonth
code-creation,Builtin,2,236091,0x7ff7b9abb1c4,12,TemporalPlainDateTimePrototypeToPlainMonthDay
code-creation,Builtin,2,236105,0x7ff7b9abb204,12,TemporalPlainDateTimePrototypeToPlainTime
code-creation,Builtin,2,236118,0x7ff7b9abb244,12,TemporalPlainDateTimePrototypeGetISOFields
code-creation,Builtin,2,236131,0x7ff7b9abb284,12,TemporalZonedDateTimeConstructor
code-creation,Builtin,2,236143,0x7ff7b9abb2c4,12,TemporalZonedDateTimeFrom
code-creation,Builtin,2,236154,0x7ff7b9abb304,12,TemporalZonedDateTimeCompare
code-creation,Builtin,2,236166,0x7ff7b9abb344,12,TemporalZonedDateTimePrototypeCalendar
code-creation,Builtin,2,236179,0x7ff7b9abb384,12,TemporalZonedDateTimePrototypeTimeZone
code-creation,Builtin,2,236191,0x7ff7b9abb3c4,12,TemporalZonedDateTimePrototypeYear
code-creation,Builtin,2,236211,0x7ff7b9abb404,12,TemporalZonedDateTimePrototypeMonth
code-creation,Builtin,2,236223,0x7ff7b9abb444,12,TemporalZonedDateTimePrototypeMonthCode
code-creation,Builtin,2,236235,0x7ff7b9abb484,12,TemporalZonedDateTimePrototypeDay
code-creation,Builtin,2,236248,0x7ff7b9abb4c4,12,TemporalZonedDateTimePrototypeHour
code-creation,Builtin,2,236260,0x7ff7b9abb504,12,TemporalZonedDateTimePrototypeMinute
code-creation,Builtin,2,236272,0x7ff7b9abb544,12,TemporalZonedDateTimePrototypeSecond
code-creation,Builtin,2,236284,0x7ff7b9abb584,12,TemporalZonedDateTimePrototypeMillisecond
code-creation,Builtin,2,236296,0x7ff7b9abb5c4,12,TemporalZonedDateTimePrototypeMicrosecond
code-creation,Builtin,2,236366,0x7ff7b9abb604,12,TemporalZonedDateTimePrototypeNanosecond
code-creation,Builtin,2,236389,0x7ff7b9abb644,12,TemporalZonedDateTimePrototypeEpochSeconds
code-creation,Builtin,2,236402,0x7ff7b9abb684,12,TemporalZonedDateTimePrototypeEpochMilliseconds
code-creation,Builtin,2,236415,0x7ff7b9abb6c4,12,TemporalZonedDateTimePrototypeEpochMicroseconds
code-creation,Builtin,2,236428,0x7ff7b9abb704,12,TemporalZonedDateTimePrototypeEpochNanoseconds
code-creation,Builtin,2,236443,0x7ff7b9abb744,12,TemporalZonedDateTimePrototypeDayOfWeek
code-creation,Builtin,2,236456,0x7ff7b9abb784,12,TemporalZonedDateTimePrototypeDayOfYear
code-creation,Builtin,2,236468,0x7ff7b9abb7c4,12,TemporalZonedDateTimePrototypeWeekOfYear
code-creation,Builtin,2,236481,0x7ff7b9abb804,12,TemporalZonedDateTimePrototypeHoursInDay
code-creation,Builtin,2,236493,0x7ff7b9abb844,12,TemporalZonedDateTimePrototypeDaysInWeek
code-creation,Builtin,2,236506,0x7ff7b9abb884,12,TemporalZonedDateTimePrototypeDaysInMonth
code-creation,Builtin,2,236518,0x7ff7b9abb8c4,12,TemporalZonedDateTimePrototypeDaysInYear
code-creation,Builtin,2,236531,0x7ff7b9abb904,12,TemporalZonedDateTimePrototypeMonthsInYear
code-creation,Builtin,2,236543,0x7ff7b9abb944,12,TemporalZonedDateTimePrototypeInLeapYear
code-creation,Builtin,2,236556,0x7ff7b9abb984,12,TemporalZonedDateTimePrototypeOffsetNanoseconds
code-creation,Builtin,2,236569,0x7ff7b9abb9c4,12,TemporalZonedDateTimePrototypeOffset
code-creation,Builtin,2,236581,0x7ff7b9abba04,12,TemporalZonedDateTimePrototypeWith
code-creation,Builtin,2,236593,0x7ff7b9abba44,12,TemporalZonedDateTimePrototypeWithPlainTime
code-creation,Builtin,2,236605,0x7ff7b9abba84,12,TemporalZonedDateTimePrototypeWithPlainDate
code-creation,Builtin,2,236618,0x7ff7b9abbac4,12,TemporalZonedDateTimePrototypeWithTimeZone
code-creation,Builtin,2,236630,0x7ff7b9abbb04,12,TemporalZonedDateTimePrototypeWithCalendar
code-creation,Builtin,2,236643,0x7ff7b9abbb44,12,TemporalZonedDateTimePrototypeAdd
code-creation,Builtin,2,236655,0x7ff7b9abbb84,12,TemporalZonedDateTimePrototypeSubtract
code-creation,Builtin,2,236667,0x7ff7b9abbbc4,12,TemporalZonedDateTimePrototypeUntil
code-creation,Builtin,2,236686,0x7ff7b9abbc04,12,TemporalZonedDateTimePrototypeSince
code-creation,Builtin,2,236698,0x7ff7b9abbc44,12,TemporalZonedDateTimePrototypeRound
code-creation,Builtin,2,236710,0x7ff7b9abbc84,12,TemporalZonedDateTimePrototypeEquals
code-creation,Builtin,2,236722,0x7ff7b9abbcc4,12,TemporalZonedDateTimePrototypeToString
code-creation,Builtin,2,236735,0x7ff7b9abbd04,12,TemporalZonedDateTimePrototypeToJSON
code-creation,Builtin,2,236747,0x7ff7b9abbd44,12,TemporalZonedDateTimePrototypeToLocaleString
code-creation,Builtin,2,236760,0x7ff7b9abbd84,12,TemporalZonedDateTimePrototypeValueOf
code-creation,Builtin,2,236772,0x7ff7b9abbdc4,12,TemporalZonedDateTimePrototypeStartOfDay
code-creation,Builtin,2,236784,0x7ff7b9abbe04,12,TemporalZonedDateTimePrototypeToInstant
code-creation,Builtin,2,236797,0x7ff7b9abbe44,12,TemporalZonedDateTimePrototypeToPlainDate
code-creation,Builtin,2,236809,0x7ff7b9abbe84,12,TemporalZonedDateTimePrototypeToPlainTime
code-creation,Builtin,2,236821,0x7ff7b9abbec4,12,TemporalZonedDateTimePrototypeToPlainDateTime
code-creation,Builtin,2,236834,0x7ff7b9abbf04,12,TemporalZonedDateTimePrototypeToPlainYearMonth
code-creation,Builtin,2,236847,0x7ff7b9abbf44,12,TemporalZonedDateTimePrototypeToPlainMonthDay
code-creation,Builtin,2,236859,0x7ff7b9abbf84,12,TemporalZonedDateTimePrototypeGetISOFields
code-creation,Builtin,2,236872,0x7ff7b9abbfc4,12,TemporalDurationConstructor
code-creation,Builtin,2,236885,0x7ff7b9abc004,12,TemporalDurationFrom
code-creation,Builtin,2,236896,0x7ff7b9abc044,12,TemporalDurationCompare
code-creation,Builtin,2,236909,0x7ff7b9abc084,12,TemporalDurationPrototypeYears
code-creation,Builtin,2,236921,0x7ff7b9abc0c4,12,TemporalDurationPrototypeMonths
code-creation,Builtin,2,236933,0x7ff7b9abc104,12,TemporalDurationPrototypeWeeks
code-creation,Builtin,2,236944,0x7ff7b9abc144,12,TemporalDurationPrototypeDays
code-creation,Builtin,2,236974,0x7ff7b9abc184,12,TemporalDurationPrototypeHours
code-creation,Builtin,2,236987,0x7ff7b9abc1c4,12,TemporalDurationPrototypeMinutes
code-creation,Builtin,2,236999,0x7ff7b9abc204,12,TemporalDurationPrototypeSeconds
code-creation,Builtin,2,237011,0x7ff7b9abc244,12,TemporalDurationPrototypeMilliseconds
code-creation,Builtin,2,237023,0x7ff7b9abc284,12,TemporalDurationPrototypeMicroseconds
code-creation,Builtin,2,237035,0x7ff7b9abc2c4,12,TemporalDurationPrototypeNanoseconds
code-creation,Builtin,2,237047,0x7ff7b9abc304,12,TemporalDurationPrototypeSign
code-creation,Builtin,2,237059,0x7ff7b9abc344,12,TemporalDurationPrototypeBlank
code-creation,Builtin,2,237071,0x7ff7b9abc384,12,TemporalDurationPrototypeWith
code-creation,Builtin,2,237083,0x7ff7b9abc3c4,12,TemporalDurationPrototypeNegated
code-creation,Builtin,2,237095,0x7ff7b9abc404,12,TemporalDurationPrototypeAbs
code-creation,Builtin,2,237107,0x7ff7b9abc444,12,TemporalDurationPrototypeAdd
code-creation,Builtin,2,237119,0x7ff7b9abc484,12,TemporalDurationPrototypeSubtract
code-creation,Builtin,2,237131,0x7ff7b9abc4c4,12,TemporalDurationPrototypeRound
code-creation,Builtin,2,237143,0x7ff7b9abc504,12,TemporalDurationPrototypeTotal
code-creation,Builtin,2,237155,0x7ff7b9abc544,12,TemporalDurationPrototypeToString
code-creation,Builtin,2,237170,0x7ff7b9abc584,12,TemporalDurationPrototypeToJSON
code-creation,Builtin,2,237182,0x7ff7b9abc5c4,12,TemporalDurationPrototypeToLocaleString
code-creation,Builtin,2,237194,0x7ff7b9abc604,12,TemporalDurationPrototypeValueOf
code-creation,Builtin,2,237206,0x7ff7b9abc644,12,TemporalInstantConstructor
code-creation,Builtin,2,237218,0x7ff7b9abc684,12,TemporalInstantFrom
code-creation,Builtin,2,237229,0x7ff7b9abc6c4,12,TemporalInstantFromEpochSeconds
code-creation,Builtin,2,237240,0x7ff7b9abc704,12,TemporalInstantFromEpochMilliseconds
code-creation,Builtin,2,237253,0x7ff7b9abc744,12,TemporalInstantFromEpochMicroseconds
code-creation,Builtin,2,237265,0x7ff7b9abc784,12,TemporalInstantFromEpochNanoseconds
code-creation,Builtin,2,237277,0x7ff7b9abc7c4,12,TemporalInstantCompare
code-creation,Builtin,2,237289,0x7ff7b9abc804,12,TemporalInstantPrototypeEpochSeconds
code-creation,Builtin,2,237301,0x7ff7b9abc844,12,TemporalInstantPrototypeEpochMilliseconds
code-creation,Builtin,2,237314,0x7ff7b9abc884,12,TemporalInstantPrototypeEpochMicroseconds
code-creation,Builtin,2,237326,0x7ff7b9abc8c4,12,TemporalInstantPrototypeEpochNanoseconds
code-creation,Builtin,2,237339,0x7ff7b9abc904,12,TemporalInstantPrototypeAdd
code-creation,Builtin,2,237350,0x7ff7b9abc944,12,TemporalInstantPrototypeSubtract
code-creation,Builtin,2,237362,0x7ff7b9abc984,12,TemporalInstantPrototypeUntil
code-creation,Builtin,2,237374,0x7ff7b9abc9c4,12,TemporalInstantPrototypeSince
code-creation,Builtin,2,237386,0x7ff7b9abca04,12,TemporalInstantPrototypeRound
code-creation,Builtin,2,237397,0x7ff7b9abca44,12,TemporalInstantPrototypeEquals
code-creation,Builtin,2,237409,0x7ff7b9abca84,12,TemporalInstantPrototypeToString
code-creation,Builtin,2,237421,0x7ff7b9abcac4,12,TemporalInstantPrototypeToJSON
code-creation,Builtin,2,237433,0x7ff7b9abcb04,12,TemporalInstantPrototypeToLocaleString
code-creation,Builtin,2,237445,0x7ff7b9abcb44,12,TemporalInstantPrototypeValueOf
code-creation,Builtin,2,237457,0x7ff7b9abcb84,12,TemporalInstantPrototypeToZonedDateTime
code-creation,Builtin,2,237469,0x7ff7b9abcbc4,12,TemporalInstantPrototypeToZonedDateTimeISO
code-creation,Builtin,2,237483,0x7ff7b9abcc04,12,TemporalPlainYearMonthConstructor
code-creation,Builtin,2,237498,0x7ff7b9abcc44,12,TemporalPlainYearMonthFrom
code-creation,Builtin,2,237509,0x7ff7b9abcc84,12,TemporalPlainYearMonthCompare
code-creation,Builtin,2,237521,0x7ff7b9abccc4,12,TemporalPlainYearMonthPrototypeCalendar
code-creation,Builtin,2,237534,0x7ff7b9abcd04,12,TemporalPlainYearMonthPrototypeYear
code-creation,Builtin,2,237548,0x7ff7b9abcd44,12,TemporalPlainYearMonthPrototypeMonth
code-creation,Builtin,2,237560,0x7ff7b9abcd84,12,TemporalPlainYearMonthPrototypeMonthCode
code-creation,Builtin,2,237600,0x7ff7b9abcdc4,12,TemporalPlainYearMonthPrototypeDaysInYear
code-creation,Builtin,2,237613,0x7ff7b9abce04,12,TemporalPlainYearMonthPrototypeDaysInMonth
code-creation,Builtin,2,237626,0x7ff7b9abce44,12,TemporalPlainYearMonthPrototypeMonthsInYear
code-creation,Builtin,2,237639,0x7ff7b9abce84,12,TemporalPlainYearMonthPrototypeInLeapYear
code-creation,Builtin,2,237651,0x7ff7b9abcec4,12,TemporalPlainYearMonthPrototypeWith
code-creation,Builtin,2,237663,0x7ff7b9abcf04,12,TemporalPlainYearMonthPrototypeAdd
code-creation,Builtin,2,237675,0x7ff7b9abcf44,12,TemporalPlainYearMonthPrototypeSubtract
code-creation,Builtin,2,237688,0x7ff7b9abcf84,12,TemporalPlainYearMonthPrototypeUntil
code-creation,Builtin,2,237700,0x7ff7b9abcfc4,12,TemporalPlainYearMonthPrototypeSince
code-creation,Builtin,2,237713,0x7ff7b9abd004,12,TemporalPlainYearMonthPrototypeEquals
code-creation,Builtin,2,237725,0x7ff7b9abd044,12,TemporalPlainYearMonthPrototypeToString
code-creation,Builtin,2,237738,0x7ff7b9abd084,12,TemporalPlainYearMonthPrototypeToJSON
code-creation,Builtin,2,237750,0x7ff7b9abd0c4,12,TemporalPlainYearMonthPrototypeToLocaleString
code-creation,Builtin,2,237763,0x7ff7b9abd104,12,TemporalPlainYearMonthPrototypeValueOf
code-creation,Builtin,2,237775,0x7ff7b9abd144,12,TemporalPlainYearMonthPrototypeToPlainDate
code-creation,Builtin,2,237787,0x7ff7b9abd184,12,TemporalPlainYearMonthPrototypeGetISOFields
code-creation,Builtin,2,237800,0x7ff7b9abd1c4,12,TemporalPlainMonthDayConstructor
code-creation,Builtin,2,237812,0x7ff7b9abd204,12,TemporalPlainMonthDayFrom
code-creation,Builtin,2,237823,0x7ff7b9abd244,12,TemporalPlainMonthDayPrototypeCalendar
code-creation,Builtin,2,237836,0x7ff7b9abd284,12,TemporalPlainMonthDayPrototypeMonthCode
code-creation,Builtin,2,237848,0x7ff7b9abd2c4,12,TemporalPlainMonthDayPrototypeDay
code-creation,Builtin,2,237860,0x7ff7b9abd304,12,TemporalPlainMonthDayPrototypeWith
code-creation,Builtin,2,237872,0x7ff7b9abd344,12,TemporalPlainMonthDayPrototypeEquals
code-creation,Builtin,2,237884,0x7ff7b9abd384,12,TemporalPlainMonthDayPrototypeToString
code-creation,Builtin,2,237897,0x7ff7b9abd3c4,12,TemporalPlainMonthDayPrototypeToJSON
code-creation,Builtin,2,237909,0x7ff7b9abd404,12,TemporalPlainMonthDayPrototypeToLocaleString
code-creation,Builtin,2,237921,0x7ff7b9abd444,12,TemporalPlainMonthDayPrototypeValueOf
code-creation,Builtin,2,237933,0x7ff7b9abd484,12,TemporalPlainMonthDayPrototypeToPlainDate
code-creation,Builtin,2,237946,0x7ff7b9abd4c4,12,TemporalPlainMonthDayPrototypeGetISOFields
code-creation,Builtin,2,237959,0x7ff7b9abd504,12,TemporalTimeZoneConstructor
code-creation,Builtin,2,237970,0x7ff7b9abd544,12,TemporalTimeZoneFrom
code-creation,Builtin,2,237982,0x7ff7b9abd584,12,TemporalTimeZonePrototypeId
code-creation,Builtin,2,237993,0x7ff7b9abd5c4,12,TemporalTimeZonePrototypeGetOffsetNanosecondsFor
code-creation,Builtin,2,238006,0x7ff7b9abd604,12,TemporalTimeZonePrototypeGetOffsetStringFor
code-creation,Builtin,2,238018,0x7ff7b9abd644,12,TemporalTimeZonePrototypeGetPlainDateTimeFor
code-creation,Builtin,2,238031,0x7ff7b9abd684,12,TemporalTimeZonePrototypeGetInstantFor
code-creation,Builtin,2,238044,0x7ff7b9abd6c4,12,TemporalTimeZonePrototypeGetPossibleInstantsFor
code-creation,Builtin,2,238057,0x7ff7b9abd704,12,TemporalTimeZonePrototypeGetNextTransition
code-creation,Builtin,2,238069,0x7ff7b9abd744,12,TemporalTimeZonePrototypeGetPreviousTransition
code-creation,Builtin,2,238082,0x7ff7b9abd784,12,TemporalTimeZonePrototypeToString
code-creation,Builtin,2,238095,0x7ff7b9abd7c4,12,TemporalTimeZonePrototypeToJSON
code-creation,Builtin,2,238106,0x7ff7b9abd804,12,TemporalCalendarConstructor
code-creation,Builtin,2,238118,0x7ff7b9abd844,12,TemporalCalendarFrom
code-creation,Builtin,2,238129,0x7ff7b9abd884,12,TemporalCalendarPrototypeId
code-creation,Builtin,2,238141,0x7ff7b9abd8c4,12,TemporalCalendarPrototypeDateFromFields
code-creation,Builtin,2,238153,0x7ff7b9abd904,12,TemporalCalendarPrototypeYearMonthFromFields
code-creation,Builtin,2,238166,0x7ff7b9abd944,12,TemporalCalendarPrototypeMonthDayFromFields
code-creation,Builtin,2,238180,0x7ff7b9abd984,12,TemporalCalendarPrototypeDateAdd
code-creation,Builtin,2,238193,0x7ff7b9abd9c4,12,TemporalCalendarPrototypeDateUntil
code-creation,Builtin,2,238205,0x7ff7b9abda04,12,TemporalCalendarPrototypeYear
code-creation,Builtin,2,238217,0x7ff7b9abda44,12,TemporalCalendarPrototypeMonth
code-creation,Builtin,2,238228,0x7ff7b9abda84,12,TemporalCalendarPrototypeMonthCode
code-creation,Builtin,2,238241,0x7ff7b9abdac4,12,TemporalCalendarPrototypeDay
code-creation,Builtin,2,238252,0x7ff7b9abdb04,12,TemporalCalendarPrototypeDayOfWeek
code-creation,Builtin,2,238265,0x7ff7b9abdb44,12,TemporalCalendarPrototypeDayOfYear
code-creation,Builtin,2,238277,0x7ff7b9abdb84,12,TemporalCalendarPrototypeWeekOfYear
code-creation,Builtin,2,238289,0x7ff7b9abdbc4,12,TemporalCalendarPrototypeDaysInWeek
code-creation,Builtin,2,238301,0x7ff7b9abdc04,12,TemporalCalendarPrototypeDaysInMonth
code-creation,Builtin,2,238313,0x7ff7b9abdc44,12,TemporalCalendarPrototypeDaysInYear
code-creation,Builtin,2,238325,0x7ff7b9abdc84,12,TemporalCalendarPrototypeMonthsInYear
code-creation,Builtin,2,238338,0x7ff7b9abdcc4,12,TemporalCalendarPrototypeInLeapYear
code-creation,Builtin,2,238350,0x7ff7b9abdd04,3460,TemporalCalendarPrototypeFields
code-creation,Builtin,2,238362,0x7ff7b9abeac4,12,TemporalCalendarPrototypeMergeFields
code-creation,Builtin,2,238374,0x7ff7b9abeb04,12,TemporalCalendarPrototypeToString
code-creation,Builtin,2,238386,0x7ff7b9abeb44,12,TemporalCalendarPrototypeToJSON
code-creation,Builtin,2,238398,0x7ff7b9abeb84,12,DatePrototypeToTemporalInstant
code-creation,Builtin,2,238410,0x7ff7b9abebc4,1724,StringFixedArrayFromIterable
code-creation,Builtin,2,238422,0x7ff7b9abf284,1724,TemporalInstantFixedArrayFromIterable
code-creation,Builtin,2,238436,0x7ff7b9abf944,260,AggregateErrorConstructor
code-creation,Builtin,2,238448,0x7ff7b9abfa84,808,ArrayPrototypeAt
code-creation,Builtin,2,238460,0x7ff7b9abfdc4,552,ArrayPrototypeConcat
code-creation,Builtin,2,238471,0x7ff7b9ac0004,4980,ArrayPrototypeCopyWithin
code-creation,Builtin,2,238482,0x7ff7b9ac1384,212,ArrayEveryLoopEagerDeoptContinuation
code-creation,Builtin,2,238494,0x7ff7b9ac1484,568,ArrayEveryLoopLazyDeoptContinuation
code-creation,Builtin,2,238507,0x7ff7b9ac16c4,4028,ArrayEveryLoopContinuation
code-creation,Builtin,2,238519,0x7ff7b9ac2684,1452,ArrayEvery
code-creation,Builtin,2,238533,0x7ff7b9ac2c44,276,ArrayFilterLoopEagerDeoptContinuation
code-creation,Builtin,2,238546,0x7ff7b9ac2d84,860,ArrayFilterLoopLazyDeoptContinuation
code-creation,Builtin,2,238558,0x7ff7b9ac3104,4288,ArrayFilterLoopContinuation
code-creation,Builtin,2,238570,0x7ff7b9ac4204,4284,ArrayFilter
code-creation,Builtin,2,238581,0x7ff7b9ac52c4,204,ArrayFindLoopEagerDeoptContinuation
code-creation,Builtin,2,238593,0x7ff7b9ac53c4,32,ArrayFindLoopLazyDeoptContinuation
code-creation,Builtin,2,238606,0x7ff7b9ac5404,308,ArrayFindLoopAfterCallbackLazyDeoptContinuation
code-creation,Builtin,2,238619,0x7ff7b9ac5544,496,ArrayFindLoopContinuation
code-creation,Builtin,2,238632,0x7ff7b9ac5744,1428,ArrayPrototypeFind
code-creation,Builtin,2,238643,0x7ff7b9ac5d04,204,ArrayFindIndexLoopEagerDeoptContinuation
code-creation,Builtin,2,238656,0x7ff7b9ac5e04,32,ArrayFindIndexLoopLazyDeoptContinuation
code-creation,Builtin,2,238668,0x7ff7b9ac5e44,308,ArrayFindIndexLoopAfterCallbackLazyDeoptContinuation
code-creation,Builtin,2,238681,0x7ff7b9ac5f84,492,ArrayFindIndexLoopContinuation
code-creation,Builtin,2,238693,0x7ff7b9ac6184,1432,ArrayPrototypeFindIndex
code-creation,Builtin,2,238705,0x7ff7b9ac6744,428,ArrayFindLastLoopContinuation
code-creation,Builtin,2,238716,0x7ff7b9ac6904,1624,ArrayPrototypeFindLast
code-creation,Builtin,2,238728,0x7ff7b9ac6f84,424,ArrayFindLastIndexLoopContinuation
code-creation,Builtin,2,238740,0x7ff7b9ac7144,1620,ArrayPrototypeFindLastIndex
code-creation,Builtin,2,238752,0x7ff7b9ac77c4,212,ArrayForEachLoopEagerDeoptContinuation
code-creation,Builtin,2,238764,0x7ff7b9ac78c4,212,ArrayForEachLoopLazyDeoptContinuation
code-creation,Builtin,2,238776,0x7ff7b9ac79c4,3892,ArrayForEachLoopContinuation
code-creation,Builtin,2,238790,0x7ff7b9ac8904,1292,ArrayForEach
code-creation,Builtin,2,238802,0x7ff7b9ac8e44,4300,ArrayFrom
code-creation,Builtin,2,238812,0x7ff7b9ac9f44,168,ArrayIsArray
code-creation,Builtin,2,238823,0x7ff7b9aca004,388,LoadJoinElement_DictionaryElements_0
code-creation,Builtin,2,238836,0x7ff7b9aca1c4,40,LoadJoinElement_FastSmiOrObjectElements_0
code-creation,Builtin,2,238848,0x7ff7b9aca204,132,LoadJoinElement_FastDoubleElements_0
code-creation,Builtin,2,238861,0x7ff7b9aca2c4,208,ConvertToLocaleString
code-creation,Builtin,2,238872,0x7ff7b9aca3c4,732,JoinStackPush
code-creation,Builtin,2,238883,0x7ff7b9aca6c4,276,JoinStackPop
code-creation,Builtin,2,238893,0x7ff7b9aca804,9116,ArrayPrototypeJoin
code-creation,Builtin,2,238905,0x7ff7b9accbc4,5880,ArrayPrototypeToLocaleString
code-creation,Builtin,2,238917,0x7ff7b9ace2c4,236,ArrayPrototypeToString
code-creation,Builtin,2,238928,0x7ff7b9ace3c4,8948,TypedArrayPrototypeJoin
code-creation,Builtin,2,238939,0x7ff7b9ad06c4,5664,TypedArrayPrototypeToLocaleString
code-creation,Builtin,2,238951,0x7ff7b9ad1d04,4256,ArrayPrototypeLastIndexOf
code-creation,Builtin,2,238963,0x7ff7b9ad2dc4,256,ArrayMapPreLoopLazyDeoptContinuation
code-creation,Builtin,2,238982,0x7ff7b9ad2f04,244,ArrayMapLoopEagerDeoptContinuation
code-creation,Builtin,2,238995,0x7ff7b9ad3004,468,ArrayMapLoopLazyDeoptContinuation
code-creation,Builtin,2,239007,0x7ff7b9ad3204,3924,ArrayMapLoopContinuation
code-creation,Builtin,2,239018,0x7ff7b9ad4184,3704,ArrayMap
code-creation,Builtin,2,239029,0x7ff7b9ad5004,1412,ArrayOf
code-creation,Builtin,2,239039,0x7ff7b9ad55c4,412,ArrayReduceRightPreLoopEagerDeoptContinuation
code-creation,Builtin,2,239053,0x7ff7b9ad5784,204,ArrayReduceRightLoopEagerDeoptContinuation
code-creation,Builtin,2,239065,0x7ff7b9ad5884,204,ArrayReduceRightLoopLazyDeoptContinuation
code-creation,Builtin,2,239077,0x7ff7b9ad5984,3944,ArrayReduceRightLoopContinuation
code-creation,Builtin,2,239090,0x7ff7b9ad6904,1880,ArrayReduceRight
code-creation,Builtin,2,239101,0x7ff7b9ad7084,180,ArrayReducePreLoopEagerDeoptContinuation
code-creation,Builtin,2,239113,0x7ff7b9ad7144,204,ArrayReduceLoopEagerDeoptContinuation
code-creation,Builtin,2,239126,0x7ff7b9ad7244,204,ArrayReduceLoopLazyDeoptContinuation
code-creation,Builtin,2,239138,0x7ff7b9ad7344,3984,ArrayReduceLoopContinuation
code-creation,Builtin,2,239150,0x7ff7b9ad8304,1516,ArrayReduce
code-creation,Builtin,2,239161,0x7ff7b9ad8904,3484,ArrayPrototypeReverse
code-creation,Builtin,2,239173,0x7ff7b9ad96c4,3744,ArrayPrototypeShift
code-creation,Builtin,2,239184,0x7ff7b9ada584,5420,ArrayPrototypeSlice
code-creation,Builtin,2,239194,0x7ff7b9adbac4,212,ArraySomeLoopEagerDeoptContinuation
code-creation,Builtin,2,239206,0x7ff7b9adbbc4,532,ArraySomeLoopLazyDeoptContinuation
code-creation,Builtin,2,239217,0x7ff7b9adbe04,4012,ArraySomeLoopContinuation
code-creation,Builtin,2,239228,0x7ff7b9adcdc4,1436,ArraySome
code-creation,Builtin,2,239238,0x7ff7b9add384,14240,ArrayPrototypeSplice
code-creation,Builtin,2,239249,0x7ff7b9ae0b44,1624,GenericArrayToReversed
code-creation,Builtin,2,239260,0x7ff7b9ae11c4,2768,ArrayPrototypeToReversed
code-creation,Builtin,2,239271,0x7ff7b9ae1cc4,5060,ArrayTimSortIntoCopy
code-creation,Builtin,2,239282,0x7ff7b9ae30c4,2148,ArrayPrototypeToSorted
code-creation,Builtin,2,239292,0x7ff7b9ae3944,8468,ArrayPrototypeToSpliced
code-creation,Builtin,2,239303,0x7ff7b9ae5a84,2980,ArrayPrototypeUnshift
code-creation,Builtin,2,239314,0x7ff7b9ae6644,1004,GenericArrayWith
code-creation,Builtin,2,239324,0x7ff7b9ae6a44,1104,ArrayPrototypeWith
code-creation,Builtin,2,239335,0x7ff7b9ae6ec4,324,ArrayBufferPrototypeGetByteLength
code-creation,Builtin,2,239346,0x7ff7b9ae7044,484,ArrayBufferPrototypeGetMaxByteLength
code-creation,Builtin,2,239357,0x7ff7b9ae7244,216,ArrayBufferPrototypeGetResizable
code-creation,Builtin,2,239369,0x7ff7b9ae7344,216,ArrayBufferPrototypeGetDetached
code-creation,Builtin,2,239380,0x7ff7b9ae7444,324,SharedArrayBufferPrototypeGetMaxByteLength
code-creation,Builtin,2,239392,0x7ff7b9ae75c4,216,SharedArrayBufferPrototypeGetGrowable
code-creation,Builtin,2,239405,0x7ff7b9ae76c4,100,ArrayBufferIsView
code-creation,Builtin,2,239417,0x7ff7b9ae7744,388,ToInteger
code-creation,Builtin,2,239427,0x7ff7b9ae7904,3096,FastCreateDataProperty
code-creation,Builtin,2,239438,0x7ff7b9ae8544,640,CheckSameObject
code-creation,Builtin,2,239449,0x7ff7b9ae8804,1048,BooleanConstructor
code-creation,Builtin,2,239460,0x7ff7b9ae8c44,164,BooleanPrototypeToString
code-creation,Builtin,2,239471,0x7ff7b9ae8d04,160,BooleanPrototypeValueOf
code-creation,Builtin,2,239481,0x7ff7b9ae8dc4,1072,BigIntAddNoThrow
code-creation,Builtin,2,239492,0x7ff7b9ae9204,1148,BigIntAdd
code-creation,Builtin,2,239502,0x7ff7b9ae9684,1072,BigIntSubtractNoThrow
code-creation,Builtin,2,239522,0x7ff7b9ae9ac4,1144,BigIntSubtract
code-creation,Builtin,2,239533,0x7ff7b9ae9f44,324,BigIntMultiplyNoThrow
code-creation,Builtin,2,239544,0x7ff7b9aea0c4,444,BigIntMultiply
code-creation,Builtin,2,239554,0x7ff7b9aea284,552,BigIntDivideNoThrow
code-creation,Builtin,2,239570,0x7ff7b9aea4c4,656,BigIntDivide
code-creation,Builtin,2,239584,0x7ff7b9aea784,464,BigIntModulusNoThrow
code-creation,Builtin,2,239601,0x7ff7b9aea984,572,BigIntModulus
code-creation,Builtin,2,239722,0x7ff7b9aeabc4,960,BigIntBitwiseAndNoThrow
code-creation,Builtin,2,239807,0x7ff7b9aeafc4,1116,BigIntBitwiseAnd
code-creation,Builtin,2,239852,0x7ff7b9aeb444,940,BigIntBitwiseOrNoThrow
code-creation,Builtin,2,239869,0x7ff7b9aeb804,1064,BigIntBitwiseOr
code-creation,Builtin,2,239891,0x7ff7b9aebc44,976,BigIntBitwiseXorNoThrow
code-creation,Builtin,2,239903,0x7ff7b9aec044,1132,BigIntBitwiseXor
code-creation,Builtin,2,239915,0x7ff7b9aec4c4,1280,BigIntShiftLeftNoThrow
code-creation,Builtin,2,239932,0x7ff7b9aeca04,1388,BigIntShiftLeft
code-creation,Builtin,2,239943,0x7ff7b9aecf84,1280,BigIntShiftRightNoThrow
code-creation,Builtin,2,239959,0x7ff7b9aed4c4,1388,BigIntShiftRight
code-creation,Builtin,2,239970,0x7ff7b9aeda44,108,BigIntEqual
code-creation,Builtin,2,239981,0x7ff7b9aedac4,168,BigIntLessThan
code-creation,Builtin,2,239992,0x7ff7b9aedb84,168,BigIntGreaterThan
code-creation,Builtin,2,240003,0x7ff7b9aedc44,168,BigIntLessThanOrEqual
code-creation,Builtin,2,240019,0x7ff7b9aedd04,168,BigIntGreaterThanOrEqual
code-creation,Builtin,2,240030,0x7ff7b9aeddc4,264,BigIntUnaryMinus
code-creation,Builtin,2,240046,0x7ff7b9aedf04,1992,ToString
code-creation,Builtin,2,240057,0x7ff7b9aee704,160,StringPrototypeToString
code-creation,Builtin,2,240068,0x7ff7b9aee7c4,160,StringPrototypeValueOf
code-creation,Builtin,2,240079,0x7ff7b9aee884,2232,StringToList
code-creation,Builtin,2,240089,0x7ff7b9aef144,788,StringPrototypeCharAt
code-creation,Builtin,2,240100,0x7ff7b9aef484,680,StringPrototypeCharCodeAt
code-creation,Builtin,2,240112,0x7ff7b9aef744,1188,StringPrototypeCodePointAt
code-creation,Builtin,2,240125,0x7ff7b9aefc04,416,StringPrototypeConcat
code-creation,Builtin,2,240144,0x7ff7b9aefdc4,1048,StringConstructor
code-creation,Builtin,2,240156,0x7ff7b9af0204,2060,StringAddConvertLeft
code-creation,Builtin,2,240171,0x7ff7b9af0a44,2084,StringAddConvertRight
code-creation,Builtin,2,240189,0x7ff7b9af1284,572,StringCharAt
code-creation,Builtin,2,240206,0x7ff7b9af14c4,16,FastNewClosureBaseline
code-creation,Builtin,2,240221,0x7ff7b9af1504,228,FastNewFunctionContextEval
code-creation,Builtin,2,240237,0x7ff7b9af1604,228,FastNewFunctionContextFunction
code-creation,Builtin,2,240254,0x7ff7b9af1704,240,CreateRegExpLiteral
code-creation,Builtin,2,240269,0x7ff7b9af1804,1188,CreateShallowArrayLiteral
code-creation,Builtin,2,240288,0x7ff7b9af1cc4,480,CreateEmptyArrayLiteral
code-creation,Builtin,2,240304,0x7ff7b9af1ec4,2020,CreateShallowObjectLiteral
code-creation,Builtin,2,240320,0x7ff7b9af26c4,392,ObjectConstructor
code-creation,Builtin,2,240337,0x7ff7b9af2884,188,CreateEmptyLiteralObject
code-creation,Builtin,2,240372,0x7ff7b9af2944,540,NumberConstructor
code-creation,Builtin,2,240385,0x7ff7b9af2b84,60,GenericLazyDeoptContinuation
code-creation,Builtin,2,240397,0x7ff7b9af2bc4,60,StringToNumber
code-creation,Builtin,2,240409,0x7ff7b9af2c04,188,NonNumberToNumber
code-creation,Builtin,2,240420,0x7ff7b9af2cc4,244,NonNumberToNumeric
code-creation,Builtin,2,240438,0x7ff7b9af2dc4,36,ToNumeric
code-creation,Builtin,2,240453,0x7ff7b9af2e04,1272,NumberToString
code-creation,Builtin,2,240464,0x7ff7b9af3304,108,ToBoolean
code-creation,Builtin,2,240475,0x7ff7b9af3384,104,ToBooleanForBaselineJump
code-creation,Builtin,2,240487,0x7ff7b9af3404,600,ToLength
code-creation,Builtin,2,240498,0x7ff7b9af3684,1312,ToName
code-creation,Builtin,2,240508,0x7ff7b9af3bc4,864,ToObject
code-creation,Builtin,2,240519,0x7ff7b9af3f44,236,NonPrimitiveToPrimitive_Default
code-creation,Builtin,2,240531,0x7ff7b9af4044,236,NonPrimitiveToPrimitive_Number
code-creation,Builtin,2,240543,0x7ff7b9af4144,584,NonPrimitiveToPrimitive_String
code-creation,Builtin,2,240555,0x7ff7b9af43c4,20,OrdinaryToPrimitive_Number
code-creation,Builtin,2,240567,0x7ff7b9af4404,380,OrdinaryToPrimitive_Number_Inline
code-creation,Builtin,2,240579,0x7ff7b9af4584,380,OrdinaryToPrimitive_String
code-creation,Builtin,2,240591,0x7ff7b9af4704,224,FastConsoleAssert
code-creation,Builtin,2,240602,0x7ff7b9af4804,184,DataViewPrototypeGetBuffer
code-creation,Builtin,2,240614,0x7ff7b9af48c4,764,DataViewPrototypeGetByteLength
code-creation,Builtin,2,240627,0x7ff7b9af4bc4,440,DataViewPrototypeGetByteOffset
code-creation,Builtin,2,240645,0x7ff7b9af4d84,848,DataViewPrototypeGetUint8
code-creation,Builtin,2,240657,0x7ff7b9af5104,848,DataViewPrototypeGetInt8
code-creation,Builtin,2,240672,0x7ff7b9af5484,932,DataViewPrototypeGetUint16
code-creation,Builtin,2,240710,0x7ff7b9af5844,928,DataViewPrototypeGetInt16
code-creation,Builtin,2,240726,0x7ff7b9af5c04,1076,DataViewPrototypeGetUint32
code-creation,Builtin,2,240747,0x7ff7b9af6044,964,DataViewPrototypeGetInt32
code-creation,Builtin,2,240759,0x7ff7b9af6444,1108,DataViewPrototypeGetFloat32
code-creation,Builtin,2,240772,0x7ff7b9af68c4,1172,DataViewPrototypeGetFloat64
code-creation,Builtin,2,240784,0x7ff7b9af6d84,1228,DataViewPrototypeGetBigUint64
code-creation,Builtin,2,240796,0x7ff7b9af7284,1252,DataViewPrototypeGetBigInt64
code-creation,Builtin,2,240808,0x7ff7b9af7784,1268,DataViewPrototypeSetUint8
code-creation,Builtin,2,240820,0x7ff7b9af7c84,1268,DataViewPrototypeSetInt8
code-creation,Builtin,2,240832,0x7ff7b9af8184,1356,DataViewPrototypeSetUint16
code-creation,Builtin,2,240843,0x7ff7b9af8704,1356,DataViewPrototypeSetInt16
code-creation,Builtin,2,240855,0x7ff7b9af8c84,1392,DataViewPrototypeSetUint32
code-creation,Builtin,2,240867,0x7ff7b9af9204,1392,DataViewPrototypeSetInt32
code-creation,Builtin,2,240879,0x7ff7b9af9784,1356,DataViewPrototypeSetFloat32
code-creation,Builtin,2,240891,0x7ff7b9af9d04,1420,DataViewPrototypeSetFloat64
code-creation,Builtin,2,240909,0x7ff7b9afa2c4,1268,DataViewPrototypeSetBigUint64
code-creation,Builtin,2,240922,0x7ff7b9afa7c4,1268,DataViewPrototypeSetBigInt64
code-creation,Builtin,2,240934,0x7ff7b9afacc4,928,FinalizationRegistryConstructor
code-creation,Builtin,2,240946,0x7ff7b9afb084,1236,FinalizationRegistryRegister
code-creation,Builtin,2,240958,0x7ff7b9afb584,672,FinalizationRegistryPrototypeCleanupSome
code-creation,Builtin,2,240971,0x7ff7b9afb844,340,FunctionPrototypeHasInstance
code-creation,Builtin,2,240983,0x7ff7b9afb9c4,940,FastFunctionPrototypeBind
code-creation,Builtin,2,240994,0x7ff7b9afbd84,92,IncBlockCounter
code-creation,Builtin,2,241005,0x7ff7b9afbe04,236,GetTemplateObject
code-creation,Builtin,2,241017,0x7ff7b9afbf04,92,ForInNext
code-creation,Builtin,2,241028,0x7ff7b9afbf84,136,GetImportMetaObjectBaseline
code-creation,Builtin,2,241040,0x7ff7b9afc044,112,GetIteratorWithFeedback
code-creation,Builtin,2,241052,0x7ff7b9afc0c4,100,GetIteratorBaseline
code-creation,Builtin,2,241063,0x7ff7b9afc144,296,CreateAsyncFromSyncIteratorBaseline
code-creation,Builtin,2,241082,0x7ff7b9afc284,1072,CallIteratorWithFeedback
code-creation,Builtin,2,241094,0x7ff7b9afc6c4,916,IteratorConstructor
code-creation,Builtin,2,241120,0x7ff7b9afca84,1012,IteratorFrom
code-creation,Builtin,2,241131,0x7ff7b9afce84,160,WrapForValidIteratorPrototypeNext
code-creation,Builtin,2,241149,0x7ff7b9afcf44,408,WrapForValidIteratorPrototypeReturn
code-creation,Builtin,2,241164,0x7ff7b9afd104,256,IteratorHelperPrototypeNext
code-creation,Builtin,2,241177,0x7ff7b9afd244,400,IteratorHelperPrototypeReturn
code-creation,Builtin,2,241189,0x7ff7b9afd404,440,IteratorPrototypeMap
code-creation,Builtin,2,241200,0x7ff7b9afd5c4,1204,IteratorMapHelperNext
code-creation,Builtin,2,241237,0x7ff7b9afda84,440,IteratorPrototypeFilter
code-creation,Builtin,2,241251,0x7ff7b9afdc44,1352,IteratorFilterHelperNext
code-creation,Builtin,2,241268,0x7ff7b9afe1c4,568,IteratorPrototypeTake
code-creation,Builtin,2,241284,0x7ff7b9afe404,1356,IteratorTakeHelperNext
code-creation,Builtin,2,241315,0x7ff7b9afe984,568,IteratorPrototypeDrop
code-creation,Builtin,2,241332,0x7ff7b9afebc4,1540,IteratorDropHelperNext
code-creation,Builtin,2,241358,0x7ff7b9aff204,272,MathAbs
code-creation,Builtin,2,241374,0x7ff7b9aff344,420,MathCeil
code-creation,Builtin,2,241390,0x7ff7b9aff504,424,MathFloor
code-creation,Builtin,2,241401,0x7ff7b9aff6c4,472,MathRound
code-creation,Builtin,2,241412,0x7ff7b9aff8c4,420,MathTrunc
code-creation,Builtin,2,241422,0x7ff7b9affa84,364,MathPow
code-creation,Builtin,2,241433,0x7ff7b9affc04,408,MathMax
code-creation,Builtin,2,241445,0x7ff7b9affdc4,412,MathMin
code-creation,Builtin,2,241461,0x7ff7b9afff84,312,MathAcos
code-creation,Builtin,2,241484,0x7ff7b9b000c4,312,MathAcosh
code-creation,Builtin,2,241501,0x7ff7b9b00204,312,MathAsin
code-creation,Builtin,2,241512,0x7ff7b9b00344,312,MathAsinh
code-creation,Builtin,2,241523,0x7ff7b9b00484,312,MathAtan
code-creation,Builtin,2,241534,0x7ff7b9b005c4,408,MathAtan2
code-creation,Builtin,2,241545,0x7ff7b9b00784,312,MathAtanh
code-creation,Builtin,2,241556,0x7ff7b9b008c4,312,MathCbrt
code-creation,Builtin,2,241567,0x7ff7b9b00a04,168,MathClz32
code-creation,Builtin,2,241579,0x7ff7b9b00ac4,312,MathCos
code-creation,Builtin,2,241595,0x7ff7b9b00c04,312,MathCosh
code-creation,Builtin,2,241611,0x7ff7b9b00d44,312,MathExp
code-creation,Builtin,2,241627,0x7ff7b9b00e84,312,MathExpm1
code-creation,Builtin,2,241640,0x7ff7b9b00fc4,264,MathFround
code-creation,Builtin,2,241660,0x7ff7b9b01104,304,MathImul
code-creation,Builtin,2,241677,0x7ff7b9b01244,312,MathLog
code-creation,Builtin,2,241703,0x7ff7b9b01384,312,MathLog1p
code-creation,Builtin,2,241717,0x7ff7b9b014c4,312,MathLog10
code-creation,Builtin,2,241728,0x7ff7b9b01604,312,MathLog2
code-creation,Builtin,2,241739,0x7ff7b9b01744,312,MathSin
code-creation,Builtin,2,241750,0x7ff7b9b01884,176,MathSign
code-creation,Builtin,2,241761,0x7ff7b9b01944,312,MathSinh
code-creation,Builtin,2,241772,0x7ff7b9b01a84,260,MathSqrt
code-creation,Builtin,2,241783,0x7ff7b9b01bc4,312,MathTan
code-creation,Builtin,2,241793,0x7ff7b9b01d04,312,MathTanh
code-creation,Builtin,2,241804,0x7ff7b9b01e44,1016,MathHypot
code-creation,Builtin,2,241826,0x7ff7b9b02244,324,MathRandom
code-creation,Builtin,2,241842,0x7ff7b9b023c4,2536,NumberPrototypeToString
code-creation,Builtin,2,241860,0x7ff7b9b02dc4,132,NumberIsFinite
code-creation,Builtin,2,241873,0x7ff7b9b02e84,332,NumberIsInteger
code-creation,Builtin,2,241890,0x7ff7b9b03004,128,NumberIsNaN
code-creation,Builtin,2,241906,0x7ff7b9b030c4,364,NumberIsSafeInteger
code-creation,Builtin,2,241924,0x7ff7b9b03244,160,NumberPrototypeValueOf
code-creation,Builtin,2,241942,0x7ff7b9b03304,200,NumberParseFloat
code-creation,Builtin,2,241958,0x7ff7b9b03404,248,ParseInt
code-creation,Builtin,2,241974,0x7ff7b9b03504,84,NumberParseInt
code-creation,Builtin,2,241986,0x7ff7b9b03584,816,Add
code-creation,Builtin,2,242003,0x7ff7b9b038c4,428,Subtract
code-creation,Builtin,2,242018,0x7ff7b9b03a84,556,Multiply
code-creation,Builtin,2,242034,0x7ff7b9b03cc4,500,Divide
code-creation,Builtin,2,242050,0x7ff7b9b03ec4,548,Modulus
code-creation,Builtin,2,242061,0x7ff7b9b04104,520,Exponentiate
code-creation,Builtin,2,242072,0x7ff7b9b04344,336,Negate
code-creation,Builtin,2,242083,0x7ff7b9b044c4,160,BitwiseNot
code-creation,Builtin,2,242094,0x7ff7b9b04584,112,Decrement
code-creation,Builtin,2,242105,0x7ff7b9b04604,112,Increment
code-creation,Builtin,2,242116,0x7ff7b9b04684,516,ShiftLeft
code-creation,Builtin,2,242130,0x7ff7b9b048c4,516,ShiftRight
code-creation,Builtin,2,242149,0x7ff7b9b04b04,588,ShiftRightLogical
code-creation,Builtin,2,242161,0x7ff7b9b04d84,304,BitwiseAnd
code-creation,Builtin,2,242178,0x7ff7b9b04ec4,304,BitwiseOr
code-creation,Builtin,2,242189,0x7ff7b9b05004,304,BitwiseXor
code-creation,Builtin,2,242200,0x7ff7b9b05144,948,LessThan
code-creation,Builtin,2,242211,0x7ff7b9b05504,948,LessThanOrEqual
code-creation,Builtin,2,242238,0x7ff7b9b058c4,948,GreaterThan
code-creation,Builtin,2,242256,0x7ff7b9b05c84,948,GreaterThanOrEqual
code-creation,Builtin,2,242280,0x7ff7b9b06044,1060,Equal
code-creation,Builtin,2,242295,0x7ff7b9b06484,512,StrictEqual
code-creation,Builtin,2,242312,0x7ff7b9b066c4,3236,ObjectFromEntries
code-creation,Builtin,2,242324,0x7ff7b9b07384,820,CreateObjectWithoutProperties
code-creation,Builtin,2,242336,0x7ff7b9b076c4,144,ObjectIsExtensible
code-creation,Builtin,2,242347,0x7ff7b9b07784,152,ObjectPreventExtensions
code-creation,Builtin,2,242359,0x7ff7b9b07844,148,ObjectGetPrototypeOf
code-creation,Builtin,2,242371,0x7ff7b9b07904,304,ObjectSetPrototypeOf
code-creation,Builtin,2,242382,0x7ff7b9b07a44,80,ObjectPrototypeToString
code-creation,Builtin,2,242394,0x7ff7b9b07ac4,100,ObjectPrototypeValueOf
code-creation,Builtin,2,242411,0x7ff7b9b07b44,176,ObjectPrototypeToLocaleString
code-creation,Builtin,2,242424,0x7ff7b9b07c04,884,FulfillPromise
code-creation,Builtin,2,242440,0x7ff7b9b07f84,1024,RejectPromise
code-creation,Builtin,2,242452,0x7ff7b9b083c4,2500,NewPromiseCapability
code-creation,Builtin,2,242469,0x7ff7b9b08dc4,192,PromiseCapabilityDefaultReject
code-creation,Builtin,2,242481,0x7ff7b9b08ec4,172,PromiseCapabilityDefaultResolve
code-creation,Builtin,2,242498,0x7ff7b9b08f84,1332,PerformPromiseThen
code-creation,Builtin,2,242510,0x7ff7b9b094c4,668,PromiseReject
code-creation,Builtin,2,242526,0x7ff7b9b09784,292,PromiseGetCapabilitiesExecutor
code-creation,Builtin,2,242539,0x7ff7b9b098c4,108,PromiseConstructorLazyDeoptContinuation
code-creation,Builtin,2,242551,0x7ff7b9b09944,4524,PromiseAll
code-creation,Builtin,2,242571,0x7ff7b9b0ab04,4860,PromiseAllSettled
code-creation,Builtin,2,242587,0x7ff7b9b0be04,1096,PromiseAllResolveElementClosure
code-creation,Builtin,2,242621,0x7ff7b9b0c284,1444,PromiseAllSettledResolveElementClosure
code-creation,Builtin,2,242638,0x7ff7b9b0c844,1452,PromiseAllSettledRejectElementClosure
code-creation,Builtin,2,242655,0x7ff7b9b0ce04,1172,PromiseAnyRejectElementClosure
code-creation,Builtin,2,242672,0x7ff7b9b0d2c4,2724,PromiseAny
code-creation,Builtin,2,242687,0x7ff7b9b0dd84,3040,PromiseConstructor
code-creation,Builtin,2,242708,0x7ff7b9b0e984,292,PromisePrototypeCatch
code-creation,Builtin,2,242722,0x7ff7b9b0eac4,92,PromiseValueThunkFinally
code-creation,Builtin,2,242733,0x7ff7b9b0eb44,84,PromiseThrowerFinally
code-creation,Builtin,2,242745,0x7ff7b9b0ebc4,988,PromiseCatchFinally
code-creation,Builtin,2,242758,0x7ff7b9b0efc4,988,PromiseThenFinally
code-creation,Builtin,2,242770,0x7ff7b9b0f3c4,1676,PromisePrototypeFinally
code-creation,Builtin,2,242783,0x7ff7b9b0fa84,1524,PromiseRace
code-creation,Builtin,2,242795,0x7ff7b9b10084,348,PromiseFulfillReactionJob
code-creation,Builtin,2,242809,0x7ff7b9b10204,468,PromiseRejectReactionJob
code-creation,Builtin,2,242825,0x7ff7b9b10404,156,PromiseResolveTrampoline
code-creation,Builtin,2,242844,0x7ff7b9b104c4,704,PromiseResolve
code-creation,Builtin,2,242857,0x7ff7b9b107c4,716,ResolvePromise
code-creation,Builtin,2,242870,0x7ff7b9b10ac4,2288,PromisePrototypeThen
code-creation,Builtin,2,242883,0x7ff7b9b113c4,1260,PromiseResolveThenableJob
code-creation,Builtin,2,242896,0x7ff7b9b118c4,440,ProxyConstructor
code-creation,Builtin,2,242908,0x7ff7b9b11a84,2484,ProxyDeleteProperty
code-creation,Builtin,2,242921,0x7ff7b9b12444,2800,ProxyGetProperty
code-creation,Builtin,2,242937,0x7ff7b9b12f44,1088,ProxyGetPrototypeOf
code-creation,Builtin,2,242956,0x7ff7b9b133c4,2432,ProxyHasProperty
code-creation,Builtin,2,242968,0x7ff7b9b13d84,776,ProxyIsExtensible
code-creation,Builtin,2,242986,0x7ff7b9b140c4,828,ProxyPreventExtensions
code-creation,Builtin,2,243002,0x7ff7b9b14404,1136,ProxyRevocable
code-creation,Builtin,2,243021,0x7ff7b9b14884,136,ProxyRevoke
code-creation,Builtin,2,243033,0x7ff7b9b14944,2996,ProxySetProperty
code-creation,Builtin,2,243051,0x7ff7b9b15504,1344,ProxySetPrototypeOf
code-creation,Builtin,2,243064,0x7ff7b9b15a84,208,ReflectIsExtensible
code-creation,Builtin,2,243082,0x7ff7b9b15b84,216,ReflectPreventExtensions
code-creation,Builtin,2,243095,0x7ff7b9b15c84,188,ReflectGetPrototypeOf
code-creation,Builtin,2,243113,0x7ff7b9b15d44,332,ReflectSetPrototypeOf
code-creation,Builtin,2,243126,0x7ff7b9b15ec4,288,ReflectGet
code-creation,Builtin,2,243140,0x7ff7b9b16004,156,ReflectDeleteProperty
code-creation,Builtin,2,243159,0x7ff7b9b160c4,144,ReflectHas
code-creation,Builtin,2,243172,0x7ff7b9b16184,4680,ReflectGetOwnPropertyDescriptor
code-creation,Builtin,2,243185,0x7ff7b9b17404,5156,RegExpPrototypeExecSlow
code-creation,Builtin,2,243197,0x7ff7b9b18844,5212,RegExpPrototypeExec
code-creation,Builtin,2,243210,0x7ff7b9b19cc4,2596,RegExpPrototypeMatchAll
code-creation,Builtin,2,243226,0x7ff7b9b1a704,9276,RegExpStringIteratorPrototypeNext
code-creation,Builtin,2,243243,0x7ff7b9b1cb44,8732,RegExpMatchFast
code-creation,Builtin,2,243259,0x7ff7b9b1ed84,3668,RegExpPrototypeMatch
code-creation,Builtin,2,243275,0x7ff7b9b1fc04,5916,RegExpReplace
code-creation,Builtin,2,243292,0x7ff7b9b21344,508,RegExpPrototypeReplace
code-creation,Builtin,2,243310,0x7ff7b9b21544,1364,RegExpSearchFast
code-creation,Builtin,2,243327,0x7ff7b9b21ac4,1660,RegExpPrototypeSearch
code-creation,Builtin,2,243345,0x7ff7b9b22144,200,RegExpPrototypeSourceGetter
code-creation,Builtin,2,243363,0x7ff7b9b22244,5884,RegExpSplit
code-creation,Builtin,2,243380,0x7ff7b9b23944,468,RegExpPrototypeSplit
code-creation,Builtin,2,243399,0x7ff7b9b23b44,2252,RegExpPrototypeTest
code-creation,Builtin,2,243417,0x7ff7b9b24444,1288,RegExpPrototypeTestFast
code-creation,Builtin,2,243436,0x7ff7b9b24984,236,RegExpPrototypeGlobalGetter
code-creation,Builtin,2,243456,0x7ff7b9b24a84,252,RegExpPrototypeIgnoreCaseGetter
code-creation,Builtin,2,243476,0x7ff7b9b24b84,252,RegExpPrototypeMultilineGetter
code-creation,Builtin,2,243496,0x7ff7b9b24c84,252,RegExpPrototypeHasIndicesGetter
code-creation,Builtin,2,243513,0x7ff7b9b24d84,252,RegExpPrototypeLinearGetter
code-creation,Builtin,2,243534,0x7ff7b9b24e84,252,RegExpPrototypeDotAllGetter
code-creation,Builtin,2,243551,0x7ff7b9b24f84,284,RegExpPrototypeStickyGetter
code-creation,Builtin,2,243568,0x7ff7b9b250c4,284,RegExpPrototypeUnicodeGetter
code-creation,Builtin,2,243586,0x7ff7b9b25204,252,RegExpPrototypeUnicodeSetsGetter
code-creation,Builtin,2,243604,0x7ff7b9b25304,2556,RegExpPrototypeFlagsGetter
code-creation,Builtin,2,243621,0x7ff7b9b25d04,1236,StringPrototypeAt
code-creation,Builtin,2,243639,0x7ff7b9b26204,3020,StringPrototypeEndsWith
code-creation,Builtin,2,243664,0x7ff7b9b26e04,496,CreateHTML
code-creation,Builtin,2,243679,0x7ff7b9b27004,140,StringPrototypeAnchor
code-creation,Builtin,2,243695,0x7ff7b9b270c4,120,StringPrototypeBig
code-creation,Builtin,2,243719,0x7ff7b9b27144,120,StringPrototypeBlink
code-creation,Builtin,2,243738,0x7ff7b9b271c4,120,StringPrototypeBold
code-creation,Builtin,2,243751,0x7ff7b9b27244,148,StringPrototypeFontcolor
code-creation,Builtin,2,243765,0x7ff7b9b27304,148,StringPrototypeFontsize
code-creation,Builtin,2,243784,0x7ff7b9b273c4,120,StringPrototypeFixed
code-creation,Builtin,2,243803,0x7ff7b9b27444,120,StringPrototypeItalics
code-creation,Builtin,2,243822,0x7ff7b9b274c4,148,StringPrototypeLink
code-creation,Builtin,2,243837,0x7ff7b9b27584,120,StringPrototypeSmall
code-creation,Builtin,2,243849,0x7ff7b9b27604,120,StringPrototypeStrike
code-creation,Builtin,2,243862,0x7ff7b9b27684,120,StringPrototypeSub
code-creation,Builtin,2,243882,0x7ff7b9b27704,120,StringPrototypeSup
code-creation,Builtin,2,243899,0x7ff7b9b27784,1024,StringPrototypeIncludes
code-creation,Builtin,2,243923,0x7ff7b9b27bc4,648,StringPrototypeIndexOf
code-creation,Builtin,2,243942,0x7ff7b9b27e84,632,StringPrototypeIsWellFormed
code-creation,Builtin,2,243959,0x7ff7b9b28104,348,StringPrototypeIterator
code-creation,Builtin,2,243981,0x7ff7b9b28284,1692,StringIteratorPrototypeNext
code-creation,Builtin,2,244023,0x7ff7b9b28944,1372,StringPrototypeMatch
code-creation,Builtin,2,244040,0x7ff7b9b28ec4,1372,StringPrototypeSearch
code-creation,Builtin,2,244057,0x7ff7b9b29444,768,StringPrototypePadStart
code-creation,Builtin,2,244074,0x7ff7b9b29784,772,StringPrototypePadEnd
code-creation,Builtin,2,244092,0x7ff7b9b29ac4,120,StringRepeat
code-creation,Builtin,2,244115,0x7ff7b9b29b44,408,StringPrototypeRepeat
code-creation,Builtin,2,244129,0x7ff7b9b29d04,10736,StringPrototypeReplaceAll
code-creation,Builtin,2,244142,0x7ff7b9b2c704,3212,StringPrototypeSlice
code-creation,Builtin,2,244158,0x7ff7b9b2d3c4,3020,StringPrototypeStartsWith
code-creation,Builtin,2,244172,0x7ff7b9b2dfc4,3140,StringPrototypeSubstr
code-creation,Builtin,2,244187,0x7ff7b9b2ec44,3064,StringPrototypeSubstring
code-creation,Builtin,2,244204,0x7ff7b9b2f844,928,StringPrototypeToWellFormed
code-creation,Builtin,2,244222,0x7ff7b9b2fc04,6452,StringPrototypeTrim
code-creation,Builtin,2,244244,0x7ff7b9b31544,5940,StringPrototypeTrimStart
code-creation,Builtin,2,244265,0x7ff7b9b32c84,5512,StringPrototypeTrimEnd
code-creation,Builtin,2,244280,0x7ff7b9b34244,164,SymbolPrototypeDescriptionGetter
code-creation,Builtin,2,244295,0x7ff7b9b34304,160,SymbolPrototypeToPrimitive
code-creation,Builtin,2,244308,0x7ff7b9b343c4,180,SymbolPrototypeToString
code-creation,Builtin,2,244322,0x7ff7b9b34484,160,SymbolPrototypeValueOf
code-creation,Builtin,2,244335,0x7ff7b9b34544,1120,TypedArrayPrototypeAt
code-creation,Builtin,2,244348,0x7ff7b9b349c4,10544,CreateTypedArray
code-creation,Builtin,2,244361,0x7ff7b9b37304,1740,TypedArrayPrototypeEvery
code-creation,Builtin,2,244374,0x7ff7b9b37a04,412,TypedArrayPrototypeEntries
code-creation,Builtin,2,244388,0x7ff7b9b37bc4,4448,TypedArrayPrototypeFilter
code-creation,Builtin,2,244402,0x7ff7b9b38d44,1740,TypedArrayPrototypeFind
code-creation,Builtin,2,244434,0x7ff7b9b39444,1744,TypedArrayPrototypeFindIndex
code-creation,Builtin,2,244449,0x7ff7b9b39b44,1744,TypedArrayPrototypeFindLast
code-creation,Builtin,2,244469,0x7ff7b9b3a244,1752,TypedArrayPrototypeFindLastIndex
code-creation,Builtin,2,244493,0x7ff7b9b3a944,1604,TypedArrayPrototypeForEach
code-creation,Builtin,2,244517,0x7ff7b9b3afc4,3052,TypedArrayFrom
code-creation,Builtin,2,244531,0x7ff7b9b3bbc4,404,TypedArrayPrototypeKeys
code-creation,Builtin,2,244545,0x7ff7b9b3bd84,1392,TypedArrayOf
code-creation,Builtin,2,244558,0x7ff7b9b3c304,1700,TypedArrayPrototypeReduce
code-creation,Builtin,2,244571,0x7ff7b9b3c9c4,1688,TypedArrayPrototypeReduceRight
code-creation,Builtin,2,244585,0x7ff7b9b3d084,3320,TypedArrayPrototypeSet
code-creation,Builtin,2,244599,0x7ff7b9b3dd84,4068,TypedArrayPrototypeSlice
code-creation,Builtin,2,244613,0x7ff7b9b3ed84,1740,TypedArrayPrototypeSome
code-creation,Builtin,2,244626,0x7ff7b9b3f484,896,TypedArrayMergeSort
code-creation,Builtin,2,244640,0x7ff7b9b3f844,2260,TypedArrayPrototypeSort
code-creation,Builtin,2,244660,0x7ff7b9b40144,3084,TypedArrayPrototypeSubArray
code-creation,Builtin,2,244675,0x7ff7b9b40d84,1736,TypedArrayPrototypeToReversed
code-creation,Builtin,2,244695,0x7ff7b9b41484,3252,TypedArrayPrototypeToSorted
code-creation,Builtin,2,244709,0x7ff7b9b42144,412,TypedArrayPrototypeValues
code-creation,Builtin,2,244729,0x7ff7b9b42304,3136,TypedArrayPrototypeWith
code-creation,Builtin,2,244742,0x7ff7b9b42f84,1096,WeakRefConstructor
code-creation,Builtin,2,244763,0x7ff7b9b43404,188,WeakRefDeref
code-creation,Builtin,2,244777,0x7ff7b9b434c4,644,NewSloppyArgumentsElements
code-creation,Builtin,2,244792,0x7ff7b9b43784,296,NewStrictArgumentsElements
code-creation,Builtin,2,244805,0x7ff7b9b438c4,320,NewRestArgumentsElements
code-creation,Builtin,2,244819,0x7ff7b9b43a44,1400,FastNewSloppyArguments
code-creation,Builtin,2,244833,0x7ff7b9b43fc4,508,FastNewStrictArguments
code-creation,Builtin,2,244846,0x7ff7b9b441c4,552,FastNewRestArguments
code-creation,Builtin,2,244860,0x7ff7b9b44404,664,StringSlowFlatten
code-creation,Builtin,2,244873,0x7ff7b9b446c4,2036,StringIndexOf
code-creation,Builtin,2,244889,0x7ff7b9b44ec4,2028,TestTurbofanType
code-creation,Builtin,2,244915,0x7ff7b9b456c4,192,CheckTurbofanType
code-creation,Builtin,2,244936,0x7ff7b9b457c4,520,CheckTurboshaftWord32Type
code-creation,Builtin,2,244959,0x7ff7b9b45a04,952,CheckTurboshaftWord64Type
code-creation,Builtin,2,244973,0x7ff7b9b45dc4,652,CheckTurboshaftFloat32Type
code-creation,Builtin,2,244987,0x7ff7b9b46084,620,CheckTurboshaftFloat64Type
code-creation,Builtin,2,245000,0x7ff7b9b46304,4,GenericBuiltinTest_JSAny_0
code-creation,Builtin,2,245013,0x7ff7b9b46344,20,TestHelperPlus1
code-creation,Builtin,2,245027,0x7ff7b9b46384,20,TestHelperPlus2
code-creation,Builtin,2,245039,0x7ff7b9b463c4,92,NewSmiBox
code-creation,Builtin,2,245052,0x7ff7b9b46444,24,ReturnTwoValues
code-creation,Builtin,2,245065,0x7ff7b9b46484,28,Load_FastSmiElements_0
code-creation,Builtin,2,245077,0x7ff7b9b464c4,28,Load_FastObjectElements_0
code-creation,Builtin,2,245091,0x7ff7b9b46504,140,Load_FastDoubleElements_0
code-creation,Builtin,2,245112,0x7ff7b9b465c4,28,Store_FastSmiElements_0
code-creation,Builtin,2,245132,0x7ff7b9b46604,92,Store_FastObjectElements_0
code-creation,Builtin,2,245153,0x7ff7b9b46684,44,Store_FastDoubleElements_0
code-creation,Builtin,2,245174,0x7ff7b9b466c4,36,Delete_FastSmiElements_0
code-creation,Builtin,2,245193,0x7ff7b9b46704,36,Delete_FastObjectElements_0
code-creation,Builtin,2,245206,0x7ff7b9b46744,40,Delete_FastDoubleElements_0
code-creation,Builtin,2,245224,0x7ff7b9b46784,200,SortCompareDefault
code-creation,Builtin,2,245238,0x7ff7b9b46884,96,SortCompareUserFn
code-creation,Builtin,2,245264,0x7ff7b9b46904,12,CanUseSameAccessor_GenericElementsAccessor_0
code-creation,Builtin,2,245285,0x7ff7b9b46944,300,Copy
code-creation,Builtin,2,245297,0x7ff7b9b46a84,5732,MergeAt
code-creation,Builtin,2,245308,0x7ff7b9b48104,824,GallopLeft
code-creation,Builtin,2,245320,0x7ff7b9b48444,868,GallopRight
code-creation,Builtin,2,245332,0x7ff7b9b487c4,3728,ArrayTimSort
code-creation,Builtin,2,245344,0x7ff7b9b49684,2020,ArrayPrototypeSort
code-creation,Builtin,2,245356,0x7ff7b9b49e84,3560,StringFastLocaleCompare
code-creation,Builtin,2,245368,0x7ff7b9b4ac84,92,WasmInt32ToHeapNumber
code-creation,Builtin,2,245381,0x7ff7b9b4ad04,32,WasmFuncRefToJS
code-creation,Builtin,2,245393,0x7ff7b9b4ad44,124,WasmTaggedNonSmiToInt32
code-creation,Builtin,2,245405,0x7ff7b9b4adc4,76,WasmTaggedToFloat64
code-creation,Builtin,2,245418,0x7ff7b9b4ae44,72,WasmMemoryGrow
code-creation,Builtin,2,245429,0x7ff7b9b4aec4,88,WasmTableInit
code-creation,Builtin,2,245449,0x7ff7b9b4af44,88,WasmTableCopy
code-creation,Builtin,2,245463,0x7ff7b9b4afc4,76,WasmTableFill
code-creation,Builtin,2,245481,0x7ff7b9b4b044,68,WasmTableGrow
code-creation,Builtin,2,245494,0x7ff7b9b4b0c4,76,WasmTableGet
code-creation,Builtin,2,245512,0x7ff7b9b4b144,148,WasmTableSet
code-creation,Builtin,2,245524,0x7ff7b9b4b204,144,WasmTableGetFuncRef
code-creation,Builtin,2,245536,0x7ff7b9b4b2c4,104,WasmTableSetFuncRef
code-creation,Builtin,2,245548,0x7ff7b9b4b344,80,WasmRefFunc
code-creation,Builtin,2,245560,0x7ff7b9b4b3c4,136,WasmAllocateFixedArray
code-creation,Builtin,2,245572,0x7ff7b9b4b484,44,WasmThrow
code-creation,Builtin,2,245584,0x7ff7b9b4b4c4,56,WasmRethrow
code-creation,Builtin,2,245595,0x7ff7b9b4b504,44,WasmRethrowExplicitContext
code-creation,Builtin,2,245612,0x7ff7b9b4b544,44,WasmTriggerTierUp
code-creation,Builtin,2,245630,0x7ff7b9b4b584,32,WasmStackGuard
code-creation,Builtin,2,245648,0x7ff7b9b4b5c4,32,WasmStackOverflow
code-creation,Builtin,2,245660,0x7ff7b9b4b604,40,WasmTraceMemory
code-creation,Builtin,2,245673,0x7ff7b9b4b644,32,WasmTraceEnter
code-creation,Builtin,2,245686,0x7ff7b9b4b684,40,WasmTraceExit
code-creation,Builtin,2,245698,0x7ff7b9b4b6c4,340,WasmAllocateJSArray
code-creation,Builtin,2,245711,0x7ff7b9b4b844,100,WasmAllocateStructWithRtt
code-creation,Builtin,2,245723,0x7ff7b9b4b8c4,128,WasmAllocateArray_Uninitialized
code-creation,Builtin,2,245736,0x7ff7b9b4b984,84,WasmArrayNewSegment
code-creation,Builtin,2,245748,0x7ff7b9b4ba04,136,WasmArrayCopyWithChecks
code-creation,Builtin,2,245763,0x7ff7b9b4bac4,100,WasmArrayCopy
code-creation,Builtin,2,245777,0x7ff7b9b4bb44,260,WasmAllocateObjectWrapper
code-creation,Builtin,2,245790,0x7ff7b9b4bc84,48,WasmSubtypeCheck
code-creation,Builtin,2,245802,0x7ff7b9b4bcc4,8,WasmInt32ToNumber
code-creation,Builtin,2,245821,0x7ff7b9b4bd04,108,WasmUint32ToNumber
code-creation,Builtin,2,245834,0x7ff7b9b4bd84,140,UintPtr53ToNumber
code-creation,Builtin,2,245849,0x7ff7b9b4be44,92,WasmAtomicNotify
code-creation,Builtin,2,245861,0x7ff7b9b4bec4,100,WasmI32AtomicWait
code-creation,Builtin,2,245880,0x7ff7b9b4bf44,88,WasmI64AtomicWait
code-creation,Builtin,2,245892,0x7ff7b9b4bfc4,1224,CallRefIC
code-creation,Builtin,2,245906,0x7ff7b9b4c4c4,1580,WasmGetOwnProperty
code-creation,Builtin,2,245918,0x7ff7b9b4cb04,76,WasmTrap
code-creation,Builtin,2,245930,0x7ff7b9b4cb84,16,ThrowWasmTrapUnreachable
code-creation,Builtin,2,245952,0x7ff7b9b4cbc4,16,ThrowWasmTrapMemOutOfBounds
code-creation,Builtin,2,245971,0x7ff7b9b4cc04,16,ThrowWasmTrapUnalignedAccess
code-creation,Builtin,2,245993,0x7ff7b9b4cc44,16,ThrowWasmTrapDivByZero
code-creation,Builtin,2,246006,0x7ff7b9b4cc84,16,ThrowWasmTrapDivUnrepresentable
code-creation,Builtin,2,246019,0x7ff7b9b4ccc4,16,ThrowWasmTrapRemByZero
code-creation,Builtin,2,246031,0x7ff7b9b4cd04,16,ThrowWasmTrapFloatUnrepresentable
code-creation,Builtin,2,246044,0x7ff7b9b4cd44,16,ThrowWasmTrapFuncSigMismatch
code-creation,Builtin,2,246059,0x7ff7b9b4cd84,16,ThrowWasmTrapDataSegmentOutOfBounds
code-creation,Builtin,2,246078,0x7ff7b9b4cdc4,16,ThrowWasmTrapElementSegmentOutOfBounds
code-creation,Builtin,2,246098,0x7ff7b9b4ce04,16,ThrowWasmTrapTableOutOfBounds
code-creation,Builtin,2,246112,0x7ff7b9b4ce44,16,ThrowWasmTrapRethrowNull
code-creation,Builtin,2,246124,0x7ff7b9b4ce84,16,ThrowWasmTrapNullDereference
code-creation,Builtin,2,246143,0x7ff7b9b4cec4,16,ThrowWasmTrapIllegalCast
code-creation,Builtin,2,246156,0x7ff7b9b4cf04,16,ThrowWasmTrapArrayOutOfBounds
code-creation,Builtin,2,246169,0x7ff7b9b4cf44,16,ThrowWasmTrapArrayTooLarge
code-creation,Builtin,2,246182,0x7ff7b9b4cf84,16,ThrowWasmTrapStringOffsetOutOfBounds
code-creation,Builtin,2,246201,0x7ff7b9b4cfc4,1016,ExperimentalWasmConvertArrayToString
code-creation,Builtin,2,246216,0x7ff7b9b4d3c4,832,ExperimentalWasmConvertStringToArray
code-creation,Builtin,2,246229,0x7ff7b9b4d744,148,WasmStringNewWtf8
code-creation,Builtin,2,246241,0x7ff7b9b4d804,104,WasmStringNewWtf8Array
code-creation,Builtin,2,246257,0x7ff7b9b4d884,140,WasmStringNewWtf16
code-creation,Builtin,2,246269,0x7ff7b9b4d944,868,WasmStringNewWtf16Array
code-creation,Builtin,2,246281,0x7ff7b9b4dcc4,52,WasmStringAsWtf16
code-creation,Builtin,2,246293,0x7ff7b9b4dd04,48,WasmStringConst
code-creation,Builtin,2,246305,0x7ff7b9b4dd44,108,WasmStringMeasureUtf8
code-creation,Builtin,2,246318,0x7ff7b9b4ddc4,108,WasmStringMeasureWtf8
code-creation,Builtin,2,246330,0x7ff7b9b4de44,156,WasmStringEncodeWtf8
code-creation,Builtin,2,246343,0x7ff7b9b4df04,148,WasmStringEncodeWtf8Array
code-creation,Builtin,2,246355,0x7ff7b9b4dfc4,104,WasmStringEncodeWtf16
code-creation,Builtin,2,246368,0x7ff7b9b4e044,724,WasmStringEncodeWtf16Array
code-creation,Builtin,2,246380,0x7ff7b9b4e344,68,ThrowToLowerCaseCalledOnNull
code-creation,Builtin,2,246396,0x7ff7b9b4e3c4,20,WasmStringConcat
code-creation,Builtin,2,246409,0x7ff7b9b4e404,60,WasmStringEqual
code-creation,Builtin,2,246427,0x7ff7b9b4e444,140,WasmStringIsUSVSequence
code-creation,Builtin,2,246440,0x7ff7b9b4e504,40,WasmStringAsWtf8
code-creation,Builtin,2,246459,0x7ff7b9b4e544,224,WasmStringViewWtf8Advance
code-creation,Builtin,2,246471,0x7ff7b9b4e644,168,WasmStringViewWtf8Encode
code-creation,Builtin,2,246488,0x7ff7b9b4e704,172,WasmStringViewWtf8Slice
code-creation,Builtin,2,246500,0x7ff7b9b4e7c4,512,WasmStringViewWtf16GetCodeUnit
code-creation,Builtin,2,246517,0x7ff7b9b4ea04,140,WasmStringViewWtf16Encode
code-creation,Builtin,2,246529,0x7ff7b9b4eac4,2420,WasmStringViewWtf16Slice
code-creation,Builtin,2,246547,0x7ff7b9b4f444,100,WasmStringAsIter
code-creation,Builtin,2,246559,0x7ff7b9b4f4c4,1124,WasmStringViewIterNext
code-creation,Builtin,2,246579,0x7ff7b9b4f944,1224,WasmStringViewIterAdvance
code-creation,Builtin,2,246592,0x7ff7b9b4fe44,1204,WasmStringViewIterRewind
code-creation,Builtin,2,246604,0x7ff7b9b50304,3252,WasmStringViewIterSlice
code-creation,Builtin,2,246622,0x7ff7b9b50fc4,80,WasmStringFromCodePoint
code-creation,Builtin,2,246634,0x7ff7b9b51044,36,WasmStringHash
code-creation,Builtin,2,246651,0x7ff7b9b51084,60,WasmExternInternalize
code-creation,Builtin,2,246662,0x7ff7b9b510c4,164,LoadJoinElement_GenericElementsAccessor_0
code-creation,Builtin,2,246675,0x7ff7b9b51184,24,LoadJoinTypedElement_Int32Elements_0
code-creation,Builtin,2,246688,0x7ff7b9b511c4,108,LoadJoinTypedElement_Float32Elements_0
code-creation,Builtin,2,246701,0x7ff7b9b51244,104,LoadJoinTypedElement_Float64Elements_0
code-creation,Builtin,2,246713,0x7ff7b9b512c4,24,LoadJoinTypedElement_Uint8ClampedElements_0
code-creation,Builtin,2,246726,0x7ff7b9b51304,208,LoadJoinTypedElement_BigUint64Elements_0
code-creation,Builtin,2,246739,0x7ff7b9b51404,236,LoadJoinTypedElement_BigInt64Elements_0
code-creation,Builtin,2,246751,0x7ff7b9b51504,24,LoadJoinTypedElement_Uint8Elements_0
code-creation,Builtin,2,246764,0x7ff7b9b51544,24,LoadJoinTypedElement_Int8Elements_0
code-creation,Builtin,2,246776,0x7ff7b9b51584,24,LoadJoinTypedElement_Uint16Elements_0
code-creation,Builtin,2,246788,0x7ff7b9b515c4,24,LoadJoinTypedElement_Int16Elements_0
code-creation,Builtin,2,246801,0x7ff7b9b51604,124,LoadJoinTypedElement_Uint32Elements_0
code-creation,Builtin,2,246813,0x7ff7b9b51684,12,GenericBuiltinTest_Smi_0
code-creation,Builtin,2,246831,0x7ff7b9b516c4,40,CanUseSameAccessor_FastDoubleElements_0
code-creation,Builtin,2,246844,0x7ff7b9b51704,40,CanUseSameAccessor_FastSmiElements_0
code-creation,Builtin,2,246862,0x7ff7b9b51744,40,CanUseSameAccessor_FastObjectElements_0
code-creation,Builtin,2,246875,0x7ff7b9b51784,24,LoadNoHasPropertyCheck_GenericElementsAccessor_0
code-creation,Builtin,2,246893,0x7ff7b9b517c4,3508,Load_GenericElementsAccessor_0
code-creation,Builtin,2,246906,0x7ff7b9b52584,24,Store_GenericElementsAccessor_0
code-creation,Builtin,2,246923,0x7ff7b9b525c4,36,Delete_GenericElementsAccessor_0
code-creation,Builtin,2,246935,0x7ff7b9b52604,24,LoadTypedElement_Int32Elements_0
code-creation,Builtin,2,246953,0x7ff7b9b52644,176,StoreTypedElementNumeric_Int32Elements_0
code-creation,Builtin,2,246966,0x7ff7b9b52704,544,StoreTypedElementJSAny_Int32Elements_0
code-creation,Builtin,2,246984,0x7ff7b9b52944,108,LoadTypedElement_Float32Elements_0
code-creation,Builtin,2,246996,0x7ff7b9b529c4,32,StoreTypedElementNumeric_Float32Elements_0
code-creation,Builtin,2,247014,0x7ff7b9b52a04,516,StoreTypedElementJSAny_Float32Elements_0
code-creation,Builtin,2,247027,0x7ff7b9b52c44,104,LoadTypedElement_Float64Elements_0
code-creation,Builtin,2,247046,0x7ff7b9b52cc4,28,StoreTypedElementNumeric_Float64Elements_0
code-creation,Builtin,2,247058,0x7ff7b9b52d04,512,StoreTypedElementJSAny_Float64Elements_0
code-creation,Builtin,2,247071,0x7ff7b9b52f44,24,LoadTypedElement_Uint8ClampedElements_0
code-creation,Builtin,2,247084,0x7ff7b9b52f84,24,StoreTypedElementNumeric_Uint8ClampedElements_0
code-creation,Builtin,2,247097,0x7ff7b9b52fc4,972,StoreTypedElementJSAny_Uint8ClampedElements_0
code-creation,Builtin,2,247110,0x7ff7b9b533c4,208,LoadTypedElement_BigUint64Elements_0
code-creation,Builtin,2,247123,0x7ff7b9b534c4,56,StoreTypedElementNumeric_BigUint64Elements_0
code-creation,Builtin,2,247136,0x7ff7b9b53504,548,StoreTypedElementJSAny_BigUint64Elements_0
code-creation,Builtin,2,247149,0x7ff7b9b53744,236,LoadTypedElement_BigInt64Elements_0
code-creation,Builtin,2,247161,0x7ff7b9b53844,56,StoreTypedElementNumeric_BigInt64Elements_0
code-creation,Builtin,2,247174,0x7ff7b9b53884,548,StoreTypedElementJSAny_BigInt64Elements_0
code-creation,Builtin,2,247188,0x7ff7b9b53ac4,24,LoadTypedElement_Uint8Elements_0
code-creation,Builtin,2,247201,0x7ff7b9b53b04,24,StoreTypedElementNumeric_Uint8Elements_0
code-creation,Builtin,2,247214,0x7ff7b9b53b44,544,StoreTypedElementJSAny_Uint8Elements_0
code-creation,Builtin,2,247231,0x7ff7b9b53d84,24,LoadTypedElement_Int8Elements_0
code-creation,Builtin,2,247254,0x7ff7b9b53dc4,24,StoreTypedElementNumeric_Int8Elements_0
code-creation,Builtin,2,247268,0x7ff7b9b53e04,544,StoreTypedElementJSAny_Int8Elements_0
code-creation,Builtin,2,247287,0x7ff7b9b54044,24,LoadTypedElement_Uint16Elements_0
code-creation,Builtin,2,247300,0x7ff7b9b54084,24,StoreTypedElementNumeric_Uint16Elements_0
code-creation,Builtin,2,247314,0x7ff7b9b540c4,544,StoreTypedElementJSAny_Uint16Elements_0
code-creation,Builtin,2,247328,0x7ff7b9b54304,24,LoadTypedElement_Int16Elements_0
code-creation,Builtin,2,247347,0x7ff7b9b54344,24,StoreTypedElementNumeric_Int16Elements_0
code-creation,Builtin,2,247361,0x7ff7b9b54384,544,StoreTypedElementJSAny_Int16Elements_0
code-creation,Builtin,2,247379,0x7ff7b9b545c4,124,LoadTypedElement_Uint32Elements_0
code-creation,Builtin,2,247393,0x7ff7b9b54644,176,StoreTypedElementNumeric_Uint32Elements_0
code-creation,Builtin,2,247412,0x7ff7b9b54704,544,StoreTypedElementJSAny_Uint32Elements_0
code-creation,Builtin,2,247426,0x7ff7b9b54944,12,CollatorConstructor
code-creation,Builtin,2,247444,0x7ff7b9b54984,12,CollatorInternalCompare
code-creation,Builtin,2,247473,0x7ff7b9b549c4,12,CollatorPrototypeCompare
code-creation,Builtin,2,247486,0x7ff7b9b54a04,12,CollatorSupportedLocalesOf
code-creation,Builtin,2,247499,0x7ff7b9b54a44,12,CollatorPrototypeResolvedOptions
code-creation,Builtin,2,247518,0x7ff7b9b54a84,12,DatePrototypeToLocaleDateString
code-creation,Builtin,2,247532,0x7ff7b9b54ac4,12,DatePrototypeToLocaleString
code-creation,Builtin,2,247550,0x7ff7b9b54b04,12,DatePrototypeToLocaleTimeString
code-creation,Builtin,2,247564,0x7ff7b9b54b44,12,DateTimeFormatConstructor
code-creation,Builtin,2,247582,0x7ff7b9b54b84,12,DateTimeFormatInternalFormat
code-creation,Builtin,2,247595,0x7ff7b9b54bc4,12,DateTimeFormatPrototypeFormat
code-creation,Builtin,2,247608,0x7ff7b9b54c04,12,DateTimeFormatPrototypeFormatRange
code-creation,Builtin,2,247622,0x7ff7b9b54c44,12,DateTimeFormatPrototypeFormatRangeToParts
code-creation,Builtin,2,247635,0x7ff7b9b54c84,12,DateTimeFormatPrototypeFormatToParts
code-creation,Builtin,2,247648,0x7ff7b9b54cc4,12,DateTimeFormatPrototypeResolvedOptions
code-creation,Builtin,2,247662,0x7ff7b9b54d04,12,DateTimeFormatSupportedLocalesOf
code-creation,Builtin,2,247675,0x7ff7b9b54d44,12,DisplayNamesConstructor
code-creation,Builtin,2,247687,0x7ff7b9b54d84,12,DisplayNamesPrototypeOf
code-creation,Builtin,2,247700,0x7ff7b9b54dc4,12,DisplayNamesPrototypeResolvedOptions
code-creation,Builtin,2,247714,0x7ff7b9b54e04,12,DisplayNamesSupportedLocalesOf
code-creation,Builtin,2,247726,0x7ff7b9b54e44,12,DurationFormatConstructor
code-creation,Builtin,2,247739,0x7ff7b9b54e84,12,DurationFormatPrototypeFormat
code-creation,Builtin,2,247752,0x7ff7b9b54ec4,12,DurationFormatPrototypeFormatToParts
code-creation,Builtin,2,247765,0x7ff7b9b54f04,12,DurationFormatPrototypeResolvedOptions
code-creation,Builtin,2,247779,0x7ff7b9b54f44,12,DurationFormatSupportedLocalesOf
code-creation,Builtin,2,247792,0x7ff7b9b54f84,12,IntlGetCanonicalLocales
code-creation,Builtin,2,247805,0x7ff7b9b54fc4,12,IntlSupportedValuesOf
code-creation,Builtin,2,247817,0x7ff7b9b55004,12,ListFormatConstructor
code-creation,Builtin,2,247829,0x7ff7b9b55044,200,ListFormatPrototypeFormat
code-creation,Builtin,2,247849,0x7ff7b9b55144,200,ListFormatPrototypeFormatToParts
code-creation,Builtin,2,247862,0x7ff7b9b55244,12,ListFormatPrototypeResolvedOptions
code-creation,Builtin,2,247881,0x7ff7b9b55284,12,ListFormatSupportedLocalesOf
code-creation,Builtin,2,247895,0x7ff7b9b552c4,12,LocaleConstructor
code-creation,Builtin,2,247909,0x7ff7b9b55304,12,LocalePrototypeBaseName
code-creation,Builtin,2,247927,0x7ff7b9b55344,12,LocalePrototypeCalendar
code-creation,Builtin,2,247940,0x7ff7b9b55384,12,LocalePrototypeCalendars
code-creation,Builtin,2,247954,0x7ff7b9b553c4,12,LocalePrototypeCaseFirst
code-creation,Builtin,2,247970,0x7ff7b9b55404,12,LocalePrototypeCollation
code-creation,Builtin,2,247985,0x7ff7b9b55444,12,LocalePrototypeCollations
code-creation,Builtin,2,248006,0x7ff7b9b55484,12,LocalePrototypeHourCycle
code-creation,Builtin,2,248020,0x7ff7b9b554c4,12,LocalePrototypeHourCycles
code-creation,Builtin,2,248033,0x7ff7b9b55504,12,LocalePrototypeLanguage
code-creation,Builtin,2,248046,0x7ff7b9b55544,12,LocalePrototypeMaximize
code-creation,Builtin,2,248059,0x7ff7b9b55584,12,LocalePrototypeMinimize
code-creation,Builtin,2,248072,0x7ff7b9b555c4,12,LocalePrototypeNumeric
code-creation,Builtin,2,248084,0x7ff7b9b55604,12,LocalePrototypeNumberingSystem
code-creation,Builtin,2,248097,0x7ff7b9b55644,12,LocalePrototypeNumberingSystems
code-creation,Builtin,2,248110,0x7ff7b9b55684,12,LocalePrototypeRegion
code-creation,Builtin,2,248122,0x7ff7b9b556c4,12,LocalePrototypeScript
code-creation,Builtin,2,248135,0x7ff7b9b55704,12,LocalePrototypeTextInfo
code-creation,Builtin,2,248147,0x7ff7b9b55744,12,LocalePrototypeTimeZones
code-creation,Builtin,2,248160,0x7ff7b9b55784,12,LocalePrototypeToString
code-creation,Builtin,2,248172,0x7ff7b9b557c4,12,LocalePrototypeWeekInfo
code-creation,Builtin,2,248185,0x7ff7b9b55804,12,NumberFormatConstructor
code-creation,Builtin,2,248198,0x7ff7b9b55844,12,NumberFormatInternalFormatNumber
code-creation,Builtin,2,248210,0x7ff7b9b55884,12,NumberFormatPrototypeFormatNumber
code-creation,Builtin,2,248223,0x7ff7b9b558c4,12,NumberFormatPrototypeFormatRange
code-creation,Builtin,2,248236,0x7ff7b9b55904,12,NumberFormatPrototypeFormatRangeToParts
code-creation,Builtin,2,248253,0x7ff7b9b55944,12,NumberFormatPrototypeFormatToParts
code-creation,Builtin,2,248266,0x7ff7b9b55984,12,NumberFormatPrototypeResolvedOptions
code-creation,Builtin,2,248284,0x7ff7b9b559c4,12,NumberFormatSupportedLocalesOf
code-creation,Builtin,2,248300,0x7ff7b9b55a04,12,PluralRulesConstructor
code-creation,Builtin,2,248318,0x7ff7b9b55a44,12,PluralRulesPrototypeResolvedOptions
code-creation,Builtin,2,248336,0x7ff7b9b55a84,12,PluralRulesPrototypeSelect
code-creation,Builtin,2,248353,0x7ff7b9b55ac4,12,PluralRulesPrototypeSelectRange
code-creation,Builtin,2,248373,0x7ff7b9b55b04,12,PluralRulesSupportedLocalesOf
code-creation,Builtin,2,248395,0x7ff7b9b55b44,12,RelativeTimeFormatConstructor
code-creation,Builtin,2,248414,0x7ff7b9b55b84,12,RelativeTimeFormatPrototypeFormat
code-creation,Builtin,2,248432,0x7ff7b9b55bc4,12,RelativeTimeFormatPrototypeFormatToParts
code-creation,Builtin,2,248450,0x7ff7b9b55c04,12,RelativeTimeFormatPrototypeResolvedOptions
code-creation,Builtin,2,248468,0x7ff7b9b55c44,12,RelativeTimeFormatSupportedLocalesOf
code-creation,Builtin,2,248487,0x7ff7b9b55c84,12,SegmenterConstructor
code-creation,Builtin,2,248503,0x7ff7b9b55cc4,12,SegmenterPrototypeResolvedOptions
code-creation,Builtin,2,248521,0x7ff7b9b55d04,12,SegmenterPrototypeSegment
code-creation,Builtin,2,248538,0x7ff7b9b55d44,12,SegmenterSupportedLocalesOf
code-creation,Builtin,2,248555,0x7ff7b9b55d84,12,SegmentIteratorPrototypeNext
code-creation,Builtin,2,248572,0x7ff7b9b55dc4,12,SegmentsPrototypeContaining
code-creation,Builtin,2,248590,0x7ff7b9b55e04,12,SegmentsPrototypeIterator
code-creation,Builtin,2,248607,0x7ff7b9b55e44,12,StringPrototypeNormalizeIntl
code-creation,Builtin,2,248624,0x7ff7b9b55e84,1160,StringPrototypeToLocaleLowerCase
code-creation,Builtin,2,248652,0x7ff7b9b56344,12,StringPrototypeToLocaleUpperCase
code-creation,Builtin,2,248667,0x7ff7b9b56384,200,StringPrototypeToLowerCaseIntl
code-creation,Builtin,2,248686,0x7ff7b9b56484,12,StringPrototypeToUpperCaseIntl
code-creation,Builtin,2,248699,0x7ff7b9b564c4,648,StringToLowerCaseIntl
code-creation,Builtin,2,248717,0x7ff7b9b56784,12,TemporalCalendarPrototypeEra
code-creation,Builtin,2,248730,0x7ff7b9b567c4,12,TemporalCalendarPrototypeEraYear
code-creation,Builtin,2,248748,0x7ff7b9b56804,12,TemporalPlainDatePrototypeEra
code-creation,Builtin,2,248761,0x7ff7b9b56844,12,TemporalPlainDatePrototypeEraYear
code-creation,Builtin,2,248781,0x7ff7b9b56884,12,TemporalPlainDateTimePrototypeEra
code-creation,Builtin,2,248794,0x7ff7b9b568c4,12,TemporalPlainDateTimePrototypeEraYear
code-creation,Builtin,2,248814,0x7ff7b9b56904,12,TemporalPlainYearMonthPrototypeEra
code-creation,Builtin,2,248917,0x7ff7b9b56944,12,TemporalPlainYearMonthPrototypeEraYear
code-creation,Builtin,2,248936,0x7ff7b9b56984,12,TemporalZonedDateTimePrototypeEra
code-creation,Builtin,2,248955,0x7ff7b9b569c4,12,TemporalZonedDateTimePrototypeEraYear
code-creation,Builtin,2,248969,0x7ff7b9b56a04,12,V8BreakIteratorConstructor
code-creation,Builtin,2,248987,0x7ff7b9b56a44,12,V8BreakIteratorInternalAdoptText
code-creation,Builtin,2,249000,0x7ff7b9b56a84,12,V8BreakIteratorInternalBreakType
code-creation,Builtin,2,249019,0x7ff7b9b56ac4,12,V8BreakIteratorInternalCurrent
code-creation,Builtin,2,249032,0x7ff7b9b56b04,12,V8BreakIteratorInternalFirst
code-creation,Builtin,2,249045,0x7ff7b9b56b44,12,V8BreakIteratorInternalNext
code-creation,Builtin,2,249057,0x7ff7b9b56b84,12,V8BreakIteratorPrototypeAdoptText
code-creation,Builtin,2,249071,0x7ff7b9b56bc4,12,V8BreakIteratorPrototypeBreakType
code-creation,Builtin,2,249084,0x7ff7b9b56c04,12,V8BreakIteratorPrototypeCurrent
code-creation,Builtin,2,249097,0x7ff7b9b56c44,12,V8BreakIteratorPrototypeFirst
code-creation,Builtin,2,249109,0x7ff7b9b56c84,12,V8BreakIteratorPrototypeNext
code-creation,Builtin,2,249122,0x7ff7b9b56cc4,12,V8BreakIteratorPrototypeResolvedOptions
code-creation,Builtin,2,249136,0x7ff7b9b56d04,12,V8BreakIteratorSupportedLocalesOf
code-creation,BytecodeHandler,0,249150,0x7ff7b9b56d44,24,Wide
code-creation,BytecodeHandler,0,249162,0x7ff7b9b56d84,24,ExtraWide
code-creation,BytecodeHandler,0,249173,0x7ff7b9b56dc4,104,DebugBreakWide
code-creation,BytecodeHandler,0,249186,0x7ff7b9b56e44,104,DebugBreakExtraWide
code-creation,BytecodeHandler,0,249198,0x7ff7b9b56ec4,164,DebugBreak0
code-creation,BytecodeHandler,0,249211,0x7ff7b9b56f84,104,DebugBreak1
code-creation,BytecodeHandler,0,249222,0x7ff7b9b57004,104,DebugBreak2
code-creation,BytecodeHandler,0,249234,0x7ff7b9b57084,104,DebugBreak3
code-creation,BytecodeHandler,0,249248,0x7ff7b9b57104,104,DebugBreak4
code-creation,BytecodeHandler,0,249260,0x7ff7b9b57184,104,DebugBreak5
code-creation,BytecodeHandler,0,249272,0x7ff7b9b57204,104,DebugBreak6
code-creation,BytecodeHandler,0,249283,0x7ff7b9b57284,32,Ldar
code-creation,BytecodeHandler,0,249295,0x7ff7b9b572c4,56,LdaZero
code-creation,BytecodeHandler,0,249306,0x7ff7b9b57304,64,LdaSmi
code-creation,BytecodeHandler,0,249317,0x7ff7b9b57384,64,LdaUndefined
code-creation,BytecodeHandler,0,249329,0x7ff7b9b57404,64,LdaNull
code-creation,BytecodeHandler,0,249340,0x7ff7b9b57484,64,LdaTheHole
code-creation,BytecodeHandler,0,249355,0x7ff7b9b57504,24,LdaTrue
code-creation,BytecodeHandler,0,249376,0x7ff7b9b57544,24,LdaFalse
code-creation,BytecodeHandler,0,249391,0x7ff7b9b57584,64,LdaConstant
code-creation,BytecodeHandler,0,249400,0x7ff7b9b57604,124,LdaContextSlot
code-creation,BytecodeHandler,0,249410,0x7ff7b9b57684,124,LdaImmutableContextSlot
code-creation,BytecodeHandler,0,249420,0x7ff7b9b57704,72,LdaCurrentContextSlot
code-creation,BytecodeHandler,0,249430,0x7ff7b9b57784,72,LdaImmutableCurrentContextSlot
code-creation,BytecodeHandler,0,249444,0x7ff7b9b57804,32,Star
code-creation,BytecodeHandler,0,249454,0x7ff7b9b57844,48,Mov
code-creation,BytecodeHandler,0,249463,0x7ff7b9b57884,40,PushContext
code-creation,BytecodeHandler,0,249470,0x7ff7b9b578c4,36,PopContext
code-creation,BytecodeHandler,0,249476,0x7ff7b9b57904,56,TestReferenceEqual
code-creation,BytecodeHandler,0,249483,0x7ff7b9b57944,60,TestUndetectable
code-creation,BytecodeHandler,0,249489,0x7ff7b9b57984,44,TestNull
code-creation,BytecodeHandler,0,249495,0x7ff7b9b579c4,44,TestUndefined
code-creation,BytecodeHandler,0,249501,0x7ff7b9b57a04,368,TestTypeOf
code-creation,BytecodeHandler,0,249507,0x7ff7b9b57b84,5588,LdaGlobal
code-creation,BytecodeHandler,0,249514,0x7ff7b9b59184,4388,LdaGlobalInsideTypeof
code-creation,BytecodeHandler,0,249520,0x7ff7b9b5a2c4,160,StaGlobal
code-creation,BytecodeHandler,0,249526,0x7ff7b9b5a384,160,StaContextSlot
code-creation,BytecodeHandler,0,249532,0x7ff7b9b5a444,112,StaCurrentContextSlot
code-creation,BytecodeHandler,0,249539,0x7ff7b9b5a4c4,124,LdaLookupSlot
code-creation,BytecodeHandler,0,249545,0x7ff7b9b5a544,256,LdaLookupContextSlot
code-creation,BytecodeHandler,0,249585,0x7ff7b9b5a684,4692,LdaLookupGlobalSlot
code-creation,BytecodeHandler,0,249594,0x7ff7b9b5b904,124,LdaLookupSlotInsideTypeof
code-creation,BytecodeHandler,0,249601,0x7ff7b9b5b984,256,LdaLookupContextSlotInsideTypeof
code-creation,BytecodeHandler,0,249608,0x7ff7b9b5bac4,4644,LdaLookupGlobalSlotInsideTypeof
code-creation,BytecodeHandler,0,249615,0x7ff7b9b5cd04,220,StaLookupSlot
code-creation,BytecodeHandler,0,249621,0x7ff7b9b5ce04,5244,GetNamedProperty
code-creation,BytecodeHandler,0,249628,0x7ff7b9b5e284,184,GetNamedPropertyFromSuper
code-creation,BytecodeHandler,0,249634,0x7ff7b9b5e344,200,GetKeyedProperty
code-creation,BytecodeHandler,0,249641,0x7ff7b9b5e444,168,LdaModuleVariable
code-creation,BytecodeHandler,0,249647,0x7ff7b9b5e504,300,StaModuleVariable
code-creation,BytecodeHandler,0,249654,0x7ff7b9b5e644,176,SetNamedProperty
code-creation,BytecodeHandler,0,249660,0x7ff7b9b5e704,176,DefineNamedOwnProperty
code-creation,BytecodeHandler,0,249666,0x7ff7b9b5e7c4,168,SetKeyedProperty
code-creation,BytecodeHandler,0,249673,0x7ff7b9b5e884,184,DefineKeyedOwnProperty
code-creation,BytecodeHandler,0,249680,0x7ff7b9b5e944,168,StaInArrayLiteral
code-creation,BytecodeHandler,0,249686,0x7ff7b9b5ea04,200,DefineKeyedOwnPropertyInLiteral
code-creation,BytecodeHandler,0,249694,0x7ff7b9b5eb04,1504,Add
code-creation,BytecodeHandler,0,249699,0x7ff7b9b5f104,1472,Sub
code-creation,BytecodeHandler,0,249705,0x7ff7b9b5f704,1592,Mul
code-creation,BytecodeHandler,0,249711,0x7ff7b9b5fd44,1660,Div
code-creation,BytecodeHandler,0,249717,0x7ff7b9b603c4,1608,Mod
code-creation,BytecodeHandler,0,249723,0x7ff7b9b60a44,960,Exp
code-creation,BytecodeHandler,0,249729,0x7ff7b9b60e44,1796,BitwiseOr
code-creation,BytecodeHandler,0,249735,0x7ff7b9b61584,1800,BitwiseXor
code-creation,BytecodeHandler,0,249741,0x7ff7b9b61cc4,1796,BitwiseAnd
code-creation,BytecodeHandler,0,249747,0x7ff7b9b62404,1216,ShiftLeft
code-creation,BytecodeHandler,0,249753,0x7ff7b9b62904,1216,ShiftRight
code-creation,BytecodeHandler,0,249759,0x7ff7b9b62e04,1288,ShiftRightLogical
code-creation,BytecodeHandler,0,249766,0x7ff7b9b63344,1388,AddSmi
code-creation,BytecodeHandler,0,249772,0x7ff7b9b638c4,1356,SubSmi
code-creation,BytecodeHandler,0,249778,0x7ff7b9b63e44,1432,MulSmi
code-creation,BytecodeHandler,0,249784,0x7ff7b9b64404,1572,DivSmi
code-creation,BytecodeHandler,0,249790,0x7ff7b9b64a44,1440,ModSmi
code-creation,BytecodeHandler,0,249796,0x7ff7b9b65004,848,ExpSmi
code-creation,BytecodeHandler,0,249802,0x7ff7b9b65384,488,BitwiseOrSmi
code-creation,BytecodeHandler,0,249808,0x7ff7b9b65584,488,BitwiseXorSmi
code-creation,BytecodeHandler,0,249814,0x7ff7b9b65784,488,BitwiseAndSmi
code-creation,BytecodeHandler,0,249820,0x7ff7b9b65984,508,ShiftLeftSmi
code-creation,BytecodeHandler,0,249826,0x7ff7b9b65b84,496,ShiftRightSmi
code-creation,BytecodeHandler,0,249833,0x7ff7b9b65d84,784,ShiftRightLogicalSmi
code-creation,BytecodeHandler,0,249839,0x7ff7b9b660c4,644,Inc
code-creation,BytecodeHandler,0,249845,0x7ff7b9b66384,644,Dec
code-creation,BytecodeHandler,0,249851,0x7ff7b9b66644,632,Negate
code-creation,BytecodeHandler,0,249856,0x7ff7b9b668c4,504,BitwiseNot
code-creation,BytecodeHandler,0,249862,0x7ff7b9b66ac4,124,ToBooleanLogicalNot
code-creation,BytecodeHandler,0,249869,0x7ff7b9b66b44,44,LogicalNot
code-creation,BytecodeHandler,0,249875,0x7ff7b9b66b84,204,TypeOf
code-creation,BytecodeHandler,0,249881,0x7ff7b9b66c84,124,DeletePropertyStrict
code-creation,BytecodeHandler,0,249888,0x7ff7b9b66d04,116,DeletePropertySloppy
code-creation,BytecodeHandler,0,249896,0x7ff7b9b66d84,40,GetSuperConstructor
code-creation,BytecodeHandler,0,249903,0x7ff7b9b66dc4,352,FindNonDefaultConstructorOrConstruct
code-creation,BytecodeHandler,0,249910,0x7ff7b9b66f44,1108,CallAnyReceiver
code-creation,BytecodeHandler,0,249916,0x7ff7b9b673c4,1108,CallProperty
code-creation,BytecodeHandler,0,249922,0x7ff7b9b67844,1016,CallProperty0
code-creation,BytecodeHandler,0,249928,0x7ff7b9b67c44,1028,CallProperty1
code-creation,BytecodeHandler,0,249935,0x7ff7b9b68084,1040,CallProperty2
code-creation,BytecodeHandler,0,249942,0x7ff7b9b684c4,1000,CallUndefinedReceiver
code-creation,BytecodeHandler,0,249949,0x7ff7b9b688c4,1040,CallUndefinedReceiver0
code-creation,BytecodeHandler,0,249956,0x7ff7b9b68d04,1028,CallUndefinedReceiver1
code-creation,BytecodeHandler,0,249962,0x7ff7b9b69144,1048,CallUndefinedReceiver2
code-creation,BytecodeHandler,0,249969,0x7ff7b9b69584,1108,CallWithSpread
code-creation,BytecodeHandler,0,249975,0x7ff7b9b69a04,128,CallRuntime
code-creation,BytecodeHandler,0,249981,0x7ff7b9b69ac4,164,CallRuntimeForPair
code-creation,BytecodeHandler,0,249987,0x7ff7b9b69b84,80,CallJSRuntime
code-creation,BytecodeHandler,0,249994,0x7ff7b9b69c04,1328,InvokeIntrinsic
code-creation,BytecodeHandler,0,250000,0x7ff7b9b6a144,1016,Construct
code-creation,BytecodeHandler,0,250006,0x7ff7b9b6a544,512,ConstructWithSpread
code-creation,BytecodeHandler,0,250017,0x7ff7b9b6a784,2180,TestEqual
code-creation,BytecodeHandler,0,250026,0x7ff7b9b6b044,1336,TestEqualStrict
code-creation,BytecodeHandler,0,250035,0x7ff7b9b6b584,1808,TestLessThan
code-creation,BytecodeHandler,0,250043,0x7ff7b9b6bcc4,1808,TestGreaterThan
code-creation,BytecodeHandler,0,250049,0x7ff7b9b6c404,1808,TestLessThanOrEqual
code-creation,BytecodeHandler,0,250056,0x7ff7b9b6cb44,1808,TestGreaterThanOrEqual
code-creation,BytecodeHandler,0,250062,0x7ff7b9b6d284,884,TestInstanceOf
code-creation,BytecodeHandler,0,250068,0x7ff7b9b6d604,156,TestIn
code-creation,BytecodeHandler,0,250075,0x7ff7b9b6d6c4,116,ToName
code-creation,BytecodeHandler,0,250082,0x7ff7b9b6d744,220,ToNumber
code-creation,BytecodeHandler,0,250091,0x7ff7b9b6d844,244,ToNumeric
code-creation,BytecodeHandler,0,250097,0x7ff7b9b6d944,116,ToObject
code-creation,BytecodeHandler,0,250103,0x7ff7b9b6d9c4,124,ToString
code-creation,BytecodeHandler,0,250109,0x7ff7b9b6da44,396,CreateRegExpLiteral
code-creation,BytecodeHandler,0,250119,0x7ff7b9b6dc04,1568,CreateArrayLiteral
code-creation,BytecodeHandler,0,250129,0x7ff7b9b6e244,92,CreateArrayFromIterable
code-creation,BytecodeHandler,0,250137,0x7ff7b9b6e2c4,764,CreateEmptyArrayLiteral
code-creation,BytecodeHandler,0,250143,0x7ff7b9b6e5c4,2376,CreateObjectLiteral
code-creation,BytecodeHandler,0,250150,0x7ff7b9b6ef44,236,CreateEmptyObjectLiteral
code-creation,BytecodeHandler,0,250157,0x7ff7b9b6f044,172,CloneObject
code-creation,BytecodeHandler,0,250163,0x7ff7b9b6f104,204,GetTemplateObject
code-creation,BytecodeHandler,0,250169,0x7ff7b9b6f204,336,CreateClosure
code-creation,BytecodeHandler,0,250175,0x7ff7b9b6f384,116,CreateBlockContext
code-creation,BytecodeHandler,0,250182,0x7ff7b9b6f404,132,CreateCatchContext
code-creation,BytecodeHandler,0,250188,0x7ff7b9b6f4c4,292,CreateFunctionContext
code-creation,BytecodeHandler,0,250195,0x7ff7b9b6f604,292,CreateEvalContext
code-creation,BytecodeHandler,0,250201,0x7ff7b9b6f744,132,CreateWithContext
code-creation,BytecodeHandler,0,250207,0x7ff7b9b6f804,1556,CreateMappedArguments
code-creation,BytecodeHandler,0,250214,0x7ff7b9b6fe44,572,CreateUnmappedArguments
code-creation,BytecodeHandler,0,250220,0x7ff7b9b70084,624,CreateRestParameter
code-creation,BytecodeHandler,0,250227,0x7ff7b9b70304,868,JumpLoop
code-creation,BytecodeHandler,0,250233,0x7ff7b9b70684,44,Jump
code-creation,BytecodeHandler,0,250239,0x7ff7b9b706c4,56,JumpConstant
code-creation,BytecodeHandler,0,250247,0x7ff7b9b70704,80,JumpIfNullConstant
code-creation,BytecodeHandler,0,250254,0x7ff7b9b70784,80,JumpIfNotNullConstant
code-creation,BytecodeHandler,0,250288,0x7ff7b9b70804,80,JumpIfUndefinedConstant
code-creation,BytecodeHandler,0,250328,0x7ff7b9b70884,80,JumpIfNotUndefinedConstant
code-creation,BytecodeHandler,0,250341,0x7ff7b9b70904,92,JumpIfUndefinedOrNullConstant
code-creation,BytecodeHandler,0,250348,0x7ff7b9b70984,80,JumpIfTrueConstant
code-creation,BytecodeHandler,0,250354,0x7ff7b9b70a04,80,JumpIfFalseConstant
code-creation,BytecodeHandler,0,250361,0x7ff7b9b70a84,92,JumpIfJSReceiverConstant
code-creation,BytecodeHandler,0,250367,0x7ff7b9b70b04,164,JumpIfToBooleanTrueConstant
code-creation,BytecodeHandler,0,250374,0x7ff7b9b70bc4,160,JumpIfToBooleanFalseConstant
code-creation,BytecodeHandler,0,250382,0x7ff7b9b70c84,148,JumpIfToBooleanTrue
code-creation,BytecodeHandler,0,250390,0x7ff7b9b70d44,148,JumpIfToBooleanFalse
code-creation,BytecodeHandler,0,250396,0x7ff7b9b70e04,68,JumpIfTrue
code-creation,BytecodeHandler,0,250402,0x7ff7b9b70e84,68,JumpIfFalse
code-creation,BytecodeHandler,0,250408,0x7ff7b9b70f04,68,JumpIfNull
code-creation,BytecodeHandler,0,250414,0x7ff7b9b70f84,68,JumpIfNotNull
code-creation,BytecodeHandler,0,250421,0x7ff7b9b71004,68,JumpIfUndefined
code-creation,BytecodeHandler,0,250427,0x7ff7b9b71084,68,JumpIfNotUndefined
code-creation,BytecodeHandler,0,250434,0x7ff7b9b71104,76,JumpIfUndefinedOrNull
code-creation,BytecodeHandler,0,250441,0x7ff7b9b71184,80,JumpIfJSReceiver
code-creation,BytecodeHandler,0,250447,0x7ff7b9b71204,108,SwitchOnSmiNoFeedback
code-creation,BytecodeHandler,0,250454,0x7ff7b9b71284,472,ForInEnumerate
code-creation,BytecodeHandler,0,250460,0x7ff7b9b71484,260,ForInPrepare
code-creation,BytecodeHandler,0,250466,0x7ff7b9b715c4,64,ForInContinue
code-creation,BytecodeHandler,0,250472,0x7ff7b9b71644,260,ForInNext
code-creation,BytecodeHandler,0,250478,0x7ff7b9b71784,48,ForInStep
code-creation,BytecodeHandler,0,250484,0x7ff7b9b717c4,36,SetPendingMessage
code-creation,BytecodeHandler,0,250491,0x7ff7b9b71804,116,Throw
code-creation,BytecodeHandler,0,250497,0x7ff7b9b71884,116,ReThrow
code-creation,BytecodeHandler,0,250503,0x7ff7b9b71904,112,Return
code-creation,BytecodeHandler,0,250509,0x7ff7b9b71984,188,ThrowReferenceErrorIfHole
code-creation,BytecodeHandler,0,250516,0x7ff7b9b71a44,136,ThrowSuperNotCalledIfHole
code-creation,BytecodeHandler,0,250522,0x7ff7b9b71b04,136,ThrowSuperAlreadyCalledIfNotHole
code-creation,BytecodeHandler,0,250529,0x7ff7b9b71bc4,156,ThrowIfNotSuperConstructor
code-creation,BytecodeHandler,0,250536,0x7ff7b9b71c84,124,SwitchOnGeneratorState
code-creation,BytecodeHandler,0,250542,0x7ff7b9b71d04,520,SuspendGenerator
code-creation,BytecodeHandler,0,250549,0x7ff7b9b71f44,140,ResumeGenerator
code-creation,BytecodeHandler,0,250555,0x7ff7b9b72004,164,GetIterator
code-creation,BytecodeHandler,0,250561,0x7ff7b9b720c4,116,Debugger
code-creation,BytecodeHandler,0,250568,0x7ff7b9b72144,124,IncBlockCounter
code-creation,BytecodeHandler,0,250574,0x7ff7b9b721c4,56,Abort
code-creation,BytecodeHandler,0,250580,0x7ff7b9b72204,32,Star0
code-creation,BytecodeHandler,0,250586,0x7ff7b9b72244,60,Illegal
code-creation,BytecodeHandler,0,250593,0x7ff7b9b72284,108,DebugBreak1.Wide
code-creation,BytecodeHandler,0,250599,0x7ff7b9b72304,108,DebugBreak2.Wide
code-creation,BytecodeHandler,0,250606,0x7ff7b9b72384,108,DebugBreak3.Wide
code-creation,BytecodeHandler,0,250612,0x7ff7b9b72404,108,DebugBreak4.Wide
code-creation,BytecodeHandler,0,250619,0x7ff7b9b72484,108,DebugBreak5.Wide
code-creation,BytecodeHandler,0,250625,0x7ff7b9b72504,108,DebugBreak6.Wide
code-creation,BytecodeHandler,0,250631,0x7ff7b9b72584,32,Ldar.Wide
code-creation,BytecodeHandler,0,250637,0x7ff7b9b725c4,32,LdaSmi.Wide
code-creation,BytecodeHandler,0,250644,0x7ff7b9b72604,32,LdaConstant.Wide
code-creation,BytecodeHandler,0,250650,0x7ff7b9b72644,96,LdaContextSlot.Wide
code-creation,BytecodeHandler,0,250657,0x7ff7b9b726c4,96,LdaImmutableContextSlot.Wide
code-creation,BytecodeHandler,0,250664,0x7ff7b9b72744,44,LdaCurrentContextSlot.Wide
code-creation,BytecodeHandler,0,250671,0x7ff7b9b72784,44,LdaImmutableCurrentContextSlot.Wide
code-creation,BytecodeHandler,0,250678,0x7ff7b9b727c4,32,Star.Wide
code-creation,BytecodeHandler,0,250684,0x7ff7b9b72804,48,Mov.Wide
code-creation,BytecodeHandler,0,250690,0x7ff7b9b72844,40,PushContext.Wide
code-creation,BytecodeHandler,0,250696,0x7ff7b9b72884,36,PopContext.Wide
code-creation,BytecodeHandler,0,250703,0x7ff7b9b728c4,56,TestReferenceEqual.Wide
code-creation,BytecodeHandler,0,250709,0x7ff7b9b72904,4536,LdaGlobal.Wide
code-creation,BytecodeHandler,0,250717,0x7ff7b9b73ac4,4460,LdaGlobalInsideTypeof.Wide
code-creation,BytecodeHandler,0,250725,0x7ff7b9b74c44,164,StaGlobal.Wide
code-creation,BytecodeHandler,0,250735,0x7ff7b9b74d04,160,StaContextSlot.Wide
code-creation,BytecodeHandler,0,250743,0x7ff7b9b74dc4,112,StaCurrentContextSlot.Wide
code-creation,BytecodeHandler,0,250750,0x7ff7b9b74e44,128,LdaLookupSlot.Wide
code-creation,BytecodeHandler,0,250757,0x7ff7b9b74f04,260,LdaLookupContextSlot.Wide
code-creation,BytecodeHandler,0,250764,0x7ff7b9b75044,4716,LdaLookupGlobalSlot.Wide
code-creation,BytecodeHandler,0,250770,0x7ff7b9b762c4,128,LdaLookupSlotInsideTypeof.Wide
code-creation,BytecodeHandler,0,250778,0x7ff7b9b76384,260,LdaLookupContextSlotInsideTypeof.Wide
code-creation,BytecodeHandler,0,250785,0x7ff7b9b764c4,4660,LdaLookupGlobalSlotInsideTypeof.Wide
code-creation,BytecodeHandler,0,250792,0x7ff7b9b77704,220,StaLookupSlot.Wide
code-creation,BytecodeHandler,0,250798,0x7ff7b9b77804,5300,GetNamedProperty.Wide
code-creation,BytecodeHandler,0,250805,0x7ff7b9b78cc4,192,GetNamedPropertyFromSuper.Wide
code-creation,BytecodeHandler,0,250812,0x7ff7b9b78dc4,156,GetKeyedProperty.Wide
tick,0x7ffcc628d664,250827,0,0x0,6
code-creation,BytecodeHandler,0,250853,0x7ff7b9b78e84,168,LdaModuleVariable.Wide
code-creation,BytecodeHandler,0,250873,0x7ff7b9b78f44,308,StaModuleVariable.Wide
code-creation,BytecodeHandler,0,250879,0x7ff7b9b79084,180,SetNamedProperty.Wide
code-creation,BytecodeHandler,0,250885,0x7ff7b9b79144,180,DefineNamedOwnProperty.Wide
code-creation,BytecodeHandler,0,250891,0x7ff7b9b79204,172,SetKeyedProperty.Wide
code-creation,BytecodeHandler,0,250897,0x7ff7b9b792c4,188,DefineKeyedOwnProperty.Wide
code-creation,BytecodeHandler,0,250903,0x7ff7b9b79384,172,StaInArrayLiteral.Wide
code-creation,BytecodeHandler,0,250909,0x7ff7b9b79444,204,DefineKeyedOwnPropertyInLiteral.Wide
code-creation,BytecodeHandler,0,250915,0x7ff7b9b79544,1476,Add.Wide
code-creation,BytecodeHandler,0,250920,0x7ff7b9b79b44,1440,Sub.Wide
code-creation,BytecodeHandler,0,250925,0x7ff7b9b7a104,1560,Mul.Wide
code-creation,BytecodeHandler,0,250930,0x7ff7b9b7a744,1672,Div.Wide
code-creation,BytecodeHandler,0,250936,0x7ff7b9b7ae04,1624,Mod.Wide
code-creation,BytecodeHandler,0,250941,0x7ff7b9b7b484,984,Exp.Wide
code-creation,BytecodeHandler,0,250946,0x7ff7b9b7b884,1848,BitwiseOr.Wide
code-creation,BytecodeHandler,0,250951,0x7ff7b9b7bfc4,1852,BitwiseXor.Wide
code-creation,BytecodeHandler,0,250957,0x7ff7b9b7c704,1848,BitwiseAnd.Wide
code-creation,BytecodeHandler,0,250962,0x7ff7b9b7ce44,1272,ShiftLeft.Wide
code-creation,BytecodeHandler,0,250968,0x7ff7b9b7d344,1272,ShiftRight.Wide
code-creation,BytecodeHandler,0,250973,0x7ff7b9b7d844,1344,ShiftRightLogical.Wide
code-creation,BytecodeHandler,0,250979,0x7ff7b9b7ddc4,1368,AddSmi.Wide
code-creation,BytecodeHandler,0,250984,0x7ff7b9b7e344,1332,SubSmi.Wide
code-creation,BytecodeHandler,0,250989,0x7ff7b9b7e884,1444,MulSmi.Wide
code-creation,BytecodeHandler,0,250994,0x7ff7b9b7ee44,1588,DivSmi.Wide
code-creation,BytecodeHandler,0,251000,0x7ff7b9b7f484,1456,ModSmi.Wide
code-creation,BytecodeHandler,0,251005,0x7ff7b9b7fa44,844,ExpSmi.Wide
code-creation,BytecodeHandler,0,251010,0x7ff7b9b7fdc4,496,BitwiseOrSmi.Wide
code-creation,BytecodeHandler,0,251017,0x7ff7b9b7ffc4,496,BitwiseXorSmi.Wide
code-creation,BytecodeHandler,0,251022,0x7ff7b9b801c4,496,BitwiseAndSmi.Wide
code-creation,BytecodeHandler,0,251028,0x7ff7b9b803c4,516,ShiftLeftSmi.Wide
code-creation,BytecodeHandler,0,251034,0x7ff7b9b80604,500,ShiftRightSmi.Wide
code-creation,BytecodeHandler,0,251039,0x7ff7b9b80804,792,ShiftRightLogicalSmi.Wide
code-creation,BytecodeHandler,0,251045,0x7ff7b9b80b44,616,Inc.Wide
code-creation,BytecodeHandler,0,251050,0x7ff7b9b80dc4,616,Dec.Wide
code-creation,BytecodeHandler,0,251056,0x7ff7b9b81044,636,Negate.Wide
code-creation,BytecodeHandler,0,251061,0x7ff7b9b812c4,516,BitwiseNot.Wide
code-creation,BytecodeHandler,0,251067,0x7ff7b9b81504,128,DeletePropertyStrict.Wide
code-creation,BytecodeHandler,0,251072,0x7ff7b9b815c4,120,DeletePropertySloppy.Wide
code-creation,BytecodeHandler,0,251078,0x7ff7b9b81644,40,GetSuperConstructor.Wide
code-creation,BytecodeHandler,0,251084,0x7ff7b9b81684,356,FindNonDefaultConstructorOrConstruct.Wide
code-creation,BytecodeHandler,0,251090,0x7ff7b9b81804,1108,CallAnyReceiver.Wide
code-creation,BytecodeHandler,0,251099,0x7ff7b9b81c84,1108,CallProperty.Wide
code-creation,BytecodeHandler,0,251107,0x7ff7b9b82104,1020,CallProperty0.Wide
code-creation,BytecodeHandler,0,251112,0x7ff7b9b82504,1032,CallProperty1.Wide
code-creation,BytecodeHandler,0,251118,0x7ff7b9b82944,1044,CallProperty2.Wide
code-creation,BytecodeHandler,0,251123,0x7ff7b9b82d84,1004,CallUndefinedReceiver.Wide
code-creation,BytecodeHandler,0,251129,0x7ff7b9b83184,1044,CallUndefinedReceiver0.Wide
code-creation,BytecodeHandler,0,251135,0x7ff7b9b835c4,1032,CallUndefinedReceiver1.Wide
code-creation,BytecodeHandler,0,251141,0x7ff7b9b83a04,1052,CallUndefinedReceiver2.Wide
code-creation,BytecodeHandler,0,251146,0x7ff7b9b83e44,1108,CallWithSpread.Wide
code-creation,BytecodeHandler,0,251152,0x7ff7b9b842c4,132,CallRuntime.Wide
code-creation,BytecodeHandler,0,251158,0x7ff7b9b84384,172,CallRuntimeForPair.Wide
code-creation,BytecodeHandler,0,251163,0x7ff7b9b84444,84,CallJSRuntime.Wide
code-creation,BytecodeHandler,0,251169,0x7ff7b9b844c4,1332,InvokeIntrinsic.Wide
code-creation,BytecodeHandler,0,251174,0x7ff7b9b84a04,972,Construct.Wide
code-creation,BytecodeHandler,0,251180,0x7ff7b9b84e04,460,ConstructWithSpread.Wide
code-creation,BytecodeHandler,0,251186,0x7ff7b9b85004,2212,TestEqual.Wide
code-creation,BytecodeHandler,0,251191,0x7ff7b9b858c4,1344,TestEqualStrict.Wide
code-creation,BytecodeHandler,0,251197,0x7ff7b9b85e44,1788,TestLessThan.Wide
code-creation,BytecodeHandler,0,251202,0x7ff7b9b86544,1788,TestGreaterThan.Wide
code-creation,BytecodeHandler,0,251208,0x7ff7b9b86c44,1788,TestLessThanOrEqual.Wide
code-creation,BytecodeHandler,0,251214,0x7ff7b9b87344,1788,TestGreaterThanOrEqual.Wide
code-creation,BytecodeHandler,0,251219,0x7ff7b9b87a44,892,TestInstanceOf.Wide
code-creation,BytecodeHandler,0,251225,0x7ff7b9b87dc4,156,TestIn.Wide
code-creation,BytecodeHandler,0,251230,0x7ff7b9b87e84,120,ToName.Wide
code-creation,BytecodeHandler,0,251245,0x7ff7b9b87f04,224,ToNumber.Wide
code-creation,BytecodeHandler,0,251251,0x7ff7b9b88004,248,ToNumeric.Wide
code-creation,BytecodeHandler,0,251257,0x7ff7b9b88104,120,ToObject.Wide
code-creation,BytecodeHandler,0,251262,0x7ff7b9b88184,400,CreateRegExpLiteral.Wide
code-creation,BytecodeHandler,0,251268,0x7ff7b9b88344,1500,CreateArrayLiteral.Wide
code-creation,BytecodeHandler,0,251274,0x7ff7b9b88944,764,CreateEmptyArrayLiteral.Wide
code-creation,BytecodeHandler,0,251280,0x7ff7b9b88c44,2312,CreateObjectLiteral.Wide
code-creation,BytecodeHandler,0,251286,0x7ff7b9b89584,176,CloneObject.Wide
code-creation,BytecodeHandler,0,251291,0x7ff7b9b89644,164,GetTemplateObject.Wide
code-creation,BytecodeHandler,0,251297,0x7ff7b9b89704,336,CreateClosure.Wide
code-creation,BytecodeHandler,0,251302,0x7ff7b9b89884,120,CreateBlockContext.Wide
code-creation,BytecodeHandler,0,251308,0x7ff7b9b89904,136,CreateCatchContext.Wide
code-creation,BytecodeHandler,0,251314,0x7ff7b9b899c4,292,CreateFunctionContext.Wide
code-creation,BytecodeHandler,0,251320,0x7ff7b9b89b04,292,CreateEvalContext.Wide
code-creation,BytecodeHandler,0,251326,0x7ff7b9b89c44,136,CreateWithContext.Wide
code-creation,BytecodeHandler,0,251331,0x7ff7b9b89d04,900,JumpLoop.Wide
code-creation,BytecodeHandler,0,251337,0x7ff7b9b8a0c4,44,Jump.Wide
code-creation,BytecodeHandler,0,251342,0x7ff7b9b8a104,56,JumpConstant.Wide
code-creation,BytecodeHandler,0,251348,0x7ff7b9b8a144,80,JumpIfNullConstant.Wide
code-creation,BytecodeHandler,0,251353,0x7ff7b9b8a1c4,80,JumpIfNotNullConstant.Wide
code-creation,BytecodeHandler,0,251359,0x7ff7b9b8a244,80,JumpIfUndefinedConstant.Wide
code-creation,BytecodeHandler,0,251365,0x7ff7b9b8a2c4,80,JumpIfNotUndefinedConstant.Wide
code-creation,BytecodeHandler,0,251371,0x7ff7b9b8a344,92,JumpIfUndefinedOrNullConstant.Wide
code-creation,BytecodeHandler,0,251377,0x7ff7b9b8a3c4,80,JumpIfTrueConstant.Wide
code-creation,BytecodeHandler,0,251383,0x7ff7b9b8a444,80,JumpIfFalseConstant.Wide
code-creation,BytecodeHandler,0,251388,0x7ff7b9b8a4c4,92,JumpIfJSReceiverConstant.Wide
code-creation,BytecodeHandler,0,251394,0x7ff7b9b8a544,164,JumpIfToBooleanTrueConstant.Wide
code-creation,BytecodeHandler,0,251402,0x7ff7b9b8a604,160,JumpIfToBooleanFalseConstant.Wide
code-creation,BytecodeHandler,0,251408,0x7ff7b9b8a6c4,148,JumpIfToBooleanTrue.Wide
code-creation,BytecodeHandler,0,251414,0x7ff7b9b8a784,148,JumpIfToBooleanFalse.Wide
code-creation,BytecodeHandler,0,251420,0x7ff7b9b8a844,68,JumpIfTrue.Wide
code-creation,BytecodeHandler,0,251425,0x7ff7b9b8a8c4,68,JumpIfFalse.Wide
code-creation,BytecodeHandler,0,251431,0x7ff7b9b8a944,68,JumpIfNull.Wide
code-creation,BytecodeHandler,0,251437,0x7ff7b9b8a9c4,68,JumpIfNotNull.Wide
code-creation,BytecodeHandler,0,251442,0x7ff7b9b8aa44,68,JumpIfUndefined.Wide
code-creation,BytecodeHandler,0,251448,0x7ff7b9b8aac4,68,JumpIfNotUndefined.Wide
code-creation,BytecodeHandler,0,251454,0x7ff7b9b8ab44,76,JumpIfUndefinedOrNull.Wide
code-creation,BytecodeHandler,0,251459,0x7ff7b9b8abc4,80,JumpIfJSReceiver.Wide
code-creation,BytecodeHandler,0,251465,0x7ff7b9b8ac44,108,SwitchOnSmiNoFeedback.Wide
code-creation,BytecodeHandler,0,251471,0x7ff7b9b8acc4,476,ForInEnumerate.Wide
code-creation,BytecodeHandler,0,251479,0x7ff7b9b8aec4,260,ForInPrepare.Wide
code-creation,BytecodeHandler,0,251484,0x7ff7b9b8b004,64,ForInContinue.Wide
code-creation,BytecodeHandler,0,251490,0x7ff7b9b8b084,264,ForInNext.Wide
code-creation,BytecodeHandler,0,251495,0x7ff7b9b8b1c4,48,ForInStep.Wide
code-creation,BytecodeHandler,0,251500,0x7ff7b9b8b204,160,ThrowReferenceErrorIfHole.Wide
code-creation,BytecodeHandler,0,251506,0x7ff7b9b8b2c4,160,ThrowIfNotSuperConstructor.Wide
code-creation,BytecodeHandler,0,251512,0x7ff7b9b8b384,124,SwitchOnGeneratorState.Wide
code-creation,BytecodeHandler,0,251518,0x7ff7b9b8b404,528,SuspendGenerator.Wide
code-creation,BytecodeHandler,0,251523,0x7ff7b9b8b644,140,ResumeGenerator.Wide
code-creation,BytecodeHandler,0,251529,0x7ff7b9b8b704,168,GetIterator.Wide
code-creation,BytecodeHandler,0,251535,0x7ff7b9b8b7c4,128,IncBlockCounter.Wide
code-creation,BytecodeHandler,0,251540,0x7ff7b9b8b884,56,Abort.Wide
code-creation,BytecodeHandler,0,251546,0x7ff7b9b8b8c4,108,DebugBreak1.ExtraWide
code-creation,BytecodeHandler,0,251551,0x7ff7b9b8b944,108,DebugBreak2.ExtraWide
code-creation,BytecodeHandler,0,251557,0x7ff7b9b8b9c4,108,DebugBreak3.ExtraWide
code-creation,BytecodeHandler,0,251563,0x7ff7b9b8ba44,108,DebugBreak4.ExtraWide
code-creation,BytecodeHandler,0,251569,0x7ff7b9b8bac4,108,DebugBreak5.ExtraWide
code-creation,BytecodeHandler,0,251574,0x7ff7b9b8bb44,108,DebugBreak6.ExtraWide
code-creation,BytecodeHandler,0,251580,0x7ff7b9b8bbc4,32,Ldar.ExtraWide
code-creation,BytecodeHandler,0,251585,0x7ff7b9b8bc04,28,LdaSmi.ExtraWide
code-creation,BytecodeHandler,0,251591,0x7ff7b9b8bc44,32,LdaConstant.ExtraWide
code-creation,BytecodeHandler,0,251596,0x7ff7b9b8bc84,92,LdaContextSlot.ExtraWide
code-creation,BytecodeHandler,0,251602,0x7ff7b9b8bd04,92,LdaImmutableContextSlot.ExtraWide
code-creation,BytecodeHandler,0,251608,0x7ff7b9b8bd84,44,LdaCurrentContextSlot.ExtraWide
code-creation,BytecodeHandler,0,251614,0x7ff7b9b8bdc4,44,LdaImmutableCurrentContextSlot.ExtraWide
code-creation,BytecodeHandler,0,251620,0x7ff7b9b8be04,32,Star.ExtraWide
code-creation,BytecodeHandler,0,251625,0x7ff7b9b8be44,44,Mov.ExtraWide
code-creation,BytecodeHandler,0,251631,0x7ff7b9b8be84,40,PushContext.ExtraWide
code-creation,BytecodeHandler,0,251636,0x7ff7b9b8bec4,36,PopContext.ExtraWide
code-creation,BytecodeHandler,0,251642,0x7ff7b9b8bf04,52,TestReferenceEqual.ExtraWide
code-creation,BytecodeHandler,0,251648,0x7ff7b9b8bf44,4524,LdaGlobal.ExtraWide
code-creation,BytecodeHandler,0,251653,0x7ff7b9b8d104,4448,LdaGlobalInsideTypeof.ExtraWide
code-creation,BytecodeHandler,0,251659,0x7ff7b9b8e284,164,StaGlobal.ExtraWide
code-creation,BytecodeHandler,0,251665,0x7ff7b9b8e344,156,StaContextSlot.ExtraWide
code-creation,BytecodeHandler,0,251671,0x7ff7b9b8e404,112,StaCurrentContextSlot.ExtraWide
code-creation,BytecodeHandler,0,251677,0x7ff7b9b8e484,128,LdaLookupSlot.ExtraWide
code-creation,BytecodeHandler,0,251682,0x7ff7b9b8e544,260,LdaLookupContextSlot.ExtraWide
code-creation,BytecodeHandler,0,251688,0x7ff7b9b8e684,4700,LdaLookupGlobalSlot.ExtraWide
code-creation,BytecodeHandler,0,251695,0x7ff7b9b8f904,128,LdaLookupSlotInsideTypeof.ExtraWide
code-creation,BytecodeHandler,0,251702,0x7ff7b9b8f9c4,260,LdaLookupContextSlotInsideTypeof.ExtraWide
code-creation,BytecodeHandler,0,251708,0x7ff7b9b8fb04,4648,LdaLookupGlobalSlotInsideTypeof.ExtraWide
code-creation,BytecodeHandler,0,251714,0x7ff7b9b90d44,220,StaLookupSlot.ExtraWide
code-creation,BytecodeHandler,0,251720,0x7ff7b9b90e44,5280,GetNamedProperty.ExtraWide
code-creation,BytecodeHandler,0,251726,0x7ff7b9b92304,188,GetNamedPropertyFromSuper.ExtraWide
code-creation,BytecodeHandler,0,251732,0x7ff7b9b923c4,156,GetKeyedProperty.ExtraWide
code-creation,BytecodeHandler,0,251737,0x7ff7b9b92484,164,LdaModuleVariable.ExtraWide
code-creation,BytecodeHandler,0,251743,0x7ff7b9b92544,304,StaModuleVariable.ExtraWide
code-creation,BytecodeHandler,0,251749,0x7ff7b9b92684,176,SetNamedProperty.ExtraWide
code-creation,BytecodeHandler,0,251754,0x7ff7b9b92744,176,DefineNamedOwnProperty.ExtraWide
code-creation,BytecodeHandler,0,251760,0x7ff7b9b92804,168,SetKeyedProperty.ExtraWide
code-creation,BytecodeHandler,0,251766,0x7ff7b9b928c4,184,DefineKeyedOwnProperty.ExtraWide
code-creation,BytecodeHandler,0,251772,0x7ff7b9b92984,168,StaInArrayLiteral.ExtraWide
code-creation,BytecodeHandler,0,251778,0x7ff7b9b92a44,200,DefineKeyedOwnPropertyInLiteral.ExtraWide
code-creation,BytecodeHandler,0,251784,0x7ff7b9b92b44,1472,Add.ExtraWide
code-creation,BytecodeHandler,0,251789,0x7ff7b9b93144,1436,Sub.ExtraWide
code-creation,BytecodeHandler,0,251794,0x7ff7b9b93704,1556,Mul.ExtraWide
code-creation,BytecodeHandler,0,251800,0x7ff7b9b93d44,1668,Div.ExtraWide
code-creation,BytecodeHandler,0,251805,0x7ff7b9b94404,1620,Mod.ExtraWide
code-creation,BytecodeHandler,0,251810,0x7ff7b9b94a84,980,Exp.ExtraWide
code-creation,BytecodeHandler,0,251815,0x7ff7b9b94e84,1836,BitwiseOr.ExtraWide
code-creation,BytecodeHandler,0,251821,0x7ff7b9b955c4,1840,BitwiseXor.ExtraWide
code-creation,BytecodeHandler,0,251827,0x7ff7b9b95d04,1836,BitwiseAnd.ExtraWide
code-creation,BytecodeHandler,0,251833,0x7ff7b9b96444,1268,ShiftLeft.ExtraWide
code-creation,BytecodeHandler,0,251838,0x7ff7b9b96944,1268,ShiftRight.ExtraWide
code-creation,BytecodeHandler,0,251844,0x7ff7b9b96e44,1332,ShiftRightLogical.ExtraWide
code-creation,BytecodeHandler,0,251850,0x7ff7b9b97384,1360,AddSmi.ExtraWide
code-creation,BytecodeHandler,0,251855,0x7ff7b9b97904,1328,SubSmi.ExtraWide
code-creation,BytecodeHandler,0,251860,0x7ff7b9b97e44,1440,MulSmi.ExtraWide
code-creation,BytecodeHandler,0,251866,0x7ff7b9b98404,1584,DivSmi.ExtraWide
code-creation,BytecodeHandler,0,251871,0x7ff7b9b98a44,1452,ModSmi.ExtraWide
code-creation,BytecodeHandler,0,251877,0x7ff7b9b99004,844,ExpSmi.ExtraWide
code-creation,BytecodeHandler,0,251882,0x7ff7b9b99384,492,BitwiseOrSmi.ExtraWide
code-creation,BytecodeHandler,0,251888,0x7ff7b9b99584,492,BitwiseXorSmi.ExtraWide
code-creation,BytecodeHandler,0,251894,0x7ff7b9b99784,492,BitwiseAndSmi.ExtraWide
code-creation,BytecodeHandler,0,251899,0x7ff7b9b99984,516,ShiftLeftSmi.ExtraWide
code-creation,BytecodeHandler,0,251905,0x7ff7b9b99bc4,500,ShiftRightSmi.ExtraWide
code-creation,BytecodeHandler,0,251911,0x7ff7b9b99dc4,788,ShiftRightLogicalSmi.ExtraWide
code-creation,BytecodeHandler,0,251917,0x7ff7b9b9a104,616,Inc.ExtraWide
code-creation,BytecodeHandler,0,251922,0x7ff7b9b9a384,616,Dec.ExtraWide
code-creation,BytecodeHandler,0,251927,0x7ff7b9b9a604,636,Negate.ExtraWide
code-creation,BytecodeHandler,0,251933,0x7ff7b9b9a884,516,BitwiseNot.ExtraWide
code-creation,BytecodeHandler,0,251938,0x7ff7b9b9aac4,124,DeletePropertyStrict.ExtraWide
code-creation,BytecodeHandler,0,251944,0x7ff7b9b9ab44,116,DeletePropertySloppy.ExtraWide
code-creation,BytecodeHandler,0,251950,0x7ff7b9b9abc4,40,GetSuperConstructor.ExtraWide
code-creation,BytecodeHandler,0,251956,0x7ff7b9b9ac04,352,FindNonDefaultConstructorOrConstruct.ExtraWide
code-creation,BytecodeHandler,0,251962,0x7ff7b9b9ad84,1100,CallAnyReceiver.ExtraWide
code-creation,BytecodeHandler,0,251968,0x7ff7b9b9b204,1100,CallProperty.ExtraWide
code-creation,BytecodeHandler,0,251975,0x7ff7b9b9b684,1016,CallProperty0.ExtraWide
code-creation,BytecodeHandler,0,251981,0x7ff7b9b9ba84,1028,CallProperty1.ExtraWide
code-creation,BytecodeHandler,0,251987,0x7ff7b9b9bec4,1036,CallProperty2.ExtraWide
code-creation,BytecodeHandler,0,251992,0x7ff7b9b9c304,1000,CallUndefinedReceiver.ExtraWide
code-creation,BytecodeHandler,0,251998,0x7ff7b9b9c704,1044,CallUndefinedReceiver0.ExtraWide
code-creation,BytecodeHandler,0,252004,0x7ff7b9b9cb44,1028,CallUndefinedReceiver1.ExtraWide
code-creation,BytecodeHandler,0,252010,0x7ff7b9b9cf84,1048,CallUndefinedReceiver2.ExtraWide
code-creation,BytecodeHandler,0,252016,0x7ff7b9b9d3c4,1100,CallWithSpread.ExtraWide
code-creation,BytecodeHandler,0,252022,0x7ff7b9b9d844,128,CallRuntime.ExtraWide
code-creation,BytecodeHandler,0,252028,0x7ff7b9b9d904,168,CallRuntimeForPair.ExtraWide
code-creation,BytecodeHandler,0,252033,0x7ff7b9b9d9c4,80,CallJSRuntime.ExtraWide
code-creation,BytecodeHandler,0,252039,0x7ff7b9b9da44,1328,InvokeIntrinsic.ExtraWide
code-creation,BytecodeHandler,0,252045,0x7ff7b9b9df84,964,Construct.ExtraWide
code-creation,BytecodeHandler,0,252050,0x7ff7b9b9e384,456,ConstructWithSpread.ExtraWide
code-creation,BytecodeHandler,0,252056,0x7ff7b9b9e584,2212,TestEqual.ExtraWide
code-creation,BytecodeHandler,0,252061,0x7ff7b9b9ee44,1340,TestEqualStrict.ExtraWide
code-creation,BytecodeHandler,0,252067,0x7ff7b9b9f384,1788,TestLessThan.ExtraWide
code-creation,BytecodeHandler,0,252073,0x7ff7b9b9fa84,1788,TestGreaterThan.ExtraWide
code-creation,BytecodeHandler,0,252078,0x7ff7b9ba0184,1788,TestLessThanOrEqual.ExtraWide
code-creation,BytecodeHandler,0,252084,0x7ff7b9ba0884,1788,TestGreaterThanOrEqual.ExtraWide
code-creation,BytecodeHandler,0,252090,0x7ff7b9ba0f84,888,TestInstanceOf.ExtraWide
code-creation,BytecodeHandler,0,252096,0x7ff7b9ba1304,156,TestIn.ExtraWide
code-creation,BytecodeHandler,0,252102,0x7ff7b9ba13c4,116,ToName.ExtraWide
code-creation,BytecodeHandler,0,252107,0x7ff7b9ba1444,220,ToNumber.ExtraWide
code-creation,BytecodeHandler,0,252113,0x7ff7b9ba1544,244,ToNumeric.ExtraWide
code-creation,BytecodeHandler,0,252118,0x7ff7b9ba1644,116,ToObject.ExtraWide
code-creation,BytecodeHandler,0,252123,0x7ff7b9ba16c4,396,CreateRegExpLiteral.ExtraWide
code-creation,BytecodeHandler,0,252129,0x7ff7b9ba1884,1500,CreateArrayLiteral.ExtraWide
code-creation,BytecodeHandler,0,252135,0x7ff7b9ba1e84,764,CreateEmptyArrayLiteral.ExtraWide
code-creation,BytecodeHandler,0,252141,0x7ff7b9ba2184,2312,CreateObjectLiteral.ExtraWide
code-creation,BytecodeHandler,0,252148,0x7ff7b9ba2ac4,172,CloneObject.ExtraWide
code-creation,BytecodeHandler,0,252154,0x7ff7b9ba2b84,164,GetTemplateObject.ExtraWide
code-creation,BytecodeHandler,0,252160,0x7ff7b9ba2c44,332,CreateClosure.ExtraWide
code-creation,BytecodeHandler,0,252166,0x7ff7b9ba2dc4,120,CreateBlockContext.ExtraWide
code-creation,BytecodeHandler,0,252172,0x7ff7b9ba2e44,132,CreateCatchContext.ExtraWide
code-creation,BytecodeHandler,0,252177,0x7ff7b9ba2f04,288,CreateFunctionContext.ExtraWide
code-creation,BytecodeHandler,0,252183,0x7ff7b9ba3044,288,CreateEvalContext.ExtraWide
code-creation,BytecodeHandler,0,252189,0x7ff7b9ba3184,132,CreateWithContext.ExtraWide
code-creation,BytecodeHandler,0,252195,0x7ff7b9ba3244,896,JumpLoop.ExtraWide
code-creation,BytecodeHandler,0,252201,0x7ff7b9ba3604,44,Jump.ExtraWide
code-creation,BytecodeHandler,0,252206,0x7ff7b9ba3644,56,JumpConstant.ExtraWide
code-creation,BytecodeHandler,0,252212,0x7ff7b9ba3684,80,JumpIfNullConstant.ExtraWide
code-creation,BytecodeHandler,0,252217,0x7ff7b9ba3704,80,JumpIfNotNullConstant.ExtraWide
code-creation,BytecodeHandler,0,252223,0x7ff7b9ba3784,80,JumpIfUndefinedConstant.ExtraWide
code-creation,BytecodeHandler,0,252229,0x7ff7b9ba3804,80,JumpIfNotUndefinedConstant.ExtraWide
code-creation,BytecodeHandler,0,252242,0x7ff7b9ba3884,88,JumpIfUndefinedOrNullConstant.ExtraWide
code-creation,BytecodeHandler,0,252248,0x7ff7b9ba3904,80,JumpIfTrueConstant.ExtraWide
code-creation,BytecodeHandler,0,252254,0x7ff7b9ba3984,80,JumpIfFalseConstant.ExtraWide
code-creation,BytecodeHandler,0,252261,0x7ff7b9ba3a04,92,JumpIfJSReceiverConstant.ExtraWide
code-creation,BytecodeHandler,0,252267,0x7ff7b9ba3a84,164,JumpIfToBooleanTrueConstant.ExtraWide
code-creation,BytecodeHandler,0,252274,0x7ff7b9ba3b44,160,JumpIfToBooleanFalseConstant.ExtraWide
code-creation,BytecodeHandler,0,252280,0x7ff7b9ba3c04,144,JumpIfToBooleanTrue.ExtraWide
code-creation,BytecodeHandler,0,252285,0x7ff7b9ba3cc4,144,JumpIfToBooleanFalse.ExtraWide
code-creation,BytecodeHandler,0,252291,0x7ff7b9ba3d84,68,JumpIfTrue.ExtraWide
code-creation,BytecodeHandler,0,252297,0x7ff7b9ba3e04,68,JumpIfFalse.ExtraWide
code-creation,BytecodeHandler,0,252303,0x7ff7b9ba3e84,68,JumpIfNull.ExtraWide
code-creation,BytecodeHandler,0,252308,0x7ff7b9ba3f04,68,JumpIfNotNull.ExtraWide
code-creation,BytecodeHandler,0,252314,0x7ff7b9ba3f84,68,JumpIfUndefined.ExtraWide
code-creation,BytecodeHandler,0,252319,0x7ff7b9ba4004,68,JumpIfNotUndefined.ExtraWide
code-creation,BytecodeHandler,0,252325,0x7ff7b9ba4084,76,JumpIfUndefinedOrNull.ExtraWide
code-creation,BytecodeHandler,0,252331,0x7ff7b9ba4104,76,JumpIfJSReceiver.ExtraWide
code-creation,BytecodeHandler,0,252336,0x7ff7b9ba4184,104,SwitchOnSmiNoFeedback.ExtraWide
code-creation,BytecodeHandler,0,252342,0x7ff7b9ba4204,476,ForInEnumerate.ExtraWide
code-creation,BytecodeHandler,0,252348,0x7ff7b9ba4404,256,ForInPrepare.ExtraWide
code-creation,BytecodeHandler,0,252354,0x7ff7b9ba4544,64,ForInContinue.ExtraWide
code-creation,BytecodeHandler,0,252359,0x7ff7b9ba45c4,260,ForInNext.ExtraWide
code-creation,BytecodeHandler,0,252365,0x7ff7b9ba4704,44,ForInStep.ExtraWide
code-creation,BytecodeHandler,0,252370,0x7ff7b9ba4744,160,ThrowReferenceErrorIfHole.ExtraWide
code-creation,BytecodeHandler,0,252376,0x7ff7b9ba4804,160,ThrowIfNotSuperConstructor.ExtraWide
code-creation,BytecodeHandler,0,252383,0x7ff7b9ba48c4,124,SwitchOnGeneratorState.ExtraWide
code-creation,BytecodeHandler,0,252388,0x7ff7b9ba4944,524,SuspendGenerator.ExtraWide
code-creation,BytecodeHandler,0,252394,0x7ff7b9ba4b84,136,ResumeGenerator.ExtraWide
code-creation,BytecodeHandler,0,252400,0x7ff7b9ba4c44,164,GetIterator.ExtraWide
code-creation,BytecodeHandler,0,252405,0x7ff7b9ba4d04,124,IncBlockCounter.ExtraWide
code-creation,BytecodeHandler,0,252411,0x7ff7b9ba4d84,56,Abort.ExtraWide
new,MemoryChunk,0x1edd4c80000,262144
new,MemoryChunk,0xd3eef80000,262144
new,MemoryChunk,0x3f8c8340000,262144
new,MemoryChunk,0x24453580000,262144
tick,0x7ff7b92e6037,255343,0,0x0,5
new,MemoryChunk,0x15f25680000,262144
new,MemoryChunk,0x23c51940000,262144
code-creation,Eval,10,258019,0x23c519426d6,5, node:internal/main/repl:1:1,0x23c51942540,~
script-source,80,node:internal/main/repl,'use strict';\x0d\n\x0d\n// Create the REPL if `-i` or `--interactive` is passed\x2C or if\x0d\n// the main module is not specified and stdin is a TTY.\x0d\n\x0d\nconst {\x0d\n prepareMainThreadExecution\x2C\x0d\n markBootstrapComplete\x2C\x0d\n} = require('internal/process/pre_execution');\x0d\n\x0d\nconst {\x0d\n evalScript\x2C\x0d\n} = require('internal/process/execution');\x0d\n\x0d\nconst console = require('internal/console/global');\x0d\n\x0d\nconst { getOptionValue } = require('internal/options');\x0d\n\x0d\nconst { exitCodes: { kInvalidCommandLineArgument } } = internalBinding('errors');\x0d\n\x0d\nprepareMainThreadExecution();\x0d\n\x0d\nmarkBootstrapComplete();\x0d\n\x0d\nif (process.env.NODE_REPL_EXTERNAL_MODULE) {\x0d\n require('internal/modules/cjs/loader')\x0d\n .Module\x0d\n ._load(process.env.NODE_REPL_EXTERNAL_MODULE\x2C undefined\x2C true);\x0d\n} else {\x0d\n // --input-type flag not supported in REPL\x0d\n if (getOptionValue('--input-type')) {\x0d\n // If we can't write to stderr\x2C we'd like to make this a noop\x2C\x0d\n // so use console.error.\x0d\n console.error('Cannot specify --input-type for REPL');\x0d\n process.exit(kInvalidCommandLineArgument);\x0d\n }\x0d\n\x0d\n require('internal/modules/run_main').runEntryPointWithESMLoader(() => {\x0d\n console.log(`Welcome to Node.js ${process.version}.\\n` +\x0d\n 'Type ".help" for more information.');\x0d\n\x0d\n const cliRepl = require('internal/repl');\x0d\n cliRepl.createInternalRepl(process.env\x2C (err\x2C repl) => {\x0d\n if (err) {\x0d\n throw err;\x0d\n }\x0d\n repl.on('exit'\x2C () => {\x0d\n if (repl._flushing) {\x0d\n repl.pause();\x0d\n return repl.once('flushHistory'\x2C () => {\x0d\n process.exit();\x0d\n });\x0d\n }\x0d\n process.exit();\x0d\n });\x0d\n });\x0d\n\x0d\n // If user passed '-e' or '--eval' along with `-i` or `--interactive`\x2C\x0d\n // evaluate the code in the current context.\x0d\n if (getOptionValue('[has_eval_string]')) {\x0d\n evalScript('[eval]'\x2C\x0d\n getOptionValue('--eval')\x2C\x0d\n getOptionValue('--inspect-brk')\x2C\x0d\n getOptionValue('--print'));\x0d\n }\x0d\n // The TLAs in the REPL are still run as scripts\x2C just transformed as async\x0d\n // IIFEs for the REPL code itself to await on.\x0d\n });\x0d\n}\x0d\n
code-source-info,0x23c519426d6,80,0,2141,C0O0C4O2141,,
code-creation,JS,10,258173,0x23c5194285e,241, node:internal/main/repl:1:1,0x23c51942650,~
code-source-info,0x23c5194285e,80,0,2141,C0O0C22O210C28O210C33O151C38O182C43O284C49O284C54O267C60O342C66O342C70O342C72O408C78O408C83O389C89O495C92O495C97O459C102O461C107O525C110O558C113O586C116O598C121O602C127O634C133O634C138O678C143O691C151O706C156O710C165O692C172O814C178O818C184O955C187O963C195O963C200O1015C203O1023C208O1023C213O1068C219O1068C224O1104C234O1105C240O2140,,
code-creation,JS,10,258711,0x23c51943166,45,prepareMainThreadExecution node:internal/process/pre_execution:54:36,0x3b02001db8,~
script-source,68,node:internal/process/pre_execution,'use strict';\x0d\n\x0d\nconst {\x0d\n ArrayPrototypeForEach\x2C\x0d\n Date\x2C\x0d\n DatePrototypeGetDate\x2C\x0d\n DatePrototypeGetFullYear\x2C\x0d\n DatePrototypeGetHours\x2C\x0d\n DatePrototypeGetMinutes\x2C\x0d\n DatePrototypeGetMonth\x2C\x0d\n DatePrototypeGetSeconds\x2C\x0d\n NumberParseInt\x2C\x0d\n ObjectDefineProperty\x2C\x0d\n ObjectFreeze\x2C\x0d\n ObjectGetOwnPropertyDescriptor\x2C\x0d\n SafeMap\x2C\x0d\n String\x2C\x0d\n StringPrototypeStartsWith\x2C\x0d\n Symbol\x2C\x0d\n SymbolAsyncDispose\x2C\x0d\n SymbolDispose\x2C\x0d\n globalThis\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst {\x0d\n getOptionValue\x2C\x0d\n refreshOptions\x2C\x0d\n getEmbedderOptions\x2C\x0d\n} = require('internal/options');\x0d\nconst { reconnectZeroFillToggle } = require('internal/buffer');\x0d\nconst {\x0d\n exposeInterface\x2C\x0d\n exposeLazyInterfaces\x2C\x0d\n defineReplaceableLazyAttribute\x2C\x0d\n setupCoverageHooks\x2C\x0d\n emitExperimentalWarning\x2C\x0d\n} = require('internal/util');\x0d\n\x0d\nconst {\x0d\n ERR_INVALID_THIS\x2C\x0d\n ERR_MANIFEST_ASSERT_INTEGRITY\x2C\x0d\n ERR_NO_CRYPTO\x2C\x0d\n ERR_MISSING_OPTION\x2C\x0d\n ERR_ACCESS_DENIED\x2C\x0d\n} = require('internal/errors').codes;\x0d\nconst assert = require('internal/assert');\x0d\nconst {\x0d\n namespace: {\x0d\n addSerializeCallback\x2C\x0d\n isBuildingSnapshot\x2C\x0d\n }\x2C\x0d\n} = require('internal/v8/startup_snapshot');\x0d\n\x0d\nfunction prepareMainThreadExecution(expandArgv1 = false\x2C initializeModules = true) {\x0d\n return prepareExecution({\x0d\n expandArgv1\x2C\x0d\n initializeModules\x2C\x0d\n isMainThread: true\x2C\x0d\n });\x0d\n}\x0d\n\x0d\nfunction prepareWorkerThreadExecution() {\x0d\n prepareExecution({\x0d\n expandArgv1: false\x2C\x0d\n initializeModules: false\x2C // Will need to initialize it after policy setup\x0d\n isMainThread: false\x2C\x0d\n });\x0d\n}\x0d\n\x0d\nfunction prepareShadowRealmExecution() {\x0d\n // Patch the process object with legacy properties and normalizations.\x0d\n // Do not expand argv1 as it is not available in ShadowRealm.\x0d\n patchProcessObject(false);\x0d\n setupDebugEnv();\x0d\n\x0d\n // Disable custom loaders in ShadowRealm.\x0d\n setupUserModules(true);\x0d\n const {\x0d\n privateSymbols: {\x0d\n host_defined_option_symbol\x2C\x0d\n }\x2C\x0d\n } = internalBinding('util');\x0d\n const {\x0d\n vm_dynamic_import_default_internal\x2C\x0d\n } = internalBinding('symbols');\x0d\n\x0d\n // For ShadowRealm.prototype.importValue()\x2C the referrer name is\x0d\n // always null\x2C so the native ImportModuleDynamically() callback would\x0d\n // always fallback to look up the host-defined option from the\x0d\n // global object using host_defined_option_symbol. Using\x0d\n // vm_dynamic_import_default_internal as the host-defined option\x0d\n // instructs the JS-land importModuleDynamicallyCallback() to\x0d\n // proxy the request to defaultImportModuleDynamically().\x0d\n globalThis[host_defined_option_symbol] =\x0d\n vm_dynamic_import_default_internal;\x0d\n}\x0d\n\x0d\nfunction prepareExecution(options) {\x0d\n const { expandArgv1\x2C initializeModules\x2C isMainThread } = options;\x0d\n\x0d\n refreshRuntimeOptions();\x0d\n reconnectZeroFillToggle();\x0d\n\x0d\n // Patch the process object and get the resolved main entry point.\x0d\n const mainEntry = patchProcessObject(expandArgv1);\x0d\n setupTraceCategoryState();\x0d\n setupInspectorHooks();\x0d\n setupWarningHandler();\x0d\n setupUndici();\x0d\n setupWebCrypto();\x0d\n setupCustomEvent();\x0d\n setupCodeCoverage();\x0d\n setupDebugEnv();\x0d\n // Process initial diagnostic reporting configuration\x2C if present.\x0d\n initializeReport();\x0d\n\x0d\n // Load permission system API\x0d\n initializePermission();\x0d\n\x0d\n initializeSourceMapsHandlers();\x0d\n initializeDeprecations();\x0d\n\x0d\n require('internal/dns/utils').initializeDns();\x0d\n\x0d\n setupSymbolDisposePolyfill();\x0d\n\x0d\n if (isMainThread) {\x0d\n assert(internalBinding('worker').isMainThread);\x0d\n // Worker threads will get the manifest in the message handler.\x0d\n const policy = readPolicyFromDisk();\x0d\n if (policy) {\x0d\n require('internal/process/policy')\x0d\n .setup(policy.manifestSrc\x2C policy.manifestURL);\x0d\n }\x0d\n\x0d\n // Print stack trace on `SIGINT` if option `--trace-sigint` presents.\x0d\n setupStacktracePrinterOnSigint();\x0d\n initializeReportSignalHandlers(); // Main-thread-only.\x0d\n initializeHeapSnapshotSignalHandlers();\x0d\n // If the process is spawned with env NODE_CHANNEL_FD\x2C it's probably\x0d\n // spawned by our child_process module\x2C then initialize IPC.\x0d\n // This attaches some internal event listeners and creates:\x0d\n // process.send()\x2C process.channel\x2C process.connected\x2C\x0d\n // process.disconnect().\x0d\n setupChildProcessIpcChannel();\x0d\n // If this is a worker in cluster mode\x2C start up the communication\x0d\n // channel. This needs to be done before any user code gets executed\x0d\n // (including preload modules).\x0d\n initializeClusterIPC();\x0d\n\x0d\n // TODO(joyeecheung): do this for worker threads as well.\x0d\n require('internal/v8/startup_snapshot').runDeserializeCallbacks();\x0d\n } else {\x0d\n assert(!internalBinding('worker').isMainThread);\x0d\n // The setup should be called in LOAD_SCRIPT message handler.\x0d\n assert(!initializeModules);\x0d\n }\x0d\n\x0d\n if (initializeModules) {\x0d\n setupUserModules();\x0d\n }\x0d\n\x0d\n return mainEntry;\x0d\n}\x0d\n\x0d\nfunction setupSymbolDisposePolyfill() {\x0d\n // TODO(MoLow): Remove this polyfill once Symbol.dispose and Symbol.asyncDispose are available in V8.\x0d\n // eslint-disable-next-line node-core/prefer-primordials\x0d\n if (typeof Symbol.dispose !== 'symbol') {\x0d\n ObjectDefineProperty(Symbol\x2C 'dispose'\x2C {\x0d\n __proto__: null\x2C\x0d\n configurable: false\x2C\x0d\n enumerable: false\x2C\x0d\n value: SymbolDispose\x2C\x0d\n writable: false\x2C\x0d\n });\x0d\n }\x0d\n\x0d\n // eslint-disable-next-line node-core/prefer-primordials\x0d\n if (typeof Symbol.asyncDispose !== 'symbol') {\x0d\n ObjectDefineProperty(Symbol\x2C 'asyncDispose'\x2C {\x0d\n __proto__: null\x2C\x0d\n configurable: false\x2C\x0d\n enumerable: false\x2C\x0d\n value: SymbolAsyncDispose\x2C\x0d\n writable: false\x2C\x0d\n });\x0d\n }\x0d\n}\x0d\n\x0d\nfunction setupUserModules(forceDefaultLoader = false) {\x0d\n initializeCJSLoader();\x0d\n initializeESMLoader(forceDefaultLoader);\x0d\n const {\x0d\n hasStartedUserCJSExecution\x2C\x0d\n hasStartedUserESMExecution\x2C\x0d\n } = require('internal/modules/helpers');\x0d\n assert(!hasStartedUserCJSExecution());\x0d\n assert(!hasStartedUserESMExecution());\x0d\n if (getEmbedderOptions().hasEmbedderPreload) {\x0d\n runEmbedderPreload();\x0d\n }\x0d\n // Do not enable preload modules if custom loaders are disabled.\x0d\n // For example\x2C loader workers are responsible for doing this themselves.\x0d\n // And preload modules are not supported in ShadowRealm as well.\x0d\n if (!forceDefaultLoader) {\x0d\n loadPreloadModules();\x0d\n }\x0d\n // Need to be done after --require setup.\x0d\n initializeFrozenIntrinsics();\x0d\n}\x0d\n\x0d\nfunction refreshRuntimeOptions() {\x0d\n refreshOptions();\x0d\n}\x0d\n\x0d\n/**\x0d\n * Patch the process object with legacy properties and normalizations.\x0d\n * Replace `process.argv[0]` with `process.execPath`\x2C preserving the original `argv[0]` value as `process.argv0`.\x0d\n * Replace `process.argv[1]` with the resolved absolute file path of the entry point\x2C if found.\x0d\n * @param {boolean} expandArgv1 - Whether to replace `process.argv[1]` with the resolved absolute file path of\x0d\n * the main entry point.\x0d\n */\x0d\nfunction patchProcessObject(expandArgv1) {\x0d\n const binding = internalBinding('process_methods');\x0d\n binding.patchProcessObject(process);\x0d\n\x0d\n // Since we replace process.argv[0] below\x2C preserve the original value in case the user needs it.\x0d\n ObjectDefineProperty(process\x2C 'argv0'\x2C {\x0d\n __proto__: null\x2C\x0d\n enumerable: true\x2C\x0d\n // Only set it to true during snapshot building.\x0d\n configurable: isBuildingSnapshot()\x2C\x0d\n value: process.argv[0]\x2C\x0d\n });\x0d\n\x0d\n process.exitCode = undefined;\x0d\n process._exiting = false;\x0d\n process.argv[0] = process.execPath;\x0d\n\x0d\n /** @type {string} */\x0d\n let mainEntry;\x0d\n // If requested\x2C update process.argv[1] to replace whatever the user provided with the resolved absolute file path of\x0d\n // the entry point.\x0d\n if (expandArgv1 && process.argv[1] &&\x0d\n !StringPrototypeStartsWith(process.argv[1]\x2C '-')) {\x0d\n // Expand process.argv[1] into a full path.\x0d\n const path = require('path');\x0d\n try {\x0d\n mainEntry = path.resolve(process.argv[1]);\x0d\n process.argv[1] = mainEntry;\x0d\n } catch {\x0d\n // Continue regardless of error.\x0d\n }\x0d\n }\x0d\n\x0d\n // We need to initialize the global console here again with process.stdout\x0d\n // and friends for snapshot deserialization.\x0d\n const globalConsole = require('internal/console/global');\x0d\n const { initializeGlobalConsole } = require('internal/console/constructor');\x0d\n initializeGlobalConsole(globalConsole);\x0d\n\x0d\n // TODO(joyeecheung): most of these should be deprecated and removed\x2C\x0d\n // except some that we need to be able to mutate during run time.\x0d\n addReadOnlyProcessAlias('_eval'\x2C '--eval');\x0d\n addReadOnlyProcessAlias('_print_eval'\x2C '--print');\x0d\n addReadOnlyProcessAlias('_syntax_check_only'\x2C '--check');\x0d\n addReadOnlyProcessAlias('_forceRepl'\x2C '--interactive');\x0d\n addReadOnlyProcessAlias('_preload_modules'\x2C '--require');\x0d\n addReadOnlyProcessAlias('noDeprecation'\x2C '--no-deprecation');\x0d\n addReadOnlyProcessAlias('noProcessWarnings'\x2C '--no-warnings');\x0d\n addReadOnlyProcessAlias('traceProcessWarnings'\x2C '--trace-warnings');\x0d\n addReadOnlyProcessAlias('throwDeprecation'\x2C '--throw-deprecation');\x0d\n addReadOnlyProcessAlias('profProcess'\x2C '--prof-process');\x0d\n addReadOnlyProcessAlias('traceDeprecation'\x2C '--trace-deprecation');\x0d\n addReadOnlyProcessAlias('_breakFirstLine'\x2C '--inspect-brk'\x2C false);\x0d\n addReadOnlyProcessAlias('_breakNodeFirstLine'\x2C '--inspect-brk-node'\x2C false);\x0d\n\x0d\n return mainEntry;\x0d\n}\x0d\n\x0d\nfunction addReadOnlyProcessAlias(name\x2C option\x2C enumerable = true) {\x0d\n const value = getOptionValue(option);\x0d\n if (value) {\x0d\n ObjectDefineProperty(process\x2C name\x2C {\x0d\n __proto__: null\x2C\x0d\n writable: false\x2C\x0d\n configurable: true\x2C\x0d\n enumerable\x2C\x0d\n value\x2C\x0d\n });\x0d\n }\x0d\n}\x0d\n\x0d\nfunction setupWarningHandler() {\x0d\n const {\x0d\n onWarning\x2C\x0d\n resetForSerialization\x2C\x0d\n } = require('internal/process/warning');\x0d\n if (getOptionValue('--warnings') &&\x0d\n process.env.NODE_NO_WARNINGS !== '1') {\x0d\n process.on('warning'\x2C onWarning);\x0d\n\x0d\n // The code above would add the listener back during deserialization\x2C\x0d\n // if applicable.\x0d\n if (isBuildingSnapshot()) {\x0d\n addSerializeCallback(() => {\x0d\n process.removeListener('warning'\x2C onWarning);\x0d\n resetForSerialization();\x0d\n });\x0d\n }\x0d\n }\x0d\n}\x0d\n\x0d\n// https://fetch.spec.whatwg.org/\x0d\n// https://websockets.spec.whatwg.org/\x0d\nfunction setupUndici() {\x0d\n if (getOptionValue('--no-experimental-fetch')) {\x0d\n delete globalThis.fetch;\x0d\n delete globalThis.FormData;\x0d\n delete globalThis.Headers;\x0d\n delete globalThis.Request;\x0d\n delete globalThis.Response;\x0d\n }\x0d\n\x0d\n if (!getEmbedderOptions().noBrowserGlobals && getOptionValue('--experimental-websocket')) {\x0d\n exposeLazyInterfaces(globalThis\x2C 'internal/deps/undici/undici'\x2C ['WebSocket']);\x0d\n }\x0d\n}\x0d\n\x0d\n// TODO(aduh95): move this to internal/bootstrap/web/* when the CLI flag is\x0d\n// removed.\x0d\nfunction setupWebCrypto() {\x0d\n if (getEmbedderOptions().noBrowserGlobals ||\x0d\n getOptionValue('--no-experimental-global-webcrypto')) {\x0d\n return;\x0d\n }\x0d\n\x0d\n if (internalBinding('config').hasOpenSSL) {\x0d\n defineReplaceableLazyAttribute(\x0d\n globalThis\x2C\x0d\n 'internal/crypto/webcrypto'\x2C\x0d\n ['crypto']\x2C\x0d\n false\x2C\x0d\n function cryptoThisCheck() {\x0d\n if (this !== globalThis && this != null)\x0d\n throw new ERR_INVALID_THIS(\x0d\n 'nullish or must be the global object');\x0d\n }\x2C\x0d\n );\x0d\n exposeLazyInterfaces(\x0d\n globalThis\x2C 'internal/crypto/webcrypto'\x2C\x0d\n ['Crypto'\x2C 'CryptoKey'\x2C 'SubtleCrypto']\x2C\x0d\n );\x0d\n } else {\x0d\n ObjectDefineProperty(globalThis\x2C 'crypto'\x2C\x0d\n { __proto__: null\x2C ...ObjectGetOwnPropertyDescriptor({\x0d\n get crypto() {\x0d\n throw new ERR_NO_CRYPTO();\x0d\n }\x2C\x0d\n }\x2C 'crypto') });\x0d\n\x0d\n }\x0d\n}\x0d\n\x0d\nfunction setupCodeCoverage() {\x0d\n // Resolve the coverage directory to an absolute path\x2C and\x0d\n // overwrite process.env so that the original path gets passed\x0d\n // to child processes even when they switch cwd. Don't do anything if the\x0d\n // --experimental-test-coverage flag is present\x2C as the test runner will\x0d\n // handle coverage.\x0d\n if (process.env.NODE_V8_COVERAGE &&\x0d\n !getOptionValue('--experimental-test-coverage')) {\x0d\n process.env.NODE_V8_COVERAGE =\x0d\n setupCoverageHooks(process.env.NODE_V8_COVERAGE);\x0d\n }\x0d\n}\x0d\n\x0d\n// TODO(daeyeon): move this to internal/bootstrap/web/* when the CLI flag is\x0d\n// removed.\x0d\nfunction setupCustomEvent() {\x0d\n if (getEmbedderOptions().noBrowserGlobals ||\x0d\n getOptionValue('--no-experimental-global-customevent')) {\x0d\n return;\x0d\n }\x0d\n const { CustomEvent } = require('internal/event_target');\x0d\n exposeInterface(globalThis\x2C 'CustomEvent'\x2C CustomEvent);\x0d\n}\x0d\n\x0d\nfunction setupStacktracePrinterOnSigint() {\x0d\n if (!getOptionValue('--trace-sigint')) {\x0d\n return;\x0d\n }\x0d\n const { SigintWatchdog } = require('internal/watchdog');\x0d\n\x0d\n const watchdog = new SigintWatchdog();\x0d\n watchdog.start();\x0d\n}\x0d\n\x0d\nfunction initializeReport() {\x0d\n ObjectDefineProperty(process\x2C 'report'\x2C {\x0d\n __proto__: null\x2C\x0d\n enumerable: true\x2C\x0d\n configurable: true\x2C\x0d\n get() {\x0d\n const { report } = require('internal/process/report');\x0d\n return report;\x0d\n }\x2C\x0d\n });\x0d\n}\x0d\n\x0d\nfunction setupDebugEnv() {\x0d\n require('internal/util/debuglog').initializeDebugEnv(process.env.NODE_DEBUG);\x0d\n if (getOptionValue('--expose-internals')) {\x0d\n require('internal/bootstrap/realm').BuiltinModule.exposeInternals();\x0d\n }\x0d\n}\x0d\n\x0d\n// This has to be called after initializeReport() is called\x0d\nfunction initializeReportSignalHandlers() {\x0d\n if (getOptionValue('--report-on-signal')) {\x0d\n const { addSignalHandler } = require('internal/process/report');\x0d\n addSignalHandler();\x0d\n }\x0d\n}\x0d\n\x0d\nfunction initializeHeapSnapshotSignalHandlers() {\x0d\n const signal = getOptionValue('--heapsnapshot-signal');\x0d\n const diagnosticDir = getOptionValue('--diagnostic-dir');\x0d\n\x0d\n if (!signal)\x0d\n return;\x0d\n\x0d\n require('internal/validators').validateSignalName(signal);\x0d\n const { writeHeapSnapshot } = require('v8');\x0d\n\x0d\n function doWriteHeapSnapshot() {\x0d\n const heapSnapshotFilename = getHeapSnapshotFilename(diagnosticDir);\x0d\n writeHeapSnapshot(heapSnapshotFilename);\x0d\n }\x0d\n process.on(signal\x2C doWriteHeapSnapshot);\x0d\n\x0d\n // The code above would add the listener back during deserialization\x2C\x0d\n // if applicable.\x0d\n if (isBuildingSnapshot()) {\x0d\n addSerializeCallback(() => {\x0d\n process.removeListener(signal\x2C doWriteHeapSnapshot);\x0d\n });\x0d\n }\x0d\n}\x0d\n\x0d\nfunction setupTraceCategoryState() {\x0d\n const { isTraceCategoryEnabled } = internalBinding('trace_events');\x0d\n const { toggleTraceCategoryState } = require('internal/process/per_thread');\x0d\n toggleTraceCategoryState(isTraceCategoryEnabled('node.async_hooks'));\x0d\n}\x0d\n\x0d\nfunction setupInspectorHooks() {\x0d\n // If Debugger.setAsyncCallStackDepth is sent during bootstrap\x2C\x0d\n // we cannot immediately call into JS to enable the hooks\x2C which could\x0d\n // interrupt the JS execution of bootstrap. So instead we save the\x0d\n // notification in the inspector agent if it's sent in the middle of\x0d\n // bootstrap\x2C and process the notification later here.\x0d\n if (internalBinding('config').hasInspector) {\x0d\n const {\x0d\n enable\x2C\x0d\n disable\x2C\x0d\n } = require('internal/inspector_async_hook');\x0d\n internalBinding('inspector').registerAsyncHook(enable\x2C disable);\x0d\n }\x0d\n}\x0d\n\x0d\n// In general deprecations are initialized wherever the APIs are implemented\x2C\x0d\n// this is used to deprecate APIs implemented in C++ where the deprecation\x0d\n// utilities are not easily accessible.\x0d\nfunction initializeDeprecations() {\x0d\n const { deprecate } = require('internal/util');\x0d\n const pendingDeprecation = getOptionValue('--pending-deprecation');\x0d\n\x0d\n // DEP0103: access to `process.binding('util').isX` type checkers\x0d\n // TODO(addaleax): Turn into a full runtime deprecation.\x0d\n const utilBinding = internalBinding('util');\x0d\n const types = require('internal/util/types');\x0d\n for (const name of [\x0d\n 'isArrayBuffer'\x2C\x0d\n 'isArrayBufferView'\x2C\x0d\n 'isAsyncFunction'\x2C\x0d\n 'isDataView'\x2C\x0d\n 'isDate'\x2C\x0d\n 'isExternal'\x2C\x0d\n 'isMap'\x2C\x0d\n 'isMapIterator'\x2C\x0d\n 'isNativeError'\x2C\x0d\n 'isPromise'\x2C\x0d\n 'isRegExp'\x2C\x0d\n 'isSet'\x2C\x0d\n 'isSetIterator'\x2C\x0d\n 'isTypedArray'\x2C\x0d\n 'isUint8Array'\x2C\x0d\n 'isAnyArrayBuffer'\x2C\x0d\n ]) {\x0d\n utilBinding[name] = pendingDeprecation ?\x0d\n deprecate(types[name]\x2C\x0d\n 'Accessing native typechecking bindings of Node ' +\x0d\n 'directly is deprecated. ' +\x0d\n `Please use \\`util.types.${name}\\` instead.`\x2C\x0d\n 'DEP0103') :\x0d\n types[name];\x0d\n }\x0d\n\x0d\n // TODO(joyeecheung): this is a legacy property exposed to process.\x0d\n // Now that we use the config binding to carry this information\x2C remove\x0d\n // it from the process. We may consider exposing it properly in\x0d\n // process.features.\x0d\n const { noBrowserGlobals } = internalBinding('config');\x0d\n if (noBrowserGlobals) {\x0d\n ObjectDefineProperty(process\x2C '_noBrowserGlobals'\x2C {\x0d\n __proto__: null\x2C\x0d\n writable: false\x2C\x0d\n enumerable: true\x2C\x0d\n configurable: true\x2C\x0d\n value: noBrowserGlobals\x2C\x0d\n });\x0d\n }\x0d\n\x0d\n if (pendingDeprecation) {\x0d\n process.binding = deprecate(process.binding\x2C\x0d\n 'process.binding() is deprecated. ' +\x0d\n 'Please use public APIs instead.'\x2C 'DEP0111');\x0d\n\x0d\n process._tickCallback = deprecate(process._tickCallback\x2C\x0d\n 'process._tickCallback() is deprecated'\x2C\x0d\n 'DEP0134');\x0d\n }\x0d\n}\x0d\n\x0d\nfunction setupChildProcessIpcChannel() {\x0d\n if (process.env.NODE_CHANNEL_FD) {\x0d\n const assert = require('internal/assert');\x0d\n\x0d\n const fd = NumberParseInt(process.env.NODE_CHANNEL_FD\x2C 10);\x0d\n assert(fd >= 0);\x0d\n\x0d\n // Make sure it's not accidentally inherited by child processes.\x0d\n delete process.env.NODE_CHANNEL_FD;\x0d\n\x0d\n const serializationMode =\x0d\n process.env.NODE_CHANNEL_SERIALIZATION_MODE || 'json';\x0d\n delete process.env.NODE_CHANNEL_SERIALIZATION_MODE;\x0d\n\x0d\n require('child_process')._forkChild(fd\x2C serializationMode);\x0d\n assert(process.send);\x0d\n }\x0d\n}\x0d\n\x0d\nfunction initializeClusterIPC() {\x0d\n if (process.argv[1] && process.env.NODE_UNIQUE_ID) {\x0d\n const cluster = require('cluster');\x0d\n cluster._setupWorker();\x0d\n // Make sure it's not accidentally inherited by child processes.\x0d\n delete process.env.NODE_UNIQUE_ID;\x0d\n }\x0d\n}\x0d\n\x0d\nfunction initializePermission() {\x0d\n const experimentalPermission = getOptionValue('--experimental-permission');\x0d\n if (experimentalPermission) {\x0d\n process.binding = function binding(_module) {\x0d\n throw new ERR_ACCESS_DENIED('process.binding');\x0d\n };\x0d\n // Guarantee path module isn't monkey-patched to bypass permission model\x0d\n ObjectFreeze(require('path'));\x0d\n emitExperimentalWarning('Permission');\x0d\n const { has } = require('internal/process/permission');\x0d\n const warnFlags = [\x0d\n '--allow-addons'\x2C\x0d\n '--allow-child-process'\x2C\x0d\n '--allow-wasi'\x2C\x0d\n '--allow-worker'\x2C\x0d\n ];\x0d\n for (const flag of warnFlags) {\x0d\n if (getOptionValue(flag)) {\x0d\n process.emitWarning(\x0d\n `The flag ${flag} must be used with extreme caution. ` +\x0d\n 'It could invalidate the permission model.'\x2C 'SecurityWarning');\x0d\n }\x0d\n }\x0d\n const warnCommaFlags = [\x0d\n '--allow-fs-read'\x2C\x0d\n '--allow-fs-write'\x2C\x0d\n ];\x0d\n for (const flag of warnCommaFlags) {\x0d\n const value = getOptionValue(flag);\x0d\n if (value.length === 1 && value[0].includes('\x2C')) {\x0d\n process.emitWarning(\x0d\n `The ${flag} CLI flag has changed. ` +\x0d\n 'Passing a comma-separated list of paths is no longer valid. ' +\x0d\n 'Documentation can be found at ' +\x0d\n 'https://nodejs.org/api/permissions.html#file-system-permissions'\x2C\x0d\n 'Warning'\x2C\x0d\n );\x0d\n }\x0d\n }\x0d\n\x0d\n ObjectDefineProperty(process\x2C 'permission'\x2C {\x0d\n __proto__: null\x2C\x0d\n enumerable: true\x2C\x0d\n configurable: false\x2C\x0d\n value: {\x0d\n has\x2C\x0d\n }\x2C\x0d\n });\x0d\n } else {\x0d\n const availablePermissionFlags = [\x0d\n '--allow-fs-read'\x2C\x0d\n '--allow-fs-write'\x2C\x0d\n '--allow-addons'\x2C\x0d\n '--allow-child-process'\x2C\x0d\n '--allow-wasi'\x2C\x0d\n '--allow-worker'\x2C\x0d\n ];\x0d\n ArrayPrototypeForEach(availablePermissionFlags\x2C (flag) => {\x0d\n const value = getOptionValue(flag);\x0d\n if (value.length) {\x0d\n throw new ERR_MISSING_OPTION('--experimental-permission');\x0d\n }\x0d\n });\x0d\n }\x0d\n}\x0d\n\x0d\nfunction readPolicyFromDisk() {\x0d\n const experimentalPolicy = getOptionValue('--experimental-policy');\x0d\n if (experimentalPolicy) {\x0d\n process.emitWarning('Policies are experimental.'\x2C\x0d\n 'ExperimentalWarning');\x0d\n const { pathToFileURL\x2C URL } = require('internal/url');\x0d\n // URL here as it is slightly different parsing\x0d\n // no bare specifiers for now\x0d\n let manifestURL;\x0d\n if (require('path').isAbsolute(experimentalPolicy)) {\x0d\n manifestURL = pathToFileURL(experimentalPolicy);\x0d\n } else {\x0d\n const cwdURL = pathToFileURL(process.cwd());\x0d\n cwdURL.pathname += '/';\x0d\n manifestURL = new URL(experimentalPolicy\x2C cwdURL);\x0d\n }\x0d\n const fs = require('fs');\x0d\n const src = fs.readFileSync(manifestURL\x2C 'utf8');\x0d\n const experimentalPolicyIntegrity = getOptionValue('--policy-integrity');\x0d\n if (experimentalPolicyIntegrity) {\x0d\n const SRI = require('internal/policy/sri');\x0d\n const { createHash\x2C timingSafeEqual } = require('crypto');\x0d\n const realIntegrities = new SafeMap();\x0d\n const integrityEntries = SRI.parse(experimentalPolicyIntegrity);\x0d\n let foundMatch = false;\x0d\n for (let i = 0; i < integrityEntries.length; i++) {\x0d\n const {\x0d\n algorithm\x2C\x0d\n value: expected\x2C\x0d\n } = integrityEntries[i];\x0d\n const hash = createHash(algorithm);\x0d\n hash.update(src);\x0d\n const digest = hash.digest();\x0d\n if (digest.length === expected.length &&\x0d\n timingSafeEqual(digest\x2C expected)) {\x0d\n foundMatch = true;\x0d\n break;\x0d\n }\x0d\n realIntegrities.set(algorithm\x2C digest.toString('base64'));\x0d\n }\x0d\n if (!foundMatch) {\x0d\n throw new ERR_MANIFEST_ASSERT_INTEGRITY(manifestURL\x2C realIntegrities);\x0d\n }\x0d\n }\x0d\n return {\x0d\n manifestSrc: src\x2C manifestURL: manifestURL.href\x2C\x0d\n };\x0d\n }\x0d\n}\x0d\n\x0d\nfunction initializeCJSLoader() {\x0d\n const { initializeCJS } = require('internal/modules/cjs/loader');\x0d\n initializeCJS();\x0d\n}\x0d\n\x0d\nfunction initializeESMLoader(forceDefaultLoader) {\x0d\n const { initializeESM } = require('internal/modules/esm/utils');\x0d\n initializeESM(forceDefaultLoader);\x0d\n\x0d\n // Patch the vm module when --experimental-vm-modules is on.\x0d\n // Please update the comments in vm.js when this block changes.\x0d\n if (getOptionValue('--experimental-vm-modules')) {\x0d\n const {\x0d\n Module\x2C SourceTextModule\x2C SyntheticModule\x2C\x0d\n } = require('internal/vm/module');\x0d\n const vm = require('vm');\x0d\n vm.Module = Module;\x0d\n vm.SourceTextModule = SourceTextModule;\x0d\n vm.SyntheticModule = SyntheticModule;\x0d\n }\x0d\n}\x0d\n\x0d\nfunction initializeSourceMapsHandlers() {\x0d\n const {\x0d\n setSourceMapsEnabled\x2C\x0d\n } = require('internal/source_map/source_map_cache');\x0d\n setSourceMapsEnabled(getOptionValue('--enable-source-maps'));\x0d\n}\x0d\n\x0d\nfunction initializeFrozenIntrinsics() {\x0d\n if (getOptionValue('--frozen-intrinsics')) {\x0d\n emitExperimentalWarning('Frozen intristics');\x0d\n require('internal/freeze_intrinsics')();\x0d\n }\x0d\n}\x0d\n\x0d\nfunction runEmbedderPreload() {\x0d\n internalBinding('mksnapshot').runEmbedderPreload(process\x2C require);\x0d\n}\x0d\n\x0d\nfunction loadPreloadModules() {\x0d\n // For user code\x2C we preload modules if `-r` is passed\x0d\n const preloadModules = getOptionValue('--require');\x0d\n if (preloadModules && preloadModules.length > 0) {\x0d\n const {\x0d\n Module: {\x0d\n _preloadModules\x2C\x0d\n }\x2C\x0d\n } = require('internal/modules/cjs/loader');\x0d\n _preloadModules(preloadModules);\x0d\n }\x0d\n}\x0d\n\x0d\nfunction markBootstrapComplete() {\x0d\n internalBinding('performance').markBootstrapComplete();\x0d\n}\x0d\n\x0d\n// Sequence number for diagnostic filenames\x0d\nlet sequenceNumOfheapSnapshot = 0;\x0d\n\x0d\n// To generate the HeapSnapshotFilename while using custom diagnosticDir\x0d\nfunction getHeapSnapshotFilename(diagnosticDir) {\x0d\n if (!diagnosticDir) return undefined;\x0d\n\x0d\n const date = new Date();\x0d\n\x0d\n const year = DatePrototypeGetFullYear(date);\x0d\n const month = String(DatePrototypeGetMonth(date) + 1).padStart(2\x2C '0');\x0d\n const day = String(DatePrototypeGetDate(date)).padStart(2\x2C '0');\x0d\n const hours = String(DatePrototypeGetHours(date)).padStart(2\x2C '0');\x0d\n const minutes = String(DatePrototypeGetMinutes(date)).padStart(2\x2C '0');\x0d\n const seconds = String(DatePrototypeGetSeconds(date)).padStart(2\x2C '0');\x0d\n\x0d\n const dateString = `${year}${month}${day}`;\x0d\n const timeString = `${hours}${minutes}${seconds}`;\x0d\n const pid = process.pid;\x0d\n const threadId = internalBinding('worker').threadId;\x0d\n const fileSequence = (++sequenceNumOfheapSnapshot).toString().padStart(3\x2C '0');\x0d\n\x0d\n return `${diagnosticDir}/Heap.${dateString}.${timeString}.${pid}.${threadId}.${fileSequence}.heapsnapshot`;\x0d\n}\x0d\n\x0d\nmodule.exports = {\x0d\n setupUserModules\x2C\x0d\n prepareMainThreadExecution\x2C\x0d\n prepareWorkerThreadExecution\x2C\x0d\n prepareShadowRealmExecution\x2C\x0d\n markBootstrapComplete\x2C\x0d\n loadPreloadModules\x2C\x0d\n initializeFrozenIntrinsics\x2C\x0d\n};\x0d\n
code-source-info,0x23c51943166,68,1177,1332,C20O1230C30O1261C36O1279C40O1237C44O1329,,
code-creation,JS,10,260489,0x23c51944dae,309,prepareExecution node:internal/process/pre_execution:98:26,0x3b02002350,~
code-source-info,0x23c51944dae,68,2625,4860,C0O2648C5O2661C10O2680C15O2711C18O2711C21O2739C26O2739C29O2859C32O2859C37O2895C40O2895C43O2925C46O2925C49O2951C52O2951C55O2977C58O2977C61O2995C64O2995C67O3016C70O3016C73O3039C76O3039C79O3063C82O3063C85O3153C88O3153C91O3211C94O3211C97O3240C100O3240C103O3275C106O3275C109O3306C115O3306C120O3335C125O3336C129O3358C132O3358C135O3393C139O3418C150O3425C155O3450C160O3418C164O3555C167O3555C171O3582C173O3603C179O3603C184O3647C189O3661C194O3681C199O3648C205O3784C208O3784C211O3823C214O3823C217O3884C220O3884C223O4224C226O4224C229O4443C232O4443C235O4537C241O4537C246O4576C251O4577C257O4621C268O4629C273O4654C279O4621C283O4742C290O4750C292O4742C296O4780C300O4810C303O4810C306O4840C308O4857,,
code-creation,JS,10,260592,0x23c5194509e,10,refreshRuntimeOptions node:internal/process/pre_execution:213:31,0x3b02002440,~
code-source-info,0x23c5194509e,68,6428,6456,C0O6436C5O6436C9O6455,,
code-creation,JS,10,260627,0x23c5194517e,12,refreshOptions node:internal/options:40:24,0x39e2db4a1d0,~
script-source,17,node:internal/options,'use strict';\x0d\n\x0d\nconst {\x0d\n getCLIOptionsValues\x2C\x0d\n getCLIOptionsInfo\x2C\x0d\n getEmbedderOptions: getEmbedderOptionsFromBinding\x2C\x0d\n} = internalBinding('options');\x0d\n\x0d\nlet warnOnAllowUnauthorized = true;\x0d\n\x0d\nlet optionsDict;\x0d\nlet cliInfo;\x0d\nlet embedderOptions;\x0d\n\x0d\n// getCLIOptionsValues() would serialize the option values from C++ land.\x0d\n// It would error if the values are queried before bootstrap is\x0d\n// complete so that we don't accidentally include runtime-dependent\x0d\n// states into a runtime-independent snapshot.\x0d\nfunction getCLIOptionsFromBinding() {\x0d\n if (!optionsDict) {\x0d\n optionsDict = getCLIOptionsValues();\x0d\n }\x0d\n return optionsDict;\x0d\n}\x0d\n\x0d\nfunction getCLIOptionsInfoFromBinding() {\x0d\n if (!cliInfo) {\x0d\n cliInfo = getCLIOptionsInfo();\x0d\n }\x0d\n return cliInfo;\x0d\n}\x0d\n\x0d\nfunction getEmbedderOptions() {\x0d\n if (!embedderOptions) {\x0d\n embedderOptions = getEmbedderOptionsFromBinding();\x0d\n }\x0d\n return embedderOptions;\x0d\n}\x0d\n\x0d\nfunction refreshOptions() {\x0d\n optionsDict = undefined;\x0d\n}\x0d\n\x0d\nfunction getOptionValue(optionName) {\x0d\n const optionsDict = getCLIOptionsFromBinding();\x0d\n return optionsDict[optionName];\x0d\n}\x0d\n\x0d\nfunction getAllowUnauthorized() {\x0d\n const allowUnauthorized = process.env.NODE_TLS_REJECT_UNAUTHORIZED === '0';\x0d\n\x0d\n if (allowUnauthorized && warnOnAllowUnauthorized) {\x0d\n warnOnAllowUnauthorized = false;\x0d\n process.emitWarning(\x0d\n 'Setting the NODE_TLS_REJECT_UNAUTHORIZED ' +\x0d\n 'environment variable to \\'0\\' makes TLS connections ' +\x0d\n 'and HTTPS requests insecure by disabling ' +\x0d\n 'certificate verification.');\x0d\n }\x0d\n return allowUnauthorized;\x0d\n}\x0d\n\x0d\nmodule.exports = {\x0d\n getCLIOptionsInfo: getCLIOptionsInfoFromBinding\x2C\x0d\n getOptionValue\x2C\x0d\n getAllowUnauthorized\x2C\x0d\n getEmbedderOptions\x2C\x0d\n refreshOptions\x2C\x0d\n};\x0d\n
code-source-info,0x23c5194517e,17,953,988,C0O961C4O973C11O987,,
code-creation,JS,10,260797,0x23c51945496,19,reconnectZeroFillToggle node:internal/buffer:1074:33,0x39e2db5bca0,~
script-source,26,node:internal/buffer,'use strict';\x0d\n\x0d\nconst {\x0d\n BigInt\x2C\x0d\n Float32Array\x2C\x0d\n Float64Array\x2C\x0d\n MathFloor\x2C\x0d\n Number\x2C\x0d\n Uint8Array\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst {\x0d\n ERR_BUFFER_OUT_OF_BOUNDS\x2C\x0d\n ERR_INVALID_ARG_TYPE\x2C\x0d\n ERR_OUT_OF_RANGE\x2C\x0d\n} = require('internal/errors').codes;\x0d\nconst { validateNumber } = require('internal/validators');\x0d\nconst {\x0d\n asciiSlice\x2C\x0d\n base64Slice\x2C\x0d\n base64urlSlice\x2C\x0d\n latin1Slice\x2C\x0d\n hexSlice\x2C\x0d\n ucs2Slice\x2C\x0d\n utf8Slice\x2C\x0d\n asciiWrite\x2C\x0d\n base64Write\x2C\x0d\n base64urlWrite\x2C\x0d\n latin1Write\x2C\x0d\n hexWrite\x2C\x0d\n ucs2Write\x2C\x0d\n utf8Write\x2C\x0d\n getZeroFillToggle\x2C\x0d\n} = internalBinding('buffer');\x0d\n\x0d\nconst {\x0d\n privateSymbols: {\x0d\n untransferable_object_private_symbol\x2C\x0d\n }\x2C\x0d\n} = internalBinding('util');\x0d\n\x0d\n// Temporary buffers to convert numbers.\x0d\nconst float32Array = new Float32Array(1);\x0d\nconst uInt8Float32Array = new Uint8Array(float32Array.buffer);\x0d\nconst float64Array = new Float64Array(1);\x0d\nconst uInt8Float64Array = new Uint8Array(float64Array.buffer);\x0d\n\x0d\n// Check endianness.\x0d\nfloat32Array[0] = -1; // 0xBF800000\x0d\n// Either it is [0\x2C 0\x2C 128\x2C 191] or [191\x2C 128\x2C 0\x2C 0]. It is not possible to\x0d\n// check this with `os.endianness()` because that is determined at compile time.\x0d\nconst bigEndian = uInt8Float32Array[3] === 0;\x0d\n\x0d\nfunction checkBounds(buf\x2C offset\x2C byteLength) {\x0d\n validateNumber(offset\x2C 'offset');\x0d\n if (buf[offset] === undefined || buf[offset + byteLength] === undefined)\x0d\n boundsError(offset\x2C buf.length - (byteLength + 1));\x0d\n}\x0d\n\x0d\nfunction checkInt(value\x2C min\x2C max\x2C buf\x2C offset\x2C byteLength) {\x0d\n if (value > max || value < min) {\x0d\n const n = typeof min === 'bigint' ? 'n' : '';\x0d\n let range;\x0d\n if (byteLength > 3) {\x0d\n if (min === 0 || min === 0n) {\x0d\n range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`;\x0d\n } else {\x0d\n range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and ` +\x0d\n `< 2${n} ** ${(byteLength + 1) * 8 - 1}${n}`;\x0d\n }\x0d\n } else {\x0d\n range = `>= ${min}${n} and <= ${max}${n}`;\x0d\n }\x0d\n throw new ERR_OUT_OF_RANGE('value'\x2C range\x2C value);\x0d\n }\x0d\n checkBounds(buf\x2C offset\x2C byteLength);\x0d\n}\x0d\n\x0d\nfunction boundsError(value\x2C length\x2C type) {\x0d\n if (MathFloor(value) !== value) {\x0d\n validateNumber(value\x2C type);\x0d\n throw new ERR_OUT_OF_RANGE(type || 'offset'\x2C 'an integer'\x2C value);\x0d\n }\x0d\n\x0d\n if (length < 0)\x0d\n throw new ERR_BUFFER_OUT_OF_BOUNDS();\x0d\n\x0d\n throw new ERR_OUT_OF_RANGE(type || 'offset'\x2C\x0d\n `>= ${type ? 1 : 0} and <= ${length}`\x2C\x0d\n value);\x0d\n}\x0d\n\x0d\n// Read integers.\x0d\nfunction readBigUInt64LE(offset = 0) {\x0d\n validateNumber(offset\x2C 'offset');\x0d\n const first = this[offset];\x0d\n const last = this[offset + 7];\x0d\n if (first === undefined || last === undefined)\x0d\n boundsError(offset\x2C this.length - 8);\x0d\n\x0d\n const lo = first +\x0d\n this[++offset] * 2 ** 8 +\x0d\n this[++offset] * 2 ** 16 +\x0d\n this[++offset] * 2 ** 24;\x0d\n\x0d\n const hi = this[++offset] +\x0d\n this[++offset] * 2 ** 8 +\x0d\n this[++offset] * 2 ** 16 +\x0d\n last * 2 ** 24;\x0d\n\x0d\n return BigInt(lo) + (BigInt(hi) << 32n);\x0d\n}\x0d\n\x0d\nfunction readBigUInt64BE(offset = 0) {\x0d\n validateNumber(offset\x2C 'offset');\x0d\n const first = this[offset];\x0d\n const last = this[offset + 7];\x0d\n if (first === undefined || last === undefined)\x0d\n boundsError(offset\x2C this.length - 8);\x0d\n\x0d\n const hi = first * 2 ** 24 +\x0d\n this[++offset] * 2 ** 16 +\x0d\n this[++offset] * 2 ** 8 +\x0d\n this[++offset];\x0d\n\x0d\n const lo = this[++offset] * 2 ** 24 +\x0d\n this[++offset] * 2 ** 16 +\x0d\n this[++offset] * 2 ** 8 +\x0d\n last;\x0d\n\x0d\n return (BigInt(hi) << 32n) + BigInt(lo);\x0d\n}\x0d\n\x0d\nfunction readBigInt64LE(offset = 0) {\x0d\n validateNumber(offset\x2C 'offset');\x0d\n const first = this[offset];\x0d\n const last = this[offset + 7];\x0d\n if (first === undefined || last === undefined)\x0d\n boundsError(offset\x2C this.length - 8);\x0d\n\x0d\n const val = this[offset + 4] +\x0d\n this[offset + 5] * 2 ** 8 +\x0d\n this[offset + 6] * 2 ** 16 +\x0d\n (last << 24); // Overflow\x0d\n return (BigInt(val) << 32n) +\x0d\n BigInt(first +\x0d\n this[++offset] * 2 ** 8 +\x0d\n this[++offset] * 2 ** 16 +\x0d\n this[++offset] * 2 ** 24);\x0d\n}\x0d\n\x0d\nfunction readBigInt64BE(offset = 0) {\x0d\n validateNumber(offset\x2C 'offset');\x0d\n const first = this[offset];\x0d\n const last = this[offset + 7];\x0d\n if (first === undefined || last === undefined)\x0d\n boundsError(offset\x2C this.length - 8);\x0d\n\x0d\n const val = (first << 24) + // Overflow\x0d\n this[++offset] * 2 ** 16 +\x0d\n this[++offset] * 2 ** 8 +\x0d\n this[++offset];\x0d\n return (BigInt(val) << 32n) +\x0d\n BigInt(this[++offset] * 2 ** 24 +\x0d\n this[++offset] * 2 ** 16 +\x0d\n this[++offset] * 2 ** 8 +\x0d\n last);\x0d\n}\x0d\n\x0d\nfunction readUIntLE(offset\x2C byteLength) {\x0d\n if (offset === undefined)\x0d\n throw new ERR_INVALID_ARG_TYPE('offset'\x2C 'number'\x2C offset);\x0d\n if (byteLength === 6)\x0d\n return readUInt48LE(this\x2C offset);\x0d\n if (byteLength === 5)\x0d\n return readUInt40LE(this\x2C offset);\x0d\n if (byteLength === 3)\x0d\n return readUInt24LE(this\x2C offset);\x0d\n if (byteLength === 4)\x0d\n return this.readUInt32LE(offset);\x0d\n if (byteLength === 2)\x0d\n return this.readUInt16LE(offset);\x0d\n if (byteLength === 1)\x0d\n return this.readUInt8(offset);\x0d\n\x0d\n boundsError(byteLength\x2C 6\x2C 'byteLength');\x0d\n}\x0d\n\x0d\nfunction readUInt48LE(buf\x2C offset = 0) {\x0d\n validateNumber(offset\x2C 'offset');\x0d\n const first = buf[offset];\x0d\n const last = buf[offset + 5];\x0d\n if (first === undefined || last === undefined)\x0d\n boundsError(offset\x2C buf.length - 6);\x0d\n\x0d\n return first +\x0d\n buf[++offset] * 2 ** 8 +\x0d\n buf[++offset] * 2 ** 16 +\x0d\n buf[++offset] * 2 ** 24 +\x0d\n (buf[++offset] + last * 2 ** 8) * 2 ** 32;\x0d\n}\x0d\n\x0d\nfunction readUInt40LE(buf\x2C offset = 0) {\x0d\n validateNumber(offset\x2C 'offset');\x0d\n const first = buf[offset];\x0d\n const last = buf[offset + 4];\x0d\n if (first === undefined || last === undefined)\x0d\n boundsError(offset\x2C buf.length - 5);\x0d\n\x0d\n return first +\x0d\n buf[++offset] * 2 ** 8 +\x0d\n buf[++offset] * 2 ** 16 +\x0d\n buf[++offset] * 2 ** 24 +\x0d\n last * 2 ** 32;\x0d\n}\x0d\n\x0d\nfunction readUInt32LE(offset = 0) {\x0d\n validateNumber(offset\x2C 'offset');\x0d\n const first = this[offset];\x0d\n const last = this[offset + 3];\x0d\n if (first === undefined || last === undefined)\x0d\n boundsError(offset\x2C this.length - 4);\x0d\n\x0d\n return first +\x0d\n this[++offset] * 2 ** 8 +\x0d\n this[++offset] * 2 ** 16 +\x0d\n last * 2 ** 24;\x0d\n}\x0d\n\x0d\nfunction readUInt24LE(buf\x2C offset = 0) {\x0d\n validateNumber(offset\x2C 'offset');\x0d\n const first = buf[offset];\x0d\n const last = buf[offset + 2];\x0d\n if (first === undefined || last === undefined)\x0d\n boundsError(offset\x2C buf.length - 3);\x0d\n\x0d\n return first + buf[++offset] * 2 ** 8 + last * 2 ** 16;\x0d\n}\x0d\n\x0d\nfunction readUInt16LE(offset = 0) {\x0d\n validateNumber(offset\x2C 'offset');\x0d\n const first = this[offset];\x0d\n const last = this[offset + 1];\x0d\n if (first === undefined || last === undefined)\x0d\n boundsError(offset\x2C this.length - 2);\x0d\n\x0d\n return first + last * 2 ** 8;\x0d\n}\x0d\n\x0d\nfunction readUInt8(offset = 0) {\x0d\n validateNumber(offset\x2C 'offset');\x0d\n const val = this[offset];\x0d\n if (val === undefined)\x0d\n boundsError(offset\x2C this.length - 1);\x0d\n\x0d\n return val;\x0d\n}\x0d\n\x0d\nfunction readUIntBE(offset\x2C byteLength) {\x0d\n if (offset === undefined)\x0d\n throw new ERR_INVALID_ARG_TYPE('offset'\x2C 'number'\x2C offset);\x0d\n if (byteLength === 6)\x0d\n return readUInt48BE(this\x2C offset);\x0d\n if (byteLength === 5)\x0d\n return readUInt40BE(this\x2C offset);\x0d\n if (byteLength === 3)\x0d\n return readUInt24BE(this\x2C offset);\x0d\n if (byteLength === 4)\x0d\n return this.readUInt32BE(offset);\x0d\n if (byteLength === 2)\x0d\n return this.readUInt16BE(offset);\x0d\n if (byteLength === 1)\x0d\n return this.readUInt8(offset);\x0d\n\x0d\n boundsError(byteLength\x2C 6\x2C 'byteLength');\x0d\n}\x0d\n\x0d\nfunction readUInt48BE(buf\x2C offset = 0) {\x0d\n validateNumber(offset\x2C 'offset');\x0d\n const first = buf[offset];\x0d\n const last = buf[offset + 5];\x0d\n if (first === undefined || last === undefined)\x0d\n boundsError(offset\x2C buf.length - 6);\x0d\n\x0d\n return (first * 2 ** 8 + buf[++offset]) * 2 ** 32 +\x0d\n buf[++offset] * 2 ** 24 +\x0d\n buf[++offset] * 2 ** 16 +\x0d\n buf[++offset] * 2 ** 8 +\x0d\n last;\x0d\n}\x0d\n\x0d\nfunction readUInt40BE(buf\x2C offset = 0) {\x0d\n validateNumber(offset\x2C 'offset');\x0d\n const first = buf[offset];\x0d\n const last = buf[offset + 4];\x0d\n if (first === undefined || last === undefined)\x0d\n boundsError(offset\x2C buf.length - 5);\x0d\n\x0d\n return first * 2 ** 32 +\x0d\n buf[++offset] * 2 ** 24 +\x0d\n buf[++offset] * 2 ** 16 +\x0d\n buf[++offset] * 2 ** 8 +\x0d\n last;\x0d\n}\x0d\n\x0d\nfunction readUInt32BE(offset = 0) {\x0d\n validateNumber(offset\x2C 'offset');\x0d\n const first = this[offset];\x0d\n const last = this[offset + 3];\x0d\n if (first === undefined || last === undefined)\x0d\n boundsError(offset\x2C this.length - 4);\x0d\n\x0d\n return first * 2 ** 24 +\x0d\n this[++offset] * 2 ** 16 +\x0d\n this[++offset] * 2 ** 8 +\x0d\n last;\x0d\n}\x0d\n\x0d\nfunction readUInt24BE(buf\x2C offset = 0) {\x0d\n validateNumber(offset\x2C 'offset');\x0d\n const first = buf[offset];\x0d\n const last = buf[offset + 2];\x0d\n if (first === undefined || last === undefined)\x0d\n boundsError(offset\x2C buf.length - 3);\x0d\n\x0d\n return first * 2 ** 16 + buf[++offset] * 2 ** 8 + last;\x0d\n}\x0d\n\x0d\nfunction readUInt16BE(offset = 0) {\x0d\n validateNumber(offset\x2C 'offset');\x0d\n const first = this[offset];\x0d\n const last = this[offset + 1];\x0d\n if (first === undefined || last === undefined)\x0d\n boundsError(offset\x2C this.length - 2);\x0d\n\x0d\n return first * 2 ** 8 + last;\x0d\n}\x0d\n\x0d\nfunction readIntLE(offset\x2C byteLength) {\x0d\n if (offset === undefined)\x0d\n throw new ERR_INVALID_ARG_TYPE('offset'\x2C 'number'\x2C offset);\x0d\n if (byteLength === 6)\x0d\n return readInt48LE(this\x2C offset);\x0d\n if (byteLength === 5)\x0d\n return readInt40LE(this\x2C offset);\x0d\n if (byteLength === 3)\x0d\n return readInt24LE(this\x2C offset);\x0d\n if (byteLength === 4)\x0d\n return this.readInt32LE(offset);\x0d\n if (byteLength === 2)\x0d\n return this.readInt16LE(offset);\x0d\n if (byteLength === 1)\x0d\n return this.readInt8(offset);\x0d\n\x0d\n boundsError(byteLength\x2C 6\x2C 'byteLength');\x0d\n}\x0d\n\x0d\nfunction readInt48LE(buf\x2C offset = 0) {\x0d\n validateNumber(offset\x2C 'offset');\x0d\n const first = buf[offset];\x0d\n const last = buf[offset + 5];\x0d\n if (first === undefined || last === undefined)\x0d\n boundsError(offset\x2C buf.length - 6);\x0d\n\x0d\n const val = buf[offset + 4] + last * 2 ** 8;\x0d\n return (val | (val & 2 ** 15) * 0x1fffe) * 2 ** 32 +\x0d\n first +\x0d\n buf[++offset] * 2 ** 8 +\x0d\n buf[++offset] * 2 ** 16 +\x0d\n buf[++offset] * 2 ** 24;\x0d\n}\x0d\n\x0d\nfunction readInt40LE(buf\x2C offset = 0) {\x0d\n validateNumber(offset\x2C 'offset');\x0d\n const first = buf[offset];\x0d\n const last = buf[offset + 4];\x0d\n if (first === undefined || last === undefined)\x0d\n boundsError(offset\x2C buf.length - 5);\x0d\n\x0d\n return (last | (last & 2 ** 7) * 0x1fffffe) * 2 ** 32 +\x0d\n first +\x0d\n buf[++offset] * 2 ** 8 +\x0d\n buf[++offset] * 2 ** 16 +\x0d\n buf[++offset] * 2 ** 24;\x0d\n}\x0d\n\x0d\nfunction readInt32LE(offset = 0) {\x0d\n validateNumber(offset\x2C 'offset');\x0d\n const first = this[offset];\x0d\n const last = this[offset + 3];\x0d\n if (first === undefined || last === undefined)\x0d\n boundsError(offset\x2C this.length - 4);\x0d\n\x0d\n return first +\x0d\n this[++offset] * 2 ** 8 +\x0d\n this[++offset] * 2 ** 16 +\x0d\n (last << 24); // Overflow\x0d\n}\x0d\n\x0d\nfunction readInt24LE(buf\x2C offset = 0) {\x0d\n validateNumber(offset\x2C 'offset');\x0d\n const first = buf[offset];\x0d\n const last = buf[offset + 2];\x0d\n if (first === undefined || last === undefined)\x0d\n boundsError(offset\x2C buf.length - 3);\x0d\n\x0d\n const val = first + buf[++offset] * 2 ** 8 + last * 2 ** 16;\x0d\n return val | (val & 2 ** 23) * 0x1fe;\x0d\n}\x0d\n\x0d\nfunction readInt16LE(offset = 0) {\x0d\n validateNumber(offset\x2C 'offset');\x0d\n const first = this[offset];\x0d\n const last = this[offset + 1];\x0d\n if (first === undefined || last === undefined)\x0d\n boundsError(offset\x2C this.length - 2);\x0d\n\x0d\n const val = first + last * 2 ** 8;\x0d\n return val | (val & 2 ** 15) * 0x1fffe;\x0d\n}\x0d\n\x0d\nfunction readInt8(offset = 0) {\x0d\n validateNumber(offset\x2C 'offset');\x0d\n const val = this[offset];\x0d\n if (val === undefined)\x0d\n boundsError(offset\x2C this.length - 1);\x0d\n\x0d\n return val | (val & 2 ** 7) * 0x1fffffe;\x0d\n}\x0d\n\x0d\nfunction readIntBE(offset\x2C byteLength) {\x0d\n if (offset === undefined)\x0d\n throw new ERR_INVALID_ARG_TYPE('offset'\x2C 'number'\x2C offset);\x0d\n if (byteLength === 6)\x0d\n return readInt48BE(this\x2C offset);\x0d\n if (byteLength === 5)\x0d\n return readInt40BE(this\x2C offset);\x0d\n if (byteLength === 3)\x0d\n return readInt24BE(this\x2C offset);\x0d\n if (byteLength === 4)\x0d\n return this.readInt32BE(offset);\x0d\n if (byteLength === 2)\x0d\n return this.readInt16BE(offset);\x0d\n if (byteLength === 1)\x0d\n return this.readInt8(offset);\x0d\n\x0d\n boundsError(byteLength\x2C 6\x2C 'byteLength');\x0d\n}\x0d\n\x0d\nfunction readInt48BE(buf\x2C offset = 0) {\x0d\n validateNumber(offset\x2C 'offset');\x0d\n const first = buf[offset];\x0d\n const last = buf[offset + 5];\x0d\n if (first === undefined || last === undefined)\x0d\n boundsError(offset\x2C buf.length - 6);\x0d\n\x0d\n const val = buf[++offset] + first * 2 ** 8;\x0d\n return (val | (val & 2 ** 15) * 0x1fffe) * 2 ** 32 +\x0d\n buf[++offset] * 2 ** 24 +\x0d\n buf[++offset] * 2 ** 16 +\x0d\n buf[++offset] * 2 ** 8 +\x0d\n last;\x0d\n}\x0d\n\x0d\nfunction readInt40BE(buf\x2C offset = 0) {\x0d\n validateNumber(offset\x2C 'offset');\x0d\n const first = buf[offset];\x0d\n const last = buf[offset + 4];\x0d\n if (first === undefined || last === undefined)\x0d\n boundsError(offset\x2C buf.length - 5);\x0d\n\x0d\n return (first | (first & 2 ** 7) * 0x1fffffe) * 2 ** 32 +\x0d\n buf[++offset] * 2 ** 24 +\x0d\n buf[++offset] * 2 ** 16 +\x0d\n buf[++offset] * 2 ** 8 +\x0d\n last;\x0d\n}\x0d\n\x0d\nfunction readInt32BE(offset = 0) {\x0d\n validateNumber(offset\x2C 'offset');\x0d\n const first = this[offset];\x0d\n const last = this[offset + 3];\x0d\n if (first === undefined || last === undefined)\x0d\n boundsError(offset\x2C this.length - 4);\x0d\n\x0d\n return (first << 24) + // Overflow\x0d\n this[++offset] * 2 ** 16 +\x0d\n this[++offset] * 2 ** 8 +\x0d\n last;\x0d\n}\x0d\n\x0d\nfunction readInt24BE(buf\x2C offset = 0) {\x0d\n validateNumber(offset\x2C 'offset');\x0d\n const first = buf[offset];\x0d\n const last = buf[offset + 2];\x0d\n if (first === undefined || last === undefined)\x0d\n boundsError(offset\x2C buf.length - 3);\x0d\n\x0d\n const val = first * 2 ** 16 + buf[++offset] * 2 ** 8 + last;\x0d\n return val | (val & 2 ** 23) * 0x1fe;\x0d\n}\x0d\n\x0d\nfunction readInt16BE(offset = 0) {\x0d\n validateNumber(offset\x2C 'offset');\x0d\n const first = this[offset];\x0d\n const last = this[offset + 1];\x0d\n if (first === undefined || last === undefined)\x0d\n boundsError(offset\x2C this.length - 2);\x0d\n\x0d\n const val = first * 2 ** 8 + last;\x0d\n return val | (val & 2 ** 15) * 0x1fffe;\x0d\n}\x0d\n\x0d\n// Read floats\x0d\nfunction readFloatBackwards(offset = 0) {\x0d\n validateNumber(offset\x2C 'offset');\x0d\n const first = this[offset];\x0d\n const last = this[offset + 3];\x0d\n if (first === undefined || last === undefined)\x0d\n boundsError(offset\x2C this.length - 4);\x0d\n\x0d\n uInt8Float32Array[3] = first;\x0d\n uInt8Float32Array[2] = this[++offset];\x0d\n uInt8Float32Array[1] = this[++offset];\x0d\n uInt8Float32Array[0] = last;\x0d\n return float32Array[0];\x0d\n}\x0d\n\x0d\nfunction readFloatForwards(offset = 0) {\x0d\n validateNumber(offset\x2C 'offset');\x0d\n const first = this[offset];\x0d\n const last = this[offset + 3];\x0d\n if (first === undefined || last === undefined)\x0d\n boundsError(offset\x2C this.length - 4);\x0d\n\x0d\n uInt8Float32Array[0] = first;\x0d\n uInt8Float32Array[1] = this[++offset];\x0d\n uInt8Float32Array[2] = this[++offset];\x0d\n uInt8Float32Array[3] = last;\x0d\n return float32Array[0];\x0d\n}\x0d\n\x0d\nfunction readDoubleBackwards(offset = 0) {\x0d\n validateNumber(offset\x2C 'offset');\x0d\n const first = this[offset];\x0d\n const last = this[offset + 7];\x0d\n if (first === undefined || last === undefined)\x0d\n boundsError(offset\x2C this.length - 8);\x0d\n\x0d\n uInt8Float64Array[7] = first;\x0d\n uInt8Float64Array[6] = this[++offset];\x0d\n uInt8Float64Array[5] = this[++offset];\x0d\n uInt8Float64Array[4] = this[++offset];\x0d\n uInt8Float64Array[3] = this[++offset];\x0d\n uInt8Float64Array[2] = this[++offset];\x0d\n uInt8Float64Array[1] = this[++offset];\x0d\n uInt8Float64Array[0] = last;\x0d\n return float64Array[0];\x0d\n}\x0d\n\x0d\nfunction readDoubleForwards(offset = 0) {\x0d\n validateNumber(offset\x2C 'offset');\x0d\n const first = this[offset];\x0d\n const last = this[offset + 7];\x0d\n if (first === undefined || last === undefined)\x0d\n boundsError(offset\x2C this.length - 8);\x0d\n\x0d\n uInt8Float64Array[0] = first;\x0d\n uInt8Float64Array[1] = this[++offset];\x0d\n uInt8Float64Array[2] = this[++offset];\x0d\n uInt8Float64Array[3] = this[++offset];\x0d\n uInt8Float64Array[4] = this[++offset];\x0d\n uInt8Float64Array[5] = this[++offset];\x0d\n uInt8Float64Array[6] = this[++offset];\x0d\n uInt8Float64Array[7] = last;\x0d\n return float64Array[0];\x0d\n}\x0d\n\x0d\n// Write integers.\x0d\nfunction writeBigU_Int64LE(buf\x2C value\x2C offset\x2C min\x2C max) {\x0d\n checkInt(value\x2C min\x2C max\x2C buf\x2C offset\x2C 7);\x0d\n\x0d\n let lo = Number(value & 0xffffffffn);\x0d\n buf[offset++] = lo;\x0d\n lo = lo >> 8;\x0d\n buf[offset++] = lo;\x0d\n lo = lo >> 8;\x0d\n buf[offset++] = lo;\x0d\n lo = lo >> 8;\x0d\n buf[offset++] = lo;\x0d\n let hi = Number(value >> 32n & 0xffffffffn);\x0d\n buf[offset++] = hi;\x0d\n hi = hi >> 8;\x0d\n buf[offset++] = hi;\x0d\n hi = hi >> 8;\x0d\n buf[offset++] = hi;\x0d\n hi = hi >> 8;\x0d\n buf[offset++] = hi;\x0d\n return offset;\x0d\n}\x0d\n\x0d\nfunction writeBigUInt64LE(value\x2C offset = 0) {\x0d\n return writeBigU_Int64LE(this\x2C value\x2C offset\x2C 0n\x2C 0xffffffffffffffffn);\x0d\n}\x0d\n\x0d\nfunction writeBigU_Int64BE(buf\x2C value\x2C offset\x2C min\x2C max) {\x0d\n checkInt(value\x2C min\x2C max\x2C buf\x2C offset\x2C 7);\x0d\n\x0d\n let lo = Number(value & 0xffffffffn);\x0d\n buf[offset + 7] = lo;\x0d\n lo = lo >> 8;\x0d\n buf[offset + 6] = lo;\x0d\n lo = lo >> 8;\x0d\n buf[offset + 5] = lo;\x0d\n lo = lo >> 8;\x0d\n buf[offset + 4] = lo;\x0d\n let hi = Number(value >> 32n & 0xffffffffn);\x0d\n buf[offset + 3] = hi;\x0d\n hi = hi >> 8;\x0d\n buf[offset + 2] = hi;\x0d\n hi = hi >> 8;\x0d\n buf[offset + 1] = hi;\x0d\n hi = hi >> 8;\x0d\n buf[offset] = hi;\x0d\n return offset + 8;\x0d\n}\x0d\n\x0d\nfunction writeBigUInt64BE(value\x2C offset = 0) {\x0d\n return writeBigU_Int64BE(this\x2C value\x2C offset\x2C 0n\x2C 0xffffffffffffffffn);\x0d\n}\x0d\n\x0d\nfunction writeBigInt64LE(value\x2C offset = 0) {\x0d\n return writeBigU_Int64LE(\x0d\n this\x2C value\x2C offset\x2C -0x8000000000000000n\x2C 0x7fffffffffffffffn);\x0d\n}\x0d\n\x0d\nfunction writeBigInt64BE(value\x2C offset = 0) {\x0d\n return writeBigU_Int64BE(\x0d\n this\x2C value\x2C offset\x2C -0x8000000000000000n\x2C 0x7fffffffffffffffn);\x0d\n}\x0d\n\x0d\nfunction writeUIntLE(value\x2C offset\x2C byteLength) {\x0d\n if (byteLength === 6)\x0d\n return writeU_Int48LE(this\x2C value\x2C offset\x2C 0\x2C 0xffffffffffff);\x0d\n if (byteLength === 5)\x0d\n return writeU_Int40LE(this\x2C value\x2C offset\x2C 0\x2C 0xffffffffff);\x0d\n if (byteLength === 3)\x0d\n return writeU_Int24LE(this\x2C value\x2C offset\x2C 0\x2C 0xffffff);\x0d\n if (byteLength === 4)\x0d\n return writeU_Int32LE(this\x2C value\x2C offset\x2C 0\x2C 0xffffffff);\x0d\n if (byteLength === 2)\x0d\n return writeU_Int16LE(this\x2C value\x2C offset\x2C 0\x2C 0xffff);\x0d\n if (byteLength === 1)\x0d\n return writeU_Int8(this\x2C value\x2C offset\x2C 0\x2C 0xff);\x0d\n\x0d\n boundsError(byteLength\x2C 6\x2C 'byteLength');\x0d\n}\x0d\n\x0d\nfunction writeU_Int48LE(buf\x2C value\x2C offset\x2C min\x2C max) {\x0d\n value = +value;\x0d\n checkInt(value\x2C min\x2C max\x2C buf\x2C offset\x2C 5);\x0d\n\x0d\n const newVal = MathFloor(value * 2 ** -32);\x0d\n buf[offset++] = value;\x0d\n value = value >>> 8;\x0d\n buf[offset++] = value;\x0d\n value = value >>> 8;\x0d\n buf[offset++] = value;\x0d\n value = value >>> 8;\x0d\n buf[offset++] = value;\x0d\n buf[offset++] = newVal;\x0d\n buf[offset++] = (newVal >>> 8);\x0d\n return offset;\x0d\n}\x0d\n\x0d\nfunction writeU_Int40LE(buf\x2C value\x2C offset\x2C min\x2C max) {\x0d\n value = +value;\x0d\n checkInt(value\x2C min\x2C max\x2C buf\x2C offset\x2C 4);\x0d\n\x0d\n const newVal = value;\x0d\n buf[offset++] = value;\x0d\n value = value >>> 8;\x0d\n buf[offset++] = value;\x0d\n value = value >>> 8;\x0d\n buf[offset++] = value;\x0d\n value = value >>> 8;\x0d\n buf[offset++] = value;\x0d\n buf[offset++] = MathFloor(newVal * 2 ** -32);\x0d\n return offset;\x0d\n}\x0d\n\x0d\nfunction writeU_Int32LE(buf\x2C value\x2C offset\x2C min\x2C max) {\x0d\n value = +value;\x0d\n checkInt(value\x2C min\x2C max\x2C buf\x2C offset\x2C 3);\x0d\n\x0d\n buf[offset++] = value;\x0d\n value = value >>> 8;\x0d\n buf[offset++] = value;\x0d\n value = value >>> 8;\x0d\n buf[offset++] = value;\x0d\n value = value >>> 8;\x0d\n buf[offset++] = value;\x0d\n return offset;\x0d\n}\x0d\n\x0d\nfunction writeUInt32LE(value\x2C offset = 0) {\x0d\n return writeU_Int32LE(this\x2C value\x2C offset\x2C 0\x2C 0xffffffff);\x0d\n}\x0d\n\x0d\nfunction writeU_Int24LE(buf\x2C value\x2C offset\x2C min\x2C max) {\x0d\n value = +value;\x0d\n checkInt(value\x2C min\x2C max\x2C buf\x2C offset\x2C 2);\x0d\n\x0d\n buf[offset++] = value;\x0d\n value = value >>> 8;\x0d\n buf[offset++] = value;\x0d\n value = value >>> 8;\x0d\n buf[offset++] = value;\x0d\n return offset;\x0d\n}\x0d\n\x0d\nfunction writeU_Int16LE(buf\x2C value\x2C offset\x2C min\x2C max) {\x0d\n value = +value;\x0d\n checkInt(value\x2C min\x2C max\x2C buf\x2C offset\x2C 1);\x0d\n\x0d\n buf[offset++] = value;\x0d\n buf[offset++] = (value >>> 8);\x0d\n return offset;\x0d\n}\x0d\n\x0d\nfunction writeUInt16LE(value\x2C offset = 0) {\x0d\n return writeU_Int16LE(this\x2C value\x2C offset\x2C 0\x2C 0xffff);\x0d\n}\x0d\n\x0d\nfunction writeU_Int8(buf\x2C value\x2C offset\x2C min\x2C max) {\x0d\n value = +value;\x0d\n // `checkInt()` can not be used here because it checks two entries.\x0d\n validateNumber(offset\x2C 'offset');\x0d\n if (value > max || value < min) {\x0d\n throw new ERR_OUT_OF_RANGE('value'\x2C `>= ${min} and <= ${max}`\x2C value);\x0d\n }\x0d\n if (buf[offset] === undefined)\x0d\n boundsError(offset\x2C buf.length - 1);\x0d\n\x0d\n buf[offset] = value;\x0d\n return offset + 1;\x0d\n}\x0d\n\x0d\nfunction writeUInt8(value\x2C offset = 0) {\x0d\n return writeU_Int8(this\x2C value\x2C offset\x2C 0\x2C 0xff);\x0d\n}\x0d\n\x0d\nfunction writeUIntBE(value\x2C offset\x2C byteLength) {\x0d\n if (byteLength === 6)\x0d\n return writeU_Int48BE(this\x2C value\x2C offset\x2C 0\x2C 0xffffffffffff);\x0d\n if (byteLength === 5)\x0d\n return writeU_Int40BE(this\x2C value\x2C offset\x2C 0\x2C 0xffffffffff);\x0d\n if (byteLength === 3)\x0d\n return writeU_Int24BE(this\x2C value\x2C offset\x2C 0\x2C 0xffffff);\x0d\n if (byteLength === 4)\x0d\n return writeU_Int32BE(this\x2C value\x2C offset\x2C 0\x2C 0xffffffff);\x0d\n if (byteLength === 2)\x0d\n return writeU_Int16BE(this\x2C value\x2C offset\x2C 0\x2C 0xffff);\x0d\n if (byteLength === 1)\x0d\n return writeU_Int8(this\x2C value\x2C offset\x2C 0\x2C 0xff);\x0d\n\x0d\n boundsError(byteLength\x2C 6\x2C 'byteLength');\x0d\n}\x0d\n\x0d\nfunction writeU_Int48BE(buf\x2C value\x2C offset\x2C min\x2C max) {\x0d\n value = +value;\x0d\n checkInt(value\x2C min\x2C max\x2C buf\x2C offset\x2C 5);\x0d\n\x0d\n const newVal = MathFloor(value * 2 ** -32);\x0d\n buf[offset++] = (newVal >>> 8);\x0d\n buf[offset++] = newVal;\x0d\n buf[offset + 3] = value;\x0d\n value = value >>> 8;\x0d\n buf[offset + 2] = value;\x0d\n value = value >>> 8;\x0d\n buf[offset + 1] = value;\x0d\n value = value >>> 8;\x0d\n buf[offset] = value;\x0d\n return offset + 4;\x0d\n}\x0d\n\x0d\nfunction writeU_Int40BE(buf\x2C value\x2C offset\x2C min\x2C max) {\x0d\n value = +value;\x0d\n checkInt(value\x2C min\x2C max\x2C buf\x2C offset\x2C 4);\x0d\n\x0d\n buf[offset++] = MathFloor(value * 2 ** -32);\x0d\n buf[offset + 3] = value;\x0d\n value = value >>> 8;\x0d\n buf[offset + 2] = value;\x0d\n value = value >>> 8;\x0d\n buf[offset + 1] = value;\x0d\n value = value >>> 8;\x0d\n buf[offset] = value;\x0d\n return offset + 4;\x0d\n}\x0d\n\x0d\nfunction writeU_Int32BE(buf\x2C value\x2C offset\x2C min\x2C max) {\x0d\n value = +value;\x0d\n checkInt(value\x2C min\x2C max\x2C buf\x2C offset\x2C 3);\x0d\n\x0d\n buf[offset + 3] = value;\x0d\n value = value >>> 8;\x0d\n buf[offset + 2] = value;\x0d\n value = value >>> 8;\x0d\n buf[offset + 1] = value;\x0d\n value = value >>> 8;\x0d\n buf[offset] = value;\x0d\n return offset + 4;\x0d\n}\x0d\n\x0d\nfunction writeUInt32BE(value\x2C offset = 0) {\x0d\n return writeU_Int32BE(this\x2C value\x2C offset\x2C 0\x2C 0xffffffff);\x0d\n}\x0d\n\x0d\nfunction writeU_Int24BE(buf\x2C value\x2C offset\x2C min\x2C max) {\x0d\n value = +value;\x0d\n checkInt(value\x2C min\x2C max\x2C buf\x2C offset\x2C 2);\x0d\n\x0d\n buf[offset + 2] = value;\x0d\n value = value >>> 8;\x0d\n buf[offset + 1] = value;\x0d\n value = value >>> 8;\x0d\n buf[offset] = value;\x0d\n return offset + 3;\x0d\n}\x0d\n\x0d\nfunction writeU_Int16BE(buf\x2C value\x2C offset\x2C min\x2C max) {\x0d\n value = +value;\x0d\n checkInt(value\x2C min\x2C max\x2C buf\x2C offset\x2C 1);\x0d\n\x0d\n buf[offset++] = (value >>> 8);\x0d\n buf[offset++] = value;\x0d\n return offset;\x0d\n}\x0d\n\x0d\nfunction writeUInt16BE(value\x2C offset = 0) {\x0d\n return writeU_Int16BE(this\x2C value\x2C offset\x2C 0\x2C 0xffff);\x0d\n}\x0d\n\x0d\nfunction writeIntLE(value\x2C offset\x2C byteLength) {\x0d\n if (byteLength === 6)\x0d\n return writeU_Int48LE(this\x2C value\x2C offset\x2C -0x800000000000\x2C 0x7fffffffffff);\x0d\n if (byteLength === 5)\x0d\n return writeU_Int40LE(this\x2C value\x2C offset\x2C -0x8000000000\x2C 0x7fffffffff);\x0d\n if (byteLength === 3)\x0d\n return writeU_Int24LE(this\x2C value\x2C offset\x2C -0x800000\x2C 0x7fffff);\x0d\n if (byteLength === 4)\x0d\n return writeU_Int32LE(this\x2C value\x2C offset\x2C -0x80000000\x2C 0x7fffffff);\x0d\n if (byteLength === 2)\x0d\n return writeU_Int16LE(this\x2C value\x2C offset\x2C -0x8000\x2C 0x7fff);\x0d\n if (byteLength === 1)\x0d\n return writeU_Int8(this\x2C value\x2C offset\x2C -0x80\x2C 0x7f);\x0d\n\x0d\n boundsError(byteLength\x2C 6\x2C 'byteLength');\x0d\n}\x0d\n\x0d\nfunction writeInt32LE(value\x2C offset = 0) {\x0d\n return writeU_Int32LE(this\x2C value\x2C offset\x2C -0x80000000\x2C 0x7fffffff);\x0d\n}\x0d\n\x0d\nfunction writeInt16LE(value\x2C offset = 0) {\x0d\n return writeU_Int16LE(this\x2C value\x2C offset\x2C -0x8000\x2C 0x7fff);\x0d\n}\x0d\n\x0d\nfunction writeInt8(value\x2C offset = 0) {\x0d\n return writeU_Int8(this\x2C value\x2C offset\x2C -0x80\x2C 0x7f);\x0d\n}\x0d\n\x0d\nfunction writeIntBE(value\x2C offset\x2C byteLength) {\x0d\n if (byteLength === 6)\x0d\n return writeU_Int48BE(this\x2C value\x2C offset\x2C -0x800000000000\x2C 0x7fffffffffff);\x0d\n if (byteLength === 5)\x0d\n return writeU_Int40BE(this\x2C value\x2C offset\x2C -0x8000000000\x2C 0x7fffffffff);\x0d\n if (byteLength === 3)\x0d\n return writeU_Int24BE(this\x2C value\x2C offset\x2C -0x800000\x2C 0x7fffff);\x0d\n if (byteLength === 4)\x0d\n return writeU_Int32BE(this\x2C value\x2C offset\x2C -0x80000000\x2C 0x7fffffff);\x0d\n if (byteLength === 2)\x0d\n return writeU_Int16BE(this\x2C value\x2C offset\x2C -0x8000\x2C 0x7fff);\x0d\n if (byteLength === 1)\x0d\n return writeU_Int8(this\x2C value\x2C offset\x2C -0x80\x2C 0x7f);\x0d\n\x0d\n boundsError(byteLength\x2C 6\x2C 'byteLength');\x0d\n}\x0d\n\x0d\nfunction writeInt32BE(value\x2C offset = 0) {\x0d\n return writeU_Int32BE(this\x2C value\x2C offset\x2C -0x80000000\x2C 0x7fffffff);\x0d\n}\x0d\n\x0d\nfunction writeInt16BE(value\x2C offset = 0) {\x0d\n return writeU_Int16BE(this\x2C value\x2C offset\x2C -0x8000\x2C 0x7fff);\x0d\n}\x0d\n\x0d\n// Write floats.\x0d\nfunction writeDoubleForwards(val\x2C offset = 0) {\x0d\n val = +val;\x0d\n checkBounds(this\x2C offset\x2C 7);\x0d\n\x0d\n float64Array[0] = val;\x0d\n this[offset++] = uInt8Float64Array[0];\x0d\n this[offset++] = uInt8Float64Array[1];\x0d\n this[offset++] = uInt8Float64Array[2];\x0d\n this[offset++] = uInt8Float64Array[3];\x0d\n this[offset++] = uInt8Float64Array[4];\x0d\n this[offset++] = uInt8Float64Array[5];\x0d\n this[offset++] = uInt8Float64Array[6];\x0d\n this[offset++] = uInt8Float64Array[7];\x0d\n return offset;\x0d\n}\x0d\n\x0d\nfunction writeDoubleBackwards(val\x2C offset = 0) {\x0d\n val = +val;\x0d\n checkBounds(this\x2C offset\x2C 7);\x0d\n\x0d\n float64Array[0] = val;\x0d\n this[offset++] = uInt8Float64Array[7];\x0d\n this[offset++] = uInt8Float64Array[6];\x0d\n this[offset++] = uInt8Float64Array[5];\x0d\n this[offset++] = uInt8Float64Array[4];\x0d\n this[offset++] = uInt8Float64Array[3];\x0d\n this[offset++] = uInt8Float64Array[2];\x0d\n this[offset++] = uInt8Float64Array[1];\x0d\n this[offset++] = uInt8Float64Array[0];\x0d\n return offset;\x0d\n}\x0d\n\x0d\nfunction writeFloatForwards(val\x2C offset = 0) {\x0d\n val = +val;\x0d\n checkBounds(this\x2C offset\x2C 3);\x0d\n\x0d\n float32Array[0] = val;\x0d\n this[offset++] = uInt8Float32Array[0];\x0d\n this[offset++] = uInt8Float32Array[1];\x0d\n this[offset++] = uInt8Float32Array[2];\x0d\n this[offset++] = uInt8Float32Array[3];\x0d\n return offset;\x0d\n}\x0d\n\x0d\nfunction writeFloatBackwards(val\x2C offset = 0) {\x0d\n val = +val;\x0d\n checkBounds(this\x2C offset\x2C 3);\x0d\n\x0d\n float32Array[0] = val;\x0d\n this[offset++] = uInt8Float32Array[3];\x0d\n this[offset++] = uInt8Float32Array[2];\x0d\n this[offset++] = uInt8Float32Array[1];\x0d\n this[offset++] = uInt8Float32Array[0];\x0d\n return offset;\x0d\n}\x0d\n\x0d\nclass FastBuffer extends Uint8Array {\x0d\n // Using an explicit constructor here is necessary to avoid relying on\x0d\n // `Array.prototype[Symbol.iterator]`\x2C which can be mutated by users.\x0d\n // eslint-disable-next-line no-useless-constructor\x0d\n constructor(bufferOrLength\x2C byteOffset\x2C length) {\x0d\n super(bufferOrLength\x2C byteOffset\x2C length);\x0d\n }\x0d\n}\x0d\n\x0d\nfunction addBufferPrototypeMethods(proto) {\x0d\n proto.readBigUInt64LE = readBigUInt64LE;\x0d\n proto.readBigUInt64BE = readBigUInt64BE;\x0d\n proto.readBigUint64LE = readBigUInt64LE;\x0d\n proto.readBigUint64BE = readBigUInt64BE;\x0d\n proto.readBigInt64LE = readBigInt64LE;\x0d\n proto.readBigInt64BE = readBigInt64BE;\x0d\n proto.writeBigUInt64LE = writeBigUInt64LE;\x0d\n proto.writeBigUInt64BE = writeBigUInt64BE;\x0d\n proto.writeBigUint64LE = writeBigUInt64LE;\x0d\n proto.writeBigUint64BE = writeBigUInt64BE;\x0d\n proto.writeBigInt64LE = writeBigInt64LE;\x0d\n proto.writeBigInt64BE = writeBigInt64BE;\x0d\n\x0d\n proto.readUIntLE = readUIntLE;\x0d\n proto.readUInt32LE = readUInt32LE;\x0d\n proto.readUInt16LE = readUInt16LE;\x0d\n proto.readUInt8 = readUInt8;\x0d\n proto.readUIntBE = readUIntBE;\x0d\n proto.readUInt32BE = readUInt32BE;\x0d\n proto.readUInt16BE = readUInt16BE;\x0d\n proto.readUintLE = readUIntLE;\x0d\n proto.readUint32LE = readUInt32LE;\x0d\n proto.readUint16LE = readUInt16LE;\x0d\n proto.readUint8 = readUInt8;\x0d\n proto.readUintBE = readUIntBE;\x0d\n proto.readUint32BE = readUInt32BE;\x0d\n proto.readUint16BE = readUInt16BE;\x0d\n proto.readIntLE = readIntLE;\x0d\n proto.readInt32LE = readInt32LE;\x0d\n proto.readInt16LE = readInt16LE;\x0d\n proto.readInt8 = readInt8;\x0d\n proto.readIntBE = readIntBE;\x0d\n proto.readInt32BE = readInt32BE;\x0d\n proto.readInt16BE = readInt16BE;\x0d\n\x0d\n proto.writeUIntLE = writeUIntLE;\x0d\n proto.writeUInt32LE = writeUInt32LE;\x0d\n proto.writeUInt16LE = writeUInt16LE;\x0d\n proto.writeUInt8 = writeUInt8;\x0d\n proto.writeUIntBE = writeUIntBE;\x0d\n proto.writeUInt32BE = writeUInt32BE;\x0d\n proto.writeUInt16BE = writeUInt16BE;\x0d\n proto.writeUintLE = writeUIntLE;\x0d\n proto.writeUint32LE = writeUInt32LE;\x0d\n proto.writeUint16LE = writeUInt16LE;\x0d\n proto.writeUint8 = writeUInt8;\x0d\n proto.writeUintBE = writeUIntBE;\x0d\n proto.writeUint32BE = writeUInt32BE;\x0d\n proto.writeUint16BE = writeUInt16BE;\x0d\n proto.writeIntLE = writeIntLE;\x0d\n proto.writeInt32LE = writeInt32LE;\x0d\n proto.writeInt16LE = writeInt16LE;\x0d\n proto.writeInt8 = writeInt8;\x0d\n proto.writeIntBE = writeIntBE;\x0d\n proto.writeInt32BE = writeInt32BE;\x0d\n proto.writeInt16BE = writeInt16BE;\x0d\n\x0d\n proto.readFloatLE = bigEndian ? readFloatBackwards : readFloatForwards;\x0d\n proto.readFloatBE = bigEndian ? readFloatForwards : readFloatBackwards;\x0d\n proto.readDoubleLE = bigEndian ? readDoubleBackwards : readDoubleForwards;\x0d\n proto.readDoubleBE = bigEndian ? readDoubleForwards : readDoubleBackwards;\x0d\n proto.writeFloatLE = bigEndian ? writeFloatBackwards : writeFloatForwards;\x0d\n proto.writeFloatBE = bigEndian ? writeFloatForwards : writeFloatBackwards;\x0d\n proto.writeDoubleLE = bigEndian ? writeDoubleBackwards : writeDoubleForwards;\x0d\n proto.writeDoubleBE = bigEndian ? writeDoubleForwards : writeDoubleBackwards;\x0d\n\x0d\n proto.asciiSlice = asciiSlice;\x0d\n proto.base64Slice = base64Slice;\x0d\n proto.base64urlSlice = base64urlSlice;\x0d\n proto.latin1Slice = latin1Slice;\x0d\n proto.hexSlice = hexSlice;\x0d\n proto.ucs2Slice = ucs2Slice;\x0d\n proto.utf8Slice = utf8Slice;\x0d\n proto.asciiWrite = asciiWrite;\x0d\n proto.base64Write = base64Write;\x0d\n proto.base64urlWrite = base64urlWrite;\x0d\n proto.latin1Write = latin1Write;\x0d\n proto.hexWrite = hexWrite;\x0d\n proto.ucs2Write = ucs2Write;\x0d\n proto.utf8Write = utf8Write;\x0d\n}\x0d\n\x0d\n// This would better be placed in internal/worker/io.js\x2C but that doesn't work\x0d\n// because Buffer needs this and that would introduce a cyclic dependency.\x0d\nfunction markAsUntransferable(obj) {\x0d\n if ((typeof obj !== 'object' && typeof obj !== 'function') || obj === null)\x0d\n return; // This object is a primitive and therefore already untransferable.\x0d\n obj[untransferable_object_private_symbol] = true;\x0d\n}\x0d\n\x0d\n// A toggle used to access the zero fill setting of the array buffer allocator\x0d\n// in C++.\x0d\n// |zeroFill| can be undefined when running inside an isolate where we\x0d\n// do not own the ArrayBuffer allocator. Zero fill is always on in that case.\x0d\nlet zeroFill = getZeroFillToggle();\x0d\nfunction createUnsafeBuffer(size) {\x0d\n zeroFill[0] = 0;\x0d\n try {\x0d\n return new FastBuffer(size);\x0d\n } finally {\x0d\n zeroFill[0] = 1;\x0d\n }\x0d\n}\x0d\n\x0d\n// The connection between the JS land zero fill toggle and the\x0d\n// C++ one in the NodeArrayBufferAllocator gets lost if the toggle\x0d\n// is deserialized from the snapshot\x2C because V8 owns the underlying\x0d\n// memory of this toggle. This resets the connection.\x0d\nfunction reconnectZeroFillToggle() {\x0d\n zeroFill = getZeroFillToggle();\x0d\n}\x0d\n\x0d\nmodule.exports = {\x0d\n FastBuffer\x2C\x0d\n addBufferPrototypeMethods\x2C\x0d\n markAsUntransferable\x2C\x0d\n createUnsafeBuffer\x2C\x0d\n readUInt16BE\x2C\x0d\n readUInt32BE\x2C\x0d\n reconnectZeroFillToggle\x2C\x0d\n};\x0d\n
code-source-info,0x23c51945496,26,31787,31829,C0O31795C5O31806C11O31804C18O31828,,
code-creation,JS,10,262479,0x23c51947cf6,442,patchProcessObject node:internal/process/pre_execution:224:28,0x3b02002490,~
code-source-info,0x23c51947cf6,68,6919,9313,C0O6954C6O6954C11O7001C19O7001C24O7136C35O7157C42O7295C45O7295C55O7337C61O7341C68O7136C73O7358C77O7375C81O7391C85O7408C89O7420C92O7428C102O7446C106O7436C110O7490C112O7648C119O7675C126O7679C133O7694C139O7728C146O7732C153O7694C160O7812C166O7812C174O7864C182O7880C189O7884C193O7864C199O7897C202O7905C212O7913C222O8146C228O8146C233O8221C239O8221C244O8193C249O8265C253O8452C262O8452C267O8499C276O8499C281O8553C290O8553C295O8614C304O8614C309O8673C318O8673C323O8734C332O8734C337O8799C346O8799C351O8865C360O8865C365O8937C374O8937C379O9008C388O9008C393O9069C402O9069C407O9140C418O9140C423O9211C434O9211C439O9293C441O9310,,
code-creation,JS,10,262705,0x23c5194824e,134,set node:internal/bootstrap/node:116:8,0x39e2db42a30,~
script-source,12,node:internal/bootstrap/node,// Hello\x2C and welcome to hacking node.js!\x0d\n//\x0d\n// This file is invoked by `Realm::BootstrapRealm()` in `src/node_realm.cc`\x2C\x0d\n// and is responsible for setting up Node.js core before main scripts\x0d\n// under `lib/internal/main/` are executed.\x0d\n//\x0d\n// By default\x2C Node.js binaries come with an embedded V8 startup snapshot\x0d\n// that is generated at build-time with a `node_mksnapshot` executable.\x0d\n// The snapshot generation code can be found in `SnapshotBuilder::Generate()`\x0d\n// from `src/node_snapshotable.cc`.\x0d\n// This snapshot captures the V8 heap initialized by scripts under\x0d\n// `lib/internal/bootstrap/`\x2C including this file. When initializing the main\x0d\n// thread\x2C Node.js deserializes the heap from the snapshot\x2C instead of actually\x0d\n// running this script and others in `lib/internal/bootstrap/`. To disable this\x0d\n// behavior\x2C pass `--no-node-snapshot` when starting the process so that\x0d\n// Node.js actually runs this script to initialize the heap.\x0d\n//\x0d\n// This script is expected not to perform any asynchronous operations itself\x0d\n// when being executed - those should be done in either\x0d\n// `lib/internal/process/pre_execution.js` or in main scripts. It should not\x0d\n// query any run-time states (e.g. command line arguments\x2C environment\x0d\n// variables) when being executed - functions in this script that are invoked\x0d\n// at a later time can\x2C however\x2C query those states lazily.\x0d\n// The majority of the code here focuses on setting up the global object and\x0d\n// the process object in a synchronous\x2C environment-independent manner.\x0d\n//\x0d\n// Scripts run before this file:\x0d\n// - `lib/internal/per_context/primordials.js`: this saves copies of JavaScript\x0d\n// builtins that won't be affected by user land monkey-patching for internal\x0d\n// modules to use.\x0d\n// - `lib/internal/per_context/domexception.js`: implementation of the\x0d\n// `DOMException` class.\x0d\n// - `lib/internal/per_context/messageport.js`: JS-side components of the\x0d\n// `MessagePort` implementation.\x0d\n// - `lib/internal/bootstrap/realm.js`: this sets up internal binding and\x0d\n// module loaders\x2C including `process.binding()`\x2C `process._linkedBinding()`\x2C\x0d\n// `internalBinding()` and `BuiltinModule`\x2C and per-realm internal states\x0d\n// and bindings\x2C including `prepare_stack_trace_callback`.\x0d\n//\x0d\n// The initialization done in this script is included in both the main thread\x0d\n// and the worker threads. After this\x2C further initialization is done based\x0d\n// on the configuration of the Node.js instance by executing the scripts in\x0d\n// `lib/internal/bootstrap/switches/`.\x0d\n//\x0d\n// Then\x2C depending on how the Node.js instance is launched\x2C one of the main\x0d\n// scripts in `lib/internal/main` will be selected by C++ to start the actual\x0d\n// execution. They may run additional setups exported by\x0d\n// `lib/internal/process/pre_execution.js` depending on the run-time states.\x0d\n\x0d\n'use strict';\x0d\n\x0d\n// This file is compiled as if it's wrapped in a function with arguments\x0d\n// passed by `BuiltinLoader::CompileAndCall()`.\x0d\n/* global process\x2C require\x2C internalBinding\x2C primordials */\x0d\n\x0d\nconst {\x0d\n FunctionPrototypeCall\x2C\x0d\n JSONParse\x2C\x0d\n Number\x2C\x0d\n NumberIsNaN\x2C\x0d\n ObjectDefineProperty\x2C\x0d\n ObjectGetPrototypeOf\x2C\x0d\n ObjectSetPrototypeOf\x2C\x0d\n ObjectFreeze\x2C\x0d\n SymbolToStringTag\x2C\x0d\n globalThis\x2C\x0d\n} = primordials;\x0d\nconst config = internalBinding('config');\x0d\nconst internalTimers = require('internal/timers');\x0d\nconst {\x0d\n defineOperation\x2C\x0d\n deprecate\x2C\x0d\n} = require('internal/util');\x0d\nconst {\x0d\n validateInteger\x2C\x0d\n} = require('internal/validators');\x0d\nconst {\x0d\n constants: {\x0d\n kExitCode\x2C\x0d\n kExiting\x2C\x0d\n kHasExitCode\x2C\x0d\n }\x2C\x0d\n privateSymbols: {\x0d\n exit_info_private_symbol\x2C\x0d\n }\x2C\x0d\n} = internalBinding('util');\x0d\n\x0d\nsetupProcessObject();\x0d\n\x0d\nsetupGlobalProxy();\x0d\nsetupBuffer();\x0d\n\x0d\nprocess.domain = null;\x0d\n\x0d\n// process._exiting and process.exitCode\x0d\n{\x0d\n const fields = process[exit_info_private_symbol];\x0d\n ObjectDefineProperty(process\x2C '_exiting'\x2C {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n return fields[kExiting] === 1;\x0d\n }\x2C\x0d\n set(value) {\x0d\n fields[kExiting] = value ? 1 : 0;\x0d\n }\x2C\x0d\n enumerable: true\x2C\x0d\n configurable: true\x2C\x0d\n });\x0d\n\x0d\n let exitCode;\x0d\n ObjectDefineProperty(process\x2C 'exitCode'\x2C {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n return exitCode;\x0d\n }\x2C\x0d\n set(code) {\x0d\n if (code !== null && code !== undefined) {\x0d\n let value = code;\x0d\n if (typeof code === 'string' && code !== '' &&\x0d\n NumberIsNaN((value = Number(code)))) {\x0d\n value = code;\x0d\n }\x0d\n validateInteger(value\x2C 'code');\x0d\n fields[kExitCode] = value;\x0d\n fields[kHasExitCode] = 1;\x0d\n } else {\x0d\n fields[kHasExitCode] = 0;\x0d\n }\x0d\n exitCode = code;\x0d\n }\x2C\x0d\n enumerable: true\x2C\x0d\n configurable: false\x2C\x0d\n });\x0d\n}\x0d\nprocess._exiting = false;\x0d\n\x0d\n// process.config is serialized config.gypi\x0d\nconst binding = internalBinding('builtins');\x0d\n\x0d\nconst processConfig = JSONParse(binding.config\x2C (_key\x2C value) => {\x0d\n // The `reviver` argument of the JSONParse method will visit all the values of\x0d\n // the parsed config\x2C including the "root" object\x2C so there is no need to\x0d\n // explicitly freeze the config outside of this method\x0d\n return ObjectFreeze(value);\x0d\n});\x0d\n\x0d\nObjectDefineProperty(process\x2C 'config'\x2C {\x0d\n __proto__: null\x2C\x0d\n enumerable: true\x2C\x0d\n configurable: true\x2C\x0d\n value: processConfig\x2C\x0d\n});\x0d\n\x0d\nrequire('internal/worker/js_transferable').setup();\x0d\n\x0d\n// Bootstrappers for all threads\x2C including worker threads and main thread\x0d\nconst perThreadSetup = require('internal/process/per_thread');\x0d\nconst rawMethods = internalBinding('process_methods');\x0d\n\x0d\n// Set up methods on the process object for all threads\x0d\n{\x0d\n process.dlopen = rawMethods.dlopen;\x0d\n process.uptime = rawMethods.uptime;\x0d\n\x0d\n // TODO(joyeecheung): either remove them or make them public\x0d\n process._getActiveRequests = rawMethods._getActiveRequests;\x0d\n process._getActiveHandles = rawMethods._getActiveHandles;\x0d\n process.getActiveResourcesInfo = rawMethods.getActiveResourcesInfo;\x0d\n\x0d\n // TODO(joyeecheung): remove these\x0d\n process.reallyExit = rawMethods.reallyExit;\x0d\n process._kill = rawMethods._kill;\x0d\n\x0d\n const wrapped = perThreadSetup.wrapProcessMethods(rawMethods);\x0d\n process.loadEnvFile = wrapped.loadEnvFile;\x0d\n process._rawDebug = wrapped._rawDebug;\x0d\n process.cpuUsage = wrapped.cpuUsage;\x0d\n process.resourceUsage = wrapped.resourceUsage;\x0d\n process.memoryUsage = wrapped.memoryUsage;\x0d\n process.constrainedMemory = rawMethods.constrainedMemory;\x0d\n process.availableMemory = rawMethods.availableMemory;\x0d\n process.kill = wrapped.kill;\x0d\n process.exit = wrapped.exit;\x0d\n\x0d\n process.hrtime = perThreadSetup.hrtime;\x0d\n process.hrtime.bigint = perThreadSetup.hrtimeBigInt;\x0d\n\x0d\n process.openStdin = function() {\x0d\n process.stdin.resume();\x0d\n return process.stdin;\x0d\n };\x0d\n}\x0d\n\x0d\nconst credentials = internalBinding('credentials');\x0d\nif (credentials.implementsPosixCredentials) {\x0d\n process.getuid = credentials.getuid;\x0d\n process.geteuid = credentials.geteuid;\x0d\n process.getgid = credentials.getgid;\x0d\n process.getegid = credentials.getegid;\x0d\n process.getgroups = credentials.getgroups;\x0d\n}\x0d\n\x0d\n// Setup the callbacks that node::AsyncWrap will call when there are hooks to\x0d\n// process. They use the same functions as the JS embedder API. These callbacks\x0d\n// are setup immediately to prevent async_wrap.setupHooks() from being hijacked\x0d\n// and the cost of doing so is negligible.\x0d\nconst { nativeHooks } = require('internal/async_hooks');\x0d\ninternalBinding('async_wrap').setupHooks(nativeHooks);\x0d\n\x0d\nconst {\x0d\n setupTaskQueue\x2C\x0d\n} = require('internal/process/task_queues');\x0d\nconst timers = require('timers');\x0d\n// Non-standard extensions:\x0d\ndefineOperation(globalThis\x2C 'clearImmediate'\x2C timers.clearImmediate);\x0d\ndefineOperation(globalThis\x2C 'setImmediate'\x2C timers.setImmediate);\x0d\n\x0d\n// Set the per-Environment callback that will be called\x0d\n// when the TrackingTraceStateObserver updates trace state.\x0d\n// Note that when NODE_USE_V8_PLATFORM is true\x2C the observer is\x0d\n// attached to the per-process TracingController.\x0d\nconst { setTraceCategoryStateUpdateHandler } = internalBinding('trace_events');\x0d\nsetTraceCategoryStateUpdateHandler(perThreadSetup.toggleTraceCategoryState);\x0d\n\x0d\n// process.allowedNodeEnvironmentFlags\x0d\nObjectDefineProperty(process\x2C 'allowedNodeEnvironmentFlags'\x2C {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n const flags = perThreadSetup.buildAllowedFlags();\x0d\n process.allowedNodeEnvironmentFlags = flags;\x0d\n return process.allowedNodeEnvironmentFlags;\x0d\n }\x2C\x0d\n // If the user tries to set this to another value\x2C override\x0d\n // this completely to that value.\x0d\n set(value) {\x0d\n ObjectDefineProperty(this\x2C 'allowedNodeEnvironmentFlags'\x2C {\x0d\n __proto__: null\x2C\x0d\n value\x2C\x0d\n configurable: true\x2C\x0d\n enumerable: true\x2C\x0d\n writable: true\x2C\x0d\n });\x0d\n }\x2C\x0d\n enumerable: true\x2C\x0d\n configurable: true\x2C\x0d\n});\x0d\n\x0d\n// process.assert\x0d\nprocess.assert = deprecate(\x0d\n perThreadSetup.assert\x2C\x0d\n 'process.assert() is deprecated. Please use the `assert` module instead.'\x2C\x0d\n 'DEP0100');\x0d\n\x0d\n// TODO(joyeecheung): this property has not been well-maintained\x2C should we\x0d\n// deprecate it in favor of a better API?\x0d\nconst { isDebugBuild\x2C hasOpenSSL\x2C hasInspector } = config;\x0d\nconst features = {\x0d\n inspector: hasInspector\x2C\x0d\n debug: isDebugBuild\x2C\x0d\n uv: true\x2C\x0d\n ipv6: true\x2C // TODO(bnoordhuis) ping libuv\x0d\n tls_alpn: hasOpenSSL\x2C\x0d\n tls_sni: hasOpenSSL\x2C\x0d\n tls_ocsp: hasOpenSSL\x2C\x0d\n tls: hasOpenSSL\x2C\x0d\n // This needs to be dynamic because --no-node-snapshot disables the\x0d\n // code cache even if the binary is built with embedded code cache.\x0d\n get cached_builtins() {\x0d\n return binding.hasCachedBuiltins();\x0d\n }\x2C\x0d\n};\x0d\n\x0d\nObjectDefineProperty(process\x2C 'features'\x2C {\x0d\n __proto__: null\x2C\x0d\n enumerable: true\x2C\x0d\n writable: false\x2C\x0d\n configurable: false\x2C\x0d\n value: features\x2C\x0d\n});\x0d\n\x0d\n{\x0d\n const {\x0d\n onGlobalUncaughtException\x2C\x0d\n setUncaughtExceptionCaptureCallback\x2C\x0d\n hasUncaughtExceptionCaptureCallback\x2C\x0d\n } = require('internal/process/execution');\x0d\n\x0d\n // For legacy reasons this is still called `_fatalException`\x2C even\x0d\n // though it is now a global uncaught exception handler.\x0d\n // The C++ land node::errors::TriggerUncaughtException grabs it\x0d\n // from the process object because it has been monkey-patchable.\x0d\n // TODO(joyeecheung): investigate whether process._fatalException\x0d\n // can be deprecated.\x0d\n process._fatalException = onGlobalUncaughtException;\x0d\n process.setUncaughtExceptionCaptureCallback =\x0d\n setUncaughtExceptionCaptureCallback;\x0d\n process.hasUncaughtExceptionCaptureCallback =\x0d\n hasUncaughtExceptionCaptureCallback;\x0d\n}\x0d\n\x0d\nconst { emitWarning\x2C emitWarningSync } = require('internal/process/warning');\x0d\nprocess.emitWarning = emitWarning;\x0d\ninternalBinding('process_methods').setEmitWarningSync(emitWarningSync);\x0d\n\x0d\n// We initialize the tick callbacks and the timer callbacks last during\x0d\n// bootstrap to make sure that any operation done before this are synchronous.\x0d\n// If any ticks or timers are scheduled before this they are unlikely to work.\x0d\n{\x0d\n const { nextTick\x2C runNextTicks } = setupTaskQueue();\x0d\n process.nextTick = nextTick;\x0d\n // Used to emulate a tick manually in the JS land.\x0d\n // A better name for this function would be `runNextTicks` but\x0d\n // it has been exposed to the process object so we keep this legacy name\x0d\n // TODO(joyeecheung): either remove it or make it public\x0d\n process._tickCallback = runNextTicks;\x0d\n\x0d\n const { setupTimers } = internalBinding('timers');\x0d\n const {\x0d\n processImmediate\x2C\x0d\n processTimers\x2C\x0d\n } = internalTimers.getTimerCallbacks(runNextTicks);\x0d\n // Sets two per-Environment callbacks that will be run from libuv:\x0d\n // - processImmediate will be run in the callback of the per-Environment\x0d\n // check handle.\x0d\n // - processTimers will be run in the callback of the per-Environment timer.\x0d\n setupTimers(processImmediate\x2C processTimers);\x0d\n // Note: only after this point are the timers effective\x0d\n}\x0d\n\x0d\n{\x0d\n const {\x0d\n getSourceMapsEnabled\x2C\x0d\n setSourceMapsEnabled\x2C\x0d\n maybeCacheGeneratedSourceMap\x2C\x0d\n } = require('internal/source_map/source_map_cache');\x0d\n const {\x0d\n setMaybeCacheGeneratedSourceMap\x2C\x0d\n } = internalBinding('errors');\x0d\n\x0d\n ObjectDefineProperty(process\x2C 'sourceMapsEnabled'\x2C {\x0d\n __proto__: null\x2C\x0d\n enumerable: true\x2C\x0d\n configurable: true\x2C\x0d\n get() {\x0d\n return getSourceMapsEnabled();\x0d\n }\x2C\x0d\n });\x0d\n process.setSourceMapsEnabled = setSourceMapsEnabled;\x0d\n // The C++ land calls back to maybeCacheGeneratedSourceMap()\x0d\n // when code is generated by user with eval() or new Function()\x0d\n // to cache the source maps from the evaluated code\x2C if any.\x0d\n setMaybeCacheGeneratedSourceMap(maybeCacheGeneratedSourceMap);\x0d\n}\x0d\n\x0d\n{\x0d\n const { getBuiltinModule } = require('internal/modules/helpers');\x0d\n process.getBuiltinModule = getBuiltinModule;\x0d\n}\x0d\n\x0d\nfunction setupProcessObject() {\x0d\n const EventEmitter = require('events');\x0d\n const origProcProto = ObjectGetPrototypeOf(process);\x0d\n ObjectSetPrototypeOf(origProcProto\x2C EventEmitter.prototype);\x0d\n FunctionPrototypeCall(EventEmitter\x2C process);\x0d\n ObjectDefineProperty(process\x2C SymbolToStringTag\x2C {\x0d\n __proto__: null\x2C\x0d\n enumerable: false\x2C\x0d\n writable: true\x2C\x0d\n configurable: false\x2C\x0d\n value: 'process'\x2C\x0d\n });\x0d\n\x0d\n // Create global.process as getters so that we have a\x0d\n // deprecation path for these in ES Modules.\x0d\n // See https://github.com/nodejs/node/pull/26334.\x0d\n let _process = process;\x0d\n ObjectDefineProperty(globalThis\x2C 'process'\x2C {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n return _process;\x0d\n }\x2C\x0d\n set(value) {\x0d\n _process = value;\x0d\n }\x2C\x0d\n enumerable: false\x2C\x0d\n configurable: true\x2C\x0d\n });\x0d\n}\x0d\n\x0d\nfunction setupGlobalProxy() {\x0d\n ObjectDefineProperty(globalThis\x2C SymbolToStringTag\x2C {\x0d\n __proto__: null\x2C\x0d\n value: 'global'\x2C\x0d\n writable: false\x2C\x0d\n enumerable: false\x2C\x0d\n configurable: true\x2C\x0d\n });\x0d\n globalThis.global = globalThis;\x0d\n}\x0d\n\x0d\nfunction setupBuffer() {\x0d\n const {\x0d\n Buffer\x2C\x0d\n } = require('buffer');\x0d\n const bufferBinding = internalBinding('buffer');\x0d\n\x0d\n // Only after this point can C++ use Buffer::New()\x0d\n bufferBinding.setBufferPrototype(Buffer.prototype);\x0d\n delete bufferBinding.setBufferPrototype;\x0d\n\x0d\n // Create global.Buffer as getters so that we have a\x0d\n // deprecation path for these in ES Modules.\x0d\n // See https://github.com/nodejs/node/pull/26334.\x0d\n let _Buffer = Buffer;\x0d\n ObjectDefineProperty(globalThis\x2C 'Buffer'\x2C {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n return _Buffer;\x0d\n }\x2C\x0d\n set(value) {\x0d\n _Buffer = value;\x0d\n }\x2C\x0d\n enumerable: false\x2C\x0d\n configurable: true\x2C\x0d\n });\x0d\n}\x0d\n
code-source-info,0x23c5194824e,12,4246,4676,C0O4262C8O4326C11O4341C19O4378C28O4399C35O4420C38O4420C43O4399C49O4449C54O4483C64O4483C69O4524C78O4531C83O4542C87O4560C96O4567C101O4581C107O4611C116O4618C120O4632C124O4653C126O4662C133O4675,,
code-creation,JS,10,263537,0x23c5194932e,352,initializeGlobalConsole node:internal/console/constructor:705:33,0x39e2db76ab8,~
script-source,54,node:internal/console/constructor,'use strict';\x0d\n\x0d\n// The Console constructor is not actually used to construct the global\x0d\n// console. It's exported for backwards compatibility.\x0d\n\x0d\nconst {\x0d\n ArrayFrom\x2C\x0d\n ArrayIsArray\x2C\x0d\n ArrayPrototypeForEach\x2C\x0d\n ArrayPrototypePush\x2C\x0d\n ArrayPrototypeSome\x2C\x0d\n ArrayPrototypeUnshift\x2C\x0d\n Boolean\x2C\x0d\n ErrorCaptureStackTrace\x2C\x0d\n FunctionPrototypeBind\x2C\x0d\n MathFloor\x2C\x0d\n Number\x2C\x0d\n NumberPrototypeToFixed\x2C\x0d\n ObjectDefineProperties\x2C\x0d\n ObjectDefineProperty\x2C\x0d\n ObjectKeys\x2C\x0d\n ObjectPrototypeHasOwnProperty\x2C\x0d\n ObjectValues\x2C\x0d\n ReflectApply\x2C\x0d\n ReflectConstruct\x2C\x0d\n ReflectOwnKeys\x2C\x0d\n RegExpPrototypeSymbolReplace\x2C\x0d\n SafeArrayIterator\x2C\x0d\n SafeMap\x2C\x0d\n SafeWeakMap\x2C\x0d\n SafeSet\x2C\x0d\n StringPrototypeIncludes\x2C\x0d\n StringPrototypePadStart\x2C\x0d\n StringPrototypeRepeat\x2C\x0d\n StringPrototypeSlice\x2C\x0d\n StringPrototypeSplit\x2C\x0d\n Symbol\x2C\x0d\n SymbolHasInstance\x2C\x0d\n SymbolToStringTag\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst { trace } = internalBinding('trace_events');\x0d\nconst {\x0d\n isStackOverflowError\x2C\x0d\n codes: {\x0d\n ERR_CONSOLE_WRITABLE_STREAM\x2C\x0d\n ERR_INVALID_ARG_VALUE\x2C\x0d\n ERR_INCOMPATIBLE_OPTION_PAIR\x2C\x0d\n }\x2C\x0d\n} = require('internal/errors');\x0d\nconst {\x0d\n validateArray\x2C\x0d\n validateInteger\x2C\x0d\n validateObject\x2C\x0d\n} = require('internal/validators');\x0d\nconst { previewEntries } = internalBinding('util');\x0d\nconst { Buffer: { isBuffer } } = require('buffer');\x0d\nconst {\x0d\n inspect\x2C\x0d\n formatWithOptions\x2C\x0d\n} = require('internal/util/inspect');\x0d\nconst {\x0d\n isTypedArray\x2C isSet\x2C isMap\x2C isSetIterator\x2C isMapIterator\x2C\x0d\n} = require('internal/util/types');\x0d\nconst {\x0d\n CHAR_LOWERCASE_B: kTraceBegin\x2C\x0d\n CHAR_LOWERCASE_E: kTraceEnd\x2C\x0d\n CHAR_LOWERCASE_N: kTraceInstant\x2C\x0d\n CHAR_UPPERCASE_C: kTraceCount\x2C\x0d\n} = require('internal/constants');\x0d\nconst { styleText } = require('util');\x0d\nconst kCounts = Symbol('counts');\x0d\n\x0d\nconst kTraceConsoleCategory = 'node\x2Cnode.console';\x0d\n\x0d\nconst kSecond = 1000;\x0d\nconst kMinute = 60 * kSecond;\x0d\nconst kHour = 60 * kMinute;\x0d\nconst kMaxGroupIndentation = 1000;\x0d\n\x0d\n// Lazy loaded for startup performance.\x0d\nlet cliTable;\x0d\n\x0d\nlet utilColors;\x0d\nfunction lazyUtilColors() {\x0d\n utilColors ??= require('internal/util/colors');\x0d\n return utilColors;\x0d\n}\x0d\n\x0d\n// Track amount of indentation required via `console.group()`.\x0d\nconst kGroupIndent = Symbol('kGroupIndent');\x0d\nconst kGroupIndentationWidth = Symbol('kGroupIndentWidth');\x0d\nconst kFormatForStderr = Symbol('kFormatForStderr');\x0d\nconst kFormatForStdout = Symbol('kFormatForStdout');\x0d\nconst kGetInspectOptions = Symbol('kGetInspectOptions');\x0d\nconst kColorMode = Symbol('kColorMode');\x0d\nconst kIsConsole = Symbol('kIsConsole');\x0d\nconst kWriteToConsole = Symbol('kWriteToConsole');\x0d\nconst kBindProperties = Symbol('kBindProperties');\x0d\nconst kBindStreamsEager = Symbol('kBindStreamsEager');\x0d\nconst kBindStreamsLazy = Symbol('kBindStreamsLazy');\x0d\nconst kUseStdout = Symbol('kUseStdout');\x0d\nconst kUseStderr = Symbol('kUseStderr');\x0d\n\x0d\nconst optionsMap = new SafeWeakMap();\x0d\nfunction Console(options /* or: stdout\x2C stderr\x2C ignoreErrors = true */) {\x0d\n // We have to test new.target here to see if this function is called\x0d\n // with new\x2C because we need to define a custom instanceof to accommodate\x0d\n // the global console.\x0d\n if (new.target === undefined) {\x0d\n return ReflectConstruct(Console\x2C arguments);\x0d\n }\x0d\n\x0d\n if (!options || typeof options.write === 'function') {\x0d\n options = {\x0d\n stdout: options\x2C\x0d\n stderr: arguments[1]\x2C\x0d\n ignoreErrors: arguments[2]\x2C\x0d\n };\x0d\n }\x0d\n\x0d\n const {\x0d\n stdout\x2C\x0d\n stderr = stdout\x2C\x0d\n ignoreErrors = true\x2C\x0d\n colorMode = 'auto'\x2C\x0d\n inspectOptions\x2C\x0d\n groupIndentation\x2C\x0d\n } = options;\x0d\n\x0d\n if (!stdout || typeof stdout.write !== 'function') {\x0d\n throw new ERR_CONSOLE_WRITABLE_STREAM('stdout');\x0d\n }\x0d\n if (!stderr || typeof stderr.write !== 'function') {\x0d\n throw new ERR_CONSOLE_WRITABLE_STREAM('stderr');\x0d\n }\x0d\n\x0d\n if (typeof colorMode !== 'boolean' && colorMode !== 'auto')\x0d\n throw new ERR_INVALID_ARG_VALUE('colorMode'\x2C colorMode);\x0d\n\x0d\n if (groupIndentation !== undefined) {\x0d\n validateInteger(groupIndentation\x2C 'groupIndentation'\x2C\x0d\n 0\x2C kMaxGroupIndentation);\x0d\n }\x0d\n\x0d\n if (inspectOptions !== undefined) {\x0d\n validateObject(inspectOptions\x2C 'options.inspectOptions');\x0d\n\x0d\n if (inspectOptions.colors !== undefined &&\x0d\n options.colorMode !== undefined) {\x0d\n throw new ERR_INCOMPATIBLE_OPTION_PAIR(\x0d\n 'options.inspectOptions.color'\x2C 'colorMode');\x0d\n }\x0d\n optionsMap.set(this\x2C inspectOptions);\x0d\n }\x0d\n\x0d\n // Bind the prototype functions to this Console instance\x0d\n ArrayPrototypeForEach(ObjectKeys(Console.prototype)\x2C (key) => {\x0d\n // We have to bind the methods grabbed from the instance instead of from\x0d\n // the prototype so that users extending the Console can override them\x0d\n // from the prototype chain of the subclass.\x0d\n this[key] = FunctionPrototypeBind(this[key]\x2C this);\x0d\n ObjectDefineProperty(this[key]\x2C 'name'\x2C {\x0d\n __proto__: null\x2C\x0d\n value: key\x2C\x0d\n });\x0d\n });\x0d\n\x0d\n this[kBindStreamsEager](stdout\x2C stderr);\x0d\n this[kBindProperties](ignoreErrors\x2C colorMode\x2C groupIndentation);\x0d\n}\x0d\n\x0d\nconst consolePropAttributes = {\x0d\n writable: true\x2C\x0d\n enumerable: false\x2C\x0d\n configurable: true\x2C\x0d\n};\x0d\n\x0d\n// Fixup global.console instanceof global.console.Console\x0d\nObjectDefineProperty(Console\x2C SymbolHasInstance\x2C {\x0d\n __proto__: null\x2C\x0d\n value(instance) {\x0d\n return instance[kIsConsole];\x0d\n }\x2C\x0d\n});\x0d\n\x0d\nconst kColorInspectOptions = { colors: true };\x0d\nconst kNoColorInspectOptions = {};\x0d\n\x0d\nObjectDefineProperties(Console.prototype\x2C {\x0d\n [kBindStreamsEager]: {\x0d\n __proto__: null\x2C\x0d\n ...consolePropAttributes\x2C\x0d\n // Eager version for the Console constructor\x0d\n value: function(stdout\x2C stderr) {\x0d\n ObjectDefineProperties(this\x2C {\x0d\n '_stdout': { __proto__: null\x2C ...consolePropAttributes\x2C value: stdout }\x2C\x0d\n '_stderr': { __proto__: null\x2C ...consolePropAttributes\x2C value: stderr }\x2C\x0d\n });\x0d\n }\x2C\x0d\n }\x2C\x0d\n [kBindStreamsLazy]: {\x0d\n __proto__: null\x2C\x0d\n ...consolePropAttributes\x2C\x0d\n // Lazily load the stdout and stderr from an object so we don't\x0d\n // create the stdio streams when they are not even accessed\x0d\n value: function(object) {\x0d\n let stdout;\x0d\n let stderr;\x0d\n ObjectDefineProperties(this\x2C {\x0d\n '_stdout': {\x0d\n __proto__: null\x2C\x0d\n enumerable: false\x2C\x0d\n configurable: true\x2C\x0d\n get() {\x0d\n if (!stdout) stdout = object.stdout;\x0d\n return stdout;\x0d\n }\x2C\x0d\n set(value) { stdout = value; }\x2C\x0d\n }\x2C\x0d\n '_stderr': {\x0d\n __proto__: null\x2C\x0d\n enumerable: false\x2C\x0d\n configurable: true\x2C\x0d\n get() {\x0d\n if (!stderr) { stderr = object.stderr; }\x0d\n return stderr;\x0d\n }\x2C\x0d\n set(value) { stderr = value; }\x2C\x0d\n }\x2C\x0d\n });\x0d\n }\x2C\x0d\n }\x2C\x0d\n [kBindProperties]: {\x0d\n __proto__: null\x2C\x0d\n ...consolePropAttributes\x2C\x0d\n value: function(ignoreErrors\x2C colorMode\x2C groupIndentation = 2) {\x0d\n ObjectDefineProperties(this\x2C {\x0d\n '_stdoutErrorHandler': {\x0d\n __proto__: null\x2C\x0d\n ...consolePropAttributes\x2C\x0d\n value: createWriteErrorHandler(this\x2C kUseStdout)\x2C\x0d\n }\x2C\x0d\n '_stderrErrorHandler': {\x0d\n ...consolePropAttributes\x2C\x0d\n __proto__: null\x2C\x0d\n value: createWriteErrorHandler(this\x2C kUseStderr)\x2C\x0d\n }\x2C\x0d\n '_ignoreErrors': {\x0d\n __proto__: null\x2C\x0d\n ...consolePropAttributes\x2C\x0d\n value: Boolean(ignoreErrors)\x2C\x0d\n }\x2C\x0d\n '_times': { __proto__: null\x2C ...consolePropAttributes\x2C value: new SafeMap() }\x2C\x0d\n // Corresponds to https://console.spec.whatwg.org/#count-map\x0d\n [kCounts]: { __proto__: null\x2C ...consolePropAttributes\x2C value: new SafeMap() }\x2C\x0d\n [kColorMode]: { __proto__: null\x2C ...consolePropAttributes\x2C value: colorMode }\x2C\x0d\n [kIsConsole]: { __proto__: null\x2C ...consolePropAttributes\x2C value: true }\x2C\x0d\n [kGroupIndent]: { __proto__: null\x2C ...consolePropAttributes\x2C value: '' }\x2C\x0d\n [kGroupIndentationWidth]: {\x0d\n __proto__: null\x2C\x0d\n ...consolePropAttributes\x2C\x0d\n value: groupIndentation\x2C\x0d\n }\x2C\x0d\n [SymbolToStringTag]: {\x0d\n __proto__: null\x2C\x0d\n writable: false\x2C\x0d\n enumerable: false\x2C\x0d\n configurable: true\x2C\x0d\n value: 'console'\x2C\x0d\n }\x2C\x0d\n });\x0d\n }\x2C\x0d\n }\x2C\x0d\n [kWriteToConsole]: {\x0d\n __proto__: null\x2C\x0d\n ...consolePropAttributes\x2C\x0d\n value: function(streamSymbol\x2C string\x2C color = '') {\x0d\n const ignoreErrors = this._ignoreErrors;\x0d\n const groupIndent = this[kGroupIndent];\x0d\n\x0d\n const useStdout = streamSymbol === kUseStdout;\x0d\n const stream = useStdout ? this._stdout : this._stderr;\x0d\n const errorHandler = useStdout ?\x0d\n this._stdoutErrorHandler : this._stderrErrorHandler;\x0d\n\x0d\n if (groupIndent.length !== 0) {\x0d\n if (StringPrototypeIncludes(string\x2C '\\n')) {\x0d\n string = RegExpPrototypeSymbolReplace(/\\n/g\x2C string\x2C `\\n${groupIndent}`);\x0d\n }\x0d\n string = groupIndent + string;\x0d\n }\x0d\n\x0d\n if (color) {\x0d\n string = styleText(color\x2C string);\x0d\n }\x0d\n\x0d\n string += '\\n';\x0d\n\x0d\n if (ignoreErrors === false) return stream.write(string);\x0d\n\x0d\n // There may be an error occurring synchronously (e.g. for files or TTYs\x0d\n // on POSIX systems) or asynchronously (e.g. pipes on POSIX systems)\x2C so\x0d\n // handle both situations.\x0d\n try {\x0d\n // Add and later remove a noop error handler to catch synchronous\x0d\n // errors.\x0d\n if (stream.listenerCount('error') === 0)\x0d\n stream.once('error'\x2C noop);\x0d\n\x0d\n stream.write(string\x2C errorHandler);\x0d\n } catch (e) {\x0d\n // Console is a debugging utility\x2C so it swallowing errors is not\x0d\n // desirable even in edge cases such as low stack space.\x0d\n if (isStackOverflowError(e))\x0d\n throw e;\x0d\n // Sorry\x2C there's no proper way to pass along the error here.\x0d\n } finally {\x0d\n stream.removeListener('error'\x2C noop);\x0d\n }\x0d\n }\x2C\x0d\n }\x2C\x0d\n [kGetInspectOptions]: {\x0d\n __proto__: null\x2C\x0d\n ...consolePropAttributes\x2C\x0d\n value: function(stream) {\x0d\n let color = this[kColorMode];\x0d\n if (color === 'auto') {\x0d\n color = lazyUtilColors().shouldColorize(stream);\x0d\n }\x0d\n\x0d\n const options = optionsMap.get(this);\x0d\n if (options) {\x0d\n if (options.colors === undefined) {\x0d\n options.colors = color;\x0d\n }\x0d\n return options;\x0d\n }\x0d\n\x0d\n return color ? kColorInspectOptions : kNoColorInspectOptions;\x0d\n }\x2C\x0d\n }\x2C\x0d\n [kFormatForStdout]: {\x0d\n __proto__: null\x2C\x0d\n ...consolePropAttributes\x2C\x0d\n value: function(args) {\x0d\n const opts = this[kGetInspectOptions](this._stdout);\x0d\n ArrayPrototypeUnshift(args\x2C opts);\x0d\n return ReflectApply(formatWithOptions\x2C null\x2C args);\x0d\n }\x2C\x0d\n }\x2C\x0d\n [kFormatForStderr]: {\x0d\n __proto__: null\x2C\x0d\n ...consolePropAttributes\x2C\x0d\n value: function(args) {\x0d\n const opts = this[kGetInspectOptions](this._stderr);\x0d\n ArrayPrototypeUnshift(args\x2C opts);\x0d\n return ReflectApply(formatWithOptions\x2C null\x2C args);\x0d\n }\x2C\x0d\n }\x2C\x0d\n});\x0d\n\x0d\n// Make a function that can serve as the callback passed to `stream.write()`.\x0d\nfunction createWriteErrorHandler(instance\x2C streamSymbol) {\x0d\n return (err) => {\x0d\n // This conditional evaluates to true if and only if there was an error\x0d\n // that was not already emitted (which happens when the _write callback\x0d\n // is invoked asynchronously).\x0d\n const stream = streamSymbol === kUseStdout ?\x0d\n instance._stdout : instance._stderr;\x0d\n if (err !== null && !stream._writableState.errorEmitted) {\x0d\n // If there was an error\x2C it will be emitted on `stream` as\x0d\n // an `error` event. Adding a `once` listener will keep that error\x0d\n // from becoming an uncaught exception\x2C but since the handler is\x0d\n // removed after the event\x2C non-console.* writes won't be affected.\x0d\n // we are only adding noop if there is no one else listening for 'error'\x0d\n if (stream.listenerCount('error') === 0) {\x0d\n stream.once('error'\x2C noop);\x0d\n }\x0d\n }\x0d\n };\x0d\n}\x0d\n\x0d\nconst consoleMethods = {\x0d\n log(...args) {\x0d\n this[kWriteToConsole](kUseStdout\x2C this[kFormatForStdout](args));\x0d\n }\x2C\x0d\n warn(...args) {\x0d\n const color = (shouldColorize(args) && 'yellow') || '';\x0d\n this[kWriteToConsole](kUseStderr\x2C this[kFormatForStderr](args)\x2C color);\x0d\n }\x2C\x0d\n\x0d\n error(...args) {\x0d\n const color = (shouldColorize(args) && 'red') || '';\x0d\n this[kWriteToConsole](kUseStderr\x2C this[kFormatForStderr](args)\x2C color);\x0d\n }\x2C\x0d\n\x0d\n dir(object\x2C options) {\x0d\n this[kWriteToConsole](kUseStdout\x2C inspect(object\x2C {\x0d\n customInspect: false\x2C\x0d\n ...this[kGetInspectOptions](this._stdout)\x2C\x0d\n ...options\x2C\x0d\n }));\x0d\n }\x2C\x0d\n\x0d\n time(label = 'default') {\x0d\n // Coerces everything other than Symbol to a string\x0d\n label = `${label}`;\x0d\n if (this._times.has(label)) {\x0d\n process.emitWarning(`Label '${label}' already exists for console.time()`);\x0d\n return;\x0d\n }\x0d\n trace(kTraceBegin\x2C kTraceConsoleCategory\x2C `time::${label}`\x2C 0);\x0d\n this._times.set(label\x2C process.hrtime());\x0d\n }\x2C\x0d\n\x0d\n timeEnd(label = 'default') {\x0d\n // Coerces everything other than Symbol to a string\x0d\n label = `${label}`;\x0d\n const found = timeLogImpl(this\x2C 'timeEnd'\x2C label);\x0d\n trace(kTraceEnd\x2C kTraceConsoleCategory\x2C `time::${label}`\x2C 0);\x0d\n if (found) {\x0d\n this._times.delete(label);\x0d\n }\x0d\n }\x2C\x0d\n\x0d\n timeLog(label = 'default'\x2C ...data) {\x0d\n // Coerces everything other than Symbol to a string\x0d\n label = `${label}`;\x0d\n timeLogImpl(this\x2C 'timeLog'\x2C label\x2C data);\x0d\n trace(kTraceInstant\x2C kTraceConsoleCategory\x2C `time::${label}`\x2C 0);\x0d\n }\x2C\x0d\n\x0d\n trace: function trace(...args) {\x0d\n const err = {\x0d\n name: 'Trace'\x2C\x0d\n message: this[kFormatForStderr](args)\x2C\x0d\n };\x0d\n ErrorCaptureStackTrace(err\x2C trace);\x0d\n this.error(err.stack);\x0d\n }\x2C\x0d\n\x0d\n assert(expression\x2C ...args) {\x0d\n if (!expression) {\x0d\n args[0] = `Assertion failed${args.length === 0 ? '' : `: ${args[0]}`}`;\x0d\n // The arguments will be formatted in warn() again\x0d\n ReflectApply(this.warn\x2C this\x2C args);\x0d\n }\x0d\n }\x2C\x0d\n\x0d\n // Defined by: https://console.spec.whatwg.org/#clear\x0d\n clear() {\x0d\n // It only makes sense to clear if _stdout is a TTY.\x0d\n // Otherwise\x2C do nothing.\x0d\n if (this._stdout.isTTY && process.env.TERM !== 'dumb') {\x0d\n // The require is here intentionally to avoid readline being\x0d\n // required too early when console is first loaded.\x0d\n const {\x0d\n cursorTo\x2C\x0d\n clearScreenDown\x2C\x0d\n } = require('internal/readline/callbacks');\x0d\n cursorTo(this._stdout\x2C 0\x2C 0);\x0d\n clearScreenDown(this._stdout);\x0d\n }\x0d\n }\x2C\x0d\n\x0d\n // Defined by: https://console.spec.whatwg.org/#count\x0d\n count(label = 'default') {\x0d\n // Ensures that label is a string\x2C and only things that can be\x0d\n // coerced to strings. e.g. Symbol is not allowed\x0d\n label = `${label}`;\x0d\n const counts = this[kCounts];\x0d\n let count = counts.get(label);\x0d\n if (count === undefined)\x0d\n count = 1;\x0d\n else\x0d\n count++;\x0d\n counts.set(label\x2C count);\x0d\n trace(kTraceCount\x2C kTraceConsoleCategory\x2C `count::${label}`\x2C 0\x2C count);\x0d\n this.log(`${label}: ${count}`);\x0d\n }\x2C\x0d\n\x0d\n // Defined by: https://console.spec.whatwg.org/#countreset\x0d\n countReset(label = 'default') {\x0d\n const counts = this[kCounts];\x0d\n if (!counts.has(label)) {\x0d\n process.emitWarning(`Count for '${label}' does not exist`);\x0d\n return;\x0d\n }\x0d\n trace(kTraceCount\x2C kTraceConsoleCategory\x2C `count::${label}`\x2C 0\x2C 0);\x0d\n counts.delete(`${label}`);\x0d\n }\x2C\x0d\n\x0d\n group(...data) {\x0d\n if (data.length > 0) {\x0d\n ReflectApply(this.log\x2C this\x2C data);\x0d\n }\x0d\n this[kGroupIndent] +=\x0d\n StringPrototypeRepeat(' '\x2C this[kGroupIndentationWidth]);\x0d\n }\x2C\x0d\n\x0d\n groupEnd() {\x0d\n this[kGroupIndent] = StringPrototypeSlice(\x0d\n this[kGroupIndent]\x2C\x0d\n 0\x2C\x0d\n this[kGroupIndent].length - this[kGroupIndentationWidth]\x2C\x0d\n );\x0d\n }\x2C\x0d\n\x0d\n // https://console.spec.whatwg.org/#table\x0d\n table(tabularData\x2C properties) {\x0d\n if (properties !== undefined)\x0d\n validateArray(properties\x2C 'properties');\x0d\n\x0d\n if (tabularData === null || typeof tabularData !== 'object')\x0d\n return this.log(tabularData);\x0d\n\x0d\n cliTable ??= require('internal/cli_table');\x0d\n const final = (k\x2C v) => this.log(cliTable(k\x2C v));\x0d\n\x0d\n const _inspect = (v) => {\x0d\n const depth = v !== null &&\x0d\n typeof v === 'object' &&\x0d\n !isArray(v) &&\x0d\n ObjectKeys(v).length > 2 ? -1 : 0;\x0d\n const opt = {\x0d\n depth\x2C\x0d\n maxArrayLength: 3\x2C\x0d\n breakLength: Infinity\x2C\x0d\n ...this[kGetInspectOptions](this._stdout)\x2C\x0d\n };\x0d\n return inspect(v\x2C opt);\x0d\n };\x0d\n const getIndexArray = (length) => ArrayFrom(\x0d\n { length }\x2C (_\x2C i) => _inspect(i));\x0d\n\x0d\n const mapIter = isMapIterator(tabularData);\x0d\n let isKeyValue = false;\x0d\n let i = 0;\x0d\n if (mapIter) {\x0d\n const res = previewEntries(tabularData\x2C true);\x0d\n tabularData = res[0];\x0d\n isKeyValue = res[1];\x0d\n }\x0d\n\x0d\n if (isKeyValue || isMap(tabularData)) {\x0d\n const keys = [];\x0d\n const values = [];\x0d\n let length = 0;\x0d\n if (mapIter) {\x0d\n for (; i < tabularData.length / 2; ++i) {\x0d\n ArrayPrototypePush(keys\x2C _inspect(tabularData[i * 2]));\x0d\n ArrayPrototypePush(values\x2C _inspect(tabularData[i * 2 + 1]));\x0d\n length++;\x0d\n }\x0d\n } else {\x0d\n for (const { 0: k\x2C 1: v } of tabularData) {\x0d\n ArrayPrototypePush(keys\x2C _inspect(k));\x0d\n ArrayPrototypePush(values\x2C _inspect(v));\x0d\n length++;\x0d\n }\x0d\n }\x0d\n return final([\x0d\n iterKey\x2C keyKey\x2C valuesKey\x2C\x0d\n ]\x2C [\x0d\n getIndexArray(length)\x2C\x0d\n keys\x2C\x0d\n values\x2C\x0d\n ]);\x0d\n }\x0d\n\x0d\n const setIter = isSetIterator(tabularData);\x0d\n if (setIter)\x0d\n tabularData = previewEntries(tabularData);\x0d\n\x0d\n const setlike = setIter || mapIter || isSet(tabularData);\x0d\n if (setlike) {\x0d\n const values = [];\x0d\n let length = 0;\x0d\n for (const v of tabularData) {\x0d\n ArrayPrototypePush(values\x2C _inspect(v));\x0d\n length++;\x0d\n }\x0d\n return final([iterKey\x2C valuesKey]\x2C [getIndexArray(length)\x2C values]);\x0d\n }\x0d\n\x0d\n const map = { __proto__: null };\x0d\n let hasPrimitives = false;\x0d\n const valuesKeyArray = [];\x0d\n const indexKeyArray = ObjectKeys(tabularData);\x0d\n\x0d\n for (; i < indexKeyArray.length; i++) {\x0d\n const item = tabularData[indexKeyArray[i]];\x0d\n const primitive = item === null ||\x0d\n (typeof item !== 'function' && typeof item !== 'object');\x0d\n if (properties === undefined && primitive) {\x0d\n hasPrimitives = true;\x0d\n valuesKeyArray[i] = _inspect(item);\x0d\n } else {\x0d\n const keys = properties || ObjectKeys(item);\x0d\n for (const key of keys) {\x0d\n map[key] ??= [];\x0d\n if ((primitive && properties) ||\x0d\n !ObjectPrototypeHasOwnProperty(item\x2C key))\x0d\n map[key][i] = '';\x0d\n else\x0d\n map[key][i] = _inspect(item[key]);\x0d\n }\x0d\n }\x0d\n }\x0d\n\x0d\n const keys = ObjectKeys(map);\x0d\n const values = ObjectValues(map);\x0d\n if (hasPrimitives) {\x0d\n ArrayPrototypePush(keys\x2C valuesKey);\x0d\n ArrayPrototypePush(values\x2C valuesKeyArray);\x0d\n }\x0d\n ArrayPrototypeUnshift(keys\x2C indexKey);\x0d\n ArrayPrototypeUnshift(values\x2C indexKeyArray);\x0d\n\x0d\n return final(keys\x2C values);\x0d\n }\x2C\x0d\n};\x0d\n\x0d\n// Returns true if label was found\x0d\nfunction timeLogImpl(self\x2C name\x2C label\x2C data) {\x0d\n const time = self._times.get(label);\x0d\n if (time === undefined) {\x0d\n process.emitWarning(`No such label '${label}' for console.${name}()`);\x0d\n return false;\x0d\n }\x0d\n const duration = process.hrtime(time);\x0d\n const ms = duration[0] * 1000 + duration[1] / 1e6;\x0d\n\x0d\n const formatted = formatTime(ms);\x0d\n\x0d\n if (data === undefined) {\x0d\n self.log('%s: %s'\x2C label\x2C formatted);\x0d\n } else {\x0d\n self.log('%s: %s'\x2C label\x2C formatted\x2C ...new SafeArrayIterator(data));\x0d\n }\x0d\n return true;\x0d\n}\x0d\n\x0d\nfunction pad(value) {\x0d\n return StringPrototypePadStart(`${value}`\x2C 2\x2C '0');\x0d\n}\x0d\n\x0d\nfunction formatTime(ms) {\x0d\n let hours = 0;\x0d\n let minutes = 0;\x0d\n let seconds = 0;\x0d\n\x0d\n if (ms >= kSecond) {\x0d\n if (ms >= kMinute) {\x0d\n if (ms >= kHour) {\x0d\n hours = MathFloor(ms / kHour);\x0d\n ms = ms % kHour;\x0d\n }\x0d\n minutes = MathFloor(ms / kMinute);\x0d\n ms = ms % kMinute;\x0d\n }\x0d\n seconds = ms / kSecond;\x0d\n }\x0d\n\x0d\n if (hours !== 0 || minutes !== 0) {\x0d\n ({ 0: seconds\x2C 1: ms } = StringPrototypeSplit(\x0d\n NumberPrototypeToFixed(seconds\x2C 3)\x2C\x0d\n '.'\x2C\x0d\n ));\x0d\n const res = hours !== 0 ? `${hours}:${pad(minutes)}` : minutes;\x0d\n return `${res}:${pad(seconds)}.${ms} (${hours !== 0 ? 'h:m' : ''}m:ss.mmm)`;\x0d\n }\x0d\n\x0d\n if (seconds !== 0) {\x0d\n return `${NumberPrototypeToFixed(seconds\x2C 3)}s`;\x0d\n }\x0d\n\x0d\n return `${Number(NumberPrototypeToFixed(ms\x2C 3))}ms`;\x0d\n}\x0d\n\x0d\nconst keyKey = 'Key';\x0d\nconst valuesKey = 'Values';\x0d\nconst indexKey = '(index)';\x0d\nconst iterKey = '(iteration index)';\x0d\n\x0d\nconst isArray = (v) => ArrayIsArray(v) || isTypedArray(v) || isBuffer(v);\x0d\n\x0d\n// TODO: remove string type check once the styleText supports objects\x0d\n// Return true if all args are type string\x0d\nconst shouldColorize = (args) => {\x0d\n return lazyUtilColors().hasColors && !ArrayPrototypeSome(args\x2C (arg) => typeof arg !== 'string');\x0d\n};\x0d\n\x0d\nfunction noop() {}\x0d\n\x0d\nfor (const method of ReflectOwnKeys(consoleMethods))\x0d\n Console.prototype[method] = consoleMethods[method];\x0d\n\x0d\nConsole.prototype.debug = Console.prototype.log;\x0d\nConsole.prototype.info = Console.prototype.log;\x0d\nConsole.prototype.dirxml = Console.prototype.log;\x0d\nConsole.prototype.groupCollapsed = Console.prototype.group;\x0d\n\x0d\nfunction initializeGlobalConsole(globalConsole) {\x0d\n globalConsole[kBindStreamsLazy](process);\x0d\n const {\x0d\n namespace: {\x0d\n addSerializeCallback\x2C\x0d\n isBuildingSnapshot\x2C\x0d\n }\x2C\x0d\n } = require('internal/v8/startup_snapshot');\x0d\n\x0d\n if (!internalBinding('config').hasInspector || !isBuildingSnapshot()) {\x0d\n return;\x0d\n }\x0d\n const { console: consoleFromVM } = internalBinding('inspector');\x0d\n const nodeConsoleKeys = ObjectKeys(Console.prototype);\x0d\n const vmConsoleKeys = ObjectKeys(consoleFromVM);\x0d\n const originalKeys = new SafeSet(vmConsoleKeys.concat(nodeConsoleKeys));\x0d\n const inspectorConsoleKeys = new SafeSet();\x0d\n for (const key of ObjectKeys(globalConsole)) {\x0d\n if (!originalKeys.has(key)) {\x0d\n inspectorConsoleKeys.add(key);\x0d\n }\x0d\n }\x0d\n // During deserialization these should be reinstalled to console by\x0d\n // V8 when the inspector client is created.\x0d\n addSerializeCallback(() => {\x0d\n for (const key of inspectorConsoleKeys) {\x0d\n globalConsole[key] = undefined;\x0d\n }\x0d\n });\x0d\n}\x0d\n\x0d\nmodule.exports = {\x0d\n Console\x2C\x0d\n kBindStreamsLazy\x2C\x0d\n kBindProperties\x2C\x0d\n initializeGlobalConsole\x2C\x0d\n formatTime\x2C // exported for tests\x0d\n};\x0d\n
code-source-info,0x23c5194932e,54,21730,22717,C0O21730C12O21751C19O21765C21O21764C30O21782C35O21893C43O21893C48O21820C53O21829C58O21858C63O21939C71O21944C76O21969C82O21987C87O22016C88O22023C89O22067C97O22067C102O22049C107O22124C119O22143C124O22124C129O22180C136O22180C141O22231C148O22257C153O22257C161O22231C167O22315C174O22315C179O22315C181O22351C191O22351C213O22344C243O22344C246O22403C252O22403C259O22422C263O22443C269O22443C274O22333C341O22586C346O22586C351O22716,,
code-creation,JS,10,264528,0x23c5194b04e,94,value node:internal/console/constructor:207:20,0x39e2db75af8,~
code-source-info,0x23c5194b04e,54,6107,6769,C0O6107C15O6129C16O6129C18O6148C19O6148C21O6163C33O6214C38O6316C46O6427C60O6491C65O6593C73O6708C87O6163C93O6768,,
code-creation,JS,10,264618,0x23c5194b476,63,addReadOnlyProcessAlias node:internal/process/pre_execution:282:33,0x3b020024e0,~
code-source-info,0x23c5194b476,68,9349,9609,C16O9402C21O9402C26O9429C28O9447C36O9477C43O9567C49O9586C56O9447C62O9608,,
code-creation,JS,10,264656,0x23c5194b5a6,13,getOptionValue node:internal/options:44:24,0x39e2db4a220,~
code-source-info,0x23c5194b5a6,17,1015,1118,C0O1053C3O1053C7O1084C9O1102C12O1115,,
code-creation,JS,10,264687,0x23c5194b696,28,getCLIOptionsFromBinding node:internal/options:19:34,0x39e2db4a008,~
code-source-info,0x23c5194b696,17,546,646,C0O554C6O579C11O593C17O591C23O624C27O643,,
code-creation,JS,10,264885,0x23c5194e0be,46,setupTraceCategoryState node:internal/process/pre_execution:452:33,0x3b020028c8,~
code-source-info,0x23c5194e0be,68,14477,14708,C0O14520C6O14520C11O14493C16O14593C22O14593C27O14564C32O14636C35O14661C40O14636C45O14707,,
code-creation,JS,10,264963,0x23c5194e256,77,toggleTraceCategoryState node:internal/process/per_thread:417:34,0x39e2db5d010,~
script-source,28,node:internal/process/per_thread,'use strict';\x0d\n\x0d\n// This files contains process bootstrappers that can be\x0d\n// run when setting up each thread\x2C including the main\x0d\n// thread and the worker threads.\x0d\n\x0d\nconst {\x0d\n ArrayPrototypeEvery\x2C\x0d\n ArrayPrototypeForEach\x2C\x0d\n ArrayPrototypeIncludes\x2C\x0d\n ArrayPrototypeMap\x2C\x0d\n ArrayPrototypePush\x2C\x0d\n ArrayPrototypeSplice\x2C\x0d\n BigUint64Array\x2C\x0d\n Float64Array\x2C\x0d\n NumberMAX_SAFE_INTEGER\x2C\x0d\n ObjectFreeze\x2C\x0d\n ObjectDefineProperty\x2C\x0d\n ReflectApply\x2C\x0d\n RegExpPrototypeExec\x2C\x0d\n SafeArrayIterator\x2C\x0d\n Set\x2C\x0d\n SetPrototypeEntries\x2C\x0d\n SetPrototypeValues\x2C\x0d\n StringPrototypeEndsWith\x2C\x0d\n StringPrototypeReplace\x2C\x0d\n StringPrototypeSlice\x2C\x0d\n StringPrototypeStartsWith\x2C\x0d\n Symbol\x2C\x0d\n SymbolIterator\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst {\x0d\n ErrnoException\x2C\x0d\n codes: {\x0d\n ERR_ASSERTION\x2C\x0d\n ERR_INVALID_ARG_TYPE\x2C\x0d\n ERR_INVALID_ARG_VALUE\x2C\x0d\n ERR_OUT_OF_RANGE\x2C\x0d\n ERR_UNKNOWN_SIGNAL\x2C\x0d\n }\x2C\x0d\n} = require('internal/errors');\x0d\nconst format = require('internal/util/inspect').format;\x0d\nconst {\x0d\n validateArray\x2C\x0d\n validateNumber\x2C\x0d\n validateObject\x2C\x0d\n} = require('internal/validators');\x0d\nconst { getValidatedPath } = require('internal/fs/utils');\x0d\nconst { toNamespacedPath } = require('path');\x0d\nconst constants = internalBinding('constants').os.signals;\x0d\n\x0d\nconst kInternal = Symbol('internal properties');\x0d\n\x0d\nfunction assert(x\x2C msg) {\x0d\n if (!x) throw new ERR_ASSERTION(msg || 'assertion error');\x0d\n}\x0d\nconst { exitCodes: { kNoFailure } } = internalBinding('errors');\x0d\n\x0d\nconst binding = internalBinding('process_methods');\x0d\n\x0d\n// The 3 entries filled in by the original process.hrtime contains\x0d\n// the upper/lower 32 bits of the second part of the value\x2C\x0d\n// and the remaining nanoseconds of the value.\x0d\nconst hrValues = binding.hrtimeBuffer;\x0d\n// Use a BigUint64Array because this is actually a bit\x0d\n// faster than simply returning a BigInt from C++ in V8 7.1.\x0d\nconst hrBigintValues = new BigUint64Array(binding.hrtimeBuffer.buffer\x2C 0\x2C 1);\x0d\n\x0d\nfunction hrtime(time) {\x0d\n binding.hrtime();\x0d\n\x0d\n if (time !== undefined) {\x0d\n validateArray(time\x2C 'time');\x0d\n if (time.length !== 2) {\x0d\n throw new ERR_OUT_OF_RANGE('time'\x2C 2\x2C time.length);\x0d\n }\x0d\n\x0d\n const sec = (hrValues[0] * 0x100000000 + hrValues[1]) - time[0];\x0d\n const nsec = hrValues[2] - time[1];\x0d\n const needsBorrow = nsec < 0;\x0d\n return [needsBorrow ? sec - 1 : sec\x2C needsBorrow ? nsec + 1e9 : nsec];\x0d\n }\x0d\n\x0d\n return [\x0d\n hrValues[0] * 0x100000000 + hrValues[1]\x2C\x0d\n hrValues[2]\x2C\x0d\n ];\x0d\n}\x0d\n\x0d\nfunction hrtimeBigInt() {\x0d\n binding.hrtimeBigInt();\x0d\n return hrBigintValues[0];\x0d\n}\x0d\n\x0d\nfunction nop() {}\x0d\n\x0d\n// The execution of this function itself should not cause any side effects.\x0d\nfunction wrapProcessMethods(binding) {\x0d\n const {\x0d\n cpuUsage: _cpuUsage\x2C\x0d\n memoryUsage: _memoryUsage\x2C\x0d\n rss\x2C\x0d\n resourceUsage: _resourceUsage\x2C\x0d\n loadEnvFile: _loadEnvFile\x2C\x0d\n } = binding;\x0d\n\x0d\n function _rawDebug(...args) {\x0d\n binding._rawDebug(ReflectApply(format\x2C null\x2C args));\x0d\n }\x0d\n\x0d\n // Create the argument array that will be passed to the native function.\x0d\n const cpuValues = new Float64Array(2);\x0d\n\x0d\n // Replace the native function with the JS version that calls the native\x0d\n // function.\x0d\n function cpuUsage(prevValue) {\x0d\n // If a previous value was passed in\x2C ensure it has the correct shape.\x0d\n if (prevValue) {\x0d\n if (!previousValueIsValid(prevValue.user)) {\x0d\n validateObject(prevValue\x2C 'prevValue');\x0d\n\x0d\n validateNumber(prevValue.user\x2C 'prevValue.user');\x0d\n throw new ERR_INVALID_ARG_VALUE.RangeError('prevValue.user'\x2C\x0d\n prevValue.user);\x0d\n }\x0d\n\x0d\n if (!previousValueIsValid(prevValue.system)) {\x0d\n validateNumber(prevValue.system\x2C 'prevValue.system');\x0d\n throw new ERR_INVALID_ARG_VALUE.RangeError('prevValue.system'\x2C\x0d\n prevValue.system);\x0d\n }\x0d\n }\x0d\n\x0d\n // Call the native function to get the current values.\x0d\n _cpuUsage(cpuValues);\x0d\n\x0d\n // If a previous value was passed in\x2C return diff of current from previous.\x0d\n if (prevValue) {\x0d\n return {\x0d\n user: cpuValues[0] - prevValue.user\x2C\x0d\n system: cpuValues[1] - prevValue.system\x2C\x0d\n };\x0d\n }\x0d\n\x0d\n // If no previous value passed in\x2C return current value.\x0d\n return {\x0d\n user: cpuValues[0]\x2C\x0d\n system: cpuValues[1]\x2C\x0d\n };\x0d\n }\x0d\n\x0d\n // Ensure that a previously passed in value is valid. Currently\x2C the native\x0d\n // implementation always returns numbers <= Number.MAX_SAFE_INTEGER.\x0d\n function previousValueIsValid(num) {\x0d\n return typeof num === 'number' &&\x0d\n num <= NumberMAX_SAFE_INTEGER &&\x0d\n num >= 0;\x0d\n }\x0d\n\x0d\n const memValues = new Float64Array(5);\x0d\n function memoryUsage() {\x0d\n _memoryUsage(memValues);\x0d\n return {\x0d\n rss: memValues[0]\x2C\x0d\n heapTotal: memValues[1]\x2C\x0d\n heapUsed: memValues[2]\x2C\x0d\n external: memValues[3]\x2C\x0d\n arrayBuffers: memValues[4]\x2C\x0d\n };\x0d\n }\x0d\n\x0d\n memoryUsage.rss = rss;\x0d\n\x0d\n function exit(code) {\x0d\n const { handleProcessExit } = require('internal/modules/run_main');\x0d\n process.off('exit'\x2C handleProcessExit);\x0d\n\x0d\n if (arguments.length !== 0) {\x0d\n process.exitCode = code;\x0d\n }\x0d\n\x0d\n if (!process._exiting) {\x0d\n process._exiting = true;\x0d\n process.emit('exit'\x2C process.exitCode || kNoFailure);\x0d\n }\x0d\n // FIXME(joyeecheung): This is an undocumented API that gets monkey-patched\x0d\n // in the user land. Either document it\x2C or deprecate it in favor of a\x0d\n // better public alternative.\x0d\n process.reallyExit(process.exitCode || kNoFailure);\x0d\n\x0d\n // If this is a worker\x2C v8::Isolate::TerminateExecution() is called above.\x0d\n // That function spoofs the stack pointer to cause the stack guard\x0d\n // check to throw the termination exception. Because v8 performs\x0d\n // stack guard check upon every function call\x2C we give it a chance.\x0d\n //\x0d\n // Without this\x2C user code after `process.exit()` would take effect.\x0d\n // test/parallel/test-worker-voluntarily-exit-followed-by-addition.js\x0d\n // test/parallel/test-worker-voluntarily-exit-followed-by-throw.js\x0d\n nop();\x0d\n }\x0d\n\x0d\n function kill(pid\x2C sig) {\x0d\n let err;\x0d\n\x0d\n // eslint-disable-next-line eqeqeq\x0d\n if (pid != (pid | 0)) {\x0d\n throw new ERR_INVALID_ARG_TYPE('pid'\x2C 'number'\x2C pid);\x0d\n }\x0d\n\x0d\n // Preserve null signal\x0d\n if (sig === (sig | 0)) {\x0d\n // XXX(joyeecheung): we have to use process._kill here because\x0d\n // it's monkey-patched by tests.\x0d\n err = process._kill(pid\x2C sig);\x0d\n } else {\x0d\n sig = sig || 'SIGTERM';\x0d\n if (constants[sig]) {\x0d\n err = process._kill(pid\x2C constants[sig]);\x0d\n } else {\x0d\n throw new ERR_UNKNOWN_SIGNAL(sig);\x0d\n }\x0d\n }\x0d\n\x0d\n if (err)\x0d\n throw new ErrnoException(err\x2C 'kill');\x0d\n\x0d\n return true;\x0d\n }\x0d\n\x0d\n const resourceValues = new Float64Array(16);\x0d\n function resourceUsage() {\x0d\n _resourceUsage(resourceValues);\x0d\n return {\x0d\n userCPUTime: resourceValues[0]\x2C\x0d\n systemCPUTime: resourceValues[1]\x2C\x0d\n maxRSS: resourceValues[2]\x2C\x0d\n sharedMemorySize: resourceValues[3]\x2C\x0d\n unsharedDataSize: resourceValues[4]\x2C\x0d\n unsharedStackSize: resourceValues[5]\x2C\x0d\n minorPageFault: resourceValues[6]\x2C\x0d\n majorPageFault: resourceValues[7]\x2C\x0d\n swappedOut: resourceValues[8]\x2C\x0d\n fsRead: resourceValues[9]\x2C\x0d\n fsWrite: resourceValues[10]\x2C\x0d\n ipcSent: resourceValues[11]\x2C\x0d\n ipcReceived: resourceValues[12]\x2C\x0d\n signalsCount: resourceValues[13]\x2C\x0d\n voluntaryContextSwitches: resourceValues[14]\x2C\x0d\n involuntaryContextSwitches: resourceValues[15]\x2C\x0d\n };\x0d\n }\x0d\n\x0d\n /**\x0d\n * Loads the `.env` file to process.env.\x0d\n * @param {string | URL | Buffer | undefined} path\x0d\n */\x0d\n function loadEnvFile(path = undefined) { // Provide optional value so that `loadEnvFile.length` returns 0\x0d\n if (path != null) {\x0d\n path = getValidatedPath(path);\x0d\n _loadEnvFile(toNamespacedPath(path));\x0d\n } else {\x0d\n _loadEnvFile();\x0d\n }\x0d\n }\x0d\n\x0d\n\x0d\n return {\x0d\n _rawDebug\x2C\x0d\n cpuUsage\x2C\x0d\n resourceUsage\x2C\x0d\n memoryUsage\x2C\x0d\n kill\x2C\x0d\n exit\x2C\x0d\n loadEnvFile\x2C\x0d\n };\x0d\n}\x0d\n\x0d\nconst replaceUnderscoresRegex = /_/g;\x0d\nconst leadingDashesRegex = /^--?/;\x0d\nconst trailingValuesRegex = /=.*$/;\x0d\n\x0d\n// This builds the initial process.allowedNodeEnvironmentFlags\x0d\n// from data in the config binding.\x0d\nfunction buildAllowedFlags() {\x0d\n const {\x0d\n envSettings: { kAllowedInEnvvar }\x2C\x0d\n types: { kBoolean }\x2C\x0d\n } = internalBinding('options');\x0d\n const { getCLIOptionsInfo } = require('internal/options');\x0d\n const { options\x2C aliases } = getCLIOptionsInfo();\x0d\n\x0d\n const allowedNodeEnvironmentFlags = [];\x0d\n for (const { 0: name\x2C 1: info } of options) {\x0d\n if (info.envVarSettings === kAllowedInEnvvar) {\x0d\n ArrayPrototypePush(allowedNodeEnvironmentFlags\x2C name);\x0d\n if (info.type === kBoolean) {\x0d\n const negatedName = `--no-${name.slice(2)}`;\x0d\n ArrayPrototypePush(allowedNodeEnvironmentFlags\x2C negatedName);\x0d\n }\x0d\n }\x0d\n }\x0d\n\x0d\n function isAccepted(to) {\x0d\n if (!StringPrototypeStartsWith(to\x2C '-') || to === '--') return true;\x0d\n const recursiveExpansion = aliases.get(to);\x0d\n if (recursiveExpansion) {\x0d\n if (recursiveExpansion[0] === to)\x0d\n ArrayPrototypeSplice(recursiveExpansion\x2C 0\x2C 1);\x0d\n return ArrayPrototypeEvery(recursiveExpansion\x2C isAccepted);\x0d\n }\x0d\n return options.get(to).envVarSettings === kAllowedInEnvvar;\x0d\n }\x0d\n for (const { 0: from\x2C 1: expansion } of aliases) {\x0d\n if (ArrayPrototypeEvery(expansion\x2C isAccepted)) {\x0d\n let canonical = from;\x0d\n if (StringPrototypeEndsWith(canonical\x2C '='))\x0d\n canonical = StringPrototypeSlice(canonical\x2C 0\x2C canonical.length - 1);\x0d\n if (StringPrototypeEndsWith(canonical\x2C ' <arg>'))\x0d\n canonical = StringPrototypeSlice(canonical\x2C 0\x2C canonical.length - 4);\x0d\n ArrayPrototypePush(allowedNodeEnvironmentFlags\x2C canonical);\x0d\n }\x0d\n }\x0d\n\x0d\n const trimLeadingDashes =\x0d\n (flag) => StringPrototypeReplace(flag\x2C leadingDashesRegex\x2C '');\x0d\n\x0d\n // Save these for comparison against flags provided to\x0d\n // process.allowedNodeEnvironmentFlags.has() which lack leading dashes.\x0d\n const nodeFlags = ArrayPrototypeMap(allowedNodeEnvironmentFlags\x2C\x0d\n trimLeadingDashes);\x0d\n\x0d\n class NodeEnvironmentFlagsSet extends Set {\x0d\n constructor(array) {\x0d\n super();\x0d\n this[kInternal] = { array };\x0d\n }\x0d\n\x0d\n add() {\x0d\n // No-op\x2C `Set` API compatible\x0d\n return this;\x0d\n }\x0d\n\x0d\n delete() {\x0d\n // No-op\x2C `Set` API compatible\x0d\n return false;\x0d\n }\x0d\n\x0d\n clear() {\x0d\n // No-op\x2C `Set` API compatible\x0d\n }\x0d\n\x0d\n has(key) {\x0d\n // This will return `true` based on various possible\x0d\n // permutations of a flag\x2C including present/missing leading\x0d\n // dash(es) and/or underscores-for-dashes.\x0d\n // Strips any values after `=`\x2C inclusive.\x0d\n // TODO(addaleax): It might be more flexible to run the option parser\x0d\n // on a dummy option set and see whether it rejects the argument or\x0d\n // not.\x0d\n if (typeof key === 'string') {\x0d\n key = StringPrototypeReplace(key\x2C replaceUnderscoresRegex\x2C '-');\x0d\n if (RegExpPrototypeExec(leadingDashesRegex\x2C key) !== null) {\x0d\n key = StringPrototypeReplace(key\x2C trailingValuesRegex\x2C '');\x0d\n return ArrayPrototypeIncludes(this[kInternal].array\x2C key);\x0d\n }\x0d\n return ArrayPrototypeIncludes(nodeFlags\x2C key);\x0d\n }\x0d\n return false;\x0d\n }\x0d\n\x0d\n entries() {\x0d\n this[kInternal].set ??=\x0d\n new Set(new SafeArrayIterator(this[kInternal].array));\x0d\n return SetPrototypeEntries(this[kInternal].set);\x0d\n }\x0d\n\x0d\n forEach(callback\x2C thisArg = undefined) {\x0d\n ArrayPrototypeForEach(\x0d\n this[kInternal].array\x2C\x0d\n (v) => ReflectApply(callback\x2C thisArg\x2C [v\x2C v\x2C this])\x2C\x0d\n );\x0d\n }\x0d\n\x0d\n get size() {\x0d\n return this[kInternal].array.length;\x0d\n }\x0d\n\x0d\n values() {\x0d\n this[kInternal].set ??=\x0d\n new Set(new SafeArrayIterator(this[kInternal].array));\x0d\n return SetPrototypeValues(this[kInternal].set);\x0d\n }\x0d\n }\x0d\n const flagSetValues = NodeEnvironmentFlagsSet.prototype.values;\x0d\n ObjectDefineProperty(NodeEnvironmentFlagsSet.prototype\x2C SymbolIterator\x2C {\x0d\n __proto__: null\x2C\x0d\n value: flagSetValues\x2C\x0d\n });\x0d\n ObjectDefineProperty(NodeEnvironmentFlagsSet.prototype\x2C 'keys'\x2C {\x0d\n __proto__: null\x2C\x0d\n value: flagSetValues\x2C\x0d\n });\x0d\n\x0d\n ObjectFreeze(NodeEnvironmentFlagsSet.prototype.constructor);\x0d\n ObjectFreeze(NodeEnvironmentFlagsSet.prototype);\x0d\n\x0d\n return ObjectFreeze(new NodeEnvironmentFlagsSet(\x0d\n allowedNodeEnvironmentFlags\x2C\x0d\n ));\x0d\n}\x0d\n\x0d\n// Lazy load internal/trace_events_async_hooks only if the async_hooks\x0d\n// trace event category is enabled.\x0d\nlet traceEventsAsyncHook;\x0d\n// Dynamically enable/disable the traceEventsAsyncHook\x0d\nfunction toggleTraceCategoryState(asyncHooksEnabled) {\x0d\n if (asyncHooksEnabled) {\x0d\n if (!traceEventsAsyncHook) {\x0d\n traceEventsAsyncHook =\x0d\n require('internal/trace_events_async_hooks').createHook();\x0d\n }\x0d\n traceEventsAsyncHook.enable();\x0d\n } else if (traceEventsAsyncHook) {\x0d\n traceEventsAsyncHook.disable();\x0d\n }\x0d\n}\x0d\n\x0d\nmodule.exports = {\x0d\n toggleTraceCategoryState\x2C\x0d\n assert\x2C\x0d\n buildAllowedFlags\x2C\x0d\n wrapProcessMethods\x2C\x0d\n hrtime\x2C\x0d\n hrtimeBigInt\x2C\x0d\n};\x0d\n
code-source-info,0x23c5194e256,28,12821,13128,C0O12846C4O12876C10O12912C16O12944C21O12988C26O12989C33O12933C39O13015C44O13036C49O13036C55O13056C61O13089C66O13110C71O13110C76O13127,,
code-creation,JS,10,265538,0x23c5194f1b6,62,setupInspectorHooks node:internal/process/pre_execution:458:29,0x3b02002918,~
code-source-info,0x23c5194f1b6,68,14740,15307,C0O15089C6O15093C11O15118C17O15188C23O15188C28O15155C33O15170C38O15235C44O15235C49O15263C54O15264C61O15306,,
code-creation,JS,10,265597,0x23c5194f426,126,setupWarningHandler node:internal/process/pre_execution:295:29,0x3b02002530,~
code-source-info,0x23c5194f426,68,9641,10151,C0O9641C11O9708C19O9708C24O9662C30O9678C36O9748C46O9752C57O9797C62O9801C69O9818C74O9834C79O9842C90O9842C96O9973C103O9977C108O10008C120O10008C125O10150,,
code-creation,JS,10,265688,0x23c5194f70e,113,setupUndici node:internal/process/pre_execution:317:21,0x3b02002580,~
code-source-info,0x23c5194f70e,68,10250,10661,C0O10258C8O10262C14O10312C23O10342C32O10375C41O10407C50O10439C59O10477C64O10482C68O10502C76O10523C82O10523C88O10574C95O10595C106O10574C112O10660,,
code-creation,JS,10,265732,0x23c5194f87e,28,getEmbedderOptions node:internal/options:33:28,0x39e2db4a180,~
code-source-info,0x23c5194f87e,17,804,926,C0O812C6O841C11O859C17O857C23O900C27O923,,
code-creation,JS,10,265793,0x23c5194fcce,174,setupWebCrypto node:internal/process/pre_execution:333:24,0x3b020025d0,~
code-source-info,0x23c5194fcce,68,10792,11752,C0O10800C5O10804C9O10824C17O10852C23O10852C29O10913C30O10920C31O10931C37O10935C42O10960C48O10980C55O11019C73O10980C78O11302C85O11331C96O11302C103O11445C110O11466C123O11536C154O11536C167O11445C173O11751,,
new,MemoryChunk,0x77b20c0000,262144
new,MemoryChunk,0x7ff739bc0000,262144
code-creation,JS,11,266052,0x7ff739bc3040,2536,defineLazyProperties node:internal/util:600:30,0x39e2db48ac8,^
script-source,16,node:internal/util,'use strict';\x0d\n\x0d\nconst {\x0d\n ArrayBufferPrototypeGetByteLength\x2C\x0d\n ArrayFrom\x2C\x0d\n ArrayIsArray\x2C\x0d\n ArrayPrototypePush\x2C\x0d\n ArrayPrototypeSlice\x2C\x0d\n ArrayPrototypeSort\x2C\x0d\n Error\x2C\x0d\n ErrorCaptureStackTrace\x2C\x0d\n FunctionPrototypeCall\x2C\x0d\n ObjectDefineProperties\x2C\x0d\n ObjectDefineProperty\x2C\x0d\n ObjectGetOwnPropertyDescriptor\x2C\x0d\n ObjectGetOwnPropertyDescriptors\x2C\x0d\n ObjectGetPrototypeOf\x2C\x0d\n ObjectFreeze\x2C\x0d\n ObjectPrototypeHasOwnProperty\x2C\x0d\n ObjectSetPrototypeOf\x2C\x0d\n ObjectValues\x2C\x0d\n Promise\x2C\x0d\n ReflectApply\x2C\x0d\n ReflectConstruct\x2C\x0d\n RegExpPrototypeExec\x2C\x0d\n RegExpPrototypeGetDotAll\x2C\x0d\n RegExpPrototypeGetGlobal\x2C\x0d\n RegExpPrototypeGetHasIndices\x2C\x0d\n RegExpPrototypeGetIgnoreCase\x2C\x0d\n RegExpPrototypeGetMultiline\x2C\x0d\n RegExpPrototypeGetSticky\x2C\x0d\n RegExpPrototypeGetUnicode\x2C\x0d\n RegExpPrototypeGetSource\x2C\x0d\n SafeMap\x2C\x0d\n SafeSet\x2C\x0d\n SafeWeakMap\x2C\x0d\n SafeWeakRef\x2C\x0d\n StringPrototypeIncludes\x2C\x0d\n StringPrototypeReplace\x2C\x0d\n StringPrototypeStartsWith\x2C\x0d\n StringPrototypeToLowerCase\x2C\x0d\n StringPrototypeToUpperCase\x2C\x0d\n Symbol\x2C\x0d\n SymbolFor\x2C\x0d\n SymbolReplace\x2C\x0d\n SymbolSplit\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst {\x0d\n codes: {\x0d\n ERR_NO_CRYPTO\x2C\x0d\n ERR_UNKNOWN_SIGNAL\x2C\x0d\n }\x2C\x0d\n isErrorStackTraceLimitWritable\x2C\x0d\n uvErrmapGet\x2C\x0d\n overrideStackTrace\x2C\x0d\n} = require('internal/errors');\x0d\nconst { signals } = internalBinding('constants').os;\x0d\nconst {\x0d\n isArrayBufferDetached: _isArrayBufferDetached\x2C\x0d\n guessHandleType: _guessHandleType\x2C\x0d\n privateSymbols: {\x0d\n arrow_message_private_symbol\x2C\x0d\n decorated_private_symbol\x2C\x0d\n }\x2C\x0d\n sleep: _sleep\x2C\x0d\n} = internalBinding('util');\x0d\nconst { isNativeError } = internalBinding('types');\x0d\nconst { getOptionValue } = require('internal/options');\x0d\nconst { encodings } = internalBinding('string_decoder');\x0d\n\x0d\nconst noCrypto = !process.versions.openssl;\x0d\n\x0d\nconst experimentalWarnings = new SafeSet();\x0d\n\x0d\nconst colorRegExp = /\\u001b\\[\\d\\d?m/g; // eslint-disable-line no-control-regex\x0d\n\x0d\nlet uvBinding;\x0d\n\x0d\nfunction lazyUv() {\x0d\n uvBinding ??= internalBinding('uv');\x0d\n return uvBinding;\x0d\n}\x0d\n\x0d\nfunction removeColors(str) {\x0d\n return StringPrototypeReplace(str\x2C colorRegExp\x2C '');\x0d\n}\x0d\n\x0d\nfunction isError(e) {\x0d\n // An error could be an instance of Error while not being a native error\x0d\n // or could be from a different realm and not be instance of Error but still\x0d\n // be a native error.\x0d\n return isNativeError(e) || e instanceof Error;\x0d\n}\x0d\n\x0d\n// Keep a list of deprecation codes that have been warned on so we only warn on\x0d\n// each one once.\x0d\nconst codesWarned = new SafeSet();\x0d\n\x0d\nlet validateString;\x0d\n\x0d\nfunction getDeprecationWarningEmitter(\x0d\n code\x2C msg\x2C deprecated\x2C useEmitSync\x2C\x0d\n shouldEmitWarning = () => true\x2C\x0d\n) {\x0d\n let warned = false;\x0d\n return function() {\x0d\n if (!warned && shouldEmitWarning()) {\x0d\n warned = true;\x0d\n if (code !== undefined) {\x0d\n if (!codesWarned.has(code)) {\x0d\n const emitWarning = useEmitSync ?\x0d\n require('internal/process/warning').emitWarningSync :\x0d\n process.emitWarning;\x0d\n emitWarning(msg\x2C 'DeprecationWarning'\x2C code\x2C deprecated);\x0d\n codesWarned.add(code);\x0d\n }\x0d\n } else {\x0d\n process.emitWarning(msg\x2C 'DeprecationWarning'\x2C deprecated);\x0d\n }\x0d\n }\x0d\n };\x0d\n}\x0d\n\x0d\nfunction isPendingDeprecation() {\x0d\n return getOptionValue('--pending-deprecation') &&\x0d\n !getOptionValue('--no-deprecation');\x0d\n}\x0d\n\x0d\n// Internal deprecator for pending --pending-deprecation. This can be invoked\x0d\n// at snapshot building time as the warning permission is only queried at\x0d\n// run time.\x0d\nfunction pendingDeprecate(fn\x2C msg\x2C code) {\x0d\n const emitDeprecationWarning = getDeprecationWarningEmitter(\x0d\n code\x2C msg\x2C deprecated\x2C false\x2C isPendingDeprecation\x2C\x0d\n );\x0d\n function deprecated(...args) {\x0d\n emitDeprecationWarning();\x0d\n return ReflectApply(fn\x2C this\x2C args);\x0d\n }\x0d\n return deprecated;\x0d\n}\x0d\n\x0d\n// Mark that a method should not be used.\x0d\n// Returns a modified function which warns once by default.\x0d\n// If --no-deprecation is set\x2C then it is a no-op.\x0d\nfunction deprecate(fn\x2C msg\x2C code\x2C useEmitSync) {\x0d\n // Lazy-load to avoid a circular dependency.\x0d\n if (validateString === undefined)\x0d\n ({ validateString } = require('internal/validators'));\x0d\n\x0d\n if (code !== undefined)\x0d\n validateString(code\x2C 'code');\x0d\n\x0d\n const emitDeprecationWarning = getDeprecationWarningEmitter(\x0d\n code\x2C msg\x2C deprecated\x2C useEmitSync\x2C\x0d\n );\x0d\n\x0d\n function deprecated(...args) {\x0d\n // TODO(joyeecheung): use getOptionValue('--no-deprecation') instead.\x0d\n if (!process.noDeprecation) {\x0d\n emitDeprecationWarning();\x0d\n }\x0d\n if (new.target) {\x0d\n return ReflectConstruct(fn\x2C args\x2C new.target);\x0d\n }\x0d\n return ReflectApply(fn\x2C this\x2C args);\x0d\n }\x0d\n\x0d\n // The wrapper will keep the same prototype as fn to maintain prototype chain\x0d\n ObjectSetPrototypeOf(deprecated\x2C fn);\x0d\n if (fn.prototype) {\x0d\n // Setting this (rather than using Object.setPrototype\x2C as above) ensures\x0d\n // that calling the unwrapped constructor gives an instanceof the wrapped\x0d\n // constructor.\x0d\n deprecated.prototype = fn.prototype;\x0d\n }\x0d\n\x0d\n return deprecated;\x0d\n}\x0d\n\x0d\nfunction decorateErrorStack(err) {\x0d\n if (!(isError(err) && err.stack) || err[decorated_private_symbol])\x0d\n return;\x0d\n\x0d\n const arrow = err[arrow_message_private_symbol];\x0d\n\x0d\n if (arrow) {\x0d\n err.stack = arrow + err.stack;\x0d\n err[decorated_private_symbol] = true;\x0d\n }\x0d\n}\x0d\n\x0d\nfunction assertCrypto() {\x0d\n if (noCrypto)\x0d\n throw new ERR_NO_CRYPTO();\x0d\n}\x0d\n\x0d\n// Return undefined if there is no match.\x0d\n// Move the "slow cases" to a separate function to make sure this function gets\x0d\n// inlined properly. That prioritizes the common case.\x0d\nfunction normalizeEncoding(enc) {\x0d\n if (enc == null || enc === 'utf8' || enc === 'utf-8') return 'utf8';\x0d\n return slowCases(enc);\x0d\n}\x0d\n\x0d\nfunction slowCases(enc) {\x0d\n switch (enc.length) {\x0d\n case 4:\x0d\n if (enc === 'UTF8') return 'utf8';\x0d\n if (enc === 'ucs2' || enc === 'UCS2') return 'utf16le';\x0d\n enc = StringPrototypeToLowerCase(enc);\x0d\n if (enc === 'utf8') return 'utf8';\x0d\n if (enc === 'ucs2') return 'utf16le';\x0d\n break;\x0d\n case 3:\x0d\n if (enc === 'hex' || enc === 'HEX' ||\x0d\n StringPrototypeToLowerCase(enc) === 'hex')\x0d\n return 'hex';\x0d\n break;\x0d\n case 5:\x0d\n if (enc === 'ascii') return 'ascii';\x0d\n if (enc === 'ucs-2') return 'utf16le';\x0d\n if (enc === 'UTF-8') return 'utf8';\x0d\n if (enc === 'ASCII') return 'ascii';\x0d\n if (enc === 'UCS-2') return 'utf16le';\x0d\n enc = StringPrototypeToLowerCase(enc);\x0d\n if (enc === 'utf-8') return 'utf8';\x0d\n if (enc === 'ascii') return 'ascii';\x0d\n if (enc === 'ucs-2') return 'utf16le';\x0d\n break;\x0d\n case 6:\x0d\n if (enc === 'base64') return 'base64';\x0d\n if (enc === 'latin1' || enc === 'binary') return 'latin1';\x0d\n if (enc === 'BASE64') return 'base64';\x0d\n if (enc === 'LATIN1' || enc === 'BINARY') return 'latin1';\x0d\n enc = StringPrototypeToLowerCase(enc);\x0d\n if (enc === 'base64') return 'base64';\x0d\n if (enc === 'latin1' || enc === 'binary') return 'latin1';\x0d\n break;\x0d\n case 7:\x0d\n if (enc === 'utf16le' || enc === 'UTF16LE' ||\x0d\n StringPrototypeToLowerCase(enc) === 'utf16le')\x0d\n return 'utf16le';\x0d\n break;\x0d\n case 8:\x0d\n if (enc === 'utf-16le' || enc === 'UTF-16LE' ||\x0d\n StringPrototypeToLowerCase(enc) === 'utf-16le')\x0d\n return 'utf16le';\x0d\n break;\x0d\n case 9:\x0d\n if (enc === 'base64url' || enc === 'BASE64URL' ||\x0d\n StringPrototypeToLowerCase(enc) === 'base64url')\x0d\n return 'base64url';\x0d\n break;\x0d\n default:\x0d\n if (enc === '') return 'utf8';\x0d\n }\x0d\n}\x0d\n\x0d\nfunction emitExperimentalWarning(feature) {\x0d\n if (experimentalWarnings.has(feature)) return;\x0d\n const msg = `${feature} is an experimental feature and might change at any time`;\x0d\n experimentalWarnings.add(feature);\x0d\n process.emitWarning(msg\x2C 'ExperimentalWarning');\x0d\n}\x0d\n\x0d\nfunction filterDuplicateStrings(items\x2C low) {\x0d\n const map = new SafeMap();\x0d\n for (let i = 0; i < items.length; i++) {\x0d\n const item = items[i];\x0d\n const key = StringPrototypeToLowerCase(item);\x0d\n if (low) {\x0d\n map.set(key\x2C key);\x0d\n } else {\x0d\n map.set(key\x2C item);\x0d\n }\x0d\n }\x0d\n return ArrayPrototypeSort(ArrayFrom(map.values()));\x0d\n}\x0d\n\x0d\nfunction cachedResult(fn) {\x0d\n let result;\x0d\n return () => {\x0d\n if (result === undefined)\x0d\n result = fn();\x0d\n return ArrayPrototypeSlice(result);\x0d\n };\x0d\n}\x0d\n\x0d\n// Useful for Wrapping an ES6 Class with a constructor Function that\x0d\n// does not require the new keyword. For instance:\x0d\n// class A { constructor(x) {this.x = x;}}\x0d\n// const B = createClassWrapper(A);\x0d\n// B() instanceof A // true\x0d\n// B() instanceof B // true\x0d\nfunction createClassWrapper(type) {\x0d\n function fn(...args) {\x0d\n return ReflectConstruct(type\x2C args\x2C new.target || type);\x0d\n }\x0d\n // Mask the wrapper function name and length values\x0d\n ObjectDefineProperties(fn\x2C {\x0d\n name: { __proto__: null\x2C value: type.name }\x2C\x0d\n length: { __proto__: null\x2C value: type.length }\x2C\x0d\n });\x0d\n ObjectSetPrototypeOf(fn\x2C type);\x0d\n fn.prototype = type.prototype;\x0d\n return fn;\x0d\n}\x0d\n\x0d\nlet signalsToNamesMapping;\x0d\nfunction getSignalsToNamesMapping() {\x0d\n if (signalsToNamesMapping !== undefined)\x0d\n return signalsToNamesMapping;\x0d\n\x0d\n signalsToNamesMapping = { __proto__: null };\x0d\n for (const key in signals) {\x0d\n signalsToNamesMapping[signals[key]] = key;\x0d\n }\x0d\n\x0d\n return signalsToNamesMapping;\x0d\n}\x0d\n\x0d\nfunction convertToValidSignal(signal) {\x0d\n if (typeof signal === 'number' && getSignalsToNamesMapping()[signal])\x0d\n return signal;\x0d\n\x0d\n if (typeof signal === 'string') {\x0d\n const signalName = signals[StringPrototypeToUpperCase(signal)];\x0d\n if (signalName) return signalName;\x0d\n }\x0d\n\x0d\n throw new ERR_UNKNOWN_SIGNAL(signal);\x0d\n}\x0d\n\x0d\nfunction getConstructorOf(obj) {\x0d\n while (obj) {\x0d\n const descriptor = ObjectGetOwnPropertyDescriptor(obj\x2C 'constructor');\x0d\n if (descriptor !== undefined &&\x0d\n typeof descriptor.value === 'function' &&\x0d\n descriptor.value.name !== '') {\x0d\n return descriptor.value;\x0d\n }\x0d\n\x0d\n obj = ObjectGetPrototypeOf(obj);\x0d\n }\x0d\n\x0d\n return null;\x0d\n}\x0d\n\x0d\nlet cachedURL;\x0d\nlet cachedCWD;\x0d\n\x0d\n/**\x0d\n * Get the current working directory while accounting for the possibility that it has been deleted.\x0d\n * `process.cwd()` can fail if the parent directory is deleted while the process runs.\x0d\n * @returns {URL} The current working directory or the volume root if it cannot be determined.\x0d\n */\x0d\nfunction getCWDURL() {\x0d\n const { sep } = require('path');\x0d\n const { pathToFileURL } = require('internal/url');\x0d\n\x0d\n let cwd;\x0d\n\x0d\n try {\x0d\n // The implementation of `process.cwd()` already uses proper cache when it can.\x0d\n // It's a relatively cheap call performance-wise for the most common use case.\x0d\n cwd = process.cwd();\x0d\n } catch {\x0d\n cachedURL ??= pathToFileURL(sep);\x0d\n }\x0d\n\x0d\n if (cwd != null && cwd !== cachedCWD) {\x0d\n cachedURL = pathToFileURL(cwd + sep);\x0d\n cachedCWD = cwd;\x0d\n }\x0d\n\x0d\n return cachedURL;\x0d\n}\x0d\n\x0d\nfunction getSystemErrorName(err) {\x0d\n const entry = uvErrmapGet(err);\x0d\n return entry ? entry[0] : `Unknown system error ${err}`;\x0d\n}\x0d\n\x0d\nfunction getSystemErrorMap() {\x0d\n return lazyUv().getErrorMap();\x0d\n}\x0d\n\x0d\nconst kCustomPromisifiedSymbol = SymbolFor('nodejs.util.promisify.custom');\x0d\nconst kCustomPromisifyArgsSymbol = Symbol('customPromisifyArgs');\x0d\n\x0d\nlet validateFunction;\x0d\n\x0d\nfunction promisify(original) {\x0d\n // Lazy-load to avoid a circular dependency.\x0d\n if (validateFunction === undefined)\x0d\n ({ validateFunction } = require('internal/validators'));\x0d\n\x0d\n validateFunction(original\x2C 'original');\x0d\n\x0d\n if (original[kCustomPromisifiedSymbol]) {\x0d\n const fn = original[kCustomPromisifiedSymbol];\x0d\n\x0d\n validateFunction(fn\x2C 'util.promisify.custom');\x0d\n\x0d\n return ObjectDefineProperty(fn\x2C kCustomPromisifiedSymbol\x2C {\x0d\n __proto__: null\x2C\x0d\n value: fn\x2C enumerable: false\x2C writable: false\x2C configurable: true\x2C\x0d\n });\x0d\n }\x0d\n\x0d\n // Names to create an object from in case the callback receives multiple\x0d\n // arguments\x2C e.g. ['bytesRead'\x2C 'buffer'] for fs.read.\x0d\n const argumentNames = original[kCustomPromisifyArgsSymbol];\x0d\n\x0d\n function fn(...args) {\x0d\n return new Promise((resolve\x2C reject) => {\x0d\n ArrayPrototypePush(args\x2C (err\x2C ...values) => {\x0d\n if (err) {\x0d\n return reject(err);\x0d\n }\x0d\n if (argumentNames !== undefined && values.length > 1) {\x0d\n const obj = {};\x0d\n for (let i = 0; i < argumentNames.length; i++)\x0d\n obj[argumentNames[i]] = values[i];\x0d\n resolve(obj);\x0d\n } else {\x0d\n resolve(values[0]);\x0d\n }\x0d\n });\x0d\n ReflectApply(original\x2C this\x2C args);\x0d\n });\x0d\n }\x0d\n\x0d\n ObjectSetPrototypeOf(fn\x2C ObjectGetPrototypeOf(original));\x0d\n\x0d\n ObjectDefineProperty(fn\x2C kCustomPromisifiedSymbol\x2C {\x0d\n __proto__: null\x2C\x0d\n value: fn\x2C enumerable: false\x2C writable: false\x2C configurable: true\x2C\x0d\n });\x0d\n\x0d\n const descriptors = ObjectGetOwnPropertyDescriptors(original);\x0d\n const propertiesValues = ObjectValues(descriptors);\x0d\n for (let i = 0; i < propertiesValues.length; i++) {\x0d\n // We want to use null-prototype objects to not rely on globally mutable\x0d\n // %Object.prototype%.\x0d\n ObjectSetPrototypeOf(propertiesValues[i]\x2C null);\x0d\n }\x0d\n return ObjectDefineProperties(fn\x2C descriptors);\x0d\n}\x0d\n\x0d\npromisify.custom = kCustomPromisifiedSymbol;\x0d\n\x0d\n// The built-in Array#join is slower in v8 6.0\x0d\nfunction join(output\x2C separator) {\x0d\n let str = '';\x0d\n if (output.length !== 0) {\x0d\n const lastIndex = output.length - 1;\x0d\n for (let i = 0; i < lastIndex; i++) {\x0d\n // It is faster not to use a template string here\x0d\n str += output[i];\x0d\n str += separator;\x0d\n }\x0d\n str += output[lastIndex];\x0d\n }\x0d\n return str;\x0d\n}\x0d\n\x0d\n// As of V8 6.6\x2C depending on the size of the array\x2C this is anywhere\x0d\n// between 1.5-10x faster than the two-arg version of Array#splice()\x0d\nfunction spliceOne(list\x2C index) {\x0d\n for (; index + 1 < list.length; index++)\x0d\n list[index] = list[index + 1];\x0d\n list.pop();\x0d\n}\x0d\n\x0d\nconst kNodeModulesRE = /^(?:.*)[\\\\/]node_modules[\\\\/]/;\x0d\n\x0d\nlet getStructuredStack;\x0d\n\x0d\nfunction isInsideNodeModules() {\x0d\n if (getStructuredStack === undefined) {\x0d\n // Lazy-load to avoid a circular dependency.\x0d\n const { runInNewContext } = require('vm');\x0d\n // Use `runInNewContext()` to get something tamper-proof and\x0d\n // side-effect-free. Since this is currently only used for a deprecated API\x2C\x0d\n // the perf implications should be okay.\x0d\n getStructuredStack = runInNewContext(`(function() {\x0d\n try { Error.stackTraceLimit = Infinity; } catch {}\x0d\n return function structuredStack() {\x0d\n const e = new Error();\x0d\n overrideStackTrace.set(e\x2C (err\x2C trace) => trace);\x0d\n return e.stack;\x0d\n };\x0d\n })()`\x2C { overrideStackTrace }\x2C { filename: 'structured-stack' });\x0d\n }\x0d\n\x0d\n const stack = getStructuredStack();\x0d\n\x0d\n // Iterate over all stack frames and look for the first one not coming\x0d\n // from inside Node.js itself:\x0d\n if (ArrayIsArray(stack)) {\x0d\n for (const frame of stack) {\x0d\n const filename = frame.getFileName();\x0d\n\x0d\n if (\x0d\n filename == null ||\x0d\n StringPrototypeStartsWith(filename\x2C 'node:') === true ||\x0d\n (\x0d\n filename[0] !== '/' &&\x0d\n StringPrototypeIncludes(filename\x2C '\\\\') === false\x0d\n )\x0d\n ) {\x0d\n continue;\x0d\n }\x0d\n return RegExpPrototypeExec(kNodeModulesRE\x2C filename) !== null;\x0d\n }\x0d\n }\x0d\n return false;\x0d\n}\x0d\n\x0d\nfunction once(callback\x2C { preserveReturnValue = false } = kEmptyObject) {\x0d\n let called = false;\x0d\n let returnValue;\x0d\n return function(...args) {\x0d\n if (called) return returnValue;\x0d\n called = true;\x0d\n const result = ReflectApply(callback\x2C this\x2C args);\x0d\n returnValue = preserveReturnValue ? result : undefined;\x0d\n return result;\x0d\n };\x0d\n}\x0d\n\x0d\nlet validateUint32;\x0d\n\x0d\nfunction sleep(msec) {\x0d\n // Lazy-load to avoid a circular dependency.\x0d\n if (validateUint32 === undefined)\x0d\n ({ validateUint32 } = require('internal/validators'));\x0d\n\x0d\n validateUint32(msec\x2C 'msec');\x0d\n _sleep(msec);\x0d\n}\x0d\n\x0d\nfunction createDeferredPromise() {\x0d\n let resolve;\x0d\n let reject;\x0d\n const promise = new Promise((res\x2C rej) => {\x0d\n resolve = res;\x0d\n reject = rej;\x0d\n });\x0d\n\x0d\n return { promise\x2C resolve\x2C reject };\x0d\n}\x0d\n\x0d\n// https://heycam.github.io/webidl/#define-the-operations\x0d\nfunction defineOperation(target\x2C name\x2C method) {\x0d\n ObjectDefineProperty(target\x2C name\x2C {\x0d\n __proto__: null\x2C\x0d\n writable: true\x2C\x0d\n enumerable: true\x2C\x0d\n configurable: true\x2C\x0d\n value: method\x2C\x0d\n });\x0d\n}\x0d\n\x0d\n// https://heycam.github.io/webidl/#es-interfaces\x0d\nfunction exposeInterface(target\x2C name\x2C interfaceObject) {\x0d\n ObjectDefineProperty(target\x2C name\x2C {\x0d\n __proto__: null\x2C\x0d\n writable: true\x2C\x0d\n enumerable: false\x2C\x0d\n configurable: true\x2C\x0d\n value: interfaceObject\x2C\x0d\n });\x0d\n}\x0d\n\x0d\n// https://heycam.github.io/webidl/#es-namespaces\x0d\nfunction exposeNamespace(target\x2C name\x2C namespaceObject) {\x0d\n ObjectDefineProperty(target\x2C name\x2C {\x0d\n __proto__: null\x2C\x0d\n writable: true\x2C\x0d\n enumerable: false\x2C\x0d\n configurable: true\x2C\x0d\n value: namespaceObject\x2C\x0d\n });\x0d\n}\x0d\n\x0d\nfunction exposeGetterAndSetter(target\x2C name\x2C getter\x2C setter = undefined) {\x0d\n ObjectDefineProperty(target\x2C name\x2C {\x0d\n __proto__: null\x2C\x0d\n enumerable: false\x2C\x0d\n configurable: true\x2C\x0d\n get: getter\x2C\x0d\n set: setter\x2C\x0d\n });\x0d\n}\x0d\n\x0d\nfunction defineLazyProperties(target\x2C id\x2C keys\x2C enumerable = true) {\x0d\n const descriptors = { __proto__: null };\x0d\n let mod;\x0d\n for (let i = 0; i < keys.length; i++) {\x0d\n const key = keys[i];\x0d\n let lazyLoadedValue;\x0d\n function set(value) {\x0d\n ObjectDefineProperty(target\x2C key\x2C {\x0d\n __proto__: null\x2C\x0d\n writable: true\x2C\x0d\n value\x2C\x0d\n });\x0d\n }\x0d\n ObjectDefineProperty(set\x2C 'name'\x2C {\x0d\n __proto__: null\x2C\x0d\n value: `set ${key}`\x2C\x0d\n });\x0d\n function get() {\x0d\n mod ??= require(id);\x0d\n if (lazyLoadedValue === undefined) {\x0d\n lazyLoadedValue = mod[key];\x0d\n set(lazyLoadedValue);\x0d\n }\x0d\n return lazyLoadedValue;\x0d\n }\x0d\n ObjectDefineProperty(get\x2C 'name'\x2C {\x0d\n __proto__: null\x2C\x0d\n value: `get ${key}`\x2C\x0d\n });\x0d\n descriptors[key] = {\x0d\n __proto__: null\x2C\x0d\n configurable: true\x2C\x0d\n enumerable\x2C\x0d\n get\x2C\x0d\n set\x2C\x0d\n };\x0d\n }\x0d\n ObjectDefineProperties(target\x2C descriptors);\x0d\n}\x0d\n\x0d\nfunction defineReplaceableLazyAttribute(target\x2C id\x2C keys\x2C writable = true\x2C check) {\x0d\n let mod;\x0d\n for (let i = 0; i < keys.length; i++) {\x0d\n const key = keys[i];\x0d\n let value;\x0d\n let setterCalled = false;\x0d\n\x0d\n function get() {\x0d\n if (check !== undefined) {\x0d\n FunctionPrototypeCall(check\x2C this);\x0d\n }\x0d\n if (setterCalled) {\x0d\n return value;\x0d\n }\x0d\n mod ??= require(id);\x0d\n value ??= mod[key];\x0d\n return value;\x0d\n }\x0d\n\x0d\n ObjectDefineProperty(get\x2C 'name'\x2C {\x0d\n __proto__: null\x2C\x0d\n value: `get ${key}`\x2C\x0d\n });\x0d\n\x0d\n function set(val) {\x0d\n setterCalled = true;\x0d\n value = val;\x0d\n }\x0d\n ObjectDefineProperty(set\x2C 'name'\x2C {\x0d\n __proto__: null\x2C\x0d\n value: `set ${key}`\x2C\x0d\n });\x0d\n\x0d\n ObjectDefineProperty(target\x2C key\x2C {\x0d\n __proto__: null\x2C\x0d\n enumerable: true\x2C\x0d\n configurable: true\x2C\x0d\n get\x2C\x0d\n set: writable ? set : undefined\x2C\x0d\n });\x0d\n }\x0d\n}\x0d\n\x0d\nfunction exposeLazyInterfaces(target\x2C id\x2C keys) {\x0d\n defineLazyProperties(target\x2C id\x2C keys\x2C false);\x0d\n}\x0d\n\x0d\nlet _DOMException;\x0d\nconst lazyDOMExceptionClass = () => {\x0d\n _DOMException ??= internalBinding('messaging').DOMException;\x0d\n return _DOMException;\x0d\n};\x0d\n\x0d\nconst lazyDOMException = (message\x2C name) => {\x0d\n _DOMException ??= internalBinding('messaging').DOMException;\x0d\n if (isErrorStackTraceLimitWritable()) {\x0d\n const limit = Error.stackTraceLimit;\x0d\n Error.stackTraceLimit = 0;\x0d\n const ex = new _DOMException(message\x2C name);\x0d\n Error.stackTraceLimit = limit;\x0d\n ErrorCaptureStackTrace(ex\x2C lazyDOMException);\x0d\n return ex;\x0d\n }\x0d\n return new _DOMException(message\x2C name);\x0d\n\x0d\n};\x0d\n\x0d\nconst kEnumerableProperty = { __proto__: null };\x0d\nkEnumerableProperty.enumerable = true;\x0d\nObjectFreeze(kEnumerableProperty);\x0d\n\x0d\nconst kEmptyObject = ObjectFreeze({ __proto__: null });\x0d\n\x0d\nfunction filterOwnProperties(source\x2C keys) {\x0d\n const filtered = { __proto__: null };\x0d\n for (let i = 0; i < keys.length; i++) {\x0d\n const key = keys[i];\x0d\n if (ObjectPrototypeHasOwnProperty(source\x2C key)) {\x0d\n filtered[key] = source[key];\x0d\n }\x0d\n }\x0d\n\x0d\n return filtered;\x0d\n}\x0d\n\x0d\n/**\x0d\n * Mimics `obj[key] = value` but ignoring potential prototype inheritance.\x0d\n * @param {any} obj\x0d\n * @param {string} key\x0d\n * @param {any} value\x0d\n * @returns {any}\x0d\n */\x0d\nfunction setOwnProperty(obj\x2C key\x2C value) {\x0d\n return ObjectDefineProperty(obj\x2C key\x2C {\x0d\n __proto__: null\x2C\x0d\n configurable: true\x2C\x0d\n enumerable: true\x2C\x0d\n value\x2C\x0d\n writable: true\x2C\x0d\n });\x0d\n}\x0d\n\x0d\nlet internalGlobal;\x0d\nfunction getInternalGlobal() {\x0d\n if (internalGlobal == null) {\x0d\n // Lazy-load to avoid a circular dependency.\x0d\n const { runInNewContext } = require('vm');\x0d\n internalGlobal = runInNewContext('this'\x2C undefined\x2C { contextName: 'internal' });\x0d\n }\x0d\n return internalGlobal;\x0d\n}\x0d\n\x0d\nfunction SideEffectFreeRegExpPrototypeExec(regex\x2C string) {\x0d\n const { RegExp: RegExpFromAnotherRealm } = getInternalGlobal();\x0d\n return FunctionPrototypeCall(RegExpFromAnotherRealm.prototype.exec\x2C regex\x2C string);\x0d\n}\x0d\n\x0d\nconst crossRelmRegexes = new SafeWeakMap();\x0d\nfunction getCrossRelmRegex(regex) {\x0d\n const cached = crossRelmRegexes.get(regex);\x0d\n if (cached) return cached;\x0d\n\x0d\n let flagString = '';\x0d\n if (RegExpPrototypeGetHasIndices(regex)) flagString += 'd';\x0d\n if (RegExpPrototypeGetGlobal(regex)) flagString += 'g';\x0d\n if (RegExpPrototypeGetIgnoreCase(regex)) flagString += 'i';\x0d\n if (RegExpPrototypeGetMultiline(regex)) flagString += 'm';\x0d\n if (RegExpPrototypeGetDotAll(regex)) flagString += 's';\x0d\n if (RegExpPrototypeGetUnicode(regex)) flagString += 'u';\x0d\n if (RegExpPrototypeGetSticky(regex)) flagString += 'y';\x0d\n\x0d\n const { RegExp: RegExpFromAnotherRealm } = getInternalGlobal();\x0d\n const crossRelmRegex = new RegExpFromAnotherRealm(RegExpPrototypeGetSource(regex)\x2C flagString);\x0d\n crossRelmRegexes.set(regex\x2C crossRelmRegex);\x0d\n return crossRelmRegex;\x0d\n}\x0d\n\x0d\nfunction SideEffectFreeRegExpPrototypeSymbolReplace(regex\x2C string\x2C replacement) {\x0d\n return getCrossRelmRegex(regex)[SymbolReplace](string\x2C replacement);\x0d\n}\x0d\n\x0d\nfunction SideEffectFreeRegExpPrototypeSymbolSplit(regex\x2C string\x2C limit = undefined) {\x0d\n return getCrossRelmRegex(regex)[SymbolSplit](string\x2C limit);\x0d\n}\x0d\n\x0d\n\x0d\nfunction isArrayBufferDetached(value) {\x0d\n if (ArrayBufferPrototypeGetByteLength(value) === 0) {\x0d\n return _isArrayBufferDetached(value);\x0d\n }\x0d\n\x0d\n return false;\x0d\n}\x0d\n\x0d\n/**\x0d\n * Helper function to lazy-load an initialize-once value.\x0d\n * @template T Return value of initializer\x0d\n * @param {()=>T} initializer Initializer of the lazily loaded value.\x0d\n * @returns {()=>T}\x0d\n */\x0d\nfunction getLazy(initializer) {\x0d\n let value;\x0d\n let initialized = false;\x0d\n return function() {\x0d\n if (initialized === false) {\x0d\n value = initializer();\x0d\n initialized = true;\x0d\n }\x0d\n return value;\x0d\n };\x0d\n}\x0d\n\x0d\n// Setup user-facing NODE_V8_COVERAGE environment variable that writes\x0d\n// ScriptCoverage objects to a specified directory.\x0d\nfunction setupCoverageHooks(dir) {\x0d\n const cwd = require('internal/process/execution').tryGetCwd();\x0d\n const { resolve } = require('path');\x0d\n const coverageDirectory = resolve(cwd\x2C dir);\x0d\n const { sourceMapCacheToObject } =\x0d\n require('internal/source_map/source_map_cache');\x0d\n\x0d\n if (process.features.inspector) {\x0d\n internalBinding('profiler').setCoverageDirectory(coverageDirectory);\x0d\n internalBinding('profiler').setSourceMapCacheGetter(sourceMapCacheToObject);\x0d\n } else {\x0d\n process.emitWarning('The inspector is disabled\x2C ' +\x0d\n 'coverage could not be collected'\x2C\x0d\n 'Warning');\x0d\n return '';\x0d\n }\x0d\n return coverageDirectory;\x0d\n}\x0d\n\x0d\n\x0d\nconst handleTypes = ['TCP'\x2C 'TTY'\x2C 'UDP'\x2C 'FILE'\x2C 'PIPE'\x2C 'UNKNOWN'];\x0d\nfunction guessHandleType(fd) {\x0d\n const type = _guessHandleType(fd);\x0d\n return handleTypes[type];\x0d\n}\x0d\n\x0d\nclass WeakReference {\x0d\n #weak = null;\x0d\n #strong = null;\x0d\n #refCount = 0;\x0d\n constructor(object) {\x0d\n this.#weak = new SafeWeakRef(object);\x0d\n }\x0d\n\x0d\n incRef() {\x0d\n this.#refCount++;\x0d\n if (this.#refCount === 1) {\x0d\n const derefed = this.#weak.deref();\x0d\n if (derefed !== undefined) {\x0d\n this.#strong = derefed;\x0d\n }\x0d\n }\x0d\n return this.#refCount;\x0d\n }\x0d\n\x0d\n decRef() {\x0d\n this.#refCount--;\x0d\n if (this.#refCount === 0) {\x0d\n this.#strong = null;\x0d\n }\x0d\n return this.#refCount;\x0d\n }\x0d\n\x0d\n get() {\x0d\n return this.#weak.deref();\x0d\n }\x0d\n}\x0d\n\x0d\nconst encodingsMap = { __proto__: null };\x0d\nfor (let i = 0; i < encodings.length; ++i)\x0d\n encodingsMap[encodings[i]] = i;\x0d\n\x0d\nmodule.exports = {\x0d\n getLazy\x2C\x0d\n assertCrypto\x2C\x0d\n cachedResult\x2C\x0d\n convertToValidSignal\x2C\x0d\n createClassWrapper\x2C\x0d\n createDeferredPromise\x2C\x0d\n decorateErrorStack\x2C\x0d\n defineOperation\x2C\x0d\n defineLazyProperties\x2C\x0d\n defineReplaceableLazyAttribute\x2C\x0d\n deprecate\x2C\x0d\n emitExperimentalWarning\x2C\x0d\n encodingsMap\x2C\x0d\n exposeInterface\x2C\x0d\n exposeLazyInterfaces\x2C\x0d\n exposeNamespace\x2C\x0d\n exposeGetterAndSetter\x2C\x0d\n filterDuplicateStrings\x2C\x0d\n filterOwnProperties\x2C\x0d\n getConstructorOf\x2C\x0d\n getCWDURL\x2C\x0d\n getInternalGlobal\x2C\x0d\n getSystemErrorMap\x2C\x0d\n getSystemErrorName\x2C\x0d\n guessHandleType\x2C\x0d\n isArrayBufferDetached\x2C\x0d\n isError\x2C\x0d\n isInsideNodeModules\x2C\x0d\n join\x2C\x0d\n lazyDOMException\x2C\x0d\n lazyDOMExceptionClass\x2C\x0d\n normalizeEncoding\x2C\x0d\n once\x2C\x0d\n promisify\x2C\x0d\n SideEffectFreeRegExpPrototypeExec\x2C\x0d\n SideEffectFreeRegExpPrototypeSymbolReplace\x2C\x0d\n SideEffectFreeRegExpPrototypeSymbolSplit\x2C\x0d\n sleep\x2C\x0d\n spliceOne\x2C\x0d\n setupCoverageHooks\x2C\x0d\n removeColors\x2C\x0d\n\x0d\n // Symbol used to customize promisify conversion\x0d\n customPromisifyArgs: kCustomPromisifyArgsSymbol\x2C\x0d\n\x0d\n // Symbol used to provide a custom inspect function for an object as an\x0d\n // alternative to using 'inspect'\x0d\n customInspectSymbol: SymbolFor('nodejs.util.inspect.custom')\x2C\x0d\n\x0d\n // Used by the buffer module to capture an internal reference to the\x0d\n // default isEncoding implementation\x2C just in case userland overrides it.\x0d\n kIsEncodingSymbol: Symbol('kIsEncodingSymbol')\x2C\x0d\n kVmBreakFirstLineSymbol: Symbol('kVmBreakFirstLineSymbol')\x2C\x0d\n\x0d\n kEmptyObject\x2C\x0d\n kEnumerableProperty\x2C\x0d\n setOwnProperty\x2C\x0d\n pendingDeprecate\x2C\x0d\n WeakReference\x2C\x0d\n};\x0d\n
code-source-info,0x7ff739bc3040,16,17299,18241,,,
code-creation,JS,11,267309,0x7ff739bc3a40,628,requireBuiltin node:internal/bootstrap/realm:420:24,0x14d495bbe18,^
script-source,9,node:internal/bootstrap/realm,// This file is executed in every realm that is created by Node.js\x2C including\x0d\n// the context of main thread\x2C worker threads\x2C and ShadowRealms.\x0d\n// Only per-realm internal states and bindings should be bootstrapped in this\x0d\n// file and no globals should be exposed to the user code.\x0d\n//\x0d\n// This file creates the internal module & binding loaders used by built-in\x0d\n// modules. In contrast\x2C user land modules are loaded using\x0d\n// lib/internal/modules/cjs/loader.js (CommonJS Modules) or\x0d\n// lib/internal/modules/esm/* (ES Modules).\x0d\n//\x0d\n// This file is compiled and run by node.cc before bootstrap/node.js\x0d\n// was called\x2C therefore the loaders are bootstrapped before we start to\x0d\n// actually bootstrap Node.js. It creates the following objects:\x0d\n//\x0d\n// C++ binding loaders:\x0d\n// - process.binding(): the legacy C++ binding loader\x2C accessible from user land\x0d\n// because it is an object attached to the global process object.\x0d\n// These C++ bindings are created using NODE_BUILTIN_MODULE_CONTEXT_AWARE()\x0d\n// and have their nm_flags set to NM_F_BUILTIN. We do not make any guarantees\x0d\n// about the stability of these bindings\x2C but still have to take care of\x0d\n// compatibility issues caused by them from time to time.\x0d\n// - process._linkedBinding(): intended to be used by embedders to add\x0d\n// additional C++ bindings in their applications. These C++ bindings\x0d\n// can be created using NODE_BINDING_CONTEXT_AWARE_CPP() with the flag\x0d\n// NM_F_LINKED.\x0d\n// - internalBinding(): the private internal C++ binding loader\x2C inaccessible\x0d\n// from user land unless through `require('internal/test/binding')`.\x0d\n// These C++ bindings are created using NODE_BINDING_CONTEXT_AWARE_INTERNAL()\x0d\n// and have their nm_flags set to NM_F_INTERNAL.\x0d\n//\x0d\n// Internal JavaScript module loader:\x0d\n// - BuiltinModule: a minimal module system used to load the JavaScript core\x0d\n// modules found in lib/**/*.js and deps/**/*.js. All core modules are\x0d\n// compiled into the node binary via node_javascript.cc generated by js2c.cc\x2C\x0d\n// so they can be loaded faster without the cost of I/O. This class makes the\x0d\n// lib/internal/*\x2C deps/internal/* modules and internalBinding() available by\x0d\n// default to core modules\x2C and lets the core modules require itself via\x0d\n// require('internal/bootstrap/realm') even when this file is not written in\x0d\n// CommonJS style.\x0d\n//\x0d\n// Other objects:\x0d\n// - process.moduleLoadList: an array recording the bindings and the modules\x0d\n// loaded in the process and the order in which they are loaded.\x0d\n\x0d\n'use strict';\x0d\n\x0d\n// This file is compiled as if it's wrapped in a function with arguments\x0d\n// passed by node::RunBootstrapping()\x0d\n/* global process\x2C getLinkedBinding\x2C getInternalBinding\x2C primordials */\x0d\n\x0d\nconst {\x0d\n ArrayFrom\x2C\x0d\n ArrayPrototypeFilter\x2C\x0d\n ArrayPrototypeIncludes\x2C\x0d\n ArrayPrototypeMap\x2C\x0d\n ArrayPrototypePush\x2C\x0d\n ArrayPrototypeSlice\x2C\x0d\n Error\x2C\x0d\n ObjectDefineProperty\x2C\x0d\n ObjectKeys\x2C\x0d\n ObjectPrototypeHasOwnProperty\x2C\x0d\n ObjectSetPrototypeOf\x2C\x0d\n ReflectGet\x2C\x0d\n SafeMap\x2C\x0d\n SafeSet\x2C\x0d\n String\x2C\x0d\n StringPrototypeStartsWith\x2C\x0d\n StringPrototypeSlice\x2C\x0d\n TypeError\x2C\x0d\n} = primordials;\x0d\n\x0d\n// Set up process.moduleLoadList.\x0d\nconst moduleLoadList = [];\x0d\nObjectDefineProperty(process\x2C 'moduleLoadList'\x2C {\x0d\n __proto__: null\x2C\x0d\n value: moduleLoadList\x2C\x0d\n configurable: true\x2C\x0d\n enumerable: true\x2C\x0d\n writable: false\x2C\x0d\n});\x0d\n\x0d\n\x0d\n// processBindingAllowList contains the name of bindings that are allowed\x0d\n// for access via process.binding(). This is used to provide a transition\x0d\n// path for modules that are being moved over to internalBinding.\x0d\n// Certain bindings may not actually correspond to an internalBinding any\x0d\n// more\x2C we just implement them as legacy wrappers instead. See the\x0d\n// legacyWrapperList.\x0d\nconst processBindingAllowList = new SafeSet([\x0d\n 'buffer'\x2C\x0d\n 'cares_wrap'\x2C\x0d\n 'config'\x2C\x0d\n 'constants'\x2C\x0d\n 'contextify'\x2C\x0d\n 'fs'\x2C\x0d\n 'fs_event_wrap'\x2C\x0d\n 'icu'\x2C\x0d\n 'inspector'\x2C\x0d\n 'js_stream'\x2C\x0d\n 'os'\x2C\x0d\n 'pipe_wrap'\x2C\x0d\n 'process_wrap'\x2C\x0d\n 'spawn_sync'\x2C\x0d\n 'stream_wrap'\x2C\x0d\n 'tcp_wrap'\x2C\x0d\n 'tls_wrap'\x2C\x0d\n 'tty_wrap'\x2C\x0d\n 'udp_wrap'\x2C\x0d\n 'uv'\x2C\x0d\n 'zlib'\x2C\x0d\n]);\x0d\n\x0d\nconst runtimeDeprecatedList = new SafeSet([\x0d\n 'async_wrap'\x2C\x0d\n 'crypto'\x2C\x0d\n 'http_parser'\x2C\x0d\n 'signal_wrap'\x2C\x0d\n 'url'\x2C\x0d\n 'v8'\x2C\x0d\n]);\x0d\n\x0d\nconst legacyWrapperList = new SafeSet([\x0d\n 'natives'\x2C\x0d\n 'util'\x2C\x0d\n]);\x0d\n\x0d\n// The code bellow assumes that the two lists must not contain any modules\x0d\n// beginning with "internal/".\x0d\n// Modules that can only be imported via the node: scheme.\x0d\nconst schemelessBlockList = new SafeSet([\x0d\n 'sea'\x2C\x0d\n 'test'\x2C\x0d\n 'test/reporters'\x2C\x0d\n]);\x0d\n// Modules that will only be enabled at run time.\x0d\nconst experimentalModuleList = new SafeSet();\x0d\n\x0d\n// Set up process.binding() and process._linkedBinding().\x0d\n{\x0d\n const bindingObj = { __proto__: null };\x0d\n\x0d\n process.binding = function binding(module) {\x0d\n module = String(module);\x0d\n const mod = bindingObj[module];\x0d\n if (typeof mod === 'object') {\x0d\n return mod;\x0d\n }\x0d\n // Deprecated specific process.binding() modules\x2C but not all\x2C allow\x0d\n // selective fallback to internalBinding for the deprecated ones.\x0d\n if (runtimeDeprecatedList.has(module)) {\x0d\n process.emitWarning(\x0d\n `Access to process.binding('${module}') is deprecated.`\x2C\x0d\n 'DeprecationWarning'\x2C\x0d\n 'DEP0111');\x0d\n return internalBinding(module);\x0d\n }\x0d\n if (legacyWrapperList.has(module)) {\x0d\n return requireBuiltin('internal/legacy/processbinding')[module]();\x0d\n }\x0d\n if (processBindingAllowList.has(module)) {\x0d\n return internalBinding(module);\x0d\n }\x0d\n // eslint-disable-next-line no-restricted-syntax\x0d\n throw new Error(`No such module: ${module}`);\x0d\n };\x0d\n\x0d\n process._linkedBinding = function _linkedBinding(module) {\x0d\n module = String(module);\x0d\n let mod = bindingObj[module];\x0d\n if (typeof mod !== 'object')\x0d\n mod = bindingObj[module] = getLinkedBinding(module);\x0d\n return mod;\x0d\n };\x0d\n}\x0d\n\x0d\n/**\x0d\n * Set up internalBinding() in the closure.\x0d\n * @type {import('typings/globals').internalBinding}\x0d\n */\x0d\nlet internalBinding;\x0d\n{\x0d\n const bindingObj = { __proto__: null };\x0d\n // eslint-disable-next-line no-global-assign\x0d\n internalBinding = function internalBinding(module) {\x0d\n let mod = bindingObj[module];\x0d\n if (typeof mod !== 'object') {\x0d\n mod = bindingObj[module] = getInternalBinding(module);\x0d\n ArrayPrototypePush(moduleLoadList\x2C `Internal Binding ${module}`);\x0d\n }\x0d\n return mod;\x0d\n };\x0d\n}\x0d\n\x0d\nconst selfId = 'internal/bootstrap/realm';\x0d\nconst {\x0d\n builtinIds\x2C\x0d\n compileFunction\x2C\x0d\n setInternalLoaders\x2C\x0d\n} = internalBinding('builtins');\x0d\n\x0d\nconst { ModuleWrap } = internalBinding('module_wrap');\x0d\nObjectSetPrototypeOf(ModuleWrap.prototype\x2C null);\x0d\n\x0d\nconst getOwn = (target\x2C property\x2C receiver) => {\x0d\n return ObjectPrototypeHasOwnProperty(target\x2C property) ?\x0d\n ReflectGet(target\x2C property\x2C receiver) :\x0d\n undefined;\x0d\n};\x0d\n\x0d\nconst publicBuiltinIds = builtinIds\x0d\n .filter((id) =>\x0d\n !StringPrototypeStartsWith(id\x2C 'internal/') &&\x0d\n !experimentalModuleList.has(id)\x2C\x0d\n );\x0d\n// Do not expose the loaders to user land even with --expose-internals.\x0d\nconst internalBuiltinIds = builtinIds\x0d\n .filter((id) => StringPrototypeStartsWith(id\x2C 'internal/') && id !== selfId);\x0d\n\x0d\n// When --expose-internals is on we'll add the internal builtin ids to these.\x0d\nlet canBeRequiredByUsersList = new SafeSet(publicBuiltinIds);\x0d\nlet canBeRequiredByUsersWithoutSchemeList =\x0d\n new SafeSet(publicBuiltinIds.filter((id) => !schemelessBlockList.has(id)));\x0d\n\x0d\n/**\x0d\n * An internal abstraction for the built-in JavaScript modules of Node.js.\x0d\n * Be careful not to expose this to user land unless --expose-internals is\x0d\n * used\x2C in which case there is no compatibility guarantee about this class.\x0d\n */\x0d\nclass BuiltinModule {\x0d\n /**\x0d\n * A map from the module IDs to the module instances.\x0d\n * @type {Map<string\x2C BuiltinModule>}\x0d\n */\x0d\n static map = new SafeMap(\x0d\n ArrayPrototypeMap(builtinIds\x2C (id) => [id\x2C new BuiltinModule(id)])\x2C\x0d\n );\x0d\n\x0d\n constructor(id) {\x0d\n this.filename = `${id}.js`;\x0d\n this.id = id;\x0d\n\x0d\n // The CJS exports object of the module.\x0d\n this.exports = {};\x0d\n // States used to work around circular dependencies.\x0d\n this.loaded = false;\x0d\n this.loading = false;\x0d\n\x0d\n // The following properties are used by the ESM implementation and only\x0d\n // initialized when the built-in module is loaded by users.\x0d\n /**\x0d\n * The C++ ModuleWrap binding used to interface with the ESM implementation.\x0d\n * @type {ModuleWrap|undefined}\x0d\n */\x0d\n this.module = undefined;\x0d\n /**\x0d\n * Exported names for the ESM imports.\x0d\n * @type {string[]|undefined}\x0d\n */\x0d\n this.exportKeys = undefined;\x0d\n }\x0d\n\x0d\n static allowRequireByUsers(id) {\x0d\n if (id === selfId) {\x0d\n // No code because this is an assertion against bugs.\x0d\n // eslint-disable-next-line no-restricted-syntax\x0d\n throw new Error(`Should not allow ${id}`);\x0d\n }\x0d\n canBeRequiredByUsersList.add(id);\x0d\n if (!schemelessBlockList.has(id)) {\x0d\n canBeRequiredByUsersWithoutSchemeList.add(id);\x0d\n }\x0d\n }\x0d\n\x0d\n static setRealmAllowRequireByUsers(ids) {\x0d\n canBeRequiredByUsersList =\x0d\n new SafeSet(ArrayPrototypeFilter(ids\x2C (id) => ArrayPrototypeIncludes(publicBuiltinIds\x2C id)));\x0d\n canBeRequiredByUsersWithoutSchemeList =\x0d\n new SafeSet(ArrayPrototypeFilter(ids\x2C (id) => !schemelessBlockList.has(id)));\x0d\n }\x0d\n\x0d\n // To be called during pre-execution when --expose-internals is on.\x0d\n // Enables the user-land module loader to access internal modules.\x0d\n static exposeInternals() {\x0d\n for (let i = 0; i < internalBuiltinIds.length; ++i) {\x0d\n BuiltinModule.allowRequireByUsers(internalBuiltinIds[i]);\x0d\n }\x0d\n }\x0d\n\x0d\n static exists(id) {\x0d\n return BuiltinModule.map.has(id);\x0d\n }\x0d\n\x0d\n static canBeRequiredByUsers(id) {\x0d\n return canBeRequiredByUsersList.has(id);\x0d\n }\x0d\n\x0d\n static canBeRequiredWithoutScheme(id) {\x0d\n return canBeRequiredByUsersWithoutSchemeList.has(id);\x0d\n }\x0d\n\x0d\n static normalizeRequirableId(id) {\x0d\n if (StringPrototypeStartsWith(id\x2C 'node:')) {\x0d\n const normalizedId = StringPrototypeSlice(id\x2C 5);\x0d\n if (BuiltinModule.canBeRequiredByUsers(normalizedId)) {\x0d\n return normalizedId;\x0d\n }\x0d\n } else if (BuiltinModule.canBeRequiredWithoutScheme(id)) {\x0d\n return id;\x0d\n }\x0d\n\x0d\n return undefined;\x0d\n }\x0d\n\x0d\n static isBuiltin(id) {\x0d\n return BuiltinModule.canBeRequiredWithoutScheme(id) || (\x0d\n typeof id === 'string' &&\x0d\n StringPrototypeStartsWith(id\x2C 'node:') &&\x0d\n BuiltinModule.canBeRequiredByUsers(StringPrototypeSlice(id\x2C 5))\x0d\n );\x0d\n }\x0d\n\x0d\n static getCanBeRequiredByUsersWithoutSchemeList() {\x0d\n return ArrayFrom(canBeRequiredByUsersWithoutSchemeList);\x0d\n }\x0d\n\x0d\n static getSchemeOnlyModuleNames() {\x0d\n return ArrayFrom(schemelessBlockList);\x0d\n }\x0d\n\x0d\n // Used by user-land module loaders to compile and load builtins.\x0d\n compileForPublicLoader() {\x0d\n if (!BuiltinModule.canBeRequiredByUsers(this.id)) {\x0d\n // No code because this is an assertion against bugs\x0d\n // eslint-disable-next-line no-restricted-syntax\x0d\n throw new Error(`Should not compile ${this.id} for public use`);\x0d\n }\x0d\n this.compileForInternalLoader();\x0d\n if (!this.exportKeys) {\x0d\n // When using --expose-internals\x2C we do not want to reflect the named\x0d\n // exports from core modules as this can trigger unnecessary getters.\x0d\n const internal = StringPrototypeStartsWith(this.id\x2C 'internal/');\x0d\n this.exportKeys = internal ? [] : ObjectKeys(this.exports);\x0d\n }\x0d\n return this.exports;\x0d\n }\x0d\n\x0d\n getESMFacade() {\x0d\n if (this.module) return this.module;\x0d\n const url = `node:${this.id}`;\x0d\n const builtin = this;\x0d\n const exportsKeys = ArrayPrototypeSlice(this.exportKeys);\x0d\n if (!ArrayPrototypeIncludes(exportsKeys\x2C 'default')) {\x0d\n ArrayPrototypePush(exportsKeys\x2C 'default');\x0d\n }\x0d\n this.module = new ModuleWrap(\x0d\n url\x2C undefined\x2C exportsKeys\x2C\x0d\n function() {\x0d\n builtin.syncExports();\x0d\n this.setExport('default'\x2C builtin.exports);\x0d\n });\x0d\n // Ensure immediate sync execution to capture exports now\x0d\n this.module.instantiate();\x0d\n this.module.evaluate(-1\x2C false);\x0d\n return this.module;\x0d\n }\x0d\n\x0d\n // Provide named exports for all builtin libraries so that the libraries\x0d\n // may be imported in a nicer way for ESM users. The default export is left\x0d\n // as the entire namespace (module.exports) and updates when this function is\x0d\n // called so that APMs and other behavior are supported.\x0d\n syncExports() {\x0d\n const names = this.exportKeys;\x0d\n if (this.module) {\x0d\n for (let i = 0; i < names.length; i++) {\x0d\n const exportName = names[i];\x0d\n if (exportName === 'default') continue;\x0d\n this.module.setExport(exportName\x2C\x0d\n getOwn(this.exports\x2C exportName\x2C this.exports));\x0d\n }\x0d\n }\x0d\n }\x0d\n\x0d\n compileForInternalLoader() {\x0d\n if (this.loaded || this.loading) {\x0d\n return this.exports;\x0d\n }\x0d\n\x0d\n const id = this.id;\x0d\n this.loading = true;\x0d\n\x0d\n try {\x0d\n const requireFn = StringPrototypeStartsWith(this.id\x2C 'internal/deps/') ?\x0d\n requireWithFallbackInDeps : requireBuiltin;\x0d\n\x0d\n const fn = compileFunction(id);\x0d\n // Arguments must match the parameters specified in\x0d\n // BuiltinLoader::LookupAndCompile().\x0d\n fn(this.exports\x2C requireFn\x2C this\x2C process\x2C internalBinding\x2C primordials);\x0d\n\x0d\n this.loaded = true;\x0d\n } finally {\x0d\n this.loading = false;\x0d\n }\x0d\n\x0d\n // "NativeModule" is a legacy name of "BuiltinModule". We keep it\x0d\n // here to avoid breaking users who parse process.moduleLoadList.\x0d\n ArrayPrototypePush(moduleLoadList\x2C `NativeModule ${id}`);\x0d\n return this.exports;\x0d\n }\x0d\n}\x0d\n\x0d\n// Think of this as module.exports in this file even though it is not\x0d\n// written in CommonJS style.\x0d\nconst loaderExports = {\x0d\n internalBinding\x2C\x0d\n BuiltinModule\x2C\x0d\n require: requireBuiltin\x2C\x0d\n};\x0d\n\x0d\nfunction requireBuiltin(id) {\x0d\n if (id === selfId) {\x0d\n return loaderExports;\x0d\n }\x0d\n\x0d\n const mod = BuiltinModule.map.get(id);\x0d\n // Can't load the internal errors module from here\x2C have to use a raw error.\x0d\n // eslint-disable-next-line no-restricted-syntax\x0d\n if (!mod) throw new TypeError(`Missing internal module '${id}'`);\x0d\n return mod.compileForInternalLoader();\x0d\n}\x0d\n\x0d\n// Allow internal modules from dependencies to require\x0d\n// other modules from dependencies by providing fallbacks.\x0d\nfunction requireWithFallbackInDeps(request) {\x0d\n if (StringPrototypeStartsWith(request\x2C 'node:')) {\x0d\n request = StringPrototypeSlice(request\x2C 5);\x0d\n } else if (!BuiltinModule.map.has(request)) {\x0d\n request = `internal/deps/${request}`;\x0d\n }\x0d\n return requireBuiltin(request);\x0d\n}\x0d\n\x0d\nfunction setupPrepareStackTrace() {\x0d\n const {\x0d\n setEnhanceStackForFatalException\x2C\x0d\n setPrepareStackTraceCallback\x2C\x0d\n } = internalBinding('errors');\x0d\n const {\x0d\n prepareStackTraceCallback\x2C\x0d\n ErrorPrepareStackTrace\x2C\x0d\n fatalExceptionStackEnhancers: {\x0d\n beforeInspector\x2C\x0d\n afterInspector\x2C\x0d\n }\x2C\x0d\n } = requireBuiltin('internal/errors');\x0d\n // Tell our PrepareStackTraceCallback passed to the V8 API\x0d\n // to call prepareStackTrace().\x0d\n setPrepareStackTraceCallback(prepareStackTraceCallback);\x0d\n // Set the function used to enhance the error stack for printing\x0d\n setEnhanceStackForFatalException(beforeInspector\x2C afterInspector);\x0d\n // Setup the default Error.prepareStackTrace.\x0d\n ObjectDefineProperty(Error\x2C 'prepareStackTrace'\x2C {\x0d\n __proto__: null\x2C\x0d\n writable: true\x2C\x0d\n enumerable: false\x2C\x0d\n configurable: true\x2C\x0d\n value: ErrorPrepareStackTrace\x2C\x0d\n });\x0d\n}\x0d\n\x0d\n// Store the internal loaders in C++.\x0d\nsetInternalLoaders(internalBinding\x2C requireBuiltin);\x0d\n\x0d\n// Setup per-realm bindings.\x0d\nsetupPrepareStackTrace();\x0d\n
code-source-info,0x7ff739bc3a40,9,13946,14298,,,
code-creation,JS,11,267938,0x7ff739bc3d00,1228,compileForInternalLoader node:internal/bootstrap/realm:383:27,0x14d495bbba0,^
code-source-info,0x7ff739bc3d00,9,12893,13717,,,
code-creation,JS,11,267961,0x7ff739bc4200,536,internalBinding node:internal/bootstrap/realm:184:45,0x14d495bb378,^
code-source-info,0x7ff739bc4200,9,6188,6433,,,
code-creation,JS,11,267980,0x7ff739bc4440,96,getOptionValue node:internal/options:44:24,0x39e2db4a220,^
code-source-info,0x7ff739bc4440,17,1015,1118,,,
code-creation,JS,11,267997,0x7ff739bc44c0,132,exposeLazyInterfaces node:internal/util:683:30,0x39e2db494c0,^
code-source-info,0x7ff739bc44c0,16,19219,19292,,,
code-creation,JS,10,268112,0x23c519533d6,70,setupCustomEvent node:internal/process/pre_execution:381:26,0x3b02002698,~
code-source-info,0x23c519533d6,68,12423,12682,C0O12431C5O12435C9O12455C17O12483C23O12483C29O12546C30O12553C31O12586C37O12586C42O12570C47O12623C54O12639C63O12623C69O12681,,
code-creation,JS,10,268191,0x23c51953576,64,setupCodeCoverage node:internal/process/pre_execution:366:27,0x3b02002648,~
code-source-info,0x23c51953576,68,11782,12288,C0O12094C3O12106C8O12110C16O12138C22O12138C28O12193C31O12201C38O12231C44O12258C49O12262C54O12231C58O12222C63O12287,,
code-creation,JS,10,268245,0x23c5195372e,75,setupDebugEnv node:internal/process/pre_execution:412:23,0x3b020027b0,~
code-source-info,0x23c5195372e,68,13208,13422,C0O13216C6O13216C11O13249C19O13277C24O13281C29O13250C34O13297C42O13301C48O13346C54O13346C59O13381C64O13395C69O13396C74O13421,,
code-creation,JS,10,268343,0x23c51953a96,153,initializeDebugEnv node:internal/util/debuglog:21:28,0x39e2db4fc20,~
script-source,22,node:internal/util/debuglog,'use strict';\x0d\n\x0d\nconst {\x0d\n ObjectDefineProperty\x2C\x0d\n RegExp\x2C\x0d\n RegExpPrototypeExec\x2C\x0d\n SafeArrayIterator\x2C\x0d\n StringPrototypeToLowerCase\x2C\x0d\n StringPrototypeToUpperCase\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst { inspect\x2C format\x2C formatWithOptions } = require('internal/util/inspect');\x0d\n\x0d\n// `debugImpls` and `testEnabled` are deliberately not initialized so any call\x0d\n// to `debuglog()` before `initializeDebugEnv()` is called will throw.\x0d\nlet debugImpls;\x0d\nlet testEnabled;\x0d\n\x0d\n\x0d\n// `debugEnv` is initial value of process.env.NODE_DEBUG\x0d\nfunction initializeDebugEnv(debugEnv) {\x0d\n debugImpls = { __proto__: null };\x0d\n if (debugEnv) {\x0d\n // This is run before any user code\x2C it's OK not to use primordials.\x0d\n debugEnv = debugEnv.replace(/[|\\\\{}()[\\]^$+?.]/g\x2C '\\\\$&')\x0d\n .replaceAll('*'\x2C '.*')\x0d\n .replaceAll('\x2C'\x2C '$|^');\x0d\n const debugEnvRegex = new RegExp(`^${debugEnv}$`\x2C 'i');\x0d\n testEnabled = (str) => RegExpPrototypeExec(debugEnvRegex\x2C str) !== null;\x0d\n } else {\x0d\n testEnabled = () => false;\x0d\n }\x0d\n}\x0d\n\x0d\n// Emits warning when user sets\x0d\n// NODE_DEBUG=http or NODE_DEBUG=http2.\x0d\nfunction emitWarningIfNeeded(set) {\x0d\n if ('HTTP' === set || 'HTTP2' === set) {\x0d\n process.emitWarning('Setting the NODE_DEBUG environment variable ' +\x0d\n 'to \\'' + StringPrototypeToLowerCase(set) + '\\' can expose sensitive ' +\x0d\n 'data (such as passwords\x2C tokens and authentication headers) ' +\x0d\n 'in the resulting log.');\x0d\n }\x0d\n}\x0d\n\x0d\nconst noop = () => {};\x0d\n\x0d\nlet utilColors;\x0d\nfunction lazyUtilColors() {\x0d\n utilColors ??= require('internal/util/colors');\x0d\n return utilColors;\x0d\n}\x0d\n\x0d\nfunction debuglogImpl(enabled\x2C set) {\x0d\n if (debugImpls[set] === undefined) {\x0d\n if (enabled) {\x0d\n const pid = process.pid;\x0d\n emitWarningIfNeeded(set);\x0d\n debugImpls[set] = function debug(...args) {\x0d\n const colors = lazyUtilColors().shouldColorize(process.stderr);\x0d\n const msg = formatWithOptions({ colors }\x2C ...args);\x0d\n const coloredPID = inspect(pid\x2C { colors });\x0d\n process.stderr.write(format('%s %s: %s\\n'\x2C set\x2C coloredPID\x2C msg));\x0d\n };\x0d\n } else {\x0d\n debugImpls[set] = noop;\x0d\n }\x0d\n }\x0d\n return debugImpls[set];\x0d\n}\x0d\n\x0d\n// debuglogImpl depends on process.pid and process.env.NODE_DEBUG\x2C\x0d\n// so it needs to be called lazily in top scopes of internal modules\x0d\n// that may be loaded before these run time states are allowed to\x0d\n// be accessed.\x0d\nfunction debuglog(set\x2C cb) {\x0d\n function init() {\x0d\n set = StringPrototypeToUpperCase(set);\x0d\n enabled = testEnabled(set);\x0d\n }\x0d\n let debug = (...args) => {\x0d\n init();\x0d\n // Only invokes debuglogImpl() when the debug function is\x0d\n // called for the first time.\x0d\n debug = debuglogImpl(enabled\x2C set);\x0d\n if (typeof cb === 'function')\x0d\n cb(debug);\x0d\n switch (args.length) {\x0d\n case 1: return debug(args[0]);\x0d\n case 2: return debug(args[0]\x2C args[1]);\x0d\n default: return debug(...new SafeArrayIterator(args));\x0d\n }\x0d\n };\x0d\n let enabled;\x0d\n let test = () => {\x0d\n init();\x0d\n test = () => enabled;\x0d\n return enabled;\x0d\n };\x0d\n const logger = (...args) => {\x0d\n switch (args.length) {\x0d\n case 1: return debug(args[0]);\x0d\n case 2: return debug(args[0]\x2C args[1]);\x0d\n default: return debug(...new SafeArrayIterator(args));\x0d\n }\x0d\n };\x0d\n ObjectDefineProperty(logger\x2C 'enabled'\x2C {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n return test();\x0d\n }\x2C\x0d\n configurable: true\x2C\x0d\n enumerable: true\x2C\x0d\n });\x0d\n return logger;\x0d\n}\x0d\n\x0d\nmodule.exports = {\x0d\n debuglog\x2C\x0d\n initializeDebugEnv\x2C\x0d\n};\x0d\n
code-source-info,0x23c51953a96,22,550,1008,C0O566C7O577C13O603C24O718C38O718C45O763C56O764C63O793C74O794C82O845C94O860C110O845C115O845C117O884C126O896C138O974C145O986C152O1007,,
code-creation,JS,10,268548,0x23c51954176,31,initializeReport node:internal/process/pre_execution:400:26,0x3b02002738,~
code-source-info,0x23c51954176,68,12948,13182,C0O12956C11O12977C16O13073C24O12956C30O13181,,
code-creation,JS,10,268671,0x23c519548ce,552,initializePermission node:internal/process/pre_execution:565:30,0x3b02002a58,~
code-source-info,0x23c519548ce,68,18418,20450,C0O18457C8O18457C13O18505C15O18540C22O18556C26O18732C37O18745C42O18732C46O18768C54O18768C58O18828C64O18828C69O18820C74O18891C79O19030C96O19022C126O19022C129O19050C135O19054C141O19087C145O19095C157O19131C172O19174C181O19095C187O19011C257O19294C262O19381C279O19373C309O19373C312O19420C318O19420C323O19459C331O19466C337O19480C342O19484C352O19484C359O19510C363O19518C375O19549C390O19579C397O19653C404O19697C413O19518C419O19362C489O19832C500O19853C505O19969C513O19980C523O19832C530O20054C535O20227C540O20249C545O20227C551O20449,,
code-creation,JS,10,268753,0x23c51954cee,34, node:internal/process/pre_execution:622:53,0x23c51954570,~
code-source-info,0x23c51954cee,68,20275,20440,C0O20308C5O20308C10O20347C16O20366C26O20372C31O20366C33O20439,,
code-creation,JS,10,268794,0x23c51954e3e,35,initializeSourceMapsHandlers node:internal/process/pre_execution:703:38,0x3b02002bd0,~
code-source-info,0x23c51954e3e,68,23092,23258,C0O23142C6O23142C11O23113C16O23194C18O23215C24O23215C29O23194C34O23257,,
code-creation,JS,10,268865,0x23c51955026,94,setSourceMapsEnabled node:internal/source_map/source_map_cache:55:30,0x39e2db6a8c0,~
script-source,43,node:internal/source_map/source_map_cache,'use strict';\x0d\n\x0d\nconst {\x0d\n ArrayPrototypePush\x2C\x0d\n JSONParse\x2C\x0d\n ObjectKeys\x2C\x0d\n RegExpPrototypeExec\x2C\x0d\n SafeMap\x2C\x0d\n StringPrototypeCodePointAt\x2C\x0d\n StringPrototypeSplit\x2C\x0d\n} = primordials;\x0d\n\x0d\n// See https://sourcemaps.info/spec.html for SourceMap V3 specification.\x0d\nconst { Buffer } = require('buffer');\x0d\nlet debug = require('internal/util/debuglog').debuglog('source_map'\x2C (fn) => {\x0d\n debug = fn;\x0d\n});\x0d\n\x0d\nconst { validateBoolean } = require('internal/validators');\x0d\nconst {\x0d\n setSourceMapsEnabled: setSourceMapsNative\x2C\x0d\n} = internalBinding('errors');\x0d\nconst {\x0d\n setInternalPrepareStackTrace\x2C\x0d\n} = require('internal/errors');\x0d\nconst { getLazy } = require('internal/util');\x0d\n\x0d\n// Since the CJS module cache is mutable\x2C which leads to memory leaks when\x0d\n// modules are deleted\x2C we use a WeakMap so that the source map cache will\x0d\n// be purged automatically:\x0d\nconst getCjsSourceMapCache = getLazy(() => {\x0d\n const { IterableWeakMap } = require('internal/util/iterable_weak_map');\x0d\n return new IterableWeakMap();\x0d\n});\x0d\n\x0d\n// The esm cache is not mutable\x2C so we can use a Map without memory concerns:\x0d\nconst esmSourceMapCache = new SafeMap();\x0d\n// The generated sources is not mutable\x2C so we can use a Map without memory concerns:\x0d\nconst generatedSourceMapCache = new SafeMap();\x0d\nconst kLeadingProtocol = /^\\w+:\\/\\//;\x0d\nconst kSourceMappingURLMagicComment = /\\/[*/]#\\s+sourceMappingURL=(?<sourceMappingURL>[^\\s]+)/g;\x0d\nconst kSourceURLMagicComment = /\\/[*/]#\\s+sourceURL=(?<sourceURL>[^\\s]+)/g;\x0d\n\x0d\nconst { isAbsolute } = require('path');\x0d\nconst { fileURLToPath\x2C pathToFileURL\x2C URL } = require('internal/url');\x0d\n\x0d\nlet SourceMap;\x0d\n\x0d\n// This is configured with --enable-source-maps during pre-execution.\x0d\nlet sourceMapsEnabled = false;\x0d\nfunction getSourceMapsEnabled() {\x0d\n return sourceMapsEnabled;\x0d\n}\x0d\n\x0d\nfunction setSourceMapsEnabled(val) {\x0d\n validateBoolean(val\x2C 'val');\x0d\n\x0d\n setSourceMapsNative(val);\x0d\n if (val) {\x0d\n const {\x0d\n prepareStackTraceWithSourceMaps\x2C\x0d\n } = require('internal/source_map/prepare_stack_trace');\x0d\n setInternalPrepareStackTrace(prepareStackTraceWithSourceMaps);\x0d\n } else if (sourceMapsEnabled !== undefined) {\x0d\n // Reset prepare stack trace callback only when disabling source maps.\x0d\n const {\x0d\n defaultPrepareStackTrace\x2C\x0d\n } = require('internal/errors');\x0d\n setInternalPrepareStackTrace(defaultPrepareStackTrace);\x0d\n }\x0d\n\x0d\n sourceMapsEnabled = val;\x0d\n}\x0d\n\x0d\nfunction extractSourceURLMagicComment(content) {\x0d\n let match;\x0d\n let matchSourceURL;\x0d\n // A while loop is used here to get the last occurrence of sourceURL.\x0d\n // This is needed so that we don't match sourceURL in string literals.\x0d\n while ((match = RegExpPrototypeExec(kSourceURLMagicComment\x2C content))) {\x0d\n matchSourceURL = match;\x0d\n }\x0d\n if (matchSourceURL == null) {\x0d\n return null;\x0d\n }\x0d\n let sourceURL = matchSourceURL.groups.sourceURL;\x0d\n if (sourceURL != null && RegExpPrototypeExec(kLeadingProtocol\x2C sourceURL) === null) {\x0d\n sourceURL = pathToFileURL(sourceURL).href;\x0d\n }\x0d\n return sourceURL;\x0d\n}\x0d\n\x0d\nfunction extractSourceMapURLMagicComment(content) {\x0d\n let match;\x0d\n let lastMatch;\x0d\n // A while loop is used here to get the last occurrence of sourceMappingURL.\x0d\n // This is needed so that we don't match sourceMappingURL in string literals.\x0d\n while ((match = RegExpPrototypeExec(kSourceMappingURLMagicComment\x2C content))) {\x0d\n lastMatch = match;\x0d\n }\x0d\n if (lastMatch == null) {\x0d\n return null;\x0d\n }\x0d\n return lastMatch.groups.sourceMappingURL;\x0d\n}\x0d\n\x0d\nfunction maybeCacheSourceMap(filename\x2C content\x2C cjsModuleInstance\x2C isGeneratedSource\x2C sourceURL\x2C sourceMapURL) {\x0d\n const sourceMapsEnabled = getSourceMapsEnabled();\x0d\n if (!(process.env.NODE_V8_COVERAGE || sourceMapsEnabled)) return;\x0d\n const { normalizeReferrerURL } = require('internal/modules/helpers');\x0d\n filename = normalizeReferrerURL(filename);\x0d\n if (filename === undefined) {\x0d\n // This is most likely an invalid filename in sourceURL of [eval]-wrapper.\x0d\n return;\x0d\n }\x0d\n\x0d\n if (sourceMapURL === undefined) {\x0d\n sourceMapURL = extractSourceMapURLMagicComment(content);\x0d\n }\x0d\n\x0d\n // Bail out when there is no source map url.\x0d\n if (typeof sourceMapURL !== 'string') {\x0d\n return;\x0d\n }\x0d\n\x0d\n // FIXME: callers should obtain sourceURL from v8 and pass it\x0d\n // rather than leaving it undefined and extract by regex.\x0d\n if (sourceURL === undefined) {\x0d\n sourceURL = extractSourceURLMagicComment(content);\x0d\n }\x0d\n\x0d\n const data = dataFromUrl(filename\x2C sourceMapURL);\x0d\n const url = data ? null : sourceMapURL;\x0d\n if (cjsModuleInstance) {\x0d\n getCjsSourceMapCache().set(cjsModuleInstance\x2C {\x0d\n __proto__: null\x2C\x0d\n filename\x2C\x0d\n lineLengths: lineLengths(content)\x2C\x0d\n data\x2C\x0d\n url\x2C\x0d\n sourceURL\x2C\x0d\n });\x0d\n } else if (isGeneratedSource) {\x0d\n const entry = {\x0d\n __proto__: null\x2C\x0d\n lineLengths: lineLengths(content)\x2C\x0d\n data\x2C\x0d\n url\x2C\x0d\n sourceURL\x2C\x0d\n };\x0d\n generatedSourceMapCache.set(filename\x2C entry);\x0d\n if (sourceURL) {\x0d\n generatedSourceMapCache.set(sourceURL\x2C entry);\x0d\n }\x0d\n } else {\x0d\n // If there is no cjsModuleInstance and is not generated source assume we are in a\x0d\n // "modules/esm" context.\x0d\n const entry = {\x0d\n __proto__: null\x2C\x0d\n lineLengths: lineLengths(content)\x2C\x0d\n data\x2C\x0d\n url\x2C\x0d\n sourceURL\x2C\x0d\n };\x0d\n esmSourceMapCache.set(filename\x2C entry);\x0d\n if (sourceURL) {\x0d\n esmSourceMapCache.set(sourceURL\x2C entry);\x0d\n }\x0d\n }\x0d\n}\x0d\n\x0d\nfunction maybeCacheGeneratedSourceMap(content) {\x0d\n const sourceMapsEnabled = getSourceMapsEnabled();\x0d\n if (!(process.env.NODE_V8_COVERAGE || sourceMapsEnabled)) return;\x0d\n\x0d\n const sourceURL = extractSourceURLMagicComment(content);\x0d\n if (sourceURL === null) {\x0d\n return;\x0d\n }\x0d\n try {\x0d\n maybeCacheSourceMap(sourceURL\x2C content\x2C null\x2C true\x2C sourceURL);\x0d\n } catch (err) {\x0d\n // This can happen if the filename is not a valid URL.\x0d\n // If we fail to cache the source map\x2C we should not fail the whole process.\x0d\n debug(err);\x0d\n }\x0d\n}\x0d\n\x0d\nfunction dataFromUrl(sourceURL\x2C sourceMappingURL) {\x0d\n try {\x0d\n const url = new URL(sourceMappingURL);\x0d\n switch (url.protocol) {\x0d\n case 'data:':\x0d\n return sourceMapFromDataUrl(sourceURL\x2C url.pathname);\x0d\n default:\x0d\n debug(`unknown protocol ${url.protocol}`);\x0d\n return null;\x0d\n }\x0d\n } catch (err) {\x0d\n debug(err);\x0d\n // If no scheme is present\x2C we assume we are dealing with a file path.\x0d\n const mapURL = new URL(sourceMappingURL\x2C sourceURL).href;\x0d\n return sourceMapFromFile(mapURL);\x0d\n }\x0d\n}\x0d\n\x0d\n// Cache the length of each line in the file that a source map was extracted\x0d\n// from. This allows translation from byte offset V8 coverage reports\x2C\x0d\n// to line/column offset Source Map V3.\x0d\nfunction lineLengths(content) {\x0d\n const contentLength = content.length;\x0d\n const output = [];\x0d\n let lineLength = 0;\x0d\n for (let i = 0; i < contentLength; i++\x2C lineLength++) {\x0d\n const codePoint = StringPrototypeCodePointAt(content\x2C i);\x0d\n\x0d\n // We purposefully keep \\r as part of the line-length calculation\x2C in\x0d\n // cases where there is a \\r\\n separator\x2C so that this can be taken into\x0d\n // account in coverage calculations.\x0d\n // codepoints for \\n (new line)\x2C \\u2028 (line separator) and \\u2029 (paragraph separator)\x0d\n if (codePoint === 10 || codePoint === 0x2028 || codePoint === 0x2029) {\x0d\n ArrayPrototypePush(output\x2C lineLength);\x0d\n lineLength = -1; // To not count the matched codePoint such as \\n character\x0d\n }\x0d\n }\x0d\n ArrayPrototypePush(output\x2C lineLength);\x0d\n return output;\x0d\n}\x0d\n\x0d\n\x0d\nfunction sourceMapFromFile(mapURL) {\x0d\n try {\x0d\n const fs = require('fs');\x0d\n const content = fs.readFileSync(fileURLToPath(mapURL)\x2C 'utf8');\x0d\n const data = JSONParse(content);\x0d\n return sourcesToAbsolute(mapURL\x2C data);\x0d\n } catch (err) {\x0d\n debug(err);\x0d\n return null;\x0d\n }\x0d\n}\x0d\n\x0d\n// data:[<mediatype>][;base64]\x2C<data> see:\x0d\n// https://tools.ietf.org/html/rfc2397#section-2\x0d\nfunction sourceMapFromDataUrl(sourceURL\x2C url) {\x0d\n const { 0: format\x2C 1: data } = StringPrototypeSplit(url\x2C '\x2C');\x0d\n const splitFormat = StringPrototypeSplit(format\x2C ';');\x0d\n const contentType = splitFormat[0];\x0d\n const base64 = splitFormat[splitFormat.length - 1] === 'base64';\x0d\n if (contentType === 'application/json') {\x0d\n const decodedData = base64 ?\x0d\n Buffer.from(data\x2C 'base64').toString('utf8') : data;\x0d\n try {\x0d\n const parsedData = JSONParse(decodedData);\x0d\n return sourcesToAbsolute(sourceURL\x2C parsedData);\x0d\n } catch (err) {\x0d\n debug(err);\x0d\n return null;\x0d\n }\x0d\n } else {\x0d\n debug(`unknown content-type ${contentType}`);\x0d\n return null;\x0d\n }\x0d\n}\x0d\n\x0d\n// If the sources are not absolute URLs after prepending of the "sourceRoot"\x2C\x0d\n// the sources are resolved relative to the SourceMap (like resolving script\x0d\n// src in a html document).\x0d\n// If the sources are absolute paths\x2C the sources are converted to absolute file URLs.\x0d\nfunction sourcesToAbsolute(baseURL\x2C data) {\x0d\n data.sources = data.sources.map((source) => {\x0d\n source = (data.sourceRoot || '') + source;\x0d\n if (isAbsolute(source)) {\x0d\n return pathToFileURL(source).href;\x0d\n }\x0d\n return new URL(source\x2C baseURL).href;\x0d\n });\x0d\n // The sources array is now resolved to absolute URLs\x2C sourceRoot should\x0d\n // be updated to noop.\x0d\n data.sourceRoot = '';\x0d\n return data;\x0d\n}\x0d\n\x0d\n// WARNING: The `sourceMapCacheToObject` and `appendCJSCache` run during\x0d\n// shutdown. In particular\x2C they also run when Workers are terminated\x2C making\x0d\n// it important that they do not call out to any user-provided code\x2C including\x0d\n// built-in prototypes that might have been tampered with.\x0d\n\x0d\n// Get serialized representation of source-map cache\x2C this is used\x0d\n// to persist a cache of source-maps to disk when NODE_V8_COVERAGE is enabled.\x0d\nfunction sourceMapCacheToObject() {\x0d\n const obj = { __proto__: null };\x0d\n\x0d\n for (const { 0: k\x2C 1: v } of esmSourceMapCache) {\x0d\n obj[k] = v;\x0d\n }\x0d\n\x0d\n appendCJSCache(obj);\x0d\n\x0d\n if (ObjectKeys(obj).length === 0) {\x0d\n return undefined;\x0d\n }\x0d\n return obj;\x0d\n}\x0d\n\x0d\nfunction appendCJSCache(obj) {\x0d\n for (const value of getCjsSourceMapCache()) {\x0d\n obj[value.filename] = {\x0d\n __proto__: null\x2C\x0d\n lineLengths: value.lineLengths\x2C\x0d\n data: value.data\x2C\x0d\n url: value.url\x2C\x0d\n };\x0d\n }\x0d\n}\x0d\n\x0d\nfunction findSourceMap(sourceURL) {\x0d\n if (RegExpPrototypeExec(kLeadingProtocol\x2C sourceURL) === null) {\x0d\n sourceURL = pathToFileURL(sourceURL).href;\x0d\n }\x0d\n if (!SourceMap) {\x0d\n SourceMap = require('internal/source_map/source_map').SourceMap;\x0d\n }\x0d\n let entry = esmSourceMapCache.get(sourceURL) ?? generatedSourceMapCache.get(sourceURL);\x0d\n if (entry === undefined) {\x0d\n for (const value of getCjsSourceMapCache()) {\x0d\n const filename = value.filename;\x0d\n const cachedSourceURL = value.sourceURL;\x0d\n if (sourceURL === filename || sourceURL === cachedSourceURL) {\x0d\n entry = value;\x0d\n }\x0d\n }\x0d\n }\x0d\n if (entry === undefined) {\x0d\n return undefined;\x0d\n }\x0d\n let sourceMap = entry.sourceMap;\x0d\n if (sourceMap === undefined) {\x0d\n sourceMap = new SourceMap(entry.data\x2C { lineLengths: entry.lineLengths });\x0d\n entry.sourceMap = sourceMap;\x0d\n }\x0d\n return sourceMap;\x0d\n}\x0d\n\x0d\nmodule.exports = {\x0d\n findSourceMap\x2C\x0d\n getSourceMapsEnabled\x2C\x0d\n setSourceMapsEnabled\x2C\x0d\n maybeCacheSourceMap\x2C\x0d\n maybeCacheGeneratedSourceMap\x2C\x0d\n sourceMapCacheToObject\x2C\x0d\n};\x0d\n
code-source-info,0x23c51955026,43,1825,2398,C0O1836C8O1836C13O1870C18O1870C22O1899C26O1972C32O1972C37O1930C42O2029C47O2029C53O2102C59O2272C65O2272C70O2237C75O2305C80O2305C84O2371C86O2389C93O2397,,
code-creation,JS,10,269390,0x23c51955cae,30, node:internal/validators:216:41,0x39e2db45f40,~
script-source,15,node:internal/validators,/* eslint jsdoc/require-jsdoc: "error" */\x0d\n\x0d\n'use strict';\x0d\n\x0d\nconst {\x0d\n ArrayIsArray\x2C\x0d\n ArrayPrototypeIncludes\x2C\x0d\n ArrayPrototypeJoin\x2C\x0d\n ArrayPrototypeMap\x2C\x0d\n NumberIsInteger\x2C\x0d\n NumberIsNaN\x2C\x0d\n NumberMAX_SAFE_INTEGER\x2C\x0d\n NumberMIN_SAFE_INTEGER\x2C\x0d\n NumberParseInt\x2C\x0d\n ObjectPrototypeHasOwnProperty\x2C\x0d\n RegExpPrototypeExec\x2C\x0d\n String\x2C\x0d\n StringPrototypeToUpperCase\x2C\x0d\n StringPrototypeTrim\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst {\x0d\n hideStackFrames\x2C\x0d\n codes: {\x0d\n ERR_SOCKET_BAD_PORT: { HideStackFramesError: ERR_SOCKET_BAD_PORT }\x2C\x0d\n ERR_INVALID_ARG_TYPE: { HideStackFramesError: ERR_INVALID_ARG_TYPE }\x2C\x0d\n ERR_INVALID_ARG_VALUE: { HideStackFramesError: ERR_INVALID_ARG_VALUE }\x2C\x0d\n ERR_OUT_OF_RANGE: { HideStackFramesError: ERR_OUT_OF_RANGE }\x2C\x0d\n ERR_UNKNOWN_SIGNAL: { HideStackFramesError: ERR_UNKNOWN_SIGNAL }\x2C\x0d\n }\x2C\x0d\n} = require('internal/errors');\x0d\nconst { normalizeEncoding } = require('internal/util');\x0d\nconst {\x0d\n isAsyncFunction\x2C\x0d\n isArrayBufferView\x2C\x0d\n} = require('internal/util/types');\x0d\nconst { signals } = internalBinding('constants').os;\x0d\n\x0d\n/**\x0d\n * @param {*} value\x0d\n * @returns {boolean}\x0d\n */\x0d\nfunction isInt32(value) {\x0d\n return value === (value | 0);\x0d\n}\x0d\n\x0d\n/**\x0d\n * @param {*} value\x0d\n * @returns {boolean}\x0d\n */\x0d\nfunction isUint32(value) {\x0d\n return value === (value >>> 0);\x0d\n}\x0d\n\x0d\nconst octalReg = /^[0-7]+$/;\x0d\nconst modeDesc = 'must be a 32-bit unsigned integer or an octal string';\x0d\n\x0d\n/**\x0d\n * Parse and validate values that will be converted into mode_t (the S_*\x0d\n * constants). Only valid numbers and octal strings are allowed. They could be\x0d\n * converted to 32-bit unsigned integers or non-negative signed integers in the\x0d\n * C++ land\x2C but any value higher than 0o777 will result in platform-specific\x0d\n * behaviors.\x0d\n * @param {*} value Values to be validated\x0d\n * @param {string} name Name of the argument\x0d\n * @param {number} [def] If specified\x2C will be returned for invalid values\x0d\n * @returns {number}\x0d\n */\x0d\nfunction parseFileMode(value\x2C name\x2C def) {\x0d\n value ??= def;\x0d\n if (typeof value === 'string') {\x0d\n if (RegExpPrototypeExec(octalReg\x2C value) === null) {\x0d\n throw new ERR_INVALID_ARG_VALUE(name\x2C value\x2C modeDesc);\x0d\n }\x0d\n value = NumberParseInt(value\x2C 8);\x0d\n }\x0d\n\x0d\n validateUint32(value\x2C name);\x0d\n return value;\x0d\n}\x0d\n\x0d\n/**\x0d\n * @callback validateInteger\x0d\n * @param {*} value\x0d\n * @param {string} name\x0d\n * @param {number} [min]\x0d\n * @param {number} [max]\x0d\n * @returns {asserts value is number}\x0d\n */\x0d\n\x0d\n/** @type {validateInteger} */\x0d\nconst validateInteger = hideStackFrames(\x0d\n (value\x2C name\x2C min = NumberMIN_SAFE_INTEGER\x2C max = NumberMAX_SAFE_INTEGER) => {\x0d\n if (typeof value !== 'number')\x0d\n throw new ERR_INVALID_ARG_TYPE(name\x2C 'number'\x2C value);\x0d\n if (!NumberIsInteger(value))\x0d\n throw new ERR_OUT_OF_RANGE(name\x2C 'an integer'\x2C value);\x0d\n if (value < min || value > max)\x0d\n throw new ERR_OUT_OF_RANGE(name\x2C `>= ${min} && <= ${max}`\x2C value);\x0d\n }\x2C\x0d\n);\x0d\n\x0d\n/**\x0d\n * @callback validateInt32\x0d\n * @param {*} value\x0d\n * @param {string} name\x0d\n * @param {number} [min]\x0d\n * @param {number} [max]\x0d\n * @returns {asserts value is number}\x0d\n */\x0d\n\x0d\n/** @type {validateInt32} */\x0d\nconst validateInt32 = hideStackFrames(\x0d\n (value\x2C name\x2C min = -2147483648\x2C max = 2147483647) => {\x0d\n // The defaults for min and max correspond to the limits of 32-bit integers.\x0d\n if (typeof value !== 'number') {\x0d\n throw new ERR_INVALID_ARG_TYPE(name\x2C 'number'\x2C value);\x0d\n }\x0d\n if (!NumberIsInteger(value)) {\x0d\n throw new ERR_OUT_OF_RANGE(name\x2C 'an integer'\x2C value);\x0d\n }\x0d\n if (value < min || value > max) {\x0d\n throw new ERR_OUT_OF_RANGE(name\x2C `>= ${min} && <= ${max}`\x2C value);\x0d\n }\x0d\n }\x2C\x0d\n);\x0d\n\x0d\n/**\x0d\n * @callback validateUint32\x0d\n * @param {*} value\x0d\n * @param {string} name\x0d\n * @param {boolean} [positive=false]\x0d\n * @returns {asserts value is number}\x0d\n */\x0d\n\x0d\n/** @type {validateUint32} */\x0d\nconst validateUint32 = hideStackFrames((value\x2C name\x2C positive = false) => {\x0d\n if (typeof value !== 'number') {\x0d\n throw new ERR_INVALID_ARG_TYPE(name\x2C 'number'\x2C value);\x0d\n }\x0d\n if (!NumberIsInteger(value)) {\x0d\n throw new ERR_OUT_OF_RANGE(name\x2C 'an integer'\x2C value);\x0d\n }\x0d\n const min = positive ? 1 : 0;\x0d\n // 2 ** 32 === 4294967296\x0d\n const max = 4_294_967_295;\x0d\n if (value < min || value > max) {\x0d\n throw new ERR_OUT_OF_RANGE(name\x2C `>= ${min} && <= ${max}`\x2C value);\x0d\n }\x0d\n});\x0d\n\x0d\n/**\x0d\n * @callback validateString\x0d\n * @param {*} value\x0d\n * @param {string} name\x0d\n * @returns {asserts value is string}\x0d\n */\x0d\n\x0d\n/** @type {validateString} */\x0d\nconst validateString = hideStackFrames((value\x2C name) => {\x0d\n if (typeof value !== 'string')\x0d\n throw new ERR_INVALID_ARG_TYPE(name\x2C 'string'\x2C value);\x0d\n});\x0d\n\x0d\n/**\x0d\n * @callback validateNumber\x0d\n * @param {*} value\x0d\n * @param {string} name\x0d\n * @param {number} [min]\x0d\n * @param {number} [max]\x0d\n * @returns {asserts value is number}\x0d\n */\x0d\n\x0d\n/** @type {validateNumber} */\x0d\nconst validateNumber = hideStackFrames((value\x2C name\x2C min = undefined\x2C max) => {\x0d\n if (typeof value !== 'number')\x0d\n throw new ERR_INVALID_ARG_TYPE(name\x2C 'number'\x2C value);\x0d\n\x0d\n if ((min != null && value < min) || (max != null && value > max) ||\x0d\n ((min != null || max != null) && NumberIsNaN(value))) {\x0d\n throw new ERR_OUT_OF_RANGE(\x0d\n name\x2C\x0d\n `${min != null ? `>= ${min}` : ''}${min != null && max != null ? ' && ' : ''}${max != null ? `<= ${max}` : ''}`\x2C\x0d\n value);\x0d\n }\x0d\n});\x0d\n\x0d\n/**\x0d\n * @callback validateOneOf\x0d\n * @template T\x0d\n * @param {T} value\x0d\n * @param {string} name\x0d\n * @param {T[]} oneOf\x0d\n */\x0d\n\x0d\n/** @type {validateOneOf} */\x0d\nconst validateOneOf = hideStackFrames((value\x2C name\x2C oneOf) => {\x0d\n if (!ArrayPrototypeIncludes(oneOf\x2C value)) {\x0d\n const allowed = ArrayPrototypeJoin(\x0d\n ArrayPrototypeMap(oneOf\x2C (v) =>\x0d\n (typeof v === 'string' ? `'${v}'` : String(v)))\x2C\x0d\n '\x2C ');\x0d\n const reason = 'must be one of: ' + allowed;\x0d\n throw new ERR_INVALID_ARG_VALUE(name\x2C value\x2C reason);\x0d\n }\x0d\n});\x0d\n\x0d\n/**\x0d\n * @callback validateBoolean\x0d\n * @param {*} value\x0d\n * @param {string} name\x0d\n * @returns {asserts value is boolean}\x0d\n */\x0d\n\x0d\n/** @type {validateBoolean} */\x0d\nconst validateBoolean = hideStackFrames((value\x2C name) => {\x0d\n if (typeof value !== 'boolean')\x0d\n throw new ERR_INVALID_ARG_TYPE(name\x2C 'boolean'\x2C value);\x0d\n});\x0d\n\x0d\nconst kValidateObjectNone = 0;\x0d\nconst kValidateObjectAllowNullable = 1 << 0;\x0d\nconst kValidateObjectAllowArray = 1 << 1;\x0d\nconst kValidateObjectAllowFunction = 1 << 2;\x0d\nconst kValidateObjectAllowObjects = kValidateObjectAllowArray |\x0d\n kValidateObjectAllowFunction;\x0d\nconst kValidateObjectAllowObjectsAndNull = kValidateObjectAllowNullable |\x0d\n kValidateObjectAllowArray |\x0d\n kValidateObjectAllowFunction;\x0d\n\x0d\n/**\x0d\n * @callback validateObject\x0d\n * @param {*} value\x0d\n * @param {string} name\x0d\n * @param {number} [options]\x0d\n */\x0d\n\x0d\n/** @type {validateObject} */\x0d\nconst validateObject = hideStackFrames(\x0d\n (value\x2C name\x2C options = kValidateObjectNone) => {\x0d\n if (options === kValidateObjectNone) {\x0d\n if (value === null || ArrayIsArray(value)) {\x0d\n throw new ERR_INVALID_ARG_TYPE(name\x2C 'Object'\x2C value);\x0d\n }\x0d\n\x0d\n if (typeof value !== 'object') {\x0d\n throw new ERR_INVALID_ARG_TYPE(name\x2C 'Object'\x2C value);\x0d\n }\x0d\n } else {\x0d\n const throwOnNullable = (kValidateObjectAllowNullable & options) === 0;\x0d\n\x0d\n if (throwOnNullable && value === null) {\x0d\n throw new ERR_INVALID_ARG_TYPE(name\x2C 'Object'\x2C value);\x0d\n }\x0d\n\x0d\n const throwOnArray = (kValidateObjectAllowArray & options) === 0;\x0d\n\x0d\n if (throwOnArray && ArrayIsArray(value)) {\x0d\n throw new ERR_INVALID_ARG_TYPE(name\x2C 'Object'\x2C value);\x0d\n }\x0d\n\x0d\n const throwOnFunction = (kValidateObjectAllowFunction & options) === 0;\x0d\n const typeofValue = typeof value;\x0d\n\x0d\n if (typeofValue !== 'object' && (throwOnFunction || typeofValue !== 'function')) {\x0d\n throw new ERR_INVALID_ARG_TYPE(name\x2C 'Object'\x2C value);\x0d\n }\x0d\n }\x0d\n });\x0d\n\x0d\n/**\x0d\n * @callback validateDictionary - We are using the Web IDL Standard definition\x0d\n * of "dictionary" here\x2C which means any value\x0d\n * whose Type is either Undefined\x2C Null\x2C or\x0d\n * Object (which includes functions).\x0d\n * @param {*} value\x0d\n * @param {string} name\x0d\n * @see https://webidl.spec.whatwg.org/#es-dictionary\x0d\n * @see https://tc39.es/ecma262/#table-typeof-operator-results\x0d\n */\x0d\n\x0d\n/** @type {validateDictionary} */\x0d\nconst validateDictionary = hideStackFrames(\x0d\n (value\x2C name) => {\x0d\n if (value != null && typeof value !== 'object' && typeof value !== 'function') {\x0d\n throw new ERR_INVALID_ARG_TYPE(name\x2C 'a dictionary'\x2C value);\x0d\n }\x0d\n });\x0d\n\x0d\n/**\x0d\n * @callback validateArray\x0d\n * @param {*} value\x0d\n * @param {string} name\x0d\n * @param {number} [minLength]\x0d\n * @returns {asserts value is any[]}\x0d\n */\x0d\n\x0d\n/** @type {validateArray} */\x0d\nconst validateArray = hideStackFrames((value\x2C name\x2C minLength = 0) => {\x0d\n if (!ArrayIsArray(value)) {\x0d\n throw new ERR_INVALID_ARG_TYPE(name\x2C 'Array'\x2C value);\x0d\n }\x0d\n if (value.length < minLength) {\x0d\n const reason = `must be longer than ${minLength}`;\x0d\n throw new ERR_INVALID_ARG_VALUE(name\x2C value\x2C reason);\x0d\n }\x0d\n});\x0d\n\x0d\n/**\x0d\n * @callback validateStringArray\x0d\n * @param {*} value\x0d\n * @param {string} name\x0d\n * @returns {asserts value is string[]}\x0d\n */\x0d\n\x0d\n/** @type {validateStringArray} */\x0d\nconst validateStringArray = hideStackFrames((value\x2C name) => {\x0d\n validateArray(value\x2C name);\x0d\n for (let i = 0; i < value.length; ++i) {\x0d\n // Don't use validateString here for performance reasons\x2C as\x0d\n // we would generate intermediate strings for the name.\x0d\n if (typeof value[i] !== 'string') {\x0d\n throw new ERR_INVALID_ARG_TYPE(`${name}[${i}]`\x2C 'string'\x2C value[i]);\x0d\n }\x0d\n }\x0d\n});\x0d\n\x0d\n/**\x0d\n * @callback validateBooleanArray\x0d\n * @param {*} value\x0d\n * @param {string} name\x0d\n * @returns {asserts value is boolean[]}\x0d\n */\x0d\n\x0d\n/** @type {validateBooleanArray} */\x0d\nconst validateBooleanArray = hideStackFrames((value\x2C name) => {\x0d\n validateArray(value\x2C name);\x0d\n for (let i = 0; i < value.length; ++i) {\x0d\n // Don't use validateBoolean here for performance reasons\x2C as\x0d\n // we would generate intermediate strings for the name.\x0d\n if (value[i] !== true && value[i] !== false) {\x0d\n throw new ERR_INVALID_ARG_TYPE(`${name}[${i}]`\x2C 'boolean'\x2C value[i]);\x0d\n }\x0d\n }\x0d\n});\x0d\n\x0d\n/**\x0d\n * @callback validateAbortSignalArray\x0d\n * @param {*} value\x0d\n * @param {string} name\x0d\n * @returns {asserts value is AbortSignal[]}\x0d\n */\x0d\n\x0d\n/** @type {validateAbortSignalArray} */\x0d\nfunction validateAbortSignalArray(value\x2C name) {\x0d\n validateArray(value\x2C name);\x0d\n for (let i = 0; i < value.length; i++) {\x0d\n const signal = value[i];\x0d\n const indexedName = `${name}[${i}]`;\x0d\n if (signal == null) {\x0d\n throw new ERR_INVALID_ARG_TYPE(indexedName\x2C 'AbortSignal'\x2C signal);\x0d\n }\x0d\n validateAbortSignal(signal\x2C indexedName);\x0d\n }\x0d\n}\x0d\n\x0d\n/**\x0d\n * @param {*} signal\x0d\n * @param {string} [name='signal']\x0d\n * @returns {asserts signal is keyof signals}\x0d\n */\x0d\nconst validateSignalName = hideStackFrames((signal\x2C name = 'signal') => {\x0d\n validateString(signal\x2C name);\x0d\n\x0d\n if (signals[signal] === undefined) {\x0d\n if (signals[StringPrototypeToUpperCase(signal)] !== undefined) {\x0d\n throw new ERR_UNKNOWN_SIGNAL(signal +\x0d\n ' (signals must use all capital letters)');\x0d\n }\x0d\n\x0d\n throw new ERR_UNKNOWN_SIGNAL(signal);\x0d\n }\x0d\n});\x0d\n\x0d\n/**\x0d\n * @callback validateBuffer\x0d\n * @param {*} buffer\x0d\n * @param {string} [name='buffer']\x0d\n * @returns {asserts buffer is ArrayBufferView}\x0d\n */\x0d\n\x0d\n/** @type {validateBuffer} */\x0d\nconst validateBuffer = hideStackFrames((buffer\x2C name = 'buffer') => {\x0d\n if (!isArrayBufferView(buffer)) {\x0d\n throw new ERR_INVALID_ARG_TYPE(name\x2C\x0d\n ['Buffer'\x2C 'TypedArray'\x2C 'DataView']\x2C\x0d\n buffer);\x0d\n }\x0d\n});\x0d\n\x0d\n/**\x0d\n * @param {string} data\x0d\n * @param {string} encoding\x0d\n */\x0d\nconst validateEncoding = hideStackFrames((data\x2C encoding) => {\x0d\n const normalizedEncoding = normalizeEncoding(encoding);\x0d\n const length = data.length;\x0d\n\x0d\n if (normalizedEncoding === 'hex' && length % 2 !== 0) {\x0d\n throw new ERR_INVALID_ARG_VALUE('encoding'\x2C encoding\x2C\x0d\n `is invalid for data of length ${length}`);\x0d\n }\x0d\n});\x0d\n\x0d\n/**\x0d\n * Check that the port number is not NaN when coerced to a number\x2C\x0d\n * is an integer and that it falls within the legal range of port numbers.\x0d\n * @param {*} port\x0d\n * @param {string} [name='Port']\x0d\n * @param {boolean} [allowZero=true]\x0d\n * @returns {number}\x0d\n */\x0d\nconst validatePort = hideStackFrames((port\x2C name = 'Port'\x2C allowZero = true) => {\x0d\n if ((typeof port !== 'number' && typeof port !== 'string') ||\x0d\n (typeof port === 'string' && StringPrototypeTrim(port).length === 0) ||\x0d\n +port !== (+port >>> 0) ||\x0d\n port > 0xFFFF ||\x0d\n (port === 0 && !allowZero)) {\x0d\n throw new ERR_SOCKET_BAD_PORT(name\x2C port\x2C allowZero);\x0d\n }\x0d\n return port | 0;\x0d\n});\x0d\n\x0d\n/**\x0d\n * @callback validateAbortSignal\x0d\n * @param {*} signal\x0d\n * @param {string} name\x0d\n */\x0d\n\x0d\n/** @type {validateAbortSignal} */\x0d\nconst validateAbortSignal = hideStackFrames((signal\x2C name) => {\x0d\n if (signal !== undefined &&\x0d\n (signal === null ||\x0d\n typeof signal !== 'object' ||\x0d\n !('aborted' in signal))) {\x0d\n throw new ERR_INVALID_ARG_TYPE(name\x2C 'AbortSignal'\x2C signal);\x0d\n }\x0d\n});\x0d\n\x0d\n/**\x0d\n * @callback validateFunction\x0d\n * @param {*} value\x0d\n * @param {string} name\x0d\n * @returns {asserts value is Function}\x0d\n */\x0d\n\x0d\n/** @type {validateFunction} */\x0d\nconst validateFunction = hideStackFrames((value\x2C name) => {\x0d\n if (typeof value !== 'function')\x0d\n throw new ERR_INVALID_ARG_TYPE(name\x2C 'Function'\x2C value);\x0d\n});\x0d\n\x0d\n/**\x0d\n * @callback validatePlainFunction\x0d\n * @param {*} value\x0d\n * @param {string} name\x0d\n * @returns {asserts value is Function}\x0d\n */\x0d\n\x0d\n/** @type {validatePlainFunction} */\x0d\nconst validatePlainFunction = hideStackFrames((value\x2C name) => {\x0d\n if (typeof value !== 'function' || isAsyncFunction(value))\x0d\n throw new ERR_INVALID_ARG_TYPE(name\x2C 'Function'\x2C value);\x0d\n});\x0d\n\x0d\n/**\x0d\n * @callback validateUndefined\x0d\n * @param {*} value\x0d\n * @param {string} name\x0d\n * @returns {asserts value is undefined}\x0d\n */\x0d\n\x0d\n/** @type {validateUndefined} */\x0d\nconst validateUndefined = hideStackFrames((value\x2C name) => {\x0d\n if (value !== undefined)\x0d\n throw new ERR_INVALID_ARG_TYPE(name\x2C 'undefined'\x2C value);\x0d\n});\x0d\n\x0d\n/**\x0d\n * @template T\x0d\n * @param {T} value\x0d\n * @param {string} name\x0d\n * @param {T[]} union\x0d\n */\x0d\nfunction validateUnion(value\x2C name\x2C union) {\x0d\n if (!ArrayPrototypeIncludes(union\x2C value)) {\x0d\n throw new ERR_INVALID_ARG_TYPE(name\x2C `('${ArrayPrototypeJoin(union\x2C '|')}')`\x2C value);\x0d\n }\x0d\n}\x0d\n\x0d\n/*\x0d\n The rules for the Link header field are described here:\x0d\n https://www.rfc-editor.org/rfc/rfc8288.html#section-3\x0d\n\x0d\n This regex validates any string surrounded by angle brackets\x0d\n (not necessarily a valid URI reference) followed by zero or more\x0d\n link-params separated by semicolons.\x0d\n*/\x0d\nconst linkValueRegExp = /^(?:<[^>]*>)(?:\\s*;\\s*[^;"\\s]+(?:=(")?[^;"\\s]*\\1)?)*$/;\x0d\n\x0d\n/**\x0d\n * @param {any} value\x0d\n * @param {string} name\x0d\n */\x0d\nconst validateLinkHeaderFormat = hideStackFrames((value\x2C name) => {\x0d\n if (\x0d\n typeof value === 'undefined' ||\x0d\n !RegExpPrototypeExec(linkValueRegExp\x2C value)\x0d\n ) {\x0d\n throw new ERR_INVALID_ARG_VALUE(\x0d\n name\x2C\x0d\n value\x2C\x0d\n 'must be an array or string of format "</styles.css>; rel=preload; as=style"'\x2C\x0d\n );\x0d\n }\x0d\n});\x0d\n\x0d\nconst validateInternalField = hideStackFrames((object\x2C fieldKey\x2C className) => {\x0d\n if (typeof object !== 'object' || object === null || !ObjectPrototypeHasOwnProperty(object\x2C fieldKey)) {\x0d\n throw new ERR_INVALID_ARG_TYPE('this'\x2C className\x2C object);\x0d\n }\x0d\n});\x0d\n\x0d\n/**\x0d\n * @param {any} hints\x0d\n * @return {string}\x0d\n */\x0d\nconst validateLinkHeaderValue = hideStackFrames((hints) => {\x0d\n if (typeof hints === 'string') {\x0d\n validateLinkHeaderFormat.withoutStackTrace(hints\x2C 'hints');\x0d\n return hints;\x0d\n } else if (ArrayIsArray(hints)) {\x0d\n const hintsLength = hints.length;\x0d\n let result = '';\x0d\n\x0d\n if (hintsLength === 0) {\x0d\n return result;\x0d\n }\x0d\n\x0d\n for (let i = 0; i < hintsLength; i++) {\x0d\n const link = hints[i];\x0d\n validateLinkHeaderFormat.withoutStackTrace(link\x2C 'hints');\x0d\n result += link;\x0d\n\x0d\n if (i !== hintsLength - 1) {\x0d\n result += '\x2C ';\x0d\n }\x0d\n }\x0d\n\x0d\n return result;\x0d\n }\x0d\n\x0d\n throw new ERR_INVALID_ARG_VALUE(\x0d\n 'hints'\x2C\x0d\n hints\x2C\x0d\n 'must be an array or string of format "</styles.css>; rel=preload; as=style"'\x2C\x0d\n );\x0d\n});\x0d\n\x0d\nmodule.exports = {\x0d\n isInt32\x2C\x0d\n isUint32\x2C\x0d\n parseFileMode\x2C\x0d\n validateArray\x2C\x0d\n validateStringArray\x2C\x0d\n validateBooleanArray\x2C\x0d\n validateAbortSignalArray\x2C\x0d\n validateBoolean\x2C\x0d\n validateBuffer\x2C\x0d\n validateDictionary\x2C\x0d\n validateEncoding\x2C\x0d\n validateFunction\x2C\x0d\n validateInt32\x2C\x0d\n validateInteger\x2C\x0d\n validateNumber\x2C\x0d\n validateObject\x2C\x0d\n kValidateObjectNone\x2C\x0d\n kValidateObjectAllowNullable\x2C\x0d\n kValidateObjectAllowArray\x2C\x0d\n kValidateObjectAllowFunction\x2C\x0d\n kValidateObjectAllowObjects\x2C\x0d\n kValidateObjectAllowObjectsAndNull\x2C\x0d\n validateOneOf\x2C\x0d\n validatePlainFunction\x2C\x0d\n validatePort\x2C\x0d\n validateSignalName\x2C\x0d\n validateString\x2C\x0d\n validateUint32\x2C\x0d\n validateUndefined\x2C\x0d\n validateUnion\x2C\x0d\n validateAbortSignal\x2C\x0d\n validateLinkHeaderValue\x2C\x0d\n validateInternalField\x2C\x0d\n};\x0d\n
code-source-info,0x23c51955cae,15,6095,6212,C0O6117C6O6154C22O6160C27O6154C29O6211,,
code-creation,JS,10,270208,0x23c5195709e,10,setInternalPrepareStackTrace node:internal/errors:113:38,0x14d495bd150,~
script-source,10,node:internal/errors,/* eslint node-core/documented-errors: "error" */\x0d\n/* eslint node-core/alphabetize-errors: "error" */\x0d\n/* eslint node-core/prefer-util-format-errors: "error" */\x0d\n\x0d\n'use strict';\x0d\n\x0d\n// The whole point behind this internal module is to allow Node.js to no\x0d\n// longer be forced to treat every error message change as a semver-major\x0d\n// change. The NodeError classes here all expose a `code` property whose\x0d\n// value statically and permanently identifies the error. While the error\x0d\n// message may change\x2C the code should not.\x0d\n\x0d\nconst {\x0d\n AggregateError\x2C\x0d\n ArrayFrom\x2C\x0d\n ArrayIsArray\x2C\x0d\n ArrayPrototypeFilter\x2C\x0d\n ArrayPrototypeIncludes\x2C\x0d\n ArrayPrototypeIndexOf\x2C\x0d\n ArrayPrototypeJoin\x2C\x0d\n ArrayPrototypeMap\x2C\x0d\n ArrayPrototypePush\x2C\x0d\n ArrayPrototypeSlice\x2C\x0d\n ArrayPrototypeSplice\x2C\x0d\n ArrayPrototypeUnshift\x2C\x0d\n Error\x2C\x0d\n ErrorCaptureStackTrace\x2C\x0d\n ErrorPrototypeToString\x2C\x0d\n JSONStringify\x2C\x0d\n MapPrototypeGet\x2C\x0d\n MathAbs\x2C\x0d\n MathMax\x2C\x0d\n Number\x2C\x0d\n NumberIsInteger\x2C\x0d\n ObjectAssign\x2C\x0d\n ObjectDefineProperty\x2C\x0d\n ObjectDefineProperties\x2C\x0d\n ObjectIsExtensible\x2C\x0d\n ObjectGetOwnPropertyDescriptor\x2C\x0d\n ObjectKeys\x2C\x0d\n ObjectPrototypeHasOwnProperty\x2C\x0d\n RangeError\x2C\x0d\n ReflectApply\x2C\x0d\n RegExpPrototypeExec\x2C\x0d\n SafeArrayIterator\x2C\x0d\n SafeMap\x2C\x0d\n SafeWeakMap\x2C\x0d\n String\x2C\x0d\n StringPrototypeEndsWith\x2C\x0d\n StringPrototypeIncludes\x2C\x0d\n StringPrototypeIndexOf\x2C\x0d\n StringPrototypeSlice\x2C\x0d\n StringPrototypeSplit\x2C\x0d\n StringPrototypeStartsWith\x2C\x0d\n StringPrototypeToLowerCase\x2C\x0d\n Symbol\x2C\x0d\n SymbolFor\x2C\x0d\n SyntaxError\x2C\x0d\n TypeError\x2C\x0d\n URIError\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst kIsNodeError = Symbol('kIsNodeError');\x0d\n\x0d\nconst isWindows = process.platform === 'win32';\x0d\n\x0d\nconst messages = new SafeMap();\x0d\nconst codes = {};\x0d\n\x0d\nconst classRegExp = /^[A-Z][a-zA-Z0-9]*$/;\x0d\n\x0d\n// Sorted by a rough estimate on most frequently used entries.\x0d\nconst kTypes = [\x0d\n 'string'\x2C\x0d\n 'function'\x2C\x0d\n 'number'\x2C\x0d\n 'object'\x2C\x0d\n // Accept 'Function' and 'Object' as alternative to the lower cased version.\x0d\n 'Function'\x2C\x0d\n 'Object'\x2C\x0d\n 'boolean'\x2C\x0d\n 'bigint'\x2C\x0d\n 'symbol'\x2C\x0d\n];\x0d\n\x0d\nconst MainContextError = Error;\x0d\nconst overrideStackTrace = new SafeWeakMap();\x0d\nlet internalPrepareStackTrace = defaultPrepareStackTrace;\x0d\n\x0d\n/**\x0d\n * The default implementation of `Error.prepareStackTrace` with simple\x0d\n * concatenation of stack frames.\x0d\n * Read more about `Error.prepareStackTrace` at https://v8.dev/docs/stack-trace-api#customizing-stack-traces.\x0d\n */\x0d\nfunction defaultPrepareStackTrace(error\x2C trace) {\x0d\n // Normal error formatting:\x0d\n //\x0d\n // Error: Message\x0d\n // at function (file)\x0d\n // at file\x0d\n let errorString;\x0d\n if (kIsNodeError in error) {\x0d\n errorString = `${error.name} [${error.code}]: ${error.message}`;\x0d\n } else {\x0d\n errorString = ErrorPrototypeToString(error);\x0d\n }\x0d\n if (trace.length === 0) {\x0d\n return errorString;\x0d\n }\x0d\n return `${errorString}\\n at ${ArrayPrototypeJoin(trace\x2C '\\n at ')}`;\x0d\n}\x0d\n\x0d\nfunction setInternalPrepareStackTrace(callback) {\x0d\n internalPrepareStackTrace = callback;\x0d\n}\x0d\n\x0d\n/**\x0d\n * Every realm has its own prepareStackTraceCallback. When `error.stack` is\x0d\n * accessed\x2C if the error is created in a shadow realm\x2C the shadow realm's\x0d\n * prepareStackTraceCallback is invoked. Otherwise\x2C the principal realm's\x0d\n * prepareStackTraceCallback is invoked. Note that accessing `error.stack`\x0d\n * of error objects created in a VM Context will always invoke the\x0d\n * prepareStackTraceCallback of the principal realm.\x0d\n * @param {object} globalThis The global object of the realm that the error was\x0d\n * created in. When the error object is created in a VM Context\x2C this is the\x0d\n * global object of that VM Context.\x0d\n * @param {object} error The error object.\x0d\n * @param {CallSite[]} trace An array of CallSite objects\x2C read more at https://v8.dev/docs/stack-trace-api#customizing-stack-traces.\x0d\n * @returns {string}\x0d\n */\x0d\nfunction prepareStackTraceCallback(globalThis\x2C error\x2C trace) {\x0d\n // API for node internals to override error stack formatting\x0d\n // without interfering with userland code.\x0d\n if (overrideStackTrace.has(error)) {\x0d\n const f = overrideStackTrace.get(error);\x0d\n overrideStackTrace.delete(error);\x0d\n return f(error\x2C trace);\x0d\n }\x0d\n\x0d\n // Polyfill of V8's Error.prepareStackTrace API.\x0d\n // https://crbug.com/v8/7848\x0d\n // `globalThis` is the global that contains the constructor which\x0d\n // created `error`.\x0d\n if (typeof globalThis.Error?.prepareStackTrace === 'function') {\x0d\n return globalThis.Error.prepareStackTrace(error\x2C trace);\x0d\n }\x0d\n // We still have legacy usage that depends on the main context's `Error`\x0d\n // being used\x2C even when the error is from a different context.\x0d\n // TODO(devsnek): evaluate if this can be eventually deprecated/removed.\x0d\n if (typeof MainContextError.prepareStackTrace === 'function') {\x0d\n return MainContextError.prepareStackTrace(error\x2C trace);\x0d\n }\x0d\n\x0d\n // If the Error.prepareStackTrace was not a function\x2C fallback to the\x0d\n // internal implementation.\x0d\n return internalPrepareStackTrace(error\x2C trace);\x0d\n}\x0d\n\x0d\n/**\x0d\n * The default Error.prepareStackTrace implementation.\x0d\n */\x0d\nfunction ErrorPrepareStackTrace(error\x2C trace) {\x0d\n return internalPrepareStackTrace(error\x2C trace);\x0d\n}\x0d\n\x0d\nconst aggregateTwoErrors = (innerError\x2C outerError) => {\x0d\n if (innerError && outerError && innerError !== outerError) {\x0d\n if (ArrayIsArray(outerError.errors)) {\x0d\n // If `outerError` is already an `AggregateError`.\x0d\n ArrayPrototypePush(outerError.errors\x2C innerError);\x0d\n return outerError;\x0d\n }\x0d\n let err;\x0d\n if (isErrorStackTraceLimitWritable()) {\x0d\n const limit = Error.stackTraceLimit;\x0d\n Error.stackTraceLimit = 0;\x0d\n // eslint-disable-next-line no-restricted-syntax\x0d\n err = new AggregateError(new SafeArrayIterator([\x0d\n outerError\x2C\x0d\n innerError\x2C\x0d\n ])\x2C outerError.message);\x0d\n Error.stackTraceLimit = limit;\x0d\n ErrorCaptureStackTrace(err\x2C aggregateTwoErrors);\x0d\n } else {\x0d\n // eslint-disable-next-line no-restricted-syntax\x0d\n err = new AggregateError(new SafeArrayIterator([\x0d\n outerError\x2C\x0d\n innerError\x2C\x0d\n ])\x2C outerError.message);\x0d\n }\x0d\n err.code = outerError.code;\x0d\n return err;\x0d\n }\x0d\n return innerError || outerError;\x0d\n};\x0d\n\x0d\nclass NodeAggregateError extends AggregateError {\x0d\n constructor(errors\x2C message) {\x0d\n super(new SafeArrayIterator(errors)\x2C message);\x0d\n this.code = errors[0]?.code;\x0d\n }\x0d\n\x0d\n get [kIsNodeError]() {\x0d\n return true;\x0d\n }\x0d\n\x0d\n get ['constructor']() {\x0d\n return AggregateError;\x0d\n }\x0d\n}\x0d\n\x0d\nconst assert = require('internal/assert');\x0d\n\x0d\n// Lazily loaded\x0d\nlet util;\x0d\n\x0d\nlet internalUtil = null;\x0d\nfunction lazyInternalUtil() {\x0d\n internalUtil ??= require('internal/util');\x0d\n return internalUtil;\x0d\n}\x0d\n\x0d\nlet internalUtilInspect = null;\x0d\nfunction lazyInternalUtilInspect() {\x0d\n internalUtilInspect ??= require('internal/util/inspect');\x0d\n return internalUtilInspect;\x0d\n}\x0d\n\x0d\nlet utilColors;\x0d\nfunction lazyUtilColors() {\x0d\n utilColors ??= require('internal/util/colors');\x0d\n return utilColors;\x0d\n}\x0d\n\x0d\nlet buffer;\x0d\nfunction lazyBuffer() {\x0d\n buffer ??= require('buffer').Buffer;\x0d\n return buffer;\x0d\n}\x0d\n\x0d\nfunction isErrorStackTraceLimitWritable() {\x0d\n // Do no touch Error.stackTraceLimit as V8 would attempt to install\x0d\n // it again during deserialization.\x0d\n if (require('internal/v8/startup_snapshot').namespace.isBuildingSnapshot()) {\x0d\n return false;\x0d\n }\x0d\n\x0d\n const desc = ObjectGetOwnPropertyDescriptor(Error\x2C 'stackTraceLimit');\x0d\n if (desc === undefined) {\x0d\n return ObjectIsExtensible(Error);\x0d\n }\x0d\n\x0d\n return ObjectPrototypeHasOwnProperty(desc\x2C 'writable') ?\x0d\n desc.writable :\x0d\n desc.set !== undefined;\x0d\n}\x0d\n\x0d\nfunction inspectWithNoCustomRetry(obj\x2C options) {\x0d\n const utilInspect = lazyInternalUtilInspect();\x0d\n\x0d\n try {\x0d\n return utilInspect.inspect(obj\x2C options);\x0d\n } catch {\x0d\n return utilInspect.inspect(obj\x2C { ...options\x2C customInspect: false });\x0d\n }\x0d\n}\x0d\n\x0d\n// A specialized Error that includes an additional info property with\x0d\n// additional information about the error condition.\x0d\n// It has the properties present in a UVException but with a custom error\x0d\n// message followed by the uv error code and uv error message.\x0d\n// It also has its own error code with the original uv error context put into\x0d\n// `err.info`.\x0d\n// The context passed into this error must have .code\x2C .syscall and .message\x2C\x0d\n// and may have .path and .dest.\x0d\nclass SystemError extends Error {\x0d\n constructor(key\x2C context) {\x0d\n super();\x0d\n const prefix = getMessage(key\x2C []\x2C this);\x0d\n let message = `${prefix}: ${context.syscall} returned ` +\x0d\n `${context.code} (${context.message})`;\x0d\n\x0d\n if (context.path !== undefined)\x0d\n message += ` ${context.path}`;\x0d\n if (context.dest !== undefined)\x0d\n message += ` => ${context.dest}`;\x0d\n\x0d\n this.code = key;\x0d\n\x0d\n ObjectDefineProperties(this\x2C {\x0d\n [kIsNodeError]: {\x0d\n __proto__: null\x2C\x0d\n value: true\x2C\x0d\n enumerable: false\x2C\x0d\n writable: false\x2C\x0d\n configurable: true\x2C\x0d\n }\x2C\x0d\n name: {\x0d\n __proto__: null\x2C\x0d\n value: 'SystemError'\x2C\x0d\n enumerable: false\x2C\x0d\n writable: true\x2C\x0d\n configurable: true\x2C\x0d\n }\x2C\x0d\n message: {\x0d\n __proto__: null\x2C\x0d\n value: message\x2C\x0d\n enumerable: false\x2C\x0d\n writable: true\x2C\x0d\n configurable: true\x2C\x0d\n }\x2C\x0d\n info: {\x0d\n __proto__: null\x2C\x0d\n value: context\x2C\x0d\n enumerable: true\x2C\x0d\n configurable: true\x2C\x0d\n writable: false\x2C\x0d\n }\x2C\x0d\n errno: {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n return context.errno;\x0d\n }\x2C\x0d\n set: (value) => {\x0d\n context.errno = value;\x0d\n }\x2C\x0d\n enumerable: true\x2C\x0d\n configurable: true\x2C\x0d\n }\x2C\x0d\n syscall: {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n return context.syscall;\x0d\n }\x2C\x0d\n set: (value) => {\x0d\n context.syscall = value;\x0d\n }\x2C\x0d\n enumerable: true\x2C\x0d\n configurable: true\x2C\x0d\n }\x2C\x0d\n });\x0d\n\x0d\n if (context.path !== undefined) {\x0d\n // TODO(BridgeAR): Investigate why and when the `.toString()` was\x0d\n // introduced. The `path` and `dest` properties in the context seem to\x0d\n // always be of type string. We should probably just remove the\x0d\n // `.toString()` and `Buffer.from()` operations and set the value on the\x0d\n // context as the user did.\x0d\n ObjectDefineProperty(this\x2C 'path'\x2C {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n return context.path != null ?\x0d\n context.path.toString() : context.path;\x0d\n }\x2C\x0d\n set: (value) => {\x0d\n context.path = value ?\x0d\n lazyBuffer().from(value.toString()) : undefined;\x0d\n }\x2C\x0d\n enumerable: true\x2C\x0d\n configurable: true\x2C\x0d\n });\x0d\n }\x0d\n\x0d\n if (context.dest !== undefined) {\x0d\n ObjectDefineProperty(this\x2C 'dest'\x2C {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n return context.dest != null ?\x0d\n context.dest.toString() : context.dest;\x0d\n }\x2C\x0d\n set: (value) => {\x0d\n context.dest = value ?\x0d\n lazyBuffer().from(value.toString()) : undefined;\x0d\n }\x2C\x0d\n enumerable: true\x2C\x0d\n configurable: true\x2C\x0d\n });\x0d\n }\x0d\n }\x0d\n\x0d\n toString() {\x0d\n return `${this.name} [${this.code}]: ${this.message}`;\x0d\n }\x0d\n\x0d\n [SymbolFor('nodejs.util.inspect.custom')](recurseTimes\x2C ctx) {\x0d\n return lazyInternalUtilInspect().inspect(this\x2C {\x0d\n ...ctx\x2C\x0d\n getters: true\x2C\x0d\n customInspect: false\x2C\x0d\n });\x0d\n }\x0d\n}\x0d\n\x0d\nfunction makeSystemErrorWithCode(key) {\x0d\n return class NodeError extends SystemError {\x0d\n constructor(ctx) {\x0d\n super(key\x2C ctx);\x0d\n }\x0d\n };\x0d\n}\x0d\n\x0d\n// This is a special error type that is only used for the E function.\x0d\nclass HideStackFramesError extends Error {\x0d\n}\x0d\n\x0d\nfunction makeNodeErrorForHideStackFrame(Base\x2C clazz) {\x0d\n class HideStackFramesError extends Base {\x0d\n constructor(...args) {\x0d\n if (isErrorStackTraceLimitWritable()) {\x0d\n const limit = Error.stackTraceLimit;\x0d\n Error.stackTraceLimit = 0;\x0d\n super(...args);\x0d\n Error.stackTraceLimit = limit;\x0d\n } else {\x0d\n super(...args);\x0d\n }\x0d\n }\x0d\n\x0d\n // This is a workaround for wpt tests that expect that the error\x0d\n // constructor has a `name` property of the base class.\x0d\n get ['constructor']() {\x0d\n return clazz;\x0d\n }\x0d\n }\x0d\n\x0d\n return HideStackFramesError;\x0d\n}\x0d\n\x0d\nfunction makeNodeErrorWithCode(Base\x2C key) {\x0d\n const msg = messages.get(key);\x0d\n const expectedLength = typeof msg !== 'string' ? -1 : getExpectedArgumentLength(msg);\x0d\n\x0d\n switch (expectedLength) {\x0d\n case 0: {\x0d\n class NodeError extends Base {\x0d\n code = key;\x0d\n\x0d\n constructor(...args) {\x0d\n assert(\x0d\n args.length === 0\x2C\x0d\n `Code: ${key}; The provided arguments length (${args.length}) does not ` +\x0d\n `match the required ones (${expectedLength}).`\x2C\x0d\n );\x0d\n super(msg);\x0d\n }\x0d\n\x0d\n // This is a workaround for wpt tests that expect that the error\x0d\n // constructor has a `name` property of the base class.\x0d\n get ['constructor']() {\x0d\n return Base;\x0d\n }\x0d\n\x0d\n get [kIsNodeError]() {\x0d\n return true;\x0d\n }\x0d\n\x0d\n toString() {\x0d\n return `${this.name} [${key}]: ${this.message}`;\x0d\n }\x0d\n }\x0d\n return NodeError;\x0d\n }\x0d\n case -1: {\x0d\n class NodeError extends Base {\x0d\n code = key;\x0d\n\x0d\n constructor(...args) {\x0d\n super();\x0d\n ObjectDefineProperty(this\x2C 'message'\x2C {\x0d\n __proto__: null\x2C\x0d\n value: getMessage(key\x2C args\x2C this)\x2C\x0d\n enumerable: false\x2C\x0d\n writable: true\x2C\x0d\n configurable: true\x2C\x0d\n });\x0d\n }\x0d\n\x0d\n // This is a workaround for wpt tests that expect that the error\x0d\n // constructor has a `name` property of the base class.\x0d\n get ['constructor']() {\x0d\n return Base;\x0d\n }\x0d\n\x0d\n get [kIsNodeError]() {\x0d\n return true;\x0d\n }\x0d\n\x0d\n toString() {\x0d\n return `${this.name} [${key}]: ${this.message}`;\x0d\n }\x0d\n }\x0d\n return NodeError;\x0d\n }\x0d\n default: {\x0d\n\x0d\n class NodeError extends Base {\x0d\n code = key;\x0d\n\x0d\n constructor(...args) {\x0d\n assert(\x0d\n args.length === expectedLength\x2C\x0d\n `Code: ${key}; The provided arguments length (${args.length}) does not ` +\x0d\n `match the required ones (${expectedLength}).`\x2C\x0d\n );\x0d\n\x0d\n ArrayPrototypeUnshift(args\x2C msg);\x0d\n super(ReflectApply(lazyInternalUtilInspect().format\x2C null\x2C args));\x0d\n }\x0d\n\x0d\n // This is a workaround for wpt tests that expect that the error\x0d\n // constructor has a `name` property of the base class.\x0d\n get ['constructor']() {\x0d\n return Base;\x0d\n }\x0d\n\x0d\n get [kIsNodeError]() {\x0d\n return true;\x0d\n }\x0d\n\x0d\n toString() {\x0d\n return `${this.name} [${key}]: ${this.message}`;\x0d\n }\x0d\n }\x0d\n return NodeError;\x0d\n }\x0d\n }\x0d\n}\x0d\n\x0d\n/**\x0d\n * This function removes unnecessary frames from Node.js core errors.\x0d\n * @template {(...args: unknown[]) => unknown} T\x0d\n * @param {T} fn\x0d\n * @returns {T}\x0d\n */\x0d\nfunction hideStackFrames(fn) {\x0d\n function wrappedFn(...args) {\x0d\n try {\x0d\n return ReflectApply(fn\x2C this\x2C args);\x0d\n } catch (error) {\x0d\n Error.stackTraceLimit && ErrorCaptureStackTrace(error\x2C wrappedFn);\x0d\n throw error;\x0d\n }\x0d\n }\x0d\n wrappedFn.withoutStackTrace = fn;\x0d\n return wrappedFn;\x0d\n}\x0d\n\x0d\n// Utility function for registering the error codes. Only used here. Exported\x0d\n// *only* to allow for testing.\x0d\nfunction E(sym\x2C val\x2C def\x2C ...otherClasses) {\x0d\n // Special case for SystemError that formats the error message differently\x0d\n // The SystemErrors only have SystemError as their base classes.\x0d\n messages.set(sym\x2C val);\x0d\n\x0d\n const ErrClass = def === SystemError ?\x0d\n makeSystemErrorWithCode(sym) :\x0d\n makeNodeErrorWithCode(def\x2C sym);\x0d\n\x0d\n if (otherClasses.length !== 0) {\x0d\n if (otherClasses.includes(HideStackFramesError)) {\x0d\n if (otherClasses.length !== 1) {\x0d\n otherClasses.forEach((clazz) => {\x0d\n if (clazz !== HideStackFramesError) {\x0d\n ErrClass[clazz.name] = makeNodeErrorWithCode(clazz\x2C sym);\x0d\n ErrClass[clazz.name].HideStackFramesError = makeNodeErrorForHideStackFrame(ErrClass[clazz.name]\x2C clazz);\x0d\n }\x0d\n });\x0d\n }\x0d\n } else {\x0d\n otherClasses.forEach((clazz) => {\x0d\n ErrClass[clazz.name] = makeNodeErrorWithCode(clazz\x2C sym);\x0d\n });\x0d\n }\x0d\n }\x0d\n\x0d\n if (otherClasses.includes(HideStackFramesError)) {\x0d\n ErrClass.HideStackFramesError = makeNodeErrorForHideStackFrame(ErrClass\x2C def);\x0d\n }\x0d\n\x0d\n codes[sym] = ErrClass;\x0d\n}\x0d\n\x0d\nfunction getExpectedArgumentLength(msg) {\x0d\n let expectedLength = 0;\x0d\n const regex = /%[dfijoOs]/g;\x0d\n while (RegExpPrototypeExec(regex\x2C msg) !== null) expectedLength++;\x0d\n return expectedLength;\x0d\n}\x0d\n\x0d\nfunction getMessage(key\x2C args\x2C self) {\x0d\n const msg = messages.get(key);\x0d\n\x0d\n if (typeof msg === 'function') {\x0d\n assert(\x0d\n msg.length <= args.length\x2C // Default options do not count.\x0d\n `Code: ${key}; The provided arguments length (${args.length}) does not ` +\x0d\n `match the required ones (${msg.length}).`\x2C\x0d\n );\x0d\n return ReflectApply(msg\x2C self\x2C args);\x0d\n }\x0d\n\x0d\n const expectedLength = getExpectedArgumentLength(msg);\x0d\n assert(\x0d\n expectedLength === args.length\x2C\x0d\n `Code: ${key}; The provided arguments length (${args.length}) does not ` +\x0d\n `match the required ones (${expectedLength}).`\x2C\x0d\n );\x0d\n if (args.length === 0)\x0d\n return msg;\x0d\n\x0d\n ArrayPrototypeUnshift(args\x2C msg);\x0d\n return ReflectApply(lazyInternalUtilInspect().format\x2C null\x2C args);\x0d\n}\x0d\n\x0d\nlet uvBinding;\x0d\n\x0d\nfunction lazyUv() {\x0d\n uvBinding ??= internalBinding('uv');\x0d\n return uvBinding;\x0d\n}\x0d\n\x0d\nconst uvUnmappedError = ['UNKNOWN'\x2C 'unknown error'];\x0d\n\x0d\nfunction uvErrmapGet(name) {\x0d\n uvBinding = lazyUv();\x0d\n uvBinding.errmap ??= uvBinding.getErrorMap();\x0d\n return MapPrototypeGet(uvBinding.errmap\x2C name);\x0d\n}\x0d\n\x0d\n/**\x0d\n * This creates an error compatible with errors produced in the C++\x0d\n * function UVException using a context object with data assembled in C++.\x0d\n * The goal is to migrate them to ERR_* errors later when compatibility is\x0d\n * not a concern.\x0d\n */\x0d\nclass UVException extends Error {\x0d\n /**\x0d\n * @param {object} ctx\x0d\n */\x0d\n constructor(ctx) {\x0d\n const { 0: code\x2C 1: uvmsg } = uvErrmapGet(ctx.errno) || uvUnmappedError;\x0d\n let message = `${code}: ${ctx.message || uvmsg}\x2C ${ctx.syscall}`;\x0d\n\x0d\n let path;\x0d\n let dest;\x0d\n if (ctx.path) {\x0d\n path = ctx.path.toString();\x0d\n message += ` '${path}'`;\x0d\n }\x0d\n if (ctx.dest) {\x0d\n dest = ctx.dest.toString();\x0d\n message += ` -> '${dest}'`;\x0d\n }\x0d\n\x0d\n super(message);\x0d\n\x0d\n for (const prop of ObjectKeys(ctx)) {\x0d\n if (prop === 'message' || prop === 'path' || prop === 'dest') {\x0d\n continue;\x0d\n }\x0d\n this[prop] = ctx[prop];\x0d\n }\x0d\n\x0d\n this.code = code;\x0d\n if (path) {\x0d\n this.path = path;\x0d\n }\x0d\n if (dest) {\x0d\n this.dest = dest;\x0d\n }\x0d\n }\x0d\n\x0d\n get ['constructor']() {\x0d\n return Error;\x0d\n }\x0d\n}\x0d\n\x0d\n/**\x0d\n * This creates an error compatible with errors produced in the C++\x0d\n * This function should replace the deprecated\x0d\n * `exceptionWithHostPort()` function.\x0d\n */\x0d\nclass UVExceptionWithHostPort extends Error {\x0d\n /**\x0d\n * @param {number} err - A libuv error number\x0d\n * @param {string} syscall\x0d\n * @param {string} address\x0d\n * @param {number} [port]\x0d\n */\x0d\n constructor(err\x2C syscall\x2C address\x2C port) {\x0d\n const { 0: code\x2C 1: uvmsg } = uvErrmapGet(err) || uvUnmappedError;\x0d\n const message = `${syscall} ${code}: ${uvmsg}`;\x0d\n let details = '';\x0d\n\x0d\n if (port && port > 0) {\x0d\n details = ` ${address}:${port}`;\x0d\n } else if (address) {\x0d\n details = ` ${address}`;\x0d\n }\x0d\n\x0d\n super(`${message}${details}`);\x0d\n\x0d\n this.code = code;\x0d\n this.errno = err;\x0d\n this.syscall = syscall;\x0d\n this.address = address;\x0d\n if (port) {\x0d\n this.port = port;\x0d\n }\x0d\n }\x0d\n\x0d\n get ['constructor']() {\x0d\n return Error;\x0d\n }\x0d\n}\x0d\n\x0d\n/**\x0d\n * This used to be util._errnoException().\x0d\n */\x0d\nclass ErrnoException extends Error {\x0d\n /**\x0d\n * @param {number} err - A libuv error number\x0d\n * @param {string} syscall\x0d\n * @param {string} [original] err\x0d\n */\x0d\n constructor(err\x2C syscall\x2C original) {\x0d\n // TODO(joyeecheung): We have to use the type-checked\x0d\n // getSystemErrorName(err) to guard against invalid arguments from users.\x0d\n // This can be replaced with [ code ] = errmap.get(err) when this method\x0d\n // is no longer exposed to user land.\x0d\n util ??= require('util');\x0d\n const code = util.getSystemErrorName(err);\x0d\n const message = original ?\x0d\n `${syscall} ${code} ${original}` : `${syscall} ${code}`;\x0d\n\x0d\n super(message);\x0d\n\x0d\n this.errno = err;\x0d\n this.code = code;\x0d\n this.syscall = syscall;\x0d\n }\x0d\n\x0d\n get ['constructor']() {\x0d\n return Error;\x0d\n }\x0d\n}\x0d\n\x0d\n/**\x0d\n * Deprecated\x2C new Error is `UVExceptionWithHostPort()`\x0d\n * New function added the error description directly\x0d\n * from C++. this method for backwards compatibility\x0d\n * @param {number} err - A libuv error number\x0d\n * @param {string} syscall\x0d\n * @param {string} address\x0d\n * @param {number} [port]\x0d\n * @param {string} [additional]\x0d\n * @returns {Error}\x0d\n */\x0d\nclass ExceptionWithHostPort extends Error {\x0d\n constructor(err\x2C syscall\x2C address\x2C port\x2C additional) {\x0d\n // TODO(joyeecheung): We have to use the type-checked\x0d\n // getSystemErrorName(err) to guard against invalid arguments from users.\x0d\n // This can be replaced with [ code ] = errmap.get(err) when this method\x0d\n // is no longer exposed to user land.\x0d\n util ??= require('util');\x0d\n const code = util.getSystemErrorName(err);\x0d\n let details = '';\x0d\n if (port && port > 0) {\x0d\n details = ` ${address}:${port}`;\x0d\n } else if (address) {\x0d\n details = ` ${address}`;\x0d\n }\x0d\n if (additional) {\x0d\n details += ` - Local (${additional})`;\x0d\n }\x0d\n\x0d\n super(`${syscall} ${code}${details}`);\x0d\n\x0d\n this.errno = err;\x0d\n this.code = code;\x0d\n this.syscall = syscall;\x0d\n this.address = address;\x0d\n if (port) {\x0d\n this.port = port;\x0d\n }\x0d\n }\x0d\n\x0d\n get ['constructor']() {\x0d\n return Error;\x0d\n }\x0d\n}\x0d\n\x0d\nclass DNSException extends Error {\x0d\n /**\x0d\n * @param {number|string} code - A libuv error number or a c-ares error code\x0d\n * @param {string} syscall\x0d\n * @param {string} [hostname]\x0d\n */\x0d\n constructor(code\x2C syscall\x2C hostname) {\x0d\n let errno;\x0d\n // If `code` is of type number\x2C it is a libuv error number\x2C else it is a\x0d\n // c-ares error code.\x0d\n // TODO(joyeecheung): translate c-ares error codes into numeric ones and\x0d\n // make them available in a property that's not error.errno (since they\x0d\n // can be in conflict with libuv error codes). Also make sure\x0d\n // util.getSystemErrorName() can understand them when an being informed that\x0d\n // the number is a c-ares error code.\x0d\n if (typeof code === 'number') {\x0d\n errno = code;\x0d\n // ENOTFOUND is not a proper POSIX error\x2C but this error has been in place\x0d\n // long enough that it's not practical to remove it.\x0d\n if (code === lazyUv().UV_EAI_NODATA || code === lazyUv().UV_EAI_NONAME) {\x0d\n code = 'ENOTFOUND'; // Fabricated error name.\x0d\n } else {\x0d\n code = lazyInternalUtil().getSystemErrorName(code);\x0d\n }\x0d\n }\x0d\n super(`${syscall} ${code}${hostname ? ` ${hostname}` : ''}`);\x0d\n this.errno = errno;\x0d\n this.code = code;\x0d\n this.syscall = syscall;\x0d\n if (hostname) {\x0d\n this.hostname = hostname;\x0d\n }\x0d\n }\x0d\n\x0d\n get ['constructor']() {\x0d\n return Error;\x0d\n }\x0d\n}\x0d\n\x0d\nclass ConnResetException extends Error {\x0d\n constructor(msg) {\x0d\n super(msg);\x0d\n this.code = 'ECONNRESET';\x0d\n }\x0d\n\x0d\n get ['constructor']() {\x0d\n return Error;\x0d\n }\x0d\n}\x0d\n\x0d\nlet maxStack_ErrorName;\x0d\nlet maxStack_ErrorMessage;\x0d\n\x0d\n/**\x0d\n * Returns true if `err.name` and `err.message` are equal to engine-specific\x0d\n * values indicating max call stack size has been exceeded.\x0d\n * "Maximum call stack size exceeded" in V8.\x0d\n * @param {Error} err\x0d\n * @returns {boolean}\x0d\n */\x0d\nfunction isStackOverflowError(err) {\x0d\n if (maxStack_ErrorMessage === undefined) {\x0d\n try {\x0d\n function overflowStack() { overflowStack(); }\x0d\n overflowStack();\x0d\n } catch (err) {\x0d\n maxStack_ErrorMessage = err.message;\x0d\n maxStack_ErrorName = err.name;\x0d\n }\x0d\n }\x0d\n\x0d\n return err && err.name === maxStack_ErrorName &&\x0d\n err.message === maxStack_ErrorMessage;\x0d\n}\x0d\n\x0d\n// Only use this for integers! Decimal numbers do not work with this function.\x0d\nfunction addNumericalSeparator(val) {\x0d\n let res = '';\x0d\n let i = val.length;\x0d\n const start = val[0] === '-' ? 1 : 0;\x0d\n for (; i >= start + 4; i -= 3) {\x0d\n res = `_${StringPrototypeSlice(val\x2C i - 3\x2C i)}${res}`;\x0d\n }\x0d\n return `${StringPrototypeSlice(val\x2C 0\x2C i)}${res}`;\x0d\n}\x0d\n\x0d\n// Used to enhance the stack that will be picked up by the inspector\x0d\nconst kEnhanceStackBeforeInspector = Symbol('kEnhanceStackBeforeInspector');\x0d\n\x0d\n// These are supposed to be called only on fatal exceptions before\x0d\n// the process exits.\x0d\nconst fatalExceptionStackEnhancers = {\x0d\n beforeInspector(error) {\x0d\n if (typeof error[kEnhanceStackBeforeInspector] !== 'function') {\x0d\n return error.stack;\x0d\n }\x0d\n\x0d\n try {\x0d\n // Set the error.stack here so it gets picked up by the\x0d\n // inspector.\x0d\n error.stack = error[kEnhanceStackBeforeInspector]();\x0d\n } catch {\x0d\n // We are just enhancing the error. If it fails\x2C ignore it.\x0d\n }\x0d\n return error.stack;\x0d\n }\x2C\x0d\n afterInspector(error) {\x0d\n const originalStack = error.stack;\x0d\n let useColors = true;\x0d\n // Some consoles do not convert ANSI escape sequences to colors\x2C\x0d\n // rather display them directly to the stdout. On those consoles\x2C\x0d\n // libuv emulates colors by intercepting stdout stream and calling\x0d\n // corresponding Windows API functions for setting console colors.\x0d\n // However\x2C fatal error are handled differently and we cannot easily\x0d\n // highlight them. On Windows\x2C detecting whether a console supports\x0d\n // ANSI escape sequences is not reliable.\x0d\n if (isWindows) {\x0d\n const info = internalBinding('os').getOSInformation();\x0d\n const ver = ArrayPrototypeMap(StringPrototypeSplit(info[2]\x2C '.')\x2C\x0d\n Number);\x0d\n if (ver[0] !== 10 || ver[2] < 14393) {\x0d\n useColors = false;\x0d\n }\x0d\n }\x0d\n const {\x0d\n inspect\x2C\x0d\n inspectDefaultOptions: {\x0d\n colors: defaultColors\x2C\x0d\n }\x2C\x0d\n } = lazyInternalUtilInspect();\x0d\n const colors = useColors && (lazyUtilColors().shouldColorize(process.stderr) || defaultColors);\x0d\n try {\x0d\n return inspect(error\x2C {\x0d\n colors\x2C\x0d\n customInspect: false\x2C\x0d\n depth: MathMax(inspect.defaultOptions.depth\x2C 5)\x2C\x0d\n });\x0d\n } catch {\x0d\n return originalStack;\x0d\n }\x0d\n }\x2C\x0d\n};\x0d\n\x0d\nconst {\x0d\n privateSymbols: {\x0d\n arrow_message_private_symbol\x2C\x0d\n }\x2C\x0d\n} = internalBinding('util');\x0d\n// Ensures the printed error line is from user code.\x0d\nfunction setArrowMessage(err\x2C arrowMessage) {\x0d\n err[arrow_message_private_symbol] = arrowMessage;\x0d\n}\x0d\n\x0d\n// Hide stack lines before the first user code line.\x0d\nfunction hideInternalStackFrames(error) {\x0d\n overrideStackTrace.set(error\x2C (error\x2C stackFrames) => {\x0d\n let frames = stackFrames;\x0d\n if (typeof stackFrames === 'object') {\x0d\n frames = ArrayPrototypeFilter(\x0d\n stackFrames\x2C\x0d\n (frm) => !StringPrototypeStartsWith(frm.getFileName() || ''\x2C\x0d\n 'node:internal')\x2C\x0d\n );\x0d\n }\x0d\n ArrayPrototypeUnshift(frames\x2C error);\x0d\n return ArrayPrototypeJoin(frames\x2C '\\n at ');\x0d\n });\x0d\n}\x0d\n\x0d\n// Node uses an AbortError that isn't exactly the same as the DOMException\x0d\n// to make usage of the error in userland and readable-stream easier.\x0d\n// It is a regular error with `.code` and `.name`.\x0d\nclass AbortError extends Error {\x0d\n constructor(message = 'The operation was aborted'\x2C options = undefined) {\x0d\n if (options !== undefined && typeof options !== 'object') {\x0d\n throw new codes.ERR_INVALID_ARG_TYPE('options'\x2C 'Object'\x2C options);\x0d\n }\x0d\n super(message\x2C options);\x0d\n this.code = 'ABORT_ERR';\x0d\n this.name = 'AbortError';\x0d\n }\x0d\n}\x0d\n\x0d\n/**\x0d\n * This creates a generic Node.js error.\x0d\n * @param {string} message The error message.\x0d\n * @param {object} errorProperties Object with additional properties to be added to the error.\x0d\n * @returns {Error}\x0d\n */\x0d\nconst genericNodeError = hideStackFrames(function genericNodeError(message\x2C errorProperties) {\x0d\n // eslint-disable-next-line no-restricted-syntax\x0d\n const err = new Error(message);\x0d\n ObjectAssign(err\x2C errorProperties);\x0d\n return err;\x0d\n});\x0d\n\x0d\n/**\x0d\n * Determine the specific type of a value for type-mismatch errors.\x0d\n * @param {*} value\x0d\n * @returns {string}\x0d\n */\x0d\nfunction determineSpecificType(value) {\x0d\n if (value === null) {\x0d\n return 'null';\x0d\n } else if (value === undefined) {\x0d\n return 'undefined';\x0d\n }\x0d\n\x0d\n const type = typeof value;\x0d\n\x0d\n switch (type) {\x0d\n case 'bigint':\x0d\n return `type bigint (${value}n)`;\x0d\n case 'number':\x0d\n if (value === 0) {\x0d\n return 1 / value === -Infinity ? 'type number (-0)' : 'type number (0)';\x0d\n } else if (value !== value) { // eslint-disable-line no-self-compare\x0d\n return 'type number (NaN)';\x0d\n } else if (value === Infinity) {\x0d\n return 'type number (Infinity)';\x0d\n } else if (value === -Infinity) {\x0d\n return 'type number (-Infinity)';\x0d\n }\x0d\n return `type number (${value})`;\x0d\n case 'boolean':\x0d\n return value ? 'type boolean (true)' : 'type boolean (false)';\x0d\n case 'symbol':\x0d\n return `type symbol (${String(value)})`;\x0d\n case 'function':\x0d\n return `function ${value.name}`;\x0d\n case 'object':\x0d\n if (value.constructor && 'name' in value.constructor) {\x0d\n return `an instance of ${value.constructor.name}`;\x0d\n }\x0d\n return `${lazyInternalUtilInspect().inspect(value\x2C { depth: -1 })}`;\x0d\n case 'string':\x0d\n value.length > 28 && (value = `${StringPrototypeSlice(value\x2C 0\x2C 25)}...`);\x0d\n if (StringPrototypeIndexOf(value\x2C "'") === -1) {\x0d\n return `type string ('${value}')`;\x0d\n }\x0d\n return `type string (${JSONStringify(value)})`;\x0d\n default:\x0d\n value = lazyInternalUtilInspect().inspect(value\x2C { colors: false });\x0d\n if (value.length > 28) {\x0d\n value = `${StringPrototypeSlice(value\x2C 0\x2C 25)}...`;\x0d\n }\x0d\n\x0d\n return `type ${type} (${value})`;\x0d\n }\x0d\n}\x0d\n\x0d\n/**\x0d\n * Create a list string in the form like 'A and B' or 'A\x2C B\x2C ...\x2C and Z'.\x0d\n * We cannot use Intl.ListFormat because it's not available in\x0d\n * --without-intl builds.\x0d\n * @param {string[]} array An array of strings.\x0d\n * @param {string} [type] The list type to be inserted before the last element.\x0d\n * @returns {string}\x0d\n */\x0d\nfunction formatList(array\x2C type = 'and') {\x0d\n switch (array.length) {\x0d\n case 0: return '';\x0d\n case 1: return `${array[0]}`;\x0d\n case 2: return `${array[0]} ${type} ${array[1]}`;\x0d\n case 3: return `${array[0]}\x2C ${array[1]}\x2C ${type} ${array[2]}`;\x0d\n default:\x0d\n return `${ArrayPrototypeJoin(ArrayPrototypeSlice(array\x2C 0\x2C -1)\x2C '\x2C ')}\x2C ${type} ${array[array.length - 1]}`;\x0d\n }\x0d\n}\x0d\n\x0d\nmodule.exports = {\x0d\n AbortError\x2C\x0d\n aggregateTwoErrors\x2C\x0d\n NodeAggregateError\x2C\x0d\n codes\x2C\x0d\n ConnResetException\x2C\x0d\n DNSException\x2C\x0d\n // This is exported only to facilitate testing.\x0d\n determineSpecificType\x2C\x0d\n E\x2C\x0d\n ErrnoException\x2C\x0d\n ExceptionWithHostPort\x2C\x0d\n fatalExceptionStackEnhancers\x2C\x0d\n formatList\x2C\x0d\n genericNodeError\x2C\x0d\n getMessage\x2C\x0d\n hideInternalStackFrames\x2C\x0d\n hideStackFrames\x2C\x0d\n inspectWithNoCustomRetry\x2C\x0d\n isErrorStackTraceLimitWritable\x2C\x0d\n isStackOverflowError\x2C\x0d\n kEnhanceStackBeforeInspector\x2C\x0d\n kIsNodeError\x2C\x0d\n defaultPrepareStackTrace\x2C\x0d\n setInternalPrepareStackTrace\x2C\x0d\n overrideStackTrace\x2C\x0d\n prepareStackTraceCallback\x2C\x0d\n ErrorPrepareStackTrace\x2C\x0d\n setArrowMessage\x2C\x0d\n SystemError\x2C\x0d\n uvErrmapGet\x2C\x0d\n UVException\x2C\x0d\n UVExceptionWithHostPort\x2C\x0d\n};\x0d\n\x0d\n// To declare an error message\x2C use the E(sym\x2C val\x2C def) function above. The sym\x0d\n// must be an upper case string. The val can be either a function or a string.\x0d\n// The def must be an error class.\x0d\n// The return value of the function must be a string.\x0d\n// Examples:\x0d\n// E('EXAMPLE_KEY1'\x2C 'This is the error value'\x2C Error);\x0d\n// E('EXAMPLE_KEY2'\x2C (a\x2C b) => return `${a} ${b}`\x2C RangeError);\x0d\n//\x0d\n// Once an error code has been assigned\x2C the code itself MUST NOT change and\x0d\n// any given error code must never be reused to identify a different error.\x0d\n//\x0d\n// Any error code added here should also be added to the documentation\x0d\n//\x0d\n// Note: Please try to keep these in alphabetical order\x0d\n//\x0d\n// Note: Node.js specific errors must begin with the prefix ERR_\x0d\n\x0d\nE('ERR_ACCESS_DENIED'\x2C\x0d\n function(msg\x2C permission = ''\x2C resource = '') {\x0d\n this.permission = permission;\x0d\n this.resource = resource;\x0d\n return msg;\x0d\n }\x2C\x0d\n Error);\x0d\nE('ERR_AMBIGUOUS_ARGUMENT'\x2C 'The "%s" argument is ambiguous. %s'\x2C TypeError);\x0d\nE('ERR_ARG_NOT_ITERABLE'\x2C '%s must be iterable'\x2C TypeError);\x0d\nE('ERR_ASSERTION'\x2C '%s'\x2C Error);\x0d\nE('ERR_ASYNC_CALLBACK'\x2C '%s must be a function'\x2C TypeError);\x0d\nE('ERR_ASYNC_TYPE'\x2C 'Invalid name for async "type": %s'\x2C TypeError);\x0d\nE('ERR_BROTLI_INVALID_PARAM'\x2C '%s is not a valid Brotli parameter'\x2C RangeError);\x0d\nE('ERR_BUFFER_OUT_OF_BOUNDS'\x2C\x0d\n // Using a default argument here is important so the argument is not counted\x0d\n // towards `Function#length`.\x0d\n (name = undefined) => {\x0d\n if (name) {\x0d\n return `"${name}" is outside of buffer bounds`;\x0d\n }\x0d\n return 'Attempt to access memory outside buffer bounds';\x0d\n }\x2C RangeError);\x0d\nE('ERR_BUFFER_TOO_LARGE'\x2C\x0d\n 'Cannot create a Buffer larger than %s bytes'\x2C\x0d\n RangeError);\x0d\nE('ERR_CANNOT_WATCH_SIGINT'\x2C 'Cannot watch for SIGINT signals'\x2C Error);\x0d\nE('ERR_CHILD_CLOSED_BEFORE_REPLY'\x2C\x0d\n 'Child closed before reply received'\x2C Error);\x0d\nE('ERR_CHILD_PROCESS_IPC_REQUIRED'\x2C\x0d\n "Forked processes must have an IPC channel\x2C missing value 'ipc' in %s"\x2C\x0d\n Error);\x0d\nE('ERR_CHILD_PROCESS_STDIO_MAXBUFFER'\x2C '%s maxBuffer length exceeded'\x2C\x0d\n RangeError);\x0d\nE('ERR_CONSOLE_WRITABLE_STREAM'\x2C\x0d\n 'Console expects a writable stream instance for %s'\x2C TypeError);\x0d\nE('ERR_CONTEXT_NOT_INITIALIZED'\x2C 'context used is not initialized'\x2C Error);\x0d\nE('ERR_CRYPTO_CUSTOM_ENGINE_NOT_SUPPORTED'\x2C\x0d\n 'Custom engines not supported by this OpenSSL'\x2C Error);\x0d\nE('ERR_CRYPTO_ECDH_INVALID_FORMAT'\x2C 'Invalid ECDH format: %s'\x2C TypeError);\x0d\nE('ERR_CRYPTO_ECDH_INVALID_PUBLIC_KEY'\x2C\x0d\n 'Public key is not valid for specified curve'\x2C Error);\x0d\nE('ERR_CRYPTO_ENGINE_UNKNOWN'\x2C 'Engine "%s" was not found'\x2C Error);\x0d\nE('ERR_CRYPTO_FIPS_FORCED'\x2C\x0d\n 'Cannot set FIPS mode\x2C it was forced with --force-fips at startup.'\x2C Error);\x0d\nE('ERR_CRYPTO_FIPS_UNAVAILABLE'\x2C 'Cannot set FIPS mode in a non-FIPS build.'\x2C\x0d\n Error);\x0d\nE('ERR_CRYPTO_HASH_FINALIZED'\x2C 'Digest already called'\x2C Error);\x0d\nE('ERR_CRYPTO_HASH_UPDATE_FAILED'\x2C 'Hash update failed'\x2C Error);\x0d\nE('ERR_CRYPTO_INCOMPATIBLE_KEY'\x2C 'Incompatible %s: %s'\x2C Error);\x0d\nE('ERR_CRYPTO_INCOMPATIBLE_KEY_OPTIONS'\x2C 'The selected key encoding %s %s.'\x2C\x0d\n Error);\x0d\nE('ERR_CRYPTO_INVALID_DIGEST'\x2C 'Invalid digest: %s'\x2C TypeError);\x0d\nE('ERR_CRYPTO_INVALID_JWK'\x2C 'Invalid JWK data'\x2C TypeError);\x0d\nE('ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE'\x2C\x0d\n 'Invalid key object type %s\x2C expected %s.'\x2C TypeError);\x0d\nE('ERR_CRYPTO_INVALID_STATE'\x2C 'Invalid state for operation %s'\x2C Error);\x0d\nE('ERR_CRYPTO_PBKDF2_ERROR'\x2C 'PBKDF2 error'\x2C Error);\x0d\nE('ERR_CRYPTO_SCRYPT_INVALID_PARAMETER'\x2C 'Invalid scrypt parameter'\x2C Error);\x0d\nE('ERR_CRYPTO_SCRYPT_NOT_SUPPORTED'\x2C 'Scrypt algorithm not supported'\x2C Error);\x0d\n// Switch to TypeError. The current implementation does not seem right.\x0d\nE('ERR_CRYPTO_SIGN_KEY_REQUIRED'\x2C 'No key provided to sign'\x2C Error);\x0d\nE('ERR_DEBUGGER_ERROR'\x2C '%s'\x2C Error);\x0d\nE('ERR_DEBUGGER_STARTUP_ERROR'\x2C '%s'\x2C Error);\x0d\nE('ERR_DIR_CLOSED'\x2C 'Directory handle was closed'\x2C Error);\x0d\nE('ERR_DIR_CONCURRENT_OPERATION'\x2C\x0d\n 'Cannot do synchronous work on directory handle with concurrent ' +\x0d\n 'asynchronous operations'\x2C Error);\x0d\nE('ERR_DNS_SET_SERVERS_FAILED'\x2C 'c-ares failed to set servers: "%s" [%s]'\x2C\x0d\n Error);\x0d\nE('ERR_DOMAIN_CALLBACK_NOT_AVAILABLE'\x2C\x0d\n 'A callback was registered through ' +\x0d\n 'process.setUncaughtExceptionCaptureCallback()\x2C which is mutually ' +\x0d\n 'exclusive with using the `domain` module'\x2C\x0d\n Error);\x0d\nE('ERR_DOMAIN_CANNOT_SET_UNCAUGHT_EXCEPTION_CAPTURE'\x2C\x0d\n 'The `domain` module is in use\x2C which is mutually exclusive with calling ' +\x0d\n 'process.setUncaughtExceptionCaptureCallback()'\x2C\x0d\n Error);\x0d\nE('ERR_DUPLICATE_STARTUP_SNAPSHOT_MAIN_FUNCTION'\x2C\x0d\n 'Deserialize main function is already configured.'\x2C Error);\x0d\nE('ERR_ENCODING_INVALID_ENCODED_DATA'\x2C function(encoding\x2C ret) {\x0d\n this.errno = ret;\x0d\n return `The encoded data was not valid for encoding ${encoding}`;\x0d\n}\x2C TypeError);\x0d\nE('ERR_ENCODING_NOT_SUPPORTED'\x2C 'The "%s" encoding is not supported'\x2C\x0d\n RangeError);\x0d\nE('ERR_EVAL_ESM_CANNOT_PRINT'\x2C '--print cannot be used with ESM input'\x2C Error);\x0d\nE('ERR_EVENT_RECURSION'\x2C 'The event "%s" is already being dispatched'\x2C Error);\x0d\nE('ERR_FALSY_VALUE_REJECTION'\x2C function(reason) {\x0d\n this.reason = reason;\x0d\n return 'Promise was rejected with falsy value';\x0d\n}\x2C Error\x2C HideStackFramesError);\x0d\nE('ERR_FEATURE_UNAVAILABLE_ON_PLATFORM'\x2C\x0d\n 'The feature %s is unavailable on the current platform' +\x0d\n '\x2C which is being used to run Node.js'\x2C\x0d\n TypeError);\x0d\nE('ERR_FS_CP_DIR_TO_NON_DIR'\x2C\x0d\n 'Cannot overwrite non-directory with directory'\x2C SystemError);\x0d\nE('ERR_FS_CP_EEXIST'\x2C 'Target already exists'\x2C SystemError);\x0d\nE('ERR_FS_CP_EINVAL'\x2C 'Invalid src or dest'\x2C SystemError);\x0d\nE('ERR_FS_CP_FIFO_PIPE'\x2C 'Cannot copy a FIFO pipe'\x2C SystemError);\x0d\nE('ERR_FS_CP_NON_DIR_TO_DIR'\x2C\x0d\n 'Cannot overwrite directory with non-directory'\x2C SystemError);\x0d\nE('ERR_FS_CP_SOCKET'\x2C 'Cannot copy a socket file'\x2C SystemError);\x0d\nE('ERR_FS_CP_SYMLINK_TO_SUBDIRECTORY'\x2C\x0d\n 'Cannot overwrite symlink in subdirectory of self'\x2C SystemError);\x0d\nE('ERR_FS_CP_UNKNOWN'\x2C 'Cannot copy an unknown file type'\x2C SystemError);\x0d\nE('ERR_FS_EISDIR'\x2C 'Path is a directory'\x2C SystemError\x2C HideStackFramesError);\x0d\nE('ERR_FS_FILE_TOO_LARGE'\x2C 'File size (%s) is greater than 2 GiB'\x2C RangeError);\x0d\nE('ERR_FS_INVALID_SYMLINK_TYPE'\x2C\x0d\n 'Symlink type must be one of "dir"\x2C "file"\x2C or "junction". Received "%s"'\x2C\x0d\n Error); // Switch to TypeError. The current implementation does not seem right\x0d\nE('ERR_HTTP2_ALTSVC_INVALID_ORIGIN'\x2C\x0d\n 'HTTP/2 ALTSVC frames require a valid origin'\x2C TypeError);\x0d\nE('ERR_HTTP2_ALTSVC_LENGTH'\x2C\x0d\n 'HTTP/2 ALTSVC frames are limited to 16382 bytes'\x2C TypeError);\x0d\nE('ERR_HTTP2_CONNECT_AUTHORITY'\x2C\x0d\n ':authority header is required for CONNECT requests'\x2C Error);\x0d\nE('ERR_HTTP2_CONNECT_PATH'\x2C\x0d\n 'The :path header is forbidden for CONNECT requests'\x2C Error);\x0d\nE('ERR_HTTP2_CONNECT_SCHEME'\x2C\x0d\n 'The :scheme header is forbidden for CONNECT requests'\x2C Error);\x0d\nE('ERR_HTTP2_GOAWAY_SESSION'\x2C\x0d\n 'New streams cannot be created after receiving a GOAWAY'\x2C Error);\x0d\nE('ERR_HTTP2_HEADERS_AFTER_RESPOND'\x2C\x0d\n 'Cannot specify additional headers after response initiated'\x2C Error);\x0d\nE('ERR_HTTP2_HEADERS_SENT'\x2C 'Response has already been initiated.'\x2C Error);\x0d\nE('ERR_HTTP2_HEADER_SINGLE_VALUE'\x2C\x0d\n 'Header field "%s" must only have a single value'\x2C TypeError);\x0d\nE('ERR_HTTP2_INFO_STATUS_NOT_ALLOWED'\x2C\x0d\n 'Informational status codes cannot be used'\x2C RangeError);\x0d\nE('ERR_HTTP2_INVALID_CONNECTION_HEADERS'\x2C\x0d\n 'HTTP/1 Connection specific headers are forbidden: "%s"'\x2C TypeError);\x0d\nE('ERR_HTTP2_INVALID_HEADER_VALUE'\x2C\x0d\n 'Invalid value "%s" for header "%s"'\x2C TypeError\x2C HideStackFramesError);\x0d\nE('ERR_HTTP2_INVALID_INFO_STATUS'\x2C\x0d\n 'Invalid informational status code: %s'\x2C RangeError);\x0d\nE('ERR_HTTP2_INVALID_ORIGIN'\x2C\x0d\n 'HTTP/2 ORIGIN frames require a valid origin'\x2C TypeError);\x0d\nE('ERR_HTTP2_INVALID_PACKED_SETTINGS_LENGTH'\x2C\x0d\n 'Packed settings length must be a multiple of six'\x2C RangeError);\x0d\nE('ERR_HTTP2_INVALID_PSEUDOHEADER'\x2C\x0d\n '"%s" is an invalid pseudoheader or is used incorrectly'\x2C TypeError\x2C HideStackFramesError);\x0d\nE('ERR_HTTP2_INVALID_SESSION'\x2C 'The session has been destroyed'\x2C Error);\x0d\nE('ERR_HTTP2_INVALID_SETTING_VALUE'\x2C\x0d\n // Using default arguments here is important so the arguments are not counted\x0d\n // towards `Function#length`.\x0d\n function(name\x2C actual\x2C min = undefined\x2C max = undefined) {\x0d\n this.actual = actual;\x0d\n if (min !== undefined) {\x0d\n this.min = min;\x0d\n this.max = max;\x0d\n }\x0d\n return `Invalid value for setting "${name}": ${actual}`;\x0d\n }\x2C TypeError\x2C RangeError\x2C HideStackFramesError);\x0d\nE('ERR_HTTP2_INVALID_STREAM'\x2C 'The stream has been destroyed'\x2C Error);\x0d\nE('ERR_HTTP2_MAX_PENDING_SETTINGS_ACK'\x2C\x0d\n 'Maximum number of pending settings acknowledgements'\x2C Error);\x0d\nE('ERR_HTTP2_NESTED_PUSH'\x2C\x0d\n 'A push stream cannot initiate another push stream.'\x2C Error);\x0d\nE('ERR_HTTP2_NO_MEM'\x2C 'Out of memory'\x2C Error);\x0d\nE('ERR_HTTP2_NO_SOCKET_MANIPULATION'\x2C\x0d\n 'HTTP/2 sockets should not be directly manipulated (e.g. read and written)'\x2C\x0d\n Error);\x0d\nE('ERR_HTTP2_ORIGIN_LENGTH'\x2C\x0d\n 'HTTP/2 ORIGIN frames are limited to 16382 bytes'\x2C TypeError);\x0d\nE('ERR_HTTP2_OUT_OF_STREAMS'\x2C\x0d\n 'No stream ID is available because maximum stream ID has been reached'\x2C\x0d\n Error);\x0d\nE('ERR_HTTP2_PAYLOAD_FORBIDDEN'\x2C\x0d\n 'Responses with %s status must not have a payload'\x2C Error);\x0d\nE('ERR_HTTP2_PING_CANCEL'\x2C 'HTTP2 ping cancelled'\x2C Error);\x0d\nE('ERR_HTTP2_PING_LENGTH'\x2C 'HTTP2 ping payload must be 8 bytes'\x2C RangeError);\x0d\nE('ERR_HTTP2_PSEUDOHEADER_NOT_ALLOWED'\x2C\x0d\n 'Cannot set HTTP/2 pseudo-headers'\x2C TypeError\x2C HideStackFramesError);\x0d\nE('ERR_HTTP2_PUSH_DISABLED'\x2C 'HTTP/2 client has disabled push streams'\x2C Error);\x0d\nE('ERR_HTTP2_SEND_FILE'\x2C 'Directories cannot be sent'\x2C Error);\x0d\nE('ERR_HTTP2_SEND_FILE_NOSEEK'\x2C\x0d\n 'Offset or length can only be specified for regular files'\x2C Error);\x0d\nE('ERR_HTTP2_SESSION_ERROR'\x2C 'Session closed with error code %s'\x2C Error);\x0d\nE('ERR_HTTP2_SETTINGS_CANCEL'\x2C 'HTTP2 session settings canceled'\x2C Error);\x0d\nE('ERR_HTTP2_SOCKET_BOUND'\x2C\x0d\n 'The socket is already bound to an Http2Session'\x2C Error);\x0d\nE('ERR_HTTP2_SOCKET_UNBOUND'\x2C\x0d\n 'The socket has been disconnected from the Http2Session'\x2C Error);\x0d\nE('ERR_HTTP2_STATUS_101'\x2C\x0d\n 'HTTP status code 101 (Switching Protocols) is forbidden in HTTP/2'\x2C Error);\x0d\nE('ERR_HTTP2_STATUS_INVALID'\x2C 'Invalid status code: %s'\x2C RangeError);\x0d\nE('ERR_HTTP2_STREAM_CANCEL'\x2C function(error) {\x0d\n let msg = 'The pending stream has been canceled';\x0d\n if (error) {\x0d\n this.cause = error;\x0d\n if (typeof error.message === 'string')\x0d\n msg += ` (caused by: ${error.message})`;\x0d\n }\x0d\n return msg;\x0d\n}\x2C Error);\x0d\nE('ERR_HTTP2_STREAM_ERROR'\x2C 'Stream closed with error code %s'\x2C Error);\x0d\nE('ERR_HTTP2_STREAM_SELF_DEPENDENCY'\x2C\x0d\n 'A stream cannot depend on itself'\x2C Error);\x0d\nE('ERR_HTTP2_TOO_MANY_CUSTOM_SETTINGS'\x2C\x0d\n 'Number of custom settings exceeds MAX_ADDITIONAL_SETTINGS'\x2C Error);\x0d\nE('ERR_HTTP2_TOO_MANY_INVALID_FRAMES'\x2C 'Too many invalid HTTP/2 frames'\x2C Error);\x0d\nE('ERR_HTTP2_TRAILERS_ALREADY_SENT'\x2C\x0d\n 'Trailing headers have already been sent'\x2C Error);\x0d\nE('ERR_HTTP2_TRAILERS_NOT_READY'\x2C\x0d\n 'Trailing headers cannot be sent until after the wantTrailers event is ' +\x0d\n 'emitted'\x2C Error);\x0d\nE('ERR_HTTP2_UNSUPPORTED_PROTOCOL'\x2C 'protocol "%s" is unsupported.'\x2C Error);\x0d\nE('ERR_HTTP_BODY_NOT_ALLOWED'\x2C\x0d\n 'Adding content for this request method or response status is not allowed.'\x2C Error);\x0d\nE('ERR_HTTP_CONTENT_LENGTH_MISMATCH'\x2C\x0d\n 'Response body\\'s content-length of %s byte(s) does not match the content-length of %s byte(s) set in header'\x2C Error);\x0d\nE('ERR_HTTP_HEADERS_SENT'\x2C\x0d\n 'Cannot %s headers after they are sent to the client'\x2C Error);\x0d\nE('ERR_HTTP_INVALID_HEADER_VALUE'\x2C\x0d\n 'Invalid value "%s" for header "%s"'\x2C TypeError\x2C HideStackFramesError);\x0d\nE('ERR_HTTP_INVALID_STATUS_CODE'\x2C 'Invalid status code: %s'\x2C RangeError);\x0d\nE('ERR_HTTP_REQUEST_TIMEOUT'\x2C 'Request timeout'\x2C Error);\x0d\nE('ERR_HTTP_SOCKET_ASSIGNED'\x2C\x0d\n 'ServerResponse has an already assigned socket'\x2C Error);\x0d\nE('ERR_HTTP_SOCKET_ENCODING'\x2C\x0d\n 'Changing the socket encoding is not allowed per RFC7230 Section 3.'\x2C Error);\x0d\nE('ERR_HTTP_TRAILER_INVALID'\x2C\x0d\n 'Trailers are invalid with this transfer encoding'\x2C Error);\x0d\nE('ERR_ILLEGAL_CONSTRUCTOR'\x2C 'Illegal constructor'\x2C TypeError);\x0d\n// TODO(aduh95): change the error to mention import attributes instead of import assertions.\x0d\nE('ERR_IMPORT_ASSERTION_TYPE_FAILED'\x2C\x0d\n 'Module "%s" is not of type "%s"'\x2C TypeError);\x0d\n// TODO(aduh95): change the error to mention import attributes instead of import assertions.\x0d\nE('ERR_IMPORT_ASSERTION_TYPE_MISSING'\x2C\x0d\n 'Module "%s" needs an import attribute of type "%s"'\x2C TypeError);\x0d\n// TODO(aduh95): change the error to mention import attributes instead of import assertions.\x0d\nE('ERR_IMPORT_ASSERTION_TYPE_UNSUPPORTED'\x2C\x0d\n 'Import attribute type "%s" is unsupported'\x2C TypeError);\x0d\nE('ERR_IMPORT_ATTRIBUTE_UNSUPPORTED'\x2C\x0d\n 'Import attribute "%s" with value "%s" is not supported'\x2C TypeError);\x0d\nE('ERR_INCOMPATIBLE_OPTION_PAIR'\x2C\x0d\n 'Option "%s" cannot be used in combination with option "%s"'\x2C TypeError\x2C HideStackFramesError);\x0d\nE('ERR_INPUT_TYPE_NOT_ALLOWED'\x2C '--input-type can only be used with string ' +\x0d\n 'input via --eval\x2C --print\x2C or STDIN'\x2C Error);\x0d\nE('ERR_INSPECTOR_ALREADY_ACTIVATED'\x2C\x0d\n 'Inspector is already activated. Close it with inspector.close() ' +\x0d\n 'before activating it again.'\x2C\x0d\n Error);\x0d\nE('ERR_INSPECTOR_ALREADY_CONNECTED'\x2C '%s is already connected'\x2C Error);\x0d\nE('ERR_INSPECTOR_CLOSED'\x2C 'Session was closed'\x2C Error);\x0d\nE('ERR_INSPECTOR_COMMAND'\x2C 'Inspector error %d: %s'\x2C Error);\x0d\nE('ERR_INSPECTOR_NOT_ACTIVE'\x2C 'Inspector is not active'\x2C Error);\x0d\nE('ERR_INSPECTOR_NOT_AVAILABLE'\x2C 'Inspector is not available'\x2C Error);\x0d\nE('ERR_INSPECTOR_NOT_CONNECTED'\x2C 'Session is not connected'\x2C Error);\x0d\nE('ERR_INSPECTOR_NOT_WORKER'\x2C 'Current thread is not a worker'\x2C Error);\x0d\nE('ERR_INTERNAL_ASSERTION'\x2C (message) => {\x0d\n const suffix = 'This is caused by either a bug in Node.js ' +\x0d\n 'or incorrect usage of Node.js internals.\\n' +\x0d\n 'Please open an issue with this stack trace at ' +\x0d\n 'https://github.com/nodejs/node/issues\\n';\x0d\n return message === undefined ? suffix : `${message}\\n${suffix}`;\x0d\n}\x2C Error);\x0d\nE('ERR_INVALID_ADDRESS_FAMILY'\x2C function(addressType\x2C host\x2C port) {\x0d\n this.host = host;\x0d\n this.port = port;\x0d\n return `Invalid address family: ${addressType} ${host}:${port}`;\x0d\n}\x2C RangeError);\x0d\nE('ERR_INVALID_ARG_TYPE'\x2C\x0d\n (name\x2C expected\x2C actual) => {\x0d\n assert(typeof name === 'string'\x2C "'name' must be a string");\x0d\n if (!ArrayIsArray(expected)) {\x0d\n expected = [expected];\x0d\n }\x0d\n\x0d\n let msg = 'The ';\x0d\n if (StringPrototypeEndsWith(name\x2C ' argument')) {\x0d\n // For cases like 'first argument'\x0d\n msg += `${name} `;\x0d\n } else {\x0d\n const type = StringPrototypeIncludes(name\x2C '.') ? 'property' : 'argument';\x0d\n msg += `"${name}" ${type} `;\x0d\n }\x0d\n msg += 'must be ';\x0d\n\x0d\n const types = [];\x0d\n const instances = [];\x0d\n const other = [];\x0d\n\x0d\n for (const value of expected) {\x0d\n assert(typeof value === 'string'\x2C\x0d\n 'All expected entries have to be of type string');\x0d\n if (ArrayPrototypeIncludes(kTypes\x2C value)) {\x0d\n ArrayPrototypePush(types\x2C StringPrototypeToLowerCase(value));\x0d\n } else if (RegExpPrototypeExec(classRegExp\x2C value) !== null) {\x0d\n ArrayPrototypePush(instances\x2C value);\x0d\n } else {\x0d\n assert(value !== 'object'\x2C\x0d\n 'The value "object" should be written as "Object"');\x0d\n ArrayPrototypePush(other\x2C value);\x0d\n }\x0d\n }\x0d\n\x0d\n // Special handle `object` in case other instances are allowed to outline\x0d\n // the differences between each other.\x0d\n if (instances.length > 0) {\x0d\n const pos = ArrayPrototypeIndexOf(types\x2C 'object');\x0d\n if (pos !== -1) {\x0d\n ArrayPrototypeSplice(types\x2C pos\x2C 1);\x0d\n ArrayPrototypePush(instances\x2C 'Object');\x0d\n }\x0d\n }\x0d\n\x0d\n if (types.length > 0) {\x0d\n msg += `${types.length > 1 ? 'one of type' : 'of type'} ${formatList(types\x2C 'or')}`;\x0d\n if (instances.length > 0 || other.length > 0)\x0d\n msg += ' or ';\x0d\n }\x0d\n\x0d\n if (instances.length > 0) {\x0d\n msg += `an instance of ${formatList(instances\x2C 'or')}`;\x0d\n if (other.length > 0)\x0d\n msg += ' or ';\x0d\n }\x0d\n\x0d\n if (other.length > 0) {\x0d\n if (other.length > 1) {\x0d\n msg += `one of ${formatList(other\x2C 'or')}`;\x0d\n } else {\x0d\n if (StringPrototypeToLowerCase(other[0]) !== other[0])\x0d\n msg += 'an ';\x0d\n msg += `${other[0]}`;\x0d\n }\x0d\n }\x0d\n\x0d\n msg += `. Received ${determineSpecificType(actual)}`;\x0d\n\x0d\n return msg;\x0d\n }\x2C TypeError\x2C HideStackFramesError);\x0d\nE('ERR_INVALID_ARG_VALUE'\x2C (name\x2C value\x2C reason = 'is invalid') => {\x0d\n let inspected = lazyInternalUtilInspect().inspect(value);\x0d\n if (inspected.length > 128) {\x0d\n inspected = `${StringPrototypeSlice(inspected\x2C 0\x2C 128)}...`;\x0d\n }\x0d\n const type = StringPrototypeIncludes(name\x2C '.') ? 'property' : 'argument';\x0d\n return `The ${type} '${name}' ${reason}. Received ${inspected}`;\x0d\n}\x2C TypeError\x2C RangeError\x2C HideStackFramesError);\x0d\nE('ERR_INVALID_ASYNC_ID'\x2C 'Invalid %s value: %s'\x2C RangeError);\x0d\nE('ERR_INVALID_BUFFER_SIZE'\x2C\x0d\n 'Buffer size must be a multiple of %s'\x2C RangeError);\x0d\nE('ERR_INVALID_CHAR'\x2C\x0d\n // Using a default argument here is important so the argument is not counted\x0d\n // towards `Function#length`.\x0d\n (name\x2C field = undefined) => {\x0d\n let msg = `Invalid character in ${name}`;\x0d\n if (field !== undefined) {\x0d\n msg += ` ["${field}"]`;\x0d\n }\x0d\n return msg;\x0d\n }\x2C TypeError\x2C HideStackFramesError);\x0d\nE('ERR_INVALID_CURSOR_POS'\x2C\x0d\n 'Cannot set cursor row without setting its column'\x2C TypeError);\x0d\nE('ERR_INVALID_FD'\x2C\x0d\n '"fd" must be a positive integer: %s'\x2C RangeError);\x0d\nE('ERR_INVALID_FD_TYPE'\x2C 'Unsupported fd type: %s'\x2C TypeError);\x0d\nE('ERR_INVALID_FILE_URL_HOST'\x2C\x0d\n 'File URL host must be "localhost" or empty on %s'\x2C TypeError);\x0d\nE('ERR_INVALID_FILE_URL_PATH'\x2C 'File URL path %s'\x2C TypeError);\x0d\nE('ERR_INVALID_HANDLE_TYPE'\x2C 'This handle type cannot be sent'\x2C TypeError);\x0d\nE('ERR_INVALID_HTTP_TOKEN'\x2C '%s must be a valid HTTP token ["%s"]'\x2C TypeError\x2C HideStackFramesError);\x0d\nE('ERR_INVALID_IP_ADDRESS'\x2C 'Invalid IP address: %s'\x2C TypeError);\x0d\nE('ERR_INVALID_MIME_SYNTAX'\x2C (production\x2C str\x2C invalidIndex) => {\x0d\n const msg = invalidIndex !== -1 ? ` at ${invalidIndex}` : '';\x0d\n return `The MIME syntax for a ${production} in "${str}" is invalid` + msg;\x0d\n}\x2C TypeError);\x0d\nE('ERR_INVALID_MODULE_SPECIFIER'\x2C (request\x2C reason\x2C base = undefined) => {\x0d\n return `Invalid module "${request}" ${reason}${base ?\x0d\n ` imported from ${base}` : ''}`;\x0d\n}\x2C TypeError);\x0d\nE('ERR_INVALID_PACKAGE_CONFIG'\x2C (path\x2C base\x2C message) => {\x0d\n return `Invalid package config ${path}${base ? ` while importing ${base}` :\x0d\n ''}${message ? `. ${message}` : ''}`;\x0d\n}\x2C Error);\x0d\nE('ERR_INVALID_PACKAGE_TARGET'\x2C\x0d\n (pkgPath\x2C key\x2C target\x2C isImport = false\x2C base = undefined) => {\x0d\n const relError = typeof target === 'string' && !isImport &&\x0d\n target.length && !StringPrototypeStartsWith(target\x2C './');\x0d\n if (key === '.') {\x0d\n assert(isImport === false);\x0d\n return `Invalid "exports" main target ${JSONStringify(target)} defined ` +\x0d\n `in the package config ${pkgPath}package.json${base ?\x0d\n ` imported from ${base}` : ''}${relError ?\x0d\n '; targets must start with "./"' : ''}`;\x0d\n }\x0d\n return `Invalid "${isImport ? 'imports' : 'exports'}" target ${\x0d\n JSONStringify(target)} defined for '${key}' in the package config ${\x0d\n pkgPath}package.json${base ? ` imported from ${base}` : ''}${relError ?\x0d\n '; targets must start with "./"' : ''}`;\x0d\n }\x2C Error);\x0d\nE('ERR_INVALID_PROTOCOL'\x2C\x0d\n 'Protocol "%s" not supported. Expected "%s"'\x2C\x0d\n TypeError);\x0d\nE('ERR_INVALID_REPL_EVAL_CONFIG'\x2C\x0d\n 'Cannot specify both "breakEvalOnSigint" and "eval" for REPL'\x2C TypeError);\x0d\nE('ERR_INVALID_REPL_INPUT'\x2C '%s'\x2C TypeError);\x0d\nE('ERR_INVALID_RETURN_PROPERTY'\x2C (input\x2C name\x2C prop\x2C value) => {\x0d\n return `Expected a valid ${input} to be returned for the "${prop}" from the` +\x0d\n ` "${name}" hook but got ${determineSpecificType(value)}.`;\x0d\n}\x2C TypeError);\x0d\nE('ERR_INVALID_RETURN_PROPERTY_VALUE'\x2C (input\x2C name\x2C prop\x2C value) => {\x0d\n return `Expected ${input} to be returned for the "${prop}" from the` +\x0d\n ` "${name}" hook but got ${determineSpecificType(value)}.`;\x0d\n}\x2C TypeError);\x0d\nE('ERR_INVALID_RETURN_VALUE'\x2C (input\x2C name\x2C value) => {\x0d\n const type = determineSpecificType(value);\x0d\n\x0d\n return `Expected ${input} to be returned from the "${name}"` +\x0d\n ` function but got ${type}.`;\x0d\n}\x2C TypeError\x2C RangeError);\x0d\nE('ERR_INVALID_STATE'\x2C 'Invalid state: %s'\x2C Error\x2C TypeError\x2C RangeError);\x0d\nE('ERR_INVALID_SYNC_FORK_INPUT'\x2C\x0d\n 'Asynchronous forks do not support ' +\x0d\n 'Buffer\x2C TypedArray\x2C DataView or string input: %s'\x2C\x0d\n TypeError);\x0d\nE('ERR_INVALID_THIS'\x2C 'Value of "this" must be of type %s'\x2C TypeError);\x0d\nE('ERR_INVALID_TUPLE'\x2C '%s must be an iterable %s tuple'\x2C TypeError);\x0d\nE('ERR_INVALID_URI'\x2C 'URI malformed'\x2C URIError);\x0d\nE('ERR_INVALID_URL'\x2C function(input\x2C base = null) {\x0d\n this.input = input;\x0d\n\x0d\n if (base != null) {\x0d\n this.base = base;\x0d\n }\x0d\n\x0d\n // Don't include URL in message.\x0d\n // (See https://github.com/nodejs/node/pull/38614)\x0d\n return 'Invalid URL';\x0d\n}\x2C TypeError);\x0d\nE('ERR_INVALID_URL_SCHEME'\x2C\x0d\n (expected) => {\x0d\n if (typeof expected === 'string')\x0d\n expected = [expected];\x0d\n assert(expected.length <= 2);\x0d\n const res = expected.length === 2 ?\x0d\n `one of scheme ${expected[0]} or ${expected[1]}` :\x0d\n `of scheme ${expected[0]}`;\x0d\n return `The URL must be ${res}`;\x0d\n }\x2C TypeError);\x0d\nE('ERR_IPC_CHANNEL_CLOSED'\x2C 'Channel closed'\x2C Error);\x0d\nE('ERR_IPC_DISCONNECTED'\x2C 'IPC channel is already disconnected'\x2C Error);\x0d\nE('ERR_IPC_ONE_PIPE'\x2C 'Child process can have only one IPC pipe'\x2C Error);\x0d\nE('ERR_IPC_SYNC_FORK'\x2C 'IPC cannot be used with synchronous forks'\x2C Error);\x0d\nE(\x0d\n 'ERR_LOADER_CHAIN_INCOMPLETE'\x2C\x0d\n '"%s" did not call the next hook in its chain and did not' +\x0d\n ' explicitly signal a short circuit. If this is intentional\x2C include' +\x0d\n ' `shortCircuit: true` in the hook\\'s return.'\x2C\x0d\n Error\x2C\x0d\n);\x0d\nE('ERR_MANIFEST_ASSERT_INTEGRITY'\x2C\x0d\n (moduleURL\x2C realIntegrities) => {\x0d\n let msg = `The content of "${\x0d\n moduleURL\x0d\n }" does not match the expected integrity.`;\x0d\n if (realIntegrities.size) {\x0d\n const sri = ArrayPrototypeJoin(\x0d\n ArrayFrom(realIntegrities.entries()\x2C\x0d\n ({ 0: alg\x2C 1: dgs }) => `${alg}-${dgs}`)\x2C\x0d\n ' '\x2C\x0d\n );\x0d\n msg += ` Integrities found are: ${sri}`;\x0d\n } else {\x0d\n msg += ' The resource was not found in the policy.';\x0d\n }\x0d\n return msg;\x0d\n }\x2C Error);\x0d\nE('ERR_MANIFEST_DEPENDENCY_MISSING'\x2C\x0d\n 'Manifest resource %s does not list %s as a dependency specifier for ' +\x0d\n 'conditions: %s'\x2C\x0d\n Error);\x0d\nE('ERR_MANIFEST_INTEGRITY_MISMATCH'\x2C\x0d\n 'Manifest resource %s has multiple entries but integrity lists do not match'\x2C\x0d\n SyntaxError);\x0d\nE('ERR_MANIFEST_INVALID_RESOURCE_FIELD'\x2C\x0d\n 'Manifest resource %s has invalid property value for %s'\x2C\x0d\n TypeError);\x0d\nE('ERR_MANIFEST_INVALID_SPECIFIER'\x2C\x0d\n 'Manifest resource %s has invalid dependency mapping %s'\x2C\x0d\n TypeError);\x0d\nE('ERR_MANIFEST_TDZ'\x2C 'Manifest initialization has not yet run'\x2C Error);\x0d\nE('ERR_MANIFEST_UNKNOWN_ONERROR'\x2C\x0d\n 'Manifest specified unknown error behavior "%s".'\x2C\x0d\n SyntaxError);\x0d\nE('ERR_METHOD_NOT_IMPLEMENTED'\x2C 'The %s method is not implemented'\x2C Error);\x0d\nE('ERR_MISSING_ARGS'\x2C\x0d\n (...args) => {\x0d\n assert(args.length > 0\x2C 'At least one arg needs to be specified');\x0d\n let msg = 'The ';\x0d\n const len = args.length;\x0d\n const wrap = (a) => `"${a}"`;\x0d\n args = ArrayPrototypeMap(\x0d\n args\x2C\x0d\n (a) => (ArrayIsArray(a) ?\x0d\n ArrayPrototypeJoin(ArrayPrototypeMap(a\x2C wrap)\x2C ' or ') :\x0d\n wrap(a))\x2C\x0d\n );\x0d\n msg += `${formatList(args)} argument${len > 1 ? 's' : ''}`;\x0d\n return `${msg} must be specified`;\x0d\n }\x2C TypeError);\x0d\nE('ERR_MISSING_OPTION'\x2C '%s is required'\x2C TypeError);\x0d\nE('ERR_MODULE_NOT_FOUND'\x2C function(path\x2C base\x2C exactUrl) {\x0d\n if (exactUrl) {\x0d\n lazyInternalUtil().setOwnProperty(this\x2C 'url'\x2C `${exactUrl}`);\x0d\n }\x0d\n return `Cannot find ${\x0d\n exactUrl ? 'module' : 'package'} '${path}' imported from ${base}`;\x0d\n}\x2C Error);\x0d\nE('ERR_MULTIPLE_CALLBACK'\x2C 'Callback called multiple times'\x2C Error);\x0d\nE('ERR_NAPI_CONS_FUNCTION'\x2C 'Constructor must be a function'\x2C TypeError);\x0d\nE('ERR_NAPI_INVALID_DATAVIEW_ARGS'\x2C\x0d\n 'byte_offset + byte_length should be less than or equal to the size in ' +\x0d\n 'bytes of the array passed in'\x2C\x0d\n RangeError);\x0d\nE('ERR_NAPI_INVALID_TYPEDARRAY_ALIGNMENT'\x2C\x0d\n 'start offset of %s should be a multiple of %s'\x2C RangeError);\x0d\nE('ERR_NAPI_INVALID_TYPEDARRAY_LENGTH'\x2C\x0d\n 'Invalid typed array length'\x2C RangeError);\x0d\nE('ERR_NETWORK_IMPORT_BAD_RESPONSE'\x2C\x0d\n "import '%s' received a bad response: %s"\x2C Error);\x0d\nE('ERR_NETWORK_IMPORT_DISALLOWED'\x2C\x0d\n "import of '%s' by %s is not supported: %s"\x2C Error);\x0d\nE('ERR_NOT_BUILDING_SNAPSHOT'\x2C\x0d\n 'Operation cannot be invoked when not building startup snapshot'\x2C Error);\x0d\nE('ERR_NOT_IN_SINGLE_EXECUTABLE_APPLICATION'\x2C\x0d\n 'Operation cannot be invoked when not in a single-executable application'\x2C Error);\x0d\nE('ERR_NOT_SUPPORTED_IN_SNAPSHOT'\x2C '%s is not supported in startup snapshot'\x2C Error);\x0d\nE('ERR_NO_CRYPTO'\x2C\x0d\n 'Node.js is not compiled with OpenSSL crypto support'\x2C Error);\x0d\nE('ERR_NO_ICU'\x2C\x0d\n '%s is not supported on Node.js compiled without ICU'\x2C TypeError);\x0d\nE('ERR_OPERATION_FAILED'\x2C 'Operation failed: %s'\x2C Error\x2C TypeError);\x0d\nE('ERR_OUT_OF_RANGE'\x2C\x0d\n (str\x2C range\x2C input\x2C replaceDefaultBoolean = false) => {\x0d\n assert(range\x2C 'Missing "range" argument');\x0d\n let msg = replaceDefaultBoolean ? str :\x0d\n `The value of "${str}" is out of range.`;\x0d\n let received;\x0d\n if (NumberIsInteger(input) && MathAbs(input) > 2 ** 32) {\x0d\n received = addNumericalSeparator(String(input));\x0d\n } else if (typeof input === 'bigint') {\x0d\n received = String(input);\x0d\n if (input > 2n ** 32n || input < -(2n ** 32n)) {\x0d\n received = addNumericalSeparator(received);\x0d\n }\x0d\n received += 'n';\x0d\n } else {\x0d\n received = lazyInternalUtilInspect().inspect(input);\x0d\n }\x0d\n msg += ` It must be ${range}. Received ${received}`;\x0d\n return msg;\x0d\n }\x2C RangeError\x2C HideStackFramesError);\x0d\nE('ERR_PACKAGE_IMPORT_NOT_DEFINED'\x2C (specifier\x2C packagePath\x2C base) => {\x0d\n return `Package import specifier "${specifier}" is not defined${packagePath ?\x0d\n ` in package ${packagePath}package.json` : ''} imported from ${base}`;\x0d\n}\x2C TypeError);\x0d\nE('ERR_PACKAGE_PATH_NOT_EXPORTED'\x2C (pkgPath\x2C subpath\x2C base = undefined) => {\x0d\n if (subpath === '.')\x0d\n return `No "exports" main defined in ${pkgPath}package.json${base ?\x0d\n ` imported from ${base}` : ''}`;\x0d\n return `Package subpath '${subpath}' is not defined by "exports" in ${\x0d\n pkgPath}package.json${base ? ` imported from ${base}` : ''}`;\x0d\n}\x2C Error);\x0d\nE('ERR_PARSE_ARGS_INVALID_OPTION_VALUE'\x2C '%s'\x2C TypeError);\x0d\nE('ERR_PARSE_ARGS_UNEXPECTED_POSITIONAL'\x2C "Unexpected argument '%s'. This " +\x0d\n 'command does not take positional arguments'\x2C TypeError);\x0d\nE('ERR_PARSE_ARGS_UNKNOWN_OPTION'\x2C (option\x2C allowPositionals) => {\x0d\n const suggestDashDash = allowPositionals ? '. To specify a positional ' +\x0d\n "argument starting with a '-'\x2C place it at the end of the command after " +\x0d\n `'--'\x2C as in '-- ${JSONStringify(option)}` : '';\x0d\n return `Unknown option '${option}'${suggestDashDash}`;\x0d\n}\x2C TypeError);\x0d\nE('ERR_PERFORMANCE_INVALID_TIMESTAMP'\x2C\x0d\n '%d is not a valid timestamp'\x2C TypeError);\x0d\nE('ERR_PERFORMANCE_MEASURE_INVALID_OPTIONS'\x2C '%s'\x2C TypeError);\x0d\nE('ERR_REQUIRE_CYCLE_MODULE'\x2C '%s'\x2C Error);\x0d\nE('ERR_REQUIRE_ESM'\x2C\x0d\n function(filename\x2C hasEsmSyntax\x2C parentPath = null\x2C packageJsonPath = null) {\x0d\n hideInternalStackFrames(this);\x0d\n let msg = `require() of ES Module ${filename}${parentPath ? ` from ${\x0d\n parentPath}` : ''} not supported.`;\x0d\n if (!packageJsonPath) {\x0d\n if (StringPrototypeEndsWith(filename\x2C '.mjs'))\x0d\n msg += `\\nInstead change the require of ${filename} to a dynamic ` +\x0d\n 'import() which is available in all CommonJS modules.';\x0d\n return msg;\x0d\n }\x0d\n const path = require('path');\x0d\n const basename = parentPath && path.basename(filename) ===\x0d\n path.basename(parentPath) ? filename : path.basename(filename);\x0d\n if (hasEsmSyntax) {\x0d\n msg += `\\nInstead change the require of ${basename} in ${parentPath} to` +\x0d\n ' a dynamic import() which is available in all CommonJS modules.';\x0d\n return msg;\x0d\n }\x0d\n msg += `\\n${basename} is treated as an ES module file as it is a .js ` +\x0d\n 'file whose nearest parent package.json contains "type": "module" ' +\x0d\n 'which declares all .js files in that package scope as ES modules.' +\x0d\n `\\nInstead either rename ${basename} to end in .cjs\x2C change the requiring ` +\x0d\n 'code to use dynamic import() which is available in all CommonJS ' +\x0d\n 'modules\x2C or change "type": "module" to "type": "commonjs" in ' +\x0d\n `${packageJsonPath} to treat all .js files as CommonJS (using .mjs for ` +\x0d\n 'all ES modules instead).\\n';\x0d\n return msg;\x0d\n }\x2C Error);\x0d\nE('ERR_SCRIPT_EXECUTION_INTERRUPTED'\x2C\x0d\n 'Script execution was interrupted by `SIGINT`'\x2C Error);\x0d\nE('ERR_SERVER_ALREADY_LISTEN'\x2C\x0d\n 'Listen method has been called more than once without closing.'\x2C Error);\x0d\nE('ERR_SERVER_NOT_RUNNING'\x2C 'Server is not running.'\x2C Error);\x0d\nE('ERR_SINGLE_EXECUTABLE_APPLICATION_ASSET_NOT_FOUND'\x2C\x0d\n 'Cannot find asset %s for the single executable application'\x2C Error);\x0d\nE('ERR_SOCKET_ALREADY_BOUND'\x2C 'Socket is already bound'\x2C Error);\x0d\nE('ERR_SOCKET_BAD_BUFFER_SIZE'\x2C\x0d\n 'Buffer size must be a positive integer'\x2C TypeError);\x0d\nE('ERR_SOCKET_BAD_PORT'\x2C (name\x2C port\x2C allowZero = true) => {\x0d\n assert(typeof allowZero === 'boolean'\x2C\x0d\n "The 'allowZero' argument must be of type boolean.");\x0d\n const operator = allowZero ? '>=' : '>';\x0d\n return `${name} should be ${operator} 0 and < 65536. Received ${determineSpecificType(port)}.`;\x0d\n}\x2C RangeError\x2C HideStackFramesError);\x0d\nE('ERR_SOCKET_BAD_TYPE'\x2C\x0d\n 'Bad socket type specified. Valid types are: udp4\x2C udp6'\x2C TypeError);\x0d\nE('ERR_SOCKET_BUFFER_SIZE'\x2C\x0d\n 'Could not get or set buffer size'\x2C\x0d\n SystemError);\x0d\nE('ERR_SOCKET_CLOSED'\x2C 'Socket is closed'\x2C Error);\x0d\nE('ERR_SOCKET_CLOSED_BEFORE_CONNECTION'\x2C\x0d\n 'Socket closed before the connection was established'\x2C\x0d\n Error);\x0d\nE('ERR_SOCKET_CONNECTION_TIMEOUT'\x2C\x0d\n 'Socket connection timeout'\x2C Error);\x0d\nE('ERR_SOCKET_DGRAM_IS_CONNECTED'\x2C 'Already connected'\x2C Error);\x0d\nE('ERR_SOCKET_DGRAM_NOT_CONNECTED'\x2C 'Not connected'\x2C Error);\x0d\nE('ERR_SOCKET_DGRAM_NOT_RUNNING'\x2C 'Not running'\x2C Error);\x0d\nE('ERR_SRI_PARSE'\x2C\x0d\n 'Subresource Integrity string %j had an unexpected %j at position %d'\x2C\x0d\n SyntaxError);\x0d\nE('ERR_STREAM_ALREADY_FINISHED'\x2C\x0d\n 'Cannot call %s after a stream was finished'\x2C\x0d\n Error);\x0d\nE('ERR_STREAM_CANNOT_PIPE'\x2C 'Cannot pipe\x2C not readable'\x2C Error);\x0d\nE('ERR_STREAM_DESTROYED'\x2C 'Cannot call %s after a stream was destroyed'\x2C Error);\x0d\nE('ERR_STREAM_NULL_VALUES'\x2C 'May not write null values to stream'\x2C TypeError);\x0d\nE('ERR_STREAM_PREMATURE_CLOSE'\x2C 'Premature close'\x2C Error);\x0d\nE('ERR_STREAM_PUSH_AFTER_EOF'\x2C 'stream.push() after EOF'\x2C Error);\x0d\nE('ERR_STREAM_UNSHIFT_AFTER_END_EVENT'\x2C\x0d\n 'stream.unshift() after end event'\x2C Error);\x0d\nE('ERR_STREAM_WRAP'\x2C 'Stream has StringDecoder set or is in objectMode'\x2C Error);\x0d\nE('ERR_STREAM_WRITE_AFTER_END'\x2C 'write after end'\x2C Error);\x0d\nE('ERR_SYNTHETIC'\x2C 'JavaScript Callstack'\x2C Error);\x0d\nE('ERR_SYSTEM_ERROR'\x2C 'A system error occurred'\x2C SystemError\x2C HideStackFramesError);\x0d\nE('ERR_TAP_LEXER_ERROR'\x2C function(errorMsg) {\x0d\n hideInternalStackFrames(this);\x0d\n return errorMsg;\x0d\n}\x2C Error);\x0d\nE('ERR_TAP_PARSER_ERROR'\x2C function(errorMsg\x2C details\x2C tokenCausedError\x2C source) {\x0d\n hideInternalStackFrames(this);\x0d\n this.cause = tokenCausedError;\x0d\n const { column\x2C line\x2C start\x2C end } = tokenCausedError.location;\x0d\n const errorDetails = `${details} at line ${line}\x2C column ${column} (start ${start}\x2C end ${end})`;\x0d\n return errorMsg + errorDetails;\x0d\n}\x2C SyntaxError);\x0d\nE('ERR_TAP_VALIDATION_ERROR'\x2C function(errorMsg) {\x0d\n hideInternalStackFrames(this);\x0d\n return errorMsg;\x0d\n}\x2C Error);\x0d\nE('ERR_TEST_FAILURE'\x2C function(error\x2C failureType) {\x0d\n hideInternalStackFrames(this);\x0d\n assert(typeof failureType === 'string' || typeof failureType === 'symbol'\x2C\x0d\n "The 'failureType' argument must be of type string or symbol.");\x0d\n\x0d\n let msg = error?.message ?? error;\x0d\n\x0d\n if (typeof msg !== 'string') {\x0d\n msg = inspectWithNoCustomRetry(msg);\x0d\n }\x0d\n\x0d\n this.failureType = failureType;\x0d\n this.cause = error;\x0d\n return msg;\x0d\n}\x2C Error);\x0d\nE('ERR_TLS_ALPN_CALLBACK_INVALID_RESULT'\x2C (value\x2C protocols) => {\x0d\n return `ALPN callback returned a value (${\x0d\n value\x0d\n }) that did not match any of the client's offered protocols (${\x0d\n protocols.join('\x2C ')\x0d\n })`;\x0d\n}\x2C TypeError);\x0d\nE('ERR_TLS_ALPN_CALLBACK_WITH_PROTOCOLS'\x2C\x0d\n 'The ALPNCallback and ALPNProtocols TLS options are mutually exclusive'\x2C\x0d\n TypeError);\x0d\nE('ERR_TLS_CERT_ALTNAME_FORMAT'\x2C 'Invalid subject alternative name string'\x2C\x0d\n SyntaxError);\x0d\nE('ERR_TLS_CERT_ALTNAME_INVALID'\x2C function(reason\x2C host\x2C cert) {\x0d\n this.reason = reason;\x0d\n this.host = host;\x0d\n this.cert = cert;\x0d\n return `Hostname/IP does not match certificate's altnames: ${reason}`;\x0d\n}\x2C Error);\x0d\nE('ERR_TLS_DH_PARAM_SIZE'\x2C 'DH parameter size %s is less than 2048'\x2C Error);\x0d\nE('ERR_TLS_HANDSHAKE_TIMEOUT'\x2C 'TLS handshake timeout'\x2C Error);\x0d\nE('ERR_TLS_INVALID_CONTEXT'\x2C '%s must be a SecureContext'\x2C TypeError);\x0d\nE('ERR_TLS_INVALID_PROTOCOL_VERSION'\x2C\x0d\n '%j is not a valid %s TLS protocol version'\x2C TypeError);\x0d\nE('ERR_TLS_INVALID_STATE'\x2C 'TLS socket connection must be securely established'\x2C\x0d\n Error);\x0d\nE('ERR_TLS_PROTOCOL_VERSION_CONFLICT'\x2C\x0d\n 'TLS protocol version %j conflicts with secureProtocol %j'\x2C TypeError);\x0d\nE('ERR_TLS_RENEGOTIATION_DISABLED'\x2C\x0d\n 'TLS session renegotiation disabled for this socket'\x2C Error);\x0d\n\x0d\n// This should probably be a `TypeError`.\x0d\nE('ERR_TLS_REQUIRED_SERVER_NAME'\x2C\x0d\n '"servername" is required parameter for Server.addContext'\x2C Error);\x0d\nE('ERR_TLS_SESSION_ATTACK'\x2C 'TLS session renegotiation attack detected'\x2C Error);\x0d\nE('ERR_TLS_SNI_FROM_SERVER'\x2C\x0d\n 'Cannot issue SNI from a TLS server-side socket'\x2C Error);\x0d\nE('ERR_TRACE_EVENTS_CATEGORY_REQUIRED'\x2C\x0d\n 'At least one category is required'\x2C TypeError);\x0d\nE('ERR_TRACE_EVENTS_UNAVAILABLE'\x2C 'Trace events are unavailable'\x2C Error);\x0d\n\x0d\n// This should probably be a `RangeError`.\x0d\nE('ERR_TTY_INIT_FAILED'\x2C 'TTY initialization failed'\x2C SystemError);\x0d\nE('ERR_UNAVAILABLE_DURING_EXIT'\x2C 'Cannot call function in process exit ' +\x0d\n 'handler'\x2C Error);\x0d\nE('ERR_UNCAUGHT_EXCEPTION_CAPTURE_ALREADY_SET'\x2C\x0d\n '`process.setupUncaughtExceptionCapture()` was called while a capture ' +\x0d\n 'callback was already active'\x2C\x0d\n Error);\x0d\nE('ERR_UNESCAPED_CHARACTERS'\x2C '%s contains unescaped characters'\x2C TypeError);\x0d\nE('ERR_UNHANDLED_ERROR'\x2C\x0d\n // Using a default argument here is important so the argument is not counted\x0d\n // towards `Function#length`.\x0d\n (err = undefined) => {\x0d\n const msg = 'Unhandled error.';\x0d\n if (err === undefined) return msg;\x0d\n return `${msg} (${err})`;\x0d\n }\x2C Error);\x0d\nE('ERR_UNKNOWN_BUILTIN_MODULE'\x2C 'No such built-in module: %s'\x2C Error);\x0d\nE('ERR_UNKNOWN_CREDENTIAL'\x2C '%s identifier does not exist: %s'\x2C Error);\x0d\nE('ERR_UNKNOWN_ENCODING'\x2C 'Unknown encoding: %s'\x2C TypeError);\x0d\nE('ERR_UNKNOWN_FILE_EXTENSION'\x2C 'Unknown file extension "%s" for %s'\x2C TypeError);\x0d\nE('ERR_UNKNOWN_MODULE_FORMAT'\x2C 'Unknown module format: %s for URL %s'\x2C\x0d\n RangeError);\x0d\nE('ERR_UNKNOWN_SIGNAL'\x2C 'Unknown signal: %s'\x2C TypeError\x2C HideStackFramesError);\x0d\nE('ERR_UNSUPPORTED_DIR_IMPORT'\x2C function(path\x2C base\x2C exactUrl) {\x0d\n lazyInternalUtil().setOwnProperty(this\x2C 'url'\x2C exactUrl);\x0d\n return `Directory import '${path}' is not supported ` +\x0d\n `resolving ES modules imported from ${base}`;\x0d\n}\x2C Error);\x0d\nE('ERR_UNSUPPORTED_ESM_URL_SCHEME'\x2C (url\x2C supported) => {\x0d\n let msg = `Only URLs with a scheme in: ${formatList(supported)} are supported by the default ESM loader`;\x0d\n if (isWindows && url.protocol.length === 2) {\x0d\n msg +=\x0d\n '. On Windows\x2C absolute paths must be valid file:// URLs';\x0d\n }\x0d\n msg += `. Received protocol '${url.protocol}'`;\x0d\n return msg;\x0d\n}\x2C Error);\x0d\nE('ERR_UNSUPPORTED_RESOLVE_REQUEST'\x2C\x0d\n 'Failed to resolve module specifier "%s" from "%s": Invalid relative URL or base scheme is not hierarchical.'\x2C\x0d\n TypeError);\x0d\nE('ERR_USE_AFTER_CLOSE'\x2C '%s was closed'\x2C Error);\x0d\n\x0d\n// This should probably be a `TypeError`.\x0d\nE('ERR_VALID_PERFORMANCE_ENTRY_TYPE'\x2C\x0d\n 'At least one valid performance entry type is required'\x2C Error);\x0d\nE('ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING'\x2C\x0d\n 'A dynamic import callback was not specified.'\x2C TypeError);\x0d\nE('ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING_FLAG'\x2C\x0d\n 'A dynamic import callback was invoked without --experimental-vm-modules'\x2C\x0d\n TypeError);\x0d\nE('ERR_VM_MODULE_ALREADY_LINKED'\x2C 'Module has already been linked'\x2C Error);\x0d\nE('ERR_VM_MODULE_CANNOT_CREATE_CACHED_DATA'\x2C\x0d\n 'Cached data cannot be created for a module which has been evaluated'\x2C Error);\x0d\nE('ERR_VM_MODULE_DIFFERENT_CONTEXT'\x2C\x0d\n 'Linked modules must use the same context'\x2C Error);\x0d\nE('ERR_VM_MODULE_LINK_FAILURE'\x2C function(message\x2C cause) {\x0d\n this.cause = cause;\x0d\n return message;\x0d\n}\x2C Error);\x0d\nE('ERR_VM_MODULE_NOT_MODULE'\x2C\x0d\n 'Provided module is not an instance of Module'\x2C Error);\x0d\nE('ERR_VM_MODULE_STATUS'\x2C 'Module status %s'\x2C Error);\x0d\nE('ERR_WASI_ALREADY_STARTED'\x2C 'WASI instance has already started'\x2C Error);\x0d\nE('ERR_WEBASSEMBLY_RESPONSE'\x2C 'WebAssembly response %s'\x2C TypeError);\x0d\nE('ERR_WORKER_INIT_FAILED'\x2C 'Worker initialization failure: %s'\x2C Error);\x0d\nE('ERR_WORKER_INVALID_EXEC_ARGV'\x2C (errors\x2C msg = 'invalid execArgv flags') =>\x0d\n `Initiated Worker with ${msg}: ${ArrayPrototypeJoin(errors\x2C '\x2C ')}`\x2C\x0d\n Error);\x0d\nE('ERR_WORKER_NOT_RUNNING'\x2C 'Worker instance not running'\x2C Error);\x0d\nE('ERR_WORKER_OUT_OF_MEMORY'\x2C\x0d\n 'Worker terminated due to reaching memory limit: %s'\x2C Error);\x0d\nE('ERR_WORKER_PATH'\x2C (filename) =>\x0d\n 'The worker script or module filename must be an absolute path or a ' +\x0d\n 'relative path starting with \\'./\\' or \\'../\\'.' +\x0d\n (StringPrototypeStartsWith(filename\x2C 'file://') ?\x0d\n ' Wrap file:// URLs with `new URL`.' : ''\x0d\n ) +\x0d\n (StringPrototypeStartsWith(filename\x2C 'data:text/javascript') ?\x0d\n ' Wrap data: URLs with `new URL`.' : ''\x0d\n ) +\x0d\n ` Received "${filename}"`\x2C\x0d\n TypeError);\x0d\nE('ERR_WORKER_UNSERIALIZABLE_ERROR'\x2C\x0d\n 'Serializing an uncaught exception failed'\x2C Error);\x0d\nE('ERR_WORKER_UNSUPPORTED_OPERATION'\x2C\x0d\n '%s is not supported in workers'\x2C TypeError);\x0d\nE('ERR_ZLIB_INITIALIZATION_FAILED'\x2C 'Initialization failed'\x2C Error);\x0d\n
code-source-info,0x23c5195709e,10,2920,2976,C0O2936C2O2962C9O2975,,
tick,0x7ff7ba252000,273970,0,0x0,3,0x7ff7b9533060,0x23c51955076,0x23c51954e5b,0x23c51944e12,0x23c5194318e,0x23c519428c9
code-creation,JS,10,274084,0x23c5195b266,348,initializeDeprecations node:internal/process/pre_execution:476:32,0x3b02002968,~
code-source-info,0x23c5195b266,68,15538,17518,C0O15568C6O15568C11O15554C16O15624C24O15624C29O15819C35O15819C40O15861C46O15861C51O15915C73O15907C101O15907C104O16251C112O16271C116O16314C127O16389C138O16481C149O16435C158O16299C167O16542C170O16269C174O15896C239O16826C245O16826C250O16805C255O16856C257O16885C268O16906C275O17052C279O16885C284O17089C288O17120C294O17156C304O17234C311O17138C316O17136C320O17323C326O17365C337O17347C342O17345C347O17517,,
code-creation,JS,10,274261,0x23c5195b66e,93,initializeDns node:internal/dns/utils:204:23,0x3b02004058,~
script-source,71,node:internal/dns/utils,'use strict';\x0d\n\x0d\nconst {\x0d\n ArrayPrototypeForEach\x2C\x0d\n ArrayPrototypeMap\x2C\x0d\n ArrayPrototypePush\x2C\x0d\n FunctionPrototypeBind\x2C\x0d\n NumberParseInt\x2C\x0d\n RegExpPrototypeExec\x2C\x0d\n RegExpPrototypeSymbolReplace\x2C\x0d\n Symbol\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst errors = require('internal/errors');\x0d\nconst { isIP } = require('internal/net');\x0d\nconst { getOptionValue } = require('internal/options');\x0d\nconst {\x0d\n validateArray\x2C\x0d\n validateInt32\x2C\x0d\n validateOneOf\x2C\x0d\n validateString\x2C\x0d\n} = require('internal/validators');\x0d\nlet binding;\x0d\nfunction lazyBinding() {\x0d\n binding ??= internalBinding('cares_wrap');\x0d\n return binding;\x0d\n}\x0d\nconst IANA_DNS_PORT = 53;\x0d\nconst IPv6RE = /^\\[([^[\\]]*)\\]/;\x0d\nconst addrSplitRE = /(^.+?)(?::(\\d+))?$/;\x0d\nconst {\x0d\n ERR_DNS_SET_SERVERS_FAILED\x2C\x0d\n ERR_INVALID_ARG_VALUE\x2C\x0d\n ERR_INVALID_IP_ADDRESS\x2C\x0d\n} = errors.codes;\x0d\n\x0d\nconst {\x0d\n namespace: {\x0d\n addSerializeCallback\x2C\x0d\n addDeserializeCallback\x2C\x0d\n isBuildingSnapshot\x2C\x0d\n }\x2C\x0d\n} = require('internal/v8/startup_snapshot');\x0d\n\x0d\nfunction validateTimeout(options) {\x0d\n const { timeout = -1 } = { ...options };\x0d\n validateInt32(timeout\x2C 'options.timeout'\x2C -1);\x0d\n return timeout;\x0d\n}\x0d\n\x0d\nfunction validateTries(options) {\x0d\n const { tries = 4 } = { ...options };\x0d\n validateInt32(tries\x2C 'options.tries'\x2C 1);\x0d\n return tries;\x0d\n}\x0d\n\x0d\nconst kSerializeResolver = Symbol('dns:resolver:serialize');\x0d\nconst kDeserializeResolver = Symbol('dns:resolver:deserialize');\x0d\nconst kSnapshotStates = Symbol('dns:resolver:config');\x0d\nconst kInitializeHandle = Symbol('dns:resolver:initializeHandle');\x0d\nconst kSetServersInteral = Symbol('dns:resolver:setServers');\x0d\n\x0d\n// Resolver instances correspond 1:1 to c-ares channels.\x0d\n\x0d\nclass ResolverBase {\x0d\n constructor(options = undefined) {\x0d\n const timeout = validateTimeout(options);\x0d\n const tries = validateTries(options);\x0d\n // If we are building snapshot\x2C save the states of the resolver along\x0d\n // the way.\x0d\n if (isBuildingSnapshot()) {\x0d\n this[kSnapshotStates] = { timeout\x2C tries };\x0d\n }\x0d\n this[kInitializeHandle](timeout\x2C tries);\x0d\n }\x0d\n\x0d\n [kInitializeHandle](timeout\x2C tries) {\x0d\n const { ChannelWrap } = lazyBinding();\x0d\n this._handle = new ChannelWrap(timeout\x2C tries);\x0d\n }\x0d\n\x0d\n cancel() {\x0d\n this._handle.cancel();\x0d\n }\x0d\n\x0d\n getServers() {\x0d\n return ArrayPrototypeMap(this._handle.getServers() || []\x2C (val) => {\x0d\n if (!val[1] || val[1] === IANA_DNS_PORT)\x0d\n return val[0];\x0d\n\x0d\n const host = isIP(val[0]) === 6 ? `[${val[0]}]` : val[0];\x0d\n return `${host}:${val[1]}`;\x0d\n });\x0d\n }\x0d\n\x0d\n setServers(servers) {\x0d\n validateArray(servers\x2C 'servers');\x0d\n\x0d\n // Cache the original servers because in the event of an error while\x0d\n // setting the servers\x2C c-ares won't have any servers available for\x0d\n // resolution.\x0d\n const newSet = [];\x0d\n ArrayPrototypeForEach(servers\x2C (serv\x2C index) => {\x0d\n validateString(serv\x2C `servers[${index}]`);\x0d\n let ipVersion = isIP(serv);\x0d\n\x0d\n if (ipVersion !== 0)\x0d\n return ArrayPrototypePush(newSet\x2C [ipVersion\x2C serv\x2C IANA_DNS_PORT]);\x0d\n\x0d\n const match = RegExpPrototypeExec(IPv6RE\x2C serv);\x0d\n\x0d\n // Check for an IPv6 in brackets.\x0d\n if (match) {\x0d\n ipVersion = isIP(match[1]);\x0d\n\x0d\n if (ipVersion !== 0) {\x0d\n const port = NumberParseInt(\x0d\n RegExpPrototypeSymbolReplace(addrSplitRE\x2C serv\x2C '$2')) || IANA_DNS_PORT;\x0d\n return ArrayPrototypePush(newSet\x2C [ipVersion\x2C match[1]\x2C port]);\x0d\n }\x0d\n }\x0d\n\x0d\n // addr::port\x0d\n const addrSplitMatch = RegExpPrototypeExec(addrSplitRE\x2C serv);\x0d\n\x0d\n if (addrSplitMatch) {\x0d\n const hostIP = addrSplitMatch[1];\x0d\n const port = addrSplitMatch[2] || IANA_DNS_PORT;\x0d\n\x0d\n ipVersion = isIP(hostIP);\x0d\n\x0d\n if (ipVersion !== 0) {\x0d\n return ArrayPrototypePush(\x0d\n newSet\x2C [ipVersion\x2C hostIP\x2C NumberParseInt(port)]);\x0d\n }\x0d\n }\x0d\n\x0d\n throw new ERR_INVALID_IP_ADDRESS(serv);\x0d\n });\x0d\n\x0d\n this[kSetServersInteral](newSet\x2C servers);\x0d\n }\x0d\n\x0d\n [kSetServersInteral](newSet\x2C servers) {\x0d\n const orig = ArrayPrototypeMap(this._handle.getServers() || []\x2C (val) => {\x0d\n val.unshift(isIP(val[0]));\x0d\n return val;\x0d\n });\x0d\n const errorNumber = this._handle.setServers(newSet);\x0d\n\x0d\n if (errorNumber !== 0) {\x0d\n // Reset the servers to the old servers\x2C because ares probably unset them.\x0d\n this._handle.setServers(orig);\x0d\n const { strerror } = lazyBinding();\x0d\n const err = strerror(errorNumber);\x0d\n throw new ERR_DNS_SET_SERVERS_FAILED(err\x2C servers);\x0d\n }\x0d\n\x0d\n if (isBuildingSnapshot()) {\x0d\n this[kSnapshotStates].servers = newSet;\x0d\n }\x0d\n }\x0d\n\x0d\n\x0d\n setLocalAddress(ipv4\x2C ipv6) {\x0d\n validateString(ipv4\x2C 'ipv4');\x0d\n\x0d\n if (ipv6 !== undefined) {\x0d\n validateString(ipv6\x2C 'ipv6');\x0d\n }\x0d\n\x0d\n this._handle.setLocalAddress(ipv4\x2C ipv6);\x0d\n\x0d\n if (isBuildingSnapshot()) {\x0d\n this[kSnapshotStates].localAddress = { ipv4\x2C ipv6 };\x0d\n }\x0d\n }\x0d\n\x0d\n // TODO(joyeecheung): consider exposing this if custom DNS resolvers\x0d\n // end up being useful for snapshot users.\x0d\n [kSerializeResolver]() {\x0d\n this._handle = null; // We'll restore it during deserialization.\x0d\n addDeserializeCallback(function deserializeResolver(resolver) {\x0d\n resolver[kDeserializeResolver]();\x0d\n }\x2C this);\x0d\n }\x0d\n\x0d\n [kDeserializeResolver]() {\x0d\n const { timeout\x2C tries\x2C localAddress\x2C servers } = this[kSnapshotStates];\x0d\n this[kInitializeHandle](timeout\x2C tries);\x0d\n if (localAddress) {\x0d\n const { ipv4\x2C ipv6 } = localAddress;\x0d\n this._handle.setLocalAddress(ipv4\x2C ipv6);\x0d\n }\x0d\n if (servers) {\x0d\n this[kSetServersInteral](servers\x2C servers);\x0d\n }\x0d\n }\x0d\n}\x0d\n\x0d\nlet defaultResolver;\x0d\nlet dnsOrder;\x0d\n\x0d\nfunction initializeDns() {\x0d\n const orderFromCLI = getOptionValue('--dns-result-order');\x0d\n if (!orderFromCLI) {\x0d\n dnsOrder ??= 'verbatim';\x0d\n } else {\x0d\n // Allow the deserialized application to override order from CLI.\x0d\n validateOneOf(orderFromCLI\x2C '--dns-result-order'\x2C ['verbatim'\x2C 'ipv4first'\x2C 'ipv6first']);\x0d\n dnsOrder = orderFromCLI;\x0d\n }\x0d\n\x0d\n if (!isBuildingSnapshot()) {\x0d\n return;\x0d\n }\x0d\n\x0d\n addSerializeCallback(() => {\x0d\n defaultResolver?.[kSerializeResolver]();\x0d\n });\x0d\n}\x0d\n\x0d\nconst resolverKeys = [\x0d\n 'getServers'\x2C\x0d\n 'resolve'\x2C\x0d\n 'resolve4'\x2C\x0d\n 'resolve6'\x2C\x0d\n 'resolveAny'\x2C\x0d\n 'resolveCaa'\x2C\x0d\n 'resolveCname'\x2C\x0d\n 'resolveMx'\x2C\x0d\n 'resolveNaptr'\x2C\x0d\n 'resolveNs'\x2C\x0d\n 'resolvePtr'\x2C\x0d\n 'resolveSoa'\x2C\x0d\n 'resolveSrv'\x2C\x0d\n 'resolveTxt'\x2C\x0d\n 'reverse'\x2C\x0d\n];\x0d\n\x0d\nfunction getDefaultResolver() {\x0d\n // We do this here instead of pre-execution so that the default resolver is\x0d\n // only ever created when the user loads any dns module.\x0d\n if (defaultResolver === undefined) {\x0d\n defaultResolver = new ResolverBase();\x0d\n }\x0d\n return defaultResolver;\x0d\n}\x0d\n\x0d\nfunction setDefaultResolver(resolver) {\x0d\n defaultResolver = resolver;\x0d\n}\x0d\n\x0d\nfunction bindDefaultResolver(target\x2C source) {\x0d\n const defaultResolver = getDefaultResolver();\x0d\n ArrayPrototypeForEach(resolverKeys\x2C (key) => {\x0d\n target[key] = FunctionPrototypeBind(source[key]\x2C defaultResolver);\x0d\n });\x0d\n}\x0d\n\x0d\nfunction validateHints(hints) {\x0d\n const { AI_ADDRCONFIG\x2C AI_ALL\x2C AI_V4MAPPED } = lazyBinding();\x0d\n if ((hints & ~(AI_ADDRCONFIG | AI_ALL | AI_V4MAPPED)) !== 0) {\x0d\n throw new ERR_INVALID_ARG_VALUE('hints'\x2C hints);\x0d\n }\x0d\n}\x0d\n\x0d\nlet invalidHostnameWarningEmitted = false;\x0d\nfunction emitInvalidHostnameWarning(hostname) {\x0d\n if (!invalidHostnameWarningEmitted) {\x0d\n process.emitWarning(\x0d\n `The provided hostname "${hostname}" is not a valid ` +\x0d\n 'hostname\x2C and is supported in the dns module solely for compatibility.'\x2C\x0d\n 'DeprecationWarning'\x2C\x0d\n 'DEP0118'\x2C\x0d\n );\x0d\n invalidHostnameWarningEmitted = true;\x0d\n }\x0d\n}\x0d\n\x0d\nfunction setDefaultResultOrder(value) {\x0d\n validateOneOf(value\x2C 'dnsOrder'\x2C ['verbatim'\x2C 'ipv4first'\x2C 'ipv6first']);\x0d\n dnsOrder = value;\x0d\n}\x0d\n\x0d\nfunction getDefaultResultOrder() {\x0d\n return dnsOrder;\x0d\n}\x0d\n\x0d\nfunction createResolverClass(resolver) {\x0d\n const resolveMap = { __proto__: null };\x0d\n\x0d\n class Resolver extends ResolverBase {}\x0d\n\x0d\n Resolver.prototype.resolveAny = resolveMap.ANY = resolver('queryAny');\x0d\n Resolver.prototype.resolve4 = resolveMap.A = resolver('queryA');\x0d\n Resolver.prototype.resolve6 = resolveMap.AAAA = resolver('queryAaaa');\x0d\n Resolver.prototype.resolveCaa = resolveMap.CAA = resolver('queryCaa');\x0d\n Resolver.prototype.resolveCname = resolveMap.CNAME = resolver('queryCname');\x0d\n Resolver.prototype.resolveMx = resolveMap.MX = resolver('queryMx');\x0d\n Resolver.prototype.resolveNs = resolveMap.NS = resolver('queryNs');\x0d\n Resolver.prototype.resolveTxt = resolveMap.TXT = resolver('queryTxt');\x0d\n Resolver.prototype.resolveSrv = resolveMap.SRV = resolver('querySrv');\x0d\n Resolver.prototype.resolvePtr = resolveMap.PTR = resolver('queryPtr');\x0d\n Resolver.prototype.resolveNaptr = resolveMap.NAPTR = resolver('queryNaptr');\x0d\n Resolver.prototype.resolveSoa = resolveMap.SOA = resolver('querySoa');\x0d\n Resolver.prototype.reverse = resolver('getHostByAddr');\x0d\n\x0d\n return {\x0d\n resolveMap\x2C\x0d\n Resolver\x2C\x0d\n };\x0d\n}\x0d\n\x0d\n// ERROR CODES\x0d\nconst errorCodes = {\x0d\n NODATA: 'ENODATA'\x2C\x0d\n FORMERR: 'EFORMERR'\x2C\x0d\n SERVFAIL: 'ESERVFAIL'\x2C\x0d\n NOTFOUND: 'ENOTFOUND'\x2C\x0d\n NOTIMP: 'ENOTIMP'\x2C\x0d\n REFUSED: 'EREFUSED'\x2C\x0d\n BADQUERY: 'EBADQUERY'\x2C\x0d\n BADNAME: 'EBADNAME'\x2C\x0d\n BADFAMILY: 'EBADFAMILY'\x2C\x0d\n BADRESP: 'EBADRESP'\x2C\x0d\n CONNREFUSED: 'ECONNREFUSED'\x2C\x0d\n TIMEOUT: 'ETIMEOUT'\x2C\x0d\n EOF: 'EOF'\x2C\x0d\n FILE: 'EFILE'\x2C\x0d\n NOMEM: 'ENOMEM'\x2C\x0d\n DESTRUCTION: 'EDESTRUCTION'\x2C\x0d\n BADSTR: 'EBADSTR'\x2C\x0d\n BADFLAGS: 'EBADFLAGS'\x2C\x0d\n NONAME: 'ENONAME'\x2C\x0d\n BADHINTS: 'EBADHINTS'\x2C\x0d\n NOTINITIALIZED: 'ENOTINITIALIZED'\x2C\x0d\n LOADIPHLPAPI: 'ELOADIPHLPAPI'\x2C\x0d\n ADDRGETNETWORKPARAMS: 'EADDRGETNETWORKPARAMS'\x2C\x0d\n CANCELLED: 'ECANCELLED'\x2C\x0d\n};\x0d\n\x0d\nmodule.exports = {\x0d\n bindDefaultResolver\x2C\x0d\n getDefaultResolver\x2C\x0d\n setDefaultResolver\x2C\x0d\n validateHints\x2C\x0d\n validateTimeout\x2C\x0d\n validateTries\x2C\x0d\n emitInvalidHostnameWarning\x2C\x0d\n getDefaultResultOrder\x2C\x0d\n setDefaultResultOrder\x2C\x0d\n errorCodes\x2C\x0d\n createResolverClass\x2C\x0d\n initializeDns\x2C\x0d\n};\x0d\n
code-source-info,0x23c5195b66e,71,5693,6169,C0O5722C8O5722C13O5763C15O5789C28O5798C36O5902C44O5916C52O5902C57O5998C59O6007C65O6033C70O6038C75O6067C76O6074C77O6085C87O6085C92O6168,,
code-creation,JS,10,274716,0x23c5195c456,90,setupSymbolDisposePolyfill node:internal/process/pre_execution:166:36,0x3b020023a0,~
code-source-info,0x23c5195c456,68,4899,5622,C0O5072C5O5090C13O5119C20O5140C33O5253C39O5119C44O5371C49O5389C57O5423C64O5444C77O5562C83O5423C89O5621,,
code-creation,JS,10,274799,0x23c5195c61e,21,assert node:internal/assert:11:16,0x39e2db423e0,~
script-source,11,node:internal/assert,'use strict';\x0d\n\x0d\nlet error;\x0d\nfunction lazyError() {\x0d\n if (!error) {\x0d\n error = require('internal/errors').codes.ERR_INTERNAL_ASSERTION;\x0d\n }\x0d\n return error;\x0d\n}\x0d\n\x0d\nfunction assert(value\x2C message) {\x0d\n if (!value) {\x0d\n const ERR_INTERNAL_ASSERTION = lazyError();\x0d\n throw new ERR_INTERNAL_ASSERTION(message);\x0d\n }\x0d\n}\x0d\n\x0d\nfunction fail(message) {\x0d\n const ERR_INTERNAL_ASSERTION = lazyError();\x0d\n throw new ERR_INTERNAL_ASSERTION(message);\x0d\n}\x0d\n\x0d\nassert.fail = fail;\x0d\n\x0d\nmodule.exports = assert;\x0d\n
code-source-info,0x23c5195c61e,11,182,322,C0O204C4O254C7O254C11O272C13O278C18O272C20O321,,
code-creation,JS,10,274936,0x23c5195cb66,432,readPolicyFromDisk node:internal/process/pre_execution:631:28,0x3b02002ae0,~
code-source-info,0x23c5195cb66,68,20481,22321,C0O20516C10O20516C15O20560C17O20591C21O20599C35O20599C41O20726C49O20726C55O20703C60O20718C65O20848C67O20866C75O20870C81O20885C87O20886C94O20941C101O21012C105O21034C111O21034C117O21012C123O21049C134O21065C138O21080C146O21094C152O21154C160O21154C165O21189C175O21189C182O21265C192O21265C197O21308C199O21362C207O21362C212O21441C220O21441C226O21409C231O21421C236O21491C242O21491C248O21542C254O21542C260O21602C262O21629C264O21653C268O21634C273O21748C275O21764C280O21696C285O21725C290O21791C296O21828C302O21828C307O21870C313O21870C319O21900C325O21920C329O21907C334O21941C341O21989C343O22019C345O22062C351O22084C361O22084C368O22062C374O21662C379O21616C383O22121C387O22149C401O22155C406O22149C407O22241C415O22270C419O22300C429O22313C431O22320,,
code-creation,JS,10,275030,0x23c5195cf56,49,setupStacktracePrinterOnSigint node:internal/process/pre_execution:390:40,0x3b020026e8,~
code-source-info,0x23c5195cf56,68,12725,12919,C0O12733C8O12738C14O12779C15O12786C16O12822C22O12822C27O12803C32O12874C38O12908C43O12908C48O12918,,
code-creation,JS,10,275072,0x23c5195d0ce,35,initializeReportSignalHandlers node:internal/process/pre_execution:420:40,0x3b02002800,~
code-source-info,0x23c5195d0ce,68,13526,13680,C0O13534C8O13538C14O13612C20O13612C25O13591C30O13653C34O13679,,
code-creation,JS,10,275135,0x23c5195d386,155,initializeHeapSnapshotSignalHandlers node:internal/process/pre_execution:427:46,0x3b02002850,~
code-source-info,0x23c5195d386,68,13729,14441,C0O13729C20O13752C30O13752C34O13752C36O13818C46O13818C50O13818C52O13859C56O13877C57O13884C58O13890C66O13890C71O13920C79O13921C84O13982C92O13982C97O13960C103O14163C108O14171C119O14171C125O14303C132O14307C137O14336C149O14336C154O14440,,
code-creation,JS,10,275200,0x23c5195d6ce,138,setupChildProcessIpcChannel node:internal/process/pre_execution:537:37,0x3b020029b8,~
code-source-info,0x23c5195d6ce,68,17558,18104,C0O17566C3O17578C8O17582C14O17621C20O17621C25O17667C33O17690C38O17694C46O17667C52O17721C53O17731C57O17721C61O17815C64O17830C73O17891C76O17899C81O17903C90O17951C93O17966C102O18010C108O18010C113O18034C118O18035C124O18075C127O18090C132O18075C137O18103,,
code-creation,JS,10,275267,0x23c5195d8ee,63,initializeClusterIPC node:internal/process/pre_execution:556:30,0x3b02002a08,~
code-source-info,0x23c5195d8ee,68,18137,18385,C0O18145C3O18157C10O18161C18O18176C23O18180C29O18219C35O18219C40O18252C45O18252C49O18343C52O18358C62O18384,,
code-creation,JS,10,275320,0x23c5195da2e,54,runDeserializeCallbacks node:internal/v8/startup_snapshot:39:33,0x39e2db7b838,~
script-source,61,node:internal/v8/startup_snapshot,'use strict';\x0d\n\x0d\nconst {\x0d\n validateFunction\x2C\x0d\n} = require('internal/validators');\x0d\nconst {\x0d\n codes: {\x0d\n ERR_NOT_BUILDING_SNAPSHOT\x2C\x0d\n ERR_NOT_SUPPORTED_IN_SNAPSHOT\x2C\x0d\n ERR_DUPLICATE_STARTUP_SNAPSHOT_MAIN_FUNCTION\x2C\x0d\n }\x2C\x0d\n} = require('internal/errors');\x0d\n\x0d\nconst {\x0d\n setSerializeCallback\x2C\x0d\n setDeserializeCallback\x2C\x0d\n setDeserializeMainFunction: _setDeserializeMainFunction\x2C\x0d\n isBuildingSnapshotBuffer\x2C\x0d\n} = internalBinding('mksnapshot');\x0d\n\x0d\nfunction isBuildingSnapshot() {\x0d\n return isBuildingSnapshotBuffer[0];\x0d\n}\x0d\n\x0d\nfunction throwIfNotBuildingSnapshot() {\x0d\n if (!isBuildingSnapshot()) {\x0d\n throw new ERR_NOT_BUILDING_SNAPSHOT();\x0d\n }\x0d\n}\x0d\n\x0d\nfunction throwIfBuildingSnapshot(reason) {\x0d\n if (isBuildingSnapshot()) {\x0d\n throw new ERR_NOT_SUPPORTED_IN_SNAPSHOT(reason);\x0d\n }\x0d\n}\x0d\n\x0d\nconst deserializeCallbacks = [];\x0d\nlet deserializeCallbackIsSet = false;\x0d\nfunction runDeserializeCallbacks() {\x0d\n while (deserializeCallbacks.length > 0) {\x0d\n const { 0: callback\x2C 1: data } = deserializeCallbacks.shift();\x0d\n callback(data);\x0d\n }\x0d\n}\x0d\n\x0d\nfunction addDeserializeCallback(callback\x2C data) {\x0d\n throwIfNotBuildingSnapshot();\x0d\n validateFunction(callback\x2C 'callback');\x0d\n if (!deserializeCallbackIsSet) {\x0d\n // TODO(joyeecheung): when the main function handling is done in JS\x2C\x0d\n // the deserialize callbacks can always be invoked. For now only\x0d\n // store it in C++ when it's actually used to avoid unnecessary\x0d\n // C++ -> JS costs.\x0d\n setDeserializeCallback(runDeserializeCallbacks);\x0d\n deserializeCallbackIsSet = true;\x0d\n }\x0d\n deserializeCallbacks.push([callback\x2C data]);\x0d\n}\x0d\n\x0d\nconst serializeCallbacks = [];\x0d\nfunction runSerializeCallbacks() {\x0d\n while (serializeCallbacks.length > 0) {\x0d\n const { 0: callback\x2C 1: data } = serializeCallbacks.shift();\x0d\n callback(data);\x0d\n }\x0d\n}\x0d\n\x0d\nfunction addSerializeCallback(callback\x2C data) {\x0d\n throwIfNotBuildingSnapshot();\x0d\n validateFunction(callback\x2C 'callback');\x0d\n serializeCallbacks.push([callback\x2C data]);\x0d\n}\x0d\n\x0d\nfunction initializeCallbacks() {\x0d\n // Only run the serialize callbacks in snapshot building mode\x2C otherwise\x0d\n // they throw.\x0d\n if (isBuildingSnapshot()) {\x0d\n setSerializeCallback(runSerializeCallbacks);\x0d\n }\x0d\n}\x0d\n\x0d\nlet deserializeMainIsSet = false;\x0d\nfunction setDeserializeMainFunction(callback\x2C data) {\x0d\n throwIfNotBuildingSnapshot();\x0d\n // TODO(joyeecheung): In lib/internal/bootstrap/node.js\x2C create a default\x0d\n // main function to run the lib/internal/main scripts and make sure that\x0d\n // the main function set in the snapshot building process takes precedence.\x0d\n validateFunction(callback\x2C 'callback');\x0d\n if (deserializeMainIsSet) {\x0d\n throw new ERR_DUPLICATE_STARTUP_SNAPSHOT_MAIN_FUNCTION();\x0d\n }\x0d\n deserializeMainIsSet = true;\x0d\n\x0d\n _setDeserializeMainFunction(function deserializeMain() {\x0d\n const {\x0d\n prepareMainThreadExecution\x2C\x0d\n markBootstrapComplete\x2C\x0d\n } = require('internal/process/pre_execution');\x0d\n\x0d\n // This should be in sync with run_main_module.js until we make that\x0d\n // a built-in main function.\x0d\n // TODO(joyeecheung): make a copy of argv[0] and insert it as argv[1].\x0d\n prepareMainThreadExecution(false);\x0d\n markBootstrapComplete();\x0d\n callback(data);\x0d\n });\x0d\n}\x0d\n\x0d\nmodule.exports = {\x0d\n initializeCallbacks\x2C\x0d\n runDeserializeCallbacks\x2C\x0d\n throwIfBuildingSnapshot\x2C\x0d\n // Exposed to require('v8').startupSnapshot\x0d\n namespace: {\x0d\n addDeserializeCallback\x2C\x0d\n addSerializeCallback\x2C\x0d\n setDeserializeMainFunction\x2C\x0d\n isBuildingSnapshot\x2C\x0d\n }\x2C\x0d\n};\x0d\n
code-source-info,0x23c5195da2e,61,901,1047,C0O944C5O937C11O944C16O989C21O1010C26O1010C33O967C40O980C44O1024C48O909C53O1046,,
code-creation,JS,10,275517,0x23c5195df7e,111,setupUserModules node:internal/process/pre_execution:191:26,0x3b020023f0,~
code-source-info,0x23c5195df7e,68,5651,6394,C10O5685C13O5685C16O5711C19O5711C23O5836C29O5836C34O5768C39O5801C44O5876C49O5884C54O5876C58O5918C63O5926C68O5918C72O5960C77O5964C81O5984C87O6012C90O6012C93O6255C97O6287C100O6287C103O6362C106O6362C110O6393,,
code-creation,JS,10,275582,0x23c5195e10e,21,initializeCJSLoader node:internal/process/pre_execution:681:29,0x3b02002b30,~
code-source-info,0x23c5195e10e,68,22353,22449,C0O22387C6O22387C11O22369C16O22430C20O22448,,
code-creation,JS,10,275764,0x23c5195e30e,130,initializeCJS node:internal/modules/cjs/loader:421:23,0x39e2db7ec08,~
script-source,65,node:internal/modules/cjs/loader,// Copyright Joyent\x2C Inc. and other Node contributors.\x0d\n//\x0d\n// Permission is hereby granted\x2C free of charge\x2C to any person obtaining a\x0d\n// copy of this software and associated documentation files (the\x0d\n// "Software")\x2C to deal in the Software without restriction\x2C including\x0d\n// without limitation the rights to use\x2C copy\x2C modify\x2C merge\x2C publish\x2C\x0d\n// distribute\x2C sublicense\x2C and/or sell copies of the Software\x2C and to permit\x0d\n// persons to whom the Software is furnished to do so\x2C subject to the\x0d\n// following conditions:\x0d\n//\x0d\n// The above copyright notice and this permission notice shall be included\x0d\n// in all copies or substantial portions of the Software.\x0d\n//\x0d\n// THE SOFTWARE IS PROVIDED "AS IS"\x2C WITHOUT WARRANTY OF ANY KIND\x2C EXPRESS\x0d\n// OR IMPLIED\x2C INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\x0d\n// MERCHANTABILITY\x2C FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\x0d\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM\x2C\x0d\n// DAMAGES OR OTHER LIABILITY\x2C WHETHER IN AN ACTION OF CONTRACT\x2C TORT OR\x0d\n// OTHERWISE\x2C ARISING FROM\x2C OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\x0d\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\x0d\n\x0d\n'use strict';\x0d\n\x0d\nconst {\x0d\n ArrayIsArray\x2C\x0d\n ArrayPrototypeFilter\x2C\x0d\n ArrayPrototypeIncludes\x2C\x0d\n ArrayPrototypeIndexOf\x2C\x0d\n ArrayPrototypeJoin\x2C\x0d\n ArrayPrototypeMap\x2C\x0d\n ArrayPrototypePush\x2C\x0d\n ArrayPrototypePushApply\x2C\x0d\n ArrayPrototypeSlice\x2C\x0d\n ArrayPrototypeSplice\x2C\x0d\n ArrayPrototypeUnshift\x2C\x0d\n ArrayPrototypeUnshiftApply\x2C\x0d\n Boolean\x2C\x0d\n Error\x2C\x0d\n JSONParse\x2C\x0d\n ObjectDefineProperty\x2C\x0d\n ObjectFreeze\x2C\x0d\n ObjectGetOwnPropertyDescriptor\x2C\x0d\n ObjectGetPrototypeOf\x2C\x0d\n ObjectKeys\x2C\x0d\n ObjectPrototype\x2C\x0d\n ObjectPrototypeHasOwnProperty\x2C\x0d\n ObjectSetPrototypeOf\x2C\x0d\n Proxy\x2C\x0d\n ReflectApply\x2C\x0d\n ReflectSet\x2C\x0d\n RegExpPrototypeExec\x2C\x0d\n SafeMap\x2C\x0d\n String\x2C\x0d\n StringPrototypeCharAt\x2C\x0d\n StringPrototypeCharCodeAt\x2C\x0d\n StringPrototypeEndsWith\x2C\x0d\n StringPrototypeIndexOf\x2C\x0d\n StringPrototypeRepeat\x2C\x0d\n StringPrototypeSlice\x2C\x0d\n StringPrototypeSplit\x2C\x0d\n StringPrototypeStartsWith\x2C\x0d\n Symbol\x2C\x0d\n} = primordials;\x0d\nconst {\x0d\n privateSymbols: {\x0d\n module_source_private_symbol\x2C\x0d\n module_export_names_private_symbol\x2C\x0d\n module_circular_visited_private_symbol\x2C\x0d\n module_export_private_symbol\x2C\x0d\n module_parent_private_symbol\x2C\x0d\n }\x2C\x0d\n} = internalBinding('util');\x0d\n\x0d\nconst { kEvaluated } = internalBinding('module_wrap');\x0d\n\x0d\n// Internal properties for Module instances.\x0d\n/**\x0d\n * Cached {@link Module} source string.\x0d\n */\x0d\nconst kModuleSource = module_source_private_symbol;\x0d\n/**\x0d\n * Cached {@link Module} export names for ESM loader.\x0d\n */\x0d\nconst kModuleExportNames = module_export_names_private_symbol;\x0d\n/**\x0d\n * {@link Module} circular dependency visited flag.\x0d\n */\x0d\nconst kModuleCircularVisited = module_circular_visited_private_symbol;\x0d\n/**\x0d\n * {@link Module} export object snapshot for ESM loader.\x0d\n */\x0d\nconst kModuleExport = module_export_private_symbol;\x0d\n/**\x0d\n * {@link Module} parent module.\x0d\n */\x0d\nconst kModuleParent = module_parent_private_symbol;\x0d\n\x0d\nconst kIsMainSymbol = Symbol('kIsMainSymbol');\x0d\nconst kIsCachedByESMLoader = Symbol('kIsCachedByESMLoader');\x0d\nconst kRequiredModuleSymbol = Symbol('kRequiredModuleSymbol');\x0d\nconst kIsExecuting = Symbol('kIsExecuting');\x0d\n// Set first due to cycle with ESM loader functions.\x0d\nmodule.exports = {\x0d\n kModuleSource\x2C\x0d\n kModuleExport\x2C\x0d\n kModuleExportNames\x2C\x0d\n kModuleCircularVisited\x2C\x0d\n initializeCJS\x2C\x0d\n Module\x2C\x0d\n wrapSafe\x2C\x0d\n kIsMainSymbol\x2C\x0d\n kIsCachedByESMLoader\x2C\x0d\n kRequiredModuleSymbol\x2C\x0d\n kIsExecuting\x2C\x0d\n};\x0d\n\x0d\nconst { BuiltinModule } = require('internal/bootstrap/realm');\x0d\nconst {\x0d\n maybeCacheSourceMap\x2C\x0d\n} = require('internal/source_map/source_map_cache');\x0d\nconst { pathToFileURL\x2C fileURLToPath\x2C isURL } = require('internal/url');\x0d\nconst {\x0d\n pendingDeprecate\x2C\x0d\n emitExperimentalWarning\x2C\x0d\n kEmptyObject\x2C\x0d\n setOwnProperty\x2C\x0d\n getLazy\x2C\x0d\n} = require('internal/util');\x0d\nconst {\x0d\n makeContextifyScript\x2C\x0d\n runScriptInThisContext\x2C\x0d\n} = require('internal/vm');\x0d\nconst {\x0d\n containsModuleSyntax\x2C\x0d\n compileFunctionForCJSLoader\x2C\x0d\n} = internalBinding('contextify');\x0d\n\x0d\nconst assert = require('internal/assert');\x0d\nconst fs = require('fs');\x0d\nconst path = require('path');\x0d\nconst { internalModuleStat } = internalBinding('fs');\x0d\nconst { safeGetenv } = internalBinding('credentials');\x0d\nconst {\x0d\n privateSymbols: {\x0d\n require_private_symbol\x2C\x0d\n }\x2C\x0d\n} = internalBinding('util');\x0d\nconst {\x0d\n getCjsConditions\x2C\x0d\n initializeCjsConditions\x2C\x0d\n loadBuiltinModule\x2C\x0d\n makeRequireFunction\x2C\x0d\n setHasStartedUserCJSExecution\x2C\x0d\n stripBOM\x2C\x0d\n toRealPath\x2C\x0d\n} = require('internal/modules/helpers');\x0d\nconst packageJsonReader = require('internal/modules/package_json_reader');\x0d\nconst { getOptionValue\x2C getEmbedderOptions } = require('internal/options');\x0d\nconst policy = getLazy(\x0d\n () => (getOptionValue('--experimental-policy') ? require('internal/process/policy') : null)\x2C\x0d\n);\x0d\nconst shouldReportRequiredModules = getLazy(() => process.env.WATCH_REPORT_DEPENDENCIES);\x0d\n\x0d\nconst permission = require('internal/process/permission');\x0d\nconst {\x0d\n vm_dynamic_import_default_internal\x2C\x0d\n} = internalBinding('symbols');\x0d\n\x0d\nconst {\x0d\n codes: {\x0d\n ERR_INVALID_ARG_VALUE\x2C\x0d\n ERR_INVALID_MODULE_SPECIFIER\x2C\x0d\n ERR_REQUIRE_CYCLE_MODULE\x2C\x0d\n ERR_REQUIRE_ESM\x2C\x0d\n ERR_UNKNOWN_BUILTIN_MODULE\x2C\x0d\n }\x2C\x0d\n setArrowMessage\x2C\x0d\n} = require('internal/errors');\x0d\nconst { validateString } = require('internal/validators');\x0d\n\x0d\nconst {\x0d\n CHAR_BACKWARD_SLASH\x2C\x0d\n CHAR_COLON\x2C\x0d\n CHAR_DOT\x2C\x0d\n CHAR_FORWARD_SLASH\x2C\x0d\n} = require('internal/constants');\x0d\n\x0d\nconst {\x0d\n isProxy\x2C\x0d\n} = require('internal/util/types');\x0d\n\x0d\nconst isWindows = process.platform === 'win32';\x0d\n\x0d\nconst relativeResolveCache = { __proto__: null };\x0d\n\x0d\nlet requireDepth = 0;\x0d\nlet isPreloading = false;\x0d\nlet statCache = null;\x0d\n\x0d\n/**\x0d\n * Our internal implementation of `require`.\x0d\n * @param {Module} module Parent module of what is being required\x0d\n * @param {string} id Specifier of the child module being imported\x0d\n */\x0d\nfunction internalRequire(module\x2C id) {\x0d\n validateString(id\x2C 'id');\x0d\n if (id === '') {\x0d\n throw new ERR_INVALID_ARG_VALUE('id'\x2C id\x2C\x0d\n 'must be a non-empty string');\x0d\n }\x0d\n requireDepth++;\x0d\n try {\x0d\n return Module._load(id\x2C module\x2C /* isMain */ false);\x0d\n } finally {\x0d\n requireDepth--;\x0d\n }\x0d\n}\x0d\n\x0d\n/**\x0d\n * Get a path's properties\x2C using an in-memory cache to minimize lookups.\x0d\n * @param {string} filename Absolute path to the file\x0d\n */\x0d\nfunction stat(filename) {\x0d\n filename = path.toNamespacedPath(filename);\x0d\n if (statCache !== null) {\x0d\n const result = statCache.get(filename);\x0d\n if (result !== undefined) { return result; }\x0d\n }\x0d\n const result = internalModuleStat(filename);\x0d\n if (statCache !== null && result >= 0) {\x0d\n // Only set cache when `internalModuleStat(filename)` succeeds.\x0d\n statCache.set(filename\x2C result);\x0d\n }\x0d\n return result;\x0d\n}\x0d\n\x0d\nlet _stat = stat;\x0d\nObjectDefineProperty(Module\x2C '_stat'\x2C {\x0d\n __proto__: null\x2C\x0d\n get() { return _stat; }\x2C\x0d\n set(stat) {\x0d\n emitExperimentalWarning('Module._stat');\x0d\n _stat = stat;\x0d\n return true;\x0d\n }\x2C\x0d\n configurable: true\x2C\x0d\n});\x0d\n\x0d\n/**\x0d\n * Update the parent's children array with the child module.\x0d\n * @param {Module} parent Module requiring the children\x0d\n * @param {Module} child Module being required\x0d\n * @param {boolean} scan Add the child to the parent's children if not already present\x0d\n */\x0d\nfunction updateChildren(parent\x2C child\x2C scan) {\x0d\n const children = parent?.children;\x0d\n if (children && !(scan && ArrayPrototypeIncludes(children\x2C child))) {\x0d\n ArrayPrototypePush(children\x2C child);\x0d\n }\x0d\n}\x0d\n\x0d\n/**\x0d\n * Tell the watch mode that a module was required.\x0d\n * @param {string} filename Absolute path of the module\x0d\n */\x0d\nfunction reportModuleToWatchMode(filename) {\x0d\n if (shouldReportRequiredModules() && process.send) {\x0d\n process.send({ 'watch:require': [filename] });\x0d\n }\x0d\n}\x0d\n\x0d\n/**\x0d\n * Tell the watch mode that a module was not found.\x0d\n * @param {string} basePath The absolute path that errored\x0d\n * @param {string[]} extensions The extensions that were tried\x0d\n */\x0d\nfunction reportModuleNotFoundToWatchMode(basePath\x2C extensions) {\x0d\n if (shouldReportRequiredModules() && process.send) {\x0d\n process.send({ 'watch:require': ArrayPrototypeMap(extensions\x2C (ext) => path.resolve(`${basePath}${ext}`)) });\x0d\n }\x0d\n}\x0d\n\x0d\n/**\x0d\n * Create a new module instance.\x0d\n * @param {string} id\x0d\n * @param {Module} parent\x0d\n */\x0d\nfunction Module(id = ''\x2C parent) {\x0d\n this.id = id;\x0d\n this.path = path.dirname(id);\x0d\n setOwnProperty(this\x2C 'exports'\x2C {});\x0d\n this[kModuleParent] = parent;\x0d\n updateChildren(parent\x2C this\x2C false);\x0d\n this.filename = null;\x0d\n this.loaded = false;\x0d\n this.children = [];\x0d\n let redirects;\x0d\n const manifest = policy()?.manifest;\x0d\n if (manifest) {\x0d\n const moduleURL = pathToFileURL(id);\x0d\n redirects = manifest.getDependencyMapper(moduleURL);\x0d\n // TODO(rafaelgss): remove the necessity of this branch\x0d\n setOwnProperty(this\x2C 'require'\x2C makeRequireFunction(this\x2C redirects));\x0d\n // eslint-disable-next-line no-proto\x0d\n setOwnProperty(this.__proto__\x2C 'require'\x2C makeRequireFunction(this\x2C redirects));\x0d\n }\x0d\n this[require_private_symbol] = internalRequire;\x0d\n}\x0d\n\x0d\n/** @type {Record<string\x2C Module>} */\x0d\nModule._cache = { __proto__: null };\x0d\n/** @type {Record<string\x2C string>} */\x0d\nModule._pathCache = { __proto__: null };\x0d\n/** @type {Record<string\x2C (module: Module\x2C filename: string) => void>} */\x0d\nModule._extensions = { __proto__: null };\x0d\n/** @type {string[]} */\x0d\nlet modulePaths = [];\x0d\n/** @type {string[]} */\x0d\nModule.globalPaths = [];\x0d\n\x0d\nlet patched = false;\x0d\n\x0d\n/**\x0d\n * Add the CommonJS wrapper around a module's source code.\x0d\n * @param {string} script Module source code\x0d\n */\x0d\nlet wrap = function(script) { // eslint-disable-line func-style\x0d\n return Module.wrapper[0] + script + Module.wrapper[1];\x0d\n};\x0d\n\x0d\nconst wrapper = [\x0d\n '(function (exports\x2C require\x2C module\x2C __filename\x2C __dirname) { '\x2C\x0d\n '\\n});'\x2C\x0d\n];\x0d\n\x0d\nlet wrapperProxy = new Proxy(wrapper\x2C {\x0d\n __proto__: null\x2C\x0d\n\x0d\n set(target\x2C property\x2C value\x2C receiver) {\x0d\n patched = true;\x0d\n return ReflectSet(target\x2C property\x2C value\x2C receiver);\x0d\n }\x2C\x0d\n\x0d\n defineProperty(target\x2C property\x2C descriptor) {\x0d\n patched = true;\x0d\n return ObjectDefineProperty(target\x2C property\x2C descriptor);\x0d\n }\x2C\x0d\n});\x0d\n\x0d\nObjectDefineProperty(Module\x2C 'wrap'\x2C {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n return wrap;\x0d\n }\x2C\x0d\n\x0d\n set(value) {\x0d\n patched = true;\x0d\n wrap = value;\x0d\n }\x2C\x0d\n});\x0d\n\x0d\nObjectDefineProperty(Module\x2C 'wrapper'\x2C {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n return wrapperProxy;\x0d\n }\x2C\x0d\n\x0d\n set(value) {\x0d\n patched = true;\x0d\n wrapperProxy = value;\x0d\n }\x2C\x0d\n});\x0d\n\x0d\nconst isPreloadingDesc = { get() { return isPreloading; } };\x0d\nObjectDefineProperty(Module.prototype\x2C 'isPreloading'\x2C isPreloadingDesc);\x0d\nObjectDefineProperty(BuiltinModule.prototype\x2C 'isPreloading'\x2C isPreloadingDesc);\x0d\n\x0d\n/**\x0d\n * Get the parent of the current module from our cache.\x0d\n * @this {Module}\x0d\n */\x0d\nfunction getModuleParent() {\x0d\n return this[kModuleParent];\x0d\n}\x0d\n\x0d\n/**\x0d\n * Set the parent of the current module in our cache.\x0d\n * @this {Module}\x0d\n * @param {Module} value\x0d\n */\x0d\nfunction setModuleParent(value) {\x0d\n this[kModuleParent] = value;\x0d\n}\x0d\n\x0d\nlet debug = require('internal/util/debuglog').debuglog('module'\x2C (fn) => {\x0d\n debug = fn;\x0d\n});\x0d\n\x0d\nObjectDefineProperty(Module.prototype\x2C 'parent'\x2C {\x0d\n __proto__: null\x2C\x0d\n get: pendingDeprecate(\x0d\n getModuleParent\x2C\x0d\n 'module.parent is deprecated due to accuracy issues. Please use ' +\x0d\n 'require.main to find program entry point instead.'\x2C\x0d\n 'DEP0144'\x2C\x0d\n )\x2C\x0d\n set: pendingDeprecate(\x0d\n setModuleParent\x2C\x0d\n 'module.parent is deprecated due to accuracy issues. Please use ' +\x0d\n 'require.main to find program entry point instead.'\x2C\x0d\n 'DEP0144'\x2C\x0d\n )\x2C\x0d\n});\x0d\nModule._debug = pendingDeprecate(debug\x2C 'Module._debug is deprecated.'\x2C 'DEP0077');\x0d\nModule.isBuiltin = BuiltinModule.isBuiltin;\x0d\n\x0d\n/**\x0d\n * Prepare to run CommonJS code.\x0d\n * This function is called during pre-execution\x2C before any user code is run.\x0d\n */\x0d\nfunction initializeCJS() {\x0d\n // This need to be done at runtime in case --expose-internals is set.\x0d\n const builtinModules = BuiltinModule.getCanBeRequiredByUsersWithoutSchemeList();\x0d\n Module.builtinModules = ObjectFreeze(builtinModules);\x0d\n\x0d\n initializeCjsConditions();\x0d\n\x0d\n if (!getEmbedderOptions().noGlobalSearchPaths) {\x0d\n Module._initPaths();\x0d\n }\x0d\n\x0d\n // TODO(joyeecheung): deprecate this in favor of a proper hook?\x0d\n Module.runMain =\x0d\n require('internal/modules/run_main').executeUserEntryPoint;\x0d\n\x0d\n if (getOptionValue('--experimental-require-module')) {\x0d\n emitExperimentalWarning('Support for loading ES Module in require()');\x0d\n Module._extensions['.mjs'] = loadESMFromCJS;\x0d\n }\x0d\n}\x0d\n\x0d\n// Given a module name\x2C and a list of paths to test\x2C returns the first\x0d\n// matching file in the following precedence.\x0d\n//\x0d\n// require("a.<ext>")\x0d\n// -> a.<ext>\x0d\n//\x0d\n// require("a")\x0d\n// -> a\x0d\n// -> a.<ext>\x0d\n// -> a/index.<ext>\x0d\n\x0d\nlet _readPackage = packageJsonReader.readPackage;\x0d\nObjectDefineProperty(Module\x2C '_readPackage'\x2C {\x0d\n __proto__: null\x2C\x0d\n get() { return _readPackage; }\x2C\x0d\n set(readPackage) {\x0d\n emitExperimentalWarning('Module._readPackage');\x0d\n _readPackage = readPackage;\x0d\n return true;\x0d\n }\x2C\x0d\n configurable: true\x2C\x0d\n});\x0d\n\x0d\n/**\x0d\n * Try to load a specifier as a package.\x0d\n * @param {string} requestPath The path to what we are trying to load\x0d\n * @param {string[]} exts File extensions to try appending in order to resolve the file\x0d\n * @param {boolean} isMain Whether the file is the main entry point of the app\x0d\n * @param {string} originalPath The specifier passed to `require`\x0d\n */\x0d\nfunction tryPackage(requestPath\x2C exts\x2C isMain\x2C originalPath) {\x0d\n const pkg = _readPackage(requestPath).main;\x0d\n\x0d\n if (!pkg) {\x0d\n return tryExtensions(path.resolve(requestPath\x2C 'index')\x2C exts\x2C isMain);\x0d\n }\x0d\n\x0d\n const filename = path.resolve(requestPath\x2C pkg);\x0d\n let actual = tryFile(filename\x2C isMain) ||\x0d\n tryExtensions(filename\x2C exts\x2C isMain) ||\x0d\n tryExtensions(path.resolve(filename\x2C 'index')\x2C exts\x2C isMain);\x0d\n if (actual === false) {\x0d\n actual = tryExtensions(path.resolve(requestPath\x2C 'index')\x2C exts\x2C isMain);\x0d\n if (!actual) {\x0d\n // eslint-disable-next-line no-restricted-syntax\x0d\n const err = new Error(\x0d\n `Cannot find module '${filename}'. ` +\x0d\n 'Please verify that the package.json has a valid "main" entry'\x2C\x0d\n );\x0d\n err.code = 'MODULE_NOT_FOUND';\x0d\n err.path = path.resolve(requestPath\x2C 'package.json');\x0d\n err.requestPath = originalPath;\x0d\n // TODO(BridgeAR): Add the requireStack as well.\x0d\n throw err;\x0d\n } else {\x0d\n const jsonPath = path.resolve(requestPath\x2C 'package.json');\x0d\n process.emitWarning(\x0d\n `Invalid 'main' field in '${jsonPath}' of '${pkg}'. ` +\x0d\n 'Please either fix that or report it to the module author'\x2C\x0d\n 'DeprecationWarning'\x2C\x0d\n 'DEP0128'\x2C\x0d\n );\x0d\n }\x0d\n }\x0d\n return actual;\x0d\n}\x0d\n\x0d\n/**\x0d\n * Check if the file exists and is not a directory if using `--preserve-symlinks` and `isMain` is false or\x0d\n * `--preserve-symlinks-main` and `isMain` is true \x2C keep symlinks intact\x2C otherwise resolve to the absolute realpath.\x0d\n * @param {string} requestPath The path to the file to load.\x0d\n * @param {boolean} isMain Whether the file is the main module.\x0d\n */\x0d\nfunction tryFile(requestPath\x2C isMain) {\x0d\n const rc = _stat(requestPath);\x0d\n if (rc !== 0) { return; }\x0d\n if (getOptionValue(isMain ? '--preserve-symlinks-main' : '--preserve-symlinks')) {\x0d\n return path.resolve(requestPath);\x0d\n }\x0d\n return toRealPath(requestPath);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Given a path\x2C check if the file exists with any of the set extensions.\x0d\n * @param {string} basePath The path and filename without extension\x0d\n * @param {string[]} exts The extensions to try\x0d\n * @param {boolean} isMain Whether the module is the main module\x0d\n */\x0d\nfunction tryExtensions(basePath\x2C exts\x2C isMain) {\x0d\n for (let i = 0; i < exts.length; i++) {\x0d\n const filename = tryFile(basePath + exts[i]\x2C isMain);\x0d\n\x0d\n if (filename) {\x0d\n return filename;\x0d\n }\x0d\n }\x0d\n return false;\x0d\n}\x0d\n\x0d\n/**\x0d\n * Find the longest (possibly multi-dot) extension registered in `Module._extensions`.\x0d\n * @param {string} filename The filename to find the longest registered extension for.\x0d\n */\x0d\nfunction findLongestRegisteredExtension(filename) {\x0d\n const name = path.basename(filename);\x0d\n let currentExtension;\x0d\n let index;\x0d\n let startIndex = 0;\x0d\n while ((index = StringPrototypeIndexOf(name\x2C '.'\x2C startIndex)) !== -1) {\x0d\n startIndex = index + 1;\x0d\n if (index === 0) { continue; } // Skip dotfiles like .gitignore\x0d\n currentExtension = StringPrototypeSlice(name\x2C index);\x0d\n if (Module._extensions[currentExtension]) { return currentExtension; }\x0d\n }\x0d\n return '.js';\x0d\n}\x0d\n\x0d\n/**\x0d\n * Tries to get the absolute file path of the parent module.\x0d\n * @param {Module} parent The parent module object.\x0d\n */\x0d\nfunction trySelfParentPath(parent) {\x0d\n if (!parent) { return false; }\x0d\n\x0d\n if (parent.filename) {\x0d\n return parent.filename;\x0d\n } else if (parent.id === '<repl>' || parent.id === 'internal/preload') {\x0d\n try {\x0d\n return process.cwd() + path.sep;\x0d\n } catch {\x0d\n return false;\x0d\n }\x0d\n }\x0d\n}\x0d\n\x0d\n/**\x0d\n * Attempt to resolve a module request using the parent module package metadata.\x0d\n * @param {string} parentPath The path of the parent module\x0d\n * @param {string} request The module request to resolve\x0d\n */\x0d\nfunction trySelf(parentPath\x2C request) {\x0d\n if (!parentPath) { return false; }\x0d\n\x0d\n const { data: pkg\x2C path: pkgPath } = packageJsonReader.readPackageScope(parentPath);\x0d\n if (!pkg || pkg.exports == null || pkg.name === undefined) {\x0d\n return false;\x0d\n }\x0d\n\x0d\n let expansion;\x0d\n if (request === pkg.name) {\x0d\n expansion = '.';\x0d\n } else if (StringPrototypeStartsWith(request\x2C `${pkg.name}/`)) {\x0d\n expansion = '.' + StringPrototypeSlice(request\x2C pkg.name.length);\x0d\n } else {\x0d\n return false;\x0d\n }\x0d\n\x0d\n try {\x0d\n const { packageExportsResolve } = require('internal/modules/esm/resolve');\x0d\n return finalizeEsmResolution(packageExportsResolve(\x0d\n pathToFileURL(pkgPath + '/package.json')\x2C expansion\x2C pkg\x2C\x0d\n pathToFileURL(parentPath)\x2C getCjsConditions())\x2C parentPath\x2C pkgPath);\x0d\n } catch (e) {\x0d\n if (e.code === 'ERR_MODULE_NOT_FOUND') {\x0d\n throw createEsmNotFoundErr(request\x2C pkgPath + '/package.json');\x0d\n }\x0d\n throw e;\x0d\n }\x0d\n}\x0d\n\x0d\n/**\x0d\n * This only applies to requests of a specific form:\x0d\n * 1. `name/.*`\x0d\n * 2. `@scope/name/.*`\x0d\n */\x0d\nconst EXPORTS_PATTERN = /^((?:@[^/\\\\%]+\\/)?[^./\\\\%][^/\\\\%]*)(\\/.*)?$/;\x0d\n\x0d\n/**\x0d\n * Resolves the exports for a given module path and request.\x0d\n * @param {string} nmPath The path to the module.\x0d\n * @param {string} request The request for the module.\x0d\n */\x0d\nfunction resolveExports(nmPath\x2C request) {\x0d\n // The implementation's behavior is meant to mirror resolution in ESM.\x0d\n const { 1: name\x2C 2: expansion = '' } =\x0d\n RegExpPrototypeExec(EXPORTS_PATTERN\x2C request) || kEmptyObject;\x0d\n if (!name) { return; }\x0d\n const pkgPath = path.resolve(nmPath\x2C name);\x0d\n const pkg = _readPackage(pkgPath);\x0d\n if (pkg.exists && pkg.exports != null) {\x0d\n try {\x0d\n const { packageExportsResolve } = require('internal/modules/esm/resolve');\x0d\n return finalizeEsmResolution(packageExportsResolve(\x0d\n pathToFileURL(pkgPath + '/package.json')\x2C '.' + expansion\x2C pkg\x2C null\x2C\x0d\n getCjsConditions())\x2C null\x2C pkgPath);\x0d\n } catch (e) {\x0d\n if (e.code === 'ERR_MODULE_NOT_FOUND') {\x0d\n throw createEsmNotFoundErr(request\x2C pkgPath + '/package.json');\x0d\n }\x0d\n throw e;\x0d\n }\x0d\n }\x0d\n}\x0d\n\x0d\n// We don't cache this in case user extends the extensions.\x0d\nfunction getDefaultExtensions() {\x0d\n const extensions = ObjectKeys(Module._extensions);\x0d\n if (!getOptionValue('--experimental-require-module')) {\x0d\n return extensions;\x0d\n }\x0d\n // If the .mjs extension is added by --experimental-require-module\x2C\x0d\n // remove it from the supported default extensions to maintain\x0d\n // compatibility.\x0d\n // TODO(joyeecheung): allow both .mjs and .cjs?\x0d\n return ArrayPrototypeFilter(extensions\x2C (ext) => ext !== '.mjs' || Module._extensions['.mjs'] !== loadESMFromCJS);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Get the absolute path to a module.\x0d\n * @param {string} request Relative or absolute file path\x0d\n * @param {Array<string>} paths Folders to search as file paths\x0d\n * @param {boolean} isMain Whether the request is the main app entry point\x0d\n * @returns {string | false}\x0d\n */\x0d\nModule._findPath = function(request\x2C paths\x2C isMain) {\x0d\n const absoluteRequest = path.isAbsolute(request);\x0d\n if (absoluteRequest) {\x0d\n paths = [''];\x0d\n } else if (!paths || paths.length === 0) {\x0d\n return false;\x0d\n }\x0d\n\x0d\n const cacheKey = request + '\\x00' + ArrayPrototypeJoin(paths\x2C '\\x00');\x0d\n const entry = Module._pathCache[cacheKey];\x0d\n if (entry) {\x0d\n return entry;\x0d\n }\x0d\n\x0d\n let exts;\x0d\n const trailingSlash = request.length > 0 &&\x0d\n (StringPrototypeCharCodeAt(request\x2C request.length - 1) === CHAR_FORWARD_SLASH || (\x0d\n StringPrototypeCharCodeAt(request\x2C request.length - 1) === CHAR_DOT &&\x0d\n (\x0d\n request.length === 1 ||\x0d\n StringPrototypeCharCodeAt(request\x2C request.length - 2) === CHAR_FORWARD_SLASH ||\x0d\n (StringPrototypeCharCodeAt(request\x2C request.length - 2) === CHAR_DOT && (\x0d\n request.length === 2 ||\x0d\n StringPrototypeCharCodeAt(request\x2C request.length - 3) === CHAR_FORWARD_SLASH\x0d\n ))\x0d\n )\x0d\n ));\x0d\n\x0d\n const isRelative = StringPrototypeCharCodeAt(request\x2C 0) === CHAR_DOT &&\x0d\n (\x0d\n request.length === 1 ||\x0d\n StringPrototypeCharCodeAt(request\x2C 1) === CHAR_FORWARD_SLASH ||\x0d\n (isWindows && StringPrototypeCharCodeAt(request\x2C 1) === CHAR_BACKWARD_SLASH) ||\x0d\n (StringPrototypeCharCodeAt(request\x2C 1) === CHAR_DOT && ((\x0d\n request.length === 2 ||\x0d\n StringPrototypeCharCodeAt(request\x2C 2) === CHAR_FORWARD_SLASH) ||\x0d\n (isWindows && StringPrototypeCharCodeAt(request\x2C 2) === CHAR_BACKWARD_SLASH)))\x0d\n );\x0d\n let insidePath = true;\x0d\n if (isRelative) {\x0d\n const normalizedRequest = path.normalize(request);\x0d\n if (StringPrototypeStartsWith(normalizedRequest\x2C '..')) {\x0d\n insidePath = false;\x0d\n }\x0d\n }\x0d\n\x0d\n // For each path\x0d\n for (let i = 0; i < paths.length; i++) {\x0d\n // Don't search further if path doesn't exist\x0d\n // or doesn't have permission to it\x0d\n const curPath = paths[i];\x0d\n if (insidePath && curPath &&\x0d\n ((permission.isEnabled() && !permission.has('fs.read'\x2C curPath)) || _stat(curPath) < 1)\x0d\n ) {\x0d\n continue;\x0d\n }\x0d\n\x0d\n if (!absoluteRequest) {\x0d\n const exportsResolved = resolveExports(curPath\x2C request);\x0d\n if (exportsResolved) {\x0d\n return exportsResolved;\x0d\n }\x0d\n }\x0d\n\x0d\n const basePath = path.resolve(curPath\x2C request);\x0d\n let filename;\x0d\n\x0d\n const rc = _stat(basePath);\x0d\n if (!trailingSlash) {\x0d\n if (rc === 0) { // File.\x0d\n if (!isMain) {\x0d\n if (getOptionValue('--preserve-symlinks')) {\x0d\n filename = path.resolve(basePath);\x0d\n } else {\x0d\n filename = toRealPath(basePath);\x0d\n }\x0d\n } else if (getOptionValue('--preserve-symlinks-main')) {\x0d\n // For the main module\x2C we use the --preserve-symlinks-main flag instead\x0d\n // mainly for backward compatibility\x2C as the preserveSymlinks flag\x0d\n // historically has not applied to the main module. Most likely this\x0d\n // was intended to keep .bin/ binaries working\x2C as following those\x0d\n // symlinks is usually required for the imports in the corresponding\x0d\n // files to resolve; that said\x2C in some use cases following symlinks\x0d\n // causes bigger problems which is why the --preserve-symlinks-main option\x0d\n // is needed.\x0d\n filename = path.resolve(basePath);\x0d\n } else {\x0d\n filename = toRealPath(basePath);\x0d\n }\x0d\n }\x0d\n\x0d\n if (!filename) {\x0d\n // Try it with each of the extensions\x0d\n if (exts === undefined) {\x0d\n exts = getDefaultExtensions();\x0d\n }\x0d\n filename = tryExtensions(basePath\x2C exts\x2C isMain);\x0d\n }\x0d\n }\x0d\n\x0d\n if (!filename && rc === 1) { // Directory.\x0d\n // try it with each of the extensions at "index"\x0d\n if (exts === undefined) {\x0d\n exts = getDefaultExtensions();\x0d\n }\x0d\n filename = tryPackage(basePath\x2C exts\x2C isMain\x2C request);\x0d\n }\x0d\n\x0d\n if (filename) {\x0d\n Module._pathCache[cacheKey] = filename;\x0d\n return filename;\x0d\n }\x0d\n\x0d\n const extensions = [''];\x0d\n if (exts !== undefined) {\x0d\n ArrayPrototypePushApply(extensions\x2C exts);\x0d\n }\x0d\n reportModuleNotFoundToWatchMode(basePath\x2C extensions);\x0d\n }\x0d\n\x0d\n return false;\x0d\n};\x0d\n\x0d\n/** `node_modules` character codes reversed */\x0d\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 ];\x0d\nconst nmLen = nmChars.length;\x0d\nif (isWindows) {\x0d\n /**\x0d\n * Get the paths to the `node_modules` folder for a given path.\x0d\n * @param {string} from `__dirname` of the module\x0d\n */\x0d\n Module._nodeModulePaths = function(from) {\x0d\n // Guarantee that 'from' is absolute.\x0d\n from = path.resolve(from);\x0d\n\x0d\n // note: this approach *only* works when the path is guaranteed\x0d\n // to be absolute. Doing a fully-edge-case-correct path.split\x0d\n // that works on both Windows and Posix is non-trivial.\x0d\n\x0d\n // return root node_modules when path is 'D:\\\\'.\x0d\n // path.resolve will make sure from.length >=3 in Windows.\x0d\n if (StringPrototypeCharCodeAt(from\x2C from.length - 1) ===\x0d\n CHAR_BACKWARD_SLASH &&\x0d\n StringPrototypeCharCodeAt(from\x2C from.length - 2) === CHAR_COLON) {\x0d\n return [from + 'node_modules'];\x0d\n }\x0d\n\x0d\n /** @type {string[]} */\x0d\n const paths = [];\x0d\n for (let i = from.length - 1\x2C p = 0\x2C last = from.length; i >= 0; --i) {\x0d\n const code = StringPrototypeCharCodeAt(from\x2C i);\x0d\n // The path segment separator check ('\\' and '/') was used to get\x0d\n // node_modules path for every path segment.\x0d\n // Use colon as an extra condition since we can get node_modules\x0d\n // path for drive root like 'C:\\node_modules' and don't need to\x0d\n // parse drive name.\x0d\n if (code === CHAR_BACKWARD_SLASH ||\x0d\n code === CHAR_FORWARD_SLASH ||\x0d\n code === CHAR_COLON) {\x0d\n if (p !== nmLen) {\x0d\n ArrayPrototypePush(\x0d\n paths\x2C\x0d\n StringPrototypeSlice(from\x2C 0\x2C last) + '\\\\node_modules'\x2C\x0d\n );\x0d\n }\x0d\n last = i;\x0d\n p = 0;\x0d\n } else if (p !== -1) {\x0d\n if (nmChars[p] === code) {\x0d\n ++p;\x0d\n } else {\x0d\n p = -1;\x0d\n }\x0d\n }\x0d\n }\x0d\n\x0d\n return paths;\x0d\n };\x0d\n} else { // posix\x0d\n /**\x0d\n * Get the paths to the `node_modules` folder for a given path.\x0d\n * @param {string} from `__dirname` of the module\x0d\n */\x0d\n Module._nodeModulePaths = function(from) {\x0d\n // Guarantee that 'from' is absolute.\x0d\n from = path.resolve(from);\x0d\n // Return early not only to avoid unnecessary work\x2C but to *avoid* returning\x0d\n // an array of two items for a root: [ '//node_modules'\x2C '/node_modules' ]\x0d\n if (from === '/') {\x0d\n return ['/node_modules'];\x0d\n }\x0d\n\x0d\n // note: this approach *only* works when the path is guaranteed\x0d\n // to be absolute. Doing a fully-edge-case-correct path.split\x0d\n // that works on both Windows and Posix is non-trivial.\x0d\n /** @type {string[]} */\x0d\n const paths = [];\x0d\n for (let i = from.length - 1\x2C p = 0\x2C last = from.length; i >= 0; --i) {\x0d\n const code = StringPrototypeCharCodeAt(from\x2C i);\x0d\n if (code === CHAR_FORWARD_SLASH) {\x0d\n if (p !== nmLen) {\x0d\n ArrayPrototypePush(\x0d\n paths\x2C\x0d\n StringPrototypeSlice(from\x2C 0\x2C last) + '/node_modules'\x2C\x0d\n );\x0d\n }\x0d\n last = i;\x0d\n p = 0;\x0d\n } else if (p !== -1) {\x0d\n if (nmChars[p] === code) {\x0d\n ++p;\x0d\n } else {\x0d\n p = -1;\x0d\n }\x0d\n }\x0d\n }\x0d\n\x0d\n // Append /node_modules to handle root paths.\x0d\n ArrayPrototypePush(paths\x2C '/node_modules');\x0d\n\x0d\n return paths;\x0d\n };\x0d\n}\x0d\n\x0d\n/**\x0d\n * Get the paths for module resolution.\x0d\n * @param {string} request\x0d\n * @param {Module} parent\x0d\n */\x0d\nModule._resolveLookupPaths = function(request\x2C parent) {\x0d\n if (BuiltinModule.normalizeRequirableId(request)) {\x0d\n debug('looking for %j in []'\x2C request);\x0d\n return null;\x0d\n }\x0d\n\x0d\n // Check for node modules paths.\x0d\n if (StringPrototypeCharAt(request\x2C 0) !== '.' ||\x0d\n (request.length > 1 &&\x0d\n StringPrototypeCharAt(request\x2C 1) !== '.' &&\x0d\n StringPrototypeCharAt(request\x2C 1) !== '/' &&\x0d\n (!isWindows || StringPrototypeCharAt(request\x2C 1) !== '\\\\'))) {\x0d\n\x0d\n /** @type {string[]} */\x0d\n let paths;\x0d\n if (parent?.paths?.length) {\x0d\n paths = ArrayPrototypeSlice(modulePaths);\x0d\n ArrayPrototypeUnshiftApply(paths\x2C parent.paths);\x0d\n } else {\x0d\n paths = modulePaths;\x0d\n }\x0d\n\x0d\n debug('looking for %j in %j'\x2C request\x2C paths);\x0d\n return paths.length > 0 ? paths : null;\x0d\n }\x0d\n\x0d\n // In REPL\x2C parent.filename is null.\x0d\n if (!parent || !parent.id || !parent.filename) {\x0d\n // Make require('./path/to/foo') work - normally the path is taken\x0d\n // from realpath(__filename) but in REPL there is no filename\x0d\n const mainPaths = ['.'];\x0d\n\x0d\n debug('looking for %j in %j'\x2C request\x2C mainPaths);\x0d\n return mainPaths;\x0d\n }\x0d\n\x0d\n debug('RELATIVE: requested: %s from parent.id %s'\x2C request\x2C parent.id);\x0d\n\x0d\n const parentDir = [path.dirname(parent.filename)];\x0d\n debug('looking for %j'\x2C parentDir);\x0d\n return parentDir;\x0d\n};\x0d\n\x0d\n/**\x0d\n * Emits a warning when a non-existent property of module exports is accessed inside a circular dependency.\x0d\n * @param {string} prop The name of the non-existent property.\x0d\n */\x0d\nfunction emitCircularRequireWarning(prop) {\x0d\n process.emitWarning(\x0d\n `Accessing non-existent property '${String(prop)}' of module exports ` +\x0d\n 'inside circular dependency'\x2C\x0d\n );\x0d\n}\x0d\n\x0d\n// A Proxy that can be used as the prototype of a module.exports object and\x0d\n// warns when non-existent properties are accessed.\x0d\nconst CircularRequirePrototypeWarningProxy = new Proxy({}\x2C {\x0d\n __proto__: null\x2C\x0d\n\x0d\n get(target\x2C prop) {\x0d\n // Allow __esModule access in any case because it is used in the output\x0d\n // of transpiled code to determine whether something comes from an\x0d\n // ES module\x2C and is not used as a regular key of `module.exports`.\x0d\n if (prop in target || prop === '__esModule') { return target[prop]; }\x0d\n emitCircularRequireWarning(prop);\x0d\n return undefined;\x0d\n }\x2C\x0d\n\x0d\n getOwnPropertyDescriptor(target\x2C prop) {\x0d\n if (ObjectPrototypeHasOwnProperty(target\x2C prop) || prop === '__esModule') {\x0d\n return ObjectGetOwnPropertyDescriptor(target\x2C prop);\x0d\n }\x0d\n emitCircularRequireWarning(prop);\x0d\n return undefined;\x0d\n }\x2C\x0d\n});\x0d\n\x0d\n/**\x0d\n * Returns the exports object for a module that has a circular `require`.\x0d\n * If the exports object is a plain object\x2C it is wrapped in a proxy that warns\x0d\n * about circular dependencies.\x0d\n * @param {Module} module The module instance\x0d\n */\x0d\nfunction getExportsForCircularRequire(module) {\x0d\n const requiredESM = module[kRequiredModuleSymbol];\x0d\n if (requiredESM && requiredESM.getStatus() !== kEvaluated) {\x0d\n let message = `Cannot require() ES Module ${module.id} in a cycle.`;\x0d\n const parent = module[kModuleParent];\x0d\n if (parent) {\x0d\n message += ` (from ${parent.filename})`;\x0d\n }\x0d\n throw new ERR_REQUIRE_CYCLE_MODULE(message);\x0d\n }\x0d\n\x0d\n if (module.exports &&\x0d\n !isProxy(module.exports) &&\x0d\n ObjectGetPrototypeOf(module.exports) === ObjectPrototype &&\x0d\n // Exclude transpiled ES6 modules / TypeScript code because those may\x0d\n // employ unusual patterns for accessing 'module.exports'. That should\x0d\n // be okay because ES6 modules have a different approach to circular\x0d\n // dependencies anyway.\x0d\n !module.exports.__esModule) {\x0d\n // This is later unset once the module is done loading.\x0d\n ObjectSetPrototypeOf(\x0d\n module.exports\x2C CircularRequirePrototypeWarningProxy);\x0d\n }\x0d\n\x0d\n return module.exports;\x0d\n}\x0d\n\x0d\n/**\x0d\n * Load a module from cache if it exists\x2C otherwise create a new module instance.\x0d\n * 1. If a module already exists in the cache: return its exports object.\x0d\n * 2. If the module is native: call\x0d\n * `BuiltinModule.prototype.compileForPublicLoader()` and return the exports.\x0d\n * 3. Otherwise\x2C create a new module for the file and save it to the cache.\x0d\n * Then have it load the file contents before returning its exports object.\x0d\n * @param {string} request Specifier of module to load via `require`\x0d\n * @param {string} parent Absolute path of the module importing the child\x0d\n * @param {boolean} isMain Whether the module is the main entry point\x0d\n */\x0d\nModule._load = function(request\x2C parent\x2C isMain) {\x0d\n let relResolveCacheIdentifier;\x0d\n if (parent) {\x0d\n debug('Module._load REQUEST %s parent: %s'\x2C request\x2C parent.id);\x0d\n // Fast path for (lazy loaded) modules in the same directory. The indirect\x0d\n // caching is required to allow cache invalidation without changing the old\x0d\n // cache key names.\x0d\n relResolveCacheIdentifier = `${parent.path}\\x00${request}`;\x0d\n const filename = relativeResolveCache[relResolveCacheIdentifier];\x0d\n reportModuleToWatchMode(filename);\x0d\n if (filename !== undefined) {\x0d\n const cachedModule = Module._cache[filename];\x0d\n if (cachedModule !== undefined) {\x0d\n updateChildren(parent\x2C cachedModule\x2C true);\x0d\n if (!cachedModule.loaded) {\x0d\n return getExportsForCircularRequire(cachedModule);\x0d\n }\x0d\n return cachedModule.exports;\x0d\n }\x0d\n delete relativeResolveCache[relResolveCacheIdentifier];\x0d\n }\x0d\n }\x0d\n\x0d\n if (StringPrototypeStartsWith(request\x2C 'node:')) {\x0d\n // Slice 'node:' prefix\x0d\n const id = StringPrototypeSlice(request\x2C 5);\x0d\n\x0d\n if (!BuiltinModule.canBeRequiredByUsers(id)) {\x0d\n throw new ERR_UNKNOWN_BUILTIN_MODULE(request);\x0d\n }\x0d\n\x0d\n const module = loadBuiltinModule(id\x2C request);\x0d\n return module.exports;\x0d\n }\x0d\n\x0d\n const filename = Module._resolveFilename(request\x2C parent\x2C isMain);\x0d\n const cachedModule = Module._cache[filename];\x0d\n if (cachedModule !== undefined) {\x0d\n updateChildren(parent\x2C cachedModule\x2C true);\x0d\n if (cachedModule.loaded) {\x0d\n return cachedModule.exports;\x0d\n }\x0d\n // If it's not cached by the ESM loader\x2C the loading request\x0d\n // comes from required CJS\x2C and we can consider it a circular\x0d\n // dependency when it's cached.\x0d\n if (!cachedModule[kIsCachedByESMLoader]) {\x0d\n return getExportsForCircularRequire(cachedModule);\x0d\n }\x0d\n // If it's cached by the ESM loader as a way to indirectly pass\x0d\n // the module in to avoid creating it twice\x2C the loading request\x0d\n // came from imported CJS. In that case use the kModuleCircularVisited\x0d\n // to determine if it's loading or not.\x0d\n if (cachedModule[kModuleCircularVisited]) {\x0d\n return getExportsForCircularRequire(cachedModule);\x0d\n }\x0d\n // This is an ESM loader created cache entry\x2C mark it as visited and fallthrough to loading the module.\x0d\n cachedModule[kModuleCircularVisited] = true;\x0d\n }\x0d\n\x0d\n if (BuiltinModule.canBeRequiredWithoutScheme(filename)) {\x0d\n const mod = loadBuiltinModule(filename\x2C request);\x0d\n return mod.exports;\x0d\n }\x0d\n\x0d\n // Don't call updateChildren()\x2C Module constructor already does.\x0d\n const module = cachedModule || new Module(filename\x2C parent);\x0d\n\x0d\n if (!cachedModule) {\x0d\n if (isMain) {\x0d\n setOwnProperty(process\x2C 'mainModule'\x2C module);\x0d\n setOwnProperty(module.require\x2C 'main'\x2C process.mainModule);\x0d\n module.id = '.';\x0d\n module[kIsMainSymbol] = true;\x0d\n } else {\x0d\n module[kIsMainSymbol] = false;\x0d\n }\x0d\n\x0d\n reportModuleToWatchMode(filename);\x0d\n Module._cache[filename] = module;\x0d\n module[kIsCachedByESMLoader] = false;\x0d\n }\x0d\n\x0d\n if (parent !== undefined) {\x0d\n relativeResolveCache[relResolveCacheIdentifier] = filename;\x0d\n }\x0d\n\x0d\n let threw = true;\x0d\n try {\x0d\n module.load(filename);\x0d\n threw = false;\x0d\n } finally {\x0d\n if (threw) {\x0d\n delete Module._cache[filename];\x0d\n if (parent !== undefined) {\x0d\n delete relativeResolveCache[relResolveCacheIdentifier];\x0d\n const children = parent?.children;\x0d\n if (ArrayIsArray(children)) {\x0d\n const index = ArrayPrototypeIndexOf(children\x2C module);\x0d\n if (index !== -1) {\x0d\n ArrayPrototypeSplice(children\x2C index\x2C 1);\x0d\n }\x0d\n }\x0d\n }\x0d\n } else if (module.exports &&\x0d\n !isProxy(module.exports) &&\x0d\n ObjectGetPrototypeOf(module.exports) ===\x0d\n CircularRequirePrototypeWarningProxy) {\x0d\n ObjectSetPrototypeOf(module.exports\x2C ObjectPrototype);\x0d\n }\x0d\n }\x0d\n\x0d\n return module.exports;\x0d\n};\x0d\n\x0d\n/**\x0d\n * Given a `require` string and its context\x2C get its absolute file path.\x0d\n * @param {string} request The specifier to resolve\x0d\n * @param {Module} parent The module containing the `require` call\x0d\n * @param {boolean} isMain Whether the module is the main entry point\x0d\n * @param {ResolveFilenameOptions} options Options object\x0d\n * @typedef {object} ResolveFilenameOptions\x0d\n * @property {string[]} paths Paths to search for modules in\x0d\n */\x0d\nModule._resolveFilename = function(request\x2C parent\x2C isMain\x2C options) {\x0d\n if (BuiltinModule.normalizeRequirableId(request)) {\x0d\n return request;\x0d\n }\x0d\n\x0d\n let paths;\x0d\n\x0d\n if (typeof options === 'object' && options !== null) {\x0d\n if (ArrayIsArray(options.paths)) {\x0d\n const isRelative = StringPrototypeStartsWith(request\x2C './') ||\x0d\n StringPrototypeStartsWith(request\x2C '../') ||\x0d\n ((isWindows && StringPrototypeStartsWith(request\x2C '.\\\\')) ||\x0d\n StringPrototypeStartsWith(request\x2C '..\\\\'));\x0d\n\x0d\n if (isRelative) {\x0d\n paths = options.paths;\x0d\n } else {\x0d\n const fakeParent = new Module(''\x2C null);\x0d\n\x0d\n paths = [];\x0d\n\x0d\n for (let i = 0; i < options.paths.length; i++) {\x0d\n const path = options.paths[i];\x0d\n fakeParent.paths = Module._nodeModulePaths(path);\x0d\n const lookupPaths = Module._resolveLookupPaths(request\x2C fakeParent);\x0d\n\x0d\n for (let j = 0; j < lookupPaths.length; j++) {\x0d\n if (!ArrayPrototypeIncludes(paths\x2C lookupPaths[j])) {\x0d\n ArrayPrototypePush(paths\x2C lookupPaths[j]);\x0d\n }\x0d\n }\x0d\n }\x0d\n }\x0d\n } else if (options.paths === undefined) {\x0d\n paths = Module._resolveLookupPaths(request\x2C parent);\x0d\n } else {\x0d\n throw new ERR_INVALID_ARG_VALUE('options.paths'\x2C options.paths);\x0d\n }\x0d\n } else {\x0d\n paths = Module._resolveLookupPaths(request\x2C parent);\x0d\n }\x0d\n\x0d\n if (request[0] === '#' && (parent?.filename || parent?.id === '<repl>')) {\x0d\n const parentPath = parent?.filename ?? process.cwd() + path.sep;\x0d\n const pkg = packageJsonReader.readPackageScope(parentPath) || { __proto__: null };\x0d\n if (pkg.data?.imports != null) {\x0d\n try {\x0d\n const { packageImportsResolve } = require('internal/modules/esm/resolve');\x0d\n return finalizeEsmResolution(\x0d\n packageImportsResolve(request\x2C pathToFileURL(parentPath)\x2C\x0d\n getCjsConditions())\x2C parentPath\x2C\x0d\n pkg.path);\x0d\n } catch (e) {\x0d\n if (e.code === 'ERR_MODULE_NOT_FOUND') {\x0d\n throw createEsmNotFoundErr(request);\x0d\n }\x0d\n throw e;\x0d\n }\x0d\n }\x0d\n }\x0d\n\x0d\n // Try module self resolution first\x0d\n const parentPath = trySelfParentPath(parent);\x0d\n const selfResolved = trySelf(parentPath\x2C request);\x0d\n if (selfResolved) {\x0d\n const cacheKey = request + '\\x00' +\x0d\n (paths.length === 1 ? paths[0] : ArrayPrototypeJoin(paths\x2C '\\x00'));\x0d\n Module._pathCache[cacheKey] = selfResolved;\x0d\n return selfResolved;\x0d\n }\x0d\n\x0d\n // Look up the filename first\x2C since that's the cache key.\x0d\n const filename = Module._findPath(request\x2C paths\x2C isMain);\x0d\n if (filename) { return filename; }\x0d\n const requireStack = [];\x0d\n for (let cursor = parent;\x0d\n cursor;\x0d\n cursor = cursor[kModuleParent]) {\x0d\n ArrayPrototypePush(requireStack\x2C cursor.filename || cursor.id);\x0d\n }\x0d\n let message = `Cannot find module '${request}'`;\x0d\n if (requireStack.length > 0) {\x0d\n message = message + '\\nRequire stack:\\n- ' +\x0d\n ArrayPrototypeJoin(requireStack\x2C '\\n- ');\x0d\n }\x0d\n // eslint-disable-next-line no-restricted-syntax\x0d\n const err = new Error(message);\x0d\n err.code = 'MODULE_NOT_FOUND';\x0d\n err.requireStack = requireStack;\x0d\n throw err;\x0d\n};\x0d\n\x0d\n/**\x0d\n * Finishes resolving an ES module specifier into an absolute file path.\x0d\n * @param {string} resolved The resolved module specifier\x0d\n * @param {string} parentPath The path of the parent module\x0d\n * @param {string} pkgPath The path of the package.json file\x0d\n * @throws {ERR_INVALID_MODULE_SPECIFIER} If the resolved module specifier contains encoded `/` or `\\\\` characters\x0d\n * @throws {Error} If the module cannot be found\x0d\n */\x0d\nfunction finalizeEsmResolution(resolved\x2C parentPath\x2C pkgPath) {\x0d\n const { encodedSepRegEx } = require('internal/modules/esm/resolve');\x0d\n if (RegExpPrototypeExec(encodedSepRegEx\x2C resolved) !== null) {\x0d\n throw new ERR_INVALID_MODULE_SPECIFIER(\x0d\n resolved\x2C 'must not include encoded "/" or "\\\\" characters'\x2C parentPath);\x0d\n }\x0d\n const filename = fileURLToPath(resolved);\x0d\n const actual = tryFile(filename);\x0d\n if (actual) {\x0d\n return actual;\x0d\n }\x0d\n const err = createEsmNotFoundErr(filename\x2C\x0d\n path.resolve(pkgPath\x2C 'package.json'));\x0d\n throw err;\x0d\n}\x0d\n\x0d\n/**\x0d\n * Creates an error object for when a requested ES module cannot be found.\x0d\n * @param {string} request The name of the requested module\x0d\n * @param {string} [path] The path to the requested module\x0d\n */\x0d\nfunction createEsmNotFoundErr(request\x2C path) {\x0d\n // eslint-disable-next-line no-restricted-syntax\x0d\n const err = new Error(`Cannot find module '${request}'`);\x0d\n err.code = 'MODULE_NOT_FOUND';\x0d\n if (path) {\x0d\n err.path = path;\x0d\n }\x0d\n // TODO(BridgeAR): Add the requireStack as well.\x0d\n return err;\x0d\n}\x0d\n\x0d\n/**\x0d\n * Given a file name\x2C pass it to the proper extension handler.\x0d\n * @param {string} filename The `require` specifier\x0d\n */\x0d\nModule.prototype.load = function(filename) {\x0d\n debug('load %j for module %j'\x2C filename\x2C this.id);\x0d\n\x0d\n assert(!this.loaded);\x0d\n this.filename = filename;\x0d\n this.paths = Module._nodeModulePaths(path.dirname(filename));\x0d\n\x0d\n const extension = findLongestRegisteredExtension(filename);\x0d\n // allow .mjs to be overridden\x0d\n if (StringPrototypeEndsWith(filename\x2C '.mjs') && !Module._extensions['.mjs']) {\x0d\n throw new ERR_REQUIRE_ESM(filename\x2C true);\x0d\n }\x0d\n\x0d\n Module._extensions[extension](this\x2C filename);\x0d\n this.loaded = true;\x0d\n\x0d\n // Create module entry at load time to snapshot exports correctly\x0d\n const exports = this.exports;\x0d\n // Preemptively cache for ESM loader.\x0d\n this[kModuleExport] = exports;\x0d\n};\x0d\n\x0d\n/**\x0d\n * Loads a module at the given file path. Returns that module's `exports` property.\x0d\n * Note: when using the experimental policy mechanism this function is overridden.\x0d\n * @param {string} id\x0d\n * @throws {ERR_INVALID_ARG_TYPE} When `id` is not a string\x0d\n */\x0d\nModule.prototype.require = function(id) {\x0d\n validateString(id\x2C 'id');\x0d\n if (id === '') {\x0d\n throw new ERR_INVALID_ARG_VALUE('id'\x2C id\x2C\x0d\n 'must be a non-empty string');\x0d\n }\x0d\n requireDepth++;\x0d\n try {\x0d\n return Module._load(id\x2C this\x2C /* isMain */ false);\x0d\n } finally {\x0d\n requireDepth--;\x0d\n }\x0d\n};\x0d\n\x0d\n/**\x0d\n * Resolved path to `process.argv[1]` will be lazily placed here\x0d\n * (needed for setting breakpoint when called with `--inspect-brk`).\x0d\n * @type {string | undefined}\x0d\n */\x0d\nlet resolvedArgv;\x0d\nlet hasPausedEntry = false;\x0d\n/** @type {import('vm').Script} */\x0d\n\x0d\n/**\x0d\n * Resolve and evaluate it synchronously as ESM if it's ESM.\x0d\n * @param {Module} mod CJS module instance\x0d\n * @param {string} filename Absolute path of the file.\x0d\n */\x0d\nfunction loadESMFromCJS(mod\x2C filename) {\x0d\n const source = getMaybeCachedSource(mod\x2C filename);\x0d\n const cascadedLoader = require('internal/modules/esm/loader').getOrInitializeCascadedLoader();\x0d\n const isMain = mod[kIsMainSymbol];\x0d\n // TODO(joyeecheung): we may want to invent optional special handling for default exports here.\x0d\n // For now\x2C it's good enough to be identical to what `import()` returns.\x0d\n mod.exports = cascadedLoader.importSyncForRequire(mod\x2C filename\x2C source\x2C isMain\x2C mod[kModuleParent]);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Wraps the given content in a script and runs it in a new context.\x0d\n * @param {string} filename The name of the file being loaded\x0d\n * @param {string} content The content of the file being loaded\x0d\n * @param {Module} cjsModuleInstance The CommonJS loader instance\x0d\n * @param {object} codeCache The SEA code cache\x0d\n */\x0d\nfunction wrapSafe(filename\x2C content\x2C cjsModuleInstance\x2C codeCache) {\x0d\n const hostDefinedOptionId = vm_dynamic_import_default_internal;\x0d\n const importModuleDynamically = vm_dynamic_import_default_internal;\x0d\n if (patched) {\x0d\n const wrapped = Module.wrap(content);\x0d\n const script = makeContextifyScript(\x0d\n wrapped\x2C // code\x0d\n filename\x2C // filename\x0d\n 0\x2C // lineOffset\x0d\n 0\x2C // columnOffset\x0d\n undefined\x2C // cachedData\x0d\n false\x2C // produceCachedData\x0d\n undefined\x2C // parsingContext\x0d\n hostDefinedOptionId\x2C // hostDefinedOptionId\x0d\n importModuleDynamically\x2C // importModuleDynamically\x0d\n );\x0d\n\x0d\n // Cache the source map for the module if present.\x0d\n const { sourceMapURL } = script;\x0d\n if (sourceMapURL) {\x0d\n maybeCacheSourceMap(filename\x2C content\x2C this\x2C false\x2C undefined\x2C sourceMapURL);\x0d\n }\x0d\n\x0d\n return {\x0d\n __proto__: null\x2C\x0d\n function: runScriptInThisContext(script\x2C true\x2C false)\x2C\x0d\n sourceMapURL\x2C\x0d\n };\x0d\n }\x0d\n\x0d\n try {\x0d\n const result = compileFunctionForCJSLoader(content\x2C filename);\x0d\n\x0d\n // cachedDataRejected is only set for cache coming from SEA.\x0d\n if (codeCache &&\x0d\n result.cachedDataRejected !== false &&\x0d\n internalBinding('sea').isSea()) {\x0d\n process.emitWarning('Code cache data rejected.');\x0d\n }\x0d\n\x0d\n // Cache the source map for the module if present.\x0d\n if (result.sourceMapURL) {\x0d\n maybeCacheSourceMap(filename\x2C content\x2C this\x2C false\x2C undefined\x2C result.sourceMapURL);\x0d\n }\x0d\n\x0d\n return result;\x0d\n } catch (err) {\x0d\n if (process.mainModule === cjsModuleInstance) {\x0d\n const { enrichCJSError } = require('internal/modules/esm/translators');\x0d\n enrichCJSError(err\x2C content\x2C filename);\x0d\n }\x0d\n throw err;\x0d\n }\x0d\n}\x0d\n\x0d\n/**\x0d\n * Run the file contents in the correct scope or sandbox. Expose the correct helper variables (`require`\x2C `module`\x2C\x0d\n * `exports`) to the file. Returns exception\x2C if any.\x0d\n * @param {string} content The source code of the module\x0d\n * @param {string} filename The file path of the module\x0d\n * @param {boolean} loadAsESM Whether it's known to be ESM via .mjs or "type" in package.json.\x0d\n */\x0d\nModule.prototype._compile = function(content\x2C filename\x2C loadAsESM = false) {\x0d\n let moduleURL;\x0d\n let redirects;\x0d\n const manifest = policy()?.manifest;\x0d\n if (manifest) {\x0d\n moduleURL = pathToFileURL(filename);\x0d\n redirects = manifest.getDependencyMapper(moduleURL);\x0d\n manifest.assertIntegrity(moduleURL\x2C content);\x0d\n }\x0d\n\x0d\n // TODO(joyeecheung): when the module is the entry point\x2C consider allowing TLA.\x0d\n // Only modules being require()'d really need to avoid TLA.\x0d\n if (loadAsESM) {\x0d\n // Pass the source into the .mjs extension handler indirectly through the cache.\x0d\n this[kModuleSource] = content;\x0d\n loadESMFromCJS(this\x2C filename);\x0d\n return;\x0d\n }\x0d\n\x0d\n const { function: compiledWrapper } = wrapSafe(filename\x2C content\x2C this);\x0d\n\x0d\n // TODO(joyeecheung): the detection below is unnecessarily complex. Using the\x0d\n // kIsMainSymbol\x2C or a kBreakOnStartSymbol that gets passed from\x0d\n // higher level instead of doing hacky detection here.\x0d\n let inspectorWrapper = null;\x0d\n if (getOptionValue('--inspect-brk') && process._eval == null) {\x0d\n if (!resolvedArgv) {\x0d\n // We enter the repl if we're not given a filename argument.\x0d\n if (process.argv[1]) {\x0d\n try {\x0d\n resolvedArgv = Module._resolveFilename(process.argv[1]\x2C null\x2C false);\x0d\n } catch {\x0d\n // We only expect this codepath to be reached in the case of a\x0d\n // preloaded module (it will fail earlier with the main entry)\x0d\n assert(ArrayIsArray(getOptionValue('--require')));\x0d\n }\x0d\n } else {\x0d\n resolvedArgv = 'repl';\x0d\n }\x0d\n }\x0d\n\x0d\n // Set breakpoint on module start\x0d\n if (resolvedArgv && !hasPausedEntry && filename === resolvedArgv) {\x0d\n hasPausedEntry = true;\x0d\n inspectorWrapper = internalBinding('inspector').callAndPauseOnStart;\x0d\n }\x0d\n }\x0d\n const dirname = path.dirname(filename);\x0d\n const require = makeRequireFunction(this\x2C redirects);\x0d\n let result;\x0d\n const exports = this.exports;\x0d\n const thisValue = exports;\x0d\n const module = this;\x0d\n if (requireDepth === 0) { statCache = new SafeMap(); }\x0d\n setHasStartedUserCJSExecution();\x0d\n this[kIsExecuting] = true;\x0d\n if (inspectorWrapper) {\x0d\n result = inspectorWrapper(compiledWrapper\x2C thisValue\x2C exports\x2C\x0d\n require\x2C module\x2C filename\x2C dirname);\x0d\n } else {\x0d\n result = ReflectApply(compiledWrapper\x2C thisValue\x2C\x0d\n [exports\x2C require\x2C module\x2C filename\x2C dirname]);\x0d\n }\x0d\n this[kIsExecuting] = false;\x0d\n if (requireDepth === 0) { statCache = null; }\x0d\n return result;\x0d\n};\x0d\n\x0d\n/**\x0d\n * Get the source code of a module\x2C using cached ones if it's cached.\x0d\n * @param {Module} mod Module instance whose source is potentially already cached.\x0d\n * @param {string} filename Absolute path to the file of the module.\x0d\n * @returns {string}\x0d\n */\x0d\nfunction getMaybeCachedSource(mod\x2C filename) {\x0d\n // If already analyzed the source\x2C then it will be cached.\x0d\n let content;\x0d\n if (mod[kModuleSource] !== undefined) {\x0d\n content = mod[kModuleSource];\x0d\n mod[kModuleSource] = undefined;\x0d\n } else {\x0d\n // TODO(joyeecheung): we can read a buffer instead to speed up\x0d\n // compilation.\x0d\n content = fs.readFileSync(filename\x2C 'utf8');\x0d\n }\x0d\n return content;\x0d\n}\x0d\n\x0d\n/**\x0d\n * Built-in handler for `.js` files.\x0d\n * @param {Module} module The module to compile\x0d\n * @param {string} filename The file path of the module\x0d\n */\x0d\nModule._extensions['.js'] = function(module\x2C filename) {\x0d\n // If already analyzed the source\x2C then it will be cached.\x0d\n const content = getMaybeCachedSource(module\x2C filename);\x0d\n\x0d\n if (StringPrototypeEndsWith(filename\x2C '.js')) {\x0d\n const pkg = packageJsonReader.readPackageScope(filename) || { __proto__: null };\x0d\n // Function require shouldn't be used in ES modules.\x0d\n if (pkg.data?.type === 'module') {\x0d\n if (getOptionValue('--experimental-require-module')) {\x0d\n module._compile(content\x2C filename\x2C true);\x0d\n return;\x0d\n }\x0d\n\x0d\n // This is an error path because `require` of a `.js` file in a `"type": "module"` scope is not allowed.\x0d\n const parent = module[kModuleParent];\x0d\n const parentPath = parent?.filename;\x0d\n const packageJsonPath = path.resolve(pkg.path\x2C 'package.json');\x0d\n const usesEsm = containsModuleSyntax(content\x2C filename);\x0d\n const err = new ERR_REQUIRE_ESM(filename\x2C usesEsm\x2C parentPath\x2C\x0d\n packageJsonPath);\x0d\n // Attempt to reconstruct the parent require frame.\x0d\n if (Module._cache[parentPath]) {\x0d\n let parentSource;\x0d\n try {\x0d\n parentSource = fs.readFileSync(parentPath\x2C 'utf8');\x0d\n } catch {\x0d\n // Continue regardless of error.\x0d\n }\x0d\n if (parentSource) {\x0d\n const errLine = StringPrototypeSplit(\x0d\n StringPrototypeSlice(err.stack\x2C StringPrototypeIndexOf(\x0d\n err.stack\x2C ' at '))\x2C '\\n'\x2C 1)[0];\x0d\n const { 1: line\x2C 2: col } =\x0d\n RegExpPrototypeExec(/(\\d+):(\\d+)\\)/\x2C errLine) || [];\x0d\n if (line && col) {\x0d\n const srcLine = StringPrototypeSplit(parentSource\x2C '\\n')[line - 1];\x0d\n const frame = `${parentPath}:${line}\\n${srcLine}\\n${\x0d\n StringPrototypeRepeat(' '\x2C col - 1)}^\\n`;\x0d\n setArrowMessage(err\x2C frame);\x0d\n }\x0d\n }\x0d\n }\x0d\n throw err;\x0d\n }\x0d\n }\x0d\n\x0d\n module._compile(content\x2C filename\x2C false);\x0d\n};\x0d\n\x0d\n/**\x0d\n * Native handler for `.json` files.\x0d\n * @param {Module} module The module to compile\x0d\n * @param {string} filename The file path of the module\x0d\n */\x0d\nModule._extensions['.json'] = function(module\x2C filename) {\x0d\n const content = fs.readFileSync(filename\x2C 'utf8');\x0d\n\x0d\n const manifest = policy()?.manifest;\x0d\n if (manifest) {\x0d\n const moduleURL = pathToFileURL(filename);\x0d\n manifest.assertIntegrity(moduleURL\x2C content);\x0d\n }\x0d\n\x0d\n try {\x0d\n setOwnProperty(module\x2C 'exports'\x2C JSONParse(stripBOM(content)));\x0d\n } catch (err) {\x0d\n err.message = filename + ': ' + err.message;\x0d\n throw err;\x0d\n }\x0d\n};\x0d\n\x0d\n/**\x0d\n * Native handler for `.node` files.\x0d\n * @param {Module} module The module to compile\x0d\n * @param {string} filename The file path of the module\x0d\n */\x0d\nModule._extensions['.node'] = function(module\x2C filename) {\x0d\n const manifest = policy()?.manifest;\x0d\n if (manifest) {\x0d\n const content = fs.readFileSync(filename);\x0d\n const moduleURL = pathToFileURL(filename);\x0d\n manifest.assertIntegrity(moduleURL\x2C content);\x0d\n }\x0d\n // Be aware this doesn't use `content`\x0d\n return process.dlopen(module\x2C path.toNamespacedPath(filename));\x0d\n};\x0d\n\x0d\n/**\x0d\n * Creates a `require` function that can be used to load modules from the specified path.\x0d\n * @param {string} filename The path to the module\x0d\n */\x0d\nfunction createRequireFromPath(filename) {\x0d\n // Allow a directory to be passed as the filename\x0d\n const trailingSlash =\x0d\n StringPrototypeEndsWith(filename\x2C '/') ||\x0d\n (isWindows && StringPrototypeEndsWith(filename\x2C '\\\\'));\x0d\n\x0d\n const proxyPath = trailingSlash ?\x0d\n path.join(filename\x2C 'noop.js') :\x0d\n filename;\x0d\n\x0d\n const m = new Module(proxyPath);\x0d\n m.filename = proxyPath;\x0d\n\x0d\n m.paths = Module._nodeModulePaths(m.path);\x0d\n return makeRequireFunction(m\x2C null);\x0d\n}\x0d\n\x0d\nconst createRequireError = 'must be a file URL object\x2C file URL string\x2C or ' +\x0d\n 'absolute path string';\x0d\n\x0d\n/**\x0d\n * Creates a new `require` function that can be used to load modules.\x0d\n * @param {string | URL} filename The path or URL to the module context for this `require`\x0d\n * @throws {ERR_INVALID_ARG_VALUE} If `filename` is not a string or URL\x2C or if it is a relative path that cannot be\x0d\n * resolved to an absolute path.\x0d\n */\x0d\nfunction createRequire(filename) {\x0d\n let filepath;\x0d\n\x0d\n if (isURL(filename) ||\x0d\n (typeof filename === 'string' && !path.isAbsolute(filename))) {\x0d\n try {\x0d\n filepath = fileURLToPath(filename);\x0d\n } catch {\x0d\n throw new ERR_INVALID_ARG_VALUE('filename'\x2C filename\x2C\x0d\n createRequireError);\x0d\n }\x0d\n } else if (typeof filename !== 'string') {\x0d\n throw new ERR_INVALID_ARG_VALUE('filename'\x2C filename\x2C createRequireError);\x0d\n } else {\x0d\n filepath = filename;\x0d\n }\x0d\n return createRequireFromPath(filepath);\x0d\n}\x0d\n\x0d\nModule.createRequire = createRequire;\x0d\n\x0d\n/**\x0d\n * Define the paths to use for resolving a module.\x0d\n */\x0d\nModule._initPaths = function() {\x0d\n const homeDir = isWindows ? process.env.USERPROFILE : safeGetenv('HOME');\x0d\n const nodePath = isWindows ? process.env.NODE_PATH : safeGetenv('NODE_PATH');\x0d\n\x0d\n // process.execPath is $PREFIX/bin/node except on Windows where it is\x0d\n // $PREFIX\\node.exe where $PREFIX is the root of the Node.js installation.\x0d\n const prefixDir = isWindows ?\x0d\n path.resolve(process.execPath\x2C '..') :\x0d\n path.resolve(process.execPath\x2C '..'\x2C '..');\x0d\n\x0d\n const paths = [path.resolve(prefixDir\x2C 'lib'\x2C 'node')];\x0d\n\x0d\n if (homeDir) {\x0d\n ArrayPrototypeUnshift(paths\x2C path.resolve(homeDir\x2C '.node_libraries'));\x0d\n ArrayPrototypeUnshift(paths\x2C path.resolve(homeDir\x2C '.node_modules'));\x0d\n }\x0d\n\x0d\n if (nodePath) {\x0d\n ArrayPrototypeUnshiftApply(paths\x2C ArrayPrototypeFilter(\x0d\n StringPrototypeSplit(nodePath\x2C path.delimiter)\x2C\x0d\n Boolean\x2C\x0d\n ));\x0d\n }\x0d\n\x0d\n modulePaths = paths;\x0d\n\x0d\n // Clone as a shallow copy\x2C for introspection.\x0d\n Module.globalPaths = ArrayPrototypeSlice(modulePaths);\x0d\n};\x0d\n\x0d\n/**\x0d\n * Handle modules loaded via `--require`.\x0d\n * @param {string[]} requests The values of `--require`\x0d\n */\x0d\nModule._preloadModules = function(requests) {\x0d\n if (!ArrayIsArray(requests)) { return; }\x0d\n\x0d\n isPreloading = true;\x0d\n\x0d\n // Preloaded modules have a dummy parent module which is deemed to exist\x0d\n // in the current working directory. This seeds the search path for\x0d\n // preloaded modules.\x0d\n const parent = new Module('internal/preload'\x2C null);\x0d\n try {\x0d\n parent.paths = Module._nodeModulePaths(process.cwd());\x0d\n } catch (e) {\x0d\n if (e.code !== 'ENOENT') {\x0d\n isPreloading = false;\x0d\n throw e;\x0d\n }\x0d\n }\x0d\n for (let n = 0; n < requests.length; n++) {\x0d\n internalRequire(parent\x2C requests[n]);\x0d\n }\x0d\n isPreloading = false;\x0d\n};\x0d\n\x0d\n/**\x0d\n * If the user has overridden an export from a builtin module\x2C this function can ensure that the override is used in\x0d\n * both CommonJS and ES module contexts.\x0d\n */\x0d\nModule.syncBuiltinESMExports = function syncBuiltinESMExports() {\x0d\n for (const mod of BuiltinModule.map.values()) {\x0d\n if (BuiltinModule.canBeRequiredWithoutScheme(mod.id)) {\x0d\n mod.syncExports();\x0d\n }\x0d\n }\x0d\n};\x0d\n\x0d\nObjectDefineProperty(Module.prototype\x2C 'constructor'\x2C {\x0d\n __proto__: null\x2C\x0d\n get: function() {\x0d\n return policy() ? undefined : Module;\x0d\n }\x2C\x0d\n configurable: false\x2C\x0d\n enumerable: false\x2C\x0d\n});\x0d\n\x0d\n// Backwards compatibility\x0d\nModule.Module = Module;\x0d\n
code-source-info,0x23c5195e30e,65,12012,12695,C0O12116C5O12130C10O12130C15O12177C20O12201C23O12201C27O12199C31O12236C36O12236C39O12268C44O12273C48O12293C54O12322C57O12329C62O12329C66O12420C75O12442C80O12478C84O12435C88O12507C96O12511C102O12567C110O12567C114O12643C117O12650C124O12670C129O12694,,
code-creation,JS,10,278445,0x23c51961a9e,19,getCanBeRequiredByUsersWithoutSchemeList node:internal/bootstrap/realm:322:50,0x14d495bb9e8,~
code-source-info,0x23c51961a9e,9,10636,10707,C0O10646C11O10663C14O10653C18O10702,,
code-creation,JS,10,278677,0x23c51961e76,158,initializeCjsConditions node:internal/modules/helpers:68:33,0x39e2db6b2b8,~
script-source,44,node:internal/modules/helpers,'use strict';\x0d\n\x0d\nconst {\x0d\n ArrayPrototypeForEach\x2C\x0d\n ArrayPrototypeJoin\x2C\x0d\n ObjectDefineProperty\x2C\x0d\n ObjectPrototypeHasOwnProperty\x2C\x0d\n SafeMap\x2C\x0d\n SafeSet\x2C\x0d\n StringPrototypeCharCodeAt\x2C\x0d\n StringPrototypeIncludes\x2C\x0d\n StringPrototypeSlice\x2C\x0d\n StringPrototypeStartsWith\x2C\x0d\n} = primordials;\x0d\nconst {\x0d\n ERR_INVALID_ARG_TYPE\x2C\x0d\n ERR_MANIFEST_DEPENDENCY_MISSING\x2C\x0d\n ERR_UNKNOWN_BUILTIN_MODULE\x2C\x0d\n} = require('internal/errors').codes;\x0d\nconst { BuiltinModule } = require('internal/bootstrap/realm');\x0d\n\x0d\nconst { validateString } = require('internal/validators');\x0d\nconst fs = require('fs'); // Import all of `fs` so that it can be monkey-patched.\x0d\nconst internalFS = require('internal/fs/utils');\x0d\nconst path = require('path');\x0d\nconst { pathToFileURL\x2C fileURLToPath } = require('internal/url');\x0d\nconst assert = require('internal/assert');\x0d\n\x0d\nconst { getOptionValue } = require('internal/options');\x0d\nconst { setOwnProperty } = require('internal/util');\x0d\nconst { inspect } = require('internal/util/inspect');\x0d\n\x0d\nconst {\x0d\n privateSymbols: {\x0d\n require_private_symbol\x2C\x0d\n }\x2C\x0d\n} = internalBinding('util');\x0d\nconst { canParse: URLCanParse } = internalBinding('url');\x0d\n\x0d\nlet debug = require('internal/util/debuglog').debuglog('module'\x2C (fn) => {\x0d\n debug = fn;\x0d\n});\x0d\n\x0d\n/** @typedef {import('internal/modules/cjs/loader.js').Module} Module */\x0d\n\x0d\n/**\x0d\n * Cache for storing resolved real paths of modules.\x0d\n * In order to minimize unnecessary lstat() calls\x2C this cache is a list of known-real paths.\x0d\n * Set to an empty Map to reset.\x0d\n * @type {Map<string\x2C string>}\x0d\n */\x0d\nconst realpathCache = new SafeMap();\x0d\n/**\x0d\n * Resolves the path of a given `require` specifier\x2C following symlinks.\x0d\n * @param {string} requestPath The `require` specifier\x0d\n */\x0d\nfunction toRealPath(requestPath) {\x0d\n return fs.realpathSync(requestPath\x2C {\x0d\n [internalFS.realpathCacheKey]: realpathCache\x2C\x0d\n });\x0d\n}\x0d\n\x0d\n/** @type {Set<string>} */\x0d\nlet cjsConditions;\x0d\n/**\x0d\n * Define the conditions that apply to the CommonJS loader.\x0d\n */\x0d\nfunction initializeCjsConditions() {\x0d\n const userConditions = getOptionValue('--conditions');\x0d\n const noAddons = getOptionValue('--no-addons');\x0d\n const addonConditions = noAddons ? [] : ['node-addons'];\x0d\n // TODO: Use this set when resolving pkg#exports conditions in loader.js.\x0d\n cjsConditions = new SafeSet([\x0d\n 'require'\x2C\x0d\n 'node'\x2C\x0d\n ...addonConditions\x2C\x0d\n ...userConditions\x2C\x0d\n ]);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Get the conditions that apply to the CommonJS loader.\x0d\n */\x0d\nfunction getCjsConditions() {\x0d\n if (cjsConditions === undefined) {\x0d\n initializeCjsConditions();\x0d\n }\x0d\n return cjsConditions;\x0d\n}\x0d\n\x0d\n/**\x0d\n * Provide one of Node.js' public modules to user code.\x0d\n * @param {string} id - The identifier/specifier of the builtin module to load\x0d\n * @param {string} request - The module requiring or importing the builtin module\x0d\n */\x0d\nfunction loadBuiltinModule(id\x2C request) {\x0d\n if (!BuiltinModule.canBeRequiredByUsers(id)) {\x0d\n return;\x0d\n }\x0d\n /** @type {import('internal/bootstrap/realm.js').BuiltinModule} */\x0d\n const mod = BuiltinModule.map.get(id);\x0d\n debug('load built-in module %s'\x2C request);\x0d\n // compileForPublicLoader() throws if canBeRequiredByUsers is false:\x0d\n mod.compileForPublicLoader();\x0d\n return mod;\x0d\n}\x0d\n\x0d\n/** @type {Module} */\x0d\nlet $Module = null;\x0d\n/**\x0d\n * Import the Module class on first use.\x0d\n */\x0d\nfunction lazyModule() {\x0d\n $Module = $Module || require('internal/modules/cjs/loader').Module;\x0d\n return $Module;\x0d\n}\x0d\n\x0d\n/**\x0d\n * Invoke with `makeRequireFunction(module)` where `module` is the `Module` object to use as the context for the\x0d\n * `require()` function.\x0d\n * Use redirects to set up a mapping from a policy and restrict dependencies.\x0d\n */\x0d\nconst urlToFileCache = new SafeMap();\x0d\n/**\x0d\n * Create the module-scoped `require` function to pass into CommonJS modules.\x0d\n * @param {Module} mod - The module to create the `require` function for.\x0d\n * @param {ReturnType<import('internal/policy/manifest.js').Manifest['getDependencyMapper']>} redirects\x0d\n * @typedef {(specifier: string) => unknown} RequireFunction\x0d\n */\x0d\nfunction makeRequireFunction(mod\x2C redirects) {\x0d\n // lazy due to cycle\x0d\n const Module = lazyModule();\x0d\n if (mod instanceof Module !== true) {\x0d\n throw new ERR_INVALID_ARG_TYPE('mod'\x2C 'Module'\x2C mod);\x0d\n }\x0d\n\x0d\n /** @type {RequireFunction} */\x0d\n let require;\x0d\n if (redirects) {\x0d\n const id = mod.filename || mod.id;\x0d\n const conditions = getCjsConditions();\x0d\n const { resolve\x2C reaction } = redirects;\x0d\n require = function require(specifier) {\x0d\n let missing = true;\x0d\n const destination = resolve(specifier\x2C conditions);\x0d\n if (destination === true) {\x0d\n missing = false;\x0d\n } else if (destination) {\x0d\n const { href\x2C protocol } = destination;\x0d\n if (protocol === 'node:') {\x0d\n const specifier = destination.pathname;\x0d\n\x0d\n if (BuiltinModule.canBeRequiredByUsers(specifier)) {\x0d\n const mod = loadBuiltinModule(specifier\x2C href);\x0d\n return mod.exports;\x0d\n }\x0d\n throw new ERR_UNKNOWN_BUILTIN_MODULE(specifier);\x0d\n } else if (protocol === 'file:') {\x0d\n let filepath = urlToFileCache.get(href);\x0d\n if (!filepath) {\x0d\n filepath = fileURLToPath(destination);\x0d\n urlToFileCache.set(href\x2C filepath);\x0d\n }\x0d\n return mod[require_private_symbol](mod\x2C filepath);\x0d\n }\x0d\n }\x0d\n if (missing) {\x0d\n reaction(new ERR_MANIFEST_DEPENDENCY_MISSING(\x0d\n id\x2C\x0d\n specifier\x2C\x0d\n ArrayPrototypeJoin([...conditions]\x2C '\x2C ')\x2C\x0d\n ));\x0d\n }\x0d\n return mod[require_private_symbol](mod\x2C specifier);\x0d\n };\x0d\n } else {\x0d\n require = function require(path) {\x0d\n // When no policy manifest\x2C the original prototype.require is sustained\x0d\n return mod.require(path);\x0d\n };\x0d\n }\x0d\n\x0d\n /**\x0d\n * The `resolve` method that gets attached to module-scope `require`.\x0d\n * @param {string} request\x0d\n * @param {Parameters<Module['_resolveFilename']>[3]} options\x0d\n */\x0d\n function resolve(request\x2C options) {\x0d\n validateString(request\x2C 'request');\x0d\n return Module._resolveFilename(request\x2C mod\x2C false\x2C options);\x0d\n }\x0d\n\x0d\n require.resolve = resolve;\x0d\n\x0d\n /**\x0d\n * The `paths` method that gets attached to module-scope `require`.\x0d\n * @param {string} request\x0d\n */\x0d\n function paths(request) {\x0d\n validateString(request\x2C 'request');\x0d\n return Module._resolveLookupPaths(request\x2C mod);\x0d\n }\x0d\n\x0d\n resolve.paths = paths;\x0d\n\x0d\n setOwnProperty(require\x2C 'main'\x2C process.mainModule);\x0d\n\x0d\n // Enable support to add extra extension types.\x0d\n require.extensions = Module._extensions;\x0d\n\x0d\n require.cache = Module._cache;\x0d\n\x0d\n return require;\x0d\n}\x0d\n\x0d\n/**\x0d\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\x0d\n * because the buffer-to-string conversion in `fs.readFileSync()`\x0d\n * translates it to FEFF\x2C the UTF-16 BOM.\x0d\n * @param {string} content\x0d\n */\x0d\nfunction stripBOM(content) {\x0d\n if (StringPrototypeCharCodeAt(content) === 0xFEFF) {\x0d\n content = StringPrototypeSlice(content\x2C 1);\x0d\n }\x0d\n return content;\x0d\n}\x0d\n\x0d\n/**\x0d\n * Add built-in modules to a global or REPL scope object.\x0d\n * @param {Record<string\x2C unknown>} object - The object such as `globalThis` to add the built-in modules to.\x0d\n * @param {string} dummyModuleName - The label representing the set of built-in modules to add.\x0d\n */\x0d\nfunction addBuiltinLibsToObject(object\x2C dummyModuleName) {\x0d\n // Make built-in modules available directly (loaded lazily).\x0d\n const Module = require('internal/modules/cjs/loader').Module;\x0d\n const { builtinModules } = Module;\x0d\n\x0d\n // To require built-in modules in user-land and ignore modules whose\x0d\n // `canBeRequiredByUsers` is false. So we create a dummy module object and not\x0d\n // use `require()` directly.\x0d\n const dummyModule = new Module(dummyModuleName);\x0d\n\x0d\n ArrayPrototypeForEach(builtinModules\x2C (name) => {\x0d\n // Neither add underscored modules\x2C nor ones that contain slashes (e.g.\x2C\x0d\n // 'fs/promises') or ones that are already defined.\x0d\n if (StringPrototypeStartsWith(name\x2C '_') ||\x0d\n StringPrototypeIncludes(name\x2C '/') ||\x0d\n ObjectPrototypeHasOwnProperty(object\x2C name)) {\x0d\n return;\x0d\n }\x0d\n // Goals of this mechanism are:\x0d\n // - Lazy loading of built-in modules\x0d\n // - Having all built-in modules available as non-enumerable properties\x0d\n // - Allowing the user to re-assign these variables as if there were no\x0d\n // pre-existing globals with the same name.\x0d\n\x0d\n const setReal = (val) => {\x0d\n // Deleting the property before re-assigning it disables the\x0d\n // getter/setter mechanism.\x0d\n delete object[name];\x0d\n object[name] = val;\x0d\n };\x0d\n\x0d\n ObjectDefineProperty(object\x2C name\x2C {\x0d\n __proto__: null\x2C\x0d\n get: () => {\x0d\n const lib = dummyModule.require(name);\x0d\n\x0d\n try {\x0d\n // Override the current getter/setter and set up a new\x0d\n // non-enumerable property.\x0d\n ObjectDefineProperty(object\x2C name\x2C {\x0d\n __proto__: null\x2C\x0d\n get: () => lib\x2C\x0d\n set: setReal\x2C\x0d\n configurable: true\x2C\x0d\n enumerable: false\x2C\x0d\n });\x0d\n } catch {\x0d\n // If the property is no longer configurable\x2C ignore the error.\x0d\n }\x0d\n\x0d\n return lib;\x0d\n }\x2C\x0d\n set: setReal\x2C\x0d\n configurable: true\x2C\x0d\n enumerable: false\x2C\x0d\n });\x0d\n });\x0d\n}\x0d\n\x0d\n/**\x0d\n * Normalize the referrer name as a URL.\x0d\n * If it's a string containing an absolute path or a URL it's normalized as\x0d\n * a URL string.\x0d\n * Otherwise it's returned as undefined.\x0d\n * @param {string | null | undefined} referrerName\x0d\n * @returns {string | undefined}\x0d\n */\x0d\nfunction normalizeReferrerURL(referrerName) {\x0d\n if (referrerName === null || referrerName === undefined) {\x0d\n return undefined;\x0d\n }\x0d\n\x0d\n if (typeof referrerName === 'string') {\x0d\n if (path.isAbsolute(referrerName)) {\x0d\n return pathToFileURL(referrerName).href;\x0d\n }\x0d\n\x0d\n if (StringPrototypeStartsWith(referrerName\x2C 'file://') ||\x0d\n URLCanParse(referrerName)) {\x0d\n return referrerName;\x0d\n }\x0d\n\x0d\n return undefined;\x0d\n }\x0d\n\x0d\n assert.fail('Unreachable code reached by ' + inspect(referrerName));\x0d\n}\x0d\n\x0d\n/**\x0d\n * @param {string|undefined} url URL to convert to filename\x0d\n */\x0d\nfunction urlToFilename(url) {\x0d\n if (url && StringPrototypeStartsWith(url\x2C 'file://')) {\x0d\n return fileURLToPath(url);\x0d\n }\x0d\n return url;\x0d\n}\x0d\n\x0d\n// Whether we have started executing any user-provided CJS code.\x0d\n// This is set right before we call the wrapped CJS code (not after\x2C\x0d\n// in case we are half-way in the execution when internals check this).\x0d\n// Used for internal assertions.\x0d\nlet _hasStartedUserCJSExecution = false;\x0d\n// Similar to _hasStartedUserCJSExecution but for ESM. This is set\x0d\n// right before ESM evaluation in the default ESM loader. We do not\x0d\n// update this during vm SourceTextModule execution because at that point\x0d\n// some user code must already have been run to execute code via vm\x0d\n// there is little value checking whether any user JS code is run anyway.\x0d\nlet _hasStartedUserESMExecution = false;\x0d\n\x0d\n/**\x0d\n * Load a public built-in module. ID may or may not be prefixed by `node:` and\x0d\n * will be normalized.\x0d\n * @param {string} id ID of the built-in to be loaded.\x0d\n * @returns {object|undefined} exports of the built-in. Undefined if the built-in\x0d\n * does not exist.\x0d\n */\x0d\nfunction getBuiltinModule(id) {\x0d\n validateString(id\x2C 'id');\x0d\n const normalizedId = BuiltinModule.normalizeRequirableId(id);\x0d\n return normalizedId ? require(normalizedId) : undefined;\x0d\n}\x0d\n\x0d\nmodule.exports = {\x0d\n addBuiltinLibsToObject\x2C\x0d\n getBuiltinModule\x2C\x0d\n getCjsConditions\x2C\x0d\n initializeCjsConditions\x2C\x0d\n loadBuiltinModule\x2C\x0d\n makeRequireFunction\x2C\x0d\n normalizeReferrerURL\x2C\x0d\n stripBOM\x2C\x0d\n toRealPath\x2C\x0d\n hasStartedUserCJSExecution() {\x0d\n return _hasStartedUserCJSExecution;\x0d\n }\x2C\x0d\n setHasStartedUserCJSExecution() {\x0d\n _hasStartedUserCJSExecution = true;\x0d\n }\x2C\x0d\n hasStartedUserESMExecution() {\x0d\n return _hasStartedUserESMExecution;\x0d\n }\x2C\x0d\n setHasStartedUserESMExecution() {\x0d\n _hasStartedUserESMExecution = true;\x0d\n }\x2C\x0d\n urlToFilename\x2C\x0d\n};\x0d\n
code-source-info,0x23c51961e76,44,2023,2394,C0O2054C8O2054C13O2106C21O2106C26O2164C37O2277C50O2344C95O2369C142O2293C150O2291C157O2393,,
code-creation,JS,10,280056,0x23c51962e56,315,Module._initPaths node:internal/modules/cjs/loader:1643:29,0x39e2db7f978,~
code-source-info,0x23c51962e56,65,55186,56171,C0O55210C9O55230C14O55234C22O55248C28O55248C33O55288C42O55308C47O55312C55O55324C61O55324C66O55523C74O55540C77O55545C85O55561C93O55545C103O55584C106O55589C114O55605C125O55589C131O55647C140O55648C143O55653C157O55653C169O55694C173O55714C180O55743C183O55748C191O55748C198O55714C203O55791C210O55820C213O55825C221O55825C228O55791C233O55871C237O55892C244O55926C249O55955C254O55986C257O55991C262O55955C270O56010C273O55926C279O55892C284O56038C286O56050C292O56114C297O56135C302O56155C305O56135C309O56133C314O56170,,
code-creation,JS,10,280736,0x23c5196329e,852,resolve node:path:186:10,0x39e2db64228,~
script-source,33,node:path,// Copyright Joyent\x2C Inc. and other Node contributors.\x0d\n//\x0d\n// Permission is hereby granted\x2C free of charge\x2C to any person obtaining a\x0d\n// copy of this software and associated documentation files (the\x0d\n// "Software")\x2C to deal in the Software without restriction\x2C including\x0d\n// without limitation the rights to use\x2C copy\x2C modify\x2C merge\x2C publish\x2C\x0d\n// distribute\x2C sublicense\x2C and/or sell copies of the Software\x2C and to permit\x0d\n// persons to whom the Software is furnished to do so\x2C subject to the\x0d\n// following conditions:\x0d\n//\x0d\n// The above copyright notice and this permission notice shall be included\x0d\n// in all copies or substantial portions of the Software.\x0d\n//\x0d\n// THE SOFTWARE IS PROVIDED "AS IS"\x2C WITHOUT WARRANTY OF ANY KIND\x2C EXPRESS\x0d\n// OR IMPLIED\x2C INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\x0d\n// MERCHANTABILITY\x2C FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\x0d\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM\x2C\x0d\n// DAMAGES OR OTHER LIABILITY\x2C WHETHER IN AN ACTION OF CONTRACT\x2C TORT OR\x0d\n// OTHERWISE\x2C ARISING FROM\x2C OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\x0d\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\x0d\n\x0d\n'use strict';\x0d\n\x0d\nconst {\x0d\n FunctionPrototypeBind\x2C\x0d\n StringPrototypeCharCodeAt\x2C\x0d\n StringPrototypeIndexOf\x2C\x0d\n StringPrototypeLastIndexOf\x2C\x0d\n StringPrototypeReplace\x2C\x0d\n StringPrototypeSlice\x2C\x0d\n StringPrototypeToLowerCase\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst {\x0d\n CHAR_UPPERCASE_A\x2C\x0d\n CHAR_LOWERCASE_A\x2C\x0d\n CHAR_UPPERCASE_Z\x2C\x0d\n CHAR_LOWERCASE_Z\x2C\x0d\n CHAR_DOT\x2C\x0d\n CHAR_FORWARD_SLASH\x2C\x0d\n CHAR_BACKWARD_SLASH\x2C\x0d\n CHAR_COLON\x2C\x0d\n CHAR_QUESTION_MARK\x2C\x0d\n} = require('internal/constants');\x0d\nconst {\x0d\n validateObject\x2C\x0d\n validateString\x2C\x0d\n} = require('internal/validators');\x0d\n\x0d\nconst {\x0d\n getLazy\x2C\x0d\n emitExperimentalWarning\x2C\x0d\n} = require('internal/util');\x0d\n\x0d\nconst lazyMinimatch = getLazy(() => require('internal/deps/minimatch/index'));\x0d\n\x0d\nconst platformIsWin32 = (process.platform === 'win32');\x0d\nconst platformIsOSX = (process.platform === 'darwin');\x0d\n\x0d\nfunction isPathSeparator(code) {\x0d\n return code === CHAR_FORWARD_SLASH || code === CHAR_BACKWARD_SLASH;\x0d\n}\x0d\n\x0d\nfunction isPosixPathSeparator(code) {\x0d\n return code === CHAR_FORWARD_SLASH;\x0d\n}\x0d\n\x0d\nfunction isWindowsDeviceRoot(code) {\x0d\n return (code >= CHAR_UPPERCASE_A && code <= CHAR_UPPERCASE_Z) ||\x0d\n (code >= CHAR_LOWERCASE_A && code <= CHAR_LOWERCASE_Z);\x0d\n}\x0d\n\x0d\n// Resolves . and .. elements in a path with directory names\x0d\nfunction normalizeString(path\x2C allowAboveRoot\x2C separator\x2C isPathSeparator) {\x0d\n let res = '';\x0d\n let lastSegmentLength = 0;\x0d\n let lastSlash = -1;\x0d\n let dots = 0;\x0d\n let code = 0;\x0d\n for (let i = 0; i <= path.length; ++i) {\x0d\n if (i < path.length)\x0d\n code = StringPrototypeCharCodeAt(path\x2C i);\x0d\n else if (isPathSeparator(code))\x0d\n break;\x0d\n else\x0d\n code = CHAR_FORWARD_SLASH;\x0d\n\x0d\n if (isPathSeparator(code)) {\x0d\n if (lastSlash === i - 1 || dots === 1) {\x0d\n // NOOP\x0d\n } else if (dots === 2) {\x0d\n if (res.length < 2 || lastSegmentLength !== 2 ||\x0d\n StringPrototypeCharCodeAt(res\x2C res.length - 1) !== CHAR_DOT ||\x0d\n StringPrototypeCharCodeAt(res\x2C res.length - 2) !== CHAR_DOT) {\x0d\n if (res.length > 2) {\x0d\n const lastSlashIndex = StringPrototypeLastIndexOf(res\x2C separator);\x0d\n if (lastSlashIndex === -1) {\x0d\n res = '';\x0d\n lastSegmentLength = 0;\x0d\n } else {\x0d\n res = StringPrototypeSlice(res\x2C 0\x2C lastSlashIndex);\x0d\n lastSegmentLength =\x0d\n res.length - 1 - StringPrototypeLastIndexOf(res\x2C separator);\x0d\n }\x0d\n lastSlash = i;\x0d\n dots = 0;\x0d\n continue;\x0d\n } else if (res.length !== 0) {\x0d\n res = '';\x0d\n lastSegmentLength = 0;\x0d\n lastSlash = i;\x0d\n dots = 0;\x0d\n continue;\x0d\n }\x0d\n }\x0d\n if (allowAboveRoot) {\x0d\n res += res.length > 0 ? `${separator}..` : '..';\x0d\n lastSegmentLength = 2;\x0d\n }\x0d\n } else {\x0d\n if (res.length > 0)\x0d\n res += `${separator}${StringPrototypeSlice(path\x2C lastSlash + 1\x2C i)}`;\x0d\n else\x0d\n res = StringPrototypeSlice(path\x2C lastSlash + 1\x2C i);\x0d\n lastSegmentLength = i - lastSlash - 1;\x0d\n }\x0d\n lastSlash = i;\x0d\n dots = 0;\x0d\n } else if (code === CHAR_DOT && dots !== -1) {\x0d\n ++dots;\x0d\n } else {\x0d\n dots = -1;\x0d\n }\x0d\n }\x0d\n return res;\x0d\n}\x0d\n\x0d\nfunction formatExt(ext) {\x0d\n return ext ? `${ext[0] === '.' ? '' : '.'}${ext}` : '';\x0d\n}\x0d\n\x0d\n/**\x0d\n * @param {string} sep\x0d\n * @param {{\x0d\n * dir?: string;\x0d\n * root?: string;\x0d\n * base?: string;\x0d\n * name?: string;\x0d\n * ext?: string;\x0d\n * }} pathObject\x0d\n * @returns {string}\x0d\n */\x0d\nfunction _format(sep\x2C pathObject) {\x0d\n validateObject(pathObject\x2C 'pathObject');\x0d\n const dir = pathObject.dir || pathObject.root;\x0d\n const base = pathObject.base ||\x0d\n `${pathObject.name || ''}${formatExt(pathObject.ext)}`;\x0d\n if (!dir) {\x0d\n return base;\x0d\n }\x0d\n return dir === pathObject.root ? `${dir}${base}` : `${dir}${sep}${base}`;\x0d\n}\x0d\n\x0d\nfunction glob(path\x2C pattern\x2C windows) {\x0d\n emitExperimentalWarning('glob');\x0d\n validateString(path\x2C 'path');\x0d\n validateString(pattern\x2C 'pattern');\x0d\n return lazyMinimatch().minimatch(path\x2C pattern\x2C {\x0d\n __proto__: null\x2C\x0d\n nocase: platformIsOSX || platformIsWin32\x2C\x0d\n windowsPathsNoEscape: true\x2C\x0d\n nonegate: true\x2C\x0d\n nocomment: true\x2C\x0d\n optimizationLevel: 2\x2C\x0d\n platform: windows ? 'win32' : 'posix'\x2C\x0d\n nocaseMagicOnly: true\x2C\x0d\n });\x0d\n}\x0d\n\x0d\nconst win32 = {\x0d\n /**\x0d\n * path.resolve([from ...]\x2C to)\x0d\n * @param {...string} args\x0d\n * @returns {string}\x0d\n */\x0d\n resolve(...args) {\x0d\n let resolvedDevice = '';\x0d\n let resolvedTail = '';\x0d\n let resolvedAbsolute = false;\x0d\n\x0d\n for (let i = args.length - 1; i >= -1; i--) {\x0d\n let path;\x0d\n if (i >= 0) {\x0d\n path = args[i];\x0d\n validateString(path\x2C `paths[${i}]`);\x0d\n\x0d\n // Skip empty entries\x0d\n if (path.length === 0) {\x0d\n continue;\x0d\n }\x0d\n } else if (resolvedDevice.length === 0) {\x0d\n path = process.cwd();\x0d\n } else {\x0d\n // Windows has the concept of drive-specific current working\x0d\n // directories. If we've resolved a drive letter but not yet an\x0d\n // absolute path\x2C get cwd for that drive\x2C or the process cwd if\x0d\n // the drive cwd is not available. We're sure the device is not\x0d\n // a UNC path at this points\x2C because UNC paths are always absolute.\x0d\n path = process.env[`=${resolvedDevice}`] || process.cwd();\x0d\n\x0d\n // Verify that a cwd was found and that it actually points\x0d\n // to our drive. If not\x2C default to the drive's root.\x0d\n if (path === undefined ||\x0d\n (StringPrototypeToLowerCase(StringPrototypeSlice(path\x2C 0\x2C 2)) !==\x0d\n StringPrototypeToLowerCase(resolvedDevice) &&\x0d\n StringPrototypeCharCodeAt(path\x2C 2) === CHAR_BACKWARD_SLASH)) {\x0d\n path = `${resolvedDevice}\\\\`;\x0d\n }\x0d\n }\x0d\n\x0d\n const len = path.length;\x0d\n let rootEnd = 0;\x0d\n let device = '';\x0d\n let isAbsolute = false;\x0d\n const code = StringPrototypeCharCodeAt(path\x2C 0);\x0d\n\x0d\n // Try to match a root\x0d\n if (len === 1) {\x0d\n if (isPathSeparator(code)) {\x0d\n // `path` contains just a path separator\x0d\n rootEnd = 1;\x0d\n isAbsolute = true;\x0d\n }\x0d\n } else if (isPathSeparator(code)) {\x0d\n // Possible UNC root\x0d\n\x0d\n // If we started with a separator\x2C we know we at least have an\x0d\n // absolute path of some kind (UNC or otherwise)\x0d\n isAbsolute = true;\x0d\n\x0d\n if (isPathSeparator(StringPrototypeCharCodeAt(path\x2C 1))) {\x0d\n // Matched double path separator at beginning\x0d\n let j = 2;\x0d\n let last = j;\x0d\n // Match 1 or more non-path separators\x0d\n while (j < len &&\x0d\n !isPathSeparator(StringPrototypeCharCodeAt(path\x2C j))) {\x0d\n j++;\x0d\n }\x0d\n if (j < len && j !== last) {\x0d\n const firstPart = StringPrototypeSlice(path\x2C last\x2C j);\x0d\n // Matched!\x0d\n last = j;\x0d\n // Match 1 or more path separators\x0d\n while (j < len &&\x0d\n isPathSeparator(StringPrototypeCharCodeAt(path\x2C j))) {\x0d\n j++;\x0d\n }\x0d\n if (j < len && j !== last) {\x0d\n // Matched!\x0d\n last = j;\x0d\n // Match 1 or more non-path separators\x0d\n while (j < len &&\x0d\n !isPathSeparator(StringPrototypeCharCodeAt(path\x2C j))) {\x0d\n j++;\x0d\n }\x0d\n if (j === len || j !== last) {\x0d\n // We matched a UNC root\x0d\n device =\x0d\n `\\\\\\\\${firstPart}\\\\${StringPrototypeSlice(path\x2C last\x2C j)}`;\x0d\n rootEnd = j;\x0d\n }\x0d\n }\x0d\n }\x0d\n } else {\x0d\n rootEnd = 1;\x0d\n }\x0d\n } else if (isWindowsDeviceRoot(code) &&\x0d\n StringPrototypeCharCodeAt(path\x2C 1) === CHAR_COLON) {\x0d\n // Possible device root\x0d\n device = StringPrototypeSlice(path\x2C 0\x2C 2);\x0d\n rootEnd = 2;\x0d\n if (len > 2 && isPathSeparator(StringPrototypeCharCodeAt(path\x2C 2))) {\x0d\n // Treat separator following drive name as an absolute path\x0d\n // indicator\x0d\n isAbsolute = true;\x0d\n rootEnd = 3;\x0d\n }\x0d\n }\x0d\n\x0d\n if (device.length > 0) {\x0d\n if (resolvedDevice.length > 0) {\x0d\n if (StringPrototypeToLowerCase(device) !==\x0d\n StringPrototypeToLowerCase(resolvedDevice))\x0d\n // This path points to another device so it is not applicable\x0d\n continue;\x0d\n } else {\x0d\n resolvedDevice = device;\x0d\n }\x0d\n }\x0d\n\x0d\n if (resolvedAbsolute) {\x0d\n if (resolvedDevice.length > 0)\x0d\n break;\x0d\n } else {\x0d\n resolvedTail =\x0d\n `${StringPrototypeSlice(path\x2C rootEnd)}\\\\${resolvedTail}`;\x0d\n resolvedAbsolute = isAbsolute;\x0d\n if (isAbsolute && resolvedDevice.length > 0) {\x0d\n break;\x0d\n }\x0d\n }\x0d\n }\x0d\n\x0d\n // At this point the path should be resolved to a full absolute path\x2C\x0d\n // but handle relative paths to be safe (might happen when process.cwd()\x0d\n // fails)\x0d\n\x0d\n // Normalize the tail path\x0d\n resolvedTail = normalizeString(resolvedTail\x2C !resolvedAbsolute\x2C '\\\\'\x2C\x0d\n isPathSeparator);\x0d\n\x0d\n return resolvedAbsolute ?\x0d\n `${resolvedDevice}\\\\${resolvedTail}` :\x0d\n `${resolvedDevice}${resolvedTail}` || '.';\x0d\n }\x2C\x0d\n\x0d\n /**\x0d\n * @param {string} path\x0d\n * @returns {string}\x0d\n */\x0d\n normalize(path) {\x0d\n validateString(path\x2C 'path');\x0d\n const len = path.length;\x0d\n if (len === 0)\x0d\n return '.';\x0d\n let rootEnd = 0;\x0d\n let device;\x0d\n let isAbsolute = false;\x0d\n const code = StringPrototypeCharCodeAt(path\x2C 0);\x0d\n\x0d\n // Try to match a root\x0d\n if (len === 1) {\x0d\n // `path` contains just a single char\x2C exit early to avoid\x0d\n // unnecessary work\x0d\n return isPosixPathSeparator(code) ? '\\\\' : path;\x0d\n }\x0d\n if (isPathSeparator(code)) {\x0d\n // Possible UNC root\x0d\n\x0d\n // If we started with a separator\x2C we know we at least have an absolute\x0d\n // path of some kind (UNC or otherwise)\x0d\n isAbsolute = true;\x0d\n\x0d\n if (isPathSeparator(StringPrototypeCharCodeAt(path\x2C 1))) {\x0d\n // Matched double path separator at beginning\x0d\n let j = 2;\x0d\n let last = j;\x0d\n // Match 1 or more non-path separators\x0d\n while (j < len &&\x0d\n !isPathSeparator(StringPrototypeCharCodeAt(path\x2C j))) {\x0d\n j++;\x0d\n }\x0d\n if (j < len && j !== last) {\x0d\n const firstPart = StringPrototypeSlice(path\x2C last\x2C j);\x0d\n // Matched!\x0d\n last = j;\x0d\n // Match 1 or more path separators\x0d\n while (j < len &&\x0d\n isPathSeparator(StringPrototypeCharCodeAt(path\x2C j))) {\x0d\n j++;\x0d\n }\x0d\n if (j < len && j !== last) {\x0d\n // Matched!\x0d\n last = j;\x0d\n // Match 1 or more non-path separators\x0d\n while (j < len &&\x0d\n !isPathSeparator(StringPrototypeCharCodeAt(path\x2C j))) {\x0d\n j++;\x0d\n }\x0d\n if (j === len) {\x0d\n // We matched a UNC root only\x0d\n // Return the normalized version of the UNC root since there\x0d\n // is nothing left to process\x0d\n return `\\\\\\\\${firstPart}\\\\${StringPrototypeSlice(path\x2C last)}\\\\`;\x0d\n }\x0d\n if (j !== last) {\x0d\n // We matched a UNC root with leftovers\x0d\n device =\x0d\n `\\\\\\\\${firstPart}\\\\${StringPrototypeSlice(path\x2C last\x2C j)}`;\x0d\n rootEnd = j;\x0d\n }\x0d\n }\x0d\n }\x0d\n } else {\x0d\n rootEnd = 1;\x0d\n }\x0d\n } else if (isWindowsDeviceRoot(code) &&\x0d\n StringPrototypeCharCodeAt(path\x2C 1) === CHAR_COLON) {\x0d\n // Possible device root\x0d\n device = StringPrototypeSlice(path\x2C 0\x2C 2);\x0d\n rootEnd = 2;\x0d\n if (len > 2 && isPathSeparator(StringPrototypeCharCodeAt(path\x2C 2))) {\x0d\n // Treat separator following drive name as an absolute path\x0d\n // indicator\x0d\n isAbsolute = true;\x0d\n rootEnd = 3;\x0d\n }\x0d\n }\x0d\n\x0d\n let tail = rootEnd < len ?\x0d\n normalizeString(StringPrototypeSlice(path\x2C rootEnd)\x2C\x0d\n !isAbsolute\x2C '\\\\'\x2C isPathSeparator) :\x0d\n '';\x0d\n if (tail.length === 0 && !isAbsolute)\x0d\n tail = '.';\x0d\n if (tail.length > 0 &&\x0d\n isPathSeparator(StringPrototypeCharCodeAt(path\x2C len - 1)))\x0d\n tail += '\\\\';\x0d\n if (device === undefined) {\x0d\n return isAbsolute ? `\\\\${tail}` : tail;\x0d\n }\x0d\n return isAbsolute ? `${device}\\\\${tail}` : `${device}${tail}`;\x0d\n }\x2C\x0d\n\x0d\n /**\x0d\n * @param {string} path\x0d\n * @returns {boolean}\x0d\n */\x0d\n isAbsolute(path) {\x0d\n validateString(path\x2C 'path');\x0d\n const len = path.length;\x0d\n if (len === 0)\x0d\n return false;\x0d\n\x0d\n const code = StringPrototypeCharCodeAt(path\x2C 0);\x0d\n return isPathSeparator(code) ||\x0d\n // Possible device root\x0d\n (len > 2 &&\x0d\n isWindowsDeviceRoot(code) &&\x0d\n StringPrototypeCharCodeAt(path\x2C 1) === CHAR_COLON &&\x0d\n isPathSeparator(StringPrototypeCharCodeAt(path\x2C 2)));\x0d\n }\x2C\x0d\n\x0d\n /**\x0d\n * @param {...string} args\x0d\n * @returns {string}\x0d\n */\x0d\n join(...args) {\x0d\n if (args.length === 0)\x0d\n return '.';\x0d\n\x0d\n let joined;\x0d\n let firstPart;\x0d\n for (let i = 0; i < args.length; ++i) {\x0d\n const arg = args[i];\x0d\n validateString(arg\x2C 'path');\x0d\n if (arg.length > 0) {\x0d\n if (joined === undefined)\x0d\n joined = firstPart = arg;\x0d\n else\x0d\n joined += `\\\\${arg}`;\x0d\n }\x0d\n }\x0d\n\x0d\n if (joined === undefined)\x0d\n return '.';\x0d\n\x0d\n // Make sure that the joined path doesn't start with two slashes\x2C because\x0d\n // normalize() will mistake it for a UNC path then.\x0d\n //\x0d\n // This step is skipped when it is very clear that the user actually\x0d\n // intended to point at a UNC path. This is assumed when the first\x0d\n // non-empty string arguments starts with exactly two slashes followed by\x0d\n // at least one more non-slash character.\x0d\n //\x0d\n // Note that for normalize() to treat a path as a UNC path it needs to\x0d\n // have at least 2 components\x2C so we don't filter for that here.\x0d\n // This means that the user can use join to construct UNC paths from\x0d\n // a server name and a share name; for example:\x0d\n // path.join('//server'\x2C 'share') -> '\\\\\\\\server\\\\share\\\\')\x0d\n let needsReplace = true;\x0d\n let slashCount = 0;\x0d\n if (isPathSeparator(StringPrototypeCharCodeAt(firstPart\x2C 0))) {\x0d\n ++slashCount;\x0d\n const firstLen = firstPart.length;\x0d\n if (firstLen > 1 &&\x0d\n isPathSeparator(StringPrototypeCharCodeAt(firstPart\x2C 1))) {\x0d\n ++slashCount;\x0d\n if (firstLen > 2) {\x0d\n if (isPathSeparator(StringPrototypeCharCodeAt(firstPart\x2C 2)))\x0d\n ++slashCount;\x0d\n else {\x0d\n // We matched a UNC path in the first part\x0d\n needsReplace = false;\x0d\n }\x0d\n }\x0d\n }\x0d\n }\x0d\n if (needsReplace) {\x0d\n // Find any more consecutive slashes we need to replace\x0d\n while (slashCount < joined.length &&\x0d\n isPathSeparator(StringPrototypeCharCodeAt(joined\x2C slashCount))) {\x0d\n slashCount++;\x0d\n }\x0d\n\x0d\n // Replace the slashes if needed\x0d\n if (slashCount >= 2)\x0d\n joined = `\\\\${StringPrototypeSlice(joined\x2C slashCount)}`;\x0d\n }\x0d\n\x0d\n return win32.normalize(joined);\x0d\n }\x2C\x0d\n\x0d\n /**\x0d\n * It will solve the relative path from `from` to `to`\x2C for instance\x0d\n * from = 'C:\\\\orandea\\\\test\\\\aaa'\x0d\n * to = 'C:\\\\orandea\\\\impl\\\\bbb'\x0d\n * The output of the function should be: '..\\\\..\\\\impl\\\\bbb'\x0d\n * @param {string} from\x0d\n * @param {string} to\x0d\n * @returns {string}\x0d\n */\x0d\n relative(from\x2C to) {\x0d\n validateString(from\x2C 'from');\x0d\n validateString(to\x2C 'to');\x0d\n\x0d\n if (from === to)\x0d\n return '';\x0d\n\x0d\n const fromOrig = win32.resolve(from);\x0d\n const toOrig = win32.resolve(to);\x0d\n\x0d\n if (fromOrig === toOrig)\x0d\n return '';\x0d\n\x0d\n from = StringPrototypeToLowerCase(fromOrig);\x0d\n to = StringPrototypeToLowerCase(toOrig);\x0d\n\x0d\n if (from === to)\x0d\n return '';\x0d\n\x0d\n // Trim any leading backslashes\x0d\n let fromStart = 0;\x0d\n while (fromStart < from.length &&\x0d\n StringPrototypeCharCodeAt(from\x2C fromStart) === CHAR_BACKWARD_SLASH) {\x0d\n fromStart++;\x0d\n }\x0d\n // Trim trailing backslashes (applicable to UNC paths only)\x0d\n let fromEnd = from.length;\x0d\n while (\x0d\n fromEnd - 1 > fromStart &&\x0d\n StringPrototypeCharCodeAt(from\x2C fromEnd - 1) === CHAR_BACKWARD_SLASH\x0d\n ) {\x0d\n fromEnd--;\x0d\n }\x0d\n const fromLen = fromEnd - fromStart;\x0d\n\x0d\n // Trim any leading backslashes\x0d\n let toStart = 0;\x0d\n while (toStart < to.length &&\x0d\n StringPrototypeCharCodeAt(to\x2C toStart) === CHAR_BACKWARD_SLASH) {\x0d\n toStart++;\x0d\n }\x0d\n // Trim trailing backslashes (applicable to UNC paths only)\x0d\n let toEnd = to.length;\x0d\n while (toEnd - 1 > toStart &&\x0d\n StringPrototypeCharCodeAt(to\x2C toEnd - 1) === CHAR_BACKWARD_SLASH) {\x0d\n toEnd--;\x0d\n }\x0d\n const toLen = toEnd - toStart;\x0d\n\x0d\n // Compare paths to find the longest common path from root\x0d\n const length = fromLen < toLen ? fromLen : toLen;\x0d\n let lastCommonSep = -1;\x0d\n let i = 0;\x0d\n for (; i < length; i++) {\x0d\n const fromCode = StringPrototypeCharCodeAt(from\x2C fromStart + i);\x0d\n if (fromCode !== StringPrototypeCharCodeAt(to\x2C toStart + i))\x0d\n break;\x0d\n else if (fromCode === CHAR_BACKWARD_SLASH)\x0d\n lastCommonSep = i;\x0d\n }\x0d\n\x0d\n // We found a mismatch before the first common path separator was seen\x2C so\x0d\n // return the original `to`.\x0d\n if (i !== length) {\x0d\n if (lastCommonSep === -1)\x0d\n return toOrig;\x0d\n } else {\x0d\n if (toLen > length) {\x0d\n if (StringPrototypeCharCodeAt(to\x2C toStart + i) ===\x0d\n CHAR_BACKWARD_SLASH) {\x0d\n // We get here if `from` is the exact base path for `to`.\x0d\n // For example: from='C:\\\\foo\\\\bar'; to='C:\\\\foo\\\\bar\\\\baz'\x0d\n return StringPrototypeSlice(toOrig\x2C toStart + i + 1);\x0d\n }\x0d\n if (i === 2) {\x0d\n // We get here if `from` is the device root.\x0d\n // For example: from='C:\\\\'; to='C:\\\\foo'\x0d\n return StringPrototypeSlice(toOrig\x2C toStart + i);\x0d\n }\x0d\n }\x0d\n if (fromLen > length) {\x0d\n if (StringPrototypeCharCodeAt(from\x2C fromStart + i) ===\x0d\n CHAR_BACKWARD_SLASH) {\x0d\n // We get here if `to` is the exact base path for `from`.\x0d\n // For example: from='C:\\\\foo\\\\bar'; to='C:\\\\foo'\x0d\n lastCommonSep = i;\x0d\n } else if (i === 2) {\x0d\n // We get here if `to` is the device root.\x0d\n // For example: from='C:\\\\foo\\\\bar'; to='C:\\\\'\x0d\n lastCommonSep = 3;\x0d\n }\x0d\n }\x0d\n if (lastCommonSep === -1)\x0d\n lastCommonSep = 0;\x0d\n }\x0d\n\x0d\n let out = '';\x0d\n // Generate the relative path based on the path difference between `to` and\x0d\n // `from`\x0d\n for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) {\x0d\n if (i === fromEnd ||\x0d\n StringPrototypeCharCodeAt(from\x2C i) === CHAR_BACKWARD_SLASH) {\x0d\n out += out.length === 0 ? '..' : '\\\\..';\x0d\n }\x0d\n }\x0d\n\x0d\n toStart += lastCommonSep;\x0d\n\x0d\n // Lastly\x2C append the rest of the destination (`to`) path that comes after\x0d\n // the common path parts\x0d\n if (out.length > 0)\x0d\n return `${out}${StringPrototypeSlice(toOrig\x2C toStart\x2C toEnd)}`;\x0d\n\x0d\n if (StringPrototypeCharCodeAt(toOrig\x2C toStart) === CHAR_BACKWARD_SLASH)\x0d\n ++toStart;\x0d\n return StringPrototypeSlice(toOrig\x2C toStart\x2C toEnd);\x0d\n }\x2C\x0d\n\x0d\n /**\x0d\n * @param {string} path\x0d\n * @returns {string}\x0d\n */\x0d\n toNamespacedPath(path) {\x0d\n // Note: this will *probably* throw somewhere.\x0d\n if (typeof path !== 'string' || path.length === 0)\x0d\n return path;\x0d\n\x0d\n const resolvedPath = win32.resolve(path);\x0d\n\x0d\n if (resolvedPath.length <= 2)\x0d\n return path;\x0d\n\x0d\n if (StringPrototypeCharCodeAt(resolvedPath\x2C 0) === CHAR_BACKWARD_SLASH) {\x0d\n // Possible UNC root\x0d\n if (StringPrototypeCharCodeAt(resolvedPath\x2C 1) === CHAR_BACKWARD_SLASH) {\x0d\n const code = StringPrototypeCharCodeAt(resolvedPath\x2C 2);\x0d\n if (code !== CHAR_QUESTION_MARK && code !== CHAR_DOT) {\x0d\n // Matched non-long UNC root\x2C convert the path to a long UNC path\x0d\n return `\\\\\\\\?\\\\UNC\\\\${StringPrototypeSlice(resolvedPath\x2C 2)}`;\x0d\n }\x0d\n }\x0d\n } else if (\x0d\n isWindowsDeviceRoot(StringPrototypeCharCodeAt(resolvedPath\x2C 0)) &&\x0d\n StringPrototypeCharCodeAt(resolvedPath\x2C 1) === CHAR_COLON &&\x0d\n StringPrototypeCharCodeAt(resolvedPath\x2C 2) === CHAR_BACKWARD_SLASH\x0d\n ) {\x0d\n // Matched device root\x2C convert the path to a long UNC path\x0d\n return `\\\\\\\\?\\\\${resolvedPath}`;\x0d\n }\x0d\n\x0d\n return resolvedPath;\x0d\n }\x2C\x0d\n\x0d\n /**\x0d\n * @param {string} path\x0d\n * @returns {string}\x0d\n */\x0d\n dirname(path) {\x0d\n validateString(path\x2C 'path');\x0d\n const len = path.length;\x0d\n if (len === 0)\x0d\n return '.';\x0d\n let rootEnd = -1;\x0d\n let offset = 0;\x0d\n const code = StringPrototypeCharCodeAt(path\x2C 0);\x0d\n\x0d\n if (len === 1) {\x0d\n // `path` contains just a path separator\x2C exit early to avoid\x0d\n // unnecessary work or a dot.\x0d\n return isPathSeparator(code) ? path : '.';\x0d\n }\x0d\n\x0d\n // Try to match a root\x0d\n if (isPathSeparator(code)) {\x0d\n // Possible UNC root\x0d\n\x0d\n rootEnd = offset = 1;\x0d\n\x0d\n if (isPathSeparator(StringPrototypeCharCodeAt(path\x2C 1))) {\x0d\n // Matched double path separator at beginning\x0d\n let j = 2;\x0d\n let last = j;\x0d\n // Match 1 or more non-path separators\x0d\n while (j < len &&\x0d\n !isPathSeparator(StringPrototypeCharCodeAt(path\x2C j))) {\x0d\n j++;\x0d\n }\x0d\n if (j < len && j !== last) {\x0d\n // Matched!\x0d\n last = j;\x0d\n // Match 1 or more path separators\x0d\n while (j < len &&\x0d\n isPathSeparator(StringPrototypeCharCodeAt(path\x2C j))) {\x0d\n j++;\x0d\n }\x0d\n if (j < len && j !== last) {\x0d\n // Matched!\x0d\n last = j;\x0d\n // Match 1 or more non-path separators\x0d\n while (j < len &&\x0d\n !isPathSeparator(StringPrototypeCharCodeAt(path\x2C j))) {\x0d\n j++;\x0d\n }\x0d\n if (j === len) {\x0d\n // We matched a UNC root only\x0d\n return path;\x0d\n }\x0d\n if (j !== last) {\x0d\n // We matched a UNC root with leftovers\x0d\n\x0d\n // Offset by 1 to include the separator after the UNC root to\x0d\n // treat it as a "normal root" on top of a (UNC) root\x0d\n rootEnd = offset = j + 1;\x0d\n }\x0d\n }\x0d\n }\x0d\n }\x0d\n // Possible device root\x0d\n } else if (isWindowsDeviceRoot(code) &&\x0d\n StringPrototypeCharCodeAt(path\x2C 1) === CHAR_COLON) {\x0d\n rootEnd =\x0d\n len > 2 && isPathSeparator(StringPrototypeCharCodeAt(path\x2C 2)) ? 3 : 2;\x0d\n offset = rootEnd;\x0d\n }\x0d\n\x0d\n let end = -1;\x0d\n let matchedSlash = true;\x0d\n for (let i = len - 1; i >= offset; --i) {\x0d\n if (isPathSeparator(StringPrototypeCharCodeAt(path\x2C i))) {\x0d\n if (!matchedSlash) {\x0d\n end = i;\x0d\n break;\x0d\n }\x0d\n } else {\x0d\n // We saw the first non-path separator\x0d\n matchedSlash = false;\x0d\n }\x0d\n }\x0d\n\x0d\n if (end === -1) {\x0d\n if (rootEnd === -1)\x0d\n return '.';\x0d\n\x0d\n end = rootEnd;\x0d\n }\x0d\n return StringPrototypeSlice(path\x2C 0\x2C end);\x0d\n }\x2C\x0d\n\x0d\n /**\x0d\n * @param {string} path\x0d\n * @param {string} [suffix]\x0d\n * @returns {string}\x0d\n */\x0d\n basename(path\x2C suffix) {\x0d\n if (suffix !== undefined)\x0d\n validateString(suffix\x2C 'ext');\x0d\n validateString(path\x2C 'path');\x0d\n let start = 0;\x0d\n let end = -1;\x0d\n let matchedSlash = true;\x0d\n\x0d\n // Check for a drive letter prefix so as not to mistake the following\x0d\n // path separator as an extra separator at the end of the path that can be\x0d\n // disregarded\x0d\n if (path.length >= 2 &&\x0d\n isWindowsDeviceRoot(StringPrototypeCharCodeAt(path\x2C 0)) &&\x0d\n StringPrototypeCharCodeAt(path\x2C 1) === CHAR_COLON) {\x0d\n start = 2;\x0d\n }\x0d\n\x0d\n if (suffix !== undefined && suffix.length > 0 && suffix.length <= path.length) {\x0d\n if (suffix === path)\x0d\n return '';\x0d\n let extIdx = suffix.length - 1;\x0d\n let firstNonSlashEnd = -1;\x0d\n for (let i = path.length - 1; i >= start; --i) {\x0d\n const code = StringPrototypeCharCodeAt(path\x2C i);\x0d\n if (isPathSeparator(code)) {\x0d\n // If we reached a path separator that was not part of a set of path\x0d\n // separators at the end of the string\x2C stop now\x0d\n if (!matchedSlash) {\x0d\n start = i + 1;\x0d\n break;\x0d\n }\x0d\n } else {\x0d\n if (firstNonSlashEnd === -1) {\x0d\n // We saw the first non-path separator\x2C remember this index in case\x0d\n // we need it if the extension ends up not matching\x0d\n matchedSlash = false;\x0d\n firstNonSlashEnd = i + 1;\x0d\n }\x0d\n if (extIdx >= 0) {\x0d\n // Try to match the explicit extension\x0d\n if (code === StringPrototypeCharCodeAt(suffix\x2C extIdx)) {\x0d\n if (--extIdx === -1) {\x0d\n // We matched the extension\x2C so mark this as the end of our path\x0d\n // component\x0d\n end = i;\x0d\n }\x0d\n } else {\x0d\n // Extension does not match\x2C so our result is the entire path\x0d\n // component\x0d\n extIdx = -1;\x0d\n end = firstNonSlashEnd;\x0d\n }\x0d\n }\x0d\n }\x0d\n }\x0d\n\x0d\n if (start === end)\x0d\n end = firstNonSlashEnd;\x0d\n else if (end === -1)\x0d\n end = path.length;\x0d\n return StringPrototypeSlice(path\x2C start\x2C end);\x0d\n }\x0d\n for (let i = path.length - 1; i >= start; --i) {\x0d\n if (isPathSeparator(StringPrototypeCharCodeAt(path\x2C i))) {\x0d\n // If we reached a path separator that was not part of a set of path\x0d\n // separators at the end of the string\x2C stop now\x0d\n if (!matchedSlash) {\x0d\n start = i + 1;\x0d\n break;\x0d\n }\x0d\n } else if (end === -1) {\x0d\n // We saw the first non-path separator\x2C mark this as the end of our\x0d\n // path component\x0d\n matchedSlash = false;\x0d\n end = i + 1;\x0d\n }\x0d\n }\x0d\n\x0d\n if (end === -1)\x0d\n return '';\x0d\n return StringPrototypeSlice(path\x2C start\x2C end);\x0d\n }\x2C\x0d\n\x0d\n /**\x0d\n * @param {string} path\x0d\n * @returns {string}\x0d\n */\x0d\n extname(path) {\x0d\n validateString(path\x2C 'path');\x0d\n let start = 0;\x0d\n let startDot = -1;\x0d\n let startPart = 0;\x0d\n let end = -1;\x0d\n let matchedSlash = true;\x0d\n // Track the state of characters (if any) we see before our first dot and\x0d\n // after any path separator we find\x0d\n let preDotState = 0;\x0d\n\x0d\n // Check for a drive letter prefix so as not to mistake the following\x0d\n // path separator as an extra separator at the end of the path that can be\x0d\n // disregarded\x0d\n\x0d\n if (path.length >= 2 &&\x0d\n StringPrototypeCharCodeAt(path\x2C 1) === CHAR_COLON &&\x0d\n isWindowsDeviceRoot(StringPrototypeCharCodeAt(path\x2C 0))) {\x0d\n start = startPart = 2;\x0d\n }\x0d\n\x0d\n for (let i = path.length - 1; i >= start; --i) {\x0d\n const code = StringPrototypeCharCodeAt(path\x2C i);\x0d\n if (isPathSeparator(code)) {\x0d\n // If we reached a path separator that was not part of a set of path\x0d\n // separators at the end of the string\x2C stop now\x0d\n if (!matchedSlash) {\x0d\n startPart = i + 1;\x0d\n break;\x0d\n }\x0d\n continue;\x0d\n }\x0d\n if (end === -1) {\x0d\n // We saw the first non-path separator\x2C mark this as the end of our\x0d\n // extension\x0d\n matchedSlash = false;\x0d\n end = i + 1;\x0d\n }\x0d\n if (code === CHAR_DOT) {\x0d\n // If this is our first dot\x2C mark it as the start of our extension\x0d\n if (startDot === -1)\x0d\n startDot = i;\x0d\n else if (preDotState !== 1)\x0d\n preDotState = 1;\x0d\n } else if (startDot !== -1) {\x0d\n // We saw a non-dot and non-path separator before our dot\x2C so we should\x0d\n // have a good chance at having a non-empty extension\x0d\n preDotState = -1;\x0d\n }\x0d\n }\x0d\n\x0d\n if (startDot === -1 ||\x0d\n end === -1 ||\x0d\n // We saw a non-dot character immediately before the dot\x0d\n preDotState === 0 ||\x0d\n // The (right-most) trimmed path component is exactly '..'\x0d\n (preDotState === 1 &&\x0d\n startDot === end - 1 &&\x0d\n startDot === startPart + 1)) {\x0d\n return '';\x0d\n }\x0d\n return StringPrototypeSlice(path\x2C startDot\x2C end);\x0d\n }\x2C\x0d\n\x0d\n format: FunctionPrototypeBind(_format\x2C null\x2C '\\\\')\x2C\x0d\n\x0d\n /**\x0d\n * @param {string} path\x0d\n * @returns {{\x0d\n * dir: string;\x0d\n * root: string;\x0d\n * base: string;\x0d\n * name: string;\x0d\n * ext: string;\x0d\n * }}\x0d\n */\x0d\n parse(path) {\x0d\n validateString(path\x2C 'path');\x0d\n\x0d\n const ret = { root: ''\x2C dir: ''\x2C base: ''\x2C ext: ''\x2C name: '' };\x0d\n if (path.length === 0)\x0d\n return ret;\x0d\n\x0d\n const len = path.length;\x0d\n let rootEnd = 0;\x0d\n let code = StringPrototypeCharCodeAt(path\x2C 0);\x0d\n\x0d\n if (len === 1) {\x0d\n if (isPathSeparator(code)) {\x0d\n // `path` contains just a path separator\x2C exit early to avoid\x0d\n // unnecessary work\x0d\n ret.root = ret.dir = path;\x0d\n return ret;\x0d\n }\x0d\n ret.base = ret.name = path;\x0d\n return ret;\x0d\n }\x0d\n // Try to match a root\x0d\n if (isPathSeparator(code)) {\x0d\n // Possible UNC root\x0d\n\x0d\n rootEnd = 1;\x0d\n if (isPathSeparator(StringPrototypeCharCodeAt(path\x2C 1))) {\x0d\n // Matched double path separator at beginning\x0d\n let j = 2;\x0d\n let last = j;\x0d\n // Match 1 or more non-path separators\x0d\n while (j < len &&\x0d\n !isPathSeparator(StringPrototypeCharCodeAt(path\x2C j))) {\x0d\n j++;\x0d\n }\x0d\n if (j < len && j !== last) {\x0d\n // Matched!\x0d\n last = j;\x0d\n // Match 1 or more path separators\x0d\n while (j < len &&\x0d\n isPathSeparator(StringPrototypeCharCodeAt(path\x2C j))) {\x0d\n j++;\x0d\n }\x0d\n if (j < len && j !== last) {\x0d\n // Matched!\x0d\n last = j;\x0d\n // Match 1 or more non-path separators\x0d\n while (j < len &&\x0d\n !isPathSeparator(StringPrototypeCharCodeAt(path\x2C j))) {\x0d\n j++;\x0d\n }\x0d\n if (j === len) {\x0d\n // We matched a UNC root only\x0d\n rootEnd = j;\x0d\n } else if (j !== last) {\x0d\n // We matched a UNC root with leftovers\x0d\n rootEnd = j + 1;\x0d\n }\x0d\n }\x0d\n }\x0d\n }\x0d\n } else if (isWindowsDeviceRoot(code) &&\x0d\n StringPrototypeCharCodeAt(path\x2C 1) === CHAR_COLON) {\x0d\n // Possible device root\x0d\n if (len <= 2) {\x0d\n // `path` contains just a drive root\x2C exit early to avoid\x0d\n // unnecessary work\x0d\n ret.root = ret.dir = path;\x0d\n return ret;\x0d\n }\x0d\n rootEnd = 2;\x0d\n if (isPathSeparator(StringPrototypeCharCodeAt(path\x2C 2))) {\x0d\n if (len === 3) {\x0d\n // `path` contains just a drive root\x2C exit early to avoid\x0d\n // unnecessary work\x0d\n ret.root = ret.dir = path;\x0d\n return ret;\x0d\n }\x0d\n rootEnd = 3;\x0d\n }\x0d\n }\x0d\n if (rootEnd > 0)\x0d\n ret.root = StringPrototypeSlice(path\x2C 0\x2C rootEnd);\x0d\n\x0d\n let startDot = -1;\x0d\n let startPart = rootEnd;\x0d\n let end = -1;\x0d\n let matchedSlash = true;\x0d\n let i = path.length - 1;\x0d\n\x0d\n // Track the state of characters (if any) we see before our first dot and\x0d\n // after any path separator we find\x0d\n let preDotState = 0;\x0d\n\x0d\n // Get non-dir info\x0d\n for (; i >= rootEnd; --i) {\x0d\n code = StringPrototypeCharCodeAt(path\x2C i);\x0d\n if (isPathSeparator(code)) {\x0d\n // If we reached a path separator that was not part of a set of path\x0d\n // separators at the end of the string\x2C stop now\x0d\n if (!matchedSlash) {\x0d\n startPart = i + 1;\x0d\n break;\x0d\n }\x0d\n continue;\x0d\n }\x0d\n if (end === -1) {\x0d\n // We saw the first non-path separator\x2C mark this as the end of our\x0d\n // extension\x0d\n matchedSlash = false;\x0d\n end = i + 1;\x0d\n }\x0d\n if (code === CHAR_DOT) {\x0d\n // If this is our first dot\x2C mark it as the start of our extension\x0d\n if (startDot === -1)\x0d\n startDot = i;\x0d\n else if (preDotState !== 1)\x0d\n preDotState = 1;\x0d\n } else if (startDot !== -1) {\x0d\n // We saw a non-dot and non-path separator before our dot\x2C so we should\x0d\n // have a good chance at having a non-empty extension\x0d\n preDotState = -1;\x0d\n }\x0d\n }\x0d\n\x0d\n if (end !== -1) {\x0d\n if (startDot === -1 ||\x0d\n // We saw a non-dot character immediately before the dot\x0d\n preDotState === 0 ||\x0d\n // The (right-most) trimmed path component is exactly '..'\x0d\n (preDotState === 1 &&\x0d\n startDot === end - 1 &&\x0d\n startDot === startPart + 1)) {\x0d\n ret.base = ret.name = StringPrototypeSlice(path\x2C startPart\x2C end);\x0d\n } else {\x0d\n ret.name = StringPrototypeSlice(path\x2C startPart\x2C startDot);\x0d\n ret.base = StringPrototypeSlice(path\x2C startPart\x2C end);\x0d\n ret.ext = StringPrototypeSlice(path\x2C startDot\x2C end);\x0d\n }\x0d\n }\x0d\n\x0d\n // If the directory is the root\x2C use the entire root as the `dir` including\x0d\n // the trailing slash if any (`C:\\abc` -> `C:\\`). Otherwise\x2C strip out the\x0d\n // trailing slash (`C:\\abc\\def` -> `C:\\abc`).\x0d\n if (startPart > 0 && startPart !== rootEnd)\x0d\n ret.dir = StringPrototypeSlice(path\x2C 0\x2C startPart - 1);\x0d\n else\x0d\n ret.dir = ret.root;\x0d\n\x0d\n return ret;\x0d\n }\x2C\x0d\n\x0d\n matchesGlob(path\x2C pattern) {\x0d\n return glob(path\x2C pattern\x2C true);\x0d\n }\x2C\x0d\n\x0d\n sep: '\\\\'\x2C\x0d\n delimiter: ';'\x2C\x0d\n win32: null\x2C\x0d\n posix: null\x2C\x0d\n};\x0d\n\x0d\nconst posixCwd = (() => {\x0d\n if (platformIsWin32) {\x0d\n // Converts Windows' backslash path separators to POSIX forward slashes\x0d\n // and truncates any drive indicator\x0d\n const regexp = /\\\\/g;\x0d\n return () => {\x0d\n const cwd = StringPrototypeReplace(process.cwd()\x2C regexp\x2C '/');\x0d\n return StringPrototypeSlice(cwd\x2C StringPrototypeIndexOf(cwd\x2C '/'));\x0d\n };\x0d\n }\x0d\n\x0d\n // We're already on POSIX\x2C no need for any transformations\x0d\n return () => process.cwd();\x0d\n})();\x0d\n\x0d\nconst posix = {\x0d\n /**\x0d\n * path.resolve([from ...]\x2C to)\x0d\n * @param {...string} args\x0d\n * @returns {string}\x0d\n */\x0d\n resolve(...args) {\x0d\n let resolvedPath = '';\x0d\n let resolvedAbsolute = false;\x0d\n\x0d\n for (let i = args.length - 1; i >= -1 && !resolvedAbsolute; i--) {\x0d\n const path = i >= 0 ? args[i] : posixCwd();\x0d\n validateString(path\x2C `paths[${i}]`);\x0d\n\x0d\n // Skip empty entries\x0d\n if (path.length === 0) {\x0d\n continue;\x0d\n }\x0d\n\x0d\n resolvedPath = `${path}/${resolvedPath}`;\x0d\n resolvedAbsolute =\x0d\n StringPrototypeCharCodeAt(path\x2C 0) === CHAR_FORWARD_SLASH;\x0d\n }\x0d\n\x0d\n // At this point the path should be resolved to a full absolute path\x2C but\x0d\n // handle relative paths to be safe (might happen when process.cwd() fails)\x0d\n\x0d\n // Normalize the path\x0d\n resolvedPath = normalizeString(resolvedPath\x2C !resolvedAbsolute\x2C '/'\x2C\x0d\n isPosixPathSeparator);\x0d\n\x0d\n if (resolvedAbsolute) {\x0d\n return `/${resolvedPath}`;\x0d\n }\x0d\n return resolvedPath.length > 0 ? resolvedPath : '.';\x0d\n }\x2C\x0d\n\x0d\n /**\x0d\n * @param {string} path\x0d\n * @returns {string}\x0d\n */\x0d\n normalize(path) {\x0d\n validateString(path\x2C 'path');\x0d\n\x0d\n if (path.length === 0)\x0d\n return '.';\x0d\n\x0d\n const isAbsolute =\x0d\n StringPrototypeCharCodeAt(path\x2C 0) === CHAR_FORWARD_SLASH;\x0d\n const trailingSeparator =\x0d\n StringPrototypeCharCodeAt(path\x2C path.length - 1) === CHAR_FORWARD_SLASH;\x0d\n\x0d\n // Normalize the path\x0d\n path = normalizeString(path\x2C !isAbsolute\x2C '/'\x2C isPosixPathSeparator);\x0d\n\x0d\n if (path.length === 0) {\x0d\n if (isAbsolute)\x0d\n return '/';\x0d\n return trailingSeparator ? './' : '.';\x0d\n }\x0d\n if (trailingSeparator)\x0d\n path += '/';\x0d\n\x0d\n return isAbsolute ? `/${path}` : path;\x0d\n }\x2C\x0d\n\x0d\n /**\x0d\n * @param {string} path\x0d\n * @returns {boolean}\x0d\n */\x0d\n isAbsolute(path) {\x0d\n validateString(path\x2C 'path');\x0d\n return path.length > 0 &&\x0d\n StringPrototypeCharCodeAt(path\x2C 0) === CHAR_FORWARD_SLASH;\x0d\n }\x2C\x0d\n\x0d\n /**\x0d\n * @param {...string} args\x0d\n * @returns {string}\x0d\n */\x0d\n join(...args) {\x0d\n if (args.length === 0)\x0d\n return '.';\x0d\n let joined;\x0d\n for (let i = 0; i < args.length; ++i) {\x0d\n const arg = args[i];\x0d\n validateString(arg\x2C 'path');\x0d\n if (arg.length > 0) {\x0d\n if (joined === undefined)\x0d\n joined = arg;\x0d\n else\x0d\n joined += `/${arg}`;\x0d\n }\x0d\n }\x0d\n if (joined === undefined)\x0d\n return '.';\x0d\n return posix.normalize(joined);\x0d\n }\x2C\x0d\n\x0d\n /**\x0d\n * @param {string} from\x0d\n * @param {string} to\x0d\n * @returns {string}\x0d\n */\x0d\n relative(from\x2C to) {\x0d\n validateString(from\x2C 'from');\x0d\n validateString(to\x2C 'to');\x0d\n\x0d\n if (from === to)\x0d\n return '';\x0d\n\x0d\n // Trim leading forward slashes.\x0d\n from = posix.resolve(from);\x0d\n to = posix.resolve(to);\x0d\n\x0d\n if (from === to)\x0d\n return '';\x0d\n\x0d\n const fromStart = 1;\x0d\n const fromEnd = from.length;\x0d\n const fromLen = fromEnd - fromStart;\x0d\n const toStart = 1;\x0d\n const toLen = to.length - toStart;\x0d\n\x0d\n // Compare paths to find the longest common path from root\x0d\n const length = (fromLen < toLen ? fromLen : toLen);\x0d\n let lastCommonSep = -1;\x0d\n let i = 0;\x0d\n for (; i < length; i++) {\x0d\n const fromCode = StringPrototypeCharCodeAt(from\x2C fromStart + i);\x0d\n if (fromCode !== StringPrototypeCharCodeAt(to\x2C toStart + i))\x0d\n break;\x0d\n else if (fromCode === CHAR_FORWARD_SLASH)\x0d\n lastCommonSep = i;\x0d\n }\x0d\n if (i === length) {\x0d\n if (toLen > length) {\x0d\n if (StringPrototypeCharCodeAt(to\x2C toStart + i) === CHAR_FORWARD_SLASH) {\x0d\n // We get here if `from` is the exact base path for `to`.\x0d\n // For example: from='/foo/bar'; to='/foo/bar/baz'\x0d\n return StringPrototypeSlice(to\x2C toStart + i + 1);\x0d\n }\x0d\n if (i === 0) {\x0d\n // We get here if `from` is the root\x0d\n // For example: from='/'; to='/foo'\x0d\n return StringPrototypeSlice(to\x2C toStart + i);\x0d\n }\x0d\n } else if (fromLen > length) {\x0d\n if (StringPrototypeCharCodeAt(from\x2C fromStart + i) ===\x0d\n CHAR_FORWARD_SLASH) {\x0d\n // We get here if `to` is the exact base path for `from`.\x0d\n // For example: from='/foo/bar/baz'; to='/foo/bar'\x0d\n lastCommonSep = i;\x0d\n } else if (i === 0) {\x0d\n // We get here if `to` is the root.\x0d\n // For example: from='/foo/bar'; to='/'\x0d\n lastCommonSep = 0;\x0d\n }\x0d\n }\x0d\n }\x0d\n\x0d\n let out = '';\x0d\n // Generate the relative path based on the path difference between `to`\x0d\n // and `from`.\x0d\n for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) {\x0d\n if (i === fromEnd ||\x0d\n StringPrototypeCharCodeAt(from\x2C i) === CHAR_FORWARD_SLASH) {\x0d\n out += out.length === 0 ? '..' : '/..';\x0d\n }\x0d\n }\x0d\n\x0d\n // Lastly\x2C append the rest of the destination (`to`) path that comes after\x0d\n // the common path parts.\x0d\n return `${out}${StringPrototypeSlice(to\x2C toStart + lastCommonSep)}`;\x0d\n }\x2C\x0d\n\x0d\n /**\x0d\n * @param {string} path\x0d\n * @returns {string}\x0d\n */\x0d\n toNamespacedPath(path) {\x0d\n // Non-op on posix systems\x0d\n return path;\x0d\n }\x2C\x0d\n\x0d\n /**\x0d\n * @param {string} path\x0d\n * @returns {string}\x0d\n */\x0d\n dirname(path) {\x0d\n validateString(path\x2C 'path');\x0d\n if (path.length === 0)\x0d\n return '.';\x0d\n const hasRoot = StringPrototypeCharCodeAt(path\x2C 0) === CHAR_FORWARD_SLASH;\x0d\n let end = -1;\x0d\n let matchedSlash = true;\x0d\n for (let i = path.length - 1; i >= 1; --i) {\x0d\n if (StringPrototypeCharCodeAt(path\x2C i) === CHAR_FORWARD_SLASH) {\x0d\n if (!matchedSlash) {\x0d\n end = i;\x0d\n break;\x0d\n }\x0d\n } else {\x0d\n // We saw the first non-path separator\x0d\n matchedSlash = false;\x0d\n }\x0d\n }\x0d\n\x0d\n if (end === -1)\x0d\n return hasRoot ? '/' : '.';\x0d\n if (hasRoot && end === 1)\x0d\n return '//';\x0d\n return StringPrototypeSlice(path\x2C 0\x2C end);\x0d\n }\x2C\x0d\n\x0d\n /**\x0d\n * @param {string} path\x0d\n * @param {string} [suffix]\x0d\n * @returns {string}\x0d\n */\x0d\n basename(path\x2C suffix) {\x0d\n if (suffix !== undefined)\x0d\n validateString(suffix\x2C 'ext');\x0d\n validateString(path\x2C 'path');\x0d\n\x0d\n let start = 0;\x0d\n let end = -1;\x0d\n let matchedSlash = true;\x0d\n\x0d\n if (suffix !== undefined && suffix.length > 0 && suffix.length <= path.length) {\x0d\n if (suffix === path)\x0d\n return '';\x0d\n let extIdx = suffix.length - 1;\x0d\n let firstNonSlashEnd = -1;\x0d\n for (let i = path.length - 1; i >= 0; --i) {\x0d\n const code = StringPrototypeCharCodeAt(path\x2C i);\x0d\n if (code === CHAR_FORWARD_SLASH) {\x0d\n // If we reached a path separator that was not part of a set of path\x0d\n // separators at the end of the string\x2C stop now\x0d\n if (!matchedSlash) {\x0d\n start = i + 1;\x0d\n break;\x0d\n }\x0d\n } else {\x0d\n if (firstNonSlashEnd === -1) {\x0d\n // We saw the first non-path separator\x2C remember this index in case\x0d\n // we need it if the extension ends up not matching\x0d\n matchedSlash = false;\x0d\n firstNonSlashEnd = i + 1;\x0d\n }\x0d\n if (extIdx >= 0) {\x0d\n // Try to match the explicit extension\x0d\n if (code === StringPrototypeCharCodeAt(suffix\x2C extIdx)) {\x0d\n if (--extIdx === -1) {\x0d\n // We matched the extension\x2C so mark this as the end of our path\x0d\n // component\x0d\n end = i;\x0d\n }\x0d\n } else {\x0d\n // Extension does not match\x2C so our result is the entire path\x0d\n // component\x0d\n extIdx = -1;\x0d\n end = firstNonSlashEnd;\x0d\n }\x0d\n }\x0d\n }\x0d\n }\x0d\n\x0d\n if (start === end)\x0d\n end = firstNonSlashEnd;\x0d\n else if (end === -1)\x0d\n end = path.length;\x0d\n return StringPrototypeSlice(path\x2C start\x2C end);\x0d\n }\x0d\n for (let i = path.length - 1; i >= 0; --i) {\x0d\n if (StringPrototypeCharCodeAt(path\x2C i) === CHAR_FORWARD_SLASH) {\x0d\n // If we reached a path separator that was not part of a set of path\x0d\n // separators at the end of the string\x2C stop now\x0d\n if (!matchedSlash) {\x0d\n start = i + 1;\x0d\n break;\x0d\n }\x0d\n } else if (end === -1) {\x0d\n // We saw the first non-path separator\x2C mark this as the end of our\x0d\n // path component\x0d\n matchedSlash = false;\x0d\n end = i + 1;\x0d\n }\x0d\n }\x0d\n\x0d\n if (end === -1)\x0d\n return '';\x0d\n return StringPrototypeSlice(path\x2C start\x2C end);\x0d\n }\x2C\x0d\n\x0d\n /**\x0d\n * @param {string} path\x0d\n * @returns {string}\x0d\n */\x0d\n extname(path) {\x0d\n validateString(path\x2C 'path');\x0d\n let startDot = -1;\x0d\n let startPart = 0;\x0d\n let end = -1;\x0d\n let matchedSlash = true;\x0d\n // Track the state of characters (if any) we see before our first dot and\x0d\n // after any path separator we find\x0d\n let preDotState = 0;\x0d\n for (let i = path.length - 1; i >= 0; --i) {\x0d\n const code = StringPrototypeCharCodeAt(path\x2C i);\x0d\n if (code === CHAR_FORWARD_SLASH) {\x0d\n // If we reached a path separator that was not part of a set of path\x0d\n // separators at the end of the string\x2C stop now\x0d\n if (!matchedSlash) {\x0d\n startPart = i + 1;\x0d\n break;\x0d\n }\x0d\n continue;\x0d\n }\x0d\n if (end === -1) {\x0d\n // We saw the first non-path separator\x2C mark this as the end of our\x0d\n // extension\x0d\n matchedSlash = false;\x0d\n end = i + 1;\x0d\n }\x0d\n if (code === CHAR_DOT) {\x0d\n // If this is our first dot\x2C mark it as the start of our extension\x0d\n if (startDot === -1)\x0d\n startDot = i;\x0d\n else if (preDotState !== 1)\x0d\n preDotState = 1;\x0d\n } else if (startDot !== -1) {\x0d\n // We saw a non-dot and non-path separator before our dot\x2C so we should\x0d\n // have a good chance at having a non-empty extension\x0d\n preDotState = -1;\x0d\n }\x0d\n }\x0d\n\x0d\n if (startDot === -1 ||\x0d\n end === -1 ||\x0d\n // We saw a non-dot character immediately before the dot\x0d\n preDotState === 0 ||\x0d\n // The (right-most) trimmed path component is exactly '..'\x0d\n (preDotState === 1 &&\x0d\n startDot === end - 1 &&\x0d\n startDot === startPart + 1)) {\x0d\n return '';\x0d\n }\x0d\n return StringPrototypeSlice(path\x2C startDot\x2C end);\x0d\n }\x2C\x0d\n\x0d\n format: FunctionPrototypeBind(_format\x2C null\x2C '/')\x2C\x0d\n\x0d\n /**\x0d\n * @param {string} path\x0d\n * @returns {{\x0d\n * dir: string;\x0d\n * root: string;\x0d\n * base: string;\x0d\n * name: string;\x0d\n * ext: string;\x0d\n * }}\x0d\n */\x0d\n parse(path) {\x0d\n validateString(path\x2C 'path');\x0d\n\x0d\n const ret = { root: ''\x2C dir: ''\x2C base: ''\x2C ext: ''\x2C name: '' };\x0d\n if (path.length === 0)\x0d\n return ret;\x0d\n const isAbsolute =\x0d\n StringPrototypeCharCodeAt(path\x2C 0) === CHAR_FORWARD_SLASH;\x0d\n let start;\x0d\n if (isAbsolute) {\x0d\n ret.root = '/';\x0d\n start = 1;\x0d\n } else {\x0d\n start = 0;\x0d\n }\x0d\n let startDot = -1;\x0d\n let startPart = 0;\x0d\n let end = -1;\x0d\n let matchedSlash = true;\x0d\n let i = path.length - 1;\x0d\n\x0d\n // Track the state of characters (if any) we see before our first dot and\x0d\n // after any path separator we find\x0d\n let preDotState = 0;\x0d\n\x0d\n // Get non-dir info\x0d\n for (; i >= start; --i) {\x0d\n const code = StringPrototypeCharCodeAt(path\x2C i);\x0d\n if (code === CHAR_FORWARD_SLASH) {\x0d\n // If we reached a path separator that was not part of a set of path\x0d\n // separators at the end of the string\x2C stop now\x0d\n if (!matchedSlash) {\x0d\n startPart = i + 1;\x0d\n break;\x0d\n }\x0d\n continue;\x0d\n }\x0d\n if (end === -1) {\x0d\n // We saw the first non-path separator\x2C mark this as the end of our\x0d\n // extension\x0d\n matchedSlash = false;\x0d\n end = i + 1;\x0d\n }\x0d\n if (code === CHAR_DOT) {\x0d\n // If this is our first dot\x2C mark it as the start of our extension\x0d\n if (startDot === -1)\x0d\n startDot = i;\x0d\n else if (preDotState !== 1)\x0d\n preDotState = 1;\x0d\n } else if (startDot !== -1) {\x0d\n // We saw a non-dot and non-path separator before our dot\x2C so we should\x0d\n // have a good chance at having a non-empty extension\x0d\n preDotState = -1;\x0d\n }\x0d\n }\x0d\n\x0d\n if (end !== -1) {\x0d\n const start = startPart === 0 && isAbsolute ? 1 : startPart;\x0d\n if (startDot === -1 ||\x0d\n // We saw a non-dot character immediately before the dot\x0d\n preDotState === 0 ||\x0d\n // The (right-most) trimmed path component is exactly '..'\x0d\n (preDotState === 1 &&\x0d\n startDot === end - 1 &&\x0d\n startDot === startPart + 1)) {\x0d\n ret.base = ret.name = StringPrototypeSlice(path\x2C start\x2C end);\x0d\n } else {\x0d\n ret.name = StringPrototypeSlice(path\x2C start\x2C startDot);\x0d\n ret.base = StringPrototypeSlice(path\x2C start\x2C end);\x0d\n ret.ext = StringPrototypeSlice(path\x2C startDot\x2C end);\x0d\n }\x0d\n }\x0d\n\x0d\n if (startPart > 0)\x0d\n ret.dir = StringPrototypeSlice(path\x2C 0\x2C startPart - 1);\x0d\n else if (isAbsolute)\x0d\n ret.dir = '/';\x0d\n\x0d\n return ret;\x0d\n }\x2C\x0d\n\x0d\n matchesGlob(path\x2C pattern) {\x0d\n return glob(path\x2C pattern\x2C false);\x0d\n }\x2C\x0d\n\x0d\n sep: '/'\x2C\x0d\n delimiter: ':'\x2C\x0d\n win32: null\x2C\x0d\n posix: null\x2C\x0d\n};\x0d\n\x0d\nposix.win32 = win32.win32 = win32;\x0d\nposix.posix = win32.posix = posix;\x0d\n\x0d\n// Legacy internal API\x2C docs-only deprecated: DEP0080\x0d\nwin32._makeLong = win32.toNamespacedPath;\x0d\nposix._makeLong = posix.toNamespacedPath;\x0d\n\x0d\nmodule.exports = platformIsWin32 ? win32 : posix;\x0d\n
code-source-info,0x23c5196329e,33,5649,10567,C0O5649C3O5687C6O5715C9O5747C11O5779C15O5786C19O5793C21O5793C26O5818C28O5831C29O5837C34O5854C36O5865C40O5879C51O5909C64O5879C69O5967C75O5974C80O5994C84O6048C90O6055C95O6073C99O6088C104O6088C111O6487C114O6502C125O6510C129O6505C138O6539C143O6539C148O6688C152O6728C157O6755C171O6755C178O6728C185O6806C189O6806C193O6789C200O6865C207O6865C215O6904C217O6900C222O6939C232O7015C237O7044C239O7067C242O7095C244O7122C252O7122C258O7197C260O7205C265O7223C268O7227C274O7315C277O7339C281O7383C284O7387C290O7583C292O7613C297O7633C305O7633C312O7617C318O7748C321O7773C322O7852C324O7846C334O7890C338O7890C345O7874C351O7942C356O7837C360O7971C362O7977C369O7988C374O8031C388O8031C394O8106C399O8192C401O8186C411O8231C415O8231C422O8215C428O8285C433O8177C437O8318C439O8324C446O8335C451O8389C456O8483C458O8477C468O8525C472O8525C479O8509C485O8581C490O8468C494O8618C496O8624C503O8637C508O8708C513O8743C526O8757C539O8757C549O8813C556O8900C561O8938C564O8942C572O8990C579O8990C587O9029C589O9025C594O9085C609O9094C615O9137C618O9159C620O9167C630O9190C638O9190C645O9174C651O9335C653O9365C656O9418C662O9425C667O9460C673O9467C678O9485C683O9489C690O9543C694O9543C698O9524C703O9675C707O9714C712O9768C716O9820C722O9827C727O9843C731O9875C737O9904C752O9944C757O9969C760O10009C764O10042C770O10049C775O10067C777O5801C782O5761C790O10310C795O10356C809O10325C815O10441C821O10477C831O10496C839O10523C843O10540C851O10562,,
code-creation,JS,10,285450,0x23c519669f6,17,isPathSeparator node:path:60:25,0x39e2db63ff8,~
code-source-info,0x23c519669f6,33,2014,2096,C0O2026C2O2042C4O2038C11O2073C13O2069C16O2093,,
code-creation,JS,10,285567,0x23c51966af6,35,isWindowsDeviceRoot node:path:68:29,0x39e2db64098,~
code-source-info,0x23c51966af6,33,2211,2356,C0O2223C2O2239C4O2236C11O2267C13O2264C20O2307C22O2304C29O2335C31O2332C34O2353,,
code-creation,JS,10,285932,0x23c51966d2e,444,normalizeString node:path:74:25,0x39e2db640e8,~
code-source-info,0x23c51966d2e,33,2446,4432,C0O2512C3O2543C5O2565C8O2583C10O2600C12O2619C14O2632C18O2624C23O2665C27O2658C32O2680C37O2687C45O2737C51O2767C53O2791C58O2829C64O2861C66O2881C69O2875C76O2893C83O2933C85O2942C90O2968C97O2975C104O3000C111O3022C114O3057C118O3064C122O3022C130O3073C132O3069C139O3098C142O3133C146O3140C150O3098C158O3149C160O3145C165O3180C172O3187C177O3230C182O3230C188O3287C190O3306C195O3331C198O3356C202O3416C215O3422C221O3524C225O3531C231O3537C234O3537C239O3535C243O3609C246O3637C248O3660C250O3696C256O3703C261O3725C264O3748C266O3784C269O3812C271O3835C273O3878C277O3922C283O3929C293O3938C308O3971C313O4038C319O4045C324O4061C326O4071C330O4083C335O4120C345O4083C363O4156C370O4199C380O4162C386O4217C388O4239C391O4251C395O4272C398O4294C402O4316C404O4329C406O4325C413O4346C418O4363C425O4392C428O2642C433O2606C441O4418C443O4429,,
tick,0x7ff7b9b6c415,286519,0,0x0,0,0x23c519635c7,0x23c51962eb3,0x23c5195e34c,0x23c5195e11e,0x23c5195df8b,0x23c51944edd,0x23c5194318e,0x23c519428c9
code-creation,JS,10,286941,0x23c5196741e,91,initializeESMLoader node:internal/process/pre_execution:686:29,0x3b02002b80,~
code-source-info,0x23c5196741e,68,22481,23051,C0O22533C6O22533C11O22515C16O22575C20O22746C28O22750C34O22869C40O22869C45O22817C50O22825C55O22843C60O22916C66O22916C71O22936C73O22946C77O22961C79O22981C83O23006C85O23025C90O23050,,
code-creation,JS,10,287152,0x23c51967596,50,initializeESM node:internal/modules/esm/utils:275:23,0x3b02001940,~
script-source,67,node:internal/modules/esm/utils,'use strict';\x0d\n\x0d\nconst {\x0d\n ArrayIsArray\x2C\x0d\n SafeSet\x2C\x0d\n SafeWeakMap\x2C\x0d\n ObjectFreeze\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst {\x0d\n privateSymbols: {\x0d\n host_defined_option_symbol\x2C\x0d\n }\x2C\x0d\n} = internalBinding('util');\x0d\nconst {\x0d\n source_text_module_default_hdo\x2C\x0d\n vm_dynamic_import_default_internal\x2C\x0d\n vm_dynamic_import_main_context_default\x2C\x0d\n vm_dynamic_import_missing_flag\x2C\x0d\n vm_dynamic_import_no_callback\x2C\x0d\n} = internalBinding('symbols');\x0d\n\x0d\nconst { ModuleWrap } = internalBinding('module_wrap');\x0d\nconst {\x0d\n maybeCacheSourceMap\x2C\x0d\n} = require('internal/source_map/source_map_cache');\x0d\n\x0d\nconst {\x0d\n ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING_FLAG\x2C\x0d\n ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING\x2C\x0d\n ERR_INVALID_ARG_VALUE\x2C\x0d\n} = require('internal/errors').codes;\x0d\nconst { getOptionValue } = require('internal/options');\x0d\nconst {\x0d\n loadPreloadModules\x2C\x0d\n initializeFrozenIntrinsics\x2C\x0d\n} = require('internal/process/pre_execution');\x0d\nconst {\x0d\n emitExperimentalWarning\x2C\x0d\n getCWDURL\x2C\x0d\n} = require('internal/util');\x0d\nconst {\x0d\n setImportModuleDynamicallyCallback\x2C\x0d\n setInitializeImportMetaObjectCallback\x2C\x0d\n} = internalBinding('module_wrap');\x0d\nconst assert = require('internal/assert');\x0d\nconst {\x0d\n normalizeReferrerURL\x2C\x0d\n} = require('internal/modules/helpers');\x0d\n\x0d\nlet defaultConditions;\x0d\n/**\x0d\n * Returns the default conditions for ES module loading.\x0d\n */\x0d\nfunction getDefaultConditions() {\x0d\n assert(defaultConditions !== undefined);\x0d\n return defaultConditions;\x0d\n}\x0d\n\x0d\n/** @type {Set<string>} */\x0d\nlet defaultConditionsSet;\x0d\n/**\x0d\n * Returns the default conditions for ES module loading\x2C as a Set.\x0d\n */\x0d\nfunction getDefaultConditionsSet() {\x0d\n assert(defaultConditionsSet !== undefined);\x0d\n return defaultConditionsSet;\x0d\n}\x0d\n\x0d\n/**\x0d\n * Initializes the default conditions for ESM module loading.\x0d\n * This function is called during pre-execution\x2C before any user code is run.\x0d\n */\x0d\nfunction initializeDefaultConditions() {\x0d\n const userConditions = getOptionValue('--conditions');\x0d\n const noAddons = getOptionValue('--no-addons');\x0d\n const addonConditions = noAddons ? [] : ['node-addons'];\x0d\n\x0d\n defaultConditions = ObjectFreeze([\x0d\n 'node'\x2C\x0d\n 'import'\x2C\x0d\n ...addonConditions\x2C\x0d\n ...userConditions\x2C\x0d\n ]);\x0d\n defaultConditionsSet = new SafeSet(defaultConditions);\x0d\n}\x0d\n\x0d\n/**\x0d\n * @param {string[]} [conditions]\x0d\n * @returns {Set<string>}\x0d\n */\x0d\nfunction getConditionsSet(conditions) {\x0d\n if (conditions !== undefined && conditions !== getDefaultConditions()) {\x0d\n if (!ArrayIsArray(conditions)) {\x0d\n throw new ERR_INVALID_ARG_VALUE('conditions'\x2C conditions\x2C\x0d\n 'expected an array');\x0d\n }\x0d\n return new SafeSet(conditions);\x0d\n }\x0d\n return getDefaultConditionsSet();\x0d\n}\x0d\n\x0d\n/**\x0d\n * @callback ImportModuleDynamicallyCallback\x0d\n * @param {string} specifier\x0d\n * @param {ModuleWrap|ContextifyScript|Function|vm.Module} callbackReferrer\x0d\n * @param {Record<string\x2C string>} attributes\x0d\n * @returns { Promise<void> }\x0d\n */\x0d\n\x0d\n/**\x0d\n * @callback InitializeImportMetaCallback\x0d\n * @param {object} meta\x0d\n * @param {ModuleWrap|ContextifyScript|Function|vm.Module} callbackReferrer\x0d\n */\x0d\n\x0d\n/**\x0d\n * @typedef {{\x0d\n * callbackReferrer: ModuleWrap|ContextifyScript|Function|vm.Module\x0d\n * initializeImportMeta? : InitializeImportMetaCallback\x2C\x0d\n * importModuleDynamically? : ImportModuleDynamicallyCallback\x0d\n * }} ModuleRegistry\x0d\n */\x0d\n\x0d\n/**\x0d\n * @type {WeakMap<symbol\x2C ModuleRegistry>}\x0d\n */\x0d\nconst moduleRegistries = new SafeWeakMap();\x0d\n\x0d\n/**\x0d\n * @typedef {ContextifyScript|Function|ModuleWrap|ContextifiedObject} Referrer\x0d\n * A referrer can be a Script Record\x2C a Cyclic Module Record\x2C or a Realm Record\x0d\n * as defined in https://tc39.es/ecma262/#sec-HostLoadImportedModule.\x0d\n *\x0d\n * In Node.js\x2C a referrer is represented by a wrapper object of these records.\x0d\n * A referrer object has a field |host_defined_option_symbol| initialized with\x0d\n * a symbol.\x0d\n */\x0d\n\x0d\n/**\x0d\n * V8 would make sure that as long as import() can still be initiated from\x0d\n * the referrer\x2C the symbol referenced by |host_defined_option_symbol| should\x0d\n * be alive\x2C which in term would keep the settings object alive through the\x0d\n * WeakMap\x2C and in turn that keeps the referrer object alive\x2C which would be\x0d\n * passed into the callbacks.\x0d\n * The reference goes like this:\x0d\n * [v8::internal::Script] (via host defined options) ----1--> [idSymbol]\x0d\n * [callbackReferrer] (via host_defined_option_symbol) ------2------^ |\x0d\n * ^----------3---- (via WeakMap)------\x0d\n * 1+3 makes sure that as long as import() can still be initiated\x2C the\x0d\n * referrer wrap is still around and can be passed into the callbacks.\x0d\n * 2 is only there so that we can get the id symbol to configure the\x0d\n * weak map.\x0d\n * @param {Referrer} referrer The referrer to\x0d\n * get the id symbol from. This is different from callbackReferrer which\x0d\n * could be set by the caller.\x0d\n * @param {ModuleRegistry} registry\x0d\n */\x0d\nfunction registerModule(referrer\x2C registry) {\x0d\n const idSymbol = referrer[host_defined_option_symbol];\x0d\n if (idSymbol === vm_dynamic_import_no_callback ||\x0d\n idSymbol === vm_dynamic_import_missing_flag ||\x0d\n idSymbol === vm_dynamic_import_main_context_default ||\x0d\n idSymbol === vm_dynamic_import_default_internal) {\x0d\n // The referrer is compiled without custom callbacks\x2C so there is\x0d\n // no registry to hold on to. We'll throw\x0d\n // ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING when a callback is\x0d\n // needed.\x0d\n return;\x0d\n }\x0d\n // To prevent it from being GC'ed.\x0d\n registry.callbackReferrer ??= referrer;\x0d\n moduleRegistries.set(idSymbol\x2C registry);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Proxy the import meta handling to the default loader for source text modules.\x0d\n * @param {Record<string\x2C string | Function>} meta - The import.meta object to initialize.\x0d\n * @param {ModuleWrap} wrap - The ModuleWrap of the SourceTextModule where `import.meta` is referenced.\x0d\n */\x0d\nfunction defaultInitializeImportMetaForModule(meta\x2C wrap) {\x0d\n const cascadedLoader = require('internal/modules/esm/loader').getOrInitializeCascadedLoader();\x0d\n return cascadedLoader.importMetaInitialize(meta\x2C { url: wrap.url });\x0d\n}\x0d\n\x0d\n/**\x0d\n * Defines the `import.meta` object for a given module.\x0d\n * @param {symbol} symbol - Reference to the module.\x0d\n * @param {Record<string\x2C string | Function>} meta - The import.meta object to initialize.\x0d\n * @param {ModuleWrap} wrap - The ModuleWrap of the SourceTextModule where `import.meta` is referenced.\x0d\n */\x0d\nfunction initializeImportMetaObject(symbol\x2C meta\x2C wrap) {\x0d\n if (symbol === source_text_module_default_hdo) {\x0d\n defaultInitializeImportMetaForModule(meta\x2C wrap);\x0d\n return;\x0d\n }\x0d\n const data = moduleRegistries.get(symbol);\x0d\n assert(data\x2C `import.meta registry not found for ${wrap.url}`);\x0d\n const { initializeImportMeta\x2C callbackReferrer } = data;\x0d\n if (initializeImportMeta !== undefined) {\x0d\n meta = initializeImportMeta(meta\x2C callbackReferrer);\x0d\n }\x0d\n}\x0d\n\x0d\n/**\x0d\n * Proxy the dynamic import handling to the default loader for source text modules.\x0d\n * @param {string} specifier - The module specifier string.\x0d\n * @param {Record<string\x2C string>} attributes - The import attributes object.\x0d\n * @param {string|null|undefined} referrerName - name of the referrer.\x0d\n * @returns {Promise<import('internal/modules/esm/loader.js').ModuleExports>} - The imported module object.\x0d\n */\x0d\nfunction defaultImportModuleDynamicallyForModule(specifier\x2C attributes\x2C referrerName) {\x0d\n const cascadedLoader = require('internal/modules/esm/loader').getOrInitializeCascadedLoader();\x0d\n return cascadedLoader.import(specifier\x2C referrerName\x2C attributes);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Proxy the dynamic import to the default loader for classic scripts.\x0d\n * @param {string} specifier - The module specifier string.\x0d\n * @param {Record<string\x2C string>} attributes - The import attributes object.\x0d\n * @param {string|null|undefined} referrerName - name of the referrer.\x0d\n * @returns {Promise<import('internal/modules/esm/loader.js').ModuleExports>} - The imported module object.\x0d\n */\x0d\nfunction defaultImportModuleDynamicallyForScript(specifier\x2C attributes\x2C referrerName) {\x0d\n const parentURL = normalizeReferrerURL(referrerName);\x0d\n const cascadedLoader = require('internal/modules/esm/loader').getOrInitializeCascadedLoader();\x0d\n return cascadedLoader.import(specifier\x2C parentURL\x2C attributes);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Asynchronously imports a module dynamically using a callback function. The native callback.\x0d\n * @param {symbol} referrerSymbol - Referrer symbol of the registered script\x2C function\x2C module\x2C or contextified object.\x0d\n * @param {string} specifier - The module specifier string.\x0d\n * @param {Record<string\x2C string>} attributes - The import attributes object.\x0d\n * @param {string|null|undefined} referrerName - name of the referrer.\x0d\n * @returns {Promise<import('internal/modules/esm/loader.js').ModuleExports>} - The imported module object.\x0d\n * @throws {ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING} - If the callback function is missing.\x0d\n */\x0d\nasync function importModuleDynamicallyCallback(referrerSymbol\x2C specifier\x2C attributes\x2C referrerName) {\x0d\n // For user-provided vm.constants.USE_MAIN_CONTEXT_DEFAULT_LOADER\x2C emit the warning\x0d\n // and fall back to the default loader.\x0d\n if (referrerSymbol === vm_dynamic_import_main_context_default) {\x0d\n emitExperimentalWarning('vm.USE_MAIN_CONTEXT_DEFAULT_LOADER');\x0d\n return defaultImportModuleDynamicallyForScript(specifier\x2C attributes\x2C referrerName);\x0d\n }\x0d\n // For script compiled internally that should use the default loader to handle dynamic\x0d\n // import\x2C proxy the request to the default loader without the warning.\x0d\n if (referrerSymbol === vm_dynamic_import_default_internal) {\x0d\n return defaultImportModuleDynamicallyForScript(specifier\x2C attributes\x2C referrerName);\x0d\n }\x0d\n // For SourceTextModules compiled internally\x2C proxy the request to the default loader.\x0d\n if (referrerSymbol === source_text_module_default_hdo) {\x0d\n return defaultImportModuleDynamicallyForModule(specifier\x2C attributes\x2C referrerName);\x0d\n }\x0d\n\x0d\n if (moduleRegistries.has(referrerSymbol)) {\x0d\n const { importModuleDynamically\x2C callbackReferrer } = moduleRegistries.get(referrerSymbol);\x0d\n if (importModuleDynamically !== undefined) {\x0d\n return importModuleDynamically(specifier\x2C callbackReferrer\x2C attributes);\x0d\n }\x0d\n }\x0d\n if (referrerSymbol === vm_dynamic_import_missing_flag) {\x0d\n throw new ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING_FLAG();\x0d\n }\x0d\n throw new ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING();\x0d\n}\x0d\n\x0d\nlet _forceDefaultLoader = false;\x0d\n/**\x0d\n * Initializes handling of ES modules.\x0d\n * This is configured during pre-execution. Specifically it's set to true for\x0d\n * the loader worker in internal/main/worker_thread.js.\x0d\n * @param {boolean} [forceDefaultLoader=false] - A boolean indicating disabling custom loaders.\x0d\n */\x0d\nfunction initializeESM(forceDefaultLoader = false) {\x0d\n _forceDefaultLoader = forceDefaultLoader;\x0d\n initializeDefaultConditions();\x0d\n // Setup per-realm callbacks that locate data or callbacks that we keep\x0d\n // track of for different ESM modules.\x0d\n setInitializeImportMetaObjectCallback(initializeImportMetaObject);\x0d\n setImportModuleDynamicallyCallback(importModuleDynamicallyCallback);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Determine whether custom loaders are disabled and it is forced to use the\x0d\n * default loader.\x0d\n * @returns {boolean}\x0d\n */\x0d\nfunction forceDefaultLoader() {\x0d\n return _forceDefaultLoader;\x0d\n}\x0d\n\x0d\n/**\x0d\n * Register module customization hooks.\x0d\n */\x0d\nasync function initializeHooks() {\x0d\n const customLoaderURLs = getOptionValue('--experimental-loader');\x0d\n\x0d\n const { Hooks } = require('internal/modules/esm/hooks');\x0d\n const cascadedLoader = require('internal/modules/esm/loader').getOrInitializeCascadedLoader();\x0d\n\x0d\n const hooks = new Hooks();\x0d\n cascadedLoader.setCustomizations(hooks);\x0d\n\x0d\n // We need the loader customizations to be set _before_ we start invoking\x0d\n // `--require`\x2C otherwise loops can happen because a `--require` script\x0d\n // might call `register(...)` before we've installed ourselves. These\x0d\n // global values are magically set in `setupUserModules` just for us and\x0d\n // we call them in the correct order.\x0d\n // N.B. This block appears here specifically in order to ensure that\x0d\n // `--require` calls occur before `--loader` ones do.\x0d\n loadPreloadModules();\x0d\n initializeFrozenIntrinsics();\x0d\n\x0d\n const parentURL = getCWDURL().href;\x0d\n for (let i = 0; i < customLoaderURLs.length; i++) {\x0d\n await hooks.register(\x0d\n customLoaderURLs[i]\x2C\x0d\n parentURL\x2C\x0d\n );\x0d\n }\x0d\n\x0d\n const preloadScripts = hooks.initializeGlobalPreload();\x0d\n\x0d\n return { __proto__: null\x2C hooks\x2C preloadScripts };\x0d\n}\x0d\n\x0d\n/**\x0d\n * Compile a SourceTextModule for the built-in ESM loader. Register it for default\x0d\n * source map and import.meta and dynamic import() handling if cascadedLoader is provided.\x0d\n * @param {string} url URL of the module.\x0d\n * @param {string} source Source code of the module.\x0d\n * @param {typeof import('./loader.js').ModuleLoader|undefined} cascadedLoader If provided\x2C\x0d\n * register the module for default handling.\x0d\n * @returns {ModuleWrap}\x0d\n */\x0d\nfunction compileSourceTextModule(url\x2C source\x2C cascadedLoader) {\x0d\n const hostDefinedOption = cascadedLoader ? source_text_module_default_hdo : undefined;\x0d\n const wrap = new ModuleWrap(url\x2C undefined\x2C source\x2C 0\x2C 0\x2C hostDefinedOption);\x0d\n\x0d\n if (!cascadedLoader) {\x0d\n return wrap;\x0d\n }\x0d\n // Cache the source map for the module if present.\x0d\n if (wrap.sourceMapURL) {\x0d\n maybeCacheSourceMap(url\x2C source\x2C null\x2C false\x2C undefined\x2C wrap.sourceMapURL);\x0d\n }\x0d\n return wrap;\x0d\n}\x0d\n\x0d\nmodule.exports = {\x0d\n registerModule\x2C\x0d\n initializeESM\x2C\x0d\n initializeHooks\x2C\x0d\n getDefaultConditions\x2C\x0d\n getConditionsSet\x2C\x0d\n loaderWorkerId: 'internal/modules/esm/worker'\x2C\x0d\n forceDefaultLoader\x2C\x0d\n compileSourceTextModule\x2C\x0d\n};\x0d\n
code-source-info,0x23c51967596,67,10775,11146,C10O10809C12O10829C18O10854C21O10854C24O11005C32O11005C36O11075C44O11075C49O11145,,
code-creation,JS,10,288651,0x23c519682de,181,initializeDefaultConditions node:internal/modules/esm/utils:74:37,0x3b020016c0,~
code-source-info,0x23c519682de,67,1894,2252,C0O1925C8O1925C13O1977C21O1977C26O2035C37O2073C50O2144C95O2169C140O2093C147O2091C153O2195C160O2230C165O2218C173O2216C180O2251,,
code-creation,JS,10,288784,0x23c519684a6,5,hasStartedUserCJSExecution node:internal/modules/helpers:367:29,0x39e2db6b618,~
code-source-info,0x23c519684a6,44,11751,11801,C0O11761C4O11796,,
code-creation,JS,10,288840,0x23c5196856e,5,hasStartedUserESMExecution node:internal/modules/helpers:373:29,0x39e2db6b6b8,~
code-source-info,0x23c5196856e,44,11916,11966,C0O11926C4O11961,,
code-creation,JS,10,288941,0x23c5196867e,53,loadPreloadModules node:internal/process/pre_execution:721:28,0x3b02002cc0,~
code-source-info,0x23c5196867e,68,23594,23926,C0O23683C8O23683C13O23715C15O23752C21O23759C26O23841C32O23841C37O23794C42O23805C47O23886C52O23925,,
code-creation,JS,10,289024,0x23c51968826,42,initializeFrozenIntrinsics node:internal/process/pre_execution:710:36,0x3b02002c20,~
code-source-info,0x23c51968826,68,23297,23454,C0O23305C8O23309C14O23355C22O23355C26O23406C32O23406C37O23443C41O23453,,
code-creation,JS,10,289091,0x23c51968936,22,markBootstrapComplete node:internal/process/pre_execution:734:31,0x3b02002d10,~
code-source-info,0x23c51968936,68,23960,24026,C0O23968C6O23968C11O23998C16O23999C21O24025,,
code-creation,JS,10,289232,0x23c51968a0e,9,runEntryPointWithESMLoader node:internal/modules/run_main:146:36,0x3b02003660,~
script-source,70,node:internal/modules/run_main,'use strict';\x0d\n\x0d\nconst {\x0d\n StringPrototypeEndsWith\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst { containsModuleSyntax } = internalBinding('contextify');\x0d\nconst { getOptionValue } = require('internal/options');\x0d\nconst path = require('path');\x0d\nconst { pathToFileURL } = require('internal/url');\x0d\nconst { kEmptyObject\x2C getCWDURL } = require('internal/util');\x0d\nconst {\x0d\n hasUncaughtExceptionCaptureCallback\x2C\x0d\n} = require('internal/process/execution');\x0d\nconst {\x0d\n triggerUncaughtException\x2C\x0d\n exitCodes: { kUnfinishedTopLevelAwait }\x2C\x0d\n} = internalBinding('errors');\x0d\n\x0d\n/**\x0d\n * Get the absolute path to the main entry point.\x0d\n * @param {string} main - Entry point path\x0d\n */\x0d\nfunction resolveMainPath(main) {\x0d\n const defaultType = getOptionValue('--experimental-default-type');\x0d\n /** @type {string} */\x0d\n let mainPath;\x0d\n if (defaultType === 'module') {\x0d\n if (getOptionValue('--preserve-symlinks-main')) { return; }\x0d\n mainPath = path.resolve(main);\x0d\n } else {\x0d\n // Extension searching for the main entry point is supported only in legacy mode.\x0d\n // Module._findPath is monkey-patchable here.\x0d\n const { Module } = require('internal/modules/cjs/loader');\x0d\n mainPath = Module._findPath(path.resolve(main)\x2C null\x2C true);\x0d\n }\x0d\n if (!mainPath) { return; }\x0d\n\x0d\n const preserveSymlinksMain = getOptionValue('--preserve-symlinks-main');\x0d\n if (!preserveSymlinksMain) {\x0d\n const { toRealPath } = require('internal/modules/helpers');\x0d\n try {\x0d\n mainPath = toRealPath(mainPath);\x0d\n } catch (err) {\x0d\n if (defaultType === 'module' && err?.code === 'ENOENT') {\x0d\n const { decorateErrorWithCommonJSHints } = require('internal/modules/esm/resolve');\x0d\n const { getCWDURL } = require('internal/util');\x0d\n decorateErrorWithCommonJSHints(err\x2C mainPath\x2C getCWDURL());\x0d\n }\x0d\n throw err;\x0d\n }\x0d\n }\x0d\n\x0d\n return mainPath;\x0d\n}\x0d\n\x0d\n/**\x0d\n * Determine whether the main entry point should be loaded through the ESM Loader.\x0d\n * @param {string} mainPath - Absolute path to the main entry point\x0d\n */\x0d\nfunction shouldUseESMLoader(mainPath) {\x0d\n if (getOptionValue('--experimental-default-type') === 'module') { return true; }\x0d\n\x0d\n /**\x0d\n * @type {string[]} userLoaders A list of custom loaders registered by the user\x0d\n * (or an empty list when none have been registered).\x0d\n */\x0d\n const userLoaders = getOptionValue('--experimental-loader');\x0d\n /**\x0d\n * @type {string[]} userImports A list of preloaded modules registered by the user\x0d\n * (or an empty list when none have been registered).\x0d\n */\x0d\n const userImports = getOptionValue('--import');\x0d\n if (userLoaders.length > 0 || userImports.length > 0) { return true; }\x0d\n\x0d\n // Determine the module format of the entry point.\x0d\n if (mainPath && StringPrototypeEndsWith(mainPath\x2C '.mjs')) { return true; }\x0d\n if (!mainPath || StringPrototypeEndsWith(mainPath\x2C '.cjs')) { return false; }\x0d\n\x0d\n const { readPackageScope } = require('internal/modules/package_json_reader');\x0d\n const pkg = readPackageScope(mainPath);\x0d\n // No need to guard `pkg` as it can only be an object or `false`.\x0d\n switch (pkg.data?.type) {\x0d\n case 'module':\x0d\n return true;\x0d\n case 'commonjs':\x0d\n return false;\x0d\n default: { // No package.json or no `type` field.\x0d\n if (getOptionValue('--experimental-detect-module')) {\x0d\n // If the first argument of `containsModuleSyntax` is undefined\x2C it will read `mainPath` from the file system.\x0d\n return containsModuleSyntax(undefined\x2C mainPath);\x0d\n }\x0d\n return false;\x0d\n }\x0d\n }\x0d\n}\x0d\n\x0d\n/**\x0d\n * Handle a Promise from running code that potentially does Top-Level Await.\x0d\n * In that case\x2C it makes sense to set the exit code to a specific non-zero value\x0d\n * if the main code never finishes running.\x0d\n */\x0d\nfunction handleProcessExit() {\x0d\n process.exitCode ??= kUnfinishedTopLevelAwait;\x0d\n}\x0d\n\x0d\n/**\x0d\n * @param {function(ModuleLoader):ModuleWrap|undefined} callback\x0d\n */\x0d\nasync function asyncRunEntryPointWithESMLoader(callback) {\x0d\n process.on('exit'\x2C handleProcessExit);\x0d\n const cascadedLoader = require('internal/modules/esm/loader').getOrInitializeCascadedLoader();\x0d\n try {\x0d\n const userImports = getOptionValue('--import');\x0d\n if (userImports.length > 0) {\x0d\n const parentURL = getCWDURL().href;\x0d\n for (let i = 0; i < userImports.length; i++) {\x0d\n await cascadedLoader.import(userImports[i]\x2C parentURL\x2C kEmptyObject);\x0d\n }\x0d\n } else {\x0d\n cascadedLoader.forceLoadHooks();\x0d\n }\x0d\n await callback(cascadedLoader);\x0d\n } catch (err) {\x0d\n if (hasUncaughtExceptionCaptureCallback()) {\x0d\n process._fatalException(err);\x0d\n return;\x0d\n }\x0d\n triggerUncaughtException(\x0d\n err\x2C\x0d\n true\x2C /* fromPromise */\x0d\n );\x0d\n } finally {\x0d\n process.off('exit'\x2C handleProcessExit);\x0d\n }\x0d\n}\x0d\n\x0d\n/**\x0d\n * This initializes the ESM loader and runs --import (if any) before executing the\x0d\n * callback to run the entry point.\x0d\n * If the callback intends to evaluate a ESM module as entry point\x2C it should return\x0d\n * the corresponding ModuleWrap so that stalled TLA can be checked a process exit.\x0d\n * @param {function(ModuleLoader):ModuleWrap|undefined} callback\x0d\n * @returns {Promise}\x0d\n */\x0d\nfunction runEntryPointWithESMLoader(callback) {\x0d\n const promise = asyncRunEntryPointWithESMLoader(callback);\x0d\n return promise;\x0d\n}\x0d\n\x0d\n/**\x0d\n * Parse the CLI main entry point string and run it.\x0d\n * For backwards compatibility\x2C we have to run a bunch of monkey-patchable code that belongs to the CJS loader (exposed\x0d\n * by `require('module')`) even when the entry point is ESM.\x0d\n * This monkey-patchable code is bypassed under `--experimental-default-type=module`.\x0d\n * Because of backwards compatibility\x2C this function is exposed publicly via `import { runMain } from 'node:module'`.\x0d\n * @param {string} main - First positional CLI argument\x2C such as `'entry.js'` from `node entry.js`\x0d\n */\x0d\nfunction executeUserEntryPoint(main = process.argv[1]) {\x0d\n const resolvedMain = resolveMainPath(main);\x0d\n const useESMLoader = shouldUseESMLoader(resolvedMain);\x0d\n if (useESMLoader) {\x0d\n const mainPath = resolvedMain || main;\x0d\n const mainURL = pathToFileURL(mainPath).href;\x0d\n\x0d\n runEntryPointWithESMLoader((cascadedLoader) => {\x0d\n // Note that if the graph contains unfinished TLA\x2C this may never resolve\x0d\n // even after the event loop stops running.\x0d\n return cascadedLoader.import(mainURL\x2C undefined\x2C { __proto__: null }\x2C true);\x0d\n });\x0d\n } else {\x0d\n // Module._load is the monkey-patchable CJS module loader.\x0d\n const { Module } = require('internal/modules/cjs/loader');\x0d\n Module._load(main\x2C null\x2C true);\x0d\n }\x0d\n}\x0d\n\x0d\nmodule.exports = {\x0d\n executeUserEntryPoint\x2C\x0d\n runEntryPointWithESMLoader\x2C\x0d\n handleProcessExit\x2C\x0d\n};\x0d\n
code-source-info,0x23c51968a0e,70,5169,5265,C0O5201C3O5201C8O5262,,
code-creation,JS,10,289946,0x23c519692ee,389,asyncRunEntryPointWithESMLoader node:internal/modules/run_main:110:47,0x3b02003610,~
code-source-info,0x23c519692ee,70,3930,4740,C10O3930C18O3946C21O3954C32O3954C38O4011C44O4011C49O4049C54O4050C65O4117C73O4117C78O4166C84O4173C89O4205C94O4205C98O4216C103O4243C105O4262C109O4248C114O4307C121O4325C127O4341C136O4313C149O4286C172O4271C177O4230C183O4401C188O4401C192O4437C204O4431C242O4487C249O4491C254O4539C259O4547C267O4547C272O4576C281O4596C293O4596C312O4693C315O4701C326O4701C366O4739,,
code-creation,Eval,10,291186,0x23c5196a52e,5, node:internal/modules/esm/loader:1:1,0x23c51969fd0,~
script-source,81,node:internal/modules/esm/loader,'use strict';\x0d\n\x0d\n// This is needed to avoid cycles in esm/resolve <-> cjs/loader\x0d\nconst {\x0d\n kIsExecuting\x2C\x0d\n kRequiredModuleSymbol\x2C\x0d\n} = require('internal/modules/cjs/loader');\x0d\n\x0d\nconst {\x0d\n ArrayPrototypeJoin\x2C\x0d\n ArrayPrototypeMap\x2C\x0d\n ArrayPrototypeReduce\x2C\x0d\n FunctionPrototypeCall\x2C\x0d\n JSONStringify\x2C\x0d\n ObjectSetPrototypeOf\x2C\x0d\n RegExpPrototypeSymbolReplace\x2C\x0d\n encodeURIComponent\x2C\x0d\n hardenRegExp\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst { imported_cjs_symbol } = internalBinding('symbols');\x0d\n\x0d\nconst assert = require('internal/assert');\x0d\nconst {\x0d\n ERR_REQUIRE_CYCLE_MODULE\x2C\x0d\n ERR_REQUIRE_ESM\x2C\x0d\n ERR_NETWORK_IMPORT_DISALLOWED\x2C\x0d\n ERR_UNKNOWN_MODULE_FORMAT\x2C\x0d\n} = require('internal/errors').codes;\x0d\nconst { getOptionValue } = require('internal/options');\x0d\nconst { isURL\x2C pathToFileURL\x2C URL } = require('internal/url');\x0d\nconst { emitExperimentalWarning\x2C kEmptyObject } = require('internal/util');\x0d\nconst {\x0d\n compileSourceTextModule\x2C\x0d\n getDefaultConditions\x2C\x0d\n} = require('internal/modules/esm/utils');\x0d\nconst { kImplicitAssertType } = require('internal/modules/esm/assert');\x0d\nconst { canParse } = internalBinding('url');\x0d\nconst { ModuleWrap\x2C kEvaluating\x2C kEvaluated } = internalBinding('module_wrap');\x0d\nconst {\x0d\n urlToFilename\x2C\x0d\n} = require('internal/modules/helpers');\x0d\nlet defaultResolve\x2C defaultLoad\x2C defaultLoadSync\x2C importMetaInitializer;\x0d\n\x0d\n/**\x0d\n * @typedef {import('url').URL} URL\x0d\n */\x0d\n\x0d\n/**\x0d\n * Lazy loads the module_map module and returns a new instance of ResolveCache.\x0d\n * @returns {import('./module_map.js').ResolveCache}\x0d\n */\x0d\nfunction newResolveCache() {\x0d\n const { ResolveCache } = require('internal/modules/esm/module_map');\x0d\n return new ResolveCache();\x0d\n}\x0d\n\x0d\n/**\x0d\n * Generate a load cache (to store the final result of a load-chain for a particular module).\x0d\n * @returns {import('./module_map.js').LoadCache}\x0d\n */\x0d\nfunction newLoadCache() {\x0d\n const { LoadCache } = require('internal/modules/esm/module_map');\x0d\n return new LoadCache();\x0d\n}\x0d\n\x0d\n/**\x0d\n * Lazy-load translators to avoid potentially unnecessary work at startup (ex if ESM is not used).\x0d\n * @returns {import('./translators.js').Translators}\x0d\n */\x0d\nfunction getTranslators() {\x0d\n const { translators } = require('internal/modules/esm/translators');\x0d\n return translators;\x0d\n}\x0d\n\x0d\n/**\x0d\n * @type {HooksProxy}\x0d\n * Multiple loader instances exist for various\x2C specific reasons (see code comments at site).\x0d\n * In order to maintain consistency\x2C we use a single worker (sandbox)\x2C which must sit apart of an\x0d\n * individual loader instance.\x0d\n */\x0d\nlet hooksProxy;\x0d\n\x0d\n/**\x0d\n * @typedef {import('../cjs/loader.js').Module} CJSModule\x0d\n */\x0d\n\x0d\n/**\x0d\n * @typedef {Record<string\x2C any>} ModuleExports\x0d\n */\x0d\n\x0d\n/**\x0d\n * @typedef {'builtin'|'commonjs'|'json'|'module'|'wasm'} ModuleFormat\x0d\n */\x0d\n\x0d\n/**\x0d\n * @typedef {ArrayBuffer|TypedArray|string} ModuleSource\x0d\n */\x0d\n\x0d\n/**\x0d\n * This class covers the base machinery of module loading. To add custom\x0d\n * behavior you can pass a customizations object and this object will be\x0d\n * used to do the loading/resolving/registration process.\x0d\n */\x0d\nclass ModuleLoader {\x0d\n /**\x0d\n * The conditions for resolving packages if `--conditions` is not used.\x0d\n */\x0d\n #defaultConditions = getDefaultConditions();\x0d\n\x0d\n /**\x0d\n * Registry of resolved specifiers\x0d\n */\x0d\n #resolveCache = newResolveCache();\x0d\n\x0d\n /**\x0d\n * Registry of loaded modules\x2C akin to `require.cache`\x0d\n */\x0d\n loadCache = newLoadCache();\x0d\n\x0d\n /**\x0d\n * Methods which translate input code or other information into ES modules\x0d\n */\x0d\n translators = getTranslators();\x0d\n\x0d\n /**\x0d\n * Truthy to allow the use of `import.meta.resolve`. This is needed\x0d\n * currently because the `Hooks` class does not have `resolveSync`\x0d\n * implemented and `import.meta.resolve` requires it.\x0d\n */\x0d\n allowImportMetaResolve;\x0d\n\x0d\n /**\x0d\n * Customizations to pass requests to.\x0d\n *\x0d\n * Note that this value _MUST_ be set with `setCustomizations`\x0d\n * because it needs to copy `customizations.allowImportMetaResolve`\x0d\n * to this property and failure to do so will cause undefined\x0d\n * behavior when invoking `import.meta.resolve`.\x0d\n * @see {ModuleLoader.setCustomizations}\x0d\n */\x0d\n #customizations;\x0d\n\x0d\n constructor(customizations) {\x0d\n if (getOptionValue('--experimental-network-imports')) {\x0d\n emitExperimentalWarning('Network Imports');\x0d\n }\x0d\n this.setCustomizations(customizations);\x0d\n }\x0d\n\x0d\n /**\x0d\n * Change the currently activate customizations for this module\x0d\n * loader to be the provided `customizations`.\x0d\n *\x0d\n * If present\x2C this class customizes its core functionality to the\x0d\n * `customizations` object\x2C including registration\x2C loading\x2C and resolving.\x0d\n * There are some responsibilities that this class _always_ takes\x0d\n * care of\x2C like validating outputs\x2C so that the customizations object\x0d\n * does not have to do so.\x0d\n *\x0d\n * The customizations object has the shape:\x0d\n *\x0d\n * ```ts\x0d\n * interface LoadResult {\x0d\n * format: ModuleFormat;\x0d\n * source: ModuleSource;\x0d\n * }\x0d\n *\x0d\n * interface ResolveResult {\x0d\n * format: string;\x0d\n * url: URL['href'];\x0d\n * }\x0d\n *\x0d\n * interface Customizations {\x0d\n * allowImportMetaResolve: boolean;\x0d\n * load(url: string\x2C context: object): Promise<LoadResult>\x0d\n * resolve(\x0d\n * originalSpecifier:\x0d\n * string\x2C parentURL: string\x2C\x0d\n * importAttributes: Record<string\x2C string>\x0d\n * ): Promise<ResolveResult>\x0d\n * resolveSync(\x0d\n * originalSpecifier:\x0d\n * string\x2C parentURL: string\x2C\x0d\n * importAttributes: Record<string\x2C string>\x0d\n * ) ResolveResult;\x0d\n * register(specifier: string\x2C parentURL: string): any;\x0d\n * forceLoadHooks(): void;\x0d\n * }\x0d\n * ```\x0d\n *\x0d\n * Note that this class _also_ implements the `Customizations`\x0d\n * interface\x2C as does `CustomizedModuleLoader` and `Hooks`.\x0d\n *\x0d\n * Calling this function alters how modules are loaded and should be\x0d\n * invoked with care.\x0d\n * @param {object} customizations\x0d\n */\x0d\n setCustomizations(customizations) {\x0d\n this.#customizations = customizations;\x0d\n if (customizations) {\x0d\n this.allowImportMetaResolve = customizations.allowImportMetaResolve;\x0d\n } else {\x0d\n this.allowImportMetaResolve = true;\x0d\n }\x0d\n }\x0d\n\x0d\n async eval(source\x2C url) {\x0d\n const evalInstance = (url) => {\x0d\n return compileSourceTextModule(url\x2C source\x2C this);\x0d\n };\x0d\n const { ModuleJob } = require('internal/modules/esm/module_job');\x0d\n const job = new ModuleJob(\x0d\n this\x2C url\x2C undefined\x2C evalInstance\x2C false\x2C false);\x0d\n this.loadCache.set(url\x2C undefined\x2C job);\x0d\n const { module } = await job.run();\x0d\n\x0d\n return {\x0d\n __proto__: null\x2C\x0d\n namespace: module.getNamespace()\x2C\x0d\n module\x2C\x0d\n };\x0d\n }\x0d\n\x0d\n /**\x0d\n * Get a (possibly still pending) module job from the cache\x2C\x0d\n * or create one and return its Promise.\x0d\n * @param {string} specifier The string after `from` in an `import` statement\x2C\x0d\n * or the first parameter of an `import()`\x0d\n * expression\x0d\n * @param {string | undefined} parentURL The URL of the module importing this\x0d\n * one\x2C unless this is the Node.js entry\x0d\n * point.\x0d\n * @param {Record<string\x2C string>} importAttributes Validations for the\x0d\n * module import.\x0d\n * @returns {Promise<ModuleJob>} The (possibly pending) module job\x0d\n */\x0d\n async getModuleJob(specifier\x2C parentURL\x2C importAttributes) {\x0d\n const resolveResult = await this.resolve(specifier\x2C parentURL\x2C importAttributes);\x0d\n return this.getJobFromResolveResult(resolveResult\x2C parentURL\x2C importAttributes);\x0d\n }\x0d\n\x0d\n getModuleJobSync(specifier\x2C parentURL\x2C importAttributes) {\x0d\n const resolveResult = this.resolveSync(specifier\x2C parentURL\x2C importAttributes);\x0d\n return this.getJobFromResolveResult(resolveResult\x2C parentURL\x2C importAttributes\x2C true);\x0d\n }\x0d\n\x0d\n getJobFromResolveResult(resolveResult\x2C parentURL\x2C importAttributes\x2C sync) {\x0d\n const { url\x2C format } = resolveResult;\x0d\n const resolvedImportAttributes = resolveResult.importAttributes ?? importAttributes;\x0d\n let job = this.loadCache.get(url\x2C resolvedImportAttributes.type);\x0d\n\x0d\n // CommonJS will set functions for lazy job evaluation.\x0d\n if (typeof job === 'function') {\x0d\n this.loadCache.set(url\x2C undefined\x2C job = job());\x0d\n }\x0d\n\x0d\n if (job === undefined) {\x0d\n job = this.#createModuleJob(url\x2C resolvedImportAttributes\x2C parentURL\x2C format\x2C sync);\x0d\n }\x0d\n\x0d\n return job;\x0d\n }\x0d\n\x0d\n /**\x0d\n * This constructs (creates\x2C instantiates and evaluates) a module graph that\x0d\n * is require()'d.\x0d\n * @param {CJSModule} mod CJS module wrapper of the ESM.\x0d\n * @param {string} filename Resolved filename of the module being require()'d\x0d\n * @param {string} source Source code. TODO(joyeecheung): pass the raw buffer.\x0d\n * @param {string} isMain Whether this module is a main module.\x0d\n * @param {CJSModule|undefined} parent Parent module\x2C if any.\x0d\n * @returns {{ModuleWrap}}\x0d\n */\x0d\n importSyncForRequire(mod\x2C filename\x2C source\x2C isMain\x2C parent) {\x0d\n const url = pathToFileURL(filename).href;\x0d\n let job = this.loadCache.get(url\x2C kImplicitAssertType);\x0d\n // This module job is already created:\x0d\n // 1. If it was loaded by `require()` before\x2C at this point the instantiation\x0d\n // is already completed and we can check the whether it is in a cycle\x0d\n // (in that case the module status is kEvaluaing)\x2C and whether the\x0d\n // required graph is synchronous.\x0d\n // 2. If it was loaded by `import` before\x2C only allow it if it's already evaluated\x0d\n // to forbid cycles.\x0d\n // TODO(joyeecheung): ensure that imported synchronous graphs are evaluated\x0d\n // synchronously so that any previously imported synchronous graph is already\x0d\n // evaluated at this point.\x0d\n if (job !== undefined) {\x0d\n mod[kRequiredModuleSymbol] = job.module;\x0d\n if (job.module.getStatus() !== kEvaluated) {\x0d\n const parentFilename = urlToFilename(parent?.filename);\x0d\n let message = `Cannot require() ES Module ${filename} in a cycle.`;\x0d\n if (parentFilename) {\x0d\n message += ` (from ${parentFilename})`;\x0d\n }\x0d\n throw new ERR_REQUIRE_CYCLE_MODULE(message);\x0d\n }\x0d\n return job.module.getNamespaceSync();\x0d\n }\x0d\n // TODO(joyeecheung): refactor this so that we pre-parse in C++ and hit the\x0d\n // cache here\x2C or use a carrier object to carry the compiled module script\x0d\n // into the constructor to ensure cache hit.\x0d\n const wrap = compileSourceTextModule(url\x2C source\x2C this);\x0d\n const inspectBrk = (isMain && getOptionValue('--inspect-brk'));\x0d\n\x0d\n const { ModuleJobSync } = require('internal/modules/esm/module_job');\x0d\n job = new ModuleJobSync(this\x2C url\x2C kEmptyObject\x2C wrap\x2C isMain\x2C inspectBrk);\x0d\n this.loadCache.set(url\x2C kImplicitAssertType\x2C job);\x0d\n mod[kRequiredModuleSymbol] = job.module;\x0d\n return job.runSync().namespace;\x0d\n }\x0d\n\x0d\n /**\x0d\n * Resolve individual module requests and create or get the cached ModuleWraps for\x0d\n * each of them. This is only used to create a module graph being require()'d.\x0d\n * @param {string} specifier Specifier of the the imported module.\x0d\n * @param {string} parentURL Where the import comes from.\x0d\n * @param {object} importAttributes import attributes from the import statement.\x0d\n * @returns {ModuleJobBase}\x0d\n */\x0d\n getModuleWrapForRequire(specifier\x2C parentURL\x2C importAttributes) {\x0d\n assert(getOptionValue('--experimental-require-module'));\x0d\n\x0d\n if (canParse(specifier)) {\x0d\n const protocol = new URL(specifier).protocol;\x0d\n if (protocol === 'https:' || protocol === 'http:') {\x0d\n throw new ERR_NETWORK_IMPORT_DISALLOWED(specifier\x2C parentURL\x2C\x0d\n 'ES modules cannot be loaded by require() from the network');\x0d\n }\x0d\n assert(protocol === 'file:' || protocol === 'node:' || protocol === 'data:');\x0d\n }\x0d\n\x0d\n const requestKey = this.#resolveCache.serializeKey(specifier\x2C importAttributes);\x0d\n let resolveResult = this.#resolveCache.get(requestKey\x2C parentURL);\x0d\n if (resolveResult == null) {\x0d\n resolveResult = this.defaultResolve(specifier\x2C parentURL\x2C importAttributes);\x0d\n this.#resolveCache.set(requestKey\x2C parentURL\x2C resolveResult);\x0d\n }\x0d\n\x0d\n const { url\x2C format } = resolveResult;\x0d\n const resolvedImportAttributes = resolveResult.importAttributes ?? importAttributes;\x0d\n let job = this.loadCache.get(url\x2C resolvedImportAttributes.type);\x0d\n if (job !== undefined) {\x0d\n // This module is being evaluated\x2C which means it's imported in a previous link\x0d\n // in a cycle.\x0d\n if (job.module.getStatus() === kEvaluating) {\x0d\n const parentFilename = urlToFilename(parentURL);\x0d\n let message = `Cannot import Module ${specifier} in a cycle.`;\x0d\n if (parentFilename) {\x0d\n message += ` (from ${parentFilename})`;\x0d\n }\x0d\n throw new ERR_REQUIRE_CYCLE_MODULE(message);\x0d\n }\x0d\n // Otherwise the module could be imported before but the evaluation may be already\x0d\n // completed (e.g. the require call is lazy) so it's okay. We will return the\x0d\n // module now and check asynchronicity of the entire graph later\x2C after the\x0d\n // graph is instantiated.\x0d\n return job;\x0d\n }\x0d\n\x0d\n defaultLoadSync ??= require('internal/modules/esm/load').defaultLoadSync;\x0d\n const loadResult = defaultLoadSync(url\x2C { format\x2C importAttributes });\x0d\n const {\x0d\n format: finalFormat\x2C\x0d\n responseURL\x2C\x0d\n source\x2C\x0d\n } = loadResult;\x0d\n\x0d\n this.validateLoadResult(url\x2C finalFormat);\x0d\n if (finalFormat === 'wasm') {\x0d\n assert.fail('WASM is currently unsupported by require(esm)');\x0d\n }\x0d\n\x0d\n const translator = getTranslators().get(finalFormat);\x0d\n if (!translator) {\x0d\n throw new ERR_UNKNOWN_MODULE_FORMAT(finalFormat\x2C responseURL);\x0d\n }\x0d\n\x0d\n const isMain = (parentURL === undefined);\x0d\n const wrap = FunctionPrototypeCall(translator\x2C this\x2C responseURL\x2C source\x2C isMain);\x0d\n assert(wrap instanceof ModuleWrap); // No asynchronous translators should be called.\x0d\n\x0d\n if (process.env.WATCH_REPORT_DEPENDENCIES && process.send) {\x0d\n process.send({ 'watch:import': [url] });\x0d\n }\x0d\n\x0d\n const cjsModule = wrap[imported_cjs_symbol];\x0d\n if (cjsModule) {\x0d\n assert(finalFormat === 'commonjs-sync');\x0d\n // Check if the ESM initiating import CJS is being required by the same CJS module.\x0d\n if (cjsModule && cjsModule[kIsExecuting]) {\x0d\n const parentFilename = urlToFilename(parentURL);\x0d\n let message = `Cannot import CommonJS Module ${specifier} in a cycle.`;\x0d\n if (parentFilename) {\x0d\n message += ` (from ${parentFilename})`;\x0d\n }\x0d\n throw new ERR_REQUIRE_CYCLE_MODULE(message);\x0d\n }\x0d\n }\x0d\n\x0d\n const inspectBrk = (isMain && getOptionValue('--inspect-brk'));\x0d\n const { ModuleJobSync } = require('internal/modules/esm/module_job');\x0d\n job = new ModuleJobSync(this\x2C url\x2C importAttributes\x2C wrap\x2C isMain\x2C inspectBrk);\x0d\n\x0d\n this.loadCache.set(url\x2C importAttributes.type\x2C job);\x0d\n return job;\x0d\n }\x0d\n\x0d\n /**\x0d\n * Create and cache an object representing a loaded module.\x0d\n * @param {string} url The absolute URL that was resolved for this module\x0d\n * @param {Record<string\x2C string>} importAttributes Validations for the\x0d\n * module import.\x0d\n * @param {string} [parentURL] The absolute URL of the module importing this\x0d\n * one\x2C unless this is the Node.js entry point\x0d\n * @param {string} [format] The format hint possibly returned by the\x0d\n * `resolve` hook\x0d\n * @returns {Promise<ModuleJob>} The (possibly pending) module job\x0d\n */\x0d\n #createModuleJob(url\x2C importAttributes\x2C parentURL\x2C format\x2C sync) {\x0d\n const callTranslator = ({ format: finalFormat\x2C responseURL\x2C source }\x2C isMain) => {\x0d\n const translator = getTranslators().get(finalFormat);\x0d\n\x0d\n if (!translator) {\x0d\n throw new ERR_UNKNOWN_MODULE_FORMAT(finalFormat\x2C responseURL);\x0d\n }\x0d\n\x0d\n return FunctionPrototypeCall(translator\x2C this\x2C responseURL\x2C source\x2C isMain);\x0d\n };\x0d\n const context = { format\x2C importAttributes };\x0d\n\x0d\n const moduleProvider = sync ?\x0d\n (url\x2C isMain) => callTranslator(this.loadSync(url\x2C context)\x2C isMain) :\x0d\n async (url\x2C isMain) => callTranslator(await this.load(url\x2C context)\x2C isMain);\x0d\n\x0d\n const isMain = parentURL === undefined;\x0d\n const inspectBrk = (\x0d\n isMain &&\x0d\n getOptionValue('--inspect-brk')\x0d\n );\x0d\n\x0d\n if (process.env.WATCH_REPORT_DEPENDENCIES && process.send) {\x0d\n process.send({ 'watch:import': [url] });\x0d\n }\x0d\n\x0d\n const { ModuleJob } = require('internal/modules/esm/module_job');\x0d\n const job = new ModuleJob(\x0d\n this\x2C\x0d\n url\x2C\x0d\n importAttributes\x2C\x0d\n moduleProvider\x2C\x0d\n isMain\x2C\x0d\n inspectBrk\x2C\x0d\n sync\x2C\x0d\n );\x0d\n\x0d\n this.loadCache.set(url\x2C importAttributes.type\x2C job);\x0d\n\x0d\n return job;\x0d\n }\x0d\n\x0d\n /**\x0d\n * This method is usually called indirectly as part of the loading processes.\x0d\n * Use directly with caution.\x0d\n * @param {string} specifier The first parameter of an `import()` expression.\x0d\n * @param {string} parentURL Path of the parent importing the module.\x0d\n * @param {Record<string\x2C string>} importAttributes Validations for the\x0d\n * module import.\x0d\n * @returns {Promise<ModuleExports>}\x0d\n */\x0d\n async import(specifier\x2C parentURL\x2C importAttributes) {\x0d\n const moduleJob = await this.getModuleJob(specifier\x2C parentURL\x2C importAttributes);\x0d\n const { module } = await moduleJob.run();\x0d\n return module.getNamespace();\x0d\n }\x0d\n\x0d\n /**\x0d\n * @see {@link CustomizedModuleLoader.register}\x0d\n */\x0d\n register(specifier\x2C parentURL\x2C data\x2C transferList) {\x0d\n if (!this.#customizations) {\x0d\n // `CustomizedModuleLoader` is defined at the bottom of this file and\x0d\n // available well before this line is ever invoked. This is here in\x0d\n // order to preserve the git diff instead of moving the class.\x0d\n // eslint-disable-next-line no-use-before-define\x0d\n this.setCustomizations(new CustomizedModuleLoader());\x0d\n }\x0d\n return this.#customizations.register(`${specifier}`\x2C `${parentURL}`\x2C data\x2C transferList);\x0d\n }\x0d\n\x0d\n /**\x0d\n * Resolve the location of the module.\x0d\n * @param {string} originalSpecifier The specified URL path of the module to\x0d\n * be resolved.\x0d\n * @param {string} [parentURL] The URL path of the module's parent.\x0d\n * @param {ImportAttributes} importAttributes Attributes from the import\x0d\n * statement or expression.\x0d\n * @returns {{ format: string\x2C url: URL['href'] }}\x0d\n */\x0d\n resolve(originalSpecifier\x2C parentURL\x2C importAttributes) {\x0d\n if (this.#customizations) {\x0d\n return this.#customizations.resolve(originalSpecifier\x2C parentURL\x2C importAttributes);\x0d\n }\x0d\n const requestKey = this.#resolveCache.serializeKey(originalSpecifier\x2C importAttributes);\x0d\n const cachedResult = this.#resolveCache.get(requestKey\x2C parentURL);\x0d\n if (cachedResult != null) {\x0d\n return cachedResult;\x0d\n }\x0d\n const result = this.defaultResolve(originalSpecifier\x2C parentURL\x2C importAttributes);\x0d\n this.#resolveCache.set(requestKey\x2C parentURL\x2C result);\x0d\n return result;\x0d\n }\x0d\n\x0d\n /**\x0d\n * Just like `resolve` except synchronous. This is here specifically to support\x0d\n * `import.meta.resolve` which must happen synchronously.\x0d\n */\x0d\n resolveSync(originalSpecifier\x2C parentURL\x2C importAttributes) {\x0d\n if (this.#customizations) {\x0d\n return this.#customizations.resolveSync(originalSpecifier\x2C parentURL\x2C importAttributes);\x0d\n }\x0d\n return this.defaultResolve(originalSpecifier\x2C parentURL\x2C importAttributes);\x0d\n }\x0d\n\x0d\n /**\x0d\n * Our `defaultResolve` is synchronous and can be used in both\x0d\n * `resolve` and `resolveSync`. This function is here just to avoid\x0d\n * repeating the same code block twice in those functions.\x0d\n */\x0d\n defaultResolve(originalSpecifier\x2C parentURL\x2C importAttributes) {\x0d\n defaultResolve ??= require('internal/modules/esm/resolve').defaultResolve;\x0d\n\x0d\n const context = {\x0d\n __proto__: null\x2C\x0d\n conditions: this.#defaultConditions\x2C\x0d\n importAttributes\x2C\x0d\n parentURL\x2C\x0d\n };\x0d\n\x0d\n return defaultResolve(originalSpecifier\x2C context);\x0d\n }\x0d\n\x0d\n /**\x0d\n * Provide source that is understood by one of Node's translators.\x0d\n * @param {URL['href']} url The URL/path of the module to be loaded\x0d\n * @param {object} [context] Metadata about the module\x0d\n * @returns {Promise<{ format: ModuleFormat\x2C source: ModuleSource }>}\x0d\n */\x0d\n async load(url\x2C context) {\x0d\n defaultLoad ??= require('internal/modules/esm/load').defaultLoad;\x0d\n const result = this.#customizations ?\x0d\n await this.#customizations.load(url\x2C context) :\x0d\n await defaultLoad(url\x2C context);\x0d\n this.validateLoadResult(url\x2C result?.format);\x0d\n return result;\x0d\n }\x0d\n\x0d\n loadSync(url\x2C context) {\x0d\n defaultLoadSync ??= require('internal/modules/esm/load').defaultLoadSync;\x0d\n\x0d\n let result = this.#customizations ?\x0d\n this.#customizations.loadSync(url\x2C context) :\x0d\n defaultLoadSync(url\x2C context);\x0d\n let format = result?.format;\x0d\n if (format === 'module') {\x0d\n throw new ERR_REQUIRE_ESM(url\x2C true);\x0d\n }\x0d\n if (format === 'commonjs') {\x0d\n format = 'require-commonjs';\x0d\n result = { __proto__: result\x2C format };\x0d\n }\x0d\n this.validateLoadResult(url\x2C format);\x0d\n return result;\x0d\n }\x0d\n\x0d\n validateLoadResult(url\x2C format) {\x0d\n if (format == null) {\x0d\n require('internal/modules/esm/load').throwUnknownModuleFormat(url\x2C format);\x0d\n }\x0d\n }\x0d\n\x0d\n importMetaInitialize(meta\x2C context) {\x0d\n if (this.#customizations) {\x0d\n return this.#customizations.importMetaInitialize(meta\x2C context\x2C this);\x0d\n }\x0d\n importMetaInitializer ??= require('internal/modules/esm/initialize_import_meta').initializeImportMeta;\x0d\n meta = importMetaInitializer(meta\x2C context\x2C this);\x0d\n return meta;\x0d\n }\x0d\n\x0d\n /**\x0d\n * No-op when no hooks have been supplied.\x0d\n */\x0d\n forceLoadHooks() {\x0d\n this.#customizations?.forceLoadHooks();\x0d\n }\x0d\n}\x0d\nObjectSetPrototypeOf(ModuleLoader.prototype\x2C null);\x0d\n\x0d\nclass CustomizedModuleLoader {\x0d\n\x0d\n allowImportMetaResolve = true;\x0d\n\x0d\n /**\x0d\n * Instantiate a module loader that uses user-provided custom loader hooks.\x0d\n */\x0d\n constructor() {\x0d\n getHooksProxy();\x0d\n }\x0d\n\x0d\n /**\x0d\n * Register some loader specifier.\x0d\n * @param {string} originalSpecifier The specified URL path of the loader to\x0d\n * be registered.\x0d\n * @param {string} parentURL The parent URL from where the loader will be\x0d\n * registered if using it package name as specifier\x0d\n * @param {any} [data] Arbitrary data to be passed from the custom loader\x0d\n * (user-land) to the worker.\x0d\n * @param {any[]} [transferList] Objects in `data` that are changing ownership\x0d\n * @returns {{ format: string\x2C url: URL['href'] }}\x0d\n */\x0d\n register(originalSpecifier\x2C parentURL\x2C data\x2C transferList) {\x0d\n return hooksProxy.makeSyncRequest('register'\x2C transferList\x2C originalSpecifier\x2C parentURL\x2C data);\x0d\n }\x0d\n\x0d\n /**\x0d\n * Resolve the location of the module.\x0d\n * @param {string} originalSpecifier The specified URL path of the module to\x0d\n * be resolved.\x0d\n * @param {string} [parentURL] The URL path of the module's parent.\x0d\n * @param {ImportAttributes} importAttributes Attributes from the import\x0d\n * statement or expression.\x0d\n * @returns {{ format: string\x2C url: URL['href'] }}\x0d\n */\x0d\n resolve(originalSpecifier\x2C parentURL\x2C importAttributes) {\x0d\n return hooksProxy.makeAsyncRequest('resolve'\x2C undefined\x2C originalSpecifier\x2C parentURL\x2C importAttributes);\x0d\n }\x0d\n\x0d\n resolveSync(originalSpecifier\x2C parentURL\x2C importAttributes) {\x0d\n // This happens only as a result of `import.meta.resolve` calls\x2C which must be sync per spec.\x0d\n return hooksProxy.makeSyncRequest('resolve'\x2C undefined\x2C originalSpecifier\x2C parentURL\x2C importAttributes);\x0d\n }\x0d\n\x0d\n /**\x0d\n * Provide source that is understood by one of Node's translators.\x0d\n * @param {URL['href']} url The URL/path of the module to be loaded\x0d\n * @param {object} [context] Metadata about the module\x0d\n * @returns {Promise<{ format: ModuleFormat\x2C source: ModuleSource }>}\x0d\n */\x0d\n load(url\x2C context) {\x0d\n return hooksProxy.makeAsyncRequest('load'\x2C undefined\x2C url\x2C context);\x0d\n }\x0d\n loadSync(url\x2C context) {\x0d\n return hooksProxy.makeSyncRequest('load'\x2C undefined\x2C url\x2C context);\x0d\n }\x0d\n\x0d\n importMetaInitialize(meta\x2C context\x2C loader) {\x0d\n hooksProxy.importMetaInitialize(meta\x2C context\x2C loader);\x0d\n }\x0d\n\x0d\n forceLoadHooks() {\x0d\n hooksProxy.waitForWorker();\x0d\n }\x0d\n}\x0d\n\x0d\nlet emittedLoaderFlagWarning = false;\x0d\n/**\x0d\n * A loader instance is used as the main entry point for loading ES modules. Currently\x2C this is a singleton; there is\x0d\n * only one used for loading the main module and everything in its dependency graph\x2C though separate instances of this\x0d\n * class might be instantiated as part of bootstrap for other purposes.\x0d\n * @returns {ModuleLoader}\x0d\n */\x0d\nfunction createModuleLoader() {\x0d\n let customizations = null;\x0d\n // Don't spawn a new worker if custom loaders are disabled. For instance\x2C if\x0d\n // we're already in a worker thread created by instantiating\x0d\n // CustomizedModuleLoader; doing so would cause an infinite loop.\x0d\n if (!require('internal/modules/esm/utils').forceDefaultLoader()) {\x0d\n const userLoaderPaths = getOptionValue('--experimental-loader');\x0d\n if (userLoaderPaths.length > 0) {\x0d\n if (!emittedLoaderFlagWarning) {\x0d\n const readableURIEncode = (string) => ArrayPrototypeReduce(\x0d\n [\x0d\n [/'/g\x2C '%27']\x2C // We need to URL-encode the single quote as it's the delimiter for the --import flag.\x0d\n [/%22/g\x2C '"']\x2C // We can decode the double quotes to improve readability.\x0d\n [/%2F/ig\x2C '/']\x2C // We can decode the slashes to improve readability.\x0d\n ]\x2C\x0d\n (str\x2C { 0: regex\x2C 1: replacement }) => RegExpPrototypeSymbolReplace(hardenRegExp(regex)\x2C str\x2C replacement)\x2C\x0d\n encodeURIComponent(string));\x0d\n process.emitWarning(\x0d\n '`--experimental-loader` may be removed in the future; instead use `register()`:\\n' +\x0d\n `--import 'data:text/javascript\x2Cimport { register } from "node:module"; import { pathToFileURL } from "node:url"; ${ArrayPrototypeJoin(\x0d\n ArrayPrototypeMap(userLoaderPaths\x2C (loader) => `register(${readableURIEncode(JSONStringify(loader))}\x2C pathToFileURL("./"))`)\x2C\x0d\n '; '\x2C\x0d\n )};'`\x2C\x0d\n 'ExperimentalWarning'\x2C\x0d\n );\x0d\n emittedLoaderFlagWarning = true;\x0d\n }\x0d\n customizations = new CustomizedModuleLoader();\x0d\n }\x0d\n }\x0d\n\x0d\n return new ModuleLoader(customizations);\x0d\n}\x0d\n\x0d\n\x0d\n/**\x0d\n * Get the HooksProxy instance. If it is not defined\x2C then create a new one.\x0d\n * @returns {HooksProxy}\x0d\n */\x0d\nfunction getHooksProxy() {\x0d\n if (!hooksProxy) {\x0d\n const { HooksProxy } = require('internal/modules/esm/hooks');\x0d\n hooksProxy = new HooksProxy();\x0d\n }\x0d\n\x0d\n return hooksProxy;\x0d\n}\x0d\n\x0d\nlet cascadedLoader;\x0d\n\x0d\n/**\x0d\n * This is a singleton ESM loader that integrates the loader hooks\x2C if any.\x0d\n * It it used by other internal built-ins when they need to load ESM code\x0d\n * while also respecting hooks.\x0d\n * When built-ins need access to this loader\x2C they should do\x0d\n * require('internal/module/esm/loader').getOrInitializeCascadedLoader()\x0d\n * lazily only right before the loader is actually needed\x2C and don't do it\x0d\n * in the top-level\x2C to avoid circular dependencies.\x0d\n * @returns {ModuleLoader}\x0d\n */\x0d\nfunction getOrInitializeCascadedLoader() {\x0d\n cascadedLoader ??= createModuleLoader();\x0d\n return cascadedLoader;\x0d\n}\x0d\n\x0d\n/**\x0d\n * Register a single loader programmatically.\x0d\n * @param {string|URL} specifier\x0d\n * @param {string|URL} [parentURL] Base to use when resolving `specifier`; optional if\x0d\n * `specifier` is absolute. Same as `options.parentUrl`\x2C just inline\x0d\n * @param {object} [options] Additional options to apply\x2C described below.\x0d\n * @param {string|URL} [options.parentURL] Base to use when resolving `specifier`\x0d\n * @param {any} [options.data] Arbitrary data passed to the loader's `initialize` hook\x0d\n * @param {any[]} [options.transferList] Objects in `data` that are changing ownership\x0d\n * @returns {void} We want to reserve the return value for potential future extension of the API.\x0d\n * @example\x0d\n * ```js\x0d\n * register('./myLoader.js');\x0d\n * register('ts-node/esm'\x2C { parentURL: import.meta.url });\x0d\n * register('./myLoader.js'\x2C { parentURL: import.meta.url });\x0d\n * register('ts-node/esm'\x2C import.meta.url);\x0d\n * register('./myLoader.js'\x2C import.meta.url);\x0d\n * register(new URL('./myLoader.js'\x2C import.meta.url));\x0d\n * register('./myLoader.js'\x2C {\x0d\n * parentURL: import.meta.url\x2C\x0d\n * data: { banana: 'tasty' }\x2C\x0d\n * });\x0d\n * register('./myLoader.js'\x2C {\x0d\n * parentURL: import.meta.url\x2C\x0d\n * data: someArrayBuffer\x2C\x0d\n * transferList: [someArrayBuffer]\x2C\x0d\n * });\x0d\n * ```\x0d\n */\x0d\nfunction register(specifier\x2C parentURL = undefined\x2C options) {\x0d\n if (parentURL != null && typeof parentURL === 'object' && !isURL(parentURL)) {\x0d\n options = parentURL;\x0d\n parentURL = options.parentURL;\x0d\n }\x0d\n getOrInitializeCascadedLoader().register(\x0d\n specifier\x2C\x0d\n parentURL ?? 'data:'\x2C\x0d\n options?.data\x2C\x0d\n options?.transferList\x2C\x0d\n );\x0d\n}\x0d\n\x0d\nmodule.exports = {\x0d\n createModuleLoader\x2C\x0d\n getHooksProxy\x2C\x0d\n getOrInitializeCascadedLoader\x2C\x0d\n register\x2C\x0d\n};\x0d\n
code-source-info,0x23c5196a52e,81,0,29595,C0O0C4O29595,,
code-creation,JS,10,293951,0x23c5196b8b6,802, node:internal/modules/esm/loader:1:1,0x23c5196a4a8,~
code-source-info,0x23c5196b8b6,81,0,29595,C0O0C171O138C177O138C182O93C188O110C194O192C200O215C206O237C212O262C218O288C224O306C229O331C235O364C241O387C247O454C250O454C255O430C261O500C267O500C271O500C273O655C279O655C284O681C289O540C295O569C301O589C307O623C313O717C319O717C324O698C330O785C336O785C341O755C347O762C353O777C359O861C365O861C370O819C376O844C382O954C388O954C393O899C399O927C405O1026C411O1026C416O1002C422O1088C425O1088C430O1075C436O1161C439O1161C444O1121C450O1133C456O1146C462O1225C468O1225C473O1205C479O1267C480O1267C482O1283C483O1283C485O1296C486O1296C488O1313C489O1313C491O2510C492O2510C677O3028C679O22200C682O22234C689O22200C757O22255C759O24864C760O24864C762O27227C763O27227C765O29483C772O29505C778O29528C784O29546C790O29580C796O29498C801O29594,,
code-creation,JS,10,294140,0x23c5196bd5e,7,<instance_members_initializer> node:internal/modules/esm/loader:600:1,0x23c5196b038,~
code-source-info,0x23c5196bd5e,81,22255,24829,C0O22316C6O24829,,
code-creation,JS,10,294177,0x23c5196be06,74,<instance_members_initializer> node:internal/modules/esm/loader:105:1,0x23c5196ad80,~
code-source-info,0x23c5196be06,81,3028,22198,C3O3162C10O3162C21O3259C26O3259C34O3367C39O3367C46O3494C51O3494C59O3729C67O4119C73O22198,,
code-creation,Eval,10,294767,0x23c5196dfc6,5, node:internal/modules/esm/assert:1:1,0x23c5196ddc0,~
script-source,82,node:internal/modules/esm/assert,'use strict';\x0d\n\x0d\nconst {\x0d\n ArrayPrototypeFilter\x2C\x0d\n ArrayPrototypeIncludes\x2C\x0d\n ObjectKeys\x2C\x0d\n ObjectValues\x2C\x0d\n ObjectPrototypeHasOwnProperty\x2C\x0d\n} = primordials;\x0d\nconst { validateString } = require('internal/validators');\x0d\n\x0d\nconst {\x0d\n ERR_IMPORT_ASSERTION_TYPE_FAILED\x2C\x0d\n ERR_IMPORT_ASSERTION_TYPE_MISSING\x2C\x0d\n ERR_IMPORT_ASSERTION_TYPE_UNSUPPORTED\x2C\x0d\n ERR_IMPORT_ATTRIBUTE_UNSUPPORTED\x2C\x0d\n} = require('internal/errors').codes;\x0d\n\x0d\n// The HTML spec has an implied default type of `'javascript'`.\x0d\nconst kImplicitAssertType = 'javascript';\x0d\n\x0d\n/**\x0d\n * Define a map of module formats to import attributes types (the value of\x0d\n * `type` in `with { type: 'json' }`).\x0d\n * @type {Map<string\x2C string>}\x0d\n */\x0d\nconst formatTypeMap = {\x0d\n '__proto__': null\x2C\x0d\n 'builtin': kImplicitAssertType\x2C\x0d\n 'commonjs': kImplicitAssertType\x2C\x0d\n 'json': 'json'\x2C\x0d\n 'module': kImplicitAssertType\x2C\x0d\n 'wasm': kImplicitAssertType\x2C // It's unclear whether the HTML spec will require an attribute type or not for Wasm; see https://github.com/WebAssembly/esm-integration/issues/42\x0d\n};\x0d\n\x0d\n/**\x0d\n * The HTML spec disallows the default type to be explicitly specified\x0d\n * (for now); so `import './file.js'` is okay but\x0d\n * `import './file.js' with { type: 'javascript' }` throws.\x0d\n * @type {Array<string\x2C string>}\x0d\n */\x0d\nconst supportedAssertionTypes = ArrayPrototypeFilter(\x0d\n ObjectValues(formatTypeMap)\x2C\x0d\n (type) => type !== kImplicitAssertType);\x0d\n\x0d\n\x0d\n/**\x0d\n * Test a module's import attributes.\x0d\n * @param {string} url The URL of the imported module\x2C for error reporting.\x0d\n * @param {string} format One of Node's supported translators\x0d\n * @param {Record<string\x2C string>} importAttributes Validations for the\x0d\n * module import.\x0d\n * @returns {true}\x0d\n * @throws {TypeError} If the format and assertion type are incompatible.\x0d\n */\x0d\nfunction validateAttributes(url\x2C format\x2C\x0d\n importAttributes = { __proto__: null }) {\x0d\n const keys = ObjectKeys(importAttributes);\x0d\n for (let i = 0; i < keys.length; i++) {\x0d\n if (keys[i] !== 'type') {\x0d\n throw new ERR_IMPORT_ATTRIBUTE_UNSUPPORTED(keys[i]\x2C importAttributes[keys[i]]);\x0d\n }\x0d\n }\x0d\n const validType = formatTypeMap[format];\x0d\n\x0d\n switch (validType) {\x0d\n case undefined:\x0d\n // Ignore attributes for module formats we don't recognize\x2C to allow new\x0d\n // formats in the future.\x0d\n return true;\x0d\n\x0d\n case kImplicitAssertType:\x0d\n // This format doesn't allow an import assertion type\x2C so the property\x0d\n // must not be set on the import attributes object.\x0d\n if (!ObjectPrototypeHasOwnProperty(importAttributes\x2C 'type')) {\x0d\n return true;\x0d\n }\x0d\n return handleInvalidType(url\x2C importAttributes.type);\x0d\n\x0d\n case importAttributes.type:\x0d\n // The asserted type is the valid type for this format.\x0d\n return true;\x0d\n\x0d\n default:\x0d\n // There is an expected type for this format\x2C but the value of\x0d\n // `importAttributes.type` might not have been it.\x0d\n if (!ObjectPrototypeHasOwnProperty(importAttributes\x2C 'type')) {\x0d\n // `type` wasn't specified at all.\x0d\n throw new ERR_IMPORT_ASSERTION_TYPE_MISSING(url\x2C validType);\x0d\n }\x0d\n return handleInvalidType(url\x2C importAttributes.type);\x0d\n }\x0d\n}\x0d\n\x0d\n/**\x0d\n * Throw the correct error depending on what's wrong with the type assertion.\x0d\n * @param {string} url The resolved URL for the module to be imported\x0d\n * @param {string} type The value of the import assertion `type` property\x0d\n */\x0d\nfunction handleInvalidType(url\x2C type) {\x0d\n // `type` might have not been a string.\x0d\n validateString(type\x2C 'type');\x0d\n\x0d\n // `type` might not have been one of the types we understand.\x0d\n if (!ArrayPrototypeIncludes(supportedAssertionTypes\x2C type)) {\x0d\n throw new ERR_IMPORT_ASSERTION_TYPE_UNSUPPORTED(type);\x0d\n }\x0d\n\x0d\n // `type` was the wrong value for this format.\x0d\n throw new ERR_IMPORT_ASSERTION_TYPE_FAILED(url\x2C type);\x0d\n}\x0d\n\x0d\n\x0d\nmodule.exports = {\x0d\n kImplicitAssertType\x2C\x0d\n validateAttributes\x2C\x0d\n};\x0d\n
code-source-info,0x23c5196dfc6,82,0,3993,C0O0C4O3993,,
code-creation,JS,10,295248,0x23c5196e2a6,210, node:internal/modules/esm/assert:1:1,0x23c5196df40,~
code-source-info,0x23c5196e2a6,82,0,3993,C0O0C49O28C54O53C60O80C66O95C71O112C77O189C80O189C85O170C91O391C94O391C99O417C104O235C110O272C116O310C122O352C128O521C130O521C132O718C139O756C145O792C151O845C157O877C163O718C165O1312C168O1337C178O1312C183O1312C185O3922C192O3944C198O3968C204O3937C209O3992,,
code-creation,JS,10,295517,0x23c5196e8f6,9, node:internal/modules/esm/assert:44:3,0x23c5196e098,~
code-source-info,0x23c5196e8f6,82,1369,1407,C0O1384C2O1388C4O1384C8O1407,,
code-creation,JS,10,295834,0x23c5196f43e,28,getOrInitializeCascadedLoader node:internal/modules/esm/loader:733:39,0x23c5196a6f0,~
code-source-info,0x23c5196f43e,81,27773,27850,C0O27781C11O27800C17O27796C23O27825C27O27847,,
code-creation,JS,10,296070,0x23c5197109e,179,createModuleLoader node:internal/modules/esm/loader:673:28,0x23c5196a650,~
code-source-info,0x23c5197109e,81,25249,26916,C0O25278C2O25500C8O25505C13O25542C18O25543C24O25596C32O25596C37O25662C43O25669C48O25683C61O25751C65O25751C67O26264C72O26272C87O26509C94O26542C97O26560C102O26542C111O26509C126O26380C133O26272C139O26760C145O26785C155O26809C160O26826C166O26873C173O26880C178O26913,,
code-creation,JS,10,296183,0x23c519712ce,5,forceDefaultLoader node:internal/modules/esm/utils:289:28,0x3b02001990,~
code-source-info,0x23c519712ce,67,11308,11346,C0O11316C4O11343,,
code-creation,JS,10,296264,0x23c519713d6,66,ModuleLoader node:internal/modules/esm/loader:144:14,0x23c5196a7e0,~
code-source-info,0x23c519713d6,81,4152,4339,C5O4152C24O4176C34O4180C40O4239C50O4239C54O4300C59O4300C65O4338,,
code-creation,JS,10,296371,0x23c519715de,21,getDefaultConditions node:internal/modules/esm/utils:55:30,0x3b02001398,~
code-source-info,0x23c519715de,67,1367,1447,C0O1375C7O1382C10O1400C12O1375C16O1419C20O1444,,
code-creation,JS,10,296449,0x23c5197174e,22,newResolveCache node:internal/modules/esm/loader:53:25,0x23c5196a560,~
code-source-info,0x23c5197174e,81,1557,1666,C0O1590C6O1590C11O1573C16O1644C21O1663,,
code-creation,Eval,10,296794,0x23c51971c66,5, node:internal/modules/esm/module_map:1:1,0x23c519719b0,~
script-source,83,node:internal/modules/esm/module_map,'use strict';\x0d\n\x0d\nconst {\x0d\n ArrayPrototypeJoin\x2C\x0d\n ArrayPrototypeMap\x2C\x0d\n ArrayPrototypeSort\x2C\x0d\n JSONStringify\x2C\x0d\n ObjectKeys\x2C\x0d\n SafeMap\x2C\x0d\n} = primordials;\x0d\nconst { kImplicitAssertType } = require('internal/modules/esm/assert');\x0d\nlet debug = require('internal/util/debuglog').debuglog('esm'\x2C (fn) => {\x0d\n debug = fn;\x0d\n});\x0d\nconst { ERR_INVALID_ARG_TYPE } = require('internal/errors').codes;\x0d\nconst { validateString } = require('internal/validators');\x0d\n\x0d\n/**\x0d\n * Cache the results of the `resolve` step of the module resolution and loading process.\x0d\n * Future resolutions of the same input (specifier\x2C parent URL and import attributes)\x0d\n * must return the same result if the first attempt was successful\x2C per\x0d\n * https://tc39.es/ecma262/#sec-HostLoadImportedModule.\x0d\n * This cache is *not* used when custom loaders are registered.\x0d\n */\x0d\nclass ResolveCache extends SafeMap {\x0d\n constructor(i) { super(i); } // eslint-disable-line no-useless-constructor\x0d\n\x0d\n /**\x0d\n * Generates the internal serialized cache key and returns it along the actual cache object.\x0d\n *\x0d\n * It is exposed to allow more efficient read and overwrite a cache entry.\x0d\n * @param {string} specifier\x0d\n * @param {Record<string\x2Cstring>} importAttributes\x0d\n * @returns {string}\x0d\n */\x0d\n serializeKey(specifier\x2C importAttributes) {\x0d\n // To serialize the ModuleRequest (specifier + list of import attributes)\x2C\x0d\n // we need to sort the attributes by key\x2C then stringifying\x2C\x0d\n // so that different import statements with the same attributes are always treated\x0d\n // as identical.\x0d\n const keys = ObjectKeys(importAttributes);\x0d\n\x0d\n if (keys.length === 0) {\x0d\n return specifier + '::';\x0d\n }\x0d\n\x0d\n return specifier + '::' + ArrayPrototypeJoin(\x0d\n ArrayPrototypeMap(\x0d\n ArrayPrototypeSort(keys)\x2C\x0d\n (key) => JSONStringify(key) + JSONStringify(importAttributes[key]))\x2C\x0d\n '\x2C');\x0d\n }\x0d\n\x0d\n #getModuleCachedImports(parentURL) {\x0d\n let internalCache = super.get(parentURL);\x0d\n if (internalCache == null) {\x0d\n super.set(parentURL\x2C internalCache = { __proto__: null });\x0d\n }\x0d\n return internalCache;\x0d\n }\x0d\n\x0d\n /**\x0d\n * @param {string} serializedKey\x0d\n * @param {string} parentURL\x0d\n * @returns {import('./loader').ModuleExports | Promise<import('./loader').ModuleExports>}\x0d\n */\x0d\n get(serializedKey\x2C parentURL) {\x0d\n return this.#getModuleCachedImports(parentURL)[serializedKey];\x0d\n }\x0d\n\x0d\n /**\x0d\n * @param {string} serializedKey\x0d\n * @param {string} parentURL\x0d\n * @param {{ format: string\x2C url: URL['href'] }} result\x0d\n */\x0d\n set(serializedKey\x2C parentURL\x2C result) {\x0d\n this.#getModuleCachedImports(parentURL)[serializedKey] = result;\x0d\n return this;\x0d\n }\x0d\n\x0d\n has(serializedKey\x2C parentURL) {\x0d\n return serializedKey in this.#getModuleCachedImports(parentURL);\x0d\n }\x0d\n}\x0d\n\x0d\n/**\x0d\n * Cache the results of the `load` step of the module resolution and loading process.\x0d\n */\x0d\nclass LoadCache extends SafeMap {\x0d\n constructor(i) { super(i); } // eslint-disable-line no-useless-constructor\x0d\n get(url\x2C type = kImplicitAssertType) {\x0d\n validateString(url\x2C 'url');\x0d\n validateString(type\x2C 'type');\x0d\n return super.get(url)?.[type];\x0d\n }\x0d\n set(url\x2C type = kImplicitAssertType\x2C job) {\x0d\n validateString(url\x2C 'url');\x0d\n validateString(type\x2C 'type');\x0d\n\x0d\n const { ModuleJobBase } = require('internal/modules/esm/module_job');\x0d\n if (job instanceof ModuleJobBase !== true &&\x0d\n typeof job !== 'function') {\x0d\n throw new ERR_INVALID_ARG_TYPE('job'\x2C 'ModuleJob'\x2C job);\x0d\n }\x0d\n debug(`Storing ${url} (${\x0d\n type === kImplicitAssertType ? 'implicit type' : type\x0d\n }) in ModuleLoadMap`);\x0d\n const cachedJobsForUrl = super.get(url) ?? { __proto__: null };\x0d\n cachedJobsForUrl[type] = job;\x0d\n return super.set(url\x2C cachedJobsForUrl);\x0d\n }\x0d\n has(url\x2C type = kImplicitAssertType) {\x0d\n validateString(url\x2C 'url');\x0d\n validateString(type\x2C 'type');\x0d\n return super.get(url)?.[type] !== undefined;\x0d\n }\x0d\n}\x0d\n\x0d\nmodule.exports = {\x0d\n LoadCache\x2C\x0d\n ResolveCache\x2C\x0d\n};\x0d\n
code-source-info,0x23c51971c66,83,0,4011,C0O0C4O4011,,
code-creation,JS,10,297205,0x23c519724be,299, node:internal/modules/esm/module_map:1:1,0x23c51971be0,~
code-source-info,0x23c519724be,83,0,4011,C0O0C36O28C42O51C48O73C54O96C60O114C66O129C71O189C77O189C82O165C88O242C94O242C99O275C112O276C118O242C120O356C126O356C131O382C136O331C142O418C148O418C153O399C179O862C227O835C231O2920C274O3956C281O3978C287O3992C293O3971C298O4010,,
code-creation,JS,10,297494,0x23c51973016,53,ResolveCache node:internal/modules/esm/module_map:26:14,0x23c51971d38,~
code-source-info,0x23c51973016,83,886,903,C3O892C27O892C52O902,,
code-creation,JS,11,297661,0x7ff739bc4580,316,SafeMap node:internal/per_context/primordials:413:16,0x14d495b5e88,^
script-source,6,node:internal/per_context/primordials,'use strict';\x0d\n\x0d\n/* eslint-disable node-core/prefer-primordials */\x0d\n\x0d\n// This file subclasses and stores the JS builtins that come from the VM\x0d\n// so that Node.js's builtin modules do not need to later look these up from\x0d\n// the global proxy\x2C which can be mutated by users.\x0d\n\x0d\n// Use of primordials have sometimes a dramatic impact on performance\x2C please\x0d\n// benchmark all changes made in performance-sensitive areas of the codebase.\x0d\n// See: https://github.com/nodejs/node/pull/38248\x0d\n\x0d\nconst {\x0d\n defineProperty: ReflectDefineProperty\x2C\x0d\n getOwnPropertyDescriptor: ReflectGetOwnPropertyDescriptor\x2C\x0d\n ownKeys: ReflectOwnKeys\x2C\x0d\n} = Reflect;\x0d\n\x0d\n// `uncurryThis` is equivalent to `func => Function.prototype.call.bind(func)`.\x0d\n// It is using `bind.bind(call)` to avoid using `Function.prototype.bind`\x0d\n// and `Function.prototype.call` after it may have been mutated by users.\x0d\nconst { apply\x2C bind\x2C call } = Function.prototype;\x0d\nconst uncurryThis = bind.bind(call);\x0d\nprimordials.uncurryThis = uncurryThis;\x0d\n\x0d\n// `applyBind` is equivalent to `func => Function.prototype.apply.bind(func)`.\x0d\n// It is using `bind.bind(apply)` to avoid using `Function.prototype.bind`\x0d\n// and `Function.prototype.apply` after it may have been mutated by users.\x0d\nconst applyBind = bind.bind(apply);\x0d\nprimordials.applyBind = applyBind;\x0d\n\x0d\n// Methods that accept a variable number of arguments\x2C and thus it's useful to\x0d\n// also create `${prefix}${key}Apply`\x2C which uses `Function.prototype.apply`\x2C\x0d\n// instead of `Function.prototype.call`\x2C and thus doesn't require iterator\x0d\n// destructuring.\x0d\nconst varargsMethods = [\x0d\n // 'ArrayPrototypeConcat' is omitted\x2C because it performs the spread\x0d\n // on its own for arrays and array-likes with a truthy\x0d\n // @@isConcatSpreadable symbol property.\x0d\n 'ArrayOf'\x2C\x0d\n 'ArrayPrototypePush'\x2C\x0d\n 'ArrayPrototypeUnshift'\x2C\x0d\n // 'FunctionPrototypeCall' is omitted\x2C since there's 'ReflectApply'\x0d\n // and 'FunctionPrototypeApply'.\x0d\n 'MathHypot'\x2C\x0d\n 'MathMax'\x2C\x0d\n 'MathMin'\x2C\x0d\n 'StringFromCharCode'\x2C\x0d\n 'StringFromCodePoint'\x2C\x0d\n 'StringPrototypeConcat'\x2C\x0d\n 'TypedArrayOf'\x2C\x0d\n];\x0d\n\x0d\nfunction getNewKey(key) {\x0d\n return typeof key === 'symbol' ?\x0d\n `Symbol${key.description[7].toUpperCase()}${key.description.slice(8)}` :\x0d\n `${key[0].toUpperCase()}${key.slice(1)}`;\x0d\n}\x0d\n\x0d\nfunction copyAccessor(dest\x2C prefix\x2C key\x2C { enumerable\x2C get\x2C set }) {\x0d\n ReflectDefineProperty(dest\x2C `${prefix}Get${key}`\x2C {\x0d\n __proto__: null\x2C\x0d\n value: uncurryThis(get)\x2C\x0d\n enumerable\x2C\x0d\n });\x0d\n if (set !== undefined) {\x0d\n ReflectDefineProperty(dest\x2C `${prefix}Set${key}`\x2C {\x0d\n __proto__: null\x2C\x0d\n value: uncurryThis(set)\x2C\x0d\n enumerable\x2C\x0d\n });\x0d\n }\x0d\n}\x0d\n\x0d\nfunction copyPropsRenamed(src\x2C dest\x2C prefix) {\x0d\n for (const key of ReflectOwnKeys(src)) {\x0d\n const newKey = getNewKey(key);\x0d\n const desc = ReflectGetOwnPropertyDescriptor(src\x2C key);\x0d\n if ('get' in desc) {\x0d\n copyAccessor(dest\x2C prefix\x2C newKey\x2C desc);\x0d\n } else {\x0d\n const name = `${prefix}${newKey}`;\x0d\n ReflectDefineProperty(dest\x2C name\x2C { __proto__: null\x2C ...desc });\x0d\n if (varargsMethods.includes(name)) {\x0d\n ReflectDefineProperty(dest\x2C `${name}Apply`\x2C {\x0d\n __proto__: null\x2C\x0d\n // `src` is bound as the `this` so that the static `this` points\x0d\n // to the object it was defined on\x2C\x0d\n // e.g.: `ArrayOfApply` gets a `this` of `Array`:\x0d\n value: applyBind(desc.value\x2C src)\x2C\x0d\n });\x0d\n }\x0d\n }\x0d\n }\x0d\n}\x0d\n\x0d\nfunction copyPropsRenamedBound(src\x2C dest\x2C prefix) {\x0d\n for (const key of ReflectOwnKeys(src)) {\x0d\n const newKey = getNewKey(key);\x0d\n const desc = ReflectGetOwnPropertyDescriptor(src\x2C key);\x0d\n if ('get' in desc) {\x0d\n copyAccessor(dest\x2C prefix\x2C newKey\x2C desc);\x0d\n } else {\x0d\n const { value } = desc;\x0d\n if (typeof value === 'function') {\x0d\n desc.value = value.bind(src);\x0d\n }\x0d\n\x0d\n const name = `${prefix}${newKey}`;\x0d\n ReflectDefineProperty(dest\x2C name\x2C { __proto__: null\x2C ...desc });\x0d\n if (varargsMethods.includes(name)) {\x0d\n ReflectDefineProperty(dest\x2C `${name}Apply`\x2C {\x0d\n __proto__: null\x2C\x0d\n value: applyBind(value\x2C src)\x2C\x0d\n });\x0d\n }\x0d\n }\x0d\n }\x0d\n}\x0d\n\x0d\nfunction copyPrototype(src\x2C dest\x2C prefix) {\x0d\n for (const key of ReflectOwnKeys(src)) {\x0d\n const newKey = getNewKey(key);\x0d\n const desc = ReflectGetOwnPropertyDescriptor(src\x2C key);\x0d\n if ('get' in desc) {\x0d\n copyAccessor(dest\x2C prefix\x2C newKey\x2C desc);\x0d\n } else {\x0d\n const { value } = desc;\x0d\n if (typeof value === 'function') {\x0d\n desc.value = uncurryThis(value);\x0d\n }\x0d\n\x0d\n const name = `${prefix}${newKey}`;\x0d\n ReflectDefineProperty(dest\x2C name\x2C { __proto__: null\x2C ...desc });\x0d\n if (varargsMethods.includes(name)) {\x0d\n ReflectDefineProperty(dest\x2C `${name}Apply`\x2C {\x0d\n __proto__: null\x2C\x0d\n value: applyBind(value)\x2C\x0d\n });\x0d\n }\x0d\n }\x0d\n }\x0d\n}\x0d\n\x0d\n// Create copies of configurable value properties of the global object\x0d\n[\x0d\n 'Proxy'\x2C\x0d\n 'globalThis'\x2C\x0d\n].forEach((name) => {\x0d\n // eslint-disable-next-line no-restricted-globals\x0d\n primordials[name] = globalThis[name];\x0d\n});\x0d\n\x0d\n// Create copies of URI handling functions\x0d\n[\x0d\n decodeURI\x2C\x0d\n decodeURIComponent\x2C\x0d\n encodeURI\x2C\x0d\n encodeURIComponent\x2C\x0d\n].forEach((fn) => {\x0d\n primordials[fn.name] = fn;\x0d\n});\x0d\n\x0d\n// Create copies of legacy functions\x0d\n[\x0d\n escape\x2C\x0d\n eval\x2C\x0d\n unescape\x2C\x0d\n].forEach((fn) => {\x0d\n primordials[fn.name] = fn;\x0d\n});\x0d\n\x0d\n// Create copies of the namespace objects\x0d\n[\x0d\n 'JSON'\x2C\x0d\n 'Math'\x2C\x0d\n 'Proxy'\x2C\x0d\n 'Reflect'\x2C\x0d\n].forEach((name) => {\x0d\n // eslint-disable-next-line no-restricted-globals\x0d\n copyPropsRenamed(globalThis[name]\x2C primordials\x2C name);\x0d\n});\x0d\n\x0d\n// Create copies of intrinsic objects\x0d\n[\x0d\n 'AggregateError'\x2C\x0d\n 'Array'\x2C\x0d\n 'ArrayBuffer'\x2C\x0d\n 'BigInt'\x2C\x0d\n 'BigInt64Array'\x2C\x0d\n 'BigUint64Array'\x2C\x0d\n 'Boolean'\x2C\x0d\n 'DataView'\x2C\x0d\n 'Date'\x2C\x0d\n 'Error'\x2C\x0d\n 'EvalError'\x2C\x0d\n 'FinalizationRegistry'\x2C\x0d\n 'Float32Array'\x2C\x0d\n 'Float64Array'\x2C\x0d\n 'Function'\x2C\x0d\n 'Int16Array'\x2C\x0d\n 'Int32Array'\x2C\x0d\n 'Int8Array'\x2C\x0d\n 'Map'\x2C\x0d\n 'Number'\x2C\x0d\n 'Object'\x2C\x0d\n 'RangeError'\x2C\x0d\n 'ReferenceError'\x2C\x0d\n 'RegExp'\x2C\x0d\n 'Set'\x2C\x0d\n 'String'\x2C\x0d\n 'Symbol'\x2C\x0d\n 'SyntaxError'\x2C\x0d\n 'TypeError'\x2C\x0d\n 'URIError'\x2C\x0d\n 'Uint16Array'\x2C\x0d\n 'Uint32Array'\x2C\x0d\n 'Uint8Array'\x2C\x0d\n 'Uint8ClampedArray'\x2C\x0d\n 'WeakMap'\x2C\x0d\n 'WeakRef'\x2C\x0d\n 'WeakSet'\x2C\x0d\n].forEach((name) => {\x0d\n // eslint-disable-next-line no-restricted-globals\x0d\n const original = globalThis[name];\x0d\n primordials[name] = original;\x0d\n copyPropsRenamed(original\x2C primordials\x2C name);\x0d\n copyPrototype(original.prototype\x2C primordials\x2C `${name}Prototype`);\x0d\n});\x0d\n\x0d\n// Define Symbol.dispose and Symbol.asyncDispose\x0d\n// Until these are defined by the environment.\x0d\n// TODO(MoLow): Remove this polyfill once Symbol.dispose and Symbol.asyncDispose are available in V8.\x0d\nprimordials.SymbolDispose ??= primordials.SymbolFor('nodejs.dispose');\x0d\nprimordials.SymbolAsyncDispose ??= primordials.SymbolFor('nodejs.asyncDispose');\x0d\n\x0d\n// Create copies of intrinsic objects that require a valid `this` to call\x0d\n// static methods.\x0d\n// Refs: https://www.ecma-international.org/ecma-262/#sec-promise.all\x0d\n[\x0d\n 'Promise'\x2C\x0d\n].forEach((name) => {\x0d\n // eslint-disable-next-line no-restricted-globals\x0d\n const original = globalThis[name];\x0d\n primordials[name] = original;\x0d\n copyPropsRenamedBound(original\x2C primordials\x2C name);\x0d\n copyPrototype(original.prototype\x2C primordials\x2C `${name}Prototype`);\x0d\n});\x0d\n\x0d\n// Create copies of abstract intrinsic objects that are not directly exposed\x0d\n// on the global object.\x0d\n// Refs: https://tc39.es/ecma262/#sec-%typedarray%-intrinsic-object\x0d\n[\x0d\n { name: 'TypedArray'\x2C original: Reflect.getPrototypeOf(Uint8Array) }\x2C\x0d\n { name: 'ArrayIterator'\x2C original: {\x0d\n prototype: Reflect.getPrototypeOf(Array.prototype[Symbol.iterator]())\x2C\x0d\n } }\x2C\x0d\n { name: 'StringIterator'\x2C original: {\x0d\n prototype: Reflect.getPrototypeOf(String.prototype[Symbol.iterator]())\x2C\x0d\n } }\x2C\x0d\n].forEach(({ name\x2C original }) => {\x0d\n primordials[name] = original;\x0d\n // The static %TypedArray% methods require a valid `this`\x2C but can't be bound\x2C\x0d\n // as they need a subclass constructor as the receiver:\x0d\n copyPrototype(original\x2C primordials\x2C name);\x0d\n copyPrototype(original.prototype\x2C primordials\x2C `${name}Prototype`);\x0d\n});\x0d\n\x0d\nprimordials.IteratorPrototype = Reflect.getPrototypeOf(primordials.ArrayIteratorPrototype);\x0d\n\x0d\n/* eslint-enable node-core/prefer-primordials */\x0d\n\x0d\nconst {\x0d\n Array: ArrayConstructor\x2C\x0d\n ArrayPrototypeForEach\x2C\x0d\n ArrayPrototypeMap\x2C\x0d\n FinalizationRegistry\x2C\x0d\n FunctionPrototypeCall\x2C\x0d\n Map\x2C\x0d\n ObjectDefineProperties\x2C\x0d\n ObjectDefineProperty\x2C\x0d\n ObjectFreeze\x2C\x0d\n ObjectSetPrototypeOf\x2C\x0d\n Promise\x2C\x0d\n PromisePrototypeThen\x2C\x0d\n PromiseResolve\x2C\x0d\n ReflectApply\x2C\x0d\n ReflectConstruct\x2C\x0d\n ReflectSet\x2C\x0d\n ReflectGet\x2C\x0d\n RegExp\x2C\x0d\n RegExpPrototype\x2C\x0d\n RegExpPrototypeExec\x2C\x0d\n RegExpPrototypeGetDotAll\x2C\x0d\n RegExpPrototypeGetFlags\x2C\x0d\n RegExpPrototypeGetGlobal\x2C\x0d\n RegExpPrototypeGetHasIndices\x2C\x0d\n RegExpPrototypeGetIgnoreCase\x2C\x0d\n RegExpPrototypeGetMultiline\x2C\x0d\n RegExpPrototypeGetSource\x2C\x0d\n RegExpPrototypeGetSticky\x2C\x0d\n RegExpPrototypeGetUnicode\x2C\x0d\n Set\x2C\x0d\n SymbolIterator\x2C\x0d\n SymbolMatch\x2C\x0d\n SymbolMatchAll\x2C\x0d\n SymbolReplace\x2C\x0d\n SymbolSearch\x2C\x0d\n SymbolSpecies\x2C\x0d\n SymbolSplit\x2C\x0d\n WeakMap\x2C\x0d\n WeakRef\x2C\x0d\n WeakSet\x2C\x0d\n} = primordials;\x0d\n\x0d\n\x0d\n/**\x0d\n * Creates a class that can be safely iterated over.\x0d\n *\x0d\n * Because these functions are used by `makeSafe`\x2C which is exposed on the\x0d\n * `primordials` object\x2C it's important to use const references to the\x0d\n * primordials that they use.\x0d\n * @template {Iterable} T\x0d\n * @template {*} TReturn\x0d\n * @template {*} TNext\x0d\n * @param {(self: T) => IterableIterator<T>} factory\x0d\n * @param {(...args: [] | [TNext]) => IteratorResult<T\x2C TReturn>} next\x0d\n * @returns {Iterator<T\x2C TReturn\x2C TNext>}\x0d\n */\x0d\nconst createSafeIterator = (factory\x2C next) => {\x0d\n class SafeIterator {\x0d\n constructor(iterable) {\x0d\n this._iterator = factory(iterable);\x0d\n }\x0d\n next() {\x0d\n return next(this._iterator);\x0d\n }\x0d\n [SymbolIterator]() {\x0d\n return this;\x0d\n }\x0d\n }\x0d\n ObjectSetPrototypeOf(SafeIterator.prototype\x2C null);\x0d\n ObjectFreeze(SafeIterator.prototype);\x0d\n ObjectFreeze(SafeIterator);\x0d\n return SafeIterator;\x0d\n};\x0d\n\x0d\nprimordials.SafeArrayIterator = createSafeIterator(\x0d\n primordials.ArrayPrototypeSymbolIterator\x2C\x0d\n primordials.ArrayIteratorPrototypeNext\x2C\x0d\n);\x0d\nprimordials.SafeStringIterator = createSafeIterator(\x0d\n primordials.StringPrototypeSymbolIterator\x2C\x0d\n primordials.StringIteratorPrototypeNext\x2C\x0d\n);\x0d\n\x0d\nconst copyProps = (src\x2C dest) => {\x0d\n ArrayPrototypeForEach(ReflectOwnKeys(src)\x2C (key) => {\x0d\n if (!ReflectGetOwnPropertyDescriptor(dest\x2C key)) {\x0d\n ReflectDefineProperty(\x0d\n dest\x2C\x0d\n key\x2C\x0d\n { __proto__: null\x2C ...ReflectGetOwnPropertyDescriptor(src\x2C key) });\x0d\n }\x0d\n });\x0d\n};\x0d\n\x0d\n/**\x0d\n * @type {typeof primordials.makeSafe}\x0d\n */\x0d\nconst makeSafe = (unsafe\x2C safe) => {\x0d\n if (SymbolIterator in unsafe.prototype) {\x0d\n const dummy = new unsafe();\x0d\n let next; // We can reuse the same `next` method.\x0d\n\x0d\n ArrayPrototypeForEach(ReflectOwnKeys(unsafe.prototype)\x2C (key) => {\x0d\n if (!ReflectGetOwnPropertyDescriptor(safe.prototype\x2C key)) {\x0d\n const desc = ReflectGetOwnPropertyDescriptor(unsafe.prototype\x2C key);\x0d\n if (\x0d\n typeof desc.value === 'function' &&\x0d\n desc.value.length === 0 &&\x0d\n SymbolIterator in (FunctionPrototypeCall(desc.value\x2C dummy) ?? {})\x0d\n ) {\x0d\n const createIterator = uncurryThis(desc.value);\x0d\n next ??= uncurryThis(createIterator(dummy).next);\x0d\n const SafeIterator = createSafeIterator(createIterator\x2C next);\x0d\n desc.value = function() {\x0d\n return new SafeIterator(this);\x0d\n };\x0d\n }\x0d\n ReflectDefineProperty(safe.prototype\x2C key\x2C { __proto__: null\x2C ...desc });\x0d\n }\x0d\n });\x0d\n } else {\x0d\n copyProps(unsafe.prototype\x2C safe.prototype);\x0d\n }\x0d\n copyProps(unsafe\x2C safe);\x0d\n\x0d\n ObjectSetPrototypeOf(safe.prototype\x2C null);\x0d\n ObjectFreeze(safe.prototype);\x0d\n ObjectFreeze(safe);\x0d\n return safe;\x0d\n};\x0d\nprimordials.makeSafe = makeSafe;\x0d\n\x0d\n// Subclass the constructors because we need to use their prototype\x0d\n// methods later.\x0d\n// Defining the `constructor` is necessary here to avoid the default\x0d\n// constructor which uses the user-mutable `%ArrayIteratorPrototype%.next`.\x0d\nprimordials.SafeMap = makeSafe(\x0d\n Map\x2C\x0d\n class SafeMap extends Map {\x0d\n constructor(i) { super(i); } // eslint-disable-line no-useless-constructor\x0d\n }\x2C\x0d\n);\x0d\nprimordials.SafeWeakMap = makeSafe(\x0d\n WeakMap\x2C\x0d\n class SafeWeakMap extends WeakMap {\x0d\n constructor(i) { super(i); } // eslint-disable-line no-useless-constructor\x0d\n }\x2C\x0d\n);\x0d\n\x0d\nprimordials.SafeSet = makeSafe(\x0d\n Set\x2C\x0d\n class SafeSet extends Set {\x0d\n constructor(i) { super(i); } // eslint-disable-line no-useless-constructor\x0d\n }\x2C\x0d\n);\x0d\nprimordials.SafeWeakSet = makeSafe(\x0d\n WeakSet\x2C\x0d\n class SafeWeakSet extends WeakSet {\x0d\n constructor(i) { super(i); } // eslint-disable-line no-useless-constructor\x0d\n }\x2C\x0d\n);\x0d\n\x0d\nprimordials.SafeFinalizationRegistry = makeSafe(\x0d\n FinalizationRegistry\x2C\x0d\n class SafeFinalizationRegistry extends FinalizationRegistry {\x0d\n // eslint-disable-next-line no-useless-constructor\x0d\n constructor(cleanupCallback) { super(cleanupCallback); }\x0d\n }\x2C\x0d\n);\x0d\nprimordials.SafeWeakRef = makeSafe(\x0d\n WeakRef\x2C\x0d\n class SafeWeakRef extends WeakRef {\x0d\n // eslint-disable-next-line no-useless-constructor\x0d\n constructor(target) { super(target); }\x0d\n }\x2C\x0d\n);\x0d\n\x0d\nconst SafePromise = makeSafe(\x0d\n Promise\x2C\x0d\n class SafePromise extends Promise {\x0d\n // eslint-disable-next-line no-useless-constructor\x0d\n constructor(executor) { super(executor); }\x0d\n }\x2C\x0d\n);\x0d\n\x0d\n/**\x0d\n * Attaches a callback that is invoked when the Promise is settled (fulfilled or\x0d\n * rejected). The resolved value cannot be modified from the callback.\x0d\n * Prefer using async functions when possible.\x0d\n * @param {Promise<any>} thisPromise\x0d\n * @param {() => void) | undefined | null} onFinally The callback to execute\x0d\n * when the Promise is settled (fulfilled or rejected).\x0d\n * @returns {Promise} A Promise for the completion of the callback.\x0d\n */\x0d\nprimordials.SafePromisePrototypeFinally = (thisPromise\x2C onFinally) =>\x0d\n // Wrapping on a new Promise is necessary to not expose the SafePromise\x0d\n // prototype to user-land.\x0d\n new Promise((a\x2C b) =>\x0d\n new SafePromise((a\x2C b) => PromisePrototypeThen(thisPromise\x2C a\x2C b))\x0d\n .finally(onFinally)\x0d\n .then(a\x2C b)\x2C\x0d\n );\x0d\n\x0d\nprimordials.AsyncIteratorPrototype =\x0d\n primordials.ReflectGetPrototypeOf(\x0d\n primordials.ReflectGetPrototypeOf(\x0d\n async function* () {}).prototype);\x0d\n\x0d\nconst arrayToSafePromiseIterable = (promises\x2C mapFn) =>\x0d\n new primordials.SafeArrayIterator(\x0d\n ArrayPrototypeMap(\x0d\n promises\x2C\x0d\n (promise\x2C i) =>\x0d\n new SafePromise((a\x2C b) => PromisePrototypeThen(mapFn == null ? promise : mapFn(promise\x2C i)\x2C a\x2C b))\x2C\x0d\n )\x2C\x0d\n );\x0d\n\x0d\n/**\x0d\n * @template T\x2CU\x0d\n * @param {Array<T | PromiseLike<T>>} promises\x0d\n * @param {(v: T|PromiseLike<T>\x2C k: number) => U|PromiseLike<U>} [mapFn]\x0d\n * @returns {Promise<Awaited<U>[]>}\x0d\n */\x0d\nprimordials.SafePromiseAll = (promises\x2C mapFn) =>\x0d\n // Wrapping on a new Promise is necessary to not expose the SafePromise\x0d\n // prototype to user-land.\x0d\n new Promise((a\x2C b) =>\x0d\n SafePromise.all(arrayToSafePromiseIterable(promises\x2C mapFn)).then(a\x2C b)\x2C\x0d\n );\x0d\n\x0d\n/**\x0d\n * Should only be used for internal functions\x2C this would produce similar\x0d\n * results as `Promise.all` but without prototype pollution\x2C and the return\x0d\n * value is not a genuine Array but an array-like object.\x0d\n * @template T\x2CU\x0d\n * @param {ArrayLike<T | PromiseLike<T>>} promises\x0d\n * @param {(v: T|PromiseLike<T>\x2C k: number) => U|PromiseLike<U>} [mapFn]\x0d\n * @returns {Promise<ArrayLike<Awaited<U>>>}\x0d\n */\x0d\nprimordials.SafePromiseAllReturnArrayLike = (promises\x2C mapFn) =>\x0d\n new Promise((resolve\x2C reject) => {\x0d\n const { length } = promises;\x0d\n\x0d\n const returnVal = ArrayConstructor(length);\x0d\n ObjectSetPrototypeOf(returnVal\x2C null);\x0d\n if (length === 0) resolve(returnVal);\x0d\n\x0d\n let pendingPromises = length;\x0d\n for (let i = 0; i < length; i++) {\x0d\n const promise = mapFn != null ? mapFn(promises[i]\x2C i) : promises[i];\x0d\n PromisePrototypeThen(PromiseResolve(promise)\x2C (result) => {\x0d\n returnVal[i] = result;\x0d\n if (--pendingPromises === 0) resolve(returnVal);\x0d\n }\x2C reject);\x0d\n }\x0d\n });\x0d\n\x0d\n/**\x0d\n * Should only be used when we only care about waiting for all the promises to\x0d\n * resolve\x2C not what value they resolve to.\x0d\n * @template T\x2CU\x0d\n * @param {ArrayLike<T | PromiseLike<T>>} promises\x0d\n * @param {(v: T|PromiseLike<T>\x2C k: number) => U|PromiseLike<U>} [mapFn]\x0d\n * @returns {Promise<void>}\x0d\n */\x0d\nprimordials.SafePromiseAllReturnVoid = (promises\x2C mapFn) =>\x0d\n new Promise((resolve\x2C reject) => {\x0d\n let pendingPromises = promises.length;\x0d\n if (pendingPromises === 0) resolve();\x0d\n const onFulfilled = () => {\x0d\n if (--pendingPromises === 0) {\x0d\n resolve();\x0d\n }\x0d\n };\x0d\n for (let i = 0; i < promises.length; i++) {\x0d\n const promise = mapFn != null ? mapFn(promises[i]\x2C i) : promises[i];\x0d\n PromisePrototypeThen(PromiseResolve(promise)\x2C onFulfilled\x2C reject);\x0d\n }\x0d\n });\x0d\n\x0d\n/**\x0d\n * @template T\x2CU\x0d\n * @param {Array<T|PromiseLike<T>>} promises\x0d\n * @param {(v: T|PromiseLike<T>\x2C k: number) => U|PromiseLike<U>} [mapFn]\x0d\n * @returns {Promise<PromiseSettledResult<any>[]>}\x0d\n */\x0d\nprimordials.SafePromiseAllSettled = (promises\x2C mapFn) =>\x0d\n // Wrapping on a new Promise is necessary to not expose the SafePromise\x0d\n // prototype to user-land.\x0d\n new Promise((a\x2C b) =>\x0d\n SafePromise.allSettled(arrayToSafePromiseIterable(promises\x2C mapFn)).then(a\x2C b)\x2C\x0d\n );\x0d\n\x0d\n/**\x0d\n * Should only be used when we only care about waiting for all the promises to\x0d\n * settle\x2C not what value they resolve or reject to.\x0d\n * @template T\x2CU\x0d\n * @param {ArrayLike<T|PromiseLike<T>>} promises\x0d\n * @param {(v: T|PromiseLike<T>\x2C k: number) => U|PromiseLike<U>} [mapFn]\x0d\n * @returns {Promise<void>}\x0d\n */\x0d\nprimordials.SafePromiseAllSettledReturnVoid = (promises\x2C mapFn) => new Promise((resolve) => {\x0d\n let pendingPromises = promises.length;\x0d\n if (pendingPromises === 0) resolve();\x0d\n const onSettle = () => {\x0d\n if (--pendingPromises === 0) resolve();\x0d\n };\x0d\n for (let i = 0; i < promises.length; i++) {\x0d\n const promise = mapFn != null ? mapFn(promises[i]\x2C i) : promises[i];\x0d\n PromisePrototypeThen(PromiseResolve(promise)\x2C onSettle\x2C onSettle);\x0d\n }\x0d\n});\x0d\n\x0d\n/**\x0d\n * @template T\x2CU\x0d\n * @param {Array<T|PromiseLike<T>>} promises\x0d\n * @param {(v: T|PromiseLike<T>\x2C k: number) => U|PromiseLike<U>} [mapFn]\x0d\n * @returns {Promise<Awaited<U>>}\x0d\n */\x0d\nprimordials.SafePromiseAny = (promises\x2C mapFn) =>\x0d\n // Wrapping on a new Promise is necessary to not expose the SafePromise\x0d\n // prototype to user-land.\x0d\n new Promise((a\x2C b) =>\x0d\n SafePromise.any(arrayToSafePromiseIterable(promises\x2C mapFn)).then(a\x2C b)\x2C\x0d\n );\x0d\n\x0d\n/**\x0d\n * @template T\x2CU\x0d\n * @param {Array<T|PromiseLike<T>>} promises\x0d\n * @param {(v: T|PromiseLike<T>\x2C k: number) => U|PromiseLike<U>} [mapFn]\x0d\n * @returns {Promise<Awaited<U>>}\x0d\n */\x0d\nprimordials.SafePromiseRace = (promises\x2C mapFn) =>\x0d\n // Wrapping on a new Promise is necessary to not expose the SafePromise\x0d\n // prototype to user-land.\x0d\n new Promise((a\x2C b) =>\x0d\n SafePromise.race(arrayToSafePromiseIterable(promises\x2C mapFn)).then(a\x2C b)\x2C\x0d\n );\x0d\n\x0d\n\x0d\nconst {\x0d\n exec: OriginalRegExpPrototypeExec\x2C\x0d\n [SymbolMatch]: OriginalRegExpPrototypeSymbolMatch\x2C\x0d\n [SymbolMatchAll]: OriginalRegExpPrototypeSymbolMatchAll\x2C\x0d\n [SymbolReplace]: OriginalRegExpPrototypeSymbolReplace\x2C\x0d\n [SymbolSearch]: OriginalRegExpPrototypeSymbolSearch\x2C\x0d\n [SymbolSplit]: OriginalRegExpPrototypeSymbolSplit\x2C\x0d\n} = RegExpPrototype;\x0d\n\x0d\nclass RegExpLikeForStringSplitting {\x0d\n #regex;\x0d\n constructor() {\x0d\n this.#regex = ReflectConstruct(RegExp\x2C arguments);\x0d\n }\x0d\n\x0d\n get lastIndex() {\x0d\n return ReflectGet(this.#regex\x2C 'lastIndex');\x0d\n }\x0d\n set lastIndex(value) {\x0d\n ReflectSet(this.#regex\x2C 'lastIndex'\x2C value);\x0d\n }\x0d\n\x0d\n exec() {\x0d\n return ReflectApply(OriginalRegExpPrototypeExec\x2C this.#regex\x2C arguments);\x0d\n }\x0d\n}\x0d\nObjectSetPrototypeOf(RegExpLikeForStringSplitting.prototype\x2C null);\x0d\n\x0d\n/**\x0d\n * @param {RegExp} pattern\x0d\n * @returns {RegExp}\x0d\n */\x0d\nprimordials.hardenRegExp = function hardenRegExp(pattern) {\x0d\n ObjectDefineProperties(pattern\x2C {\x0d\n [SymbolMatch]: {\x0d\n __proto__: null\x2C\x0d\n configurable: true\x2C\x0d\n value: OriginalRegExpPrototypeSymbolMatch\x2C\x0d\n }\x2C\x0d\n [SymbolMatchAll]: {\x0d\n __proto__: null\x2C\x0d\n configurable: true\x2C\x0d\n value: OriginalRegExpPrototypeSymbolMatchAll\x2C\x0d\n }\x2C\x0d\n [SymbolReplace]: {\x0d\n __proto__: null\x2C\x0d\n configurable: true\x2C\x0d\n value: OriginalRegExpPrototypeSymbolReplace\x2C\x0d\n }\x2C\x0d\n [SymbolSearch]: {\x0d\n __proto__: null\x2C\x0d\n configurable: true\x2C\x0d\n value: OriginalRegExpPrototypeSymbolSearch\x2C\x0d\n }\x2C\x0d\n [SymbolSplit]: {\x0d\n __proto__: null\x2C\x0d\n configurable: true\x2C\x0d\n value: OriginalRegExpPrototypeSymbolSplit\x2C\x0d\n }\x2C\x0d\n constructor: {\x0d\n __proto__: null\x2C\x0d\n configurable: true\x2C\x0d\n value: {\x0d\n [SymbolSpecies]: RegExpLikeForStringSplitting\x2C\x0d\n }\x2C\x0d\n }\x2C\x0d\n dotAll: {\x0d\n __proto__: null\x2C\x0d\n configurable: true\x2C\x0d\n value: RegExpPrototypeGetDotAll(pattern)\x2C\x0d\n }\x2C\x0d\n exec: {\x0d\n __proto__: null\x2C\x0d\n configurable: true\x2C\x0d\n value: OriginalRegExpPrototypeExec\x2C\x0d\n }\x2C\x0d\n global: {\x0d\n __proto__: null\x2C\x0d\n configurable: true\x2C\x0d\n value: RegExpPrototypeGetGlobal(pattern)\x2C\x0d\n }\x2C\x0d\n hasIndices: {\x0d\n __proto__: null\x2C\x0d\n configurable: true\x2C\x0d\n value: RegExpPrototypeGetHasIndices(pattern)\x2C\x0d\n }\x2C\x0d\n ignoreCase: {\x0d\n __proto__: null\x2C\x0d\n configurable: true\x2C\x0d\n value: RegExpPrototypeGetIgnoreCase(pattern)\x2C\x0d\n }\x2C\x0d\n multiline: {\x0d\n __proto__: null\x2C\x0d\n configurable: true\x2C\x0d\n value: RegExpPrototypeGetMultiline(pattern)\x2C\x0d\n }\x2C\x0d\n source: {\x0d\n __proto__: null\x2C\x0d\n configurable: true\x2C\x0d\n value: RegExpPrototypeGetSource(pattern)\x2C\x0d\n }\x2C\x0d\n sticky: {\x0d\n __proto__: null\x2C\x0d\n configurable: true\x2C\x0d\n value: RegExpPrototypeGetSticky(pattern)\x2C\x0d\n }\x2C\x0d\n unicode: {\x0d\n __proto__: null\x2C\x0d\n configurable: true\x2C\x0d\n value: RegExpPrototypeGetUnicode(pattern)\x2C\x0d\n }\x2C\x0d\n });\x0d\n ObjectDefineProperty(pattern\x2C 'flags'\x2C {\x0d\n __proto__: null\x2C\x0d\n configurable: true\x2C\x0d\n value: RegExpPrototypeGetFlags(pattern)\x2C\x0d\n });\x0d\n return pattern;\x0d\n};\x0d\n\x0d\n\x0d\n/**\x0d\n * @param {string} str\x0d\n * @param {RegExp} regexp\x0d\n * @returns {number}\x0d\n */\x0d\nprimordials.SafeStringPrototypeSearch = (str\x2C regexp) => {\x0d\n regexp.lastIndex = 0;\x0d\n const match = RegExpPrototypeExec(regexp\x2C str);\x0d\n return match ? match.index : -1;\x0d\n};\x0d\n\x0d\nObjectSetPrototypeOf(primordials\x2C null);\x0d\nObjectFreeze(primordials);\x0d\n
code-source-info,0x7ff739bc4580,6,12387,12404,,,
code-creation,JS,11,299885,0x7ff739bc4700,380,getCLIOptionsFromBinding node:internal/options:19:34,0x39e2db4a008,^
code-source-info,0x7ff739bc4700,17,546,646,,,
code-creation,JS,11,299924,0x7ff739bc48c0,100,next node:internal/per_context/primordials:335:9,0x14d495b5240,^
code-source-info,0x7ff739bc48c0,6,9913,9960,,,
code-creation,JS,11,299966,0x7ff739bc4940,316,SafeSet node:internal/per_context/primordials:426:16,0x14d495b60d8,^
code-source-info,0x7ff739bc4940,6,12729,12746,,,
code-creation,JS,11,300006,0x7ff739bc4ac0,208,isPathSeparator node:path:60:25,0x39e2db63ff8,^
code-source-info,0x7ff739bc4ac0,33,2014,2096,,,
code-creation,JS,11,300104,0x7ff739bc4bc0,3032,normalizeString node:path:74:25,0x39e2db640e8,^
code-source-info,0x7ff739bc4bc0,33,2446,4432,,,
code-creation,JS,10,300203,0x23c5197517e,22,newLoadCache node:internal/modules/esm/loader:62:22,0x23c5196a5b0,~
code-source-info,0x23c5197517e,81,1847,1950,C0O1877C6O1877C11O1863C16O1931C21O1947,,
code-creation,JS,10,300278,0x23c51975256,43,LoadCache node:internal/modules/esm/module_map:90:14,0x23c51971ec8,~
code-source-info,0x23c51975256,83,2944,2961,C3O2950C27O2950C42O2960,,
code-creation,JS,10,300359,0x23c519754ee,17,getTranslators node:internal/modules/esm/loader:71:24,0x23c5196a600,~
code-source-info,0x23c519754ee,81,2141,2243,C0O2173C6O2173C11O2157C16O2240,,
code-creation,Eval,10,301433,0x23c519761d6,5, node:internal/modules/esm/translators:1:1,0x23c51975cb0,~
script-source,84,node:internal/modules/esm/translators,'use strict';\x0d\n\x0d\nconst {\x0d\n ArrayPrototypeMap\x2C\x0d\n Boolean\x2C\x0d\n JSONParse\x2C\x0d\n ObjectGetPrototypeOf\x2C\x0d\n ObjectPrototypeHasOwnProperty\x2C\x0d\n ObjectKeys\x2C\x0d\n ReflectApply\x2C\x0d\n SafeArrayIterator\x2C\x0d\n SafeMap\x2C\x0d\n SafeSet\x2C\x0d\n StringPrototypeIncludes\x2C\x0d\n StringPrototypeReplaceAll\x2C\x0d\n StringPrototypeSlice\x2C\x0d\n StringPrototypeStartsWith\x2C\x0d\n SyntaxErrorPrototype\x2C\x0d\n globalThis: { WebAssembly }\x2C\x0d\n} = primordials;\x0d\n\x0d\n/** @type {import('internal/util/types')} */\x0d\nlet _TYPES = null;\x0d\n/**\x0d\n * Lazily loads and returns the internal/util/types module.\x0d\n */\x0d\nfunction lazyTypes() {\x0d\n if (_TYPES !== null) { return _TYPES; }\x0d\n return _TYPES = require('internal/util/types');\x0d\n}\x0d\n\x0d\nconst {\x0d\n containsModuleSyntax\x2C\x0d\n compileFunctionForCJSLoader\x2C\x0d\n} = internalBinding('contextify');\x0d\n\x0d\nconst { BuiltinModule } = require('internal/bootstrap/realm');\x0d\nconst assert = require('internal/assert');\x0d\nconst { readFileSync } = require('fs');\x0d\nconst { dirname\x2C extname\x2C isAbsolute } = require('path');\x0d\nconst {\x0d\n loadBuiltinModule\x2C\x0d\n stripBOM\x2C\x0d\n urlToFilename\x2C\x0d\n} = require('internal/modules/helpers');\x0d\nconst {\x0d\n kIsCachedByESMLoader\x2C\x0d\n Module: CJSModule\x2C\x0d\n kModuleSource\x2C\x0d\n kModuleExport\x2C\x0d\n kModuleExportNames\x2C\x0d\n} = require('internal/modules/cjs/loader');\x0d\nconst { fileURLToPath\x2C pathToFileURL\x2C URL } = require('internal/url');\x0d\nlet debug = require('internal/util/debuglog').debuglog('esm'\x2C (fn) => {\x0d\n debug = fn;\x0d\n});\x0d\nconst { emitExperimentalWarning\x2C kEmptyObject\x2C setOwnProperty } = require('internal/util');\x0d\nconst {\x0d\n ERR_UNKNOWN_BUILTIN_MODULE\x2C\x0d\n ERR_INVALID_RETURN_PROPERTY_VALUE\x2C\x0d\n} = require('internal/errors').codes;\x0d\nconst { maybeCacheSourceMap } = require('internal/source_map/source_map_cache');\x0d\nconst moduleWrap = internalBinding('module_wrap');\x0d\nconst { ModuleWrap } = moduleWrap;\x0d\nconst { emitWarningSync } = require('internal/process/warning');\x0d\n\x0d\n// Lazy-loading to avoid circular dependencies.\x0d\nlet getSourceSync;\x0d\n/**\x0d\n * @param {Parameters<typeof import('./load').getSourceSync>[0]} url\x0d\n * @returns {ReturnType<typeof import('./load').getSourceSync>}\x0d\n */\x0d\nfunction getSource(url) {\x0d\n getSourceSync ??= require('internal/modules/esm/load').getSourceSync;\x0d\n return getSourceSync(url);\x0d\n}\x0d\n\x0d\n/** @type {import('deps/cjs-module-lexer/lexer.js').parse} */\x0d\nlet cjsParse;\x0d\n/**\x0d\n * Initializes the CommonJS module lexer parser.\x0d\n * If WebAssembly is available\x2C it uses the optimized version from the dist folder.\x0d\n * Otherwise\x2C it falls back to the JavaScript version from the lexer folder.\x0d\n */\x0d\nasync function initCJSParse() {\x0d\n if (typeof WebAssembly === 'undefined') {\x0d\n initCJSParseSync();\x0d\n } else {\x0d\n const { parse\x2C init } =\x0d\n require('internal/deps/cjs-module-lexer/dist/lexer');\x0d\n try {\x0d\n await init();\x0d\n cjsParse = parse;\x0d\n } catch {\x0d\n initCJSParseSync();\x0d\n }\x0d\n }\x0d\n}\x0d\n\x0d\nfunction initCJSParseSync() {\x0d\n // TODO(joyeecheung): implement a binding that directly compiles using\x0d\n // v8::WasmModuleObject::Compile() synchronously.\x0d\n if (cjsParse === undefined) {\x0d\n cjsParse = require('internal/deps/cjs-module-lexer/lexer').parse;\x0d\n }\x0d\n}\x0d\n\x0d\nconst translators = new SafeMap();\x0d\nexports.translators = translators;\x0d\nexports.enrichCJSError = enrichCJSError;\x0d\n\x0d\nlet DECODER = null;\x0d\n/**\x0d\n * Asserts that the given body is a buffer source (either a string\x2C array buffer\x2C or typed array).\x0d\n * Throws an error if the body is not a buffer source.\x0d\n * @param {string | ArrayBufferView | ArrayBuffer} body - The body to check.\x0d\n * @param {boolean} allowString - Whether or not to allow a string as a valid buffer source.\x0d\n * @param {string} hookName - The name of the hook being called.\x0d\n * @throws {ERR_INVALID_RETURN_PROPERTY_VALUE} If the body is not a buffer source.\x0d\n */\x0d\nfunction assertBufferSource(body\x2C allowString\x2C hookName) {\x0d\n if (allowString && typeof body === 'string') {\x0d\n return;\x0d\n }\x0d\n const { isArrayBufferView\x2C isAnyArrayBuffer } = lazyTypes();\x0d\n if (isArrayBufferView(body) || isAnyArrayBuffer(body)) {\x0d\n return;\x0d\n }\x0d\n throw new ERR_INVALID_RETURN_PROPERTY_VALUE(\x0d\n `${allowString ? 'string\x2C ' : ''}array buffer\x2C or typed array`\x2C\x0d\n hookName\x2C\x0d\n 'source'\x2C\x0d\n body\x2C\x0d\n );\x0d\n}\x0d\n\x0d\n/**\x0d\n * Converts a buffer or buffer-like object to a string.\x0d\n * @param {string | ArrayBuffer | ArrayBufferView} body - The buffer or buffer-like object to convert to a string.\x0d\n * @returns {string} The resulting string.\x0d\n */\x0d\nfunction stringify(body) {\x0d\n if (typeof body === 'string') { return body; }\x0d\n assertBufferSource(body\x2C false\x2C 'load');\x0d\n const { TextDecoder } = require('internal/encoding');\x0d\n DECODER = DECODER === null ? new TextDecoder() : DECODER;\x0d\n return DECODER.decode(body);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Converts a URL to a file path if the URL protocol is 'file:'.\x0d\n * @param {string} url - The URL to convert.\x0d\n */\x0d\nfunction errPath(url) {\x0d\n const parsed = new URL(url);\x0d\n if (parsed.protocol === 'file:') {\x0d\n return fileURLToPath(parsed);\x0d\n }\x0d\n return url;\x0d\n}\x0d\n\x0d\n// Strategy for loading a standard JavaScript module.\x0d\ntranslators.set('module'\x2C function moduleStrategy(url\x2C source\x2C isMain) {\x0d\n assertBufferSource(source\x2C true\x2C 'load');\x0d\n source = stringify(source);\x0d\n debug(`Translating StandardModule ${url}`);\x0d\n const { compileSourceTextModule } = require('internal/modules/esm/utils');\x0d\n const module = compileSourceTextModule(url\x2C source\x2C this);\x0d\n return module;\x0d\n});\x0d\n\x0d\n/**\x0d\n * Provide a more informative error for CommonJS imports.\x0d\n * @param {Error | any} err\x0d\n * @param {string} [content] Content of the file\x2C if known.\x0d\n * @param {string} [filename] The filename of the erroring module.\x0d\n */\x0d\nfunction enrichCJSError(err\x2C content\x2C filename) {\x0d\n if (err != null && ObjectGetPrototypeOf(err) === SyntaxErrorPrototype &&\x0d\n containsModuleSyntax(content\x2C filename)) {\x0d\n // Emit the warning synchronously because we are in the middle of handling\x0d\n // a SyntaxError that will throw and likely terminate the process before an\x0d\n // asynchronous warning would be emitted.\x0d\n emitWarningSync(\x0d\n 'To load an ES module\x2C set "type": "module" in the package.json or use ' +\x0d\n 'the .mjs extension.'\x2C\x0d\n );\x0d\n }\x0d\n}\x0d\n\x0d\n/**\x0d\n * Loads a CommonJS module via the ESM Loader sync CommonJS translator.\x0d\n * This translator creates its own version of the `require` function passed into CommonJS modules.\x0d\n * Any monkey patches applied to the CommonJS Loader will not affect this module.\x0d\n * Any `require` calls in this module will load all children in the same way.\x0d\n * @param {import('internal/modules/cjs/loader').Module} module - The module to load.\x0d\n * @param {string} source - The source code of the module.\x0d\n * @param {string} url - The URL of the module.\x0d\n * @param {string} filename - The filename of the module.\x0d\n */\x0d\nfunction loadCJSModule(module\x2C source\x2C url\x2C filename) {\x0d\n let compileResult;\x0d\n try {\x0d\n compileResult = compileFunctionForCJSLoader(source\x2C filename);\x0d\n } catch (err) {\x0d\n enrichCJSError(err\x2C source\x2C filename);\x0d\n throw err;\x0d\n }\x0d\n // Cache the source map for the cjs module if present.\x0d\n if (compileResult.sourceMapURL) {\x0d\n maybeCacheSourceMap(url\x2C source\x2C null\x2C false\x2C undefined\x2C compileResult.sourceMapURL);\x0d\n }\x0d\n\x0d\n const compiledWrapper = compileResult.function;\x0d\n\x0d\n const cascadedLoader = require('internal/modules/esm/loader').getOrInitializeCascadedLoader();\x0d\n const __dirname = dirname(filename);\x0d\n // eslint-disable-next-line func-name-matching\x2Cfunc-style\x0d\n const requireFn = function require(specifier) {\x0d\n let importAttributes = kEmptyObject;\x0d\n if (!StringPrototypeStartsWith(specifier\x2C 'node:') && !BuiltinModule.normalizeRequirableId(specifier)) {\x0d\n // TODO: do not depend on the monkey-patchable CJS loader here.\x0d\n const path = CJSModule._resolveFilename(specifier\x2C module);\x0d\n switch (extname(path)) {\x0d\n case '.json':\x0d\n importAttributes = { __proto__: null\x2C type: 'json' };\x0d\n break;\x0d\n case '.node':\x0d\n return CJSModule._load(specifier\x2C module);\x0d\n default:\x0d\n // fall through\x0d\n }\x0d\n specifier = `${pathToFileURL(path)}`;\x0d\n }\x0d\n const job = cascadedLoader.getModuleJobSync(specifier\x2C url\x2C importAttributes);\x0d\n job.runSync();\x0d\n return cjsCache.get(job.url).exports;\x0d\n };\x0d\n setOwnProperty(requireFn\x2C 'resolve'\x2C function resolve(specifier) {\x0d\n if (!StringPrototypeStartsWith(specifier\x2C 'node:')) {\x0d\n const path = CJSModule._resolveFilename(specifier\x2C module);\x0d\n if (specifier !== path) {\x0d\n specifier = `${pathToFileURL(path)}`;\x0d\n }\x0d\n }\x0d\n const { url: resolvedURL } = cascadedLoader.resolveSync(specifier\x2C url\x2C kEmptyObject);\x0d\n return urlToFilename(resolvedURL);\x0d\n });\x0d\n setOwnProperty(requireFn\x2C 'main'\x2C process.mainModule);\x0d\n\x0d\n ReflectApply(compiledWrapper\x2C module.exports\x2C\x0d\n [module.exports\x2C requireFn\x2C module\x2C filename\x2C __dirname]);\x0d\n setOwnProperty(module\x2C 'loaded'\x2C true);\x0d\n}\x0d\n\x0d\n// TODO: can we use a weak map instead?\x0d\nconst cjsCache = new SafeMap();\x0d\n/**\x0d\n * Creates a ModuleWrap object for a CommonJS module.\x0d\n * @param {string} url - The URL of the module.\x0d\n * @param {string} source - The source code of the module.\x0d\n * @param {boolean} isMain - Whether the module is the main module.\x0d\n * @param {typeof loadCJSModule} [loadCJS=loadCJSModule] - The function to load the CommonJS module.\x0d\n * @returns {ModuleWrap} The ModuleWrap object for the CommonJS module.\x0d\n */\x0d\nfunction createCJSModuleWrap(url\x2C source\x2C isMain\x2C loadCJS = loadCJSModule) {\x0d\n debug(`Translating CJSModule ${url}`);\x0d\n\x0d\n const filename = urlToFilename(url);\x0d\n // In case the source was not provided by the `load` step\x2C we need fetch it now.\x0d\n source = stringify(source ?? getSource(new URL(url)).source);\x0d\n\x0d\n const { exportNames\x2C module } = cjsPreparseModuleExports(filename\x2C source);\x0d\n cjsCache.set(url\x2C module);\x0d\n const namesWithDefault = exportNames.has('default') ?\x0d\n [...exportNames] : ['default'\x2C ...exportNames];\x0d\n\x0d\n if (isMain) {\x0d\n setOwnProperty(process\x2C 'mainModule'\x2C module);\x0d\n }\x0d\n\x0d\n return new ModuleWrap(url\x2C undefined\x2C namesWithDefault\x2C function() {\x0d\n debug(`Loading CJSModule ${url}`);\x0d\n\x0d\n if (!module.loaded) {\x0d\n loadCJS(module\x2C source\x2C url\x2C filename);\x0d\n }\x0d\n\x0d\n let exports;\x0d\n if (module[kModuleExport] !== undefined) {\x0d\n exports = module[kModuleExport];\x0d\n module[kModuleExport] = undefined;\x0d\n } else {\x0d\n ({ exports } = module);\x0d\n }\x0d\n for (const exportName of exportNames) {\x0d\n if (!ObjectPrototypeHasOwnProperty(exports\x2C exportName) ||\x0d\n exportName === 'default') {\x0d\n continue;\x0d\n }\x0d\n // We might trigger a getter -> dont fail.\x0d\n let value;\x0d\n try {\x0d\n value = exports[exportName];\x0d\n } catch {\x0d\n // Continue regardless of error.\x0d\n }\x0d\n this.setExport(exportName\x2C value);\x0d\n }\x0d\n this.setExport('default'\x2C exports);\x0d\n }\x2C module);\x0d\n}\x0d\n\x0d\ntranslators.set('commonjs-sync'\x2C function requireCommonJS(url\x2C source\x2C isMain) {\x0d\n initCJSParseSync();\x0d\n assert(!isMain); // This is only used by imported CJS modules.\x0d\n\x0d\n return createCJSModuleWrap(url\x2C source\x2C isMain\x2C (module\x2C source\x2C url\x2C filename) => {\x0d\n assert(module === CJSModule._cache[filename]);\x0d\n CJSModule._load(filename);\x0d\n });\x0d\n});\x0d\n\x0d\n// Handle CommonJS modules referenced by `require` calls.\x0d\n// This translator function must be sync\x2C as `require` is sync.\x0d\ntranslators.set('require-commonjs'\x2C (url\x2C source\x2C isMain) => {\x0d\n assert(cjsParse);\x0d\n\x0d\n return createCJSModuleWrap(url\x2C source);\x0d\n});\x0d\n\x0d\n// Handle CommonJS modules referenced by `import` statements or expressions\x2C\x0d\n// or as the initial entry point when the ESM loader handles a CommonJS entry.\x0d\ntranslators.set('commonjs'\x2C async function commonjsStrategy(url\x2C source\x2C\x0d\n isMain) {\x0d\n if (!cjsParse) {\x0d\n await initCJSParse();\x0d\n }\x0d\n\x0d\n // For backward-compatibility\x2C it's possible to return a nullish value for\x0d\n // CJS source associated with a file: URL. In this case\x2C the source is\x0d\n // obtained by calling the monkey-patchable CJS loader.\x0d\n const cjsLoader = source == null ? (module\x2C source\x2C url\x2C filename) => {\x0d\n try {\x0d\n assert(module === CJSModule._cache[filename]);\x0d\n CJSModule._load(filename);\x0d\n } catch (err) {\x0d\n enrichCJSError(err\x2C source\x2C filename);\x0d\n throw err;\x0d\n }\x0d\n } : loadCJSModule;\x0d\n\x0d\n try {\x0d\n // We still need to read the FS to detect the exports.\x0d\n source ??= readFileSync(new URL(url)\x2C 'utf8');\x0d\n } catch {\x0d\n // Continue regardless of error.\x0d\n }\x0d\n return createCJSModuleWrap(url\x2C source\x2C isMain\x2C cjsLoader);\x0d\n\x0d\n});\x0d\n\x0d\n/**\x0d\n * Pre-parses a CommonJS module's exports and re-exports.\x0d\n * @param {string} filename - The filename of the module.\x0d\n * @param {string} [source] - The source code of the module.\x0d\n */\x0d\nfunction cjsPreparseModuleExports(filename\x2C source) {\x0d\n // TODO: Do we want to keep hitting the user mutable CJS loader here?\x0d\n let module = CJSModule._cache[filename];\x0d\n if (module && module[kModuleExportNames] !== undefined) {\x0d\n return { module\x2C exportNames: module[kModuleExportNames] };\x0d\n }\x0d\n const loaded = Boolean(module);\x0d\n if (!loaded) {\x0d\n module = new CJSModule(filename);\x0d\n module.filename = filename;\x0d\n module.paths = CJSModule._nodeModulePaths(module.path);\x0d\n module[kIsCachedByESMLoader] = true;\x0d\n module[kModuleSource] = source;\x0d\n CJSModule._cache[filename] = module;\x0d\n }\x0d\n\x0d\n let exports\x2C reexports;\x0d\n try {\x0d\n ({ exports\x2C reexports } = cjsParse(source || ''));\x0d\n } catch {\x0d\n exports = [];\x0d\n reexports = [];\x0d\n }\x0d\n\x0d\n const exportNames = new SafeSet(new SafeArrayIterator(exports));\x0d\n\x0d\n // Set first for cycles.\x0d\n module[kModuleExportNames] = exportNames;\x0d\n\x0d\n if (reexports.length) {\x0d\n module.filename = filename;\x0d\n module.paths = CJSModule._nodeModulePaths(module.path);\x0d\n for (let i = 0; i < reexports.length; i++) {\x0d\n const reexport = reexports[i];\x0d\n let resolved;\x0d\n try {\x0d\n // TODO: this should be calling the `resolve` hook chain instead.\x0d\n // Doing so would mean dropping support for CJS in the loader thread\x2C as\x0d\n // this call needs to be sync from the perspective of the main thread\x2C\x0d\n // which we can do via HooksProxy and Atomics\x2C but we can't do within\x0d\n // the loaders thread. Until this is done\x2C the lexer will use the\x0d\n // monkey-patchable CJS loader to get the path to the module file to\x0d\n // load (which may or may not be aligned with the URL that the `resolve`\x0d\n // hook have returned).\x0d\n resolved = CJSModule._resolveFilename(reexport\x2C module);\x0d\n } catch {\x0d\n continue;\x0d\n }\x0d\n // TODO: this should be calling the `load` hook chain and check if it returns\x0d\n // `format: 'commonjs'` instead of relying on file extensions.\x0d\n const ext = extname(resolved);\x0d\n if ((ext === '.js' || ext === '.cjs' || !CJSModule._extensions[ext]) &&\x0d\n isAbsolute(resolved)) {\x0d\n // TODO: this should be calling the `load` hook chain to get the source\x0d\n // (and fallback to reading the FS only if the source is nullish).\x0d\n const source = readFileSync(resolved\x2C 'utf-8');\x0d\n const { exportNames: reexportNames } = cjsPreparseModuleExports(resolved\x2C source);\x0d\n for (const name of reexportNames) {\x0d\n exportNames.add(name);\x0d\n }\x0d\n }\x0d\n }\x0d\n }\x0d\n\x0d\n return { module\x2C exportNames };\x0d\n}\x0d\n\x0d\n// Strategy for loading a node builtin CommonJS module that isn't\x0d\n// through normal resolution\x0d\ntranslators.set('builtin'\x2C function builtinStrategy(url) {\x0d\n debug(`Translating BuiltinModule ${url}`);\x0d\n // Slice 'node:' scheme\x0d\n const id = StringPrototypeSlice(url\x2C 5);\x0d\n const module = loadBuiltinModule(id\x2C url);\x0d\n cjsCache.set(url\x2C module);\x0d\n if (!StringPrototypeStartsWith(url\x2C 'node:') || !module) {\x0d\n throw new ERR_UNKNOWN_BUILTIN_MODULE(url);\x0d\n }\x0d\n debug(`Loading BuiltinModule ${url}`);\x0d\n return module.getESMFacade();\x0d\n});\x0d\n\x0d\n// Strategy for loading a JSON file\x0d\nconst isWindows = process.platform === 'win32';\x0d\ntranslators.set('json'\x2C function jsonStrategy(url\x2C source) {\x0d\n emitExperimentalWarning('Importing JSON modules');\x0d\n assertBufferSource(source\x2C true\x2C 'load');\x0d\n debug(`Loading JSONModule ${url}`);\x0d\n const pathname = StringPrototypeStartsWith(url\x2C 'file:') ?\x0d\n fileURLToPath(url) : null;\x0d\n const shouldCheckAndPopulateCJSModuleCache =\x0d\n // We want to involve the CJS loader cache only for `file:` URL with no search query and no hash.\x0d\n pathname && !StringPrototypeIncludes(url\x2C '?') && !StringPrototypeIncludes(url\x2C '#');\x0d\n let modulePath;\x0d\n let module;\x0d\n if (shouldCheckAndPopulateCJSModuleCache) {\x0d\n modulePath = isWindows ?\x0d\n StringPrototypeReplaceAll(pathname\x2C '/'\x2C '\\\\') : pathname;\x0d\n module = CJSModule._cache[modulePath];\x0d\n if (module && module.loaded) {\x0d\n const exports = module.exports;\x0d\n return new ModuleWrap(url\x2C undefined\x2C ['default']\x2C function() {\x0d\n this.setExport('default'\x2C exports);\x0d\n });\x0d\n }\x0d\n }\x0d\n source = stringify(source);\x0d\n if (shouldCheckAndPopulateCJSModuleCache) {\x0d\n // A require call could have been called on the same file during loading and\x0d\n // that resolves synchronously. To make sure we always return the identical\x0d\n // export\x2C we have to check again if the module already exists or not.\x0d\n // TODO: remove CJS loader from here as well.\x0d\n module = CJSModule._cache[modulePath];\x0d\n if (module && module.loaded) {\x0d\n const exports = module.exports;\x0d\n return new ModuleWrap(url\x2C undefined\x2C ['default']\x2C function() {\x0d\n this.setExport('default'\x2C exports);\x0d\n });\x0d\n }\x0d\n }\x0d\n try {\x0d\n const exports = JSONParse(stripBOM(source));\x0d\n module = {\x0d\n exports\x2C\x0d\n loaded: true\x2C\x0d\n };\x0d\n } catch (err) {\x0d\n // TODO (BridgeAR): We could add a NodeCore error that wraps the JSON\x0d\n // parse error instead of just manipulating the original error message.\x0d\n // That would allow to add further properties and maybe additional\x0d\n // debugging information.\x0d\n err.message = errPath(url) + ': ' + err.message;\x0d\n throw err;\x0d\n }\x0d\n if (shouldCheckAndPopulateCJSModuleCache) {\x0d\n CJSModule._cache[modulePath] = module;\x0d\n }\x0d\n cjsCache.set(url\x2C module);\x0d\n return new ModuleWrap(url\x2C undefined\x2C ['default']\x2C function() {\x0d\n debug(`Parsing JSONModule ${url}`);\x0d\n this.setExport('default'\x2C module.exports);\x0d\n });\x0d\n});\x0d\n\x0d\n// Strategy for loading a wasm module\x0d\ntranslators.set('wasm'\x2C async function(url\x2C source) {\x0d\n emitExperimentalWarning('Importing WebAssembly modules');\x0d\n\x0d\n assertBufferSource(source\x2C false\x2C 'load');\x0d\n\x0d\n debug(`Translating WASMModule ${url}`);\x0d\n\x0d\n let compiled;\x0d\n try {\x0d\n // TODO(joyeecheung): implement a binding that directly compiles using\x0d\n // v8::WasmModuleObject::Compile() synchronously.\x0d\n compiled = await WebAssembly.compile(source);\x0d\n } catch (err) {\x0d\n err.message = errPath(url) + ': ' + err.message;\x0d\n throw err;\x0d\n }\x0d\n\x0d\n const imports =\x0d\n ArrayPrototypeMap(WebAssembly.Module.imports(compiled)\x2C\x0d\n ({ module }) => module);\x0d\n const exports =\x0d\n ArrayPrototypeMap(WebAssembly.Module.exports(compiled)\x2C\x0d\n ({ name }) => name);\x0d\n\x0d\n const createDynamicModule = require(\x0d\n 'internal/modules/esm/create_dynamic_module');\x0d\n return createDynamicModule(imports\x2C exports\x2C url\x2C (reflect) => {\x0d\n const { exports } = new WebAssembly.Instance(compiled\x2C reflect.imports);\x0d\n for (const expt of ObjectKeys(exports)) {\x0d\n reflect.exports[expt].set(exports[expt]);\x0d\n }\x0d\n }).module;\x0d\n});\x0d\n
code-source-info,0x23c519761d6,84,0,19560,C0O0C4O19560,,
code-creation,JS,10,303437,0x23c51976bb6,848, node:internal/modules/esm/translators:1:1,0x23c51976150,~
code-source-info,0x23c51976bb6,84,0,19560,C0O0C226O28C232O50C238O62C244O76C250O101C256O135C262O150C268O167C274O189C279O201C285O213C291O241C297O271C303O296C309O326C315O363C320O365C326O460C327O460C329O731C332O731C337O672C343O697C349O791C355O791C360O773C366O844C372O844C376O844C378O898C384O898C389O881C395O955C401O955C406O922C412O931C418O940C424O1039C430O1039C435O984C441O1006C447O1019C453O1196C459O1196C464O1088C470O1121C476O1135C482O1153C488O1171C494O1283C500O1283C505O1245C511O1260C517O1275C523O1321C529O1321C534O1354C547O1355C553O1321C555O1468C561O1468C566O1410C572O1435C578O1449C584O1577C590O1577C595O1603C600O1506C606O1537C612O1644C618O1644C623O1620C629O1713C632O1713C637O1754C643O1810C649O1810C654O1790C660O1903C661O1903C663O2266C664O2266C666O3115C668O3115C674O3131C676O3151C680O3167C682O3190C686O3225C687O3225C689O5007C702O5007C708O8944C710O8944C715O8944C717O10872C730O10872C736O11356C749O11356C755O11652C768O11652C774O15502C787O15502C793O15995C796O16003C803O16012C806O15995C808O16038C821O16038C827O18439C840O18439C847O19559,,
tick,0x7ffcc621fab3,303692,1,0x7ff7b8fa3800,3,0x7ff7b99b2970,0x7ff739bc3f26,0x7ff739bc3ca1,0x23c519754f4,0x23c5196be39,0x23c519713e7,0x23c5197114b,0x23c5196f449,0x23c51969324,0x23c51968a11,0x23c51942948
code-creation,JS,10,304052,0x23c51978666,30,setCustomizations node:internal/modules/esm/loader:199:20,0x23c5196a830,~
code-source-info,0x23c51978666,81,5946,6180,C0O5970C5O5991C9O6014C13O6088C17O6071C23O6133C24O6161C29O6179,,
code-creation,JS,10,304149,0x23c51978766,22,forceLoadHooks node:internal/modules/esm/loader:594:17,0x23c5196ad30,~
code-source-info,0x23c51978766,81,22141,22195,C0O22151C2O22156C8O22171C13O22173C21O22194,,
code-creation,JS,10,304302,0x23c51978926,145, node:internal/main/repl:38:67,0x23c51942708,~
code-source-info,0x23c51978926,80,1132,2134,C0O1145C5O1153C16O1187C33O1200C37O1153C42O1271C48O1271C53O1310C61O1337C71O1310C77O1778C85O1782C91O1828C101O1867C107O1867C114O1911C120O1911C127O1962C133O1962C138O1828C144O2133,,
code-creation,JS,10,304438,0x23c51978d46,38,log node:internal/console/constructor:385:6,0x39e2db76428,~
code-source-info,0x23c51978d46,54,12112,12198,C0O12112C3O12129C5O12134C7O12133C13O12151C18O12168C20O12167C24O12185C30O12150C37O12197,,
code-creation,JS,10,304537,0x23c51978e8e,50,value node:internal/console/constructor:346:20,0x39e2db76188,~
code-source-info,0x23c51978e8e,54,10617,10793,C0O10646C2O10651C4O10650C8O10676C13O10670C19O10693C24O10693C29O10735C36O10755C44O10742C49O10786,,
code-creation,JS,10,304618,0x23c51978fa6,27,get node:internal/console/constructor:215:14,0x23c5194ad78,~
code-source-info,0x23c51978fa6,54,6319,6414,C0O6337C6O6350C9O6366C16O6357C22O6387C26O6401,,
code-creation,JS,10,304783,0x23c5197919e,125,getStdout node:internal/bootstrap/switches/is_main_thread:148:19,0x39e2db7b008,~
script-source,60,node:internal/bootstrap/switches/is_main_thread,'use strict';\x0d\n\x0d\nconst { ObjectDefineProperty } = primordials;\x0d\nconst rawMethods = internalBinding('process_methods');\x0d\nconst {\x0d\n namespace: {\x0d\n addSerializeCallback\x2C\x0d\n isBuildingSnapshot\x2C\x0d\n }\x2C\x0d\n} = require('internal/v8/startup_snapshot');\x0d\n// TODO(joyeecheung): deprecate and remove these underscore methods\x0d\nprocess._debugProcess = rawMethods._debugProcess;\x0d\nprocess._debugEnd = rawMethods._debugEnd;\x0d\n\x0d\n// See the discussion in https://github.com/nodejs/node/issues/19009 and\x0d\n// https://github.com/nodejs/node/pull/34010 for why these are no-ops.\x0d\n// Five word summary: they were broken beyond repair.\x0d\nprocess._startProfilerIdleNotifier = () => {};\x0d\nprocess._stopProfilerIdleNotifier = () => {};\x0d\n\x0d\nfunction defineStream(name\x2C getter) {\x0d\n ObjectDefineProperty(process\x2C name\x2C {\x0d\n __proto__: null\x2C\x0d\n configurable: true\x2C\x0d\n enumerable: true\x2C\x0d\n get: getter\x2C\x0d\n });\x0d\n}\x0d\n\x0d\ndefineStream('stdout'\x2C getStdout);\x0d\ndefineStream('stdin'\x2C getStdin);\x0d\ndefineStream('stderr'\x2C getStderr);\x0d\n\x0d\n// Worker threads don't receive signals.\x0d\nconst {\x0d\n startListeningIfSignal\x2C\x0d\n stopListeningIfSignal\x2C\x0d\n} = require('internal/process/signal');\x0d\nprocess.on('newListener'\x2C startListeningIfSignal);\x0d\nprocess.on('removeListener'\x2C stopListeningIfSignal);\x0d\n\x0d\n// ---- keep the attachment of the wrappers above so that it's easier to ----\x0d\n// ---- compare the setups side-by-side -----\x0d\n\x0d\nconst { guessHandleType } = require('internal/util');\x0d\n\x0d\nfunction createWritableStdioStream(fd) {\x0d\n let stream;\x0d\n // Note stream._type is used for test-module-load-list.js\x0d\n switch (guessHandleType(fd)) {\x0d\n case 'TTY': {\x0d\n const tty = require('tty');\x0d\n stream = new tty.WriteStream(fd);\x0d\n stream._type = 'tty';\x0d\n break;\x0d\n }\x0d\n\x0d\n case 'FILE': {\x0d\n const SyncWriteStream = require('internal/fs/sync_write_stream');\x0d\n stream = new SyncWriteStream(fd\x2C { autoClose: false });\x0d\n stream._type = 'fs';\x0d\n break;\x0d\n }\x0d\n\x0d\n case 'PIPE':\x0d\n case 'TCP': {\x0d\n const net = require('net');\x0d\n\x0d\n // If fd is already being used for the IPC channel\x2C libuv will return\x0d\n // an error when trying to use it again. In that case\x2C create the socket\x0d\n // using the existing handle instead of the fd.\x0d\n if (process.channel && process.channel.fd === fd) {\x0d\n const { kChannelHandle } = require('internal/child_process');\x0d\n stream = new net.Socket({\x0d\n handle: process[kChannelHandle]\x2C\x0d\n readable: false\x2C\x0d\n writable: true\x2C\x0d\n });\x0d\n } else {\x0d\n stream = new net.Socket({\x0d\n fd\x2C\x0d\n readable: false\x2C\x0d\n writable: true\x2C\x0d\n });\x0d\n }\x0d\n\x0d\n stream._type = 'pipe';\x0d\n break;\x0d\n }\x0d\n\x0d\n default: {\x0d\n // Provide a dummy black-hole output for e.g. non-console\x0d\n // Windows applications.\x0d\n const { Writable } = require('stream');\x0d\n stream = new Writable({\x0d\n write(buf\x2C enc\x2C cb) {\x0d\n cb();\x0d\n }\x2C\x0d\n });\x0d\n }\x0d\n }\x0d\n\x0d\n // For supporting legacy API we put the FD here.\x0d\n stream.fd = fd;\x0d\n\x0d\n stream._isStdio = true;\x0d\n\x0d\n return stream;\x0d\n}\x0d\n\x0d\nfunction dummyDestroy(err\x2C cb) {\x0d\n cb(err);\x0d\n this._undestroy();\x0d\n\x0d\n // We need to emit 'close' anyway so that the closing\x0d\n // of the stream is observable. We just make sure we\x0d\n // are not going to do it twice.\x0d\n // The 'close' event is needed so that finished and\x0d\n // pipeline work correctly.\x0d\n if (!this._writableState.emitClose) {\x0d\n process.nextTick(() => {\x0d\n this.emit('close');\x0d\n });\x0d\n }\x0d\n}\x0d\n\x0d\nlet stdin;\x0d\nlet stdout;\x0d\nlet stderr;\x0d\n\x0d\nlet stdoutDestroy;\x0d\nlet stderrDestroy;\x0d\n\x0d\nfunction refreshStdoutOnSigWinch() {\x0d\n stdout._refreshSize();\x0d\n}\x0d\n\x0d\nfunction refreshStderrOnSigWinch() {\x0d\n stderr._refreshSize();\x0d\n}\x0d\n\x0d\nfunction addCleanup(fn) {\x0d\n if (isBuildingSnapshot()) {\x0d\n addSerializeCallback(fn);\x0d\n }\x0d\n}\x0d\n\x0d\nfunction getStdout() {\x0d\n if (stdout) return stdout;\x0d\n stdout = createWritableStdioStream(1);\x0d\n stdout.destroySoon = stdout.destroy;\x0d\n // Override _destroy so that the fd is never actually closed.\x0d\n stdoutDestroy = stdout._destroy;\x0d\n stdout._destroy = dummyDestroy;\x0d\n if (stdout.isTTY) {\x0d\n process.on('SIGWINCH'\x2C refreshStdoutOnSigWinch);\x0d\n }\x0d\n\x0d\n addCleanup(function cleanupStdout() {\x0d\n stdout._destroy = stdoutDestroy;\x0d\n stdout.destroy();\x0d\n process.removeListener('SIGWINCH'\x2C refreshStdoutOnSigWinch);\x0d\n stdout = undefined;\x0d\n });\x0d\n // No need to add deserialize callback because stdout = undefined above\x0d\n // causes the stream to be lazily initialized again later.\x0d\n return stdout;\x0d\n}\x0d\n\x0d\nfunction getStderr() {\x0d\n if (stderr) return stderr;\x0d\n stderr = createWritableStdioStream(2);\x0d\n stderr.destroySoon = stderr.destroy;\x0d\n stderrDestroy = stderr._destroy;\x0d\n // Override _destroy so that the fd is never actually closed.\x0d\n stderr._destroy = dummyDestroy;\x0d\n if (stderr.isTTY) {\x0d\n process.on('SIGWINCH'\x2C refreshStderrOnSigWinch);\x0d\n }\x0d\n addCleanup(function cleanupStderr() {\x0d\n stderr._destroy = stderrDestroy;\x0d\n stderr.destroy();\x0d\n process.removeListener('SIGWINCH'\x2C refreshStderrOnSigWinch);\x0d\n stderr = undefined;\x0d\n });\x0d\n // No need to add deserialize callback because stderr = undefined above\x0d\n // causes the stream to be lazily initialized again later.\x0d\n return stderr;\x0d\n}\x0d\n\x0d\nfunction getStdin() {\x0d\n if (stdin) return stdin;\x0d\n const fd = 0;\x0d\n\x0d\n switch (guessHandleType(fd)) {\x0d\n case 'TTY': {\x0d\n const tty = require('tty');\x0d\n stdin = new tty.ReadStream(fd);\x0d\n break;\x0d\n }\x0d\n\x0d\n case 'FILE': {\x0d\n const fs = require('fs');\x0d\n stdin = new fs.ReadStream(null\x2C { fd: fd\x2C autoClose: false });\x0d\n break;\x0d\n }\x0d\n\x0d\n case 'PIPE':\x0d\n case 'TCP': {\x0d\n const net = require('net');\x0d\n\x0d\n // It could be that process has been started with an IPC channel\x0d\n // sitting on fd=0\x2C in such case the pipe for this fd is already\x0d\n // present and creating a new one will lead to the assertion failure\x0d\n // in libuv.\x0d\n if (process.channel && process.channel.fd === fd) {\x0d\n stdin = new net.Socket({\x0d\n handle: process.channel\x2C\x0d\n readable: true\x2C\x0d\n writable: false\x2C\x0d\n manualStart: true\x2C\x0d\n });\x0d\n } else {\x0d\n stdin = new net.Socket({\x0d\n fd: fd\x2C\x0d\n readable: true\x2C\x0d\n writable: false\x2C\x0d\n manualStart: true\x2C\x0d\n });\x0d\n }\x0d\n // Make sure the stdin can't be `.end()`-ed\x0d\n stdin._writableState.ended = true;\x0d\n break;\x0d\n }\x0d\n\x0d\n default: {\x0d\n // Provide a dummy contentless input for e.g. non-console\x0d\n // Windows applications.\x0d\n const { Readable } = require('stream');\x0d\n stdin = new Readable({ read() {} });\x0d\n stdin.push(null);\x0d\n }\x0d\n }\x0d\n\x0d\n // For supporting legacy API we put the FD here.\x0d\n stdin.fd = fd;\x0d\n\x0d\n // `stdin` starts out life in a paused state\x2C but node doesn't\x0d\n // know yet. Explicitly to readStop() it to put it in the\x0d\n // not-reading state.\x0d\n if (stdin._handle && stdin._handle.readStop) {\x0d\n stdin._handle.reading = false;\x0d\n stdin._readableState.reading = false;\x0d\n stdin._handle.readStop();\x0d\n }\x0d\n\x0d\n // If the user calls stdin.pause()\x2C then we need to stop reading\x0d\n // once the stream implementation does so (one nextTick later)\x2C\x0d\n // so that the process can close down.\x0d\n stdin.on('pause'\x2C () => {\x0d\n process.nextTick(onpause);\x0d\n });\x0d\n\x0d\n function onpause() {\x0d\n if (!stdin._handle)\x0d\n return;\x0d\n if (stdin._handle.reading && !stdin.readableFlowing) {\x0d\n stdin._readableState.reading = false;\x0d\n stdin._handle.reading = false;\x0d\n stdin._handle.readStop();\x0d\n }\x0d\n }\x0d\n\x0d\n addCleanup(function cleanupStdin() {\x0d\n stdin.destroy();\x0d\n stdin = undefined;\x0d\n });\x0d\n // No need to add deserialize callback because stdin = undefined above\x0d\n // causes the stream to be lazily initialized again later.\x0d\n return stdin;\x0d\n}\x0d\n\x0d\n// Used by internal tests.\x0d\nrawMethods.resetStdioForTesting = function() {\x0d\n stdin = undefined;\x0d\n stdout = undefined;\x0d\n stderr = undefined;\x0d\n};\x0d\n\x0d\n// Needed by the module loader and generally needed everywhere.\x0d\nrequire('fs');\x0d\nrequire('util');\x0d\nrequire('url'); // eslint-disable-line no-restricted-modules\x0d\ninternalBinding('module_wrap');\x0d\nrequire('internal/modules/cjs/loader');\x0d\nrequire('internal/modules/esm/utils');\x0d\n\x0d\n// Needed to refresh the time origin.\x0d\nrequire('internal/perf/utils');\x0d\n// Needed to register the async hooks.\x0d\nif (internalBinding('config').hasInspector) {\x0d\n require('internal/inspector_async_hook');\x0d\n}\x0d\n// Needed to set the wasm web API callbacks.\x0d\ninternalBinding('wasm_web_api');\x0d\n// Needed to detect whether it's on main thread.\x0d\ninternalBinding('worker');\x0d\n// Needed by most execution modes.\x0d\nrequire('internal/modules/run_main');\x0d\n// Needed to refresh DNS configurations.\x0d\nrequire('internal/dns/utils');\x0d\n// Needed by almost all execution modes. It's fine to\x0d\n// load them into the snapshot as long as we don't run\x0d\n// any of the initialization.\x0d\nrequire('internal/process/pre_execution');\x0d\n
code-source-info,0x23c5197919e,60,3897,4591,C0O3905C6O3917C10O3931C11O3935C17O3944C24O3942C30O3977C37O3998C40O4005C44O3996C48O4082C53O4105C60O4096C66O4118C73O4134C77O4153C82O4164C88O4178C91O4186C102O4186C108O4237C116O4237C120O4574C124O4588,,
code-creation,JS,10,305833,0x23c5197a08e,280,createWritableStdioStream node:internal/bootstrap/switches/is_main_thread:47:35,0x39e2db7ae48,~
code-source-info,0x23c5197a08e,60,1504,3134,C0O1518C2O1590C7O1598C42O1659C48O1659C53O1699C60O1691C66O1723C68O1736C72O1752C74O1819C80O1819C85O1897C95O1877C101O1931C103O1944C107O1959C109O2031C115O2031C120O2268C123O2280C132O2299C137O2307C144O2310C149O2356C155O2356C160O2337C165O2417C180O2452C189O2409C197O2580C209O2600C215O2572C221O2690C223O2703C227O2720C229O2877C235O2877C240O2864C245O2903C250O2936C260O2912C266O3067C268O3077C272O3088C273O3104C277O3117C279O3131,,
code-creation,JS,10,306011,0x23c5197a33e,21,guessHandleType node:internal/util:835:25,0x39e2db49af0,~
code-source-info,0x23c5197a33e,16,23959,24035,C0O23982C5O23982C10O24007C17O24025C20O24032,,
code-creation,Eval,10,306718,0x23c5197a8de,5, node:tty:1:1,0x23c5197a6d8,~
script-source,85,node:tty,// Copyright Joyent\x2C Inc. and other Node contributors.\x0d\n//\x0d\n// Permission is hereby granted\x2C free of charge\x2C to any person obtaining a\x0d\n// copy of this software and associated documentation files (the\x0d\n// "Software")\x2C to deal in the Software without restriction\x2C including\x0d\n// without limitation the rights to use\x2C copy\x2C modify\x2C merge\x2C publish\x2C\x0d\n// distribute\x2C sublicense\x2C and/or sell copies of the Software\x2C and to permit\x0d\n// persons to whom the Software is furnished to do so\x2C subject to the\x0d\n// following conditions:\x0d\n//\x0d\n// The above copyright notice and this permission notice shall be included\x0d\n// in all copies or substantial portions of the Software.\x0d\n//\x0d\n// THE SOFTWARE IS PROVIDED "AS IS"\x2C WITHOUT WARRANTY OF ANY KIND\x2C EXPRESS\x0d\n// OR IMPLIED\x2C INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\x0d\n// MERCHANTABILITY\x2C FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\x0d\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM\x2C\x0d\n// DAMAGES OR OTHER LIABILITY\x2C WHETHER IN AN ACTION OF CONTRACT\x2C TORT OR\x0d\n// OTHERWISE\x2C ARISING FROM\x2C OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\x0d\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\x0d\n\x0d\n'use strict';\x0d\n\x0d\nconst {\x0d\n Array\x2C\x0d\n NumberIsInteger\x2C\x0d\n ObjectSetPrototypeOf\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst net = require('net');\x0d\nconst { TTY\x2C isTTY } = internalBinding('tty_wrap');\x0d\nconst errors = require('internal/errors');\x0d\nconst { ERR_INVALID_FD\x2C ERR_TTY_INIT_FAILED } = errors.codes;\x0d\nconst {\x0d\n getColorDepth\x2C\x0d\n hasColors\x2C\x0d\n} = require('internal/tty');\x0d\n\x0d\n// Lazy loaded for startup performance.\x0d\nlet readline;\x0d\n\x0d\nfunction isatty(fd) {\x0d\n return NumberIsInteger(fd) && fd >= 0 && fd <= 2147483647 &&\x0d\n isTTY(fd);\x0d\n}\x0d\n\x0d\nfunction ReadStream(fd\x2C options) {\x0d\n if (!(this instanceof ReadStream))\x0d\n return new ReadStream(fd\x2C options);\x0d\n if (fd >> 0 !== fd || fd < 0)\x0d\n throw new ERR_INVALID_FD(fd);\x0d\n\x0d\n const ctx = {};\x0d\n const tty = new TTY(fd\x2C ctx);\x0d\n if (ctx.code !== undefined) {\x0d\n throw new ERR_TTY_INIT_FAILED(ctx);\x0d\n }\x0d\n\x0d\n net.Socket.call(this\x2C {\x0d\n readableHighWaterMark: 0\x2C\x0d\n handle: tty\x2C\x0d\n manualStart: true\x2C\x0d\n ...options\x2C\x0d\n });\x0d\n\x0d\n this.isRaw = false;\x0d\n this.isTTY = true;\x0d\n}\x0d\n\x0d\nObjectSetPrototypeOf(ReadStream.prototype\x2C net.Socket.prototype);\x0d\nObjectSetPrototypeOf(ReadStream\x2C net.Socket);\x0d\n\x0d\nReadStream.prototype.setRawMode = function(flag) {\x0d\n flag = !!flag;\x0d\n const err = this._handle?.setRawMode(flag);\x0d\n if (err) {\x0d\n this.emit('error'\x2C new errors.ErrnoException(err\x2C 'setRawMode'));\x0d\n return this;\x0d\n }\x0d\n this.isRaw = flag;\x0d\n return this;\x0d\n};\x0d\n\x0d\nfunction WriteStream(fd) {\x0d\n if (!(this instanceof WriteStream))\x0d\n return new WriteStream(fd);\x0d\n if (fd >> 0 !== fd || fd < 0)\x0d\n throw new ERR_INVALID_FD(fd);\x0d\n\x0d\n const ctx = {};\x0d\n const tty = new TTY(fd\x2C ctx);\x0d\n if (ctx.code !== undefined) {\x0d\n throw new ERR_TTY_INIT_FAILED(ctx);\x0d\n }\x0d\n\x0d\n net.Socket.call(this\x2C {\x0d\n readableHighWaterMark: 0\x2C\x0d\n handle: tty\x2C\x0d\n manualStart: true\x2C\x0d\n });\x0d\n\x0d\n // Prevents interleaved or dropped stdout/stderr output for terminals.\x0d\n // As noted in the following reference\x2C local TTYs tend to be quite fast and\x0d\n // this behavior has become expected due historical functionality on OS X\x2C\x0d\n // even though it was originally intended to change in v1.0.2 (Libuv 1.2.1).\x0d\n // Ref: https://github.com/nodejs/node/pull/1771#issuecomment-119351671\x0d\n this._handle.setBlocking(true);\x0d\n\x0d\n const winSize = new Array(2);\x0d\n const err = this._handle.getWindowSize(winSize);\x0d\n if (!err) {\x0d\n this.columns = winSize[0];\x0d\n this.rows = winSize[1];\x0d\n }\x0d\n}\x0d\n\x0d\nObjectSetPrototypeOf(WriteStream.prototype\x2C net.Socket.prototype);\x0d\nObjectSetPrototypeOf(WriteStream\x2C net.Socket);\x0d\n\x0d\nWriteStream.prototype.isTTY = true;\x0d\n\x0d\nWriteStream.prototype.getColorDepth = getColorDepth;\x0d\n\x0d\nWriteStream.prototype.hasColors = hasColors;\x0d\n\x0d\nWriteStream.prototype._refreshSize = function() {\x0d\n const oldCols = this.columns;\x0d\n const oldRows = this.rows;\x0d\n const winSize = new Array(2);\x0d\n const err = this._handle.getWindowSize(winSize);\x0d\n if (err) {\x0d\n this.emit('error'\x2C new errors.ErrnoException(err\x2C 'getWindowSize'));\x0d\n return;\x0d\n }\x0d\n const { 0: newCols\x2C 1: newRows } = winSize;\x0d\n if (oldCols !== newCols || oldRows !== newRows) {\x0d\n this.columns = newCols;\x0d\n this.rows = newRows;\x0d\n this.emit('resize');\x0d\n }\x0d\n};\x0d\n\x0d\n// Backwards-compat\x0d\nWriteStream.prototype.cursorTo = function(x\x2C y\x2C callback) {\x0d\n if (readline === undefined) readline = require('readline');\x0d\n return readline.cursorTo(this\x2C x\x2C y\x2C callback);\x0d\n};\x0d\nWriteStream.prototype.moveCursor = function(dx\x2C dy\x2C callback) {\x0d\n if (readline === undefined) readline = require('readline');\x0d\n return readline.moveCursor(this\x2C dx\x2C dy\x2C callback);\x0d\n};\x0d\nWriteStream.prototype.clearLine = function(dir\x2C callback) {\x0d\n if (readline === undefined) readline = require('readline');\x0d\n return readline.clearLine(this\x2C dir\x2C callback);\x0d\n};\x0d\nWriteStream.prototype.clearScreenDown = function(callback) {\x0d\n if (readline === undefined) readline = require('readline');\x0d\n return readline.clearScreenDown(this\x2C callback);\x0d\n};\x0d\nWriteStream.prototype.getWindowSize = function() {\x0d\n return [this.columns\x2C this.rows];\x0d\n};\x0d\n\x0d\nmodule.exports = { isatty\x2C ReadStream\x2C WriteStream };\x0d\n
code-source-info,0x23c5197a8de,85,0,5230,C0O0C4O5230,,
code-creation,JS,10,307386,0x23c5197afb6,426, node:tty:1:1,0x23c5197a858,~
code-source-info,0x23c5197afb6,85,0,5230,C0O0C53O1183C59O1193C65O1213C70O1268C76O1268C80O1268C82O1308C85O1308C90O1293C96O1298C102O1353C108O1353C112O1353C114O1430C117O1437C122O1390C128O1406C134O1490C140O1490C145O1456C150O1474C155O1563C156O1563C158O2183C161O2215C169O2230C174O2237C179O2183C184O2250C190O2287C195O2250C200O2299C203O2310C212O2331C216O3575C219O3608C227O3623C232O3630C237O3575C242O3643C248O3681C253O3643C258O3693C261O3705C267O3721C271O3732C274O3744C281O3768C285O3788C288O3800C295O3820C299O3836C302O3848C311O3871C315O4354C318O4366C327O4385C331O4533C334O4545C343O4566C347O4720C350O4732C359O4752C363O4899C366O4911C375O4937C379O5080C382O5092C391O5116C395O5175C402O5194C408O5202C414O5214C420O5190C425O5229,,
code-creation,Eval,10,311344,0x23c5197edd6,5, node:net:1:1,0x23c5197d7d0,~
script-source,86,node:net,// Copyright Joyent\x2C Inc. and other Node contributors.\x0d\n//\x0d\n// Permission is hereby granted\x2C free of charge\x2C to any person obtaining a\x0d\n// copy of this software and associated documentation files (the\x0d\n// "Software")\x2C to deal in the Software without restriction\x2C including\x0d\n// without limitation the rights to use\x2C copy\x2C modify\x2C merge\x2C publish\x2C\x0d\n// distribute\x2C sublicense\x2C and/or sell copies of the Software\x2C and to permit\x0d\n// persons to whom the Software is furnished to do so\x2C subject to the\x0d\n// following conditions:\x0d\n//\x0d\n// The above copyright notice and this permission notice shall be included\x0d\n// in all copies or substantial portions of the Software.\x0d\n//\x0d\n// THE SOFTWARE IS PROVIDED "AS IS"\x2C WITHOUT WARRANTY OF ANY KIND\x2C EXPRESS\x0d\n// OR IMPLIED\x2C INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\x0d\n// MERCHANTABILITY\x2C FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\x0d\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM\x2C\x0d\n// DAMAGES OR OTHER LIABILITY\x2C WHETHER IN AN ACTION OF CONTRACT\x2C TORT OR\x0d\n// OTHERWISE\x2C ARISING FROM\x2C OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\x0d\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\x0d\n\x0d\n'use strict';\x0d\n\x0d\nconst {\x0d\n ArrayIsArray\x2C\x0d\n ArrayPrototypeIncludes\x2C\x0d\n ArrayPrototypeIndexOf\x2C\x0d\n ArrayPrototypePush\x2C\x0d\n Boolean\x2C\x0d\n FunctionPrototypeBind\x2C\x0d\n FunctionPrototypeCall\x2C\x0d\n MathMax\x2C\x0d\n Number\x2C\x0d\n NumberIsNaN\x2C\x0d\n NumberParseInt\x2C\x0d\n ObjectDefineProperty\x2C\x0d\n ObjectSetPrototypeOf\x2C\x0d\n Symbol\x2C\x0d\n SymbolAsyncDispose\x2C\x0d\n SymbolDispose\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst EventEmitter = require('events');\x0d\nconst { addAbortListener } = require('internal/events/abort_listener');\x0d\nconst stream = require('stream');\x0d\nlet debug = require('internal/util/debuglog').debuglog('net'\x2C (fn) => {\x0d\n debug = fn;\x0d\n});\x0d\nconst {\x0d\n kReinitializeHandle\x2C\x0d\n isIP\x2C\x0d\n isIPv4\x2C\x0d\n isIPv6\x2C\x0d\n normalizedArgsSymbol\x2C\x0d\n makeSyncWrite\x2C\x0d\n} = require('internal/net');\x0d\nconst assert = require('internal/assert');\x0d\nconst {\x0d\n UV_EADDRINUSE\x2C\x0d\n UV_EINVAL\x2C\x0d\n UV_ENOTCONN\x2C\x0d\n UV_ECANCELED\x2C\x0d\n UV_ETIMEDOUT\x2C\x0d\n} = internalBinding('uv');\x0d\n\x0d\nconst { Buffer } = require('buffer');\x0d\nconst { ShutdownWrap } = internalBinding('stream_wrap');\x0d\nconst {\x0d\n TCP\x2C\x0d\n TCPConnectWrap\x2C\x0d\n constants: TCPConstants\x2C\x0d\n} = internalBinding('tcp_wrap');\x0d\nconst {\x0d\n Pipe\x2C\x0d\n PipeConnectWrap\x2C\x0d\n constants: PipeConstants\x2C\x0d\n} = internalBinding('pipe_wrap');\x0d\nconst {\x0d\n newAsyncId\x2C\x0d\n defaultTriggerAsyncIdScope\x2C\x0d\n symbols: { async_id_symbol\x2C owner_symbol }\x2C\x0d\n} = require('internal/async_hooks');\x0d\nconst {\x0d\n writevGeneric\x2C\x0d\n writeGeneric\x2C\x0d\n onStreamRead\x2C\x0d\n kAfterAsyncWrite\x2C\x0d\n kHandle\x2C\x0d\n kUpdateTimer\x2C\x0d\n setStreamTimeout\x2C\x0d\n kBuffer\x2C\x0d\n kBufferCb\x2C\x0d\n kBufferGen\x2C\x0d\n} = require('internal/stream_base_commons');\x0d\nconst {\x0d\n codes: {\x0d\n ERR_INVALID_ADDRESS_FAMILY\x2C\x0d\n ERR_INVALID_ARG_TYPE\x2C\x0d\n ERR_INVALID_ARG_VALUE\x2C\x0d\n ERR_INVALID_FD_TYPE\x2C\x0d\n ERR_INVALID_IP_ADDRESS\x2C\x0d\n ERR_INVALID_HANDLE_TYPE\x2C\x0d\n ERR_SERVER_ALREADY_LISTEN\x2C\x0d\n ERR_SERVER_NOT_RUNNING\x2C\x0d\n ERR_SOCKET_CONNECTION_TIMEOUT\x2C\x0d\n ERR_SOCKET_CLOSED\x2C\x0d\n ERR_SOCKET_CLOSED_BEFORE_CONNECTION\x2C\x0d\n ERR_MISSING_ARGS\x2C\x0d\n }\x2C\x0d\n ErrnoException\x2C\x0d\n ExceptionWithHostPort\x2C\x0d\n genericNodeError\x2C\x0d\n NodeAggregateError\x2C\x0d\n UVExceptionWithHostPort\x2C\x0d\n} = require('internal/errors');\x0d\nconst { isUint8Array } = require('internal/util/types');\x0d\nconst { queueMicrotask } = require('internal/process/task_queues');\x0d\nconst { kEmptyObject\x2C guessHandleType\x2C promisify } = require('internal/util');\x0d\nconst {\x0d\n validateAbortSignal\x2C\x0d\n validateBoolean\x2C\x0d\n validateFunction\x2C\x0d\n validateInt32\x2C\x0d\n validateNumber\x2C\x0d\n validatePort\x2C\x0d\n validateString\x2C\x0d\n} = require('internal/validators');\x0d\nconst kLastWriteQueueSize = Symbol('lastWriteQueueSize');\x0d\nconst { getOptionValue } = require('internal/options');\x0d\n\x0d\n// Lazy loaded to improve startup performance.\x0d\nlet cluster;\x0d\nlet dns;\x0d\nlet BlockList;\x0d\nlet SocketAddress;\x0d\nlet autoSelectFamilyDefault = getOptionValue('--network-family-autoselection');\x0d\nlet autoSelectFamilyAttemptTimeoutDefault = getOptionValue('--network-family-autoselection-attempt-timeout');\x0d\n\x0d\nconst { clearTimeout\x2C setTimeout } = require('timers');\x0d\nconst { kTimeout } = require('internal/timers');\x0d\n\x0d\nconst DEFAULT_IPV4_ADDR = '0.0.0.0';\x0d\nconst DEFAULT_IPV6_ADDR = '::';\x0d\n\x0d\nconst isWindows = process.platform === 'win32';\x0d\n\x0d\nconst noop = () => {};\x0d\n\x0d\nconst kPerfHooksNetConnectContext = Symbol('kPerfHooksNetConnectContext');\x0d\n\x0d\nconst dc = require('diagnostics_channel');\x0d\nconst netClientSocketChannel = dc.channel('net.client.socket');\x0d\nconst netServerSocketChannel = dc.channel('net.server.socket');\x0d\nconst netServerListen = dc.tracingChannel('net.server.listen');\x0d\n\x0d\nconst {\x0d\n hasObserver\x2C\x0d\n startPerf\x2C\x0d\n stopPerf\x2C\x0d\n} = require('internal/perf/observe');\x0d\nconst { getDefaultHighWaterMark } = require('internal/streams/state');\x0d\n\x0d\nfunction getFlags(ipv6Only) {\x0d\n return ipv6Only === true ? TCPConstants.UV_TCP_IPV6ONLY : 0;\x0d\n}\x0d\n\x0d\nfunction createHandle(fd\x2C is_server) {\x0d\n validateInt32(fd\x2C 'fd'\x2C 0);\x0d\n const type = guessHandleType(fd);\x0d\n if (type === 'PIPE') {\x0d\n return new Pipe(\x0d\n is_server ? PipeConstants.SERVER : PipeConstants.SOCKET\x2C\x0d\n );\x0d\n }\x0d\n\x0d\n if (type === 'TCP') {\x0d\n return new TCP(\x0d\n is_server ? TCPConstants.SERVER : TCPConstants.SOCKET\x2C\x0d\n );\x0d\n }\x0d\n\x0d\n throw new ERR_INVALID_FD_TYPE(type);\x0d\n}\x0d\n\x0d\n\x0d\nfunction getNewAsyncId(handle) {\x0d\n return (!handle || typeof handle.getAsyncId !== 'function') ?\x0d\n newAsyncId() : handle.getAsyncId();\x0d\n}\x0d\n\x0d\n\x0d\nfunction isPipeName(s) {\x0d\n return typeof s === 'string' && toNumber(s) === false;\x0d\n}\x0d\n\x0d\n/**\x0d\n * Creates a new TCP or IPC server\x0d\n * @param {{\x0d\n * allowHalfOpen?: boolean;\x0d\n * pauseOnConnect?: boolean;\x0d\n * }} [options]\x0d\n * @param {Function} [connectionListener]\x0d\n * @returns {Server}\x0d\n */\x0d\n\x0d\nfunction createServer(options\x2C connectionListener) {\x0d\n return new Server(options\x2C connectionListener);\x0d\n}\x0d\n\x0d\n\x0d\n// Target API:\x0d\n//\x0d\n// let s = net.connect({port: 80\x2C host: 'google.com'}\x2C function() {\x0d\n// ...\x0d\n// });\x0d\n//\x0d\n// There are various forms:\x0d\n//\x0d\n// connect(options\x2C [cb])\x0d\n// connect(port\x2C [host]\x2C [cb])\x0d\n// connect(path\x2C [cb]);\x0d\n//\x0d\nfunction connect(...args) {\x0d\n const normalized = normalizeArgs(args);\x0d\n const options = normalized[0];\x0d\n debug('createConnection'\x2C normalized);\x0d\n const socket = new Socket(options);\x0d\n\x0d\n if (netClientSocketChannel.hasSubscribers) {\x0d\n netClientSocketChannel.publish({\x0d\n socket\x2C\x0d\n });\x0d\n }\x0d\n if (options.timeout) {\x0d\n socket.setTimeout(options.timeout);\x0d\n }\x0d\n\x0d\n return socket.connect(normalized);\x0d\n}\x0d\n\x0d\nfunction getDefaultAutoSelectFamily() {\x0d\n return autoSelectFamilyDefault;\x0d\n}\x0d\n\x0d\nfunction setDefaultAutoSelectFamily(value) {\x0d\n validateBoolean(value\x2C 'value');\x0d\n autoSelectFamilyDefault = value;\x0d\n}\x0d\n\x0d\nfunction getDefaultAutoSelectFamilyAttemptTimeout() {\x0d\n return autoSelectFamilyAttemptTimeoutDefault;\x0d\n}\x0d\n\x0d\nfunction setDefaultAutoSelectFamilyAttemptTimeout(value) {\x0d\n validateInt32(value\x2C 'value'\x2C 1);\x0d\n\x0d\n if (value < 10) {\x0d\n value = 10;\x0d\n }\x0d\n\x0d\n autoSelectFamilyAttemptTimeoutDefault = value;\x0d\n}\x0d\n\x0d\n// Returns an array [options\x2C cb]\x2C where options is an object\x2C\x0d\n// cb is either a function or null.\x0d\n// Used to normalize arguments of Socket.prototype.connect() and\x0d\n// Server.prototype.listen(). Possible combinations of parameters:\x0d\n// (options[...][\x2C cb])\x0d\n// (path[...][\x2C cb])\x0d\n// ([port][\x2C host][...][\x2C cb])\x0d\n// For Socket.prototype.connect()\x2C the [...] part is ignored\x0d\n// For Server.prototype.listen()\x2C the [...] part is [\x2C backlog]\x0d\n// but will not be handled here (handled in listen())\x0d\nfunction normalizeArgs(args) {\x0d\n let arr;\x0d\n\x0d\n if (args.length === 0) {\x0d\n arr = [{}\x2C null];\x0d\n arr[normalizedArgsSymbol] = true;\x0d\n return arr;\x0d\n }\x0d\n\x0d\n const arg0 = args[0];\x0d\n let options = {};\x0d\n if (typeof arg0 === 'object' && arg0 !== null) {\x0d\n // (options[...][\x2C cb])\x0d\n options = arg0;\x0d\n } else if (isPipeName(arg0)) {\x0d\n // (path[...][\x2C cb])\x0d\n options.path = arg0;\x0d\n } else {\x0d\n // ([port][\x2C host][...][\x2C cb])\x0d\n options.port = arg0;\x0d\n if (args.length > 1 && typeof args[1] === 'string') {\x0d\n options.host = args[1];\x0d\n }\x0d\n }\x0d\n\x0d\n const cb = args[args.length - 1];\x0d\n if (typeof cb !== 'function')\x0d\n arr = [options\x2C null];\x0d\n else\x0d\n arr = [options\x2C cb];\x0d\n\x0d\n arr[normalizedArgsSymbol] = true;\x0d\n return arr;\x0d\n}\x0d\n\x0d\n\x0d\n// Called when creating new Socket\x2C or when re-using a closed Socket\x0d\nfunction initSocketHandle(self) {\x0d\n self._undestroy();\x0d\n self._sockname = null;\x0d\n\x0d\n // Handle creation may be deferred to bind() or connect() time.\x0d\n if (self._handle) {\x0d\n self._handle[owner_symbol] = self;\x0d\n self._handle.onread = onStreamRead;\x0d\n self[async_id_symbol] = getNewAsyncId(self._handle);\x0d\n\x0d\n let userBuf = self[kBuffer];\x0d\n if (userBuf) {\x0d\n const bufGen = self[kBufferGen];\x0d\n if (bufGen !== null) {\x0d\n userBuf = bufGen();\x0d\n if (!isUint8Array(userBuf))\x0d\n return;\x0d\n self[kBuffer] = userBuf;\x0d\n }\x0d\n self._handle.useUserBuffer(userBuf);\x0d\n }\x0d\n }\x0d\n}\x0d\n\x0d\nfunction closeSocketHandle(self\x2C isException\x2C isCleanupPending = false) {\x0d\n if (self._handle) {\x0d\n self._handle.close(() => {\x0d\n debug('emit close');\x0d\n self.emit('close'\x2C isException);\x0d\n if (isCleanupPending) {\x0d\n self._handle.onread = noop;\x0d\n self._handle = null;\x0d\n self._sockname = null;\x0d\n }\x0d\n });\x0d\n }\x0d\n}\x0d\n\x0d\nconst kBytesRead = Symbol('kBytesRead');\x0d\nconst kBytesWritten = Symbol('kBytesWritten');\x0d\nconst kSetNoDelay = Symbol('kSetNoDelay');\x0d\nconst kSetKeepAlive = Symbol('kSetKeepAlive');\x0d\nconst kSetKeepAliveInitialDelay = Symbol('kSetKeepAliveInitialDelay');\x0d\n\x0d\nfunction Socket(options) {\x0d\n if (!(this instanceof Socket)) return new Socket(options);\x0d\n if (options?.objectMode) {\x0d\n throw new ERR_INVALID_ARG_VALUE(\x0d\n 'options.objectMode'\x2C\x0d\n options.objectMode\x2C\x0d\n 'is not supported'\x2C\x0d\n );\x0d\n } else if (options?.readableObjectMode || options?.writableObjectMode) {\x0d\n throw new ERR_INVALID_ARG_VALUE(\x0d\n `options.${\x0d\n options.readableObjectMode ? 'readableObjectMode' : 'writableObjectMode'\x0d\n }`\x2C\x0d\n options.readableObjectMode || options.writableObjectMode\x2C\x0d\n 'is not supported'\x2C\x0d\n );\x0d\n }\x0d\n if (typeof options?.keepAliveInitialDelay !== 'undefined') {\x0d\n validateNumber(\x0d\n options?.keepAliveInitialDelay\x2C 'options.keepAliveInitialDelay'\x2C\x0d\n );\x0d\n\x0d\n if (options.keepAliveInitialDelay < 0) {\x0d\n options.keepAliveInitialDelay = 0;\x0d\n }\x0d\n }\x0d\n\x0d\n this.connecting = false;\x0d\n // Problem with this is that users can supply their own handle\x2C that may not\x0d\n // have _handle.getAsyncId(). In this case an[async_id_symbol] should\x0d\n // probably be supplied by async_hooks.\x0d\n this[async_id_symbol] = -1;\x0d\n this._hadError = false;\x0d\n this[kHandle] = null;\x0d\n this._parent = null;\x0d\n this._host = null;\x0d\n this[kLastWriteQueueSize] = 0;\x0d\n this[kTimeout] = null;\x0d\n this[kBuffer] = null;\x0d\n this[kBufferCb] = null;\x0d\n this[kBufferGen] = null;\x0d\n this._closeAfterHandlingError = false;\x0d\n\x0d\n if (typeof options === 'number')\x0d\n options = { fd: options }; // Legacy interface.\x0d\n else\x0d\n options = { ...options };\x0d\n\x0d\n // Default to *not* allowing half open sockets.\x0d\n options.allowHalfOpen = Boolean(options.allowHalfOpen);\x0d\n // For backwards compat do not emit close on destroy.\x0d\n options.emitClose = false;\x0d\n options.autoDestroy = true;\x0d\n // Handle strings directly.\x0d\n options.decodeStrings = false;\x0d\n stream.Duplex.call(this\x2C options);\x0d\n\x0d\n if (options.handle) {\x0d\n this._handle = options.handle; // private\x0d\n this[async_id_symbol] = getNewAsyncId(this._handle);\x0d\n } else if (options.fd !== undefined) {\x0d\n const { fd } = options;\x0d\n let err;\x0d\n\x0d\n // createHandle will throw ERR_INVALID_FD_TYPE if `fd` is not\x0d\n // a valid `PIPE` or `TCP` descriptor\x0d\n this._handle = createHandle(fd\x2C false);\x0d\n\x0d\n err = this._handle.open(fd);\x0d\n\x0d\n // While difficult to fabricate\x2C in some architectures\x0d\n // `open` may return an error code for valid file descriptors\x0d\n // which cannot be opened. This is difficult to test as most\x0d\n // un-openable fds will throw on `createHandle`\x0d\n if (err)\x0d\n throw new ErrnoException(err\x2C 'open');\x0d\n\x0d\n this[async_id_symbol] = this._handle.getAsyncId();\x0d\n\x0d\n if ((fd === 1 || fd === 2) &&\x0d\n (this._handle instanceof Pipe) && isWindows) {\x0d\n // Make stdout and stderr blocking on Windows\x0d\n err = this._handle.setBlocking(true);\x0d\n if (err)\x0d\n throw new ErrnoException(err\x2C 'setBlocking');\x0d\n\x0d\n this._writev = null;\x0d\n this._write = makeSyncWrite(fd);\x0d\n // makeSyncWrite adjusts this value like the original handle would\x2C so\x0d\n // we need to let it do that by turning it into a writable\x2C own\x0d\n // property.\x0d\n ObjectDefineProperty(this._handle\x2C 'bytesWritten'\x2C {\x0d\n __proto__: null\x2C\x0d\n value: 0\x2C writable: true\x2C\x0d\n });\x0d\n }\x0d\n }\x0d\n\x0d\n const onread = options.onread;\x0d\n if (onread !== null && typeof onread === 'object' &&\x0d\n (isUint8Array(onread.buffer) || typeof onread.buffer === 'function') &&\x0d\n typeof onread.callback === 'function') {\x0d\n if (typeof onread.buffer === 'function') {\x0d\n this[kBuffer] = true;\x0d\n this[kBufferGen] = onread.buffer;\x0d\n } else {\x0d\n this[kBuffer] = onread.buffer;\x0d\n }\x0d\n this[kBufferCb] = onread.callback;\x0d\n }\x0d\n\x0d\n this[kSetNoDelay] = Boolean(options.noDelay);\x0d\n this[kSetKeepAlive] = Boolean(options.keepAlive);\x0d\n this[kSetKeepAliveInitialDelay] = ~~(options.keepAliveInitialDelay / 1000);\x0d\n\x0d\n // Shut down the socket when we're finished with it.\x0d\n this.on('end'\x2C onReadableStreamEnd);\x0d\n\x0d\n initSocketHandle(this);\x0d\n\x0d\n this._pendingData = null;\x0d\n this._pendingEncoding = '';\x0d\n\x0d\n // If we have a handle\x2C then start the flow of data into the\x0d\n // buffer. if not\x2C then this will happen when we connect\x0d\n if (this._handle && options.readable !== false) {\x0d\n if (options.pauseOnCreate) {\x0d\n // Stop the handle from reading and pause the stream\x0d\n this._handle.reading = false;\x0d\n this._handle.readStop();\x0d\n this.readableFlowing = false;\x0d\n } else if (!options.manualStart) {\x0d\n this.read(0);\x0d\n }\x0d\n }\x0d\n\x0d\n if (options.signal) {\x0d\n addClientAbortSignalOption(this\x2C options);\x0d\n }\x0d\n\x0d\n // Reserve properties\x0d\n this.server = null;\x0d\n this._server = null;\x0d\n\x0d\n // Used after `.destroy()`\x0d\n this[kBytesRead] = 0;\x0d\n this[kBytesWritten] = 0;\x0d\n}\x0d\nObjectSetPrototypeOf(Socket.prototype\x2C stream.Duplex.prototype);\x0d\nObjectSetPrototypeOf(Socket\x2C stream.Duplex);\x0d\n\x0d\n// Refresh existing timeouts.\x0d\nSocket.prototype._unrefTimer = function _unrefTimer() {\x0d\n for (let s = this; s !== null; s = s._parent) {\x0d\n if (s[kTimeout])\x0d\n s[kTimeout].refresh();\x0d\n }\x0d\n};\x0d\n\x0d\n\x0d\n// The user has called .end()\x2C and all the bytes have been\x0d\n// sent out to the other side.\x0d\nSocket.prototype._final = function(cb) {\x0d\n // If still connecting - defer handling `_final` until 'connect' will happen\x0d\n if (this.pending) {\x0d\n debug('_final: not yet connected');\x0d\n return this.once('connect'\x2C () => this._final(cb));\x0d\n }\x0d\n\x0d\n if (!this._handle)\x0d\n return cb();\x0d\n\x0d\n debug('_final: not ended\x2C call shutdown()');\x0d\n\x0d\n const req = new ShutdownWrap();\x0d\n req.oncomplete = afterShutdown;\x0d\n req.handle = this._handle;\x0d\n req.callback = cb;\x0d\n const err = this._handle.shutdown(req);\x0d\n\x0d\n if (err === 1 || err === UV_ENOTCONN) // synchronous finish\x0d\n return cb();\x0d\n else if (err !== 0)\x0d\n return cb(new ErrnoException(err\x2C 'shutdown'));\x0d\n};\x0d\n\x0d\nfunction afterShutdown() {\x0d\n const self = this.handle[owner_symbol];\x0d\n\x0d\n debug('afterShutdown destroyed=%j'\x2C self.destroyed);\x0d\n\x0d\n this.callback();\x0d\n}\x0d\n\x0d\n// Provide a better error message when we call end() as a result\x0d\n// of the other side sending a FIN. The standard 'write after end'\x0d\n// is overly vague\x2C and makes it seem like the user's code is to blame.\x0d\nfunction writeAfterFIN(chunk\x2C encoding\x2C cb) {\x0d\n if (!this.writableEnded) {\x0d\n return stream.Duplex.prototype.write.call(this\x2C chunk\x2C encoding\x2C cb);\x0d\n }\x0d\n\x0d\n if (typeof encoding === 'function') {\x0d\n cb = encoding;\x0d\n encoding = null;\x0d\n }\x0d\n\x0d\n const er = genericNodeError(\x0d\n 'This socket has been ended by the other party'\x2C\x0d\n { code: 'EPIPE' }\x2C\x0d\n );\x0d\n if (typeof cb === 'function') {\x0d\n defaultTriggerAsyncIdScope(this[async_id_symbol]\x2C process.nextTick\x2C cb\x2C er);\x0d\n }\x0d\n this.destroy(er);\x0d\n\x0d\n return false;\x0d\n}\x0d\n\x0d\nSocket.prototype.setTimeout = setStreamTimeout;\x0d\n\x0d\n\x0d\nSocket.prototype._onTimeout = function() {\x0d\n const handle = this._handle;\x0d\n const lastWriteQueueSize = this[kLastWriteQueueSize];\x0d\n if (lastWriteQueueSize > 0 && handle) {\x0d\n // `lastWriteQueueSize !== writeQueueSize` means there is\x0d\n // an active write in progress\x2C so we suppress the timeout.\x0d\n const { writeQueueSize } = handle;\x0d\n if (lastWriteQueueSize !== writeQueueSize) {\x0d\n this[kLastWriteQueueSize] = writeQueueSize;\x0d\n this._unrefTimer();\x0d\n return;\x0d\n }\x0d\n }\x0d\n debug('_onTimeout');\x0d\n this.emit('timeout');\x0d\n};\x0d\n\x0d\n\x0d\nSocket.prototype.setNoDelay = function(enable) {\x0d\n // Backwards compatibility: assume true when `enable` is omitted\x0d\n enable = Boolean(enable === undefined ? true : enable);\x0d\n\x0d\n if (!this._handle) {\x0d\n this[kSetNoDelay] = enable;\x0d\n return this;\x0d\n }\x0d\n\x0d\n if (this._handle.setNoDelay && enable !== this[kSetNoDelay]) {\x0d\n this[kSetNoDelay] = enable;\x0d\n this._handle.setNoDelay(enable);\x0d\n }\x0d\n\x0d\n return this;\x0d\n};\x0d\n\x0d\n\x0d\nSocket.prototype.setKeepAlive = function(enable\x2C initialDelayMsecs) {\x0d\n enable = Boolean(enable);\x0d\n const initialDelay = ~~(initialDelayMsecs / 1000);\x0d\n\x0d\n if (!this._handle) {\x0d\n this[kSetKeepAlive] = enable;\x0d\n this[kSetKeepAliveInitialDelay] = initialDelay;\x0d\n return this;\x0d\n }\x0d\n\x0d\n if (!this._handle.setKeepAlive) {\x0d\n return this;\x0d\n }\x0d\n\x0d\n if (enable !== this[kSetKeepAlive] ||\x0d\n (\x0d\n enable &&\x0d\n this[kSetKeepAliveInitialDelay] !== initialDelay\x0d\n )\x0d\n ) {\x0d\n this[kSetKeepAlive] = enable;\x0d\n this[kSetKeepAliveInitialDelay] = initialDelay;\x0d\n this._handle.setKeepAlive(enable\x2C initialDelay);\x0d\n }\x0d\n\x0d\n return this;\x0d\n};\x0d\n\x0d\n\x0d\nSocket.prototype.address = function() {\x0d\n return this._getsockname();\x0d\n};\x0d\n\x0d\n\x0d\nObjectDefineProperty(Socket.prototype\x2C '_connecting'\x2C {\x0d\n __proto__: null\x2C\x0d\n get: function() {\x0d\n return this.connecting;\x0d\n }\x2C\x0d\n});\x0d\n\x0d\nObjectDefineProperty(Socket.prototype\x2C 'pending'\x2C {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n return !this._handle || this.connecting;\x0d\n }\x2C\x0d\n configurable: true\x2C\x0d\n});\x0d\n\x0d\n\x0d\nObjectDefineProperty(Socket.prototype\x2C 'readyState'\x2C {\x0d\n __proto__: null\x2C\x0d\n get: function() {\x0d\n if (this.connecting) {\x0d\n return 'opening';\x0d\n } else if (this.readable && this.writable) {\x0d\n return 'open';\x0d\n } else if (this.readable && !this.writable) {\x0d\n return 'readOnly';\x0d\n } else if (!this.readable && this.writable) {\x0d\n return 'writeOnly';\x0d\n }\x0d\n return 'closed';\x0d\n }\x2C\x0d\n});\x0d\n\x0d\n\x0d\nObjectDefineProperty(Socket.prototype\x2C 'bufferSize'\x2C {\x0d\n __proto__: null\x2C\x0d\n get: function() {\x0d\n if (this._handle) {\x0d\n return this.writableLength;\x0d\n }\x0d\n }\x2C\x0d\n});\x0d\n\x0d\nObjectDefineProperty(Socket.prototype\x2C kUpdateTimer\x2C {\x0d\n __proto__: null\x2C\x0d\n get: function() {\x0d\n return this._unrefTimer;\x0d\n }\x2C\x0d\n});\x0d\n\x0d\n\x0d\nfunction tryReadStart(socket) {\x0d\n // Not already reading\x2C start the flow\x0d\n debug('Socket._handle.readStart');\x0d\n socket._handle.reading = true;\x0d\n const err = socket._handle.readStart();\x0d\n if (err)\x0d\n socket.destroy(new ErrnoException(err\x2C 'read'));\x0d\n}\x0d\n\x0d\n// Just call handle.readStart until we have enough in the buffer\x0d\nSocket.prototype._read = function(n) {\x0d\n debug(\x0d\n '_read - n'\x2C n\x2C\x0d\n 'isConnecting?'\x2C !!this.connecting\x2C\x0d\n 'hasHandle?'\x2C !!this._handle\x2C\x0d\n );\x0d\n\x0d\n if (this.connecting || !this._handle) {\x0d\n debug('_read wait for connection');\x0d\n this.once('connect'\x2C () => this._read(n));\x0d\n } else if (!this._handle.reading) {\x0d\n tryReadStart(this);\x0d\n }\x0d\n};\x0d\n\x0d\n\x0d\nSocket.prototype.end = function(data\x2C encoding\x2C callback) {\x0d\n stream.Duplex.prototype.end.call(this\x2C\x0d\n data\x2C encoding\x2C callback);\x0d\n return this;\x0d\n};\x0d\n\x0d\nSocket.prototype.resetAndDestroy = function() {\x0d\n if (this._handle) {\x0d\n if (!(this._handle instanceof TCP))\x0d\n throw new ERR_INVALID_HANDLE_TYPE();\x0d\n if (this.connecting) {\x0d\n debug('reset wait for connection');\x0d\n this.once('connect'\x2C () => this._reset());\x0d\n } else {\x0d\n this._reset();\x0d\n }\x0d\n } else {\x0d\n this.destroy(new ERR_SOCKET_CLOSED());\x0d\n }\x0d\n return this;\x0d\n};\x0d\n\x0d\nSocket.prototype.pause = function() {\x0d\n if (this[kBuffer] && !this.connecting && this._handle &&\x0d\n this._handle.reading) {\x0d\n this._handle.reading = false;\x0d\n if (!this.destroyed) {\x0d\n const err = this._handle.readStop();\x0d\n if (err)\x0d\n this.destroy(new ErrnoException(err\x2C 'read'));\x0d\n }\x0d\n }\x0d\n return stream.Duplex.prototype.pause.call(this);\x0d\n};\x0d\n\x0d\n\x0d\nSocket.prototype.resume = function() {\x0d\n if (this[kBuffer] && !this.connecting && this._handle &&\x0d\n !this._handle.reading) {\x0d\n tryReadStart(this);\x0d\n }\x0d\n return stream.Duplex.prototype.resume.call(this);\x0d\n};\x0d\n\x0d\n\x0d\nSocket.prototype.read = function(n) {\x0d\n if (this[kBuffer] && !this.connecting && this._handle &&\x0d\n !this._handle.reading) {\x0d\n tryReadStart(this);\x0d\n }\x0d\n return stream.Duplex.prototype.read.call(this\x2C n);\x0d\n};\x0d\n\x0d\n\x0d\n// Called when the 'end' event is emitted.\x0d\nfunction onReadableStreamEnd() {\x0d\n if (!this.allowHalfOpen) {\x0d\n this.write = writeAfterFIN;\x0d\n }\x0d\n}\x0d\n\x0d\n\x0d\nSocket.prototype.destroySoon = function() {\x0d\n if (this.writable)\x0d\n this.end();\x0d\n\x0d\n if (this.writableFinished)\x0d\n this.destroy();\x0d\n else\x0d\n this.once('finish'\x2C this.destroy);\x0d\n};\x0d\n\x0d\n\x0d\nSocket.prototype._destroy = function(exception\x2C cb) {\x0d\n debug('destroy');\x0d\n\x0d\n this.connecting = false;\x0d\n\x0d\n for (let s = this; s !== null; s = s._parent) {\x0d\n clearTimeout(s[kTimeout]);\x0d\n }\x0d\n\x0d\n debug('close');\x0d\n if (this._handle) {\x0d\n if (this !== process.stderr)\x0d\n debug('close handle');\x0d\n const isException = exception ? true : false;\x0d\n // `bytesRead` and `kBytesWritten` should be accessible after `.destroy()`\x0d\n this[kBytesRead] = this._handle.bytesRead;\x0d\n this[kBytesWritten] = this._handle.bytesWritten;\x0d\n\x0d\n if (this.resetAndClosing) {\x0d\n this.resetAndClosing = false;\x0d\n const err = this._handle.reset(() => {\x0d\n debug('emit close');\x0d\n this.emit('close'\x2C isException);\x0d\n });\x0d\n if (err)\x0d\n this.emit('error'\x2C new ErrnoException(err\x2C 'reset'));\x0d\n } else if (this._closeAfterHandlingError) {\x0d\n // Enqueue closing the socket as a microtask\x2C so that the socket can be\x0d\n // accessible when an `error` event is handled in the `next tick queue`.\x0d\n queueMicrotask(() => closeSocketHandle(this\x2C isException\x2C true));\x0d\n } else {\x0d\n closeSocketHandle(this\x2C isException);\x0d\n }\x0d\n\x0d\n if (!this._closeAfterHandlingError) {\x0d\n this._handle.onread = noop;\x0d\n this._handle = null;\x0d\n this._sockname = null;\x0d\n }\x0d\n cb(exception);\x0d\n } else {\x0d\n cb(exception);\x0d\n process.nextTick(emitCloseNT\x2C this);\x0d\n }\x0d\n\x0d\n if (this._server) {\x0d\n debug('has server');\x0d\n this._server._connections--;\x0d\n if (this._server._emitCloseIfDrained) {\x0d\n this._server._emitCloseIfDrained();\x0d\n }\x0d\n }\x0d\n};\x0d\n\x0d\nSocket.prototype._reset = function() {\x0d\n debug('reset connection');\x0d\n this.resetAndClosing = true;\x0d\n return this.destroy();\x0d\n};\x0d\n\x0d\nSocket.prototype._getpeername = function() {\x0d\n if (!this._handle || !this._handle.getpeername || this.connecting) {\x0d\n return this._peername || {};\x0d\n } else if (!this._peername) {\x0d\n const out = {};\x0d\n const err = this._handle.getpeername(out);\x0d\n if (err) return out;\x0d\n this._peername = out;\x0d\n }\x0d\n return this._peername;\x0d\n};\x0d\n\x0d\nfunction protoGetter(name\x2C callback) {\x0d\n ObjectDefineProperty(Socket.prototype\x2C name\x2C {\x0d\n __proto__: null\x2C\x0d\n configurable: false\x2C\x0d\n enumerable: true\x2C\x0d\n get: callback\x2C\x0d\n });\x0d\n}\x0d\n\x0d\nprotoGetter('bytesRead'\x2C function bytesRead() {\x0d\n return this._handle ? this._handle.bytesRead : this[kBytesRead];\x0d\n});\x0d\n\x0d\nprotoGetter('remoteAddress'\x2C function remoteAddress() {\x0d\n return this._getpeername().address;\x0d\n});\x0d\n\x0d\nprotoGetter('remoteFamily'\x2C function remoteFamily() {\x0d\n return this._getpeername().family;\x0d\n});\x0d\n\x0d\nprotoGetter('remotePort'\x2C function remotePort() {\x0d\n return this._getpeername().port;\x0d\n});\x0d\n\x0d\n\x0d\nSocket.prototype._getsockname = function() {\x0d\n if (!this._handle || !this._handle.getsockname) {\x0d\n return {};\x0d\n } else if (!this._sockname) {\x0d\n this._sockname = {};\x0d\n // FIXME(bnoordhuis) Throw when the return value is not 0?\x0d\n this._handle.getsockname(this._sockname);\x0d\n }\x0d\n return this._sockname;\x0d\n};\x0d\n\x0d\n\x0d\nprotoGetter('localAddress'\x2C function localAddress() {\x0d\n return this._getsockname().address;\x0d\n});\x0d\n\x0d\n\x0d\nprotoGetter('localPort'\x2C function localPort() {\x0d\n return this._getsockname().port;\x0d\n});\x0d\n\x0d\nprotoGetter('localFamily'\x2C function localFamily() {\x0d\n return this._getsockname().family;\x0d\n});\x0d\n\x0d\nSocket.prototype[kAfterAsyncWrite] = function() {\x0d\n this[kLastWriteQueueSize] = 0;\x0d\n};\x0d\n\x0d\nSocket.prototype._writeGeneric = function(writev\x2C data\x2C encoding\x2C cb) {\x0d\n // If we are still connecting\x2C then buffer this for later.\x0d\n // The Writable logic will buffer up any more writes while\x0d\n // waiting for this one to be done.\x0d\n if (this.connecting) {\x0d\n this._pendingData = data;\x0d\n this._pendingEncoding = encoding;\x0d\n this.once('connect'\x2C function connect() {\x0d\n this.off('close'\x2C onClose);\x0d\n this._writeGeneric(writev\x2C data\x2C encoding\x2C cb);\x0d\n });\x0d\n function onClose() {\x0d\n cb(new ERR_SOCKET_CLOSED_BEFORE_CONNECTION());\x0d\n }\x0d\n this.once('close'\x2C onClose);\x0d\n return;\x0d\n }\x0d\n this._pendingData = null;\x0d\n this._pendingEncoding = '';\x0d\n\x0d\n if (!this._handle) {\x0d\n cb(new ERR_SOCKET_CLOSED());\x0d\n return false;\x0d\n }\x0d\n\x0d\n this._unrefTimer();\x0d\n\x0d\n let req;\x0d\n if (writev)\x0d\n req = writevGeneric(this\x2C data\x2C cb);\x0d\n else\x0d\n req = writeGeneric(this\x2C data\x2C encoding\x2C cb);\x0d\n if (req.async)\x0d\n this[kLastWriteQueueSize] = req.bytes;\x0d\n};\x0d\n\x0d\n\x0d\nSocket.prototype._writev = function(chunks\x2C cb) {\x0d\n this._writeGeneric(true\x2C chunks\x2C ''\x2C cb);\x0d\n};\x0d\n\x0d\n\x0d\nSocket.prototype._write = function(data\x2C encoding\x2C cb) {\x0d\n this._writeGeneric(false\x2C data\x2C encoding\x2C cb);\x0d\n};\x0d\n\x0d\n\x0d\n// Legacy alias. Having this is probably being overly cautious\x2C but it doesn't\x0d\n// really hurt anyone either. This can probably be removed safely if desired.\x0d\nprotoGetter('_bytesDispatched'\x2C function _bytesDispatched() {\x0d\n return this._handle ? this._handle.bytesWritten : this[kBytesWritten];\x0d\n});\x0d\n\x0d\nprotoGetter('bytesWritten'\x2C function bytesWritten() {\x0d\n let bytes = this._bytesDispatched;\x0d\n const data = this._pendingData;\x0d\n const encoding = this._pendingEncoding;\x0d\n const writableBuffer = this.writableBuffer;\x0d\n\x0d\n if (!writableBuffer)\x0d\n return undefined;\x0d\n\x0d\n for (const el of writableBuffer) {\x0d\n bytes += el.chunk instanceof Buffer ?\x0d\n el.chunk.length :\x0d\n Buffer.byteLength(el.chunk\x2C el.encoding);\x0d\n }\x0d\n\x0d\n if (ArrayIsArray(data)) {\x0d\n // Was a writev\x2C iterate over chunks to get total length\x0d\n for (let i = 0; i < data.length; i++) {\x0d\n const chunk = data[i];\x0d\n\x0d\n if (data.allBuffers || chunk instanceof Buffer)\x0d\n bytes += chunk.length;\x0d\n else\x0d\n bytes += Buffer.byteLength(chunk.chunk\x2C chunk.encoding);\x0d\n }\x0d\n } else if (data) {\x0d\n // Writes are either a string or a Buffer.\x0d\n if (typeof data !== 'string')\x0d\n bytes += data.length;\x0d\n else\x0d\n bytes += Buffer.byteLength(data\x2C encoding);\x0d\n }\x0d\n\x0d\n return bytes;\x0d\n});\x0d\n\x0d\n\x0d\nfunction checkBindError(err\x2C port\x2C handle) {\x0d\n // EADDRINUSE may not be reported until we call listen() or connect().\x0d\n // To complicate matters\x2C a failed bind() followed by listen() or connect()\x0d\n // will implicitly bind to a random port. Ergo\x2C check that the socket is\x0d\n // bound to the expected port before calling listen() or connect().\x0d\n //\x0d\n // FIXME(bnoordhuis) Doesn't work for pipe handles\x2C they don't have a\x0d\n // getsockname() method. Non-issue for now\x2C the cluster module doesn't\x0d\n // really support pipes anyway.\x0d\n if (err === 0 && port > 0 && handle.getsockname) {\x0d\n const out = {};\x0d\n err = handle.getsockname(out);\x0d\n if (err === 0 && port !== out.port) {\x0d\n debug(`checkBindError\x2C bound to ${out.port} instead of ${port}`);\x0d\n err = UV_EADDRINUSE;\x0d\n }\x0d\n }\x0d\n return err;\x0d\n}\x0d\n\x0d\n\x0d\nfunction internalConnect(\x0d\n self\x2C address\x2C port\x2C addressType\x2C localAddress\x2C localPort\x2C flags) {\x0d\n // TODO return promise from Socket.prototype.connect which\x0d\n // wraps _connectReq.\x0d\n\x0d\n assert(self.connecting);\x0d\n\x0d\n let err;\x0d\n\x0d\n if (localAddress || localPort) {\x0d\n if (addressType === 4) {\x0d\n localAddress = localAddress || DEFAULT_IPV4_ADDR;\x0d\n err = self._handle.bind(localAddress\x2C localPort);\x0d\n } else { // addressType === 6\x0d\n localAddress = localAddress || DEFAULT_IPV6_ADDR;\x0d\n err = self._handle.bind6(localAddress\x2C localPort\x2C flags);\x0d\n }\x0d\n debug('connect: binding to localAddress: %s and localPort: %d (addressType: %d)'\x2C\x0d\n localAddress\x2C localPort\x2C addressType);\x0d\n\x0d\n err = checkBindError(err\x2C localPort\x2C self._handle);\x0d\n if (err) {\x0d\n const ex = new ExceptionWithHostPort(err\x2C 'bind'\x2C localAddress\x2C localPort);\x0d\n self.destroy(ex);\x0d\n return;\x0d\n }\x0d\n }\x0d\n\x0d\n debug('connect: attempting to connect to %s:%d (addressType: %d)'\x2C address\x2C port\x2C addressType);\x0d\n self.emit('connectionAttempt'\x2C address\x2C port\x2C addressType);\x0d\n\x0d\n if (addressType === 6 || addressType === 4) {\x0d\n const req = new TCPConnectWrap();\x0d\n req.oncomplete = afterConnect;\x0d\n req.address = address;\x0d\n req.port = port;\x0d\n req.localAddress = localAddress;\x0d\n req.localPort = localPort;\x0d\n req.addressType = addressType;\x0d\n\x0d\n if (addressType === 4)\x0d\n err = self._handle.connect(req\x2C address\x2C port);\x0d\n else\x0d\n err = self._handle.connect6(req\x2C address\x2C port);\x0d\n } else {\x0d\n const req = new PipeConnectWrap();\x0d\n req.address = address;\x0d\n req.oncomplete = afterConnect;\x0d\n\x0d\n err = self._handle.connect(req\x2C address);\x0d\n }\x0d\n\x0d\n if (err) {\x0d\n const sockname = self._getsockname();\x0d\n let details;\x0d\n\x0d\n if (sockname) {\x0d\n details = sockname.address + ':' + sockname.port;\x0d\n }\x0d\n\x0d\n const ex = new ExceptionWithHostPort(err\x2C 'connect'\x2C address\x2C port\x2C details);\x0d\n self.destroy(ex);\x0d\n } else if ((addressType === 6 || addressType === 4) && hasObserver('net')) {\x0d\n startPerf(self\x2C kPerfHooksNetConnectContext\x2C { type: 'net'\x2C name: 'connect'\x2C detail: { host: address\x2C port } });\x0d\n }\x0d\n}\x0d\n\x0d\n\x0d\nfunction internalConnectMultiple(context\x2C canceled) {\x0d\n clearTimeout(context[kTimeout]);\x0d\n const self = context.socket;\x0d\n\x0d\n // We were requested to abort. Stop all operations\x0d\n if (self._aborted) {\x0d\n return;\x0d\n }\x0d\n\x0d\n // All connections have been tried without success\x2C destroy with error\x0d\n if (canceled || context.current === context.addresses.length) {\x0d\n if (context.errors.length === 0) {\x0d\n self.destroy(new ERR_SOCKET_CONNECTION_TIMEOUT());\x0d\n return;\x0d\n }\x0d\n\x0d\n self.destroy(new NodeAggregateError(context.errors));\x0d\n return;\x0d\n }\x0d\n\x0d\n assert(self.connecting);\x0d\n\x0d\n const current = context.current++;\x0d\n\x0d\n if (current > 0) {\x0d\n self[kReinitializeHandle](new TCP(TCPConstants.SOCKET));\x0d\n }\x0d\n\x0d\n const { localPort\x2C port\x2C flags } = context;\x0d\n const { address\x2C family: addressType } = context.addresses[current];\x0d\n let localAddress;\x0d\n let err;\x0d\n\x0d\n if (localPort) {\x0d\n if (addressType === 4) {\x0d\n localAddress = DEFAULT_IPV4_ADDR;\x0d\n err = self._handle.bind(localAddress\x2C localPort);\x0d\n } else { // addressType === 6\x0d\n localAddress = DEFAULT_IPV6_ADDR;\x0d\n err = self._handle.bind6(localAddress\x2C localPort\x2C flags);\x0d\n }\x0d\n\x0d\n debug('connect/multiple: binding to localAddress: %s and localPort: %d (addressType: %d)'\x2C\x0d\n localAddress\x2C localPort\x2C addressType);\x0d\n\x0d\n err = checkBindError(err\x2C localPort\x2C self._handle);\x0d\n if (err) {\x0d\n ArrayPrototypePush(context.errors\x2C new ExceptionWithHostPort(err\x2C 'bind'\x2C localAddress\x2C localPort));\x0d\n internalConnectMultiple(context);\x0d\n return;\x0d\n }\x0d\n }\x0d\n\x0d\n debug('connect/multiple: attempting to connect to %s:%d (addressType: %d)'\x2C address\x2C port\x2C addressType);\x0d\n self.emit('connectionAttempt'\x2C address\x2C port\x2C addressType);\x0d\n\x0d\n const req = new TCPConnectWrap();\x0d\n req.oncomplete = FunctionPrototypeBind(afterConnectMultiple\x2C undefined\x2C context\x2C current);\x0d\n req.address = address;\x0d\n req.port = port;\x0d\n req.localAddress = localAddress;\x0d\n req.localPort = localPort;\x0d\n req.addressType = addressType;\x0d\n\x0d\n ArrayPrototypePush(self.autoSelectFamilyAttemptedAddresses\x2C `${address}:${port}`);\x0d\n\x0d\n if (addressType === 4) {\x0d\n err = self._handle.connect(req\x2C address\x2C port);\x0d\n } else {\x0d\n err = self._handle.connect6(req\x2C address\x2C port);\x0d\n }\x0d\n\x0d\n if (err) {\x0d\n const sockname = self._getsockname();\x0d\n let details;\x0d\n\x0d\n if (sockname) {\x0d\n details = sockname.address + ':' + sockname.port;\x0d\n }\x0d\n\x0d\n const ex = new ExceptionWithHostPort(err\x2C 'connect'\x2C address\x2C port\x2C details);\x0d\n ArrayPrototypePush(context.errors\x2C ex);\x0d\n\x0d\n self.emit('connectionAttemptFailed'\x2C address\x2C port\x2C addressType\x2C ex);\x0d\n internalConnectMultiple(context);\x0d\n return;\x0d\n }\x0d\n\x0d\n if (current < context.addresses.length - 1) {\x0d\n debug('connect/multiple: setting the attempt timeout to %d ms'\x2C context.timeout);\x0d\n\x0d\n // If the attempt has not returned an error\x2C start the connection timer\x0d\n context[kTimeout] = setTimeout(internalConnectMultipleTimeout\x2C context.timeout\x2C context\x2C req\x2C self._handle);\x0d\n }\x0d\n}\x0d\n\x0d\nSocket.prototype.connect = function(...args) {\x0d\n let normalized;\x0d\n // If passed an array\x2C it's treated as an array of arguments that have\x0d\n // already been normalized (so we don't normalize more than once). This has\x0d\n // been solved before in https://github.com/nodejs/node/pull/12342\x2C but was\x0d\n // reverted as it had unintended side effects.\x0d\n if (ArrayIsArray(args[0]) && args[0][normalizedArgsSymbol]) {\x0d\n normalized = args[0];\x0d\n } else {\x0d\n normalized = normalizeArgs(args);\x0d\n }\x0d\n const options = normalized[0];\x0d\n const cb = normalized[1];\x0d\n\x0d\n if (cb !== null) {\x0d\n this.once('connect'\x2C cb);\x0d\n }\x0d\n\x0d\n // If the parent is already connecting\x2C do not attempt to connect again\x0d\n if (this._parent && this._parent.connecting) {\x0d\n return this;\x0d\n }\x0d\n\x0d\n // options.port === null will be checked later.\x0d\n if (options.port === undefined && options.path == null)\x0d\n throw new ERR_MISSING_ARGS(['options'\x2C 'port'\x2C 'path']);\x0d\n\x0d\n if (this.write !== Socket.prototype.write)\x0d\n this.write = Socket.prototype.write;\x0d\n\x0d\n if (this.destroyed) {\x0d\n this._handle = null;\x0d\n this._peername = null;\x0d\n this._sockname = null;\x0d\n }\x0d\n\x0d\n const { path } = options;\x0d\n const pipe = !!path;\x0d\n debug('pipe'\x2C pipe\x2C path);\x0d\n\x0d\n if (!this._handle) {\x0d\n this._handle = pipe ?\x0d\n new Pipe(PipeConstants.SOCKET) :\x0d\n new TCP(TCPConstants.SOCKET);\x0d\n initSocketHandle(this);\x0d\n }\x0d\n\x0d\n this._unrefTimer();\x0d\n\x0d\n this.connecting = true;\x0d\n\x0d\n if (pipe) {\x0d\n validateString(path\x2C 'options.path');\x0d\n defaultTriggerAsyncIdScope(\x0d\n this[async_id_symbol]\x2C internalConnect\x2C this\x2C path\x2C\x0d\n );\x0d\n } else {\x0d\n lookupAndConnect(this\x2C options);\x0d\n }\x0d\n return this;\x0d\n};\x0d\n\x0d\nSocket.prototype[kReinitializeHandle] = function reinitializeHandle(handle) {\x0d\n this._handle?.close();\x0d\n\x0d\n this._handle = handle;\x0d\n this._handle[owner_symbol] = this;\x0d\n\x0d\n initSocketHandle(this);\x0d\n};\x0d\n\x0d\nfunction socketToDnsFamily(family) {\x0d\n switch (family) {\x0d\n case 'IPv4':\x0d\n return 4;\x0d\n case 'IPv6':\x0d\n return 6;\x0d\n }\x0d\n\x0d\n return family;\x0d\n}\x0d\n\x0d\nfunction lookupAndConnect(self\x2C options) {\x0d\n const { localAddress\x2C localPort } = options;\x0d\n const host = options.host || 'localhost';\x0d\n let { port\x2C autoSelectFamilyAttemptTimeout\x2C autoSelectFamily } = options;\x0d\n\x0d\n if (localAddress && !isIP(localAddress)) {\x0d\n throw new ERR_INVALID_IP_ADDRESS(localAddress);\x0d\n }\x0d\n\x0d\n if (localPort) {\x0d\n validateNumber(localPort\x2C 'options.localPort');\x0d\n }\x0d\n\x0d\n if (typeof port !== 'undefined') {\x0d\n if (typeof port !== 'number' && typeof port !== 'string') {\x0d\n throw new ERR_INVALID_ARG_TYPE('options.port'\x2C\x0d\n ['number'\x2C 'string']\x2C port);\x0d\n }\x0d\n validatePort(port);\x0d\n }\x0d\n port |= 0;\x0d\n\x0d\n\x0d\n if (autoSelectFamily != null) {\x0d\n validateBoolean(autoSelectFamily\x2C 'options.autoSelectFamily');\x0d\n } else {\x0d\n autoSelectFamily = autoSelectFamilyDefault;\x0d\n }\x0d\n\x0d\n if (autoSelectFamilyAttemptTimeout != null) {\x0d\n validateInt32(autoSelectFamilyAttemptTimeout\x2C 'options.autoSelectFamilyAttemptTimeout'\x2C 1);\x0d\n\x0d\n if (autoSelectFamilyAttemptTimeout < 10) {\x0d\n autoSelectFamilyAttemptTimeout = 10;\x0d\n }\x0d\n } else {\x0d\n autoSelectFamilyAttemptTimeout = autoSelectFamilyAttemptTimeoutDefault;\x0d\n }\x0d\n\x0d\n // If host is an IP\x2C skip performing a lookup\x0d\n const addressType = isIP(host);\x0d\n if (addressType) {\x0d\n defaultTriggerAsyncIdScope(self[async_id_symbol]\x2C process.nextTick\x2C () => {\x0d\n if (self.connecting)\x0d\n defaultTriggerAsyncIdScope(\x0d\n self[async_id_symbol]\x2C\x0d\n internalConnect\x2C\x0d\n self\x2C host\x2C port\x2C addressType\x2C localAddress\x2C localPort\x2C\x0d\n );\x0d\n });\x0d\n return;\x0d\n }\x0d\n\x0d\n if (options.lookup != null)\x0d\n validateFunction(options.lookup\x2C 'options.lookup');\x0d\n\x0d\n if (dns === undefined) dns = require('dns');\x0d\n const dnsopts = {\x0d\n family: socketToDnsFamily(options.family)\x2C\x0d\n hints: options.hints || 0\x2C\x0d\n };\x0d\n\x0d\n if (!isWindows &&\x0d\n dnsopts.family !== 4 &&\x0d\n dnsopts.family !== 6 &&\x0d\n dnsopts.hints === 0) {\x0d\n dnsopts.hints = dns.ADDRCONFIG;\x0d\n }\x0d\n\x0d\n debug('connect: find host'\x2C host);\x0d\n debug('connect: dns options'\x2C dnsopts);\x0d\n self._host = host;\x0d\n const lookup = options.lookup || dns.lookup;\x0d\n\x0d\n if (dnsopts.family !== 4 && dnsopts.family !== 6 && !localAddress && autoSelectFamily) {\x0d\n debug('connect: autodetecting');\x0d\n\x0d\n dnsopts.all = true;\x0d\n defaultTriggerAsyncIdScope(self[async_id_symbol]\x2C function() {\x0d\n lookupAndConnectMultiple(\x0d\n self\x2C\x0d\n async_id_symbol\x2C\x0d\n lookup\x2C\x0d\n host\x2C\x0d\n options\x2C\x0d\n dnsopts\x2C\x0d\n port\x2C\x0d\n localAddress\x2C\x0d\n localPort\x2C\x0d\n autoSelectFamilyAttemptTimeout\x2C\x0d\n );\x0d\n });\x0d\n\x0d\n return;\x0d\n }\x0d\n\x0d\n defaultTriggerAsyncIdScope(self[async_id_symbol]\x2C function() {\x0d\n lookup(host\x2C dnsopts\x2C function emitLookup(err\x2C ip\x2C addressType) {\x0d\n self.emit('lookup'\x2C err\x2C ip\x2C addressType\x2C host);\x0d\n\x0d\n // It's possible we were destroyed while looking this up.\x0d\n // XXX it would be great if we could cancel the promise returned by\x0d\n // the look up.\x0d\n if (!self.connecting) return;\x0d\n\x0d\n if (err) {\x0d\n // net.createConnection() creates a net.Socket object and immediately\x0d\n // calls net.Socket.connect() on it (that's us). There are no event\x0d\n // listeners registered yet so defer the error event to the next tick.\x0d\n process.nextTick(connectErrorNT\x2C self\x2C err);\x0d\n } else if (!isIP(ip)) {\x0d\n err = new ERR_INVALID_IP_ADDRESS(ip);\x0d\n process.nextTick(connectErrorNT\x2C self\x2C err);\x0d\n } else if (addressType !== 4 && addressType !== 6) {\x0d\n err = new ERR_INVALID_ADDRESS_FAMILY(addressType\x2C\x0d\n options.host\x2C\x0d\n options.port);\x0d\n process.nextTick(connectErrorNT\x2C self\x2C err);\x0d\n } else {\x0d\n self._unrefTimer();\x0d\n defaultTriggerAsyncIdScope(\x0d\n self[async_id_symbol]\x2C\x0d\n internalConnect\x2C\x0d\n self\x2C ip\x2C port\x2C addressType\x2C localAddress\x2C localPort\x2C\x0d\n );\x0d\n }\x0d\n });\x0d\n });\x0d\n}\x0d\n\x0d\nfunction lookupAndConnectMultiple(\x0d\n self\x2C async_id_symbol\x2C lookup\x2C host\x2C options\x2C dnsopts\x2C port\x2C localAddress\x2C localPort\x2C timeout\x2C\x0d\n) {\x0d\n defaultTriggerAsyncIdScope(self[async_id_symbol]\x2C function emitLookup() {\x0d\n lookup(host\x2C dnsopts\x2C function emitLookup(err\x2C addresses) {\x0d\n // It's possible we were destroyed while looking this up.\x0d\n // XXX it would be great if we could cancel the promise returned by\x0d\n // the look up.\x0d\n if (!self.connecting) {\x0d\n return;\x0d\n } else if (err) {\x0d\n self.emit('lookup'\x2C err\x2C undefined\x2C undefined\x2C host);\x0d\n\x0d\n // net.createConnection() creates a net.Socket object and immediately\x0d\n // calls net.Socket.connect() on it (that's us). There are no event\x0d\n // listeners registered yet so defer the error event to the next tick.\x0d\n process.nextTick(connectErrorNT\x2C self\x2C err);\x0d\n return;\x0d\n }\x0d\n\x0d\n // Filter addresses by only keeping the one which are either IPv4 or IPV6.\x0d\n // The first valid address determines which group has preference on the\x0d\n // alternate family sorting which happens later.\x0d\n const validAddresses = [[]\x2C []];\x0d\n const validIps = [[]\x2C []];\x0d\n let destinations;\x0d\n for (let i = 0\x2C l = addresses.length; i < l; i++) {\x0d\n const address = addresses[i];\x0d\n const { address: ip\x2C family: addressType } = address;\x0d\n self.emit('lookup'\x2C err\x2C ip\x2C addressType\x2C host);\x0d\n // It's possible we were destroyed while looking this up.\x0d\n if (!self.connecting) {\x0d\n return;\x0d\n }\x0d\n if (isIP(ip) && (addressType === 4 || addressType === 6)) {\x0d\n if (!destinations) {\x0d\n destinations = addressType === 6 ? { 6: 0\x2C 4: 1 } : { 4: 0\x2C 6: 1 };\x0d\n }\x0d\n\x0d\n const destination = destinations[addressType];\x0d\n\x0d\n // Only try an address once\x0d\n if (!ArrayPrototypeIncludes(validIps[destination]\x2C ip)) {\x0d\n ArrayPrototypePush(validAddresses[destination]\x2C address);\x0d\n ArrayPrototypePush(validIps[destination]\x2C ip);\x0d\n }\x0d\n }\x0d\n }\x0d\n\x0d\n\x0d\n // When no AAAA or A records are available\x2C fail on the first one\x0d\n if (!validAddresses[0].length && !validAddresses[1].length) {\x0d\n const { address: firstIp\x2C family: firstAddressType } = addresses[0];\x0d\n\x0d\n if (!isIP(firstIp)) {\x0d\n err = new ERR_INVALID_IP_ADDRESS(firstIp);\x0d\n process.nextTick(connectErrorNT\x2C self\x2C err);\x0d\n } else if (firstAddressType !== 4 && firstAddressType !== 6) {\x0d\n err = new ERR_INVALID_ADDRESS_FAMILY(firstAddressType\x2C\x0d\n options.host\x2C\x0d\n options.port);\x0d\n process.nextTick(connectErrorNT\x2C self\x2C err);\x0d\n }\x0d\n\x0d\n return;\x0d\n }\x0d\n\x0d\n // Sort addresses alternating families\x0d\n const toAttempt = [];\x0d\n for (let i = 0\x2C l = MathMax(validAddresses[0].length\x2C validAddresses[1].length); i < l; i++) {\x0d\n if (i in validAddresses[0]) {\x0d\n ArrayPrototypePush(toAttempt\x2C validAddresses[0][i]);\x0d\n }\x0d\n if (i in validAddresses[1]) {\x0d\n ArrayPrototypePush(toAttempt\x2C validAddresses[1][i]);\x0d\n }\x0d\n }\x0d\n\x0d\n if (toAttempt.length === 1) {\x0d\n debug('connect/multiple: only one address found\x2C switching back to single connection');\x0d\n const { address: ip\x2C family: addressType } = toAttempt[0];\x0d\n\x0d\n self._unrefTimer();\x0d\n defaultTriggerAsyncIdScope(\x0d\n self[async_id_symbol]\x2C\x0d\n internalConnect\x2C\x0d\n self\x2C\x0d\n ip\x2C\x0d\n port\x2C\x0d\n addressType\x2C\x0d\n localAddress\x2C\x0d\n localPort\x2C\x0d\n );\x0d\n\x0d\n return;\x0d\n }\x0d\n\x0d\n self.autoSelectFamilyAttemptedAddresses = [];\x0d\n debug('connect/multiple: will try the following addresses'\x2C toAttempt);\x0d\n\x0d\n const context = {\x0d\n socket: self\x2C\x0d\n addresses: toAttempt\x2C\x0d\n current: 0\x2C\x0d\n port\x2C\x0d\n localPort\x2C\x0d\n timeout\x2C\x0d\n [kTimeout]: null\x2C\x0d\n errors: []\x2C\x0d\n };\x0d\n\x0d\n self._unrefTimer();\x0d\n defaultTriggerAsyncIdScope(self[async_id_symbol]\x2C internalConnectMultiple\x2C context);\x0d\n });\x0d\n });\x0d\n}\x0d\n\x0d\nfunction connectErrorNT(self\x2C err) {\x0d\n self.destroy(err);\x0d\n}\x0d\n\x0d\n\x0d\nSocket.prototype.ref = function() {\x0d\n if (!this._handle) {\x0d\n this.once('connect'\x2C this.ref);\x0d\n return this;\x0d\n }\x0d\n\x0d\n if (typeof this._handle.ref === 'function') {\x0d\n this._handle.ref();\x0d\n }\x0d\n\x0d\n return this;\x0d\n};\x0d\n\x0d\n\x0d\nSocket.prototype.unref = function() {\x0d\n if (!this._handle) {\x0d\n this.once('connect'\x2C this.unref);\x0d\n return this;\x0d\n }\x0d\n\x0d\n if (typeof this._handle.unref === 'function') {\x0d\n this._handle.unref();\x0d\n }\x0d\n\x0d\n return this;\x0d\n};\x0d\n\x0d\n\x0d\nfunction afterConnect(status\x2C handle\x2C req\x2C readable\x2C writable) {\x0d\n const self = handle[owner_symbol];\x0d\n\x0d\n // Callback may come after call to destroy\x0d\n if (self.destroyed) {\x0d\n return;\x0d\n }\x0d\n\x0d\n debug('afterConnect');\x0d\n\x0d\n assert(self.connecting);\x0d\n self.connecting = false;\x0d\n self._sockname = null;\x0d\n\x0d\n if (status === 0) {\x0d\n if (self.readable && !readable) {\x0d\n self.push(null);\x0d\n self.read();\x0d\n }\x0d\n if (self.writable && !writable) {\x0d\n self.end();\x0d\n }\x0d\n self._unrefTimer();\x0d\n\x0d\n if (self[kSetNoDelay] && self._handle.setNoDelay) {\x0d\n self._handle.setNoDelay(true);\x0d\n }\x0d\n\x0d\n if (self[kSetKeepAlive] && self._handle.setKeepAlive) {\x0d\n self._handle.setKeepAlive(true\x2C self[kSetKeepAliveInitialDelay]);\x0d\n }\x0d\n\x0d\n self.emit('connect');\x0d\n self.emit('ready');\x0d\n\x0d\n // Start the first read\x2C or get an immediate EOF.\x0d\n // this doesn't actually consume any bytes\x2C because len=0.\x0d\n if (readable && !self.isPaused())\x0d\n self.read(0);\x0d\n if (self[kPerfHooksNetConnectContext] && hasObserver('net')) {\x0d\n stopPerf(self\x2C kPerfHooksNetConnectContext);\x0d\n }\x0d\n } else {\x0d\n let details;\x0d\n if (req.localAddress && req.localPort) {\x0d\n details = req.localAddress + ':' + req.localPort;\x0d\n }\x0d\n const ex = new ExceptionWithHostPort(status\x2C\x0d\n 'connect'\x2C\x0d\n req.address\x2C\x0d\n req.port\x2C\x0d\n details);\x0d\n if (details) {\x0d\n ex.localAddress = req.localAddress;\x0d\n ex.localPort = req.localPort;\x0d\n }\x0d\n\x0d\n self.emit('connectionAttemptFailed'\x2C req.address\x2C req.port\x2C req.addressType\x2C ex);\x0d\n self.destroy(ex);\x0d\n }\x0d\n}\x0d\n\x0d\nfunction addClientAbortSignalOption(self\x2C options) {\x0d\n validateAbortSignal(options.signal\x2C 'options.signal');\x0d\n const { signal } = options;\x0d\n let disposable;\x0d\n\x0d\n function onAbort() {\x0d\n disposable?.[SymbolDispose]();\x0d\n self._aborted = true;\x0d\n }\x0d\n\x0d\n if (signal.aborted) {\x0d\n process.nextTick(onAbort);\x0d\n } else {\x0d\n process.nextTick(() => {\x0d\n disposable = addAbortListener(signal\x2C onAbort);\x0d\n });\x0d\n }\x0d\n}\x0d\n\x0d\nfunction createConnectionError(req\x2C status) {\x0d\n let details;\x0d\n\x0d\n if (req.localAddress && req.localPort) {\x0d\n details = req.localAddress + ':' + req.localPort;\x0d\n }\x0d\n\x0d\n const ex = new ExceptionWithHostPort(status\x2C\x0d\n 'connect'\x2C\x0d\n req.address\x2C\x0d\n req.port\x2C\x0d\n details);\x0d\n if (details) {\x0d\n ex.localAddress = req.localAddress;\x0d\n ex.localPort = req.localPort;\x0d\n }\x0d\n\x0d\n return ex;\x0d\n}\x0d\n\x0d\nfunction afterConnectMultiple(context\x2C current\x2C status\x2C handle\x2C req\x2C readable\x2C writable) {\x0d\n debug('connect/multiple: connection attempt to %s:%s completed with status %s'\x2C req.address\x2C req.port\x2C status);\x0d\n\x0d\n // Make sure another connection is not spawned\x0d\n clearTimeout(context[kTimeout]);\x0d\n\x0d\n // One of the connection has completed and correctly dispatched but after timeout\x2C ignore this one\x0d\n if (status === 0 && current !== context.current - 1) {\x0d\n debug('connect/multiple: ignoring successful but timedout connection to %s:%s'\x2C req.address\x2C req.port);\x0d\n handle.close();\x0d\n return;\x0d\n }\x0d\n\x0d\n const self = context.socket;\x0d\n\x0d\n // Some error occurred\x2C add to the list of exceptions\x0d\n if (status !== 0) {\x0d\n const ex = createConnectionError(req\x2C status);\x0d\n ArrayPrototypePush(context.errors\x2C ex);\x0d\n\x0d\n self.emit('connectionAttemptFailed'\x2C req.address\x2C req.port\x2C req.addressType\x2C ex);\x0d\n\x0d\n // Try the next address\x2C unless we were aborted\x0d\n if (context.socket.connecting) {\x0d\n internalConnectMultiple(context\x2C status === UV_ECANCELED);\x0d\n }\x0d\n\x0d\n return;\x0d\n }\x0d\n\x0d\n if (hasObserver('net')) {\x0d\n startPerf(\x0d\n self\x2C\x0d\n kPerfHooksNetConnectContext\x2C\x0d\n { type: 'net'\x2C name: 'connect'\x2C detail: { host: req.address\x2C port: req.port } }\x2C\x0d\n );\x0d\n }\x0d\n\x0d\n afterConnect(status\x2C self._handle\x2C req\x2C readable\x2C writable);\x0d\n}\x0d\n\x0d\nfunction internalConnectMultipleTimeout(context\x2C req\x2C handle) {\x0d\n debug('connect/multiple: connection to %s:%s timed out'\x2C req.address\x2C req.port);\x0d\n context.socket.emit('connectionAttemptTimeout'\x2C req.address\x2C req.port\x2C req.addressType);\x0d\n\x0d\n req.oncomplete = undefined;\x0d\n ArrayPrototypePush(context.errors\x2C createConnectionError(req\x2C UV_ETIMEDOUT));\x0d\n handle.close();\x0d\n\x0d\n // Try the next address\x2C unless we were aborted\x0d\n if (context.socket.connecting) {\x0d\n internalConnectMultiple(context);\x0d\n }\x0d\n}\x0d\n\x0d\nfunction addServerAbortSignalOption(self\x2C options) {\x0d\n if (options?.signal === undefined) {\x0d\n return;\x0d\n }\x0d\n validateAbortSignal(options.signal\x2C 'options.signal');\x0d\n const { signal } = options;\x0d\n const onAborted = () => {\x0d\n self.close();\x0d\n };\x0d\n if (signal.aborted) {\x0d\n process.nextTick(onAborted);\x0d\n } else {\x0d\n const disposable = addAbortListener(signal\x2C onAborted);\x0d\n self.once('close'\x2C disposable[SymbolDispose]);\x0d\n }\x0d\n}\x0d\n\x0d\nfunction Server(options\x2C connectionListener) {\x0d\n if (!(this instanceof Server))\x0d\n return new Server(options\x2C connectionListener);\x0d\n\x0d\n EventEmitter.call(this);\x0d\n\x0d\n if (typeof options === 'function') {\x0d\n connectionListener = options;\x0d\n options = kEmptyObject;\x0d\n this.on('connection'\x2C connectionListener);\x0d\n } else if (options == null || typeof options === 'object') {\x0d\n options = { ...options };\x0d\n\x0d\n if (typeof connectionListener === 'function') {\x0d\n this.on('connection'\x2C connectionListener);\x0d\n }\x0d\n } else {\x0d\n throw new ERR_INVALID_ARG_TYPE('options'\x2C 'Object'\x2C options);\x0d\n }\x0d\n if (typeof options.keepAliveInitialDelay !== 'undefined') {\x0d\n validateNumber(\x0d\n options.keepAliveInitialDelay\x2C 'options.keepAliveInitialDelay'\x2C\x0d\n );\x0d\n\x0d\n if (options.keepAliveInitialDelay < 0) {\x0d\n options.keepAliveInitialDelay = 0;\x0d\n }\x0d\n }\x0d\n if (typeof options.highWaterMark !== 'undefined') {\x0d\n validateNumber(\x0d\n options.highWaterMark\x2C 'options.highWaterMark'\x2C\x0d\n );\x0d\n\x0d\n if (options.highWaterMark < 0) {\x0d\n options.highWaterMark = getDefaultHighWaterMark();\x0d\n }\x0d\n }\x0d\n\x0d\n this._connections = 0;\x0d\n\x0d\n this[async_id_symbol] = -1;\x0d\n this._handle = null;\x0d\n this._usingWorkers = false;\x0d\n this._workers = [];\x0d\n this._unref = false;\x0d\n this._listeningId = 1;\x0d\n\x0d\n this.allowHalfOpen = options.allowHalfOpen || false;\x0d\n this.pauseOnConnect = !!options.pauseOnConnect;\x0d\n this.noDelay = Boolean(options.noDelay);\x0d\n this.keepAlive = Boolean(options.keepAlive);\x0d\n this.keepAliveInitialDelay = ~~(options.keepAliveInitialDelay / 1000);\x0d\n this.highWaterMark = options.highWaterMark ?? getDefaultHighWaterMark();\x0d\n}\x0d\nObjectSetPrototypeOf(Server.prototype\x2C EventEmitter.prototype);\x0d\nObjectSetPrototypeOf(Server\x2C EventEmitter);\x0d\n\x0d\n\x0d\nfunction toNumber(x) { return (x = Number(x)) >= 0 ? x : false; }\x0d\n\x0d\n// Returns handle if it can be created\x2C or error code if it can't\x0d\nfunction createServerHandle(address\x2C port\x2C addressType\x2C fd\x2C flags) {\x0d\n let err = 0;\x0d\n // Assign handle in listen\x2C and clean up if bind or listen fails\x0d\n let handle;\x0d\n\x0d\n let isTCP = false;\x0d\n if (typeof fd === 'number' && fd >= 0) {\x0d\n try {\x0d\n handle = createHandle(fd\x2C true);\x0d\n } catch (e) {\x0d\n // Not a fd we can listen on. This will trigger an error.\x0d\n debug('listen invalid fd=%d:'\x2C fd\x2C e.message);\x0d\n return UV_EINVAL;\x0d\n }\x0d\n\x0d\n err = handle.open(fd);\x0d\n if (err)\x0d\n return err;\x0d\n\x0d\n assert(!address && !port);\x0d\n } else if (port === -1 && addressType === -1) {\x0d\n handle = new Pipe(PipeConstants.SERVER);\x0d\n if (isWindows) {\x0d\n const instances = NumberParseInt(process.env.NODE_PENDING_PIPE_INSTANCES);\x0d\n if (!NumberIsNaN(instances)) {\x0d\n handle.setPendingInstances(instances);\x0d\n }\x0d\n }\x0d\n } else {\x0d\n handle = new TCP(TCPConstants.SERVER);\x0d\n isTCP = true;\x0d\n }\x0d\n\x0d\n if (address || port || isTCP) {\x0d\n debug('bind to'\x2C address || 'any');\x0d\n if (!address) {\x0d\n // Try binding to ipv6 first\x0d\n err = handle.bind6(DEFAULT_IPV6_ADDR\x2C port\x2C flags);\x0d\n if (err) {\x0d\n handle.close();\x0d\n // Fallback to ipv4\x0d\n return createServerHandle(DEFAULT_IPV4_ADDR\x2C port);\x0d\n }\x0d\n } else if (addressType === 6) {\x0d\n err = handle.bind6(address\x2C port\x2C flags);\x0d\n } else {\x0d\n err = handle.bind(address\x2C port);\x0d\n }\x0d\n }\x0d\n\x0d\n if (err) {\x0d\n handle.close();\x0d\n return err;\x0d\n }\x0d\n\x0d\n return handle;\x0d\n}\x0d\n\x0d\nfunction setupListenHandle(address\x2C port\x2C addressType\x2C backlog\x2C fd\x2C flags) {\x0d\n debug('setupListenHandle'\x2C address\x2C port\x2C addressType\x2C backlog\x2C fd);\x0d\n\x0d\n // If there is not yet a handle\x2C we need to create one and bind.\x0d\n // In the case of a server sent via IPC\x2C we don't need to do this.\x0d\n if (this._handle) {\x0d\n debug('setupListenHandle: have a handle already');\x0d\n } else {\x0d\n debug('setupListenHandle: create a handle');\x0d\n\x0d\n let rval = null;\x0d\n\x0d\n // Try to bind to the unspecified IPv6 address\x2C see if IPv6 is available\x0d\n if (!address && typeof fd !== 'number') {\x0d\n rval = createServerHandle(DEFAULT_IPV6_ADDR\x2C port\x2C 6\x2C fd\x2C flags);\x0d\n\x0d\n if (typeof rval === 'number') {\x0d\n rval = null;\x0d\n address = DEFAULT_IPV4_ADDR;\x0d\n addressType = 4;\x0d\n } else {\x0d\n address = DEFAULT_IPV6_ADDR;\x0d\n addressType = 6;\x0d\n }\x0d\n }\x0d\n\x0d\n if (rval === null)\x0d\n rval = createServerHandle(address\x2C port\x2C addressType\x2C fd\x2C flags);\x0d\n\x0d\n if (typeof rval === 'number') {\x0d\n const error = new UVExceptionWithHostPort(rval\x2C 'listen'\x2C address\x2C port);\x0d\n\x0d\n if (netServerListen.hasSubscribers) {\x0d\n netServerListen.error.publish({ server: this\x2C error });\x0d\n }\x0d\n\x0d\n process.nextTick(emitErrorNT\x2C this\x2C error);\x0d\n return;\x0d\n }\x0d\n this._handle = rval;\x0d\n }\x0d\n\x0d\n this[async_id_symbol] = getNewAsyncId(this._handle);\x0d\n this._handle.onconnection = onconnection;\x0d\n this._handle[owner_symbol] = this;\x0d\n\x0d\n // Use a backlog of 512 entries. We pass 511 to the listen() call because\x0d\n // the kernel does: backlogsize = roundup_pow_of_two(backlogsize + 1);\x0d\n // which will thus give us a backlog of 512 entries.\x0d\n const err = this._handle.listen(backlog || 511);\x0d\n\x0d\n if (err) {\x0d\n const ex = new UVExceptionWithHostPort(err\x2C 'listen'\x2C address\x2C port);\x0d\n this._handle.close();\x0d\n this._handle = null;\x0d\n\x0d\n if (netServerListen.hasSubscribers) {\x0d\n netServerListen.error.publish({ server: this\x2C error: ex });\x0d\n }\x0d\n\x0d\n defaultTriggerAsyncIdScope(this[async_id_symbol]\x2C\x0d\n process.nextTick\x2C\x0d\n emitErrorNT\x2C\x0d\n this\x2C\x0d\n ex);\x0d\n return;\x0d\n }\x0d\n\x0d\n if (netServerListen.hasSubscribers) {\x0d\n netServerListen.asyncEnd.publish({ server: this });\x0d\n }\x0d\n\x0d\n // Generate connection key\x2C this should be unique to the connection\x0d\n this._connectionKey = addressType + ':' + address + ':' + port;\x0d\n\x0d\n // Unref the handle if the server was unref'ed prior to listening\x0d\n if (this._unref)\x0d\n this.unref();\x0d\n\x0d\n defaultTriggerAsyncIdScope(this[async_id_symbol]\x2C\x0d\n process.nextTick\x2C\x0d\n emitListeningNT\x2C\x0d\n this);\x0d\n}\x0d\n\x0d\nServer.prototype._listen2 = setupListenHandle; // legacy alias\x0d\n\x0d\nfunction emitErrorNT(self\x2C err) {\x0d\n self.emit('error'\x2C err);\x0d\n}\x0d\n\x0d\n\x0d\nfunction emitListeningNT(self) {\x0d\n // Ensure handle hasn't closed\x0d\n if (self._handle)\x0d\n self.emit('listening');\x0d\n}\x0d\n\x0d\n\x0d\nfunction listenInCluster(server\x2C address\x2C port\x2C addressType\x2C\x0d\n backlog\x2C fd\x2C exclusive\x2C flags\x2C options) {\x0d\n exclusive = !!exclusive;\x0d\n\x0d\n if (cluster === undefined) cluster = require('cluster');\x0d\n\x0d\n if (cluster.isPrimary || exclusive) {\x0d\n // Will create a new handle\x0d\n // _listen2 sets up the listened handle\x2C it is still named like this\x0d\n // to avoid breaking code that wraps this method\x0d\n server._listen2(address\x2C port\x2C addressType\x2C backlog\x2C fd\x2C flags);\x0d\n return;\x0d\n }\x0d\n\x0d\n const serverQuery = {\x0d\n address: address\x2C\x0d\n port: port\x2C\x0d\n addressType: addressType\x2C\x0d\n fd: fd\x2C\x0d\n flags\x2C\x0d\n backlog\x2C\x0d\n ...options\x2C\x0d\n };\x0d\n const listeningId = server._listeningId;\x0d\n // Get the primary's server handle\x2C and listen on it\x0d\n cluster._getServer(server\x2C serverQuery\x2C listenOnPrimaryHandle);\x0d\n function listenOnPrimaryHandle(err\x2C handle) {\x0d\n if (listeningId !== server._listeningId) {\x0d\n handle.close();\x0d\n return;\x0d\n }\x0d\n err = checkBindError(err\x2C port\x2C handle);\x0d\n\x0d\n if (err) {\x0d\n const ex = new ExceptionWithHostPort(err\x2C 'bind'\x2C address\x2C port);\x0d\n return server.emit('error'\x2C ex);\x0d\n }\x0d\n // If there was a handle\x2C just close it to avoid fd leak\x0d\n // but it doesn't look like that's going to happen right now\x0d\n if (server._handle) {\x0d\n server._handle.close();\x0d\n }\x0d\n // Reuse primary's server handle\x0d\n server._handle = handle;\x0d\n // _listen2 sets up the listened handle\x2C it is still named like this\x0d\n // to avoid breaking code that wraps this method\x0d\n server._listen2(address\x2C port\x2C addressType\x2C backlog\x2C fd\x2C flags);\x0d\n }\x0d\n}\x0d\n\x0d\n\x0d\nServer.prototype.listen = function(...args) {\x0d\n const normalized = normalizeArgs(args);\x0d\n let options = normalized[0];\x0d\n const cb = normalized[1];\x0d\n\x0d\n if (this._handle) {\x0d\n throw new ERR_SERVER_ALREADY_LISTEN();\x0d\n }\x0d\n\x0d\n if (netServerListen.hasSubscribers) {\x0d\n netServerListen.asyncStart.publish({ server: this\x2C options });\x0d\n }\x0d\n\x0d\n if (cb !== null) {\x0d\n this.once('listening'\x2C cb);\x0d\n }\x0d\n const backlogFromArgs =\x0d\n // (handle\x2C backlog) or (path\x2C backlog) or (port\x2C backlog)\x0d\n toNumber(args.length > 1 && args[1]) ||\x0d\n toNumber(args.length > 2 && args[2]); // (port\x2C host\x2C backlog)\x0d\n\x0d\n options = options._handle || options.handle || options;\x0d\n const flags = getFlags(options.ipv6Only);\x0d\n // Refresh the id to make the previous call invalid\x0d\n this._listeningId++;\x0d\n // (handle[\x2C backlog][\x2C cb]) where handle is an object with a handle\x0d\n if (options instanceof TCP) {\x0d\n this._handle = options;\x0d\n this[async_id_symbol] = this._handle.getAsyncId();\x0d\n listenInCluster(this\x2C null\x2C -1\x2C -1\x2C backlogFromArgs\x2C undefined\x2C true);\x0d\n return this;\x0d\n }\x0d\n addServerAbortSignalOption(this\x2C options);\x0d\n // (handle[\x2C backlog][\x2C cb]) where handle is an object with a fd\x0d\n if (typeof options.fd === 'number' && options.fd >= 0) {\x0d\n listenInCluster(this\x2C null\x2C null\x2C null\x2C backlogFromArgs\x2C options.fd);\x0d\n return this;\x0d\n }\x0d\n\x0d\n // ([port][\x2C host][\x2C backlog][\x2C cb]) where port is omitted\x2C\x0d\n // that is\x2C listen()\x2C listen(null)\x2C listen(cb)\x2C or listen(null\x2C cb)\x0d\n // or (options[\x2C cb]) where options.port is explicitly set as undefined or\x0d\n // null\x2C bind to an arbitrary unused port\x0d\n if (args.length === 0 || typeof args[0] === 'function' ||\x0d\n (typeof options.port === 'undefined' && 'port' in options) ||\x0d\n options.port === null) {\x0d\n options.port = 0;\x0d\n }\x0d\n // ([port][\x2C host][\x2C backlog][\x2C cb]) where port is specified\x0d\n // or (options[\x2C cb]) where options.port is specified\x0d\n // or if options.port is normalized as 0 before\x0d\n let backlog;\x0d\n if (typeof options.port === 'number' || typeof options.port === 'string') {\x0d\n validatePort(options.port\x2C 'options.port');\x0d\n backlog = options.backlog || backlogFromArgs;\x0d\n // start TCP server listening on host:port\x0d\n if (options.host) {\x0d\n lookupAndListen(this\x2C options.port | 0\x2C options.host\x2C backlog\x2C\x0d\n options.exclusive\x2C flags);\x0d\n } else { // Undefined host\x2C listens on unspecified address\x0d\n // Default addressType 4 will be used to search for primary server\x0d\n listenInCluster(this\x2C null\x2C options.port | 0\x2C 4\x2C\x0d\n backlog\x2C undefined\x2C options.exclusive);\x0d\n }\x0d\n return this;\x0d\n }\x0d\n\x0d\n // (path[\x2C backlog][\x2C cb]) or (options[\x2C cb])\x0d\n // where path or options.path is a UNIX domain socket or Windows pipe\x0d\n if (options.path && isPipeName(options.path)) {\x0d\n // We can not call fchmod on abstract unix socket\x0d\n if (options.path[0] === '\\0' &&\x0d\n (options.readableAll || options.writableAll)) {\x0d\n const msg = 'can not set readableAll or writableAllt to true when path is abstract unix socket';\x0d\n throw new ERR_INVALID_ARG_VALUE('options'\x2C options\x2C msg);\x0d\n }\x0d\n const pipeName = this._pipeName = options.path;\x0d\n backlog = options.backlog || backlogFromArgs;\x0d\n listenInCluster(this\x2C\x0d\n pipeName\x2C\x0d\n -1\x2C\x0d\n -1\x2C\x0d\n backlog\x2C\x0d\n undefined\x2C\x0d\n options.exclusive\x2C\x0d\n undefined\x2C\x0d\n {\x0d\n readableAll: options.readableAll\x2C\x0d\n writableAll: options.writableAll\x2C\x0d\n });\x0d\n\x0d\n if (!this._handle) {\x0d\n // Failed and an error shall be emitted in the next tick.\x0d\n // Therefore\x2C we directly return.\x0d\n return this;\x0d\n }\x0d\n\x0d\n let mode = 0;\x0d\n if (options.readableAll === true)\x0d\n mode |= PipeConstants.UV_READABLE;\x0d\n if (options.writableAll === true)\x0d\n mode |= PipeConstants.UV_WRITABLE;\x0d\n if (mode !== 0) {\x0d\n const err = this._handle.fchmod(mode);\x0d\n if (err) {\x0d\n this._handle.close();\x0d\n this._handle = null;\x0d\n throw new ErrnoException(err\x2C 'uv_pipe_chmod');\x0d\n }\x0d\n }\x0d\n return this;\x0d\n }\x0d\n\x0d\n if (!(('port' in options) || ('path' in options))) {\x0d\n throw new ERR_INVALID_ARG_VALUE('options'\x2C options\x2C\x0d\n 'must have the property "port" or "path"');\x0d\n }\x0d\n\x0d\n throw new ERR_INVALID_ARG_VALUE('options'\x2C options);\x0d\n};\x0d\n\x0d\nfunction lookupAndListen(self\x2C port\x2C address\x2C backlog\x2C\x0d\n exclusive\x2C flags) {\x0d\n if (dns === undefined) dns = require('dns');\x0d\n const listeningId = self._listeningId;\x0d\n dns.lookup(address\x2C function doListen(err\x2C ip\x2C addressType) {\x0d\n if (listeningId !== self._listeningId) {\x0d\n return;\x0d\n }\x0d\n if (err) {\x0d\n self.emit('error'\x2C err);\x0d\n } else {\x0d\n addressType = ip ? addressType : 4;\x0d\n listenInCluster(self\x2C ip\x2C port\x2C addressType\x2C\x0d\n backlog\x2C undefined\x2C exclusive\x2C flags);\x0d\n }\x0d\n });\x0d\n}\x0d\n\x0d\nObjectDefineProperty(Server.prototype\x2C 'listening'\x2C {\x0d\n __proto__: null\x2C\x0d\n get: function() {\x0d\n return !!this._handle;\x0d\n }\x2C\x0d\n configurable: true\x2C\x0d\n enumerable: true\x2C\x0d\n});\x0d\n\x0d\nServer.prototype.address = function() {\x0d\n if (this._handle && this._handle.getsockname) {\x0d\n const out = {};\x0d\n const err = this._handle.getsockname(out);\x0d\n if (err) {\x0d\n throw new ErrnoException(err\x2C 'address');\x0d\n }\x0d\n return out;\x0d\n } else if (this._pipeName) {\x0d\n return this._pipeName;\x0d\n }\x0d\n return null;\x0d\n};\x0d\n\x0d\nfunction onconnection(err\x2C clientHandle) {\x0d\n const handle = this;\x0d\n const self = handle[owner_symbol];\x0d\n\x0d\n debug('onconnection');\x0d\n\x0d\n if (err) {\x0d\n self.emit('error'\x2C new ErrnoException(err\x2C 'accept'));\x0d\n return;\x0d\n }\x0d\n\x0d\n if (self.maxConnections && self._connections >= self.maxConnections) {\x0d\n if (clientHandle.getsockname || clientHandle.getpeername) {\x0d\n const data = { __proto__: null };\x0d\n if (clientHandle.getsockname) {\x0d\n const localInfo = { __proto__: null };\x0d\n clientHandle.getsockname(localInfo);\x0d\n data.localAddress = localInfo.address;\x0d\n data.localPort = localInfo.port;\x0d\n data.localFamily = localInfo.family;\x0d\n }\x0d\n if (clientHandle.getpeername) {\x0d\n const remoteInfo = { __proto__: null };\x0d\n clientHandle.getpeername(remoteInfo);\x0d\n data.remoteAddress = remoteInfo.address;\x0d\n data.remotePort = remoteInfo.port;\x0d\n data.remoteFamily = remoteInfo.family;\x0d\n }\x0d\n self.emit('drop'\x2C data);\x0d\n } else {\x0d\n self.emit('drop');\x0d\n }\x0d\n clientHandle.close();\x0d\n return;\x0d\n }\x0d\n\x0d\n const socket = new Socket({\x0d\n handle: clientHandle\x2C\x0d\n allowHalfOpen: self.allowHalfOpen\x2C\x0d\n pauseOnCreate: self.pauseOnConnect\x2C\x0d\n readable: true\x2C\x0d\n writable: true\x2C\x0d\n readableHighWaterMark: self.highWaterMark\x2C\x0d\n writableHighWaterMark: self.highWaterMark\x2C\x0d\n });\x0d\n\x0d\n if (self.noDelay && clientHandle.setNoDelay) {\x0d\n socket[kSetNoDelay] = true;\x0d\n clientHandle.setNoDelay(true);\x0d\n }\x0d\n if (self.keepAlive && clientHandle.setKeepAlive) {\x0d\n socket[kSetKeepAlive] = true;\x0d\n socket[kSetKeepAliveInitialDelay] = self.keepAliveInitialDelay;\x0d\n clientHandle.setKeepAlive(true\x2C self.keepAliveInitialDelay);\x0d\n }\x0d\n\x0d\n self._connections++;\x0d\n socket.server = self;\x0d\n socket._server = self;\x0d\n self.emit('connection'\x2C socket);\x0d\n if (netServerSocketChannel.hasSubscribers) {\x0d\n netServerSocketChannel.publish({\x0d\n socket\x2C\x0d\n });\x0d\n }\x0d\n}\x0d\n\x0d\n/**\x0d\n * Gets the number of concurrent connections on the server\x0d\n * @param {Function} cb\x0d\n * @returns {Server}\x0d\n */\x0d\n\x0d\nServer.prototype.getConnections = function(cb) {\x0d\n const self = this;\x0d\n\x0d\n function end(err\x2C connections) {\x0d\n defaultTriggerAsyncIdScope(self[async_id_symbol]\x2C\x0d\n process.nextTick\x2C\x0d\n cb\x2C\x0d\n err\x2C\x0d\n connections);\x0d\n }\x0d\n\x0d\n if (!this._usingWorkers) {\x0d\n end(null\x2C this._connections);\x0d\n return this;\x0d\n }\x0d\n\x0d\n // Poll workers\x0d\n let left = this._workers.length;\x0d\n let total = this._connections;\x0d\n\x0d\n function oncount(err\x2C count) {\x0d\n if (err) {\x0d\n left = -1;\x0d\n return end(err);\x0d\n }\x0d\n\x0d\n total += count;\x0d\n if (--left === 0) return end(null\x2C total);\x0d\n }\x0d\n\x0d\n for (let n = 0; n < this._workers.length; n++) {\x0d\n this._workers[n].getConnections(oncount);\x0d\n }\x0d\n\x0d\n return this;\x0d\n};\x0d\n\x0d\n\x0d\nServer.prototype.close = function(cb) {\x0d\n this._listeningId++;\x0d\n if (typeof cb === 'function') {\x0d\n if (!this._handle) {\x0d\n this.once('close'\x2C function close() {\x0d\n cb(new ERR_SERVER_NOT_RUNNING());\x0d\n });\x0d\n } else {\x0d\n this.once('close'\x2C cb);\x0d\n }\x0d\n }\x0d\n\x0d\n if (this._handle) {\x0d\n this._handle.close();\x0d\n this._handle = null;\x0d\n }\x0d\n\x0d\n if (this._usingWorkers) {\x0d\n let left = this._workers.length;\x0d\n const onWorkerClose = () => {\x0d\n if (--left !== 0) return;\x0d\n\x0d\n this._connections = 0;\x0d\n this._emitCloseIfDrained();\x0d\n };\x0d\n\x0d\n // Increment connections to be sure that\x2C even if all sockets will be closed\x0d\n // during polling of workers\x2C `close` event will be emitted only once.\x0d\n this._connections++;\x0d\n\x0d\n // Poll workers\x0d\n for (let n = 0; n < this._workers.length; n++)\x0d\n this._workers[n].close(onWorkerClose);\x0d\n } else {\x0d\n this._emitCloseIfDrained();\x0d\n }\x0d\n\x0d\n return this;\x0d\n};\x0d\n\x0d\nServer.prototype[SymbolAsyncDispose] = async function() {\x0d\n if (!this._handle) {\x0d\n return;\x0d\n }\x0d\n return FunctionPrototypeCall(promisify(this.close)\x2C this);\x0d\n};\x0d\n\x0d\nServer.prototype._emitCloseIfDrained = function() {\x0d\n debug('SERVER _emitCloseIfDrained');\x0d\n\x0d\n if (this._handle || this._connections) {\x0d\n debug('SERVER handle? %j connections? %d'\x2C\x0d\n !!this._handle\x2C this._connections);\x0d\n return;\x0d\n }\x0d\n\x0d\n defaultTriggerAsyncIdScope(this[async_id_symbol]\x2C\x0d\n process.nextTick\x2C\x0d\n emitCloseNT\x2C\x0d\n this);\x0d\n};\x0d\n\x0d\n\x0d\nfunction emitCloseNT(self) {\x0d\n debug('SERVER: emit close');\x0d\n self.emit('close');\x0d\n}\x0d\n\x0d\n\x0d\nServer.prototype[EventEmitter.captureRejectionSymbol] = function(\x0d\n err\x2C event\x2C sock) {\x0d\n\x0d\n switch (event) {\x0d\n case 'connection':\x0d\n sock.destroy(err);\x0d\n break;\x0d\n default:\x0d\n this.emit('error'\x2C err);\x0d\n }\x0d\n};\x0d\n\x0d\n\x0d\n// Legacy alias on the C++ wrapper object. This is not public API\x2C so we may\x0d\n// want to runtime-deprecate it at some point. There's no hurry\x2C though.\x0d\nObjectDefineProperty(TCP.prototype\x2C 'owner'\x2C {\x0d\n __proto__: null\x2C\x0d\n get() { return this[owner_symbol]; }\x2C\x0d\n set(v) { return this[owner_symbol] = v; }\x2C\x0d\n});\x0d\n\x0d\nObjectDefineProperty(Socket.prototype\x2C '_handle'\x2C {\x0d\n __proto__: null\x2C\x0d\n get() { return this[kHandle]; }\x2C\x0d\n set(v) { return this[kHandle] = v; }\x2C\x0d\n});\x0d\n\x0d\nServer.prototype._setupWorker = function(socketList) {\x0d\n this._usingWorkers = true;\x0d\n this._workers.push(socketList);\x0d\n socketList.once('exit'\x2C (socketList) => {\x0d\n const index = ArrayPrototypeIndexOf(this._workers\x2C socketList);\x0d\n this._workers.splice(index\x2C 1);\x0d\n });\x0d\n};\x0d\n\x0d\nServer.prototype.ref = function() {\x0d\n this._unref = false;\x0d\n\x0d\n if (this._handle)\x0d\n this._handle.ref();\x0d\n\x0d\n return this;\x0d\n};\x0d\n\x0d\nServer.prototype.unref = function() {\x0d\n this._unref = true;\x0d\n\x0d\n if (this._handle)\x0d\n this._handle.unref();\x0d\n\x0d\n return this;\x0d\n};\x0d\n\x0d\nlet _setSimultaneousAccepts;\x0d\nlet warnSimultaneousAccepts = true;\x0d\n\x0d\nif (isWindows) {\x0d\n let simultaneousAccepts;\x0d\n\x0d\n _setSimultaneousAccepts = function(handle) {\x0d\n if (warnSimultaneousAccepts) {\x0d\n process.emitWarning(\x0d\n 'net._setSimultaneousAccepts() is deprecated and will be removed.'\x2C\x0d\n 'DeprecationWarning'\x2C 'DEP0121');\x0d\n warnSimultaneousAccepts = false;\x0d\n }\x0d\n if (handle === undefined) {\x0d\n return;\x0d\n }\x0d\n\x0d\n if (simultaneousAccepts === undefined) {\x0d\n simultaneousAccepts = (process.env.NODE_MANY_ACCEPTS &&\x0d\n process.env.NODE_MANY_ACCEPTS !== '0');\x0d\n }\x0d\n\x0d\n if (handle._simultaneousAccepts !== simultaneousAccepts) {\x0d\n handle.setSimultaneousAccepts(!!simultaneousAccepts);\x0d\n handle._simultaneousAccepts = simultaneousAccepts;\x0d\n }\x0d\n };\x0d\n} else {\x0d\n _setSimultaneousAccepts = function() {\x0d\n if (warnSimultaneousAccepts) {\x0d\n process.emitWarning(\x0d\n 'net._setSimultaneousAccepts() is deprecated and will be removed.'\x2C\x0d\n 'DeprecationWarning'\x2C 'DEP0121');\x0d\n warnSimultaneousAccepts = false;\x0d\n }\x0d\n };\x0d\n}\x0d\n\x0d\nmodule.exports = {\x0d\n _createServerHandle: createServerHandle\x2C\x0d\n _normalizeArgs: normalizeArgs\x2C\x0d\n _setSimultaneousAccepts\x2C\x0d\n get BlockList() {\x0d\n BlockList ??= require('internal/blocklist').BlockList;\x0d\n return BlockList;\x0d\n }\x2C\x0d\n get SocketAddress() {\x0d\n SocketAddress ??= require('internal/socketaddress').SocketAddress;\x0d\n return SocketAddress;\x0d\n }\x2C\x0d\n connect\x2C\x0d\n createConnection: connect\x2C\x0d\n createServer\x2C\x0d\n isIP: isIP\x2C\x0d\n isIPv4: isIPv4\x2C\x0d\n isIPv6: isIPv6\x2C\x0d\n Server\x2C\x0d\n Socket\x2C\x0d\n Stream: Socket\x2C // Legacy naming\x0d\n getDefaultAutoSelectFamily\x2C\x0d\n setDefaultAutoSelectFamily\x2C\x0d\n getDefaultAutoSelectFamilyAttemptTimeout\x2C\x0d\n setDefaultAutoSelectFamilyAttemptTimeout\x2C\x0d\n};\x0d\n
code-source-info,0x23c5197edd6,86,0,70883,C0O0C4O70883,,
code-creation,JS,10,317891,0x77b20cb6ae,3704, node:net:1:1,0x23c5197ed50,~
code-source-info,0x77b20cb6ae,86,0,70883,C0O0C568O1183C574O1200C580O1227C586O1253C592O1276C598O1288C604O1314C610O1340C616O1352C622O1363C628O1379C634O1398C640O1423C645O1448C650O1459C655O1482C661O1539C669O1539C673O1539C675O1588C683O1588C689O1567C695O1647C703O1647C707O1647C709O1679C717O1679C723O1712C739O1713C745O1679C747O1871C755O1871C761O1771C767O1795C773O1804C778O1815C783O1826C789O1851C795O1912C803O1912C807O1912C809O2036C813O2036C819O1952C825O1970C831O1984C837O2000C843O2017C849O2081C857O2081C863O2070C869O2126C873O2126C879O2109C885O2227C889O2227C895O2170C901O2178C907O2208C913O2328C917O2328C923O2268C929O2277C935O2308C941O2465C949O2465C955O2370C961O2385C967O2425C973O2427C979O2444C985O2676C993O2676C999O2510C1005O2528C1011O2545C1017O2562C1022O2583C1028O2595C1033O2612C1038O2633C1044O2645C1050O2659C1056O3225C1064O3225C1070O2736C1076O2743C1082O2776C1088O2803C1094O2831C1100O2857C1106O2886C1112O2916C1118O2948C1124O2977C1130O3013C1136O3037C1142O3079C1148O3106C1154O3125C1160O3151C1166O3172C1172O3195C1178O3279C1186O3279C1192O3262C1198O3339C1206O3339C1212O3320C1218O3434C1226O3434C1232O3389C1238O3403C1244O3420C1250O3612C1258O3612C1264O3472C1270O3496C1276O3516C1282O3537C1288O3555C1294O3574C1300O3591C1306O3673C1310O3673C1314O3673C1316O3731C1324O3731C1330O3712C1335O3815C1336O3815C1338O3829C1339O3829C1341O3839C1342O3839C1344O3855C1345O3855C1347O3901C1351O3901C1355O3901C1357O3996C1361O3996C1365O3996C1367O4102C1375O4102C1381O4073C1387O4087C1393O4143C1401O4143C1407O4130C1413O4200C1415O4200C1417O4238C1419O4238C1421O4265C1425O4273C1433O4282C1436O4265C1438O4311C1442O4311C1444O4360C1448O4360C1452O4360C1454O4413C1462O4413C1467O4480C1477O4480C1482O4477C1484O4545C1494O4545C1499O4542C1501O4603C1511O4603C1516O4600C1518O4699C1526O4699C1532O4654C1538O4670C1544O4684C1550O4770C1558O4770C1564O4742C1570O9376C1574O9376C1578O9376C1580O9421C1584O9421C1588O9421C1590O9467C1594O9467C1598O9467C1600O9513C1604O9513C1612O9513C1614O9573C1618O9573C1626O9573C1628O14389C1632O14417C1646O14435C1656O14442C1666O14389C1676O14455C1684O14491C1694O14455C1704O14534C1708O14541C1722O14563C1730O14799C1734O14806C1748O14823C1756O16368C1760O16375C1772O16396C1780O16421C1784O16428C1798O16449C1806O16977C1810O16984C1824O17005C1832O17406C1836O17413C1850O17436C1858O18077C1862O18084C1876O18102C1884O18157C1892O18185C1915O18241C1927O18157C1937O18297C1945O18325C1968O18372C1980O18297C1990O18465C1998O18493C2021O18548C2033O18465C2043O18886C2051O18914C2074O18969C2086O18886C2096O19063C2104O19091C2114O19102C2123O19146C2138O19063C2148O19532C2152O19539C2166O19555C2174O19896C2178O19903C2192O19917C2200O20084C2204O20091C2218O20117C2226O20488C2230O20495C2244O20511C2252O20869C2256O20876C2270O20893C2278O21092C2282O21099C2296O21114C2304O21468C2308O21475C2322O21497C2330O21661C2334O21668C2348O21687C2356O23260C2360O23267C2374O23284C2382O23394C2386O23401C2400O23424C2408O23931C2418O23931C2428O24055C2438O24055C2448O24158C2458O24158C2468O24258C2478O24258C2488O24354C2492O24361C2506O24384C2514O24678C2524O24678C2534O24781C2544O24781C2554O24873C2564O24873C2574O24971C2578O24978C2588O24988C2592O25006C2600O25062C2604O25069C2618O25093C2626O26048C2630O26055C2644O26073C2652O26152C2656O26159C2670O26176C2678O26427C2688O26427C2698O26571C2708O26571C2718O33602C2722O33609C2736O33627C2744O35290C2748O35297C2762O35307C2766O35328C2774O44003C2778O44010C2795O44024C2803O44231C2807O44238C2824O44254C2832O51182C2836O51210C2850O51234C2860O51182C2870O51247C2878O51247C2888O55725C2892O55732C2904O55751C2912O57623C2916O57630C2933O57647C2941O62698C2949O62726C2974O62780C2989O62698C2999O62879C3003O62886C3020O62904C3028O65307C3032O65314C3049O65339C3057O66136C3061O66143C3078O66159C3086O67094C3090O67101C3100O67111C3107O67131C3115O67263C3119O67270C3136O67300C3144O67800C3148O67807C3162O67830C3179O67854C3187O68187C3195O68212C3220O68257C3235O68298C3250O68187C3260O68349C3268O68377C3293O68424C3308O68460C3323O68349C3333O68506C3337O68513C3354O68536C3362O68791C3366O68798C3383O68812C3391O68924C3395O68931C3412O68947C3420O69064C3423O69120C3424O69120C3426O69129C3441O69153C3442O69153C3444O69179C3459O69909C3468O70191C3479O70234C3489O70273C3499O70291C3509O70559C3519O70589C3529O70601C3539O70624C3549O70641C3559O70660C3569O70671C3579O70682C3589O70701C3599O70729C3609O70760C3619O70791C3629O70836C3694O70206C3703O70882,,
tick,0x7ff7b943c9d5,319015,1,0x7ff7b8fa3800,3,0x7ff7b99b2970,0x7ff739bc3f26,0x7ff739bc3ca1,0x23c5197b002,0x7ff739bc3feb,0x7ff739bc3ca1,0x23c5197a0be,0x23c519791af,0x23c51978faf,0x23c51978e96,0x23c51978d5e,0x7ff7b8e135d0,0x23c5197894b,0x23c519693ae,0x23c51968a11,0x23c51942948
code-creation,Eval,10,320257,0x77b20d2d0e,5, node:stream:1:1,0x77b20d2b08,~
script-source,87,node:stream,// Copyright Joyent\x2C Inc. and other Node contributors.\x0d\n//\x0d\n// Permission is hereby granted\x2C free of charge\x2C to any person obtaining a\x0d\n// copy of this software and associated documentation files (the\x0d\n// "Software")\x2C to deal in the Software without restriction\x2C including\x0d\n// without limitation the rights to use\x2C copy\x2C modify\x2C merge\x2C publish\x2C\x0d\n// distribute\x2C sublicense\x2C and/or sell copies of the Software\x2C and to permit\x0d\n// persons to whom the Software is furnished to do so\x2C subject to the\x0d\n// following conditions:\x0d\n//\x0d\n// The above copyright notice and this permission notice shall be included\x0d\n// in all copies or substantial portions of the Software.\x0d\n//\x0d\n// THE SOFTWARE IS PROVIDED "AS IS"\x2C WITHOUT WARRANTY OF ANY KIND\x2C EXPRESS\x0d\n// OR IMPLIED\x2C INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\x0d\n// MERCHANTABILITY\x2C FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\x0d\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM\x2C\x0d\n// DAMAGES OR OTHER LIABILITY\x2C WHETHER IN AN ACTION OF CONTRACT\x2C TORT OR\x0d\n// OTHERWISE\x2C ARISING FROM\x2C OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\x0d\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\x0d\n\x0d\n'use strict';\x0d\n\x0d\nconst {\x0d\n ObjectDefineProperty\x2C\x0d\n ObjectKeys\x2C\x0d\n ReflectApply\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst {\x0d\n promisify: { custom: customPromisify }\x2C\x0d\n} = require('internal/util');\x0d\n\x0d\nconst {\x0d\n streamReturningOperators\x2C\x0d\n promiseReturningOperators\x2C\x0d\n} = require('internal/streams/operators');\x0d\n\x0d\nconst {\x0d\n codes: {\x0d\n ERR_ILLEGAL_CONSTRUCTOR\x2C\x0d\n }\x2C\x0d\n} = require('internal/errors');\x0d\nconst compose = require('internal/streams/compose');\x0d\nconst { setDefaultHighWaterMark\x2C getDefaultHighWaterMark } = require('internal/streams/state');\x0d\nconst { pipeline } = require('internal/streams/pipeline');\x0d\nconst { destroyer } = require('internal/streams/destroy');\x0d\nconst eos = require('internal/streams/end-of-stream');\x0d\nconst internalBuffer = require('internal/buffer');\x0d\n\x0d\nconst promises = require('stream/promises');\x0d\nconst utils = require('internal/streams/utils');\x0d\nconst { isArrayBufferView\x2C isUint8Array } = require('internal/util/types');\x0d\n\x0d\nconst Stream = module.exports = require('internal/streams/legacy').Stream;\x0d\n\x0d\nStream.isDestroyed = utils.isDestroyed;\x0d\nStream.isDisturbed = utils.isDisturbed;\x0d\nStream.isErrored = utils.isErrored;\x0d\nStream.isReadable = utils.isReadable;\x0d\nStream.isWritable = utils.isWritable;\x0d\n\x0d\nStream.Readable = require('internal/streams/readable');\x0d\nfor (const key of ObjectKeys(streamReturningOperators)) {\x0d\n const op = streamReturningOperators[key];\x0d\n function fn(...args) {\x0d\n if (new.target) {\x0d\n throw new ERR_ILLEGAL_CONSTRUCTOR();\x0d\n }\x0d\n return Stream.Readable.from(ReflectApply(op\x2C this\x2C args));\x0d\n }\x0d\n ObjectDefineProperty(fn\x2C 'name'\x2C { __proto__: null\x2C value: op.name });\x0d\n ObjectDefineProperty(fn\x2C 'length'\x2C { __proto__: null\x2C value: op.length });\x0d\n ObjectDefineProperty(Stream.Readable.prototype\x2C key\x2C {\x0d\n __proto__: null\x2C\x0d\n value: fn\x2C\x0d\n enumerable: false\x2C\x0d\n configurable: true\x2C\x0d\n writable: true\x2C\x0d\n });\x0d\n}\x0d\nfor (const key of ObjectKeys(promiseReturningOperators)) {\x0d\n const op = promiseReturningOperators[key];\x0d\n function fn(...args) {\x0d\n if (new.target) {\x0d\n throw new ERR_ILLEGAL_CONSTRUCTOR();\x0d\n }\x0d\n return ReflectApply(op\x2C this\x2C args);\x0d\n }\x0d\n ObjectDefineProperty(fn\x2C 'name'\x2C { __proto__: null\x2C value: op.name });\x0d\n ObjectDefineProperty(fn\x2C 'length'\x2C { __proto__: null\x2C value: op.length });\x0d\n ObjectDefineProperty(Stream.Readable.prototype\x2C key\x2C {\x0d\n __proto__: null\x2C\x0d\n value: fn\x2C\x0d\n enumerable: false\x2C\x0d\n configurable: true\x2C\x0d\n writable: true\x2C\x0d\n });\x0d\n}\x0d\nStream.Writable = require('internal/streams/writable');\x0d\nStream.Duplex = require('internal/streams/duplex');\x0d\nStream.Transform = require('internal/streams/transform');\x0d\nStream.PassThrough = require('internal/streams/passthrough');\x0d\nStream.duplexPair = require('internal/streams/duplexpair');\x0d\nStream.pipeline = pipeline;\x0d\nconst { addAbortSignal } = require('internal/streams/add-abort-signal');\x0d\nStream.addAbortSignal = addAbortSignal;\x0d\nStream.finished = eos;\x0d\nStream.destroy = destroyer;\x0d\nStream.compose = compose;\x0d\nStream.setDefaultHighWaterMark = setDefaultHighWaterMark;\x0d\nStream.getDefaultHighWaterMark = getDefaultHighWaterMark;\x0d\n\x0d\nObjectDefineProperty(Stream\x2C 'promises'\x2C {\x0d\n __proto__: null\x2C\x0d\n configurable: true\x2C\x0d\n enumerable: true\x2C\x0d\n get() {\x0d\n return promises;\x0d\n }\x2C\x0d\n});\x0d\n\x0d\nObjectDefineProperty(pipeline\x2C customPromisify\x2C {\x0d\n __proto__: null\x2C\x0d\n enumerable: true\x2C\x0d\n get() {\x0d\n return promises.pipeline;\x0d\n }\x2C\x0d\n});\x0d\n\x0d\nObjectDefineProperty(eos\x2C customPromisify\x2C {\x0d\n __proto__: null\x2C\x0d\n enumerable: true\x2C\x0d\n get() {\x0d\n return promises.finished;\x0d\n }\x2C\x0d\n});\x0d\n\x0d\n// Backwards-compat with node 0.4.x\x0d\nStream.Stream = Stream;\x0d\n\x0d\nStream._isArrayBufferView = isArrayBufferView;\x0d\nStream._isUint8Array = isUint8Array;\x0d\nStream._uint8ArrayToBuffer = function _uint8ArrayToBuffer(chunk) {\x0d\n return new internalBuffer.FastBuffer(chunk.buffer\x2C\x0d\n chunk.byteOffset\x2C\x0d\n chunk.byteLength);\x0d\n};\x0d\n
code-source-info,0x77b20d2d0e,87,0,5092,C0O0C4O5092,,
code-creation,JS,10,320901,0x77b20d344e,1107, node:stream:1:1,0x77b20d2c88,~
code-source-info,0x77b20d344e,87,0,5092,C0O0C20O1183C25O1208C30O1223C36O1314C40O1314C46O1280C52O1290C57O1415C61O1415C67O1354C72O1383C77O1518C81O1518C87O1475C93O1482C99O1563C103O1563C108O1662C112O1662C118O1609C123O1634C128O1719C132O1719C138O1706C143O1780C147O1780C153O1766C158O1830C162O1830C167O1897C171O1897C175O1897C177O1945C181O1945C185O1945C187O1988C191O1988C196O2068C200O2068C206O2032C211O2051C216O2118C220O2135C226O2169C232O2133C238O2118C240O2181C244O2208C248O2200C252O2222C256O2249C260O2241C264O2263C268O2288C272O2280C276O2300C280O2326C284O2318C288O2339C292O2365C296O2357C300O2380C308O2398C312O2396C316O2455C343O2448C374O2448C377O2448C390O2509C392O2533C395O2509C397O2712C401O2733C411O2774C422O2712C427O2786C431O2807C441O2850C452O2786C457O2864C463O2892C469O2901C475O2912C483O2953C490O2864C497O2437C569O3056C596O3049C627O3049C630O3049C643O3111C645O3136C648O3111C650O3293C654O3314C664O3355C675O3293C680O3367C684O3388C694O3431C705O3367C710O3445C716O3473C722O3482C728O3493C736O3534C743O3445C750O3038C822O3619C830O3637C834O3635C838O3676C846O3692C850O3690C854O3729C862O3748C866O3746C870O3788C878O3809C882O3807C886O3851C894O3871C898O3869C902O3912C908O3928C912O3968C916O3968C922O3949C928O4015C934O4037C938O4056C944O4072C948O4080C954O4095C958O4109C964O4124C968O4136C974O4167C978O4195C984O4226C988O4256C996O4277C1002O4366C1010O4256C1015O4441C1021O4504C1035O4410C1040O4583C1046O4646C1060O4557C1065O4736C1069O4750C1073O4763C1079O4789C1083O4811C1089O4832C1093O4849C1101O4876C1106O5091,,
code-creation,Eval,10,322288,0x77b20d4916,5, node:internal/streams/operators:1:1,0x77b20d45d0,~
script-source,88,node:internal/streams/operators,'use strict';\x0d\n\x0d\nconst { AbortController\x2C AbortSignal } = require('internal/abort_controller');\x0d\n\x0d\nconst {\x0d\n codes: {\x0d\n ERR_INVALID_ARG_VALUE\x2C\x0d\n ERR_INVALID_ARG_TYPE\x2C\x0d\n ERR_MISSING_ARGS\x2C\x0d\n ERR_OUT_OF_RANGE\x2C\x0d\n }\x2C\x0d\n AbortError\x2C\x0d\n} = require('internal/errors');\x0d\nconst {\x0d\n validateAbortSignal\x2C\x0d\n validateInteger\x2C\x0d\n validateObject\x2C\x0d\n} = require('internal/validators');\x0d\nconst { kWeakHandler\x2C kResistStopPropagation } = require('internal/event_target');\x0d\nconst { finished } = require('internal/streams/end-of-stream');\x0d\nconst staticCompose = require('internal/streams/compose');\x0d\nconst {\x0d\n addAbortSignalNoValidate\x2C\x0d\n} = require('internal/streams/add-abort-signal');\x0d\nconst { isWritable\x2C isNodeStream } = require('internal/streams/utils');\x0d\nconst { deprecate } = require('internal/util');\x0d\n\x0d\nconst {\x0d\n ArrayPrototypePush\x2C\x0d\n Boolean\x2C\x0d\n MathFloor\x2C\x0d\n Number\x2C\x0d\n NumberIsNaN\x2C\x0d\n Promise\x2C\x0d\n PromiseReject\x2C\x0d\n PromiseResolve\x2C\x0d\n PromisePrototypeThen\x2C\x0d\n Symbol\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst kEmpty = Symbol('kEmpty');\x0d\nconst kEof = Symbol('kEof');\x0d\n\x0d\nfunction compose(stream\x2C options) {\x0d\n if (options != null) {\x0d\n validateObject(options\x2C 'options');\x0d\n }\x0d\n if (options?.signal != null) {\x0d\n validateAbortSignal(options.signal\x2C 'options.signal');\x0d\n }\x0d\n\x0d\n if (isNodeStream(stream) && !isWritable(stream)) {\x0d\n throw new ERR_INVALID_ARG_VALUE('stream'\x2C stream\x2C 'must be writable');\x0d\n }\x0d\n\x0d\n const composedStream = staticCompose(this\x2C stream);\x0d\n\x0d\n if (options?.signal) {\x0d\n // Not validating as we already validated before\x0d\n addAbortSignalNoValidate(\x0d\n options.signal\x2C\x0d\n composedStream\x2C\x0d\n );\x0d\n }\x0d\n\x0d\n return composedStream;\x0d\n}\x0d\n\x0d\nfunction map(fn\x2C options) {\x0d\n if (typeof fn !== 'function') {\x0d\n throw new ERR_INVALID_ARG_TYPE(\x0d\n 'fn'\x2C ['Function'\x2C 'AsyncFunction']\x2C fn);\x0d\n }\x0d\n if (options != null) {\x0d\n validateObject(options\x2C 'options');\x0d\n }\x0d\n if (options?.signal != null) {\x0d\n validateAbortSignal(options.signal\x2C 'options.signal');\x0d\n }\x0d\n\x0d\n let concurrency = 1;\x0d\n if (options?.concurrency != null) {\x0d\n concurrency = MathFloor(options.concurrency);\x0d\n }\x0d\n\x0d\n let highWaterMark = concurrency - 1;\x0d\n if (options?.highWaterMark != null) {\x0d\n highWaterMark = MathFloor(options.highWaterMark);\x0d\n }\x0d\n\x0d\n validateInteger(concurrency\x2C 'options.concurrency'\x2C 1);\x0d\n validateInteger(highWaterMark\x2C 'options.highWaterMark'\x2C 0);\x0d\n\x0d\n highWaterMark += concurrency;\x0d\n\x0d\n return async function* map() {\x0d\n const signal = AbortSignal.any([options?.signal].filter(Boolean));\x0d\n const stream = this;\x0d\n const queue = [];\x0d\n const signalOpt = { signal };\x0d\n\x0d\n let next;\x0d\n let resume;\x0d\n let done = false;\x0d\n let cnt = 0;\x0d\n\x0d\n function onCatch() {\x0d\n done = true;\x0d\n afterItemProcessed();\x0d\n }\x0d\n\x0d\n function afterItemProcessed() {\x0d\n cnt -= 1;\x0d\n maybeResume();\x0d\n }\x0d\n\x0d\n function maybeResume() {\x0d\n if (\x0d\n resume &&\x0d\n !done &&\x0d\n cnt < concurrency &&\x0d\n queue.length < highWaterMark\x0d\n ) {\x0d\n resume();\x0d\n resume = null;\x0d\n }\x0d\n }\x0d\n\x0d\n async function pump() {\x0d\n try {\x0d\n for await (let val of stream) {\x0d\n if (done) {\x0d\n return;\x0d\n }\x0d\n\x0d\n if (signal.aborted) {\x0d\n throw new AbortError();\x0d\n }\x0d\n\x0d\n try {\x0d\n val = fn(val\x2C signalOpt);\x0d\n\x0d\n if (val === kEmpty) {\x0d\n continue;\x0d\n }\x0d\n\x0d\n val = PromiseResolve(val);\x0d\n } catch (err) {\x0d\n val = PromiseReject(err);\x0d\n }\x0d\n\x0d\n cnt += 1;\x0d\n\x0d\n PromisePrototypeThen(val\x2C afterItemProcessed\x2C onCatch);\x0d\n\x0d\n queue.push(val);\x0d\n if (next) {\x0d\n next();\x0d\n next = null;\x0d\n }\x0d\n\x0d\n if (!done && (queue.length >= highWaterMark || cnt >= concurrency)) {\x0d\n await new Promise((resolve) => {\x0d\n resume = resolve;\x0d\n });\x0d\n }\x0d\n }\x0d\n queue.push(kEof);\x0d\n } catch (err) {\x0d\n const val = PromiseReject(err);\x0d\n PromisePrototypeThen(val\x2C afterItemProcessed\x2C onCatch);\x0d\n queue.push(val);\x0d\n } finally {\x0d\n done = true;\x0d\n if (next) {\x0d\n next();\x0d\n next = null;\x0d\n }\x0d\n }\x0d\n }\x0d\n\x0d\n pump();\x0d\n\x0d\n try {\x0d\n while (true) {\x0d\n while (queue.length > 0) {\x0d\n const val = await queue[0];\x0d\n\x0d\n if (val === kEof) {\x0d\n return;\x0d\n }\x0d\n\x0d\n if (signal.aborted) {\x0d\n throw new AbortError();\x0d\n }\x0d\n\x0d\n if (val !== kEmpty) {\x0d\n yield val;\x0d\n }\x0d\n\x0d\n queue.shift();\x0d\n maybeResume();\x0d\n }\x0d\n\x0d\n await new Promise((resolve) => {\x0d\n next = resolve;\x0d\n });\x0d\n }\x0d\n } finally {\x0d\n done = true;\x0d\n if (resume) {\x0d\n resume();\x0d\n resume = null;\x0d\n }\x0d\n }\x0d\n }.call(this);\x0d\n}\x0d\n\x0d\nfunction asIndexedPairs(options = undefined) {\x0d\n if (options != null) {\x0d\n validateObject(options\x2C 'options');\x0d\n }\x0d\n if (options?.signal != null) {\x0d\n validateAbortSignal(options.signal\x2C 'options.signal');\x0d\n }\x0d\n\x0d\n return async function* asIndexedPairs() {\x0d\n let index = 0;\x0d\n for await (const val of this) {\x0d\n if (options?.signal?.aborted) {\x0d\n throw new AbortError({ cause: options.signal.reason });\x0d\n }\x0d\n yield [index++\x2C val];\x0d\n }\x0d\n }.call(this);\x0d\n}\x0d\n\x0d\nasync function some(fn\x2C options = undefined) {\x0d\n for await (const unused of filter.call(this\x2C fn\x2C options)) {\x0d\n return true;\x0d\n }\x0d\n return false;\x0d\n}\x0d\n\x0d\nasync function every(fn\x2C options = undefined) {\x0d\n if (typeof fn !== 'function') {\x0d\n throw new ERR_INVALID_ARG_TYPE(\x0d\n 'fn'\x2C ['Function'\x2C 'AsyncFunction']\x2C fn);\x0d\n }\x0d\n // https://en.wikipedia.org/wiki/De_Morgan%27s_laws\x0d\n return !(await some.call(this\x2C async (...args) => {\x0d\n return !(await fn(...args));\x0d\n }\x2C options));\x0d\n}\x0d\n\x0d\nasync function find(fn\x2C options) {\x0d\n for await (const result of filter.call(this\x2C fn\x2C options)) {\x0d\n return result;\x0d\n }\x0d\n return undefined;\x0d\n}\x0d\n\x0d\nasync function forEach(fn\x2C options) {\x0d\n if (typeof fn !== 'function') {\x0d\n throw new ERR_INVALID_ARG_TYPE(\x0d\n 'fn'\x2C ['Function'\x2C 'AsyncFunction']\x2C fn);\x0d\n }\x0d\n async function forEachFn(value\x2C options) {\x0d\n await fn(value\x2C options);\x0d\n return kEmpty;\x0d\n }\x0d\n // eslint-disable-next-line no-unused-vars\x0d\n for await (const unused of map.call(this\x2C forEachFn\x2C options));\x0d\n}\x0d\n\x0d\nfunction filter(fn\x2C options) {\x0d\n if (typeof fn !== 'function') {\x0d\n throw new ERR_INVALID_ARG_TYPE(\x0d\n 'fn'\x2C ['Function'\x2C 'AsyncFunction']\x2C fn);\x0d\n }\x0d\n async function filterFn(value\x2C options) {\x0d\n if (await fn(value\x2C options)) {\x0d\n return value;\x0d\n }\x0d\n return kEmpty;\x0d\n }\x0d\n return map.call(this\x2C filterFn\x2C options);\x0d\n}\x0d\n\x0d\n// Specific to provide better error to reduce since the argument is only\x0d\n// missing if the stream has no items in it - but the code is still appropriate\x0d\nclass ReduceAwareErrMissingArgs extends ERR_MISSING_ARGS {\x0d\n constructor() {\x0d\n super('reduce');\x0d\n this.message = 'Reduce of an empty stream requires an initial value';\x0d\n }\x0d\n}\x0d\n\x0d\nasync function reduce(reducer\x2C initialValue\x2C options) {\x0d\n if (typeof reducer !== 'function') {\x0d\n throw new ERR_INVALID_ARG_TYPE(\x0d\n 'reducer'\x2C ['Function'\x2C 'AsyncFunction']\x2C reducer);\x0d\n }\x0d\n if (options != null) {\x0d\n validateObject(options\x2C 'options');\x0d\n }\x0d\n if (options?.signal != null) {\x0d\n validateAbortSignal(options.signal\x2C 'options.signal');\x0d\n }\x0d\n\x0d\n let hasInitialValue = arguments.length > 1;\x0d\n if (options?.signal?.aborted) {\x0d\n const err = new AbortError(undefined\x2C { cause: options.signal.reason });\x0d\n this.once('error'\x2C () => {}); // The error is already propagated\x0d\n await finished(this.destroy(err));\x0d\n throw err;\x0d\n }\x0d\n const ac = new AbortController();\x0d\n const signal = ac.signal;\x0d\n if (options?.signal) {\x0d\n const opts = { once: true\x2C [kWeakHandler]: this\x2C [kResistStopPropagation]: true };\x0d\n options.signal.addEventListener('abort'\x2C () => ac.abort()\x2C opts);\x0d\n }\x0d\n let gotAnyItemFromStream = false;\x0d\n try {\x0d\n for await (const value of this) {\x0d\n gotAnyItemFromStream = true;\x0d\n if (options?.signal?.aborted) {\x0d\n throw new AbortError();\x0d\n }\x0d\n if (!hasInitialValue) {\x0d\n initialValue = value;\x0d\n hasInitialValue = true;\x0d\n } else {\x0d\n initialValue = await reducer(initialValue\x2C value\x2C { signal });\x0d\n }\x0d\n }\x0d\n if (!gotAnyItemFromStream && !hasInitialValue) {\x0d\n throw new ReduceAwareErrMissingArgs();\x0d\n }\x0d\n } finally {\x0d\n ac.abort();\x0d\n }\x0d\n return initialValue;\x0d\n}\x0d\n\x0d\nasync function toArray(options) {\x0d\n if (options != null) {\x0d\n validateObject(options\x2C 'options');\x0d\n }\x0d\n if (options?.signal != null) {\x0d\n validateAbortSignal(options.signal\x2C 'options.signal');\x0d\n }\x0d\n\x0d\n const result = [];\x0d\n for await (const val of this) {\x0d\n if (options?.signal?.aborted) {\x0d\n throw new AbortError(undefined\x2C { cause: options.signal.reason });\x0d\n }\x0d\n ArrayPrototypePush(result\x2C val);\x0d\n }\x0d\n return result;\x0d\n}\x0d\n\x0d\nfunction flatMap(fn\x2C options) {\x0d\n const values = map.call(this\x2C fn\x2C options);\x0d\n return async function* flatMap() {\x0d\n for await (const val of values) {\x0d\n yield* val;\x0d\n }\x0d\n }.call(this);\x0d\n}\x0d\n\x0d\nfunction toIntegerOrInfinity(number) {\x0d\n // We coerce here to align with the spec\x0d\n // https://github.com/tc39/proposal-iterator-helpers/issues/169\x0d\n number = Number(number);\x0d\n if (NumberIsNaN(number)) {\x0d\n return 0;\x0d\n }\x0d\n if (number < 0) {\x0d\n throw new ERR_OUT_OF_RANGE('number'\x2C '>= 0'\x2C number);\x0d\n }\x0d\n return number;\x0d\n}\x0d\n\x0d\nfunction drop(number\x2C options = undefined) {\x0d\n if (options != null) {\x0d\n validateObject(options\x2C 'options');\x0d\n }\x0d\n if (options?.signal != null) {\x0d\n validateAbortSignal(options.signal\x2C 'options.signal');\x0d\n }\x0d\n\x0d\n number = toIntegerOrInfinity(number);\x0d\n return async function* drop() {\x0d\n if (options?.signal?.aborted) {\x0d\n throw new AbortError();\x0d\n }\x0d\n for await (const val of this) {\x0d\n if (options?.signal?.aborted) {\x0d\n throw new AbortError();\x0d\n }\x0d\n if (number-- <= 0) {\x0d\n yield val;\x0d\n }\x0d\n }\x0d\n }.call(this);\x0d\n}\x0d\n\x0d\nfunction take(number\x2C options = undefined) {\x0d\n if (options != null) {\x0d\n validateObject(options\x2C 'options');\x0d\n }\x0d\n if (options?.signal != null) {\x0d\n validateAbortSignal(options.signal\x2C 'options.signal');\x0d\n }\x0d\n\x0d\n number = toIntegerOrInfinity(number);\x0d\n return async function* take() {\x0d\n if (options?.signal?.aborted) {\x0d\n throw new AbortError();\x0d\n }\x0d\n for await (const val of this) {\x0d\n if (options?.signal?.aborted) {\x0d\n throw new AbortError();\x0d\n }\x0d\n if (number-- > 0) {\x0d\n yield val;\x0d\n }\x0d\n\x0d\n // Don't get another item from iterator in case we reached the end\x0d\n if (number <= 0) {\x0d\n return;\x0d\n }\x0d\n }\x0d\n }.call(this);\x0d\n}\x0d\n\x0d\nmodule.exports.streamReturningOperators = {\x0d\n asIndexedPairs: deprecate(asIndexedPairs\x2C 'readable.asIndexedPairs will be removed in a future version.')\x2C\x0d\n drop\x2C\x0d\n filter\x2C\x0d\n flatMap\x2C\x0d\n map\x2C\x0d\n take\x2C\x0d\n compose\x2C\x0d\n};\x0d\n\x0d\nmodule.exports.promiseReturningOperators = {\x0d\n every\x2C\x0d\n forEach\x2C\x0d\n reduce\x2C\x0d\n toArray\x2C\x0d\n some\x2C\x0d\n find\x2C\x0d\n};\x0d\n
code-source-info,0x77b20d4916,88,0,11229,C0O0C4O11229,,
code-creation,JS,10,323625,0x77b20d5426,560, node:internal/streams/operators:1:1,0x77b20d4890,~
code-source-info,0x77b20d5426,88,0,11229,C0O0C163O58C166O58C171O25C177O42C183O246C186O246C191O117C196O124C202O152C208O179C213O202C219O229C225O351C228O351C233O286C239O310C245O330C251O433C254O433C259O392C265O406C271O489C274O489C279O476C285O555C288O555C292O555C294O635C297O635C302O604C308O719C311O719C316O690C322O702C328O777C331O777C336O763C341O817C347O840C353O852C359O866C365O877C371O893C377O905C383O923C389O942C395O967C400O1011C403O1011C407O1011C409O1043C412O1043C416O1043C418O6990C439O6950C441O10901C455O10957C466O11051C472O11060C478O11071C484O11083C490O11091C496O11100C502O10934C506O11123C518O11164C524O11174C530O11186C536O11197C542O11209C548O11218C554O11157C559O11228,,
code-creation,Eval,10,324719,0x77b20d7386,5, node:internal/abort_controller:1:1,0x77b20d6e40,~
script-source,89,node:internal/abort_controller,'use strict';\x0d\n\x0d\n// Modeled very closely on the AbortController implementation\x0d\n// in https://github.com/mysticatea/abort-controller (MIT license)\x0d\n\x0d\nconst {\x0d\n ObjectAssign\x2C\x0d\n ObjectDefineProperties\x2C\x0d\n ObjectSetPrototypeOf\x2C\x0d\n ObjectDefineProperty\x2C\x0d\n PromiseResolve\x2C\x0d\n SafeFinalizationRegistry\x2C\x0d\n SafeSet\x2C\x0d\n Symbol\x2C\x0d\n SymbolToStringTag\x2C\x0d\n WeakRef\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst {\x0d\n defineEventHandler\x2C\x0d\n EventTarget\x2C\x0d\n Event\x2C\x0d\n kTrustEvent\x2C\x0d\n kNewListener\x2C\x0d\n kRemoveListener\x2C\x0d\n kResistStopPropagation\x2C\x0d\n kWeakHandler\x2C\x0d\n} = require('internal/event_target');\x0d\nconst {\x0d\n createDeferredPromise\x2C\x0d\n customInspectSymbol\x2C\x0d\n kEmptyObject\x2C\x0d\n kEnumerableProperty\x2C\x0d\n} = require('internal/util');\x0d\nconst { inspect } = require('internal/util/inspect');\x0d\nconst {\x0d\n codes: {\x0d\n ERR_ILLEGAL_CONSTRUCTOR\x2C\x0d\n ERR_INVALID_ARG_TYPE\x2C\x0d\n ERR_INVALID_THIS\x2C\x0d\n }\x2C\x0d\n} = require('internal/errors');\x0d\n\x0d\nconst {\x0d\n validateAbortSignal\x2C\x0d\n validateAbortSignalArray\x2C\x0d\n validateObject\x2C\x0d\n validateUint32\x2C\x0d\n kValidateObjectAllowObjects\x2C\x0d\n} = require('internal/validators');\x0d\n\x0d\nconst {\x0d\n DOMException\x2C\x0d\n} = internalBinding('messaging');\x0d\n\x0d\nconst {\x0d\n clearTimeout\x2C\x0d\n setTimeout\x2C\x0d\n} = require('timers');\x0d\nconst assert = require('internal/assert');\x0d\n\x0d\nconst {\x0d\n messaging_deserialize_symbol: kDeserialize\x2C\x0d\n messaging_transfer_symbol: kTransfer\x2C\x0d\n messaging_transfer_list_symbol: kTransferList\x2C\x0d\n} = internalBinding('symbols');\x0d\n\x0d\nlet _MessageChannel;\x0d\nlet makeTransferable;\x0d\n\x0d\n// Loading the MessageChannel and makeTransferable have to be done lazily\x0d\n// because otherwise we'll end up with a require cycle that ends up with\x0d\n// an incomplete initialization of abort_controller.\x0d\n\x0d\nfunction lazyMessageChannel() {\x0d\n _MessageChannel ??= require('internal/worker/io').MessageChannel;\x0d\n return new _MessageChannel();\x0d\n}\x0d\n\x0d\nfunction lazyMakeTransferable(obj) {\x0d\n makeTransferable ??=\x0d\n require('internal/worker/js_transferable').makeTransferable;\x0d\n return makeTransferable(obj);\x0d\n}\x0d\n\x0d\nconst clearTimeoutRegistry = new SafeFinalizationRegistry(clearTimeout);\x0d\nconst gcPersistentSignals = new SafeSet();\x0d\n\x0d\nconst kAborted = Symbol('kAborted');\x0d\nconst kReason = Symbol('kReason');\x0d\nconst kCloneData = Symbol('kCloneData');\x0d\nconst kTimeout = Symbol('kTimeout');\x0d\nconst kMakeTransferable = Symbol('kMakeTransferable');\x0d\nconst kComposite = Symbol('kComposite');\x0d\nconst kSourceSignals = Symbol('kSourceSignals');\x0d\nconst kDependantSignals = Symbol('kDependantSignals');\x0d\n\x0d\nfunction customInspect(self\x2C obj\x2C depth\x2C options) {\x0d\n if (depth < 0)\x0d\n return self;\x0d\n\x0d\n const opts = ObjectAssign({}\x2C options\x2C {\x0d\n depth: options.depth === null ? null : options.depth - 1\x2C\x0d\n });\x0d\n\x0d\n return `${self.constructor.name} ${inspect(obj\x2C opts)}`;\x0d\n}\x0d\n\x0d\nfunction validateThisAbortSignal(obj) {\x0d\n if (obj?.[kAborted] === undefined)\x0d\n throw new ERR_INVALID_THIS('AbortSignal');\x0d\n}\x0d\n\x0d\n// Because the AbortSignal timeout cannot be canceled\x2C we don't want the\x0d\n// presence of the timer alone to keep the AbortSignal from being garbage\x0d\n// collected if it otherwise no longer accessible. We also don't want the\x0d\n// timer to keep the Node.js process open on it's own. Therefore\x2C we wrap\x0d\n// the AbortSignal in a WeakRef and have the setTimeout callback close\x0d\n// over the WeakRef rather than directly over the AbortSignal\x2C and we unref\x0d\n// the created timer object. Separately\x2C we add the signal to a\x0d\n// FinalizerRegistry that will clear the timeout when the signal is gc'd.\x0d\nfunction setWeakAbortSignalTimeout(weakRef\x2C delay) {\x0d\n const timeout = setTimeout(() => {\x0d\n const signal = weakRef.deref();\x0d\n if (signal !== undefined) {\x0d\n gcPersistentSignals.delete(signal);\x0d\n abortSignal(\x0d\n signal\x2C\x0d\n new DOMException(\x0d\n 'The operation was aborted due to timeout'\x2C\x0d\n 'TimeoutError'));\x0d\n }\x0d\n }\x2C delay);\x0d\n timeout.unref();\x0d\n return timeout;\x0d\n}\x0d\n\x0d\nclass AbortSignal extends EventTarget {\x0d\n constructor() {\x0d\n throw new ERR_ILLEGAL_CONSTRUCTOR();\x0d\n }\x0d\n\x0d\n /**\x0d\n * @type {boolean}\x0d\n */\x0d\n get aborted() {\x0d\n validateThisAbortSignal(this);\x0d\n return !!this[kAborted];\x0d\n }\x0d\n\x0d\n /**\x0d\n * @type {any}\x0d\n */\x0d\n get reason() {\x0d\n validateThisAbortSignal(this);\x0d\n return this[kReason];\x0d\n }\x0d\n\x0d\n throwIfAborted() {\x0d\n validateThisAbortSignal(this);\x0d\n if (this[kAborted]) {\x0d\n throw this[kReason];\x0d\n }\x0d\n }\x0d\n\x0d\n [customInspectSymbol](depth\x2C options) {\x0d\n return customInspect(this\x2C {\x0d\n aborted: this.aborted\x2C\x0d\n }\x2C depth\x2C options);\x0d\n }\x0d\n\x0d\n /**\x0d\n * @param {any} [reason]\x0d\n * @returns {AbortSignal}\x0d\n */\x0d\n static abort(\x0d\n reason = new DOMException('This operation was aborted'\x2C 'AbortError')) {\x0d\n return createAbortSignal({ aborted: true\x2C reason });\x0d\n }\x0d\n\x0d\n /**\x0d\n * @param {number} delay\x0d\n * @returns {AbortSignal}\x0d\n */\x0d\n static timeout(delay) {\x0d\n validateUint32(delay\x2C 'delay'\x2C false);\x0d\n const signal = createAbortSignal();\x0d\n signal[kTimeout] = true;\x0d\n clearTimeoutRegistry.register(\x0d\n signal\x2C\x0d\n setWeakAbortSignalTimeout(new WeakRef(signal)\x2C delay));\x0d\n return signal;\x0d\n }\x0d\n\x0d\n /**\x0d\n * @param {AbortSignal[]} signals\x0d\n * @returns {AbortSignal}\x0d\n */\x0d\n static any(signals) {\x0d\n validateAbortSignalArray(signals\x2C 'signals');\x0d\n const resultSignal = createAbortSignal({ composite: true });\x0d\n if (!signals.length) {\x0d\n return resultSignal;\x0d\n }\x0d\n const resultSignalWeakRef = new WeakRef(resultSignal);\x0d\n resultSignal[kSourceSignals] = new SafeSet();\x0d\n for (let i = 0; i < signals.length; i++) {\x0d\n const signal = signals[i];\x0d\n if (signal.aborted) {\x0d\n abortSignal(resultSignal\x2C signal.reason);\x0d\n return resultSignal;\x0d\n }\x0d\n signal[kDependantSignals] ??= new SafeSet();\x0d\n if (!signal[kComposite]) {\x0d\n resultSignal[kSourceSignals].add(new WeakRef(signal));\x0d\n signal[kDependantSignals].add(resultSignalWeakRef);\x0d\n } else if (!signal[kSourceSignals]) {\x0d\n continue;\x0d\n } else {\x0d\n for (const sourceSignal of signal[kSourceSignals]) {\x0d\n const sourceSignalRef = sourceSignal.deref();\x0d\n if (!sourceSignalRef) {\x0d\n continue;\x0d\n }\x0d\n assert(!sourceSignalRef.aborted);\x0d\n assert(!sourceSignalRef[kComposite]);\x0d\n\x0d\n if (resultSignal[kSourceSignals].has(sourceSignal)) {\x0d\n continue;\x0d\n }\x0d\n resultSignal[kSourceSignals].add(sourceSignal);\x0d\n sourceSignalRef[kDependantSignals].add(resultSignalWeakRef);\x0d\n }\x0d\n }\x0d\n }\x0d\n return resultSignal;\x0d\n }\x0d\n\x0d\n [kNewListener](size\x2C type\x2C listener\x2C once\x2C capture\x2C passive\x2C weak) {\x0d\n super[kNewListener](size\x2C type\x2C listener\x2C once\x2C capture\x2C passive\x2C weak);\x0d\n const isTimeoutOrNonEmptyCompositeSignal = this[kTimeout] || (this[kComposite] && this[kSourceSignals]?.size);\x0d\n if (isTimeoutOrNonEmptyCompositeSignal &&\x0d\n type === 'abort' &&\x0d\n !this.aborted &&\x0d\n !weak &&\x0d\n size === 1) {\x0d\n // If this is a timeout signal\x2C or a non-empty composite signal\x2C and we're adding a non-weak abort\x0d\n // listener\x2C then we don't want it to be gc'd while the listener\x0d\n // is attached and the timer still hasn't fired. So\x2C we retain a\x0d\n // strong ref that is held for as long as the listener is registered.\x0d\n gcPersistentSignals.add(this);\x0d\n }\x0d\n }\x0d\n\x0d\n [kRemoveListener](size\x2C type\x2C listener\x2C capture) {\x0d\n super[kRemoveListener](size\x2C type\x2C listener\x2C capture);\x0d\n const isTimeoutOrNonEmptyCompositeSignal = this[kTimeout] || (this[kComposite] && this[kSourceSignals]?.size);\x0d\n if (isTimeoutOrNonEmptyCompositeSignal && type === 'abort' && size === 0) {\x0d\n gcPersistentSignals.delete(this);\x0d\n }\x0d\n }\x0d\n\x0d\n [kTransfer]() {\x0d\n validateThisAbortSignal(this);\x0d\n const aborted = this.aborted;\x0d\n if (aborted) {\x0d\n const reason = this.reason;\x0d\n return {\x0d\n data: { aborted\x2C reason }\x2C\x0d\n deserializeInfo: 'internal/abort_controller:ClonedAbortSignal'\x2C\x0d\n };\x0d\n }\x0d\n\x0d\n const { port1\x2C port2 } = this[kCloneData];\x0d\n this[kCloneData] = undefined;\x0d\n\x0d\n this.addEventListener('abort'\x2C () => {\x0d\n port1.postMessage(this.reason);\x0d\n port1.close();\x0d\n }\x2C { once: true });\x0d\n\x0d\n return {\x0d\n data: { port: port2 }\x2C\x0d\n deserializeInfo: 'internal/abort_controller:ClonedAbortSignal'\x2C\x0d\n };\x0d\n }\x0d\n\x0d\n [kTransferList]() {\x0d\n if (!this.aborted) {\x0d\n const { port1\x2C port2 } = lazyMessageChannel();\x0d\n port1.unref();\x0d\n port2.unref();\x0d\n this[kCloneData] = {\x0d\n port1\x2C\x0d\n port2\x2C\x0d\n };\x0d\n return [port2];\x0d\n }\x0d\n return [];\x0d\n }\x0d\n\x0d\n [kDeserialize]({ aborted\x2C reason\x2C port }) {\x0d\n if (aborted) {\x0d\n this[kAborted] = aborted;\x0d\n this[kReason] = reason;\x0d\n return;\x0d\n }\x0d\n\x0d\n port.onmessage = ({ data }) => {\x0d\n abortSignal(this\x2C data);\x0d\n port.close();\x0d\n port.onmessage = undefined;\x0d\n };\x0d\n // The receiving port\x2C by itself\x2C should never keep the event loop open.\x0d\n // The unref() has to be called *after* setting the onmessage handler.\x0d\n port.unref();\x0d\n }\x0d\n}\x0d\n\x0d\nfunction ClonedAbortSignal() {\x0d\n return createAbortSignal({ transferable: true });\x0d\n}\x0d\nClonedAbortSignal.prototype[kDeserialize] = () => {};\x0d\n\x0d\nObjectDefineProperties(AbortSignal.prototype\x2C {\x0d\n aborted: kEnumerableProperty\x2C\x0d\n});\x0d\n\x0d\nObjectDefineProperty(AbortSignal.prototype\x2C SymbolToStringTag\x2C {\x0d\n __proto__: null\x2C\x0d\n writable: false\x2C\x0d\n enumerable: false\x2C\x0d\n configurable: true\x2C\x0d\n value: 'AbortSignal'\x2C\x0d\n});\x0d\n\x0d\ndefineEventHandler(AbortSignal.prototype\x2C 'abort');\x0d\n\x0d\n/**\x0d\n * @param {{\x0d\n * aborted? : boolean\x2C\x0d\n * reason? : any\x2C\x0d\n * transferable? : boolean\x2C\x0d\n * composite? : boolean\x2C\x0d\n * }} [init]\x0d\n * @returns {AbortSignal}\x0d\n */\x0d\nfunction createAbortSignal(init = kEmptyObject) {\x0d\n const {\x0d\n aborted = false\x2C\x0d\n reason = undefined\x2C\x0d\n transferable = false\x2C\x0d\n composite = false\x2C\x0d\n } = init;\x0d\n const signal = new EventTarget();\x0d\n ObjectSetPrototypeOf(signal\x2C AbortSignal.prototype);\x0d\n signal[kAborted] = aborted;\x0d\n signal[kReason] = reason;\x0d\n signal[kComposite] = composite;\x0d\n return transferable ? lazyMakeTransferable(signal) : signal;\x0d\n}\x0d\n\x0d\nfunction abortSignal(signal\x2C reason) {\x0d\n if (signal[kAborted]) return;\x0d\n signal[kAborted] = true;\x0d\n signal[kReason] = reason;\x0d\n const event = new Event('abort'\x2C {\x0d\n [kTrustEvent]: true\x2C\x0d\n });\x0d\n signal.dispatchEvent(event);\x0d\n signal[kDependantSignals]?.forEach((s) => {\x0d\n const signalRef = s.deref();\x0d\n if (signalRef) abortSignal(signalRef\x2C reason);\x0d\n });\x0d\n}\x0d\n\x0d\nclass AbortController {\x0d\n #signal;\x0d\n\x0d\n /**\x0d\n * @type {AbortSignal}\x0d\n */\x0d\n get signal() {\x0d\n this.#signal ??= createAbortSignal();\x0d\n return this.#signal;\x0d\n }\x0d\n\x0d\n /**\x0d\n * @param {any} [reason]\x0d\n */\x0d\n abort(reason = new DOMException('This operation was aborted'\x2C 'AbortError')) {\x0d\n abortSignal(this.#signal ??= createAbortSignal()\x2C reason);\x0d\n }\x0d\n\x0d\n [customInspectSymbol](depth\x2C options) {\x0d\n return customInspect(this\x2C {\x0d\n signal: this.signal\x2C\x0d\n }\x2C depth\x2C options);\x0d\n }\x0d\n\x0d\n static [kMakeTransferable]() {\x0d\n const controller = new AbortController();\x0d\n controller.#signal = createAbortSignal({ transferable: true });\x0d\n return controller;\x0d\n }\x0d\n}\x0d\n\x0d\n/**\x0d\n * Enables the AbortSignal to be transferable using structuredClone/postMessage.\x0d\n * @param {AbortSignal} signal\x0d\n * @returns {AbortSignal}\x0d\n */\x0d\nfunction transferableAbortSignal(signal) {\x0d\n if (signal?.[kAborted] === undefined)\x0d\n throw new ERR_INVALID_ARG_TYPE('signal'\x2C 'AbortSignal'\x2C signal);\x0d\n return lazyMakeTransferable(signal);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Creates an AbortController with a transferable AbortSignal\x0d\n */\x0d\nfunction transferableAbortController() {\x0d\n return AbortController[kMakeTransferable]();\x0d\n}\x0d\n\x0d\n/**\x0d\n * @param {AbortSignal} signal\x0d\n * @param {any} resource\x0d\n * @returns {Promise<void>}\x0d\n */\x0d\nasync function aborted(signal\x2C resource) {\x0d\n if (signal === undefined) {\x0d\n throw new ERR_INVALID_ARG_TYPE('signal'\x2C 'AbortSignal'\x2C signal);\x0d\n }\x0d\n validateAbortSignal(signal\x2C 'signal');\x0d\n validateObject(resource\x2C 'resource'\x2C kValidateObjectAllowObjects);\x0d\n if (signal.aborted)\x0d\n return PromiseResolve();\x0d\n const abortPromise = createDeferredPromise();\x0d\n const opts = { __proto__: null\x2C [kWeakHandler]: resource\x2C once: true\x2C [kResistStopPropagation]: true };\x0d\n signal.addEventListener('abort'\x2C abortPromise.resolve\x2C opts);\x0d\n return abortPromise.promise;\x0d\n}\x0d\n\x0d\nObjectDefineProperties(AbortController.prototype\x2C {\x0d\n signal: kEnumerableProperty\x2C\x0d\n abort: kEnumerableProperty\x2C\x0d\n});\x0d\n\x0d\nObjectDefineProperty(AbortController.prototype\x2C SymbolToStringTag\x2C {\x0d\n __proto__: null\x2C\x0d\n writable: false\x2C\x0d\n enumerable: false\x2C\x0d\n configurable: true\x2C\x0d\n value: 'AbortController'\x2C\x0d\n});\x0d\n\x0d\nmodule.exports = {\x0d\n AbortController\x2C\x0d\n AbortSignal\x2C\x0d\n ClonedAbortSignal\x2C\x0d\n aborted\x2C\x0d\n transferableAbortSignal\x2C\x0d\n transferableAbortController\x2C\x0d\n};\x0d\n
code-source-info,0x77b20d7386,89,0,12878,C0O0C4O12878,,
code-creation,JS,10,325983,0x77b20d8cd6,1067, node:internal/abort_controller:1:1,0x77b20d7300,~
code-source-info,0x77b20d8cd6,89,0,12878,C0O0C191O161C197O178C202O205C208O230C213O255C219O274C224O303C230O315C235O326C240O348C246O537C254O537C260O389C265O412C271O428C277O438C283O454C289O471C295O491C301O518C307O676C315O676C321O583C327O609C332O633C338O650C343O723C351O723C357O711C363O869C371O869C377O776C383O783C389O813C395O840C401O1036C409O1036C415O911C421O935C427O964C433O983C439O1002C445O1101C449O1101C455O1082C461O1179C469O1179C475O1145C480O1162C486O1214C494O1214C498O1214C500O1396C504O1396C510O1286C515O1330C520O1376C525O1431C526O1431C528O1453C529O1453C531O2014C533O2014C538O2014C540O2087C544O2087C549O2087C551O2122C555O2122C559O2122C561O2159C565O2159C569O2159C571O2198C575O2198C579O2198C581O2238C585O2238C589O2238C591O2285C595O2285C599O2285C601O2334C605O2334C609O2334C611O2380C615O2380C619O2380C621O2433C625O2433C629O2433C641O3901C667O4362C697O6552C709O7340C719O7706C729O8342C739O8612C767O3875C769O9187C775O9197C779O9211C783O9226C787O9261C801O9286C805O9226C810O9315C814O9348C820O9359C829O9315C834O9498C838O9529C848O9498C898O10903C910O11047C958O10532C960O12410C964O12449C978O12473C984O12504C988O12410C993O12533C997O12570C1003O12581C1012O12533C1017O12724C1025O12746C1031O12766C1037O12782C1043O12804C1049O12816C1055O12844C1061O12739C1066O12877,,
code-creation,JS,10,326286,0x77b20d931e,11,<instance_members_initializer> node:internal/abort_controller:377:1,0x77b20d7db8,~
code-source-info,0x77b20d931e,89,10532,11217,C4O10559C10O11217,,
code-creation,JS,10,327020,0x77b20dac86,155,defineEventHandler node:internal/event_target:1110:28,0x39e2db79dc0,~
script-source,56,node:internal/event_target,'use strict';\x0d\n\x0d\nconst {\x0d\n ArrayFrom\x2C\x0d\n ArrayPrototypeReduce\x2C\x0d\n Boolean\x2C\x0d\n Error\x2C\x0d\n FunctionPrototypeCall\x2C\x0d\n NumberIsInteger\x2C\x0d\n ObjectAssign\x2C\x0d\n ObjectDefineProperties\x2C\x0d\n ObjectDefineProperty\x2C\x0d\n ObjectGetOwnPropertyDescriptor\x2C\x0d\n ObjectGetOwnPropertyDescriptors\x2C\x0d\n ObjectSetPrototypeOf\x2C\x0d\n ObjectValues\x2C\x0d\n ReflectApply\x2C\x0d\n SafeArrayIterator\x2C\x0d\n SafeFinalizationRegistry\x2C\x0d\n SafeMap\x2C\x0d\n SafeWeakMap\x2C\x0d\n SafeWeakRef\x2C\x0d\n SafeWeakSet\x2C\x0d\n String\x2C\x0d\n Symbol\x2C\x0d\n SymbolFor\x2C\x0d\n SymbolToStringTag\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst {\x0d\n codes: {\x0d\n ERR_INVALID_ARG_TYPE\x2C\x0d\n ERR_EVENT_RECURSION\x2C\x0d\n ERR_MISSING_ARGS\x2C\x0d\n ERR_INVALID_THIS\x2C\x0d\n }\x2C\x0d\n} = require('internal/errors');\x0d\nconst {\x0d\n validateAbortSignal\x2C\x0d\n validateObject\x2C\x0d\n validateString\x2C\x0d\n validateInternalField\x2C\x0d\n kValidateObjectAllowObjects\x2C\x0d\n} = require('internal/validators');\x0d\n\x0d\nconst {\x0d\n customInspectSymbol\x2C\x0d\n kEmptyObject\x2C\x0d\n kEnumerableProperty\x2C\x0d\n} = require('internal/util');\x0d\nconst { inspect } = require('util');\x0d\nconst webidl = require('internal/webidl');\x0d\n\x0d\nconst kIsEventTarget = SymbolFor('nodejs.event_target');\x0d\nconst kIsNodeEventTarget = Symbol('kIsNodeEventTarget');\x0d\n\x0d\nconst EventEmitter = require('events');\x0d\nconst {\x0d\n kMaxEventTargetListeners\x2C\x0d\n kMaxEventTargetListenersWarned\x2C\x0d\n} = EventEmitter;\x0d\n\x0d\nconst kEvents = Symbol('kEvents');\x0d\nconst kIsBeingDispatched = Symbol('kIsBeingDispatched');\x0d\nconst kStop = Symbol('kStop');\x0d\nconst kTarget = Symbol('kTarget');\x0d\nconst kHandlers = Symbol('kHandlers');\x0d\nconst kWeakHandler = Symbol('kWeak');\x0d\nconst kResistStopPropagation = Symbol('kResistStopPropagation');\x0d\n\x0d\nconst kHybridDispatch = SymbolFor('nodejs.internal.kHybridDispatch');\x0d\nconst kRemoveWeakListenerHelper = Symbol('kRemoveWeakListenerHelper');\x0d\nconst kCreateEvent = Symbol('kCreateEvent');\x0d\nconst kNewListener = Symbol('kNewListener');\x0d\nconst kRemoveListener = Symbol('kRemoveListener');\x0d\nconst kIsNodeStyleListener = Symbol('kIsNodeStyleListener');\x0d\nconst kTrustEvent = Symbol('kTrustEvent');\x0d\n\x0d\nconst { now } = require('internal/perf/utils');\x0d\n\x0d\nconst kType = Symbol('type');\x0d\nconst kDetail = Symbol('detail');\x0d\n\x0d\nconst isTrustedSet = new SafeWeakSet();\x0d\nconst isTrusted = ObjectGetOwnPropertyDescriptor({\x0d\n get isTrusted() {\x0d\n return isTrustedSet.has(this);\x0d\n }\x2C\x0d\n}\x2C 'isTrusted').get;\x0d\n\x0d\nconst isTrustedDescriptor = {\x0d\n __proto__: null\x2C\x0d\n configurable: false\x2C\x0d\n enumerable: true\x2C\x0d\n get: isTrusted\x2C\x0d\n};\x0d\n\x0d\nfunction isEvent(value) {\x0d\n return typeof value?.[kType] === 'string';\x0d\n}\x0d\n\x0d\nclass Event {\x0d\n #cancelable = false;\x0d\n #bubbles = false;\x0d\n #composed = false;\x0d\n #defaultPrevented = false;\x0d\n #timestamp = now();\x0d\n #propagationStopped = false;\x0d\n\x0d\n /**\x0d\n * @param {string} type\x0d\n * @param {{\x0d\n * bubbles?: boolean\x2C\x0d\n * cancelable?: boolean\x2C\x0d\n * composed?: boolean\x2C\x0d\n * }} [options]\x0d\n */\x0d\n constructor(type\x2C options = kEmptyObject) {\x0d\n if (arguments.length === 0)\x0d\n throw new ERR_MISSING_ARGS('type');\x0d\n validateObject(options\x2C 'options');\x0d\n const { bubbles\x2C cancelable\x2C composed } = options;\x0d\n this.#cancelable = !!cancelable;\x0d\n this.#bubbles = !!bubbles;\x0d\n this.#composed = !!composed;\x0d\n\x0d\n this[kType] = `${type}`;\x0d\n if (options?.[kTrustEvent]) {\x0d\n isTrustedSet.add(this);\x0d\n }\x0d\n\x0d\n this[kTarget] = null;\x0d\n this[kIsBeingDispatched] = false;\x0d\n }\x0d\n\x0d\n /**\x0d\n * @param {string} type\x0d\n * @param {boolean} [bubbles]\x0d\n * @param {boolean} [cancelable]\x0d\n */\x0d\n initEvent(type\x2C bubbles = false\x2C cancelable = false) {\x0d\n if (arguments.length === 0)\x0d\n throw new ERR_MISSING_ARGS('type');\x0d\n\x0d\n if (this[kIsBeingDispatched]) {\x0d\n return;\x0d\n }\x0d\n this[kType] = `${type}`;\x0d\n this.#bubbles = !!bubbles;\x0d\n this.#cancelable = !!cancelable;\x0d\n }\x0d\n\x0d\n [customInspectSymbol](depth\x2C options) {\x0d\n if (!isEvent(this))\x0d\n throw new ERR_INVALID_THIS('Event');\x0d\n const name = this.constructor.name;\x0d\n if (depth < 0)\x0d\n return name;\x0d\n\x0d\n const opts = ObjectAssign({}\x2C options\x2C {\x0d\n depth: NumberIsInteger(options.depth) ? options.depth - 1 : options.depth\x2C\x0d\n });\x0d\n\x0d\n return `${name} ${inspect({\x0d\n type: this[kType]\x2C\x0d\n defaultPrevented: this.#defaultPrevented\x2C\x0d\n cancelable: this.#cancelable\x2C\x0d\n timeStamp: this.#timestamp\x2C\x0d\n }\x2C opts)}`;\x0d\n }\x0d\n\x0d\n stopImmediatePropagation() {\x0d\n if (!isEvent(this))\x0d\n throw new ERR_INVALID_THIS('Event');\x0d\n // Spec mention "stopImmediatePropagation should set both "stop propagation"\x0d\n // and "stop immediate propagation" flags"\x0d\n // cf: from https://dom.spec.whatwg.org/#dom-event-stopimmediatepropagation\x0d\n this.stopPropagation();\x0d\n this[kStop] = true;\x0d\n }\x0d\n\x0d\n preventDefault() {\x0d\n if (!isEvent(this))\x0d\n throw new ERR_INVALID_THIS('Event');\x0d\n this.#defaultPrevented = true;\x0d\n }\x0d\n\x0d\n /**\x0d\n * @type {EventTarget}\x0d\n */\x0d\n get target() {\x0d\n if (!isEvent(this))\x0d\n throw new ERR_INVALID_THIS('Event');\x0d\n return this[kTarget];\x0d\n }\x0d\n\x0d\n /**\x0d\n * @type {EventTarget}\x0d\n */\x0d\n get currentTarget() {\x0d\n if (!isEvent(this))\x0d\n throw new ERR_INVALID_THIS('Event');\x0d\n return this[kTarget];\x0d\n }\x0d\n\x0d\n /**\x0d\n * @type {EventTarget}\x0d\n */\x0d\n get srcElement() {\x0d\n if (!isEvent(this))\x0d\n throw new ERR_INVALID_THIS('Event');\x0d\n return this[kTarget];\x0d\n }\x0d\n\x0d\n /**\x0d\n * @type {string}\x0d\n */\x0d\n get type() {\x0d\n if (!isEvent(this))\x0d\n throw new ERR_INVALID_THIS('Event');\x0d\n return this[kType];\x0d\n }\x0d\n\x0d\n /**\x0d\n * @type {boolean}\x0d\n */\x0d\n get cancelable() {\x0d\n if (!isEvent(this))\x0d\n throw new ERR_INVALID_THIS('Event');\x0d\n return this.#cancelable;\x0d\n }\x0d\n\x0d\n /**\x0d\n * @type {boolean}\x0d\n */\x0d\n get defaultPrevented() {\x0d\n if (!isEvent(this))\x0d\n throw new ERR_INVALID_THIS('Event');\x0d\n return this.#cancelable && this.#defaultPrevented;\x0d\n }\x0d\n\x0d\n /**\x0d\n * @type {number}\x0d\n */\x0d\n get timeStamp() {\x0d\n if (!isEvent(this))\x0d\n throw new ERR_INVALID_THIS('Event');\x0d\n return this.#timestamp;\x0d\n }\x0d\n\x0d\n\x0d\n // The following are non-op and unused properties/methods from Web API Event.\x0d\n // These are not supported in Node.js and are provided purely for\x0d\n // API completeness.\x0d\n /**\x0d\n * @returns {EventTarget[]}\x0d\n */\x0d\n composedPath() {\x0d\n if (!isEvent(this))\x0d\n throw new ERR_INVALID_THIS('Event');\x0d\n return this[kIsBeingDispatched] ? [this[kTarget]] : [];\x0d\n }\x0d\n\x0d\n /**\x0d\n * @type {boolean}\x0d\n */\x0d\n get returnValue() {\x0d\n if (!isEvent(this))\x0d\n throw new ERR_INVALID_THIS('Event');\x0d\n return !this.#cancelable || !this.#defaultPrevented;\x0d\n }\x0d\n\x0d\n /**\x0d\n * @type {boolean}\x0d\n */\x0d\n get bubbles() {\x0d\n if (!isEvent(this))\x0d\n throw new ERR_INVALID_THIS('Event');\x0d\n return this.#bubbles;\x0d\n }\x0d\n\x0d\n /**\x0d\n * @type {boolean}\x0d\n */\x0d\n get composed() {\x0d\n if (!isEvent(this))\x0d\n throw new ERR_INVALID_THIS('Event');\x0d\n return this.#composed;\x0d\n }\x0d\n\x0d\n /**\x0d\n * @type {number}\x0d\n */\x0d\n get eventPhase() {\x0d\n if (!isEvent(this))\x0d\n throw new ERR_INVALID_THIS('Event');\x0d\n return this[kIsBeingDispatched] ? Event.AT_TARGET : Event.NONE;\x0d\n }\x0d\n\x0d\n /**\x0d\n * @type {boolean}\x0d\n */\x0d\n get cancelBubble() {\x0d\n if (!isEvent(this))\x0d\n throw new ERR_INVALID_THIS('Event');\x0d\n return this.#propagationStopped;\x0d\n }\x0d\n\x0d\n /**\x0d\n * @type {boolean}\x0d\n */\x0d\n set cancelBubble(value) {\x0d\n if (!isEvent(this))\x0d\n throw new ERR_INVALID_THIS('Event');\x0d\n if (value) {\x0d\n this.#propagationStopped = true;\x0d\n }\x0d\n }\x0d\n\x0d\n stopPropagation() {\x0d\n if (!isEvent(this))\x0d\n throw new ERR_INVALID_THIS('Event');\x0d\n this.#propagationStopped = true;\x0d\n }\x0d\n}\x0d\n\x0d\nObjectDefineProperties(\x0d\n Event.prototype\x2C {\x0d\n [SymbolToStringTag]: {\x0d\n __proto__: null\x2C\x0d\n writable: false\x2C\x0d\n enumerable: false\x2C\x0d\n configurable: true\x2C\x0d\n value: 'Event'\x2C\x0d\n }\x2C\x0d\n initEvent: kEnumerableProperty\x2C\x0d\n stopImmediatePropagation: kEnumerableProperty\x2C\x0d\n preventDefault: kEnumerableProperty\x2C\x0d\n target: kEnumerableProperty\x2C\x0d\n currentTarget: kEnumerableProperty\x2C\x0d\n srcElement: kEnumerableProperty\x2C\x0d\n type: kEnumerableProperty\x2C\x0d\n cancelable: kEnumerableProperty\x2C\x0d\n defaultPrevented: kEnumerableProperty\x2C\x0d\n timeStamp: kEnumerableProperty\x2C\x0d\n composedPath: kEnumerableProperty\x2C\x0d\n returnValue: kEnumerableProperty\x2C\x0d\n bubbles: kEnumerableProperty\x2C\x0d\n composed: kEnumerableProperty\x2C\x0d\n eventPhase: kEnumerableProperty\x2C\x0d\n cancelBubble: kEnumerableProperty\x2C\x0d\n stopPropagation: kEnumerableProperty\x2C\x0d\n // Don't conform to the spec with isTrusted. The spec defines it as\x0d\n // LegacyUnforgeable but defining it in the constructor has a big\x0d\n // performance impact and the property doesn't seem to be useful outside of\x0d\n // browsers.\x0d\n isTrusted: isTrustedDescriptor\x2C\x0d\n });\x0d\n\x0d\nconst staticProps = ['NONE'\x2C 'CAPTURING_PHASE'\x2C 'AT_TARGET'\x2C 'BUBBLING_PHASE'];\x0d\n\x0d\nObjectDefineProperties(\x0d\n Event\x2C\x0d\n ArrayPrototypeReduce(staticProps\x2C (result\x2C staticProp\x2C index = 0) => {\x0d\n result[staticProp] = {\x0d\n __proto__: null\x2C\x0d\n writable: false\x2C\x0d\n configurable: false\x2C\x0d\n enumerable: true\x2C\x0d\n value: index\x2C\x0d\n };\x0d\n return result;\x0d\n }\x2C {})\x2C\x0d\n);\x0d\n\x0d\nfunction isCustomEvent(value) {\x0d\n return isEvent(value) && (value?.[kDetail] !== undefined);\x0d\n}\x0d\n\x0d\nclass CustomEvent extends Event {\x0d\n /**\x0d\n * @constructor\x0d\n * @param {string} type\x0d\n * @param {{\x0d\n * bubbles?: boolean\x2C\x0d\n * cancelable?: boolean\x2C\x0d\n * composed?: boolean\x2C\x0d\n * detail?: any\x2C\x0d\n * }} [options]\x0d\n */\x0d\n constructor(type\x2C options = kEmptyObject) {\x0d\n if (arguments.length === 0)\x0d\n throw new ERR_MISSING_ARGS('type');\x0d\n super(type\x2C options);\x0d\n this[kDetail] = options?.detail ?? null;\x0d\n }\x0d\n\x0d\n /**\x0d\n * @type {any}\x0d\n */\x0d\n get detail() {\x0d\n if (!isCustomEvent(this))\x0d\n throw new ERR_INVALID_THIS('CustomEvent');\x0d\n return this[kDetail];\x0d\n }\x0d\n}\x0d\n\x0d\nObjectDefineProperties(CustomEvent.prototype\x2C {\x0d\n [SymbolToStringTag]: {\x0d\n __proto__: null\x2C\x0d\n writable: false\x2C\x0d\n enumerable: false\x2C\x0d\n configurable: true\x2C\x0d\n value: 'CustomEvent'\x2C\x0d\n }\x2C\x0d\n detail: kEnumerableProperty\x2C\x0d\n});\x0d\n\x0d\n// Weak listener cleanup\x0d\n// This has to be lazy for snapshots to work\x0d\nlet weakListenersState = null;\x0d\n// The resource needs to retain the callback so that it doesn't\x0d\n// get garbage collected now that it's weak.\x0d\nlet objectToWeakListenerMap = null;\x0d\nfunction weakListeners() {\x0d\n weakListenersState ??= new SafeFinalizationRegistry(\x0d\n ({ eventTarget\x2C listener\x2C eventType }) => eventTarget.deref()?.[kRemoveWeakListenerHelper](eventType\x2C listener)\x2C\x0d\n );\x0d\n objectToWeakListenerMap ??= new SafeWeakMap();\x0d\n return { registry: weakListenersState\x2C map: objectToWeakListenerMap };\x0d\n}\x0d\n\x0d\nconst kFlagOnce = 1 << 0;\x0d\nconst kFlagCapture = 1 << 1;\x0d\nconst kFlagPassive = 1 << 2;\x0d\nconst kFlagNodeStyle = 1 << 3;\x0d\nconst kFlagWeak = 1 << 4;\x0d\nconst kFlagRemoved = 1 << 5;\x0d\nconst kFlagResistStopPropagation = 1 << 6;\x0d\n\x0d\n// The listeners for an EventTarget are maintained as a linked list.\x0d\n// Unfortunately\x2C the way EventTarget is defined\x2C listeners are accounted\x0d\n// using the tuple [handler\x2Ccapture]\x2C and even if we don't actually make\x0d\n// use of capture or bubbling\x2C in order to be spec compliant we have to\x0d\n// take on the additional complexity of supporting it. Fortunately\x2C using\x0d\n// the linked list makes dispatching faster\x2C even if adding/removing is\x0d\n// slower.\x0d\nclass Listener {\x0d\n constructor(eventTarget\x2C eventType\x2C previous\x2C listener\x2C once\x2C capture\x2C passive\x2C\x0d\n isNodeStyleListener\x2C weak\x2C resistStopPropagation) {\x0d\n this.next = undefined;\x0d\n if (previous !== undefined)\x0d\n previous.next = this;\x0d\n this.previous = previous;\x0d\n this.listener = listener;\x0d\n\x0d\n let flags = 0b0;\x0d\n if (once)\x0d\n flags |= kFlagOnce;\x0d\n if (capture)\x0d\n flags |= kFlagCapture;\x0d\n if (passive)\x0d\n flags |= kFlagPassive;\x0d\n if (isNodeStyleListener)\x0d\n flags |= kFlagNodeStyle;\x0d\n if (weak)\x0d\n flags |= kFlagWeak;\x0d\n if (resistStopPropagation)\x0d\n flags |= kFlagResistStopPropagation;\x0d\n this.flags = flags;\x0d\n\x0d\n this.removed = false;\x0d\n\x0d\n if (this.weak) {\x0d\n this.callback = new SafeWeakRef(listener);\x0d\n weakListeners().registry.register(listener\x2C {\x0d\n __proto__: null\x2C\x0d\n // Weak ref so the listener won't hold the eventTarget alive\x0d\n eventTarget: new SafeWeakRef(eventTarget)\x2C\x0d\n listener: this\x2C\x0d\n eventType\x2C\x0d\n }\x2C this);\x0d\n // Make the retainer retain the listener in a WeakMap\x0d\n weakListeners().map.set(weak\x2C listener);\x0d\n this.listener = this.callback;\x0d\n } else if (typeof listener === 'function') {\x0d\n this.callback = listener;\x0d\n this.listener = listener;\x0d\n } else {\x0d\n this.callback = async (...args) => {\x0d\n if (listener.handleEvent)\x0d\n await ReflectApply(listener.handleEvent\x2C listener\x2C args);\x0d\n };\x0d\n this.listener = listener;\x0d\n }\x0d\n }\x0d\n\x0d\n get once() {\x0d\n return Boolean(this.flags & kFlagOnce);\x0d\n }\x0d\n get capture() {\x0d\n return Boolean(this.flags & kFlagCapture);\x0d\n }\x0d\n get passive() {\x0d\n return Boolean(this.flags & kFlagPassive);\x0d\n }\x0d\n get isNodeStyleListener() {\x0d\n return Boolean(this.flags & kFlagNodeStyle);\x0d\n }\x0d\n get weak() {\x0d\n return Boolean(this.flags & kFlagWeak);\x0d\n }\x0d\n get resistStopPropagation() {\x0d\n return Boolean(this.flags & kFlagResistStopPropagation);\x0d\n }\x0d\n get removed() {\x0d\n return Boolean(this.flags & kFlagRemoved);\x0d\n }\x0d\n set removed(value) {\x0d\n if (value)\x0d\n this.flags |= kFlagRemoved;\x0d\n else\x0d\n this.flags &= ~kFlagRemoved;\x0d\n }\x0d\n\x0d\n same(listener\x2C capture) {\x0d\n const myListener = this.weak ? this.listener.deref() : this.listener;\x0d\n return myListener === listener && this.capture === capture;\x0d\n }\x0d\n\x0d\n remove() {\x0d\n if (this.previous !== undefined)\x0d\n this.previous.next = this.next;\x0d\n if (this.next !== undefined)\x0d\n this.next.previous = this.previous;\x0d\n this.removed = true;\x0d\n if (this.weak)\x0d\n weakListeners().registry.unregister(this);\x0d\n }\x0d\n}\x0d\n\x0d\nfunction initEventTarget(self) {\x0d\n self[kEvents] = new SafeMap();\x0d\n self[kMaxEventTargetListeners] = EventEmitter.defaultMaxListeners;\x0d\n self[kMaxEventTargetListenersWarned] = false;\x0d\n self[kHandlers] = new SafeMap();\x0d\n}\x0d\n\x0d\nclass EventTarget {\x0d\n // Used in checking whether an object is an EventTarget. This is a well-known\x0d\n // symbol as EventTarget may be used cross-realm.\x0d\n // Ref: https://github.com/nodejs/node/pull/33661\x0d\n static [kIsEventTarget] = true;\x0d\n\x0d\n constructor() {\x0d\n initEventTarget(this);\x0d\n }\x0d\n\x0d\n [kNewListener](size\x2C type\x2C listener\x2C once\x2C capture\x2C passive\x2C weak) {\x0d\n if (this[kMaxEventTargetListeners] > 0 &&\x0d\n size > this[kMaxEventTargetListeners] &&\x0d\n !this[kMaxEventTargetListenersWarned]) {\x0d\n this[kMaxEventTargetListenersWarned] = true;\x0d\n // No error code for this since it is a Warning\x0d\n // eslint-disable-next-line no-restricted-syntax\x0d\n const w = new Error('Possible EventTarget memory leak detected. ' +\x0d\n `${size} ${type} listeners ` +\x0d\n `added to ${inspect(this\x2C { depth: -1 })}. MaxListeners is ${this[kMaxEventTargetListeners]}. Use ` +\x0d\n 'events.setMaxListeners() to increase limit');\x0d\n w.name = 'MaxListenersExceededWarning';\x0d\n w.target = this;\x0d\n w.type = type;\x0d\n w.count = size;\x0d\n process.emitWarning(w);\x0d\n }\x0d\n }\x0d\n [kRemoveListener](size\x2C type\x2C listener\x2C capture) {}\x0d\n\x0d\n /**\x0d\n * @callback EventTargetCallback\x0d\n * @param {Event} event\x0d\n */\x0d\n\x0d\n /**\x0d\n * @typedef {{ handleEvent: EventTargetCallback }} EventListener\x0d\n */\x0d\n\x0d\n /**\x0d\n * @param {string} type\x0d\n * @param {EventTargetCallback|EventListener} listener\x0d\n * @param {{\x0d\n * capture?: boolean\x2C\x0d\n * once?: boolean\x2C\x0d\n * passive?: boolean\x2C\x0d\n * signal?: AbortSignal\x0d\n * }} [options]\x0d\n */\x0d\n addEventListener(type\x2C listener\x2C options = kEmptyObject) {\x0d\n if (!isEventTarget(this))\x0d\n throw new ERR_INVALID_THIS('EventTarget');\x0d\n if (arguments.length < 2)\x0d\n throw new ERR_MISSING_ARGS('type'\x2C 'listener');\x0d\n\x0d\n // We validateOptions before the validateListener check because the spec\x0d\n // requires us to hit getters.\x0d\n const {\x0d\n once\x2C\x0d\n capture\x2C\x0d\n passive\x2C\x0d\n signal\x2C\x0d\n isNodeStyleListener\x2C\x0d\n weak\x2C\x0d\n resistStopPropagation\x2C\x0d\n } = validateEventListenerOptions(options);\x0d\n\x0d\n validateAbortSignal(signal\x2C 'options.signal');\x0d\n\x0d\n if (!validateEventListener(listener)) {\x0d\n // The DOM silently allows passing undefined as a second argument\x0d\n // No error code for this since it is a Warning\x0d\n // eslint-disable-next-line no-restricted-syntax\x0d\n const w = new Error(`addEventListener called with ${listener}` +\x0d\n ' which has no effect.');\x0d\n w.name = 'AddEventListenerArgumentTypeWarning';\x0d\n w.target = this;\x0d\n w.type = type;\x0d\n process.emitWarning(w);\x0d\n return;\x0d\n }\x0d\n type = webidl.converters.DOMString(type);\x0d\n\x0d\n if (signal) {\x0d\n if (signal.aborted) {\x0d\n return;\x0d\n }\x0d\n // TODO(benjamingr) make this weak somehow? ideally the signal would\x0d\n // not prevent the event target from GC.\x0d\n signal.addEventListener('abort'\x2C () => {\x0d\n this.removeEventListener(type\x2C listener\x2C options);\x0d\n }\x2C { __proto__: null\x2C once: true\x2C [kWeakHandler]: this\x2C [kResistStopPropagation]: true });\x0d\n }\x0d\n\x0d\n let root = this[kEvents].get(type);\x0d\n\x0d\n if (root === undefined) {\x0d\n root = { size: 1\x2C next: undefined\x2C resistStopPropagation: Boolean(resistStopPropagation) };\x0d\n // This is the first handler in our linked list.\x0d\n new Listener(this\x2C type\x2C root\x2C listener\x2C once\x2C capture\x2C passive\x2C\x0d\n isNodeStyleListener\x2C weak\x2C resistStopPropagation);\x0d\n this[kNewListener](\x0d\n root.size\x2C\x0d\n type\x2C\x0d\n listener\x2C\x0d\n once\x2C\x0d\n capture\x2C\x0d\n passive\x2C\x0d\n weak);\x0d\n this[kEvents].set(type\x2C root);\x0d\n return;\x0d\n }\x0d\n\x0d\n let handler = root.next;\x0d\n let previous = root;\x0d\n\x0d\n // We have to walk the linked list to see if we have a match\x0d\n while (handler !== undefined && !handler.same(listener\x2C capture)) {\x0d\n previous = handler;\x0d\n handler = handler.next;\x0d\n }\x0d\n\x0d\n if (handler !== undefined) { // Duplicate! Ignore\x0d\n return;\x0d\n }\x0d\n\x0d\n new Listener(this\x2C type\x2C previous\x2C listener\x2C once\x2C capture\x2C passive\x2C\x0d\n isNodeStyleListener\x2C weak\x2C resistStopPropagation);\x0d\n root.size++;\x0d\n root.resistStopPropagation ||= Boolean(resistStopPropagation);\x0d\n this[kNewListener](root.size\x2C type\x2C listener\x2C once\x2C capture\x2C passive\x2C weak);\x0d\n }\x0d\n\x0d\n /**\x0d\n * @param {string} type\x0d\n * @param {EventTargetCallback|EventListener} listener\x0d\n * @param {{\x0d\n * capture?: boolean\x2C\x0d\n * }} [options]\x0d\n */\x0d\n removeEventListener(type\x2C listener\x2C options = kEmptyObject) {\x0d\n if (!isEventTarget(this))\x0d\n throw new ERR_INVALID_THIS('EventTarget');\x0d\n if (arguments.length < 2)\x0d\n throw new ERR_MISSING_ARGS('type'\x2C 'listener');\x0d\n if (!validateEventListener(listener))\x0d\n return;\x0d\n\x0d\n type = webidl.converters.DOMString(type);\x0d\n const capture = options?.capture === true;\x0d\n\x0d\n const root = this[kEvents].get(type);\x0d\n if (root === undefined || root.next === undefined)\x0d\n return;\x0d\n\x0d\n let handler = root.next;\x0d\n while (handler !== undefined) {\x0d\n if (handler.same(listener\x2C capture)) {\x0d\n handler.remove();\x0d\n root.size--;\x0d\n if (root.size === 0)\x0d\n this[kEvents].delete(type);\x0d\n this[kRemoveListener](root.size\x2C type\x2C listener\x2C capture);\x0d\n break;\x0d\n }\x0d\n handler = handler.next;\x0d\n }\x0d\n }\x0d\n\x0d\n [kRemoveWeakListenerHelper](type\x2C listener) {\x0d\n const root = this[kEvents].get(type);\x0d\n if (root === undefined || root.next === undefined)\x0d\n return;\x0d\n\x0d\n const capture = listener.capture === true;\x0d\n\x0d\n let handler = root.next;\x0d\n while (handler !== undefined) {\x0d\n if (handler === listener) {\x0d\n handler.remove();\x0d\n root.size--;\x0d\n if (root.size === 0)\x0d\n this[kEvents].delete(type);\x0d\n // Undefined is passed as the listener as the listener was GCed\x0d\n this[kRemoveListener](root.size\x2C type\x2C undefined\x2C capture);\x0d\n break;\x0d\n }\x0d\n handler = handler.next;\x0d\n }\x0d\n }\x0d\n\x0d\n /**\x0d\n * @param {Event} event\x0d\n */\x0d\n dispatchEvent(event) {\x0d\n if (!isEventTarget(this))\x0d\n throw new ERR_INVALID_THIS('EventTarget');\x0d\n if (arguments.length < 1)\x0d\n throw new ERR_MISSING_ARGS('event');\x0d\n\x0d\n if (!(event instanceof Event))\x0d\n throw new ERR_INVALID_ARG_TYPE('event'\x2C 'Event'\x2C event);\x0d\n\x0d\n if (event[kIsBeingDispatched])\x0d\n throw new ERR_EVENT_RECURSION(event.type);\x0d\n\x0d\n this[kHybridDispatch](event\x2C event.type\x2C event);\x0d\n\x0d\n return event.defaultPrevented !== true;\x0d\n }\x0d\n\x0d\n [kHybridDispatch](nodeValue\x2C type\x2C event) {\x0d\n const createEvent = () => {\x0d\n if (event === undefined) {\x0d\n event = this[kCreateEvent](nodeValue\x2C type);\x0d\n event[kTarget] = this;\x0d\n event[kIsBeingDispatched] = true;\x0d\n }\x0d\n return event;\x0d\n };\x0d\n if (event !== undefined) {\x0d\n event[kTarget] = this;\x0d\n event[kIsBeingDispatched] = true;\x0d\n }\x0d\n\x0d\n const root = this[kEvents].get(type);\x0d\n if (root === undefined || root.next === undefined) {\x0d\n if (event !== undefined)\x0d\n event[kIsBeingDispatched] = false;\x0d\n return true;\x0d\n }\x0d\n\x0d\n let handler = root.next;\x0d\n let next;\x0d\n\x0d\n const iterationCondition = () => {\x0d\n if (handler === undefined) {\x0d\n return false;\x0d\n }\x0d\n return root.resistStopPropagation || handler.passive || event?.[kStop] !== true;\x0d\n };\x0d\n while (iterationCondition()) {\x0d\n // Cache the next item in case this iteration removes the current one\x0d\n next = handler.next;\x0d\n\x0d\n if (handler.removed || (event?.[kStop] === true && !handler.resistStopPropagation)) {\x0d\n // Deal with the case an event is removed while event handlers are\x0d\n // Being processed (removeEventListener called from a listener)\x0d\n // And the case of event.stopImmediatePropagation() being called\x0d\n // For events not flagged as resistStopPropagation\x0d\n handler = next;\x0d\n continue;\x0d\n }\x0d\n if (handler.once) {\x0d\n handler.remove();\x0d\n root.size--;\x0d\n const { listener\x2C capture } = handler;\x0d\n this[kRemoveListener](root.size\x2C type\x2C listener\x2C capture);\x0d\n }\x0d\n\x0d\n try {\x0d\n let arg;\x0d\n if (handler.isNodeStyleListener) {\x0d\n arg = nodeValue;\x0d\n } else {\x0d\n arg = createEvent();\x0d\n }\x0d\n const callback = handler.weak ?\x0d\n handler.callback.deref() : handler.callback;\x0d\n let result;\x0d\n if (callback) {\x0d\n result = FunctionPrototypeCall(callback\x2C this\x2C arg);\x0d\n if (!handler.isNodeStyleListener) {\x0d\n arg[kIsBeingDispatched] = false;\x0d\n }\x0d\n }\x0d\n if (result !== undefined && result !== null)\x0d\n addCatch(result);\x0d\n } catch (err) {\x0d\n emitUncaughtException(err);\x0d\n }\x0d\n\x0d\n handler = next;\x0d\n }\x0d\n\x0d\n if (event !== undefined)\x0d\n event[kIsBeingDispatched] = false;\x0d\n }\x0d\n\x0d\n [kCreateEvent](nodeValue\x2C type) {\x0d\n return new CustomEvent(type\x2C { detail: nodeValue });\x0d\n }\x0d\n [customInspectSymbol](depth\x2C options) {\x0d\n if (!isEventTarget(this))\x0d\n throw new ERR_INVALID_THIS('EventTarget');\x0d\n const name = this.constructor.name;\x0d\n if (depth < 0)\x0d\n return name;\x0d\n\x0d\n const opts = ObjectAssign({}\x2C options\x2C {\x0d\n depth: NumberIsInteger(options.depth) ? options.depth - 1 : options.depth\x2C\x0d\n });\x0d\n\x0d\n return `${name} ${inspect({}\x2C opts)}`;\x0d\n }\x0d\n}\x0d\n\x0d\nObjectDefineProperties(EventTarget.prototype\x2C {\x0d\n addEventListener: kEnumerableProperty\x2C\x0d\n removeEventListener: kEnumerableProperty\x2C\x0d\n dispatchEvent: kEnumerableProperty\x2C\x0d\n [SymbolToStringTag]: {\x0d\n __proto__: null\x2C\x0d\n writable: false\x2C\x0d\n enumerable: false\x2C\x0d\n configurable: true\x2C\x0d\n value: 'EventTarget'\x2C\x0d\n }\x2C\x0d\n});\x0d\n\x0d\nfunction initNodeEventTarget(self) {\x0d\n initEventTarget(self);\x0d\n}\x0d\n\x0d\nclass NodeEventTarget extends EventTarget {\x0d\n static [kIsNodeEventTarget] = true;\x0d\n static defaultMaxListeners = 10;\x0d\n\x0d\n constructor() {\x0d\n super();\x0d\n initNodeEventTarget(this);\x0d\n }\x0d\n\x0d\n /**\x0d\n * @param {number} n\x0d\n */\x0d\n setMaxListeners(n) {\x0d\n if (!isNodeEventTarget(this))\x0d\n throw new ERR_INVALID_THIS('NodeEventTarget');\x0d\n EventEmitter.setMaxListeners(n\x2C this);\x0d\n }\x0d\n\x0d\n /**\x0d\n * @returns {number}\x0d\n */\x0d\n getMaxListeners() {\x0d\n if (!isNodeEventTarget(this))\x0d\n throw new ERR_INVALID_THIS('NodeEventTarget');\x0d\n return this[kMaxEventTargetListeners];\x0d\n }\x0d\n\x0d\n /**\x0d\n * @returns {string[]}\x0d\n */\x0d\n eventNames() {\x0d\n if (!isNodeEventTarget(this))\x0d\n throw new ERR_INVALID_THIS('NodeEventTarget');\x0d\n return ArrayFrom(this[kEvents].keys());\x0d\n }\x0d\n\x0d\n /**\x0d\n * @param {string} type\x0d\n * @returns {number}\x0d\n */\x0d\n listenerCount(type) {\x0d\n if (!isNodeEventTarget(this))\x0d\n throw new ERR_INVALID_THIS('NodeEventTarget');\x0d\n const root = this[kEvents].get(String(type));\x0d\n return root !== undefined ? root.size : 0;\x0d\n }\x0d\n\x0d\n /**\x0d\n * @param {string} type\x0d\n * @param {EventTargetCallback|EventListener} listener\x0d\n * @param {{\x0d\n * capture?: boolean\x2C\x0d\n * }} [options]\x0d\n * @returns {NodeEventTarget}\x0d\n */\x0d\n off(type\x2C listener\x2C options) {\x0d\n if (!isNodeEventTarget(this))\x0d\n throw new ERR_INVALID_THIS('NodeEventTarget');\x0d\n this.removeEventListener(type\x2C listener\x2C options);\x0d\n return this;\x0d\n }\x0d\n\x0d\n /**\x0d\n * @param {string} type\x0d\n * @param {EventTargetCallback|EventListener} listener\x0d\n * @param {{\x0d\n * capture?: boolean\x2C\x0d\n * }} [options]\x0d\n * @returns {NodeEventTarget}\x0d\n */\x0d\n removeListener(type\x2C listener\x2C options) {\x0d\n if (!isNodeEventTarget(this))\x0d\n throw new ERR_INVALID_THIS('NodeEventTarget');\x0d\n this.removeEventListener(type\x2C listener\x2C options);\x0d\n return this;\x0d\n }\x0d\n\x0d\n /**\x0d\n * @param {string} type\x0d\n * @param {EventTargetCallback|EventListener} listener\x0d\n * @returns {NodeEventTarget}\x0d\n */\x0d\n on(type\x2C listener) {\x0d\n if (!isNodeEventTarget(this))\x0d\n throw new ERR_INVALID_THIS('NodeEventTarget');\x0d\n this.addEventListener(type\x2C listener\x2C { [kIsNodeStyleListener]: true });\x0d\n return this;\x0d\n }\x0d\n\x0d\n /**\x0d\n * @param {string} type\x0d\n * @param {EventTargetCallback|EventListener} listener\x0d\n * @returns {NodeEventTarget}\x0d\n */\x0d\n addListener(type\x2C listener) {\x0d\n if (!isNodeEventTarget(this))\x0d\n throw new ERR_INVALID_THIS('NodeEventTarget');\x0d\n this.addEventListener(type\x2C listener\x2C { [kIsNodeStyleListener]: true });\x0d\n return this;\x0d\n }\x0d\n\x0d\n /**\x0d\n * @param {string} type\x0d\n * @param {any} arg\x0d\n * @returns {boolean}\x0d\n */\x0d\n emit(type\x2C arg) {\x0d\n if (!isNodeEventTarget(this))\x0d\n throw new ERR_INVALID_THIS('NodeEventTarget');\x0d\n validateString(type\x2C 'type');\x0d\n const hadListeners = this.listenerCount(type) > 0;\x0d\n this[kHybridDispatch](arg\x2C type);\x0d\n return hadListeners;\x0d\n }\x0d\n\x0d\n /**\x0d\n * @param {string} type\x0d\n * @param {EventTargetCallback|EventListener} listener\x0d\n * @returns {NodeEventTarget}\x0d\n */\x0d\n once(type\x2C listener) {\x0d\n if (!isNodeEventTarget(this))\x0d\n throw new ERR_INVALID_THIS('NodeEventTarget');\x0d\n this.addEventListener(type\x2C listener\x2C\x0d\n { once: true\x2C [kIsNodeStyleListener]: true });\x0d\n return this;\x0d\n }\x0d\n\x0d\n /**\x0d\n * @param {string} [type]\x0d\n * @returns {NodeEventTarget}\x0d\n */\x0d\n removeAllListeners(type) {\x0d\n if (!isNodeEventTarget(this))\x0d\n throw new ERR_INVALID_THIS('NodeEventTarget');\x0d\n if (type !== undefined) {\x0d\n this[kEvents].delete(String(type));\x0d\n } else {\x0d\n this[kEvents].clear();\x0d\n }\x0d\n\x0d\n return this;\x0d\n }\x0d\n}\x0d\n\x0d\nObjectDefineProperties(NodeEventTarget.prototype\x2C {\x0d\n setMaxListeners: kEnumerableProperty\x2C\x0d\n getMaxListeners: kEnumerableProperty\x2C\x0d\n eventNames: kEnumerableProperty\x2C\x0d\n listenerCount: kEnumerableProperty\x2C\x0d\n off: kEnumerableProperty\x2C\x0d\n removeListener: kEnumerableProperty\x2C\x0d\n on: kEnumerableProperty\x2C\x0d\n addListener: kEnumerableProperty\x2C\x0d\n once: kEnumerableProperty\x2C\x0d\n emit: kEnumerableProperty\x2C\x0d\n removeAllListeners: kEnumerableProperty\x2C\x0d\n});\x0d\n\x0d\n// EventTarget API\x0d\n\x0d\nfunction validateEventListener(listener) {\x0d\n if (typeof listener === 'function' ||\x0d\n typeof listener?.handleEvent === 'function') {\x0d\n return true;\x0d\n }\x0d\n\x0d\n if (listener == null)\x0d\n return false;\x0d\n\x0d\n if (typeof listener === 'object') {\x0d\n // Require `handleEvent` lazily.\x0d\n return true;\x0d\n }\x0d\n\x0d\n throw new ERR_INVALID_ARG_TYPE('listener'\x2C 'EventListener'\x2C listener);\x0d\n}\x0d\n\x0d\nfunction validateEventListenerOptions(options) {\x0d\n if (typeof options === 'boolean')\x0d\n return { capture: options };\x0d\n\x0d\n if (options === null)\x0d\n return kEmptyObject;\x0d\n validateObject(options\x2C 'options'\x2C kValidateObjectAllowObjects);\x0d\n return {\x0d\n once: Boolean(options.once)\x2C\x0d\n capture: Boolean(options.capture)\x2C\x0d\n passive: Boolean(options.passive)\x2C\x0d\n signal: options.signal\x2C\x0d\n weak: options[kWeakHandler]\x2C\x0d\n resistStopPropagation: options[kResistStopPropagation] ?? false\x2C\x0d\n isNodeStyleListener: Boolean(options[kIsNodeStyleListener])\x2C\x0d\n };\x0d\n}\x0d\n\x0d\n// Test whether the argument is an event object. This is far from a fool-proof\x0d\n// test\x2C for example this input will result in a false positive:\x0d\n// > isEventTarget({ constructor: EventTarget })\x0d\n// It stands in its current implementation as a compromise.\x0d\n// Ref: https://github.com/nodejs/node/pull/33661\x0d\nfunction isEventTarget(obj) {\x0d\n return obj?.constructor?.[kIsEventTarget];\x0d\n}\x0d\n\x0d\nfunction isNodeEventTarget(obj) {\x0d\n return obj?.constructor?.[kIsNodeEventTarget];\x0d\n}\x0d\n\x0d\nfunction addCatch(promise) {\x0d\n const then = promise.then;\x0d\n if (typeof then === 'function') {\x0d\n FunctionPrototypeCall(then\x2C promise\x2C undefined\x2C function(err) {\x0d\n // The callback is called with nextTick to avoid a follow-up\x0d\n // rejection from this promise.\x0d\n emitUncaughtException(err);\x0d\n });\x0d\n }\x0d\n}\x0d\n\x0d\nfunction emitUncaughtException(err) {\x0d\n process.nextTick(() => { throw err; });\x0d\n}\x0d\n\x0d\nfunction makeEventHandler(handler) {\x0d\n // Event handlers are dispatched in the order they were first set\x0d\n // See https://github.com/nodejs/node/pull/35949#issuecomment-722496598\x0d\n function eventHandler(...args) {\x0d\n if (typeof eventHandler.handler !== 'function') {\x0d\n return;\x0d\n }\x0d\n return ReflectApply(eventHandler.handler\x2C this\x2C args);\x0d\n }\x0d\n eventHandler.handler = handler;\x0d\n return eventHandler;\x0d\n}\x0d\n\x0d\nfunction defineEventHandler(emitter\x2C name\x2C event = name) {\x0d\n // 8.1.5.1 Event handlers - basically `on[eventName]` attributes\x0d\n const propName = `on${name}`;\x0d\n function get() {\x0d\n validateInternalField(this\x2C kHandlers\x2C 'EventTarget');\x0d\n return this[kHandlers]?.get(event)?.handler ?? null;\x0d\n }\x0d\n ObjectDefineProperty(get\x2C 'name'\x2C {\x0d\n __proto__: null\x2C\x0d\n value: `get ${propName}`\x2C\x0d\n });\x0d\n\x0d\n function set(value) {\x0d\n validateInternalField(this\x2C kHandlers\x2C 'EventTarget');\x0d\n let wrappedHandler = this[kHandlers]?.get(event);\x0d\n if (wrappedHandler) {\x0d\n if (typeof wrappedHandler.handler === 'function') {\x0d\n this[kEvents].get(event).size--;\x0d\n const size = this[kEvents].get(event).size;\x0d\n this[kRemoveListener](size\x2C event\x2C wrappedHandler.handler\x2C false);\x0d\n }\x0d\n wrappedHandler.handler = value;\x0d\n if (typeof wrappedHandler.handler === 'function') {\x0d\n this[kEvents].get(event).size++;\x0d\n const size = this[kEvents].get(event).size;\x0d\n this[kNewListener](size\x2C event\x2C value\x2C false\x2C false\x2C false\x2C false);\x0d\n }\x0d\n } else {\x0d\n wrappedHandler = makeEventHandler(value);\x0d\n this.addEventListener(event\x2C wrappedHandler);\x0d\n }\x0d\n this[kHandlers].set(event\x2C wrappedHandler);\x0d\n }\x0d\n ObjectDefineProperty(set\x2C 'name'\x2C {\x0d\n __proto__: null\x2C\x0d\n value: `set ${propName}`\x2C\x0d\n });\x0d\n\x0d\n ObjectDefineProperty(emitter\x2C propName\x2C {\x0d\n __proto__: null\x2C\x0d\n get\x2C\x0d\n set\x2C\x0d\n configurable: true\x2C\x0d\n enumerable: true\x2C\x0d\n });\x0d\n}\x0d\n\x0d\nconst EventEmitterMixin = (Superclass) => {\x0d\n class MixedEventEmitter extends Superclass {\x0d\n constructor(...args) {\x0d\n args = new SafeArrayIterator(args);\x0d\n super(...args);\x0d\n FunctionPrototypeCall(EventEmitter\x2C this);\x0d\n }\x0d\n }\x0d\n const protoProps = ObjectGetOwnPropertyDescriptors(EventEmitter.prototype);\x0d\n delete protoProps.constructor;\x0d\n const propertiesValues = ObjectValues(protoProps);\x0d\n for (let i = 0; i < propertiesValues.length; i++) {\x0d\n // We want to use null-prototype objects to not rely on globally mutable\x0d\n // %Object.prototype%.\x0d\n ObjectSetPrototypeOf(propertiesValues[i]\x2C null);\x0d\n }\x0d\n ObjectDefineProperties(MixedEventEmitter.prototype\x2C protoProps);\x0d\n return MixedEventEmitter;\x0d\n};\x0d\n\x0d\nmodule.exports = {\x0d\n Event\x2C\x0d\n CustomEvent\x2C\x0d\n EventEmitterMixin\x2C\x0d\n EventTarget\x2C\x0d\n NodeEventTarget\x2C\x0d\n defineEventHandler\x2C\x0d\n initEventTarget\x2C\x0d\n initNodeEventTarget\x2C\x0d\n kCreateEvent\x2C\x0d\n kNewListener\x2C\x0d\n kTrustEvent\x2C\x0d\n kRemoveListener\x2C\x0d\n kEvents\x2C\x0d\n kWeakHandler\x2C\x0d\n kResistStopPropagation\x2C\x0d\n isEventTarget\x2C\x0d\n};\x0d\n
code-source-info,0x77b20dac86,56,30610,32094,C0O30610C24O30634C36O30730C41O30735C46O30889C56O30910C66O30966C77O30889C82O31852C92O31873C102O31929C113O31852C118O31953C125O31983C132O32022C138O32032C148O31953C154O32093,,
code-creation,Eval,10,330162,0x77b20de1a6,5, node:internal/streams/end-of-stream:1:1,0x77b20dde50,~
script-source,90,node:internal/streams/end-of-stream,// Ported from https://github.com/mafintosh/end-of-stream with\x0d\n// permission from the author\x2C Mathias Buus (@mafintosh).\x0d\n\x0d\n'use strict';\x0d\n\x0d\nconst {\x0d\n AbortError\x2C\x0d\n codes\x2C\x0d\n} = require('internal/errors');\x0d\nconst {\x0d\n ERR_INVALID_ARG_TYPE\x2C\x0d\n ERR_STREAM_PREMATURE_CLOSE\x2C\x0d\n} = codes;\x0d\nconst {\x0d\n kEmptyObject\x2C\x0d\n once\x2C\x0d\n} = require('internal/util');\x0d\nconst {\x0d\n validateAbortSignal\x2C\x0d\n validateFunction\x2C\x0d\n validateObject\x2C\x0d\n validateBoolean\x2C\x0d\n} = require('internal/validators');\x0d\n\x0d\nconst {\x0d\n Promise\x2C\x0d\n PromisePrototypeThen\x2C\x0d\n SymbolDispose\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst {\x0d\n isClosed\x2C\x0d\n isReadable\x2C\x0d\n isReadableNodeStream\x2C\x0d\n isReadableStream\x2C\x0d\n isReadableFinished\x2C\x0d\n isReadableErrored\x2C\x0d\n isWritable\x2C\x0d\n isWritableNodeStream\x2C\x0d\n isWritableStream\x2C\x0d\n isWritableFinished\x2C\x0d\n isWritableErrored\x2C\x0d\n isNodeStream\x2C\x0d\n willEmitClose: _willEmitClose\x2C\x0d\n kIsClosedPromise\x2C\x0d\n} = require('internal/streams/utils');\x0d\nlet addAbortListener;\x0d\n\x0d\nfunction isRequest(stream) {\x0d\n return stream.setHeader && typeof stream.abort === 'function';\x0d\n}\x0d\n\x0d\nconst nop = () => {};\x0d\n\x0d\nfunction eos(stream\x2C options\x2C callback) {\x0d\n if (arguments.length === 2) {\x0d\n callback = options;\x0d\n options = kEmptyObject;\x0d\n } else if (options == null) {\x0d\n options = kEmptyObject;\x0d\n } else {\x0d\n validateObject(options\x2C 'options');\x0d\n }\x0d\n validateFunction(callback\x2C 'callback');\x0d\n validateAbortSignal(options.signal\x2C 'options.signal');\x0d\n\x0d\n callback = once(callback);\x0d\n\x0d\n if (isReadableStream(stream) || isWritableStream(stream)) {\x0d\n return eosWeb(stream\x2C options\x2C callback);\x0d\n }\x0d\n\x0d\n if (!isNodeStream(stream)) {\x0d\n throw new ERR_INVALID_ARG_TYPE('stream'\x2C ['ReadableStream'\x2C 'WritableStream'\x2C 'Stream']\x2C stream);\x0d\n }\x0d\n\x0d\n const readable = options.readable ?? isReadableNodeStream(stream);\x0d\n const writable = options.writable ?? isWritableNodeStream(stream);\x0d\n\x0d\n const wState = stream._writableState;\x0d\n const rState = stream._readableState;\x0d\n\x0d\n const onlegacyfinish = () => {\x0d\n if (!stream.writable) {\x0d\n onfinish();\x0d\n }\x0d\n };\x0d\n\x0d\n // TODO (ronag): Improve soft detection to include core modules and\x0d\n // common ecosystem modules that do properly emit 'close' but fail\x0d\n // this generic check.\x0d\n let willEmitClose = (\x0d\n _willEmitClose(stream) &&\x0d\n isReadableNodeStream(stream) === readable &&\x0d\n isWritableNodeStream(stream) === writable\x0d\n );\x0d\n\x0d\n let writableFinished = isWritableFinished(stream\x2C false);\x0d\n const onfinish = () => {\x0d\n writableFinished = true;\x0d\n // Stream should not be destroyed here. If it is that\x0d\n // means that user space is doing something differently and\x0d\n // we cannot trust willEmitClose.\x0d\n if (stream.destroyed) {\x0d\n willEmitClose = false;\x0d\n }\x0d\n\x0d\n if (willEmitClose && (!stream.readable || readable)) {\x0d\n return;\x0d\n }\x0d\n\x0d\n if (!readable || readableFinished) {\x0d\n callback.call(stream);\x0d\n }\x0d\n };\x0d\n\x0d\n let readableFinished = isReadableFinished(stream\x2C false);\x0d\n const onend = () => {\x0d\n readableFinished = true;\x0d\n // Stream should not be destroyed here. If it is that\x0d\n // means that user space is doing something differently and\x0d\n // we cannot trust willEmitClose.\x0d\n if (stream.destroyed) {\x0d\n willEmitClose = false;\x0d\n }\x0d\n\x0d\n if (willEmitClose && (!stream.writable || writable)) {\x0d\n return;\x0d\n }\x0d\n\x0d\n if (!writable || writableFinished) {\x0d\n callback.call(stream);\x0d\n }\x0d\n };\x0d\n\x0d\n const onerror = (err) => {\x0d\n callback.call(stream\x2C err);\x0d\n };\x0d\n\x0d\n let closed = isClosed(stream);\x0d\n\x0d\n const onclose = () => {\x0d\n closed = true;\x0d\n\x0d\n const errored = isWritableErrored(stream) || isReadableErrored(stream);\x0d\n\x0d\n if (errored && typeof errored !== 'boolean') {\x0d\n return callback.call(stream\x2C errored);\x0d\n }\x0d\n\x0d\n if (readable && !readableFinished && isReadableNodeStream(stream\x2C true)) {\x0d\n if (!isReadableFinished(stream\x2C false))\x0d\n return callback.call(stream\x2C\x0d\n new ERR_STREAM_PREMATURE_CLOSE());\x0d\n }\x0d\n if (writable && !writableFinished) {\x0d\n if (!isWritableFinished(stream\x2C false))\x0d\n return callback.call(stream\x2C\x0d\n new ERR_STREAM_PREMATURE_CLOSE());\x0d\n }\x0d\n\x0d\n callback.call(stream);\x0d\n };\x0d\n\x0d\n const onclosed = () => {\x0d\n closed = true;\x0d\n\x0d\n const errored = isWritableErrored(stream) || isReadableErrored(stream);\x0d\n\x0d\n if (errored && typeof errored !== 'boolean') {\x0d\n return callback.call(stream\x2C errored);\x0d\n }\x0d\n\x0d\n callback.call(stream);\x0d\n };\x0d\n\x0d\n const onrequest = () => {\x0d\n stream.req.on('finish'\x2C onfinish);\x0d\n };\x0d\n\x0d\n if (isRequest(stream)) {\x0d\n stream.on('complete'\x2C onfinish);\x0d\n if (!willEmitClose) {\x0d\n stream.on('abort'\x2C onclose);\x0d\n }\x0d\n if (stream.req) {\x0d\n onrequest();\x0d\n } else {\x0d\n stream.on('request'\x2C onrequest);\x0d\n }\x0d\n } else if (writable && !wState) { // legacy streams\x0d\n stream.on('end'\x2C onlegacyfinish);\x0d\n stream.on('close'\x2C onlegacyfinish);\x0d\n }\x0d\n\x0d\n // Not all streams will emit 'close' after 'aborted'.\x0d\n if (!willEmitClose && typeof stream.aborted === 'boolean') {\x0d\n stream.on('aborted'\x2C onclose);\x0d\n }\x0d\n\x0d\n stream.on('end'\x2C onend);\x0d\n stream.on('finish'\x2C onfinish);\x0d\n if (options.error !== false) {\x0d\n stream.on('error'\x2C onerror);\x0d\n }\x0d\n stream.on('close'\x2C onclose);\x0d\n\x0d\n if (closed) {\x0d\n process.nextTick(onclose);\x0d\n } else if (wState?.errorEmitted || rState?.errorEmitted) {\x0d\n if (!willEmitClose) {\x0d\n process.nextTick(onclosed);\x0d\n }\x0d\n } else if (\x0d\n !readable &&\x0d\n (!willEmitClose || isReadable(stream)) &&\x0d\n (writableFinished || isWritable(stream) === false) &&\x0d\n (wState == null || wState.pendingcb === 0)\x0d\n ) {\x0d\n process.nextTick(onclosed);\x0d\n } else if (\x0d\n !writable &&\x0d\n (!willEmitClose || isWritable(stream)) &&\x0d\n (readableFinished || isReadable(stream) === false)\x0d\n ) {\x0d\n process.nextTick(onclosed);\x0d\n } else if ((rState && stream.req && stream.aborted)) {\x0d\n process.nextTick(onclosed);\x0d\n }\x0d\n\x0d\n const cleanup = () => {\x0d\n callback = nop;\x0d\n stream.removeListener('aborted'\x2C onclose);\x0d\n stream.removeListener('complete'\x2C onfinish);\x0d\n stream.removeListener('abort'\x2C onclose);\x0d\n stream.removeListener('request'\x2C onrequest);\x0d\n if (stream.req) stream.req.removeListener('finish'\x2C onfinish);\x0d\n stream.removeListener('end'\x2C onlegacyfinish);\x0d\n stream.removeListener('close'\x2C onlegacyfinish);\x0d\n stream.removeListener('finish'\x2C onfinish);\x0d\n stream.removeListener('end'\x2C onend);\x0d\n stream.removeListener('error'\x2C onerror);\x0d\n stream.removeListener('close'\x2C onclose);\x0d\n };\x0d\n\x0d\n if (options.signal && !closed) {\x0d\n const abort = () => {\x0d\n // Keep it because cleanup removes it.\x0d\n const endCallback = callback;\x0d\n cleanup();\x0d\n endCallback.call(\x0d\n stream\x2C\x0d\n new AbortError(undefined\x2C { cause: options.signal.reason }));\x0d\n };\x0d\n if (options.signal.aborted) {\x0d\n process.nextTick(abort);\x0d\n } else {\x0d\n addAbortListener ??= require('internal/events/abort_listener').addAbortListener;\x0d\n const disposable = addAbortListener(options.signal\x2C abort);\x0d\n const originalCallback = callback;\x0d\n callback = once((...args) => {\x0d\n disposable[SymbolDispose]();\x0d\n originalCallback.apply(stream\x2C args);\x0d\n });\x0d\n }\x0d\n }\x0d\n\x0d\n return cleanup;\x0d\n}\x0d\n\x0d\nfunction eosWeb(stream\x2C options\x2C callback) {\x0d\n let isAborted = false;\x0d\n let abort = nop;\x0d\n if (options.signal) {\x0d\n abort = () => {\x0d\n isAborted = true;\x0d\n callback.call(stream\x2C new AbortError(undefined\x2C { cause: options.signal.reason }));\x0d\n };\x0d\n if (options.signal.aborted) {\x0d\n process.nextTick(abort);\x0d\n } else {\x0d\n addAbortListener ??= require('internal/events/abort_listener').addAbortListener;\x0d\n const disposable = addAbortListener(options.signal\x2C abort);\x0d\n const originalCallback = callback;\x0d\n callback = once((...args) => {\x0d\n disposable[SymbolDispose]();\x0d\n originalCallback.apply(stream\x2C args);\x0d\n });\x0d\n }\x0d\n }\x0d\n const resolverFn = (...args) => {\x0d\n if (!isAborted) {\x0d\n process.nextTick(() => callback.apply(stream\x2C args));\x0d\n }\x0d\n };\x0d\n PromisePrototypeThen(\x0d\n stream[kIsClosedPromise].promise\x2C\x0d\n resolverFn\x2C\x0d\n resolverFn\x2C\x0d\n );\x0d\n return nop;\x0d\n}\x0d\n\x0d\nfunction finished(stream\x2C opts) {\x0d\n let autoCleanup = false;\x0d\n if (opts === null) {\x0d\n opts = kEmptyObject;\x0d\n }\x0d\n if (opts?.cleanup) {\x0d\n validateBoolean(opts.cleanup\x2C 'cleanup');\x0d\n autoCleanup = opts.cleanup;\x0d\n }\x0d\n return new Promise((resolve\x2C reject) => {\x0d\n const cleanup = eos(stream\x2C opts\x2C (err) => {\x0d\n if (autoCleanup) {\x0d\n cleanup();\x0d\n }\x0d\n if (err) {\x0d\n reject(err);\x0d\n } else {\x0d\n resolve();\x0d\n }\x0d\n });\x0d\n });\x0d\n}\x0d\n\x0d\nmodule.exports = eos;\x0d\nmodule.exports.finished = finished;\x0d\n
code-source-info,0x77b20de1a6,90,0,8786,C0O0C4O8786,,
code-creation,JS,10,330797,0x77b20de4e6,353, node:internal/streams/end-of-stream:1:1,0x77b20de120,~
code-source-info,0x77b20de4e6,90,0,8786,C0O0C120O180C126O180C131O153C137O168C142O220C148O245C154O325C160O325C165O297C171O314C177O449C183O449C188O363C194O387C200O408C206O427C212O495C218O507C224O532C230O878C236O878C241O579C247O592C253O607C259O632C265O653C271O676C277O698C283O713C289O738C295O759C301O782C307O804C313O836C319O855C325O918C326O918C328O1052C332O1052C334O8726C336O8741C340O8756C347O8773C352O8785,,
code-creation,Eval,10,331389,0x77b20dfab6,5, node:internal/streams/utils:1:1,0x77b20df830,~
script-source,91,node:internal/streams/utils,'use strict';\x0d\n\x0d\nconst {\x0d\n SymbolAsyncIterator\x2C\x0d\n SymbolIterator\x2C\x0d\n SymbolFor\x2C\x0d\n Symbol\x2C\x0d\n} = primordials;\x0d\n\x0d\n// We need to use SymbolFor to make these globally available\x0d\n// for interopt with readable-stream\x2C i.e. readable-stream\x0d\n// and node core needs to be able to read/write private state\x0d\n// from each other for proper interoperability.\x0d\nconst kIsDestroyed = SymbolFor('nodejs.stream.destroyed');\x0d\nconst kIsErrored = SymbolFor('nodejs.stream.errored');\x0d\nconst kIsReadable = SymbolFor('nodejs.stream.readable');\x0d\nconst kIsWritable = SymbolFor('nodejs.stream.writable');\x0d\nconst kIsDisturbed = SymbolFor('nodejs.stream.disturbed');\x0d\n\x0d\nconst kOnConstructed = Symbol('kOnConstructed');\x0d\n\x0d\nconst kIsClosedPromise = SymbolFor('nodejs.webstream.isClosedPromise');\x0d\nconst kControllerErrorFunction = SymbolFor('nodejs.webstream.controllerErrorFunction');\x0d\n\x0d\nconst kState = Symbol('kState');\x0d\nconst kObjectMode = 1 << 0;\x0d\nconst kErrorEmitted = 1 << 1;\x0d\nconst kAutoDestroy = 1 << 2;\x0d\nconst kEmitClose = 1 << 3;\x0d\nconst kDestroyed = 1 << 4;\x0d\nconst kClosed = 1 << 5;\x0d\nconst kCloseEmitted = 1 << 6;\x0d\nconst kErrored = 1 << 7;\x0d\nconst kConstructed = 1 << 8;\x0d\n\x0d\nfunction isReadableNodeStream(obj\x2C strict = false) {\x0d\n return !!(\x0d\n obj &&\x0d\n typeof obj.pipe === 'function' &&\x0d\n typeof obj.on === 'function' &&\x0d\n (\x0d\n !strict ||\x0d\n (typeof obj.pause === 'function' && typeof obj.resume === 'function')\x0d\n ) &&\x0d\n (!obj._writableState || obj._readableState?.readable !== false) && // Duplex\x0d\n (!obj._writableState || obj._readableState) // Writable has .pipe.\x0d\n );\x0d\n}\x0d\n\x0d\nfunction isWritableNodeStream(obj) {\x0d\n return !!(\x0d\n obj &&\x0d\n typeof obj.write === 'function' &&\x0d\n typeof obj.on === 'function' &&\x0d\n (!obj._readableState || obj._writableState?.writable !== false) // Duplex\x0d\n );\x0d\n}\x0d\n\x0d\nfunction isDuplexNodeStream(obj) {\x0d\n return !!(\x0d\n obj &&\x0d\n (typeof obj.pipe === 'function' && obj._readableState) &&\x0d\n typeof obj.on === 'function' &&\x0d\n typeof obj.write === 'function'\x0d\n );\x0d\n}\x0d\n\x0d\nfunction isNodeStream(obj) {\x0d\n return (\x0d\n obj &&\x0d\n (\x0d\n obj._readableState ||\x0d\n obj._writableState ||\x0d\n (typeof obj.write === 'function' && typeof obj.on === 'function') ||\x0d\n (typeof obj.pipe === 'function' && typeof obj.on === 'function')\x0d\n )\x0d\n );\x0d\n}\x0d\n\x0d\nfunction isReadableStream(obj) {\x0d\n return !!(\x0d\n obj &&\x0d\n !isNodeStream(obj) &&\x0d\n typeof obj.pipeThrough === 'function' &&\x0d\n typeof obj.getReader === 'function' &&\x0d\n typeof obj.cancel === 'function'\x0d\n );\x0d\n}\x0d\n\x0d\nfunction isWritableStream(obj) {\x0d\n return !!(\x0d\n obj &&\x0d\n !isNodeStream(obj) &&\x0d\n typeof obj.getWriter === 'function' &&\x0d\n typeof obj.abort === 'function'\x0d\n );\x0d\n}\x0d\n\x0d\nfunction isTransformStream(obj) {\x0d\n return !!(\x0d\n obj &&\x0d\n !isNodeStream(obj) &&\x0d\n typeof obj.readable === 'object' &&\x0d\n typeof obj.writable === 'object'\x0d\n );\x0d\n}\x0d\n\x0d\nfunction isWebStream(obj) {\x0d\n return isReadableStream(obj) || isWritableStream(obj) || isTransformStream(obj);\x0d\n}\x0d\n\x0d\nfunction isIterable(obj\x2C isAsync) {\x0d\n if (obj == null) return false;\x0d\n if (isAsync === true) return typeof obj[SymbolAsyncIterator] === 'function';\x0d\n if (isAsync === false) return typeof obj[SymbolIterator] === 'function';\x0d\n return typeof obj[SymbolAsyncIterator] === 'function' ||\x0d\n typeof obj[SymbolIterator] === 'function';\x0d\n}\x0d\n\x0d\nfunction isDestroyed(stream) {\x0d\n if (!isNodeStream(stream)) return null;\x0d\n const wState = stream._writableState;\x0d\n const rState = stream._readableState;\x0d\n const state = wState || rState;\x0d\n return !!(stream.destroyed || stream[kIsDestroyed] || state?.destroyed);\x0d\n}\x0d\n\x0d\n// Have been end():d.\x0d\nfunction isWritableEnded(stream) {\x0d\n if (!isWritableNodeStream(stream)) return null;\x0d\n if (stream.writableEnded === true) return true;\x0d\n const wState = stream._writableState;\x0d\n if (wState?.errored) return false;\x0d\n if (typeof wState?.ended !== 'boolean') return null;\x0d\n return wState.ended;\x0d\n}\x0d\n\x0d\n// Have emitted 'finish'.\x0d\nfunction isWritableFinished(stream\x2C strict) {\x0d\n if (!isWritableNodeStream(stream)) return null;\x0d\n if (stream.writableFinished === true) return true;\x0d\n const wState = stream._writableState;\x0d\n if (wState?.errored) return false;\x0d\n if (typeof wState?.finished !== 'boolean') return null;\x0d\n return !!(\x0d\n wState.finished ||\x0d\n (strict === false && wState.ended === true && wState.length === 0)\x0d\n );\x0d\n}\x0d\n\x0d\n// Have been push(null):d.\x0d\nfunction isReadableEnded(stream) {\x0d\n if (!isReadableNodeStream(stream)) return null;\x0d\n if (stream.readableEnded === true) return true;\x0d\n const rState = stream._readableState;\x0d\n if (!rState || rState.errored) return false;\x0d\n if (typeof rState?.ended !== 'boolean') return null;\x0d\n return rState.ended;\x0d\n}\x0d\n\x0d\n// Have emitted 'end'.\x0d\nfunction isReadableFinished(stream\x2C strict) {\x0d\n if (!isReadableNodeStream(stream)) return null;\x0d\n const rState = stream._readableState;\x0d\n if (rState?.errored) return false;\x0d\n if (typeof rState?.endEmitted !== 'boolean') return null;\x0d\n return !!(\x0d\n rState.endEmitted ||\x0d\n (strict === false && rState.ended === true && rState.length === 0)\x0d\n );\x0d\n}\x0d\n\x0d\nfunction isReadable(stream) {\x0d\n if (stream && stream[kIsReadable] != null) return stream[kIsReadable];\x0d\n if (typeof stream?.readable !== 'boolean') return null;\x0d\n if (isDestroyed(stream)) return false;\x0d\n return isReadableNodeStream(stream) &&\x0d\n stream.readable &&\x0d\n !isReadableFinished(stream);\x0d\n}\x0d\n\x0d\nfunction isWritable(stream) {\x0d\n if (stream && stream[kIsWritable] != null) return stream[kIsWritable];\x0d\n if (typeof stream?.writable !== 'boolean') return null;\x0d\n if (isDestroyed(stream)) return false;\x0d\n return isWritableNodeStream(stream) &&\x0d\n stream.writable &&\x0d\n !isWritableEnded(stream);\x0d\n}\x0d\n\x0d\nfunction isFinished(stream\x2C opts) {\x0d\n if (!isNodeStream(stream)) {\x0d\n return null;\x0d\n }\x0d\n\x0d\n if (isDestroyed(stream)) {\x0d\n return true;\x0d\n }\x0d\n\x0d\n if (opts?.readable !== false && isReadable(stream)) {\x0d\n return false;\x0d\n }\x0d\n\x0d\n if (opts?.writable !== false && isWritable(stream)) {\x0d\n return false;\x0d\n }\x0d\n\x0d\n return true;\x0d\n}\x0d\n\x0d\nfunction isWritableErrored(stream) {\x0d\n if (!isNodeStream(stream)) {\x0d\n return null;\x0d\n }\x0d\n\x0d\n if (stream.writableErrored) {\x0d\n return stream.writableErrored;\x0d\n }\x0d\n\x0d\n return stream._writableState?.errored ?? null;\x0d\n}\x0d\n\x0d\nfunction isReadableErrored(stream) {\x0d\n if (!isNodeStream(stream)) {\x0d\n return null;\x0d\n }\x0d\n\x0d\n if (stream.readableErrored) {\x0d\n return stream.readableErrored;\x0d\n }\x0d\n\x0d\n return stream._readableState?.errored ?? null;\x0d\n}\x0d\n\x0d\nfunction isClosed(stream) {\x0d\n if (!isNodeStream(stream)) {\x0d\n return null;\x0d\n }\x0d\n\x0d\n if (typeof stream.closed === 'boolean') {\x0d\n return stream.closed;\x0d\n }\x0d\n\x0d\n const wState = stream._writableState;\x0d\n const rState = stream._readableState;\x0d\n\x0d\n if (\x0d\n typeof wState?.closed === 'boolean' ||\x0d\n typeof rState?.closed === 'boolean'\x0d\n ) {\x0d\n return wState?.closed || rState?.closed;\x0d\n }\x0d\n\x0d\n if (typeof stream._closed === 'boolean' && isOutgoingMessage(stream)) {\x0d\n return stream._closed;\x0d\n }\x0d\n\x0d\n return null;\x0d\n}\x0d\n\x0d\nfunction isOutgoingMessage(stream) {\x0d\n return (\x0d\n typeof stream._closed === 'boolean' &&\x0d\n typeof stream._defaultKeepAlive === 'boolean' &&\x0d\n typeof stream._removedConnection === 'boolean' &&\x0d\n typeof stream._removedContLen === 'boolean'\x0d\n );\x0d\n}\x0d\n\x0d\nfunction isServerResponse(stream) {\x0d\n return (\x0d\n typeof stream._sent100 === 'boolean' &&\x0d\n isOutgoingMessage(stream)\x0d\n );\x0d\n}\x0d\n\x0d\nfunction isServerRequest(stream) {\x0d\n return (\x0d\n typeof stream._consuming === 'boolean' &&\x0d\n typeof stream._dumped === 'boolean' &&\x0d\n stream.req?.upgradeOrConnect === undefined\x0d\n );\x0d\n}\x0d\n\x0d\nfunction willEmitClose(stream) {\x0d\n if (!isNodeStream(stream)) return null;\x0d\n\x0d\n const wState = stream._writableState;\x0d\n const rState = stream._readableState;\x0d\n const state = wState || rState;\x0d\n\x0d\n return (!state && isServerResponse(stream)) || !!(\x0d\n state &&\x0d\n state.autoDestroy &&\x0d\n state.emitClose &&\x0d\n state.closed === false\x0d\n );\x0d\n}\x0d\n\x0d\nfunction isDisturbed(stream) {\x0d\n return !!(stream && (\x0d\n stream[kIsDisturbed] ??\x0d\n (stream.readableDidRead || stream.readableAborted)\x0d\n ));\x0d\n}\x0d\n\x0d\nfunction isErrored(stream) {\x0d\n return !!(stream && (\x0d\n stream[kIsErrored] ??\x0d\n stream.readableErrored ??\x0d\n stream.writableErrored ??\x0d\n stream._readableState?.errorEmitted ??\x0d\n stream._writableState?.errorEmitted ??\x0d\n stream._readableState?.errored ??\x0d\n stream._writableState?.errored\x0d\n ));\x0d\n}\x0d\n\x0d\nmodule.exports = {\x0d\n kOnConstructed\x2C\x0d\n isDestroyed\x2C\x0d\n kIsDestroyed\x2C\x0d\n isDisturbed\x2C\x0d\n kIsDisturbed\x2C\x0d\n isErrored\x2C\x0d\n kIsErrored\x2C\x0d\n isReadable\x2C\x0d\n kIsReadable\x2C\x0d\n kIsClosedPromise\x2C\x0d\n kControllerErrorFunction\x2C\x0d\n kIsWritable\x2C\x0d\n isClosed\x2C\x0d\n isDuplexNodeStream\x2C\x0d\n isFinished\x2C\x0d\n isIterable\x2C\x0d\n isReadableNodeStream\x2C\x0d\n isReadableStream\x2C\x0d\n isReadableEnded\x2C\x0d\n isReadableFinished\x2C\x0d\n isReadableErrored\x2C\x0d\n isNodeStream\x2C\x0d\n isWebStream\x2C\x0d\n isWritable\x2C\x0d\n isWritableNodeStream\x2C\x0d\n isWritableStream\x2C\x0d\n isWritableEnded\x2C\x0d\n isWritableFinished\x2C\x0d\n isWritableErrored\x2C\x0d\n isServerRequest\x2C\x0d\n isServerResponse\x2C\x0d\n willEmitClose\x2C\x0d\n isTransformStream\x2C\x0d\n kState\x2C\x0d\n // bitfields\x0d\n kObjectMode\x2C\x0d\n kErrorEmitted\x2C\x0d\n kAutoDestroy\x2C\x0d\n kEmitClose\x2C\x0d\n kDestroyed\x2C\x0d\n kClosed\x2C\x0d\n kCloseEmitted\x2C\x0d\n kErrored\x2C\x0d\n kConstructed\x2C\x0d\n};\x0d\n
code-source-info,0x77b20dfab6,91,0,9298,C0O0C4O9298,,
code-creation,JS,10,332056,0x77b20e08ae,592, node:internal/streams/utils:1:1,0x77b20dfa30,~
code-source-info,0x77b20e08ae,91,0,9298,C0O0C181O28C187O52C193O71C198O85C203O369C207O369C211O369C213O427C217O427C221O427C223O484C227O484C231O484C233O542C237O542C241O542C243O601C247O601C251O601C253O665C257O665C262O719C266O719C271O800C275O800C280O873C284O873C289O912C292O943C295O973C298O1001C301O1029C304O1054C307O1085C310O1111C315O1141C320O8478C328O8500C334O8519C340O8535C346O8552C352O8568C358O8585C364O8599C370O8614C376O8629C382O8645C388O8666C394O8695C400O8711C406O8724C412O8747C418O8762C424O8777C430O8802C436O8823C442O8843C448O8866C454O8888C460O8905C466O8921C472O8936C478O8961C484O8982C490O9002C496O9025C502O9047C508O9067C514O9088C520O9106C526O9128C532O9155C538O9171C544O9189C550O9206C556O9221C562O9236C568O9248C574O9266C580O9279C586O8493C591O9297,,
code-creation,Eval,10,332702,0x77b20e2e1e,5, node:internal/streams/compose:1:1,0x77b20e2bf8,~
script-source,92,node:internal/streams/compose,'use strict';\x0d\n\x0d\nconst { pipeline } = require('internal/streams/pipeline');\x0d\nconst Duplex = require('internal/streams/duplex');\x0d\nconst { destroyer } = require('internal/streams/destroy');\x0d\nconst {\x0d\n isNodeStream\x2C\x0d\n isReadable\x2C\x0d\n isWritable\x2C\x0d\n isWebStream\x2C\x0d\n isTransformStream\x2C\x0d\n isWritableStream\x2C\x0d\n isReadableStream\x2C\x0d\n} = require('internal/streams/utils');\x0d\nconst {\x0d\n AbortError\x2C\x0d\n codes: {\x0d\n ERR_INVALID_ARG_VALUE\x2C\x0d\n ERR_MISSING_ARGS\x2C\x0d\n }\x2C\x0d\n} = require('internal/errors');\x0d\nconst eos = require('internal/streams/end-of-stream');\x0d\n\x0d\nmodule.exports = function compose(...streams) {\x0d\n if (streams.length === 0) {\x0d\n throw new ERR_MISSING_ARGS('streams');\x0d\n }\x0d\n\x0d\n if (streams.length === 1) {\x0d\n return Duplex.from(streams[0]);\x0d\n }\x0d\n\x0d\n const orgStreams = [...streams];\x0d\n\x0d\n if (typeof streams[0] === 'function') {\x0d\n streams[0] = Duplex.from(streams[0]);\x0d\n }\x0d\n\x0d\n if (typeof streams[streams.length - 1] === 'function') {\x0d\n const idx = streams.length - 1;\x0d\n streams[idx] = Duplex.from(streams[idx]);\x0d\n }\x0d\n\x0d\n for (let n = 0; n < streams.length; ++n) {\x0d\n if (!isNodeStream(streams[n]) && !isWebStream(streams[n])) {\x0d\n // TODO(ronag): Add checks for non streams.\x0d\n continue;\x0d\n }\x0d\n if (\x0d\n n < streams.length - 1 &&\x0d\n !(\x0d\n isReadable(streams[n]) ||\x0d\n isReadableStream(streams[n]) ||\x0d\n isTransformStream(streams[n])\x0d\n )\x0d\n ) {\x0d\n throw new ERR_INVALID_ARG_VALUE(\x0d\n `streams[${n}]`\x2C\x0d\n orgStreams[n]\x2C\x0d\n 'must be readable'\x2C\x0d\n );\x0d\n }\x0d\n if (\x0d\n n > 0 &&\x0d\n !(\x0d\n isWritable(streams[n]) ||\x0d\n isWritableStream(streams[n]) ||\x0d\n isTransformStream(streams[n])\x0d\n )\x0d\n ) {\x0d\n throw new ERR_INVALID_ARG_VALUE(\x0d\n `streams[${n}]`\x2C\x0d\n orgStreams[n]\x2C\x0d\n 'must be writable'\x2C\x0d\n );\x0d\n }\x0d\n }\x0d\n\x0d\n let ondrain;\x0d\n let onfinish;\x0d\n let onreadable;\x0d\n let onclose;\x0d\n let d;\x0d\n\x0d\n function onfinished(err) {\x0d\n const cb = onclose;\x0d\n onclose = null;\x0d\n\x0d\n if (cb) {\x0d\n cb(err);\x0d\n } else if (err) {\x0d\n d.destroy(err);\x0d\n } else if (!readable && !writable) {\x0d\n d.destroy();\x0d\n }\x0d\n }\x0d\n\x0d\n const head = streams[0];\x0d\n const tail = pipeline(streams\x2C onfinished);\x0d\n\x0d\n const writable = !!(\x0d\n isWritable(head) ||\x0d\n isWritableStream(head) ||\x0d\n isTransformStream(head)\x0d\n );\x0d\n const readable = !!(\x0d\n isReadable(tail) ||\x0d\n isReadableStream(tail) ||\x0d\n isTransformStream(tail)\x0d\n );\x0d\n\x0d\n // TODO(ronag): Avoid double buffering.\x0d\n // Implement Writable/Readable/Duplex traits.\x0d\n // See\x2C https://github.com/nodejs/node/pull/33515.\x0d\n d = new Duplex({\x0d\n // TODO (ronag): highWaterMark?\x0d\n writableObjectMode: !!head?.writableObjectMode\x2C\x0d\n readableObjectMode: !!tail?.readableObjectMode\x2C\x0d\n writable\x2C\x0d\n readable\x2C\x0d\n });\x0d\n\x0d\n if (writable) {\x0d\n if (isNodeStream(head)) {\x0d\n d._write = function(chunk\x2C encoding\x2C callback) {\x0d\n if (head.write(chunk\x2C encoding)) {\x0d\n callback();\x0d\n } else {\x0d\n ondrain = callback;\x0d\n }\x0d\n };\x0d\n\x0d\n d._final = function(callback) {\x0d\n head.end();\x0d\n onfinish = callback;\x0d\n };\x0d\n\x0d\n head.on('drain'\x2C function() {\x0d\n if (ondrain) {\x0d\n const cb = ondrain;\x0d\n ondrain = null;\x0d\n cb();\x0d\n }\x0d\n });\x0d\n } else if (isWebStream(head)) {\x0d\n const writable = isTransformStream(head) ? head.writable : head;\x0d\n const writer = writable.getWriter();\x0d\n\x0d\n d._write = async function(chunk\x2C encoding\x2C callback) {\x0d\n try {\x0d\n await writer.ready;\x0d\n writer.write(chunk).catch(() => {});\x0d\n callback();\x0d\n } catch (err) {\x0d\n callback(err);\x0d\n }\x0d\n };\x0d\n\x0d\n d._final = async function(callback) {\x0d\n try {\x0d\n await writer.ready;\x0d\n writer.close().catch(() => {});\x0d\n onfinish = callback;\x0d\n } catch (err) {\x0d\n callback(err);\x0d\n }\x0d\n };\x0d\n }\x0d\n\x0d\n const toRead = isTransformStream(tail) ? tail.readable : tail;\x0d\n\x0d\n eos(toRead\x2C () => {\x0d\n if (onfinish) {\x0d\n const cb = onfinish;\x0d\n onfinish = null;\x0d\n cb();\x0d\n }\x0d\n });\x0d\n }\x0d\n\x0d\n if (readable) {\x0d\n if (isNodeStream(tail)) {\x0d\n tail.on('readable'\x2C function() {\x0d\n if (onreadable) {\x0d\n const cb = onreadable;\x0d\n onreadable = null;\x0d\n cb();\x0d\n }\x0d\n });\x0d\n\x0d\n tail.on('end'\x2C function() {\x0d\n d.push(null);\x0d\n });\x0d\n\x0d\n d._read = function() {\x0d\n while (true) {\x0d\n const buf = tail.read();\x0d\n if (buf === null) {\x0d\n onreadable = d._read;\x0d\n return;\x0d\n }\x0d\n\x0d\n if (!d.push(buf)) {\x0d\n return;\x0d\n }\x0d\n }\x0d\n };\x0d\n } else if (isWebStream(tail)) {\x0d\n const readable = isTransformStream(tail) ? tail.readable : tail;\x0d\n const reader = readable.getReader();\x0d\n d._read = async function() {\x0d\n while (true) {\x0d\n try {\x0d\n const { value\x2C done } = await reader.read();\x0d\n\x0d\n if (!d.push(value)) {\x0d\n return;\x0d\n }\x0d\n\x0d\n if (done) {\x0d\n d.push(null);\x0d\n return;\x0d\n }\x0d\n } catch {\x0d\n return;\x0d\n }\x0d\n }\x0d\n };\x0d\n }\x0d\n }\x0d\n\x0d\n d._destroy = function(err\x2C callback) {\x0d\n if (!err && onclose !== null) {\x0d\n err = new AbortError();\x0d\n }\x0d\n\x0d\n onreadable = null;\x0d\n ondrain = null;\x0d\n onfinish = null;\x0d\n\x0d\n if (isNodeStream(tail)) {\x0d\n destroyer(tail\x2C err);\x0d\n }\x0d\n\x0d\n if (onclose === null) {\x0d\n callback(err);\x0d\n } else {\x0d\n onclose = callback;\x0d\n }\x0d\n };\x0d\n\x0d\n return d;\x0d\n};\x0d\n
code-source-info,0x77b20e2e1e,92,0,5699,C0O0C4O5699,,
code-creation,JS,10,333330,0x77b20e3016,184, node:internal/streams/compose:1:1,0x77b20e2d98,~
code-source-info,0x77b20e3016,92,0,5699,C0O0C47O38C50O38C55O25C61O92C64O92C68O92C70O151C73O151C78O137C84O329C87O329C92O200C98O217C104O232C110O247C116O263C122O285C128O306C134O462C137O462C142O376C148O398C153O405C159O433C165O503C168O503C172O503C174O549C178O564C183O5698,,
tick,0x7ffcc621f25f,333450,1,0x7ff7b8fa3800,3,0x7ff7b99b2970,0x7ff739bc3f26,0x7ff739bc3ca1,0x77b20d5546,0x7ff739bc3feb,0x7ff739bc3ca1,0x77b20d348b,0x7ff739bc3feb,0x7ff739bc3ca1,0x77b20cb96d,0x7ff739bc3feb,0x7ff739bc3ca1,0x23c5197b002,0x7ff739bc3feb,0x7ff739bc3ca1,0x23c5197a0be,0x23c519791af,0x23c51978faf,0x23c51978e96,0x23c51978d5e,0x7ff7b8e135d0,0x23c5197894b,0x23c519693ae,0x23c51968a11,0x23c51942948
code-creation,Eval,10,334133,0x77b20e41de,5, node:internal/streams/pipeline:1:1,0x77b20e3e28,~
script-source,93,node:internal/streams/pipeline,// Ported from https://github.com/mafintosh/pump with\x0d\n// permission from the author\x2C Mathias Buus (@mafintosh).\x0d\n\x0d\n'use strict';\x0d\n\x0d\nconst {\x0d\n ArrayIsArray\x2C\x0d\n Promise\x2C\x0d\n SymbolAsyncIterator\x2C\x0d\n SymbolDispose\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst eos = require('internal/streams/end-of-stream');\x0d\nconst { once } = require('internal/util');\x0d\nconst destroyImpl = require('internal/streams/destroy');\x0d\nconst Duplex = require('internal/streams/duplex');\x0d\nconst {\x0d\n aggregateTwoErrors\x2C\x0d\n codes: {\x0d\n ERR_INVALID_ARG_TYPE\x2C\x0d\n ERR_INVALID_RETURN_VALUE\x2C\x0d\n ERR_MISSING_ARGS\x2C\x0d\n ERR_STREAM_DESTROYED\x2C\x0d\n ERR_STREAM_PREMATURE_CLOSE\x2C\x0d\n }\x2C\x0d\n AbortError\x2C\x0d\n} = require('internal/errors');\x0d\n\x0d\nconst {\x0d\n validateFunction\x2C\x0d\n validateAbortSignal\x2C\x0d\n} = require('internal/validators');\x0d\n\x0d\nconst {\x0d\n isIterable\x2C\x0d\n isReadable\x2C\x0d\n isReadableNodeStream\x2C\x0d\n isNodeStream\x2C\x0d\n isTransformStream\x2C\x0d\n isWebStream\x2C\x0d\n isReadableStream\x2C\x0d\n isReadableFinished\x2C\x0d\n} = require('internal/streams/utils');\x0d\nconst { AbortController } = require('internal/abort_controller');\x0d\n\x0d\nlet PassThrough;\x0d\nlet Readable;\x0d\nlet addAbortListener;\x0d\n\x0d\nfunction destroyer(stream\x2C reading\x2C writing) {\x0d\n let finished = false;\x0d\n stream.on('close'\x2C () => {\x0d\n finished = true;\x0d\n });\x0d\n\x0d\n const cleanup = eos(stream\x2C { readable: reading\x2C writable: writing }\x2C (err) => {\x0d\n finished = !err;\x0d\n });\x0d\n\x0d\n return {\x0d\n destroy: (err) => {\x0d\n if (finished) return;\x0d\n finished = true;\x0d\n destroyImpl.destroyer(stream\x2C err || new ERR_STREAM_DESTROYED('pipe'));\x0d\n }\x2C\x0d\n cleanup\x2C\x0d\n };\x0d\n}\x0d\n\x0d\nfunction popCallback(streams) {\x0d\n // Streams should never be an empty array. It should always contain at least\x0d\n // a single stream. Therefore optimize for the average case instead of\x0d\n // checking for length === 0 as well.\x0d\n validateFunction(streams[streams.length - 1]\x2C 'streams[stream.length - 1]');\x0d\n return streams.pop();\x0d\n}\x0d\n\x0d\nfunction makeAsyncIterable(val) {\x0d\n if (isIterable(val)) {\x0d\n return val;\x0d\n } else if (isReadableNodeStream(val)) {\x0d\n // Legacy streams are not Iterable.\x0d\n return fromReadable(val);\x0d\n }\x0d\n throw new ERR_INVALID_ARG_TYPE(\x0d\n 'val'\x2C ['Readable'\x2C 'Iterable'\x2C 'AsyncIterable']\x2C val);\x0d\n}\x0d\n\x0d\nasync function* fromReadable(val) {\x0d\n if (!Readable) {\x0d\n Readable = require('internal/streams/readable');\x0d\n }\x0d\n\x0d\n yield* Readable.prototype[SymbolAsyncIterator].call(val);\x0d\n}\x0d\n\x0d\nasync function pumpToNode(iterable\x2C writable\x2C finish\x2C { end }) {\x0d\n let error;\x0d\n let onresolve = null;\x0d\n\x0d\n const resume = (err) => {\x0d\n if (err) {\x0d\n error = err;\x0d\n }\x0d\n\x0d\n if (onresolve) {\x0d\n const callback = onresolve;\x0d\n onresolve = null;\x0d\n callback();\x0d\n }\x0d\n };\x0d\n\x0d\n const wait = () => new Promise((resolve\x2C reject) => {\x0d\n if (error) {\x0d\n reject(error);\x0d\n } else {\x0d\n onresolve = () => {\x0d\n if (error) {\x0d\n reject(error);\x0d\n } else {\x0d\n resolve();\x0d\n }\x0d\n };\x0d\n }\x0d\n });\x0d\n\x0d\n writable.on('drain'\x2C resume);\x0d\n const cleanup = eos(writable\x2C { readable: false }\x2C resume);\x0d\n\x0d\n try {\x0d\n if (writable.writableNeedDrain) {\x0d\n await wait();\x0d\n }\x0d\n\x0d\n for await (const chunk of iterable) {\x0d\n if (!writable.write(chunk)) {\x0d\n await wait();\x0d\n }\x0d\n }\x0d\n\x0d\n if (end) {\x0d\n writable.end();\x0d\n await wait();\x0d\n }\x0d\n\x0d\n finish();\x0d\n } catch (err) {\x0d\n finish(error !== err ? aggregateTwoErrors(error\x2C err) : err);\x0d\n } finally {\x0d\n cleanup();\x0d\n writable.off('drain'\x2C resume);\x0d\n }\x0d\n}\x0d\n\x0d\nasync function pumpToWeb(readable\x2C writable\x2C finish\x2C { end }) {\x0d\n if (isTransformStream(writable)) {\x0d\n writable = writable.writable;\x0d\n }\x0d\n // https://streams.spec.whatwg.org/#example-manual-write-with-backpressure\x0d\n const writer = writable.getWriter();\x0d\n try {\x0d\n for await (const chunk of readable) {\x0d\n await writer.ready;\x0d\n writer.write(chunk).catch(() => {});\x0d\n }\x0d\n\x0d\n await writer.ready;\x0d\n\x0d\n if (end) {\x0d\n await writer.close();\x0d\n }\x0d\n\x0d\n finish();\x0d\n } catch (err) {\x0d\n try {\x0d\n await writer.abort(err);\x0d\n finish(err);\x0d\n } catch (err) {\x0d\n finish(err);\x0d\n }\x0d\n }\x0d\n}\x0d\n\x0d\nfunction pipeline(...streams) {\x0d\n return pipelineImpl(streams\x2C once(popCallback(streams)));\x0d\n}\x0d\n\x0d\nfunction pipelineImpl(streams\x2C callback\x2C opts) {\x0d\n if (streams.length === 1 && ArrayIsArray(streams[0])) {\x0d\n streams = streams[0];\x0d\n }\x0d\n\x0d\n if (streams.length < 2) {\x0d\n throw new ERR_MISSING_ARGS('streams');\x0d\n }\x0d\n\x0d\n const ac = new AbortController();\x0d\n const signal = ac.signal;\x0d\n const outerSignal = opts?.signal;\x0d\n\x0d\n // Need to cleanup event listeners if last stream is readable\x0d\n // https://github.com/nodejs/node/issues/35452\x0d\n const lastStreamCleanup = [];\x0d\n\x0d\n validateAbortSignal(outerSignal\x2C 'options.signal');\x0d\n\x0d\n function abort() {\x0d\n finishImpl(new AbortError());\x0d\n }\x0d\n\x0d\n addAbortListener ??= require('internal/events/abort_listener').addAbortListener;\x0d\n let disposable;\x0d\n if (outerSignal) {\x0d\n disposable = addAbortListener(outerSignal\x2C abort);\x0d\n }\x0d\n\x0d\n let error;\x0d\n let value;\x0d\n const destroys = [];\x0d\n\x0d\n let finishCount = 0;\x0d\n\x0d\n function finish(err) {\x0d\n finishImpl(err\x2C --finishCount === 0);\x0d\n }\x0d\n\x0d\n function finishImpl(err\x2C final) {\x0d\n if (err && (!error || error.code === 'ERR_STREAM_PREMATURE_CLOSE')) {\x0d\n error = err;\x0d\n }\x0d\n\x0d\n if (!error && !final) {\x0d\n return;\x0d\n }\x0d\n\x0d\n while (destroys.length) {\x0d\n destroys.shift()(error);\x0d\n }\x0d\n\x0d\n disposable?.[SymbolDispose]();\x0d\n ac.abort();\x0d\n\x0d\n if (final) {\x0d\n if (!error) {\x0d\n lastStreamCleanup.forEach((fn) => fn());\x0d\n }\x0d\n process.nextTick(callback\x2C error\x2C value);\x0d\n }\x0d\n }\x0d\n\x0d\n let ret;\x0d\n for (let i = 0; i < streams.length; i++) {\x0d\n const stream = streams[i];\x0d\n const reading = i < streams.length - 1;\x0d\n const writing = i > 0;\x0d\n const end = reading || opts?.end !== false;\x0d\n const isLastStream = i === streams.length - 1;\x0d\n\x0d\n if (isNodeStream(stream)) {\x0d\n if (end) {\x0d\n const { destroy\x2C cleanup } = destroyer(stream\x2C reading\x2C writing);\x0d\n destroys.push(destroy);\x0d\n\x0d\n if (isReadable(stream) && isLastStream) {\x0d\n lastStreamCleanup.push(cleanup);\x0d\n }\x0d\n }\x0d\n\x0d\n // Catch stream errors that occur after pipe/pump has completed.\x0d\n function onError(err) {\x0d\n if (\x0d\n err &&\x0d\n err.name !== 'AbortError' &&\x0d\n err.code !== 'ERR_STREAM_PREMATURE_CLOSE'\x0d\n ) {\x0d\n finish(err);\x0d\n }\x0d\n }\x0d\n stream.on('error'\x2C onError);\x0d\n if (isReadable(stream) && isLastStream) {\x0d\n lastStreamCleanup.push(() => {\x0d\n stream.removeListener('error'\x2C onError);\x0d\n });\x0d\n }\x0d\n }\x0d\n\x0d\n if (i === 0) {\x0d\n if (typeof stream === 'function') {\x0d\n ret = stream({ signal });\x0d\n if (!isIterable(ret)) {\x0d\n throw new ERR_INVALID_RETURN_VALUE(\x0d\n 'Iterable\x2C AsyncIterable or Stream'\x2C 'source'\x2C ret);\x0d\n }\x0d\n } else if (isIterable(stream) || isReadableNodeStream(stream) || isTransformStream(stream)) {\x0d\n ret = stream;\x0d\n } else {\x0d\n ret = Duplex.from(stream);\x0d\n }\x0d\n } else if (typeof stream === 'function') {\x0d\n if (isTransformStream(ret)) {\x0d\n ret = makeAsyncIterable(ret?.readable);\x0d\n } else {\x0d\n ret = makeAsyncIterable(ret);\x0d\n }\x0d\n ret = stream(ret\x2C { signal });\x0d\n\x0d\n if (reading) {\x0d\n if (!isIterable(ret\x2C true)) {\x0d\n throw new ERR_INVALID_RETURN_VALUE(\x0d\n 'AsyncIterable'\x2C `transform[${i - 1}]`\x2C ret);\x0d\n }\x0d\n } else {\x0d\n if (!PassThrough) {\x0d\n PassThrough = require('internal/streams/passthrough');\x0d\n }\x0d\n\x0d\n // If the last argument to pipeline is not a stream\x0d\n // we must create a proxy stream so that pipeline(...)\x0d\n // always returns a stream which can be further\x0d\n // composed through `.pipe(stream)`.\x0d\n\x0d\n const pt = new PassThrough({\x0d\n objectMode: true\x2C\x0d\n });\x0d\n\x0d\n // Handle Promises/A+ spec\x2C `then` could be a getter that throws on\x0d\n // second use.\x0d\n const then = ret?.then;\x0d\n if (typeof then === 'function') {\x0d\n finishCount++;\x0d\n then.call(ret\x2C\x0d\n (val) => {\x0d\n value = val;\x0d\n if (val != null) {\x0d\n pt.write(val);\x0d\n }\x0d\n if (end) {\x0d\n pt.end();\x0d\n }\x0d\n process.nextTick(finish);\x0d\n }\x2C (err) => {\x0d\n pt.destroy(err);\x0d\n process.nextTick(finish\x2C err);\x0d\n }\x2C\x0d\n );\x0d\n } else if (isIterable(ret\x2C true)) {\x0d\n finishCount++;\x0d\n pumpToNode(ret\x2C pt\x2C finish\x2C { end });\x0d\n } else if (isReadableStream(ret) || isTransformStream(ret)) {\x0d\n const toRead = ret.readable || ret;\x0d\n finishCount++;\x0d\n pumpToNode(toRead\x2C pt\x2C finish\x2C { end });\x0d\n } else {\x0d\n throw new ERR_INVALID_RETURN_VALUE(\x0d\n 'AsyncIterable or Promise'\x2C 'destination'\x2C ret);\x0d\n }\x0d\n\x0d\n ret = pt;\x0d\n\x0d\n const { destroy\x2C cleanup } = destroyer(ret\x2C false\x2C true);\x0d\n destroys.push(destroy);\x0d\n if (isLastStream) {\x0d\n lastStreamCleanup.push(cleanup);\x0d\n }\x0d\n }\x0d\n } else if (isNodeStream(stream)) {\x0d\n if (isReadableNodeStream(ret)) {\x0d\n finishCount += 2;\x0d\n const cleanup = pipe(ret\x2C stream\x2C finish\x2C { end });\x0d\n if (isReadable(stream) && isLastStream) {\x0d\n lastStreamCleanup.push(cleanup);\x0d\n }\x0d\n } else if (isTransformStream(ret) || isReadableStream(ret)) {\x0d\n const toRead = ret.readable || ret;\x0d\n finishCount++;\x0d\n pumpToNode(toRead\x2C stream\x2C finish\x2C { end });\x0d\n } else if (isIterable(ret)) {\x0d\n finishCount++;\x0d\n pumpToNode(ret\x2C stream\x2C finish\x2C { end });\x0d\n } else {\x0d\n throw new ERR_INVALID_ARG_TYPE(\x0d\n 'val'\x2C ['Readable'\x2C 'Iterable'\x2C 'AsyncIterable'\x2C 'ReadableStream'\x2C 'TransformStream']\x2C ret);\x0d\n }\x0d\n ret = stream;\x0d\n } else if (isWebStream(stream)) {\x0d\n if (isReadableNodeStream(ret)) {\x0d\n finishCount++;\x0d\n pumpToWeb(makeAsyncIterable(ret)\x2C stream\x2C finish\x2C { end });\x0d\n } else if (isReadableStream(ret) || isIterable(ret)) {\x0d\n finishCount++;\x0d\n pumpToWeb(ret\x2C stream\x2C finish\x2C { end });\x0d\n } else if (isTransformStream(ret)) {\x0d\n finishCount++;\x0d\n pumpToWeb(ret.readable\x2C stream\x2C finish\x2C { end });\x0d\n } else {\x0d\n throw new ERR_INVALID_ARG_TYPE(\x0d\n 'val'\x2C ['Readable'\x2C 'Iterable'\x2C 'AsyncIterable'\x2C 'ReadableStream'\x2C 'TransformStream']\x2C ret);\x0d\n }\x0d\n ret = stream;\x0d\n } else {\x0d\n ret = Duplex.from(stream);\x0d\n }\x0d\n }\x0d\n\x0d\n if (signal?.aborted || outerSignal?.aborted) {\x0d\n process.nextTick(abort);\x0d\n }\x0d\n\x0d\n return ret;\x0d\n}\x0d\n\x0d\nfunction pipe(src\x2C dst\x2C finish\x2C { end }) {\x0d\n let ended = false;\x0d\n dst.on('close'\x2C () => {\x0d\n if (!ended) {\x0d\n // Finish if the destination closes before the source has completed.\x0d\n finish(new ERR_STREAM_PREMATURE_CLOSE());\x0d\n }\x0d\n });\x0d\n\x0d\n src.pipe(dst\x2C { end: false }); // If end is true we already will have a listener to end dst.\x0d\n\x0d\n if (end) {\x0d\n // Compat. Before node v10.12.0 stdio used to throw an error so\x0d\n // pipe() did/does not end() stdio destinations.\x0d\n // Now they allow it but "secretly" don't close the underlying fd.\x0d\n\x0d\n function endFn() {\x0d\n ended = true;\x0d\n dst.end();\x0d\n }\x0d\n\x0d\n if (isReadableFinished(src)) { // End the destination if the source has already ended.\x0d\n process.nextTick(endFn);\x0d\n } else {\x0d\n src.once('end'\x2C endFn);\x0d\n }\x0d\n } else {\x0d\n finish();\x0d\n }\x0d\n\x0d\n eos(src\x2C { readable: true\x2C writable: false }\x2C (err) => {\x0d\n const rState = src._readableState;\x0d\n if (\x0d\n err &&\x0d\n err.code === 'ERR_STREAM_PREMATURE_CLOSE' &&\x0d\n (rState && rState.ended && !rState.errored && !rState.errorEmitted)\x0d\n ) {\x0d\n // Some readable streams will emit 'close' before 'end'. However\x2C since\x0d\n // this is on the readable side 'end' should still be emitted if the\x0d\n // stream has been ended and no error emitted. This should be allowed in\x0d\n // favor of backwards compatibility. Since the stream is piped to a\x0d\n // destination this should not result in any observable difference.\x0d\n // We don't need to check if this is a writable premature close since\x0d\n // eos will only fail with premature close on the reading side for\x0d\n // duplex streams.\x0d\n src\x0d\n .once('end'\x2C finish)\x0d\n .once('error'\x2C finish);\x0d\n } else {\x0d\n finish(err);\x0d\n }\x0d\n });\x0d\n return eos(dst\x2C { readable: false\x2C writable: true }\x2C finish);\x0d\n}\x0d\n\x0d\nmodule.exports = { pipelineImpl\x2C pipeline };\x0d\n
code-source-info,0x77b20e41de,93,0,12817,C0O0C4O12817,,
code-creation,JS,10,335174,0x77b20e4756,421, node:internal/streams/pipeline:1:1,0x77b20e4158,~
code-source-info,0x77b20e4756,93,0,12817,C0O0C153O144C159O161C165O173C171O197C177O245C183O245C187O245C189O306C195O306C200O297C206O353C212O353C216O353C218O406C224O406C228O406C230O653C236O653C241O454C247O484C252O491C258O518C264O549C270O572C276O599C282O636C288O742C294O742C299O695C305O716C311O944C317O944C322O788C328O803C334O818C340O843C346O860C352O882C358O898C364O919C370O1008C376O1008C381O988C387O1053C388O1053C390O1071C391O1071C393O1086C394O1086C396O12771C403O12790C409O12804C415O12786C420O12816,,
code-creation,Eval,10,335758,0x77b20e5fa6,5, node:internal/streams/destroy:1:1,0x77b20e5c90,~
script-source,94,node:internal/streams/destroy,'use strict';\x0d\n\x0d\nconst {\x0d\n aggregateTwoErrors\x2C\x0d\n codes: {\x0d\n ERR_MULTIPLE_CALLBACK\x2C\x0d\n }\x2C\x0d\n AbortError\x2C\x0d\n} = require('internal/errors');\x0d\nconst {\x0d\n Symbol\x2C\x0d\n} = primordials;\x0d\nconst {\x0d\n kIsDestroyed\x2C\x0d\n isDestroyed\x2C\x0d\n isFinished\x2C\x0d\n isServerRequest\x2C\x0d\n kState\x2C\x0d\n kErrorEmitted\x2C\x0d\n kEmitClose\x2C\x0d\n kClosed\x2C\x0d\n kCloseEmitted\x2C\x0d\n kConstructed\x2C\x0d\n kDestroyed\x2C\x0d\n kAutoDestroy\x2C\x0d\n kErrored\x2C\x0d\n} = require('internal/streams/utils');\x0d\n\x0d\nconst kDestroy = Symbol('kDestroy');\x0d\nconst kConstruct = Symbol('kConstruct');\x0d\n\x0d\nfunction checkError(err\x2C w\x2C r) {\x0d\n if (err) {\x0d\n // Avoid V8 leak\x2C https://github.com/nodejs/node/pull/34103#issuecomment-652002364\x0d\n err.stack; // eslint-disable-line no-unused-expressions\x0d\n\x0d\n if (w && !w.errored) {\x0d\n w.errored = err;\x0d\n }\x0d\n if (r && !r.errored) {\x0d\n r.errored = err;\x0d\n }\x0d\n }\x0d\n}\x0d\n\x0d\n// Backwards compat. cb() is undocumented and unused in core but\x0d\n// unfortunately might be used by modules.\x0d\nfunction destroy(err\x2C cb) {\x0d\n const r = this._readableState;\x0d\n const w = this._writableState;\x0d\n // With duplex streams we use the writable side for state.\x0d\n const s = w || r;\x0d\n\x0d\n if (\x0d\n (w && (w[kState] & kDestroyed) !== 0) ||\x0d\n (r && (r[kState] & kDestroyed) !== 0)\x0d\n ) {\x0d\n if (typeof cb === 'function') {\x0d\n cb();\x0d\n }\x0d\n\x0d\n return this;\x0d\n }\x0d\n\x0d\n\x0d\n // We set destroyed to true before firing error callbacks in order\x0d\n // to make it re-entrance safe in case destroy() is called within callbacks\x0d\n checkError(err\x2C w\x2C r);\x0d\n\x0d\n if (w) {\x0d\n w[kState] |= kDestroyed;\x0d\n }\x0d\n if (r) {\x0d\n r[kState] |= kDestroyed;\x0d\n }\x0d\n\x0d\n // If still constructing then defer calling _destroy.\x0d\n if ((s[kState] & kConstructed) === 0) {\x0d\n this.once(kDestroy\x2C function(er) {\x0d\n _destroy(this\x2C aggregateTwoErrors(er\x2C err)\x2C cb);\x0d\n });\x0d\n } else {\x0d\n _destroy(this\x2C err\x2C cb);\x0d\n }\x0d\n\x0d\n return this;\x0d\n}\x0d\n\x0d\nfunction _destroy(self\x2C err\x2C cb) {\x0d\n let called = false;\x0d\n\x0d\n function onDestroy(err) {\x0d\n if (called) {\x0d\n return;\x0d\n }\x0d\n called = true;\x0d\n\x0d\n const r = self._readableState;\x0d\n const w = self._writableState;\x0d\n\x0d\n checkError(err\x2C w\x2C r);\x0d\n\x0d\n if (w) {\x0d\n w[kState] |= kClosed;\x0d\n }\x0d\n if (r) {\x0d\n r[kState] |= kClosed;\x0d\n }\x0d\n\x0d\n if (typeof cb === 'function') {\x0d\n cb(err);\x0d\n }\x0d\n\x0d\n if (err) {\x0d\n process.nextTick(emitErrorCloseNT\x2C self\x2C err);\x0d\n } else {\x0d\n process.nextTick(emitCloseNT\x2C self);\x0d\n }\x0d\n }\x0d\n try {\x0d\n self._destroy(err || null\x2C onDestroy);\x0d\n } catch (err) {\x0d\n onDestroy(err);\x0d\n }\x0d\n}\x0d\n\x0d\nfunction emitErrorCloseNT(self\x2C err) {\x0d\n emitErrorNT(self\x2C err);\x0d\n emitCloseNT(self);\x0d\n}\x0d\n\x0d\nfunction emitCloseNT(self) {\x0d\n const r = self._readableState;\x0d\n const w = self._writableState;\x0d\n\x0d\n if (w) {\x0d\n w[kState] |= kCloseEmitted;\x0d\n }\x0d\n if (r) {\x0d\n r[kState] |= kCloseEmitted;\x0d\n }\x0d\n\x0d\n if (\x0d\n (w && (w[kState] & kEmitClose) !== 0) ||\x0d\n (r && (r[kState] & kEmitClose) !== 0)\x0d\n ) {\x0d\n self.emit('close');\x0d\n }\x0d\n}\x0d\n\x0d\nfunction emitErrorNT(self\x2C err) {\x0d\n const r = self._readableState;\x0d\n const w = self._writableState;\x0d\n\x0d\n if (\x0d\n (w && (w[kState] & kErrorEmitted) !== 0) ||\x0d\n (r && (r[kState] & kErrorEmitted) !== 0)\x0d\n ) {\x0d\n return;\x0d\n }\x0d\n\x0d\n if (w) {\x0d\n w[kState] |= kErrorEmitted;\x0d\n }\x0d\n if (r) {\x0d\n r[kState] |= kErrorEmitted;\x0d\n }\x0d\n\x0d\n self.emit('error'\x2C err);\x0d\n}\x0d\n\x0d\nfunction undestroy() {\x0d\n const r = this._readableState;\x0d\n const w = this._writableState;\x0d\n\x0d\n if (r) {\x0d\n r.constructed = true;\x0d\n r.closed = false;\x0d\n r.closeEmitted = false;\x0d\n r.destroyed = false;\x0d\n r.errored = null;\x0d\n r.errorEmitted = false;\x0d\n r.reading = false;\x0d\n r.ended = r.readable === false;\x0d\n r.endEmitted = r.readable === false;\x0d\n }\x0d\n\x0d\n if (w) {\x0d\n w.constructed = true;\x0d\n w.destroyed = false;\x0d\n w.closed = false;\x0d\n w.closeEmitted = false;\x0d\n w.errored = null;\x0d\n w.errorEmitted = false;\x0d\n w.finalCalled = false;\x0d\n w.prefinished = false;\x0d\n w.ended = w.writable === false;\x0d\n w.ending = w.writable === false;\x0d\n w.finished = w.writable === false;\x0d\n }\x0d\n}\x0d\n\x0d\nfunction errorOrDestroy(stream\x2C err\x2C sync) {\x0d\n // We have tests that rely on errors being emitted\x0d\n // in the same tick\x2C so changing this is semver major.\x0d\n // For now when you opt-in to autoDestroy we allow\x0d\n // the error to be emitted nextTick. In a future\x0d\n // semver major update we should change the default to this.\x0d\n\x0d\n const r = stream._readableState;\x0d\n const w = stream._writableState;\x0d\n\x0d\n if (\x0d\n (w && (w[kState] ? (w[kState] & kDestroyed) !== 0 : w.destroyed)) ||\x0d\n (r && (r[kState] ? (r[kState] & kDestroyed) !== 0 : r.destroyed))\x0d\n ) {\x0d\n return this;\x0d\n }\x0d\n\x0d\n if (\x0d\n (r && (r[kState] & kAutoDestroy) !== 0) ||\x0d\n (w && (w[kState] & kAutoDestroy) !== 0)\x0d\n ) {\x0d\n stream.destroy(err);\x0d\n } else if (err) {\x0d\n // Avoid V8 leak\x2C https://github.com/nodejs/node/pull/34103#issuecomment-652002364\x0d\n err.stack; // eslint-disable-line no-unused-expressions\x0d\n\x0d\n if (w && (w[kState] & kErrored) === 0) {\x0d\n w.errored = err;\x0d\n }\x0d\n if (r && (r[kState] & kErrored) === 0) {\x0d\n r.errored = err;\x0d\n }\x0d\n if (sync) {\x0d\n process.nextTick(emitErrorNT\x2C stream\x2C err);\x0d\n } else {\x0d\n emitErrorNT(stream\x2C err);\x0d\n }\x0d\n }\x0d\n}\x0d\n\x0d\nfunction construct(stream\x2C cb) {\x0d\n if (typeof stream._construct !== 'function') {\x0d\n return;\x0d\n }\x0d\n\x0d\n const r = stream._readableState;\x0d\n const w = stream._writableState;\x0d\n\x0d\n if (r) {\x0d\n r[kState] &= ~kConstructed;\x0d\n }\x0d\n if (w) {\x0d\n w[kState] &= ~kConstructed;\x0d\n }\x0d\n\x0d\n stream.once(kConstruct\x2C cb);\x0d\n\x0d\n if (stream.listenerCount(kConstruct) > 1) {\x0d\n // Duplex\x0d\n return;\x0d\n }\x0d\n\x0d\n process.nextTick(constructNT\x2C stream);\x0d\n}\x0d\n\x0d\nfunction constructNT(stream) {\x0d\n let called = false;\x0d\n\x0d\n function onConstruct(err) {\x0d\n if (called) {\x0d\n errorOrDestroy(stream\x2C err ?? new ERR_MULTIPLE_CALLBACK());\x0d\n return;\x0d\n }\x0d\n called = true;\x0d\n\x0d\n const r = stream._readableState;\x0d\n const w = stream._writableState;\x0d\n const s = w || r;\x0d\n\x0d\n if (r) {\x0d\n r[kState] |= kConstructed;\x0d\n }\x0d\n if (w) {\x0d\n w[kState] |= kConstructed;\x0d\n }\x0d\n\x0d\n if (s.destroyed) {\x0d\n stream.emit(kDestroy\x2C err);\x0d\n } else if (err) {\x0d\n errorOrDestroy(stream\x2C err\x2C true);\x0d\n } else {\x0d\n stream.emit(kConstruct);\x0d\n }\x0d\n }\x0d\n\x0d\n try {\x0d\n stream._construct((err) => {\x0d\n process.nextTick(onConstruct\x2C err);\x0d\n });\x0d\n } catch (err) {\x0d\n process.nextTick(onConstruct\x2C err);\x0d\n }\x0d\n}\x0d\n\x0d\nfunction isRequest(stream) {\x0d\n return stream?.setHeader && typeof stream.abort === 'function';\x0d\n}\x0d\n\x0d\nfunction emitCloseLegacy(stream) {\x0d\n stream.emit('close');\x0d\n}\x0d\n\x0d\nfunction emitErrorCloseLegacy(stream\x2C err) {\x0d\n stream.emit('error'\x2C err);\x0d\n process.nextTick(emitCloseLegacy\x2C stream);\x0d\n}\x0d\n\x0d\n// Normalize destroy for legacy.\x0d\nfunction destroyer(stream\x2C err) {\x0d\n if (!stream || isDestroyed(stream)) {\x0d\n return;\x0d\n }\x0d\n\x0d\n if (!err && !isFinished(stream)) {\x0d\n err = new AbortError();\x0d\n }\x0d\n\x0d\n // TODO: Remove isRequest branches.\x0d\n if (isServerRequest(stream)) {\x0d\n stream.socket = null;\x0d\n stream.destroy(err);\x0d\n } else if (isRequest(stream)) {\x0d\n stream.abort();\x0d\n } else if (isRequest(stream.req)) {\x0d\n stream.req.abort();\x0d\n } else if (typeof stream.destroy === 'function') {\x0d\n stream.destroy(err);\x0d\n } else if (typeof stream.close === 'function') {\x0d\n // TODO: Don't lose err?\x0d\n stream.close();\x0d\n } else if (err) {\x0d\n process.nextTick(emitErrorCloseLegacy\x2C stream\x2C err);\x0d\n } else {\x0d\n process.nextTick(emitCloseLegacy\x2C stream);\x0d\n }\x0d\n\x0d\n if (!stream.destroyed) {\x0d\n stream[kIsDestroyed] = true;\x0d\n }\x0d\n}\x0d\n\x0d\nmodule.exports = {\x0d\n construct\x2C\x0d\n destroyer\x2C\x0d\n destroy\x2C\x0d\n undestroy\x2C\x0d\n errorOrDestroy\x2C\x0d\n};\x0d\n
code-source-info,0x77b20e5fa6,94,0,7714,C0O0C4O7714,,
code-creation,JS,10,336422,0x77b20e66be,326, node:internal/streams/destroy:1:1,0x77b20e5f20,~
code-source-info,0x77b20e66be,94,0,7714,C0O0C143O114C146O114C151O28C157O58C162O65C168O97C174O154C179O398C182O398C187O192C193O209C199O225C205O240C211O260C217O271C223O289C229O304C235O316C241O334C247O351C253O366C259O383C265O453C268O453C272O453C274O493C277O493C281O493C283O7617C290O7639C296O7653C302O7667C308O7679C314O7693C320O7632C325O7713,,
code-creation,Eval,10,336819,0x77b20e7c46,5, node:internal/streams/duplex:1:1,0x77b20e7a50,~
script-source,95,node:internal/streams/duplex,// Copyright Joyent\x2C Inc. and other Node contributors.\x0d\n//\x0d\n// Permission is hereby granted\x2C free of charge\x2C to any person obtaining a\x0d\n// copy of this software and associated documentation files (the\x0d\n// "Software")\x2C to deal in the Software without restriction\x2C including\x0d\n// without limitation the rights to use\x2C copy\x2C modify\x2C merge\x2C publish\x2C\x0d\n// distribute\x2C sublicense\x2C and/or sell copies of the Software\x2C and to permit\x0d\n// persons to whom the Software is furnished to do so\x2C subject to the\x0d\n// following conditions:\x0d\n//\x0d\n// The above copyright notice and this permission notice shall be included\x0d\n// in all copies or substantial portions of the Software.\x0d\n//\x0d\n// THE SOFTWARE IS PROVIDED "AS IS"\x2C WITHOUT WARRANTY OF ANY KIND\x2C EXPRESS\x0d\n// OR IMPLIED\x2C INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\x0d\n// MERCHANTABILITY\x2C FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\x0d\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM\x2C\x0d\n// DAMAGES OR OTHER LIABILITY\x2C WHETHER IN AN ACTION OF CONTRACT\x2C TORT OR\x0d\n// OTHERWISE\x2C ARISING FROM\x2C OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\x0d\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\x0d\n\x0d\n// a duplex stream is just a stream that is both readable and writable.\x0d\n// Since JS doesn't have multiple prototype inheritance\x2C this class\x0d\n// prototypically inherits from Readable\x2C and then parasitically from\x0d\n// Writable.\x0d\n\x0d\n'use strict';\x0d\n\x0d\nconst {\x0d\n ObjectDefineProperties\x2C\x0d\n ObjectGetOwnPropertyDescriptor\x2C\x0d\n ObjectKeys\x2C\x0d\n ObjectSetPrototypeOf\x2C\x0d\n} = primordials;\x0d\n\x0d\nmodule.exports = Duplex;\x0d\n\x0d\nconst Stream = require('internal/streams/legacy').Stream;\x0d\nconst Readable = require('internal/streams/readable');\x0d\nconst Writable = require('internal/streams/writable');\x0d\n\x0d\nconst {\x0d\n addAbortSignal\x2C\x0d\n} = require('internal/streams/add-abort-signal');\x0d\n\x0d\nconst destroyImpl = require('internal/streams/destroy');\x0d\nconst { kOnConstructed } = require('internal/streams/utils');\x0d\n\x0d\nObjectSetPrototypeOf(Duplex.prototype\x2C Readable.prototype);\x0d\nObjectSetPrototypeOf(Duplex\x2C Readable);\x0d\n\x0d\n{\x0d\n const keys = ObjectKeys(Writable.prototype);\x0d\n // Allow the keys array to be GC'ed.\x0d\n for (let i = 0; i < keys.length; i++) {\x0d\n const method = keys[i];\x0d\n if (!Duplex.prototype[method])\x0d\n Duplex.prototype[method] = Writable.prototype[method];\x0d\n }\x0d\n}\x0d\n\x0d\n// Use the `destroy` method of `Writable`.\x0d\nDuplex.prototype.destroy = Writable.prototype.destroy;\x0d\n\x0d\nfunction Duplex(options) {\x0d\n if (!(this instanceof Duplex))\x0d\n return new Duplex(options);\x0d\n\x0d\n this._events ??= {\x0d\n close: undefined\x2C\x0d\n error: undefined\x2C\x0d\n prefinish: undefined\x2C\x0d\n finish: undefined\x2C\x0d\n drain: undefined\x2C\x0d\n data: undefined\x2C\x0d\n end: undefined\x2C\x0d\n readable: undefined\x2C\x0d\n // Skip uncommon events...\x0d\n // pause: undefined\x2C\x0d\n // resume: undefined\x2C\x0d\n // pipe: undefined\x2C\x0d\n // unpipe: undefined\x2C\x0d\n // [destroyImpl.kConstruct]: undefined\x2C\x0d\n // [destroyImpl.kDestroy]: undefined\x2C\x0d\n };\x0d\n\x0d\n this._readableState = new Readable.ReadableState(options\x2C this\x2C true);\x0d\n this._writableState = new Writable.WritableState(options\x2C this\x2C true);\x0d\n\x0d\n if (options) {\x0d\n this.allowHalfOpen = options.allowHalfOpen !== false;\x0d\n\x0d\n if (options.readable === false) {\x0d\n this._readableState.readable = false;\x0d\n this._readableState.ended = true;\x0d\n this._readableState.endEmitted = true;\x0d\n }\x0d\n\x0d\n if (options.writable === false) {\x0d\n this._writableState.writable = false;\x0d\n this._writableState.ending = true;\x0d\n this._writableState.ended = true;\x0d\n this._writableState.finished = true;\x0d\n }\x0d\n\x0d\n if (typeof options.read === 'function')\x0d\n this._read = options.read;\x0d\n\x0d\n if (typeof options.write === 'function')\x0d\n this._write = options.write;\x0d\n\x0d\n if (typeof options.writev === 'function')\x0d\n this._writev = options.writev;\x0d\n\x0d\n if (typeof options.destroy === 'function')\x0d\n this._destroy = options.destroy;\x0d\n\x0d\n if (typeof options.final === 'function')\x0d\n this._final = options.final;\x0d\n\x0d\n if (typeof options.construct === 'function')\x0d\n this._construct = options.construct;\x0d\n\x0d\n if (options.signal)\x0d\n addAbortSignal(options.signal\x2C this);\x0d\n } else {\x0d\n this.allowHalfOpen = true;\x0d\n }\x0d\n\x0d\n Stream.call(this\x2C options);\x0d\n\x0d\n if (this._construct != null) {\x0d\n destroyImpl.construct(this\x2C () => {\x0d\n this._readableState[kOnConstructed](this);\x0d\n this._writableState[kOnConstructed](this);\x0d\n });\x0d\n }\x0d\n}\x0d\n\x0d\nObjectDefineProperties(Duplex.prototype\x2C {\x0d\n writable:\x0d\n { __proto__: null\x2C ...ObjectGetOwnPropertyDescriptor(Writable.prototype\x2C 'writable') }\x2C\x0d\n writableHighWaterMark:\x0d\n { __proto__: null\x2C ...ObjectGetOwnPropertyDescriptor(Writable.prototype\x2C 'writableHighWaterMark') }\x2C\x0d\n writableObjectMode:\x0d\n { __proto__: null\x2C ...ObjectGetOwnPropertyDescriptor(Writable.prototype\x2C 'writableObjectMode') }\x2C\x0d\n writableBuffer:\x0d\n { __proto__: null\x2C ...ObjectGetOwnPropertyDescriptor(Writable.prototype\x2C 'writableBuffer') }\x2C\x0d\n writableLength:\x0d\n { __proto__: null\x2C ...ObjectGetOwnPropertyDescriptor(Writable.prototype\x2C 'writableLength') }\x2C\x0d\n writableFinished:\x0d\n { __proto__: null\x2C ...ObjectGetOwnPropertyDescriptor(Writable.prototype\x2C 'writableFinished') }\x2C\x0d\n writableCorked:\x0d\n { __proto__: null\x2C ...ObjectGetOwnPropertyDescriptor(Writable.prototype\x2C 'writableCorked') }\x2C\x0d\n writableEnded:\x0d\n { __proto__: null\x2C ...ObjectGetOwnPropertyDescriptor(Writable.prototype\x2C 'writableEnded') }\x2C\x0d\n writableNeedDrain:\x0d\n { __proto__: null\x2C ...ObjectGetOwnPropertyDescriptor(Writable.prototype\x2C 'writableNeedDrain') }\x2C\x0d\n\x0d\n destroyed: {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n if (this._readableState === undefined ||\x0d\n this._writableState === undefined) {\x0d\n return false;\x0d\n }\x0d\n return this._readableState.destroyed && this._writableState.destroyed;\x0d\n }\x2C\x0d\n set(value) {\x0d\n // Backward compatibility\x2C the user is explicitly\x0d\n // managing destroyed.\x0d\n if (this._readableState && this._writableState) {\x0d\n this._readableState.destroyed = value;\x0d\n this._writableState.destroyed = value;\x0d\n }\x0d\n }\x2C\x0d\n }\x2C\x0d\n});\x0d\n\x0d\nlet webStreamsAdapters;\x0d\n\x0d\n// Lazy to avoid circular references\x0d\nfunction lazyWebStreams() {\x0d\n if (webStreamsAdapters === undefined)\x0d\n webStreamsAdapters = require('internal/webstreams/adapters');\x0d\n return webStreamsAdapters;\x0d\n}\x0d\n\x0d\nDuplex.fromWeb = function(pair\x2C options) {\x0d\n return lazyWebStreams().newStreamDuplexFromReadableWritablePair(\x0d\n pair\x2C\x0d\n options);\x0d\n};\x0d\n\x0d\nDuplex.toWeb = function(duplex) {\x0d\n return lazyWebStreams().newReadableWritablePairFromDuplex(duplex);\x0d\n};\x0d\n\x0d\nlet duplexify;\x0d\n\x0d\nDuplex.from = function(body) {\x0d\n if (!duplexify) {\x0d\n duplexify = require('internal/streams/duplexify');\x0d\n }\x0d\n return duplexify(body\x2C 'body');\x0d\n};\x0d\n
code-source-info,0x77b20e7c46,95,0,6794,C0O0C4O6794,,
code-creation,JS,10,337154,0x77b20e82fe,703, node:internal/streams/duplex:1:1,0x77b20e7bc0,~
code-source-info,0x77b20e82fe,95,0,6794,C0O0C45O1412C50O1439C55O1474C60O1489C65O1532C67O1547C71O1575C77O1575C82O1609C86O1575C88O1636C94O1636C98O1636C100O1692C106O1692C110O1692C112O1765C118O1765C123O1744C129O1834C135O1834C139O1834C141O1899C147O1899C152O1880C158O1937C161O1965C169O1985C174O1937C179O1998C185O1998C190O2059C193O2079C198O2059C203O2147C205O2159C209O2152C214O2194C216O2198C220O2208C223O2220C230O2229C235O2246C238O2253C246O2282C253O2291C256O2271C260O2168C265O2134C269O2356C272O2363C280O2392C285O2402C289O2381C293O4454C296O4484C306O4515C314O4577C323O4537C342O4634C350O4696C359O4656C378O4763C386O4825C395O4785C414O4885C422O4947C431O4907C450O5003C458O5065C467O5025C486O5123C494O5185C503O5145C522O5243C530O5305C539O5265C558O5360C566O5422C575O5382C594O5480C602O5542C611O5502C630O5593C635O5622C643O5847C657O4454C662O6135C663O6135C665O6368C672O6383C676O6512C683O6525C687O6627C688O6627C690O6641C697O6653C702O6793,,
code-creation,Eval,10,337451,0x77b20e91c6,5, node:internal/streams/legacy:1:1,0x77b20e9040,~
script-source,96,node:internal/streams/legacy,'use strict';\x0d\n\x0d\nconst {\x0d\n ArrayIsArray\x2C\x0d\n ObjectSetPrototypeOf\x2C\x0d\n ReflectOwnKeys\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst EE = require('events');\x0d\n\x0d\nfunction Stream(opts) {\x0d\n EE.call(this\x2C opts);\x0d\n}\x0d\nObjectSetPrototypeOf(Stream.prototype\x2C EE.prototype);\x0d\nObjectSetPrototypeOf(Stream\x2C EE);\x0d\n\x0d\nStream.prototype.pipe = function(dest\x2C options) {\x0d\n const source = this;\x0d\n\x0d\n function ondata(chunk) {\x0d\n if (dest.writable && dest.write(chunk) === false && source.pause) {\x0d\n source.pause();\x0d\n }\x0d\n }\x0d\n\x0d\n source.on('data'\x2C ondata);\x0d\n\x0d\n function ondrain() {\x0d\n if (source.readable && source.resume) {\x0d\n source.resume();\x0d\n }\x0d\n }\x0d\n\x0d\n dest.on('drain'\x2C ondrain);\x0d\n\x0d\n // If the 'end' option is not supplied\x2C dest.end() will be called when\x0d\n // source gets the 'end' or 'close' events. Only dest.end() once.\x0d\n if (!dest._isStdio && (!options || options.end !== false)) {\x0d\n source.on('end'\x2C onend);\x0d\n source.on('close'\x2C onclose);\x0d\n }\x0d\n\x0d\n let didOnEnd = false;\x0d\n function onend() {\x0d\n if (didOnEnd) return;\x0d\n didOnEnd = true;\x0d\n\x0d\n dest.end();\x0d\n }\x0d\n\x0d\n\x0d\n function onclose() {\x0d\n if (didOnEnd) return;\x0d\n didOnEnd = true;\x0d\n\x0d\n if (typeof dest.destroy === 'function') dest.destroy();\x0d\n }\x0d\n\x0d\n // Don't leave dangling pipes when there are errors.\x0d\n function onerror(er) {\x0d\n cleanup();\x0d\n if (EE.listenerCount(this\x2C 'error') === 0) {\x0d\n this.emit('error'\x2C er);\x0d\n }\x0d\n }\x0d\n\x0d\n prependListener(source\x2C 'error'\x2C onerror);\x0d\n prependListener(dest\x2C 'error'\x2C onerror);\x0d\n\x0d\n // Remove all the event listeners that were added.\x0d\n function cleanup() {\x0d\n source.removeListener('data'\x2C ondata);\x0d\n dest.removeListener('drain'\x2C ondrain);\x0d\n\x0d\n source.removeListener('end'\x2C onend);\x0d\n source.removeListener('close'\x2C onclose);\x0d\n\x0d\n source.removeListener('error'\x2C onerror);\x0d\n dest.removeListener('error'\x2C onerror);\x0d\n\x0d\n source.removeListener('end'\x2C cleanup);\x0d\n source.removeListener('close'\x2C cleanup);\x0d\n\x0d\n dest.removeListener('close'\x2C cleanup);\x0d\n }\x0d\n\x0d\n source.on('end'\x2C cleanup);\x0d\n source.on('close'\x2C cleanup);\x0d\n\x0d\n dest.on('close'\x2C cleanup);\x0d\n dest.emit('pipe'\x2C source);\x0d\n\x0d\n // Allow for unix-like usage: A.pipe(B).pipe(C)\x0d\n return dest;\x0d\n};\x0d\n\x0d\nStream.prototype.eventNames = function eventNames() {\x0d\n const names = [];\x0d\n for (const key of ReflectOwnKeys(this._events)) {\x0d\n if (typeof this._events[key] === 'function' || (ArrayIsArray(this._events[key]) && this._events[key].length > 0)) {\x0d\n names.push(key);\x0d\n }\x0d\n }\x0d\n return names;\x0d\n};\x0d\n\x0d\nfunction prependListener(emitter\x2C event\x2C fn) {\x0d\n // Sadly this is not cacheable as some libraries bundle their own\x0d\n // event emitter implementation with them.\x0d\n if (typeof emitter.prependListener === 'function')\x0d\n return emitter.prependListener(event\x2C fn);\x0d\n\x0d\n // This is a hack to make sure that our error handler is attached before any\x0d\n // userland ones. NEVER DO THIS. This is here only because this code needs\x0d\n // to continue to work with older versions of Node.js that do not include\x0d\n // the prependListener() method. The goal is to eventually remove this hack.\x0d\n if (!emitter._events || !emitter._events[event])\x0d\n emitter.on(event\x2C fn);\x0d\n else if (ArrayIsArray(emitter._events[event]))\x0d\n emitter._events[event].unshift(fn);\x0d\n else\x0d\n emitter._events[event] = [fn\x2C emitter._events[event]];\x0d\n}\x0d\n\x0d\nmodule.exports = { Stream\x2C prependListener };\x0d\n
code-source-info,0x77b20e91c6,96,0,3376,C0O0C4O3376,,
code-creation,JS,10,337646,0x77b20e94b6,128, node:internal/streams/legacy:1:1,0x77b20e9140,~
code-source-info,0x77b20e94b6,96,0,3376,C0O0C25O28C31O45C36O70C42O118C45O118C49O118C51O220C59O234C64O192C69O247C72O247C77O291C86O306C90O2200C99O2221C103O3329C110O3348C116O3356C122O3344C127O3375,,
code-creation,Eval,10,338932,0x77b20ec1fe,5, node:internal/streams/readable:1:1,0x77b20ead80,~
script-source,97,node:internal/streams/readable,// Copyright Joyent\x2C Inc. and other Node contributors.\x0d\n//\x0d\n// Permission is hereby granted\x2C free of charge\x2C to any person obtaining a\x0d\n// copy of this software and associated documentation files (the\x0d\n// "Software")\x2C to deal in the Software without restriction\x2C including\x0d\n// without limitation the rights to use\x2C copy\x2C modify\x2C merge\x2C publish\x2C\x0d\n// distribute\x2C sublicense\x2C and/or sell copies of the Software\x2C and to permit\x0d\n// persons to whom the Software is furnished to do so\x2C subject to the\x0d\n// following conditions:\x0d\n//\x0d\n// The above copyright notice and this permission notice shall be included\x0d\n// in all copies or substantial portions of the Software.\x0d\n//\x0d\n// THE SOFTWARE IS PROVIDED "AS IS"\x2C WITHOUT WARRANTY OF ANY KIND\x2C EXPRESS\x0d\n// OR IMPLIED\x2C INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\x0d\n// MERCHANTABILITY\x2C FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\x0d\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM\x2C\x0d\n// DAMAGES OR OTHER LIABILITY\x2C WHETHER IN AN ACTION OF CONTRACT\x2C TORT OR\x0d\n// OTHERWISE\x2C ARISING FROM\x2C OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\x0d\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\x0d\n\x0d\n'use strict';\x0d\n\x0d\nconst {\x0d\n ArrayPrototypeIndexOf\x2C\x0d\n NumberIsInteger\x2C\x0d\n NumberIsNaN\x2C\x0d\n NumberParseInt\x2C\x0d\n ObjectDefineProperties\x2C\x0d\n ObjectKeys\x2C\x0d\n ObjectSetPrototypeOf\x2C\x0d\n Promise\x2C\x0d\n SafeSet\x2C\x0d\n Symbol\x2C\x0d\n SymbolAsyncDispose\x2C\x0d\n SymbolAsyncIterator\x2C\x0d\n SymbolSpecies\x2C\x0d\n TypedArrayPrototypeSet\x2C\x0d\n} = primordials;\x0d\n\x0d\nmodule.exports = Readable;\x0d\nReadable.ReadableState = ReadableState;\x0d\n\x0d\nconst EE = require('events');\x0d\nconst { Stream\x2C prependListener } = require('internal/streams/legacy');\x0d\nconst { Buffer } = require('buffer');\x0d\n\x0d\nconst {\x0d\n addAbortSignal\x2C\x0d\n} = require('internal/streams/add-abort-signal');\x0d\nconst eos = require('internal/streams/end-of-stream');\x0d\n\x0d\nlet debug = require('internal/util/debuglog').debuglog('stream'\x2C (fn) => {\x0d\n debug = fn;\x0d\n});\x0d\nconst destroyImpl = require('internal/streams/destroy');\x0d\nconst {\x0d\n getHighWaterMark\x2C\x0d\n getDefaultHighWaterMark\x2C\x0d\n} = require('internal/streams/state');\x0d\nconst {\x0d\n kState\x2C\x0d\n // bitfields\x0d\n kObjectMode\x2C\x0d\n kErrorEmitted\x2C\x0d\n kAutoDestroy\x2C\x0d\n kEmitClose\x2C\x0d\n kDestroyed\x2C\x0d\n kClosed\x2C\x0d\n kCloseEmitted\x2C\x0d\n kErrored\x2C\x0d\n kConstructed\x2C\x0d\n kOnConstructed\x2C\x0d\n} = require('internal/streams/utils');\x0d\n\x0d\nconst {\x0d\n aggregateTwoErrors\x2C\x0d\n codes: {\x0d\n ERR_INVALID_ARG_TYPE\x2C\x0d\n ERR_METHOD_NOT_IMPLEMENTED\x2C\x0d\n ERR_OUT_OF_RANGE\x2C\x0d\n ERR_STREAM_PUSH_AFTER_EOF\x2C\x0d\n ERR_STREAM_UNSHIFT_AFTER_END_EVENT\x2C\x0d\n ERR_UNKNOWN_ENCODING\x2C\x0d\n }\x2C\x0d\n AbortError\x2C\x0d\n} = require('internal/errors');\x0d\nconst { validateObject } = require('internal/validators');\x0d\n\x0d\nconst FastBuffer = Buffer[SymbolSpecies];\x0d\n\x0d\nconst { StringDecoder } = require('string_decoder');\x0d\nconst from = require('internal/streams/from');\x0d\n\x0d\nObjectSetPrototypeOf(Readable.prototype\x2C Stream.prototype);\x0d\nObjectSetPrototypeOf(Readable\x2C Stream);\x0d\nconst nop = () => {};\x0d\n\x0d\nconst { errorOrDestroy } = destroyImpl;\x0d\n\x0d\nconst kErroredValue = Symbol('kErroredValue');\x0d\nconst kDefaultEncodingValue = Symbol('kDefaultEncodingValue');\x0d\nconst kDecoderValue = Symbol('kDecoderValue');\x0d\nconst kEncodingValue = Symbol('kEncodingValue');\x0d\n\x0d\nconst kEnded = 1 << 9;\x0d\nconst kEndEmitted = 1 << 10;\x0d\nconst kReading = 1 << 11;\x0d\nconst kSync = 1 << 12;\x0d\nconst kNeedReadable = 1 << 13;\x0d\nconst kEmittedReadable = 1 << 14;\x0d\nconst kReadableListening = 1 << 15;\x0d\nconst kResumeScheduled = 1 << 16;\x0d\nconst kMultiAwaitDrain = 1 << 17;\x0d\nconst kReadingMore = 1 << 18;\x0d\nconst kDataEmitted = 1 << 19;\x0d\nconst kDefaultUTF8Encoding = 1 << 20;\x0d\nconst kDecoder = 1 << 21;\x0d\nconst kEncoding = 1 << 22;\x0d\nconst kHasFlowing = 1 << 23;\x0d\nconst kFlowing = 1 << 24;\x0d\nconst kHasPaused = 1 << 25;\x0d\nconst kPaused = 1 << 26;\x0d\nconst kDataListening = 1 << 27;\x0d\n\x0d\n// TODO(benjamingr) it is likely slower to do it this way than with free functions\x0d\nfunction makeBitMapDescriptor(bit) {\x0d\n return {\x0d\n enumerable: false\x2C\x0d\n get() { return (this[kState] & bit) !== 0; }\x2C\x0d\n set(value) {\x0d\n if (value) this[kState] |= bit;\x0d\n else this[kState] &= ~bit;\x0d\n }\x2C\x0d\n };\x0d\n}\x0d\nObjectDefineProperties(ReadableState.prototype\x2C {\x0d\n objectMode: makeBitMapDescriptor(kObjectMode)\x2C\x0d\n ended: makeBitMapDescriptor(kEnded)\x2C\x0d\n endEmitted: makeBitMapDescriptor(kEndEmitted)\x2C\x0d\n reading: makeBitMapDescriptor(kReading)\x2C\x0d\n // Stream is still being constructed and cannot be\x0d\n // destroyed until construction finished or failed.\x0d\n // Async construction is opt in\x2C therefore we start as\x0d\n // constructed.\x0d\n constructed: makeBitMapDescriptor(kConstructed)\x2C\x0d\n // A flag to be able to tell if the event 'readable'/'data' is emitted\x0d\n // immediately\x2C or on a later tick. We set this to true at first\x2C because\x0d\n // any actions that shouldn't happen until "later" should generally also\x0d\n // not happen before the first read call.\x0d\n sync: makeBitMapDescriptor(kSync)\x2C\x0d\n // Whenever we return null\x2C then we set a flag to say\x0d\n // that we're awaiting a 'readable' event emission.\x0d\n needReadable: makeBitMapDescriptor(kNeedReadable)\x2C\x0d\n emittedReadable: makeBitMapDescriptor(kEmittedReadable)\x2C\x0d\n readableListening: makeBitMapDescriptor(kReadableListening)\x2C\x0d\n resumeScheduled: makeBitMapDescriptor(kResumeScheduled)\x2C\x0d\n // True if the error was already emitted and should not be thrown again.\x0d\n errorEmitted: makeBitMapDescriptor(kErrorEmitted)\x2C\x0d\n emitClose: makeBitMapDescriptor(kEmitClose)\x2C\x0d\n autoDestroy: makeBitMapDescriptor(kAutoDestroy)\x2C\x0d\n // Has it been destroyed.\x0d\n destroyed: makeBitMapDescriptor(kDestroyed)\x2C\x0d\n // Indicates whether the stream has finished destroying.\x0d\n closed: makeBitMapDescriptor(kClosed)\x2C\x0d\n // True if close has been emitted or would have been emitted\x0d\n // depending on emitClose.\x0d\n closeEmitted: makeBitMapDescriptor(kCloseEmitted)\x2C\x0d\n multiAwaitDrain: makeBitMapDescriptor(kMultiAwaitDrain)\x2C\x0d\n // If true\x2C a maybeReadMore has been scheduled.\x0d\n readingMore: makeBitMapDescriptor(kReadingMore)\x2C\x0d\n dataEmitted: makeBitMapDescriptor(kDataEmitted)\x2C\x0d\n\x0d\n // Indicates whether the stream has errored. When true no further\x0d\n // _read calls\x2C 'data' or 'readable' events should occur. This is needed\x0d\n // since when autoDestroy is disabled we need a way to tell whether the\x0d\n // stream has failed.\x0d\n errored: {\x0d\n __proto__: null\x2C\x0d\n enumerable: false\x2C\x0d\n get() {\x0d\n return (this[kState] & kErrored) !== 0 ? this[kErroredValue] : null;\x0d\n }\x2C\x0d\n set(value) {\x0d\n if (value) {\x0d\n this[kErroredValue] = value;\x0d\n this[kState] |= kErrored;\x0d\n } else {\x0d\n this[kState] &= ~kErrored;\x0d\n }\x0d\n }\x2C\x0d\n }\x2C\x0d\n\x0d\n defaultEncoding: {\x0d\n __proto__: null\x2C\x0d\n enumerable: false\x2C\x0d\n get() { return (this[kState] & kDefaultUTF8Encoding) !== 0 ? 'utf8' : this[kDefaultEncodingValue]; }\x2C\x0d\n set(value) {\x0d\n if (value === 'utf8' || value === 'utf-8') {\x0d\n this[kState] |= kDefaultUTF8Encoding;\x0d\n } else {\x0d\n this[kState] &= ~kDefaultUTF8Encoding;\x0d\n this[kDefaultEncodingValue] = value;\x0d\n }\x0d\n }\x2C\x0d\n }\x2C\x0d\n\x0d\n decoder: {\x0d\n __proto__: null\x2C\x0d\n enumerable: false\x2C\x0d\n get() {\x0d\n return (this[kState] & kDecoder) !== 0 ? this[kDecoderValue] : null;\x0d\n }\x2C\x0d\n set(value) {\x0d\n if (value) {\x0d\n this[kDecoderValue] = value;\x0d\n this[kState] |= kDecoder;\x0d\n } else {\x0d\n this[kState] &= ~kDecoder;\x0d\n }\x0d\n }\x2C\x0d\n }\x2C\x0d\n\x0d\n encoding: {\x0d\n __proto__: null\x2C\x0d\n enumerable: false\x2C\x0d\n get() {\x0d\n return (this[kState] & kEncoding) !== 0 ? this[kEncodingValue] : null;\x0d\n }\x2C\x0d\n set(value) {\x0d\n if (value) {\x0d\n this[kEncodingValue] = value;\x0d\n this[kState] |= kEncoding;\x0d\n } else {\x0d\n this[kState] &= ~kEncoding;\x0d\n }\x0d\n }\x2C\x0d\n }\x2C\x0d\n\x0d\n flowing: {\x0d\n __proto__: null\x2C\x0d\n enumerable: false\x2C\x0d\n get() {\x0d\n return (this[kState] & kHasFlowing) !== 0 ? (this[kState] & kFlowing) !== 0 : null;\x0d\n }\x2C\x0d\n set(value) {\x0d\n if (value == null) {\x0d\n this[kState] &= ~(kHasFlowing | kFlowing);\x0d\n } else if (value) {\x0d\n this[kState] |= (kHasFlowing | kFlowing);\x0d\n } else {\x0d\n this[kState] |= kHasFlowing;\x0d\n this[kState] &= ~kFlowing;\x0d\n }\x0d\n }\x2C\x0d\n }\x2C\x0d\n});\x0d\n\x0d\n\x0d\nfunction ReadableState(options\x2C stream\x2C isDuplex) {\x0d\n // Bit map field to store ReadableState more effciently with 1 bit per field\x0d\n // instead of a V8 slot per field.\x0d\n this[kState] = kEmitClose | kAutoDestroy | kConstructed | kSync;\x0d\n\x0d\n // Object stream flag. Used to make read(n) ignore n and to\x0d\n // make all the buffer merging and length checks go away.\x0d\n if (options && options.objectMode)\x0d\n this[kState] |= kObjectMode;\x0d\n\x0d\n if (isDuplex && options && options.readableObjectMode)\x0d\n this[kState] |= kObjectMode;\x0d\n\x0d\n // The point at which it stops calling _read() to fill the buffer\x0d\n // Note: 0 is a valid value\x2C means "don't call _read preemptively ever"\x0d\n this.highWaterMark = options ?\x0d\n getHighWaterMark(this\x2C options\x2C 'readableHighWaterMark'\x2C isDuplex) :\x0d\n getDefaultHighWaterMark(false);\x0d\n\x0d\n this.buffer = [];\x0d\n this.bufferIndex = 0;\x0d\n this.length = 0;\x0d\n this.pipes = [];\x0d\n\x0d\n // Should close be emitted on destroy. Defaults to true.\x0d\n if (options && options.emitClose === false) this[kState] &= ~kEmitClose;\x0d\n\x0d\n // Should .destroy() be called after 'end' (and potentially 'finish').\x0d\n if (options && options.autoDestroy === false) this[kState] &= ~kAutoDestroy;\x0d\n\x0d\n // Crypto is kind of old and crusty. Historically\x2C its default string\x0d\n // encoding is 'binary' so we have to make this configurable.\x0d\n // Everything else in the universe uses 'utf8'\x2C though.\x0d\n const defaultEncoding = options?.defaultEncoding;\x0d\n if (defaultEncoding == null || defaultEncoding === 'utf8' || defaultEncoding === 'utf-8') {\x0d\n this[kState] |= kDefaultUTF8Encoding;\x0d\n } else if (Buffer.isEncoding(defaultEncoding)) {\x0d\n this.defaultEncoding = defaultEncoding;\x0d\n } else {\x0d\n throw new ERR_UNKNOWN_ENCODING(defaultEncoding);\x0d\n }\x0d\n\x0d\n // Ref the piped dest which we need a drain event on it\x0d\n // type: null | Writable | Set<Writable>.\x0d\n this.awaitDrainWriters = null;\x0d\n\x0d\n if (options && options.encoding) {\x0d\n this.decoder = new StringDecoder(options.encoding);\x0d\n this.encoding = options.encoding;\x0d\n }\x0d\n}\x0d\n\x0d\nReadableState.prototype[kOnConstructed] = function onConstructed(stream) {\x0d\n if ((this[kState] & kNeedReadable) !== 0) {\x0d\n maybeReadMore(stream\x2C this);\x0d\n }\x0d\n};\x0d\n\x0d\nfunction Readable(options) {\x0d\n if (!(this instanceof Readable))\x0d\n return new Readable(options);\x0d\n\x0d\n this._events ??= {\x0d\n close: undefined\x2C\x0d\n error: undefined\x2C\x0d\n data: undefined\x2C\x0d\n end: undefined\x2C\x0d\n readable: undefined\x2C\x0d\n // Skip uncommon events...\x0d\n // pause: undefined\x2C\x0d\n // resume: undefined\x2C\x0d\n // pipe: undefined\x2C\x0d\n // unpipe: undefined\x2C\x0d\n // [destroyImpl.kConstruct]: undefined\x2C\x0d\n // [destroyImpl.kDestroy]: undefined\x2C\x0d\n };\x0d\n\x0d\n this._readableState = new ReadableState(options\x2C this\x2C false);\x0d\n\x0d\n if (options) {\x0d\n if (typeof options.read === 'function')\x0d\n this._read = options.read;\x0d\n\x0d\n if (typeof options.destroy === 'function')\x0d\n this._destroy = options.destroy;\x0d\n\x0d\n if (typeof options.construct === 'function')\x0d\n this._construct = options.construct;\x0d\n\x0d\n if (options.signal)\x0d\n addAbortSignal(options.signal\x2C this);\x0d\n }\x0d\n\x0d\n Stream.call(this\x2C options);\x0d\n\x0d\n if (this._construct != null) {\x0d\n destroyImpl.construct(this\x2C () => {\x0d\n this._readableState[kOnConstructed](this);\x0d\n });\x0d\n }\x0d\n}\x0d\n\x0d\nReadable.prototype.destroy = destroyImpl.destroy;\x0d\nReadable.prototype._undestroy = destroyImpl.undestroy;\x0d\nReadable.prototype._destroy = function(err\x2C cb) {\x0d\n cb(err);\x0d\n};\x0d\n\x0d\nReadable.prototype[EE.captureRejectionSymbol] = function(err) {\x0d\n this.destroy(err);\x0d\n};\x0d\n\x0d\nReadable.prototype[SymbolAsyncDispose] = function() {\x0d\n let error;\x0d\n if (!this.destroyed) {\x0d\n error = this.readableEnded ? null : new AbortError();\x0d\n this.destroy(error);\x0d\n }\x0d\n return new Promise((resolve\x2C reject) => eos(this\x2C (err) => (err && err !== error ? reject(err) : resolve(null))));\x0d\n};\x0d\n\x0d\n// Manually shove something into the read() buffer.\x0d\n// This returns true if the highWaterMark has not been hit yet\x2C\x0d\n// similar to how Writable.write() returns true if you should\x0d\n// write() some more.\x0d\nReadable.prototype.push = function(chunk\x2C encoding) {\x0d\n debug('push'\x2C chunk);\x0d\n\x0d\n const state = this._readableState;\x0d\n return (state[kState] & kObjectMode) === 0 ?\x0d\n readableAddChunkPushByteMode(this\x2C state\x2C chunk\x2C encoding) :\x0d\n readableAddChunkPushObjectMode(this\x2C state\x2C chunk\x2C encoding);\x0d\n};\x0d\n\x0d\n// Unshift should *always* be something directly out of read().\x0d\nReadable.prototype.unshift = function(chunk\x2C encoding) {\x0d\n debug('unshift'\x2C chunk);\x0d\n const state = this._readableState;\x0d\n return (state[kState] & kObjectMode) === 0 ?\x0d\n readableAddChunkUnshiftByteMode(this\x2C state\x2C chunk\x2C encoding) :\x0d\n readableAddChunkUnshiftObjectMode(this\x2C state\x2C chunk);\x0d\n};\x0d\n\x0d\n\x0d\nfunction readableAddChunkUnshiftByteMode(stream\x2C state\x2C chunk\x2C encoding) {\x0d\n if (chunk === null) {\x0d\n state[kState] &= ~kReading;\x0d\n onEofChunk(stream\x2C state);\x0d\n\x0d\n return false;\x0d\n }\x0d\n\x0d\n if (typeof chunk === 'string') {\x0d\n encoding = encoding || state.defaultEncoding;\x0d\n if (state.encoding !== encoding) {\x0d\n if (state.encoding) {\x0d\n // When unshifting\x2C if state.encoding is set\x2C we have to save\x0d\n // the string in the BufferList with the state encoding.\x0d\n chunk = Buffer.from(chunk\x2C encoding).toString(state.encoding);\x0d\n } else {\x0d\n chunk = Buffer.from(chunk\x2C encoding);\x0d\n }\x0d\n }\x0d\n } else if (Stream._isArrayBufferView(chunk)) {\x0d\n chunk = Stream._uint8ArrayToBuffer(chunk);\x0d\n } else if (chunk !== undefined && !(chunk instanceof Buffer)) {\x0d\n errorOrDestroy(stream\x2C new ERR_INVALID_ARG_TYPE(\x0d\n 'chunk'\x2C ['string'\x2C 'Buffer'\x2C 'TypedArray'\x2C 'DataView']\x2C chunk));\x0d\n return false;\x0d\n }\x0d\n\x0d\n\x0d\n if (!(chunk && chunk.length > 0)) {\x0d\n return canPushMore(state);\x0d\n }\x0d\n\x0d\n return readableAddChunkUnshiftValue(stream\x2C state\x2C chunk);\x0d\n}\x0d\n\x0d\nfunction readableAddChunkUnshiftObjectMode(stream\x2C state\x2C chunk) {\x0d\n if (chunk === null) {\x0d\n state[kState] &= ~kReading;\x0d\n onEofChunk(stream\x2C state);\x0d\n\x0d\n return false;\x0d\n }\x0d\n\x0d\n return readableAddChunkUnshiftValue(stream\x2C state\x2C chunk);\x0d\n}\x0d\n\x0d\nfunction readableAddChunkUnshiftValue(stream\x2C state\x2C chunk) {\x0d\n if ((state[kState] & kEndEmitted) !== 0)\x0d\n errorOrDestroy(stream\x2C new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());\x0d\n else if ((state[kState] & (kDestroyed | kErrored)) !== 0)\x0d\n return false;\x0d\n else\x0d\n addChunk(stream\x2C state\x2C chunk\x2C true);\x0d\n\x0d\n return canPushMore(state);\x0d\n}\x0d\n\x0d\nfunction readableAddChunkPushByteMode(stream\x2C state\x2C chunk\x2C encoding) {\x0d\n if (chunk === null) {\x0d\n state[kState] &= ~kReading;\x0d\n onEofChunk(stream\x2C state);\x0d\n return false;\x0d\n }\x0d\n\x0d\n if (typeof chunk === 'string') {\x0d\n encoding = encoding || state.defaultEncoding;\x0d\n if (state.encoding !== encoding) {\x0d\n chunk = Buffer.from(chunk\x2C encoding);\x0d\n encoding = '';\x0d\n }\x0d\n } else if (chunk instanceof Buffer) {\x0d\n encoding = '';\x0d\n } else if (Stream._isArrayBufferView(chunk)) {\x0d\n chunk = Stream._uint8ArrayToBuffer(chunk);\x0d\n encoding = '';\x0d\n } else if (chunk !== undefined) {\x0d\n errorOrDestroy(stream\x2C new ERR_INVALID_ARG_TYPE(\x0d\n 'chunk'\x2C ['string'\x2C 'Buffer'\x2C 'TypedArray'\x2C 'DataView']\x2C chunk));\x0d\n return false;\x0d\n }\x0d\n\x0d\n if (!chunk || chunk.length <= 0) {\x0d\n state[kState] &= ~kReading;\x0d\n maybeReadMore(stream\x2C state);\x0d\n\x0d\n return canPushMore(state);\x0d\n }\x0d\n\x0d\n if ((state[kState] & kEnded) !== 0) {\x0d\n errorOrDestroy(stream\x2C new ERR_STREAM_PUSH_AFTER_EOF());\x0d\n return false;\x0d\n }\x0d\n\x0d\n if ((state[kState] & (kDestroyed | kErrored)) !== 0) {\x0d\n return false;\x0d\n }\x0d\n\x0d\n state[kState] &= ~kReading;\x0d\n if ((state[kState] & kDecoder) !== 0 && !encoding) {\x0d\n chunk = state[kDecoderValue].write(chunk);\x0d\n if (chunk.length === 0) {\x0d\n maybeReadMore(stream\x2C state);\x0d\n return canPushMore(state);\x0d\n }\x0d\n }\x0d\n\x0d\n addChunk(stream\x2C state\x2C chunk\x2C false);\x0d\n return canPushMore(state);\x0d\n}\x0d\n\x0d\nfunction readableAddChunkPushObjectMode(stream\x2C state\x2C chunk\x2C encoding) {\x0d\n if (chunk === null) {\x0d\n state[kState] &= ~kReading;\x0d\n onEofChunk(stream\x2C state);\x0d\n return false;\x0d\n }\x0d\n\x0d\n if ((state[kState] & kEnded) !== 0) {\x0d\n errorOrDestroy(stream\x2C new ERR_STREAM_PUSH_AFTER_EOF());\x0d\n return false;\x0d\n }\x0d\n\x0d\n if ((state[kState] & (kDestroyed | kErrored)) !== 0) {\x0d\n return false;\x0d\n }\x0d\n\x0d\n state[kState] &= ~kReading;\x0d\n\x0d\n if ((state[kState] & kDecoder) !== 0 && !encoding) {\x0d\n chunk = state[kDecoderValue].write(chunk);\x0d\n }\x0d\n\x0d\n addChunk(stream\x2C state\x2C chunk\x2C false);\x0d\n return canPushMore(state);\x0d\n}\x0d\n\x0d\nfunction canPushMore(state) {\x0d\n // We can push more data if we are below the highWaterMark.\x0d\n // Also\x2C if we have no data yet\x2C we can stand some more bytes.\x0d\n // This is to work around cases where hwm=0\x2C such as the repl.\x0d\n return (state[kState] & kEnded) === 0 &&\x0d\n (state.length < state.highWaterMark || state.length === 0);\x0d\n}\x0d\n\x0d\nfunction addChunk(stream\x2C state\x2C chunk\x2C addToFront) {\x0d\n if ((state[kState] & (kFlowing | kSync | kDataListening)) === (kFlowing | kDataListening) && state.length === 0) {\x0d\n // Use the guard to avoid creating `Set()` repeatedly\x0d\n // when we have multiple pipes.\x0d\n if ((state[kState] & kMultiAwaitDrain) !== 0) {\x0d\n state.awaitDrainWriters.clear();\x0d\n } else {\x0d\n state.awaitDrainWriters = null;\x0d\n }\x0d\n\x0d\n state[kState] |= kDataEmitted;\x0d\n stream.emit('data'\x2C chunk);\x0d\n } else {\x0d\n // Update the buffer info.\x0d\n state.length += (state[kState] & kObjectMode) !== 0 ? 1 : chunk.length;\x0d\n if (addToFront) {\x0d\n if (state.bufferIndex > 0) {\x0d\n state.buffer[--state.bufferIndex] = chunk;\x0d\n } else {\x0d\n state.buffer.unshift(chunk); // Slow path\x0d\n }\x0d\n } else {\x0d\n state.buffer.push(chunk);\x0d\n }\x0d\n\x0d\n if ((state[kState] & kNeedReadable) !== 0)\x0d\n emitReadable(stream);\x0d\n }\x0d\n maybeReadMore(stream\x2C state);\x0d\n}\x0d\n\x0d\nReadable.prototype.isPaused = function() {\x0d\n const state = this._readableState;\x0d\n return (state[kState] & kPaused) !== 0 || (state[kState] & (kHasFlowing | kFlowing)) === kHasFlowing;\x0d\n};\x0d\n\x0d\n// Backwards compatibility.\x0d\nReadable.prototype.setEncoding = function(enc) {\x0d\n const state = this._readableState;\x0d\n\x0d\n const decoder = new StringDecoder(enc);\x0d\n state.decoder = decoder;\x0d\n // If setEncoding(null)\x2C decoder.encoding equals utf8.\x0d\n state.encoding = state.decoder.encoding;\x0d\n\x0d\n // Iterate over current buffer to convert already stored Buffers:\x0d\n let content = '';\x0d\n for (const data of state.buffer.slice(state.bufferIndex)) {\x0d\n content += decoder.write(data);\x0d\n }\x0d\n state.buffer.length = 0;\x0d\n state.bufferIndex = 0;\x0d\n\x0d\n if (content !== '')\x0d\n state.buffer.push(content);\x0d\n state.length = content.length;\x0d\n return this;\x0d\n};\x0d\n\x0d\n// Don't raise the hwm > 1GB.\x0d\nconst MAX_HWM = 0x40000000;\x0d\nfunction computeNewHighWaterMark(n) {\x0d\n if (n > MAX_HWM) {\x0d\n throw new ERR_OUT_OF_RANGE('size'\x2C '<= 1GiB'\x2C n);\x0d\n } else {\x0d\n // Get the next highest power of 2 to prevent increasing hwm excessively in\x0d\n // tiny amounts.\x0d\n n--;\x0d\n n |= n >>> 1;\x0d\n n |= n >>> 2;\x0d\n n |= n >>> 4;\x0d\n n |= n >>> 8;\x0d\n n |= n >>> 16;\x0d\n n++;\x0d\n }\x0d\n return n;\x0d\n}\x0d\n\x0d\n// This function is designed to be inlinable\x2C so please take care when making\x0d\n// changes to the function body.\x0d\nfunction howMuchToRead(n\x2C state) {\x0d\n if (n <= 0 || (state.length === 0 && (state[kState] & kEnded) !== 0))\x0d\n return 0;\x0d\n if ((state[kState] & kObjectMode) !== 0)\x0d\n return 1;\x0d\n if (NumberIsNaN(n)) {\x0d\n // Only flow one buffer at a time.\x0d\n if ((state[kState] & kFlowing) !== 0 && state.length)\x0d\n return state.buffer[state.bufferIndex].length;\x0d\n return state.length;\x0d\n }\x0d\n if (n <= state.length)\x0d\n return n;\x0d\n return (state[kState] & kEnded) !== 0 ? state.length : 0;\x0d\n}\x0d\n\x0d\n// You can override either this method\x2C or the async _read(n) below.\x0d\nReadable.prototype.read = function(n) {\x0d\n debug('read'\x2C n);\x0d\n // Same as parseInt(undefined\x2C 10)\x2C however V8 7.3 performance regressed\x0d\n // in this scenario\x2C so we are doing it manually.\x0d\n if (n === undefined) {\x0d\n n = NaN;\x0d\n } else if (!NumberIsInteger(n)) {\x0d\n n = NumberParseInt(n\x2C 10);\x0d\n }\x0d\n const state = this._readableState;\x0d\n const nOrig = n;\x0d\n\x0d\n // If we're asking for more than the current hwm\x2C then raise the hwm.\x0d\n if (n > state.highWaterMark)\x0d\n state.highWaterMark = computeNewHighWaterMark(n);\x0d\n\x0d\n if (n !== 0)\x0d\n state[kState] &= ~kEmittedReadable;\x0d\n\x0d\n // If we're doing read(0) to trigger a readable event\x2C but we\x0d\n // already have a bunch of data in the buffer\x2C then just trigger\x0d\n // the 'readable' event and move on.\x0d\n if (n === 0 &&\x0d\n (state[kState] & kNeedReadable) !== 0 &&\x0d\n ((state.highWaterMark !== 0 ?\x0d\n state.length >= state.highWaterMark :\x0d\n state.length > 0) ||\x0d\n (state[kState] & kEnded) !== 0)) {\x0d\n debug('read: emitReadable');\x0d\n if (state.length === 0 && (state[kState] & kEnded) !== 0)\x0d\n endReadable(this);\x0d\n else\x0d\n emitReadable(this);\x0d\n return null;\x0d\n }\x0d\n\x0d\n n = howMuchToRead(n\x2C state);\x0d\n\x0d\n // If we've ended\x2C and we're now clear\x2C then finish it up.\x0d\n if (n === 0 && (state[kState] & kEnded) !== 0) {\x0d\n if (state.length === 0)\x0d\n endReadable(this);\x0d\n return null;\x0d\n }\x0d\n\x0d\n // All the actual chunk generation logic needs to be\x0d\n // *below* the call to _read. The reason is that in certain\x0d\n // synthetic stream cases\x2C such as passthrough streams\x2C _read\x0d\n // may be a completely synchronous operation which may change\x0d\n // the state of the read buffer\x2C providing enough data when\x0d\n // before there was *not* enough.\x0d\n //\x0d\n // So\x2C the steps are:\x0d\n // 1. Figure out what the state of things will be after we do\x0d\n // a read from the buffer.\x0d\n //\x0d\n // 2. If that resulting state will trigger a _read\x2C then call _read.\x0d\n // Note that this may be asynchronous\x2C or synchronous. Yes\x2C it is\x0d\n // deeply ugly to write APIs this way\x2C but that still doesn't mean\x0d\n // that the Readable class should behave improperly\x2C as streams are\x0d\n // designed to be sync/async agnostic.\x0d\n // Take note if the _read call is sync or async (ie\x2C if the read call\x0d\n // has returned yet)\x2C so that we know whether or not it's safe to emit\x0d\n // 'readable' etc.\x0d\n //\x0d\n // 3. Actually pull the requested chunks out of the buffer and return.\x0d\n\x0d\n // if we need a readable event\x2C then we need to do some reading.\x0d\n let doRead = (state[kState] & kNeedReadable) !== 0;\x0d\n debug('need readable'\x2C doRead);\x0d\n\x0d\n // If we currently have less than the highWaterMark\x2C then also read some.\x0d\n if (state.length === 0 || state.length - n < state.highWaterMark) {\x0d\n doRead = true;\x0d\n debug('length less than watermark'\x2C doRead);\x0d\n }\x0d\n\x0d\n // However\x2C if we've ended\x2C then there's no point\x2C if we're already\x0d\n // reading\x2C then it's unnecessary\x2C if we're constructing we have to wait\x2C\x0d\n // and if we're destroyed or errored\x2C then it's not allowed\x2C\x0d\n if ((state[kState] & (kReading | kEnded | kDestroyed | kErrored | kConstructed)) !== kConstructed) {\x0d\n doRead = false;\x0d\n debug('reading\x2C ended or constructing'\x2C doRead);\x0d\n } else if (doRead) {\x0d\n debug('do read');\x0d\n state[kState] |= kReading | kSync;\x0d\n // If the length is currently zero\x2C then we *need* a readable event.\x0d\n if (state.length === 0)\x0d\n state[kState] |= kNeedReadable;\x0d\n\x0d\n // Call internal read method\x0d\n try {\x0d\n this._read(state.highWaterMark);\x0d\n } catch (err) {\x0d\n errorOrDestroy(this\x2C err);\x0d\n }\x0d\n state[kState] &= ~kSync;\x0d\n\x0d\n // If _read pushed data synchronously\x2C then `reading` will be false\x2C\x0d\n // and we need to re-evaluate how much data we can return to the user.\x0d\n if ((state[kState] & kReading) === 0)\x0d\n n = howMuchToRead(nOrig\x2C state);\x0d\n }\x0d\n\x0d\n let ret;\x0d\n if (n > 0)\x0d\n ret = fromList(n\x2C state);\x0d\n else\x0d\n ret = null;\x0d\n\x0d\n if (ret === null) {\x0d\n state[kState] |= state.length <= state.highWaterMark ? kNeedReadable : 0;\x0d\n n = 0;\x0d\n } else {\x0d\n state.length -= n;\x0d\n if ((state[kState] & kMultiAwaitDrain) !== 0) {\x0d\n state.awaitDrainWriters.clear();\x0d\n } else {\x0d\n state.awaitDrainWriters = null;\x0d\n }\x0d\n }\x0d\n\x0d\n if (state.length === 0) {\x0d\n // If we have nothing in the buffer\x2C then we want to know\x0d\n // as soon as we *do* get something into the buffer.\x0d\n if ((state[kState] & kEnded) === 0)\x0d\n state[kState] |= kNeedReadable;\x0d\n\x0d\n // If we tried to read() past the EOF\x2C then emit end on the next tick.\x0d\n if (nOrig !== n && (state[kState] & kEnded) !== 0)\x0d\n endReadable(this);\x0d\n }\x0d\n\x0d\n if (ret !== null && (state[kState] & (kErrorEmitted | kCloseEmitted)) === 0) {\x0d\n state[kState] |= kDataEmitted;\x0d\n this.emit('data'\x2C ret);\x0d\n }\x0d\n\x0d\n return ret;\x0d\n};\x0d\n\x0d\nfunction onEofChunk(stream\x2C state) {\x0d\n debug('onEofChunk');\x0d\n if ((state[kState] & kEnded) !== 0) return;\x0d\n const decoder = (state[kState] & kDecoder) !== 0 ? state[kDecoderValue] : null;\x0d\n if (decoder) {\x0d\n const chunk = decoder.end();\x0d\n if (chunk && chunk.length) {\x0d\n state.buffer.push(chunk);\x0d\n state.length += (state[kState] & kObjectMode) !== 0 ? 1 : chunk.length;\x0d\n }\x0d\n }\x0d\n state[kState] |= kEnded;\x0d\n\x0d\n if ((state[kState] & kSync) !== 0) {\x0d\n // If we are sync\x2C wait until next tick to emit the data.\x0d\n // Otherwise we risk emitting data in the flow()\x0d\n // the readable code triggers during a read() call.\x0d\n emitReadable(stream);\x0d\n } else {\x0d\n // Emit 'readable' now to make sure it gets picked up.\x0d\n state[kState] &= ~kNeedReadable;\x0d\n state[kState] |= kEmittedReadable;\x0d\n // We have to emit readable now that we are EOF. Modules\x0d\n // in the ecosystem (e.g. dicer) rely on this event being sync.\x0d\n emitReadable_(stream);\x0d\n }\x0d\n}\x0d\n\x0d\n// Don't emit readable right away in sync mode\x2C because this can trigger\x0d\n// another read() call => stack overflow. This way\x2C it might trigger\x0d\n// a nextTick recursion warning\x2C but that's not so bad.\x0d\nfunction emitReadable(stream) {\x0d\n const state = stream._readableState;\x0d\n debug('emitReadable');\x0d\n state[kState] &= ~kNeedReadable;\x0d\n if ((state[kState] & kEmittedReadable) === 0) {\x0d\n debug('emitReadable'\x2C (state[kState] & kFlowing) !== 0);\x0d\n state[kState] |= kEmittedReadable;\x0d\n process.nextTick(emitReadable_\x2C stream);\x0d\n }\x0d\n}\x0d\n\x0d\nfunction emitReadable_(stream) {\x0d\n const state = stream._readableState;\x0d\n debug('emitReadable_');\x0d\n if ((state[kState] & (kDestroyed | kErrored)) === 0 && (state.length || (state[kState] & kEnded) !== 0)) {\x0d\n stream.emit('readable');\x0d\n state[kState] &= ~kEmittedReadable;\x0d\n }\x0d\n\x0d\n // The stream needs another readable event if:\x0d\n // 1. It is not flowing\x2C as the flow mechanism will take\x0d\n // care of it.\x0d\n // 2. It is not ended.\x0d\n // 3. It is below the highWaterMark\x2C so we can schedule\x0d\n // another readable later.\x0d\n state[kState] |=\x0d\n (state[kState] & (kFlowing | kEnded)) === 0 &&\x0d\n state.length <= state.highWaterMark ? kNeedReadable : 0;\x0d\n flow(stream);\x0d\n}\x0d\n\x0d\n\x0d\n// At this point\x2C the user has presumably seen the 'readable' event\x2C\x0d\n// and called read() to consume some data. that may have triggered\x0d\n// in turn another _read(n) call\x2C in which case reading = true if\x0d\n// it's in progress.\x0d\n// However\x2C if we're not ended\x2C or reading\x2C and the length < hwm\x2C\x0d\n// then go ahead and try to read some more preemptively.\x0d\nfunction maybeReadMore(stream\x2C state) {\x0d\n if ((state[kState] & (kReadingMore | kConstructed)) === kConstructed) {\x0d\n state[kState] |= kReadingMore;\x0d\n process.nextTick(maybeReadMore_\x2C stream\x2C state);\x0d\n }\x0d\n}\x0d\n\x0d\nfunction maybeReadMore_(stream\x2C state) {\x0d\n // Attempt to read more data if we should.\x0d\n //\x0d\n // The conditions for reading more data are (one of):\x0d\n // - Not enough data buffered (state.length < state.highWaterMark). The loop\x0d\n // is responsible for filling the buffer with enough data if such data\x0d\n // is available. If highWaterMark is 0 and we are not in the flowing mode\x0d\n // we should _not_ attempt to buffer any extra data. We'll get more data\x0d\n // when the stream consumer calls read() instead.\x0d\n // - No data in the buffer\x2C and the stream is in flowing mode. In this mode\x0d\n // the loop below is responsible for ensuring read() is called. Failing to\x0d\n // call read here would abort the flow and there's no other mechanism for\x0d\n // continuing the flow if the stream consumer has just subscribed to the\x0d\n // 'data' event.\x0d\n //\x0d\n // In addition to the above conditions to keep reading data\x2C the following\x0d\n // conditions prevent the data from being read:\x0d\n // - The stream has ended (state.ended).\x0d\n // - There is already a pending 'read' operation (state.reading). This is a\x0d\n // case where the stream has called the implementation defined _read()\x0d\n // method\x2C but they are processing the call asynchronously and have _not_\x0d\n // called push() with new data. In this case we skip performing more\x0d\n // read()s. The execution ends in this method again after the _read() ends\x0d\n // up calling push() with more data.\x0d\n while ((state[kState] & (kReading | kEnded)) === 0 &&\x0d\n (state.length < state.highWaterMark ||\x0d\n ((state[kState] & kFlowing) !== 0 && state.length === 0))) {\x0d\n const len = state.length;\x0d\n debug('maybeReadMore read 0');\x0d\n stream.read(0);\x0d\n if (len === state.length)\x0d\n // Didn't get any data\x2C stop spinning.\x0d\n break;\x0d\n }\x0d\n state[kState] &= ~kReadingMore;\x0d\n}\x0d\n\x0d\n// Abstract method. to be overridden in specific implementation classes.\x0d\n// call cb(er\x2C data) where data is <= n in length.\x0d\n// for virtual (non-string\x2C non-buffer) streams\x2C "length" is somewhat\x0d\n// arbitrary\x2C and perhaps not very meaningful.\x0d\nReadable.prototype._read = function(n) {\x0d\n throw new ERR_METHOD_NOT_IMPLEMENTED('_read()');\x0d\n};\x0d\n\x0d\nReadable.prototype.pipe = function(dest\x2C pipeOpts) {\x0d\n const src = this;\x0d\n const state = this._readableState;\x0d\n\x0d\n if (state.pipes.length === 1) {\x0d\n if ((state[kState] & kMultiAwaitDrain) === 0) {\x0d\n state[kState] |= kMultiAwaitDrain;\x0d\n state.awaitDrainWriters = new SafeSet(\x0d\n state.awaitDrainWriters ? [state.awaitDrainWriters] : []\x2C\x0d\n );\x0d\n }\x0d\n }\x0d\n\x0d\n state.pipes.push(dest);\x0d\n debug('pipe count=%d opts=%j'\x2C state.pipes.length\x2C pipeOpts);\x0d\n\x0d\n const doEnd = (!pipeOpts || pipeOpts.end !== false) &&\x0d\n dest !== process.stdout &&\x0d\n dest !== process.stderr;\x0d\n\x0d\n const endFn = doEnd ? onend : unpipe;\x0d\n if ((state[kState] & kEndEmitted) !== 0)\x0d\n process.nextTick(endFn);\x0d\n else\x0d\n src.once('end'\x2C endFn);\x0d\n\x0d\n dest.on('unpipe'\x2C onunpipe);\x0d\n function onunpipe(readable\x2C unpipeInfo) {\x0d\n debug('onunpipe');\x0d\n if (readable === src) {\x0d\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\x0d\n unpipeInfo.hasUnpiped = true;\x0d\n cleanup();\x0d\n }\x0d\n }\x0d\n }\x0d\n\x0d\n function onend() {\x0d\n debug('onend');\x0d\n dest.end();\x0d\n }\x0d\n\x0d\n let ondrain;\x0d\n\x0d\n let cleanedUp = false;\x0d\n function cleanup() {\x0d\n debug('cleanup');\x0d\n // Cleanup event handlers once the pipe is broken.\x0d\n dest.removeListener('close'\x2C onclose);\x0d\n dest.removeListener('finish'\x2C onfinish);\x0d\n if (ondrain) {\x0d\n dest.removeListener('drain'\x2C ondrain);\x0d\n }\x0d\n dest.removeListener('error'\x2C onerror);\x0d\n dest.removeListener('unpipe'\x2C onunpipe);\x0d\n src.removeListener('end'\x2C onend);\x0d\n src.removeListener('end'\x2C unpipe);\x0d\n src.removeListener('data'\x2C ondata);\x0d\n\x0d\n cleanedUp = true;\x0d\n\x0d\n // If the reader is waiting for a drain event from this\x0d\n // specific writer\x2C then it would cause it to never start\x0d\n // flowing again.\x0d\n // So\x2C if this is awaiting a drain\x2C then we just call it now.\x0d\n // If we don't know\x2C then assume that we are waiting for one.\x0d\n if (ondrain && state.awaitDrainWriters &&\x0d\n (!dest._writableState || dest._writableState.needDrain))\x0d\n ondrain();\x0d\n }\x0d\n\x0d\n function pause() {\x0d\n // If the user unpiped during `dest.write()`\x2C it is possible\x0d\n // to get stuck in a permanently paused state if that write\x0d\n // also returned false.\x0d\n // => Check whether `dest` is still a piping destination.\x0d\n if (!cleanedUp) {\x0d\n if (state.pipes.length === 1 && state.pipes[0] === dest) {\x0d\n debug('false write response\x2C pause'\x2C 0);\x0d\n state.awaitDrainWriters = dest;\x0d\n state[kState] &= ~kMultiAwaitDrain;\x0d\n } else if (state.pipes.length > 1 && state.pipes.includes(dest)) {\x0d\n debug('false write response\x2C pause'\x2C state.awaitDrainWriters.size);\x0d\n state.awaitDrainWriters.add(dest);\x0d\n }\x0d\n src.pause();\x0d\n }\x0d\n if (!ondrain) {\x0d\n // When the dest drains\x2C it reduces the awaitDrain counter\x0d\n // on the source. This would be more elegant with a .once()\x0d\n // handler in flow()\x2C but adding and removing repeatedly is\x0d\n // too slow.\x0d\n ondrain = pipeOnDrain(src\x2C dest);\x0d\n dest.on('drain'\x2C ondrain);\x0d\n }\x0d\n }\x0d\n\x0d\n src.on('data'\x2C ondata);\x0d\n function ondata(chunk) {\x0d\n debug('ondata');\x0d\n const ret = dest.write(chunk);\x0d\n debug('dest.write'\x2C ret);\x0d\n if (ret === false) {\x0d\n pause();\x0d\n }\x0d\n }\x0d\n\x0d\n // If the dest has an error\x2C then stop piping into it.\x0d\n // However\x2C don't suppress the throwing behavior for this.\x0d\n function onerror(er) {\x0d\n debug('onerror'\x2C er);\x0d\n unpipe();\x0d\n dest.removeListener('error'\x2C onerror);\x0d\n if (dest.listenerCount('error') === 0) {\x0d\n const s = dest._writableState || dest._readableState;\x0d\n if (s && !s.errorEmitted) {\x0d\n // User incorrectly emitted 'error' directly on the stream.\x0d\n errorOrDestroy(dest\x2C er);\x0d\n } else {\x0d\n dest.emit('error'\x2C er);\x0d\n }\x0d\n }\x0d\n }\x0d\n\x0d\n // Make sure our error handler is attached before userland ones.\x0d\n prependListener(dest\x2C 'error'\x2C onerror);\x0d\n\x0d\n // Both close and finish should trigger unpipe\x2C but only once.\x0d\n function onclose() {\x0d\n dest.removeListener('finish'\x2C onfinish);\x0d\n unpipe();\x0d\n }\x0d\n dest.once('close'\x2C onclose);\x0d\n function onfinish() {\x0d\n debug('onfinish');\x0d\n dest.removeListener('close'\x2C onclose);\x0d\n unpipe();\x0d\n }\x0d\n dest.once('finish'\x2C onfinish);\x0d\n\x0d\n function unpipe() {\x0d\n debug('unpipe');\x0d\n src.unpipe(dest);\x0d\n }\x0d\n\x0d\n // Tell the dest that it's being piped to.\x0d\n dest.emit('pipe'\x2C src);\x0d\n\x0d\n // Start the flow if it hasn't been started already.\x0d\n\x0d\n if (dest.writableNeedDrain === true) {\x0d\n pause();\x0d\n } else if ((state[kState] & kFlowing) === 0) {\x0d\n debug('pipe resume');\x0d\n src.resume();\x0d\n }\x0d\n\x0d\n return dest;\x0d\n};\x0d\n\x0d\nfunction pipeOnDrain(src\x2C dest) {\x0d\n return function pipeOnDrainFunctionResult() {\x0d\n const state = src._readableState;\x0d\n\x0d\n // `ondrain` will call directly\x2C\x0d\n // `this` maybe not a reference to dest\x2C\x0d\n // so we use the real dest here.\x0d\n if (state.awaitDrainWriters === dest) {\x0d\n debug('pipeOnDrain'\x2C 1);\x0d\n state.awaitDrainWriters = null;\x0d\n } else if ((state[kState] & kMultiAwaitDrain) !== 0) {\x0d\n debug('pipeOnDrain'\x2C state.awaitDrainWriters.size);\x0d\n state.awaitDrainWriters.delete(dest);\x0d\n }\x0d\n\x0d\n if ((!state.awaitDrainWriters || state.awaitDrainWriters.size === 0) &&\x0d\n (state[kState] & kDataListening) !== 0) {\x0d\n src.resume();\x0d\n }\x0d\n };\x0d\n}\x0d\n\x0d\n\x0d\nReadable.prototype.unpipe = function(dest) {\x0d\n const state = this._readableState;\x0d\n const unpipeInfo = { hasUnpiped: false };\x0d\n\x0d\n // If we're not piping anywhere\x2C then do nothing.\x0d\n if (state.pipes.length === 0)\x0d\n return this;\x0d\n\x0d\n if (!dest) {\x0d\n // remove all.\x0d\n const dests = state.pipes;\x0d\n state.pipes = [];\x0d\n this.pause();\x0d\n\x0d\n for (let i = 0; i < dests.length; i++)\x0d\n dests[i].emit('unpipe'\x2C this\x2C { hasUnpiped: false });\x0d\n return this;\x0d\n }\x0d\n\x0d\n // Try to find the right one.\x0d\n const index = ArrayPrototypeIndexOf(state.pipes\x2C dest);\x0d\n if (index === -1)\x0d\n return this;\x0d\n\x0d\n state.pipes.splice(index\x2C 1);\x0d\n if (state.pipes.length === 0)\x0d\n this.pause();\x0d\n\x0d\n dest.emit('unpipe'\x2C this\x2C unpipeInfo);\x0d\n\x0d\n return this;\x0d\n};\x0d\n\x0d\n// Set up data events if they are asked for\x0d\n// Ensure readable listeners eventually get something.\x0d\nReadable.prototype.on = function(ev\x2C fn) {\x0d\n const res = Stream.prototype.on.call(this\x2C ev\x2C fn);\x0d\n const state = this._readableState;\x0d\n\x0d\n if (ev === 'data') {\x0d\n state[kState] |= kDataListening;\x0d\n\x0d\n // Update readableListening so that resume() may be a no-op\x0d\n // a few lines down. This is needed to support once('readable').\x0d\n state[kState] |= this.listenerCount('readable') > 0 ? kReadableListening : 0;\x0d\n\x0d\n // Try start flowing on next tick if stream isn't explicitly paused.\x0d\n if ((state[kState] & (kHasFlowing | kFlowing)) !== kHasFlowing) {\x0d\n this.resume();\x0d\n }\x0d\n } else if (ev === 'readable') {\x0d\n if ((state[kState] & (kEndEmitted | kReadableListening)) === 0) {\x0d\n state[kState] |= kReadableListening | kNeedReadable | kHasFlowing;\x0d\n state[kState] &= ~(kFlowing | kEmittedReadable);\x0d\n debug('on readable');\x0d\n if (state.length) {\x0d\n emitReadable(this);\x0d\n } else if ((state[kState] & kReading) === 0) {\x0d\n process.nextTick(nReadingNextTick\x2C this);\x0d\n }\x0d\n }\x0d\n }\x0d\n\x0d\n return res;\x0d\n};\x0d\nReadable.prototype.addListener = Readable.prototype.on;\x0d\n\x0d\nReadable.prototype.removeListener = function(ev\x2C fn) {\x0d\n const state = this._readableState;\x0d\n\x0d\n const res = Stream.prototype.removeListener.call(this\x2C\x0d\n ev\x2C fn);\x0d\n\x0d\n if (ev === 'readable') {\x0d\n // We need to check if there is someone still listening to\x0d\n // readable and reset the state. However this needs to happen\x0d\n // after readable has been emitted but before I/O (nextTick) to\x0d\n // support once('readable'\x2C fn) cycles. This means that calling\x0d\n // resume within the same tick will have no\x0d\n // effect.\x0d\n process.nextTick(updateReadableListening\x2C this);\x0d\n } else if (ev === 'data' && this.listenerCount('data') === 0) {\x0d\n state[kState] &= ~kDataListening;\x0d\n }\x0d\n\x0d\n return res;\x0d\n};\x0d\nReadable.prototype.off = Readable.prototype.removeListener;\x0d\n\x0d\nReadable.prototype.removeAllListeners = function(ev) {\x0d\n const res = Stream.prototype.removeAllListeners.apply(this\x2C\x0d\n arguments);\x0d\n\x0d\n if (ev === 'readable' || ev === undefined) {\x0d\n // We need to check if there is someone still listening to\x0d\n // readable and reset the state. However this needs to happen\x0d\n // after readable has been emitted but before I/O (nextTick) to\x0d\n // support once('readable'\x2C fn) cycles. This means that calling\x0d\n // resume within the same tick will have no\x0d\n // effect.\x0d\n process.nextTick(updateReadableListening\x2C this);\x0d\n }\x0d\n\x0d\n return res;\x0d\n};\x0d\n\x0d\nfunction updateReadableListening(self) {\x0d\n const state = self._readableState;\x0d\n\x0d\n if (self.listenerCount('readable') > 0) {\x0d\n state[kState] |= kReadableListening;\x0d\n } else {\x0d\n state[kState] &= ~kReadableListening;\x0d\n }\x0d\n\x0d\n if ((state[kState] & (kHasPaused | kPaused | kResumeScheduled)) === (kHasPaused | kResumeScheduled)) {\x0d\n // Flowing needs to be set to true now\x2C otherwise\x0d\n // the upcoming resume will not flow.\x0d\n state[kState] |= kHasFlowing | kFlowing;\x0d\n\x0d\n // Crude way to check if we should resume.\x0d\n } else if ((state[kState] & kDataListening) !== 0) {\x0d\n self.resume();\x0d\n } else if ((state[kState] & kReadableListening) === 0) {\x0d\n state[kState] &= ~(kHasFlowing | kFlowing);\x0d\n }\x0d\n}\x0d\n\x0d\nfunction nReadingNextTick(self) {\x0d\n debug('readable nexttick read 0');\x0d\n self.read(0);\x0d\n}\x0d\n\x0d\n// pause() and resume() are remnants of the legacy readable stream API\x0d\n// If the user uses them\x2C then switch into old mode.\x0d\nReadable.prototype.resume = function() {\x0d\n const state = this._readableState;\x0d\n if ((state[kState] & kFlowing) === 0) {\x0d\n debug('resume');\x0d\n // We flow only if there is no one listening\x0d\n // for readable\x2C but we still have to call\x0d\n // resume().\x0d\n state[kState] |= kHasFlowing;\x0d\n if ((state[kState] & kReadableListening) === 0) {\x0d\n state[kState] |= kFlowing;\x0d\n } else {\x0d\n state[kState] &= ~kFlowing;\x0d\n }\x0d\n resume(this\x2C state);\x0d\n }\x0d\n state[kState] |= kHasPaused;\x0d\n state[kState] &= ~kPaused;\x0d\n return this;\x0d\n};\x0d\n\x0d\nfunction resume(stream\x2C state) {\x0d\n if ((state[kState] & kResumeScheduled) === 0) {\x0d\n state[kState] |= kResumeScheduled;\x0d\n process.nextTick(resume_\x2C stream\x2C state);\x0d\n }\x0d\n}\x0d\n\x0d\nfunction resume_(stream\x2C state) {\x0d\n debug('resume'\x2C (state[kState] & kReading) !== 0);\x0d\n if ((state[kState] & kReading) === 0) {\x0d\n stream.read(0);\x0d\n }\x0d\n\x0d\n state[kState] &= ~kResumeScheduled;\x0d\n stream.emit('resume');\x0d\n flow(stream);\x0d\n if ((state[kState] & (kFlowing | kReading)) === kFlowing)\x0d\n stream.read(0);\x0d\n}\x0d\n\x0d\nReadable.prototype.pause = function() {\x0d\n const state = this._readableState;\x0d\n debug('call pause');\x0d\n if ((state[kState] & (kHasFlowing | kFlowing)) !== kHasFlowing) {\x0d\n debug('pause');\x0d\n state[kState] |= kHasFlowing;\x0d\n state[kState] &= ~kFlowing;\x0d\n this.emit('pause');\x0d\n }\x0d\n state[kState] |= kHasPaused | kPaused;\x0d\n return this;\x0d\n};\x0d\n\x0d\nfunction flow(stream) {\x0d\n const state = stream._readableState;\x0d\n debug('flow');\x0d\n while ((state[kState] & kFlowing) !== 0 && stream.read() !== null);\x0d\n}\x0d\n\x0d\n// Wrap an old-style stream as the async data source.\x0d\n// This is *not* part of the readable stream interface.\x0d\n// It is an ugly unfortunate mess of history.\x0d\nReadable.prototype.wrap = function(stream) {\x0d\n let paused = false;\x0d\n\x0d\n // TODO (ronag): Should this.destroy(err) emit\x0d\n // 'error' on the wrapped stream? Would require\x0d\n // a static factory method\x2C e.g. Readable.wrap(stream).\x0d\n\x0d\n stream.on('data'\x2C (chunk) => {\x0d\n if (!this.push(chunk) && stream.pause) {\x0d\n paused = true;\x0d\n stream.pause();\x0d\n }\x0d\n });\x0d\n\x0d\n stream.on('end'\x2C () => {\x0d\n this.push(null);\x0d\n });\x0d\n\x0d\n stream.on('error'\x2C (err) => {\x0d\n errorOrDestroy(this\x2C err);\x0d\n });\x0d\n\x0d\n stream.on('close'\x2C () => {\x0d\n this.destroy();\x0d\n });\x0d\n\x0d\n stream.on('destroy'\x2C () => {\x0d\n this.destroy();\x0d\n });\x0d\n\x0d\n this._read = () => {\x0d\n if (paused && stream.resume) {\x0d\n paused = false;\x0d\n stream.resume();\x0d\n }\x0d\n };\x0d\n\x0d\n // Proxy all the other methods. Important when wrapping filters and duplexes.\x0d\n const streamKeys = ObjectKeys(stream);\x0d\n for (let j = 1; j < streamKeys.length; j++) {\x0d\n const i = streamKeys[j];\x0d\n if (this[i] === undefined && typeof stream[i] === 'function') {\x0d\n this[i] = stream[i].bind(stream);\x0d\n }\x0d\n }\x0d\n\x0d\n return this;\x0d\n};\x0d\n\x0d\nReadable.prototype[SymbolAsyncIterator] = function() {\x0d\n return streamToAsyncIterator(this);\x0d\n};\x0d\n\x0d\nReadable.prototype.iterator = function(options) {\x0d\n if (options !== undefined) {\x0d\n validateObject(options\x2C 'options');\x0d\n }\x0d\n return streamToAsyncIterator(this\x2C options);\x0d\n};\x0d\n\x0d\nfunction streamToAsyncIterator(stream\x2C options) {\x0d\n if (typeof stream.read !== 'function') {\x0d\n stream = Readable.wrap(stream\x2C { objectMode: true });\x0d\n }\x0d\n\x0d\n const iter = createAsyncIterator(stream\x2C options);\x0d\n iter.stream = stream;\x0d\n return iter;\x0d\n}\x0d\n\x0d\nasync function* createAsyncIterator(stream\x2C options) {\x0d\n let callback = nop;\x0d\n\x0d\n function next(resolve) {\x0d\n if (this === stream) {\x0d\n callback();\x0d\n callback = nop;\x0d\n } else {\x0d\n callback = resolve;\x0d\n }\x0d\n }\x0d\n\x0d\n stream.on('readable'\x2C next);\x0d\n\x0d\n let error;\x0d\n const cleanup = eos(stream\x2C { writable: false }\x2C (err) => {\x0d\n error = err ? aggregateTwoErrors(error\x2C err) : null;\x0d\n callback();\x0d\n callback = nop;\x0d\n });\x0d\n\x0d\n try {\x0d\n while (true) {\x0d\n const chunk = stream.destroyed ? null : stream.read();\x0d\n if (chunk !== null) {\x0d\n yield chunk;\x0d\n } else if (error) {\x0d\n throw error;\x0d\n } else if (error === null) {\x0d\n return;\x0d\n } else {\x0d\n await new Promise(next);\x0d\n }\x0d\n }\x0d\n } catch (err) {\x0d\n error = aggregateTwoErrors(error\x2C err);\x0d\n throw error;\x0d\n } finally {\x0d\n if (\x0d\n (error || options?.destroyOnReturn !== false) &&\x0d\n (error === undefined || stream._readableState.autoDestroy)\x0d\n ) {\x0d\n destroyImpl.destroyer(stream\x2C null);\x0d\n } else {\x0d\n stream.off('readable'\x2C next);\x0d\n cleanup();\x0d\n }\x0d\n }\x0d\n}\x0d\n\x0d\n// Making it explicit these properties are not enumerable\x0d\n// because otherwise some prototype manipulation in\x0d\n// userland will fail.\x0d\nObjectDefineProperties(Readable.prototype\x2C {\x0d\n readable: {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n const r = this._readableState;\x0d\n // r.readable === false means that this is part of a Duplex stream\x0d\n // where the readable side was disabled upon construction.\x0d\n // Compat. The user might manually disable readable side through\x0d\n // deprecated setter.\x0d\n return !!r && r.readable !== false && !r.destroyed && !r.errorEmitted &&\x0d\n !r.endEmitted;\x0d\n }\x2C\x0d\n set(val) {\x0d\n // Backwards compat.\x0d\n if (this._readableState) {\x0d\n this._readableState.readable = !!val;\x0d\n }\x0d\n }\x2C\x0d\n }\x2C\x0d\n\x0d\n readableDidRead: {\x0d\n __proto__: null\x2C\x0d\n enumerable: false\x2C\x0d\n get: function() {\x0d\n return this._readableState.dataEmitted;\x0d\n }\x2C\x0d\n }\x2C\x0d\n\x0d\n readableAborted: {\x0d\n __proto__: null\x2C\x0d\n enumerable: false\x2C\x0d\n get: function() {\x0d\n return !!(\x0d\n this._readableState.readable !== false &&\x0d\n (this._readableState.destroyed || this._readableState.errored) &&\x0d\n !this._readableState.endEmitted\x0d\n );\x0d\n }\x2C\x0d\n }\x2C\x0d\n\x0d\n readableHighWaterMark: {\x0d\n __proto__: null\x2C\x0d\n enumerable: false\x2C\x0d\n get: function() {\x0d\n return this._readableState.highWaterMark;\x0d\n }\x2C\x0d\n }\x2C\x0d\n\x0d\n readableBuffer: {\x0d\n __proto__: null\x2C\x0d\n enumerable: false\x2C\x0d\n get: function() {\x0d\n return this._readableState && this._readableState.buffer;\x0d\n }\x2C\x0d\n }\x2C\x0d\n\x0d\n readableFlowing: {\x0d\n __proto__: null\x2C\x0d\n enumerable: false\x2C\x0d\n get: function() {\x0d\n return this._readableState.flowing;\x0d\n }\x2C\x0d\n set: function(state) {\x0d\n if (this._readableState) {\x0d\n this._readableState.flowing = state;\x0d\n }\x0d\n }\x2C\x0d\n }\x2C\x0d\n\x0d\n readableLength: {\x0d\n __proto__: null\x2C\x0d\n enumerable: false\x2C\x0d\n get() {\x0d\n return this._readableState.length;\x0d\n }\x2C\x0d\n }\x2C\x0d\n\x0d\n readableObjectMode: {\x0d\n __proto__: null\x2C\x0d\n enumerable: false\x2C\x0d\n get() {\x0d\n return this._readableState ? this._readableState.objectMode : false;\x0d\n }\x2C\x0d\n }\x2C\x0d\n\x0d\n readableEncoding: {\x0d\n __proto__: null\x2C\x0d\n enumerable: false\x2C\x0d\n get() {\x0d\n return this._readableState ? this._readableState.encoding : null;\x0d\n }\x2C\x0d\n }\x2C\x0d\n\x0d\n errored: {\x0d\n __proto__: null\x2C\x0d\n enumerable: false\x2C\x0d\n get() {\x0d\n return this._readableState ? this._readableState.errored : null;\x0d\n }\x2C\x0d\n }\x2C\x0d\n\x0d\n closed: {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n return this._readableState ? this._readableState.closed : false;\x0d\n }\x2C\x0d\n }\x2C\x0d\n\x0d\n destroyed: {\x0d\n __proto__: null\x2C\x0d\n enumerable: false\x2C\x0d\n get() {\x0d\n return this._readableState ? this._readableState.destroyed : false;\x0d\n }\x2C\x0d\n set(value) {\x0d\n // We ignore the value if the stream\x0d\n // has not been initialized yet.\x0d\n if (!this._readableState) {\x0d\n return;\x0d\n }\x0d\n\x0d\n // Backward compatibility\x2C the user is explicitly\x0d\n // managing destroyed.\x0d\n this._readableState.destroyed = value;\x0d\n }\x2C\x0d\n }\x2C\x0d\n\x0d\n readableEnded: {\x0d\n __proto__: null\x2C\x0d\n enumerable: false\x2C\x0d\n get() {\x0d\n return this._readableState ? this._readableState.endEmitted : false;\x0d\n }\x2C\x0d\n }\x2C\x0d\n\x0d\n});\x0d\n\x0d\nObjectDefineProperties(ReadableState.prototype\x2C {\x0d\n // Legacy getter for `pipesCount`.\x0d\n pipesCount: {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n return this.pipes.length;\x0d\n }\x2C\x0d\n }\x2C\x0d\n\x0d\n // Legacy property for `paused`.\x0d\n paused: {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n return (this[kState] & kPaused) !== 0;\x0d\n }\x2C\x0d\n set(value) {\x0d\n this[kState] |= kHasPaused;\x0d\n if (value) {\x0d\n this[kState] |= kPaused;\x0d\n } else {\x0d\n this[kState] &= ~kPaused;\x0d\n }\x0d\n }\x2C\x0d\n }\x2C\x0d\n});\x0d\n\x0d\n// Exposed for testing purposes only.\x0d\nReadable._fromList = fromList;\x0d\n\x0d\n// Pluck off n bytes from an array of buffers.\x0d\n// Length is the combined lengths of all the buffers in the list.\x0d\n// This function is designed to be inlinable\x2C so please take care when making\x0d\n// changes to the function body.\x0d\nfunction fromList(n\x2C state) {\x0d\n // nothing buffered.\x0d\n if (state.length === 0)\x0d\n return null;\x0d\n\x0d\n let idx = state.bufferIndex;\x0d\n let ret;\x0d\n\x0d\n const buf = state.buffer;\x0d\n const len = buf.length;\x0d\n\x0d\n if ((state[kState] & kObjectMode) !== 0) {\x0d\n ret = buf[idx];\x0d\n buf[idx++] = null;\x0d\n } else if (!n || n >= state.length) {\x0d\n // Read it all\x2C truncate the list.\x0d\n if ((state[kState] & kDecoder) !== 0) {\x0d\n ret = '';\x0d\n while (idx < len) {\x0d\n ret += buf[idx];\x0d\n buf[idx++] = null;\x0d\n }\x0d\n } else if (len - idx === 0) {\x0d\n ret = Buffer.alloc(0);\x0d\n } else if (len - idx === 1) {\x0d\n ret = buf[idx];\x0d\n buf[idx++] = null;\x0d\n } else {\x0d\n ret = Buffer.allocUnsafe(state.length);\x0d\n\x0d\n let i = 0;\x0d\n while (idx < len) {\x0d\n TypedArrayPrototypeSet(ret\x2C buf[idx]\x2C i);\x0d\n i += buf[idx].length;\x0d\n buf[idx++] = null;\x0d\n }\x0d\n }\x0d\n } else if (n < buf[idx].length) {\x0d\n // `slice` is the same for buffers and strings.\x0d\n ret = buf[idx].slice(0\x2C n);\x0d\n buf[idx] = buf[idx].slice(n);\x0d\n } else if (n === buf[idx].length) {\x0d\n // First chunk is a perfect match.\x0d\n ret = buf[idx];\x0d\n buf[idx++] = null;\x0d\n } else if ((state[kState] & kDecoder) !== 0) {\x0d\n ret = '';\x0d\n while (idx < len) {\x0d\n const str = buf[idx];\x0d\n if (n > str.length) {\x0d\n ret += str;\x0d\n n -= str.length;\x0d\n buf[idx++] = null;\x0d\n } else {\x0d\n if (n === buf.length) {\x0d\n ret += str;\x0d\n buf[idx++] = null;\x0d\n } else {\x0d\n ret += str.slice(0\x2C n);\x0d\n buf[idx] = str.slice(n);\x0d\n }\x0d\n break;\x0d\n }\x0d\n }\x0d\n } else {\x0d\n ret = Buffer.allocUnsafe(n);\x0d\n\x0d\n const retLen = n;\x0d\n while (idx < len) {\x0d\n const data = buf[idx];\x0d\n if (n > data.length) {\x0d\n TypedArrayPrototypeSet(ret\x2C data\x2C retLen - n);\x0d\n n -= data.length;\x0d\n buf[idx++] = null;\x0d\n } else {\x0d\n if (n === data.length) {\x0d\n TypedArrayPrototypeSet(ret\x2C data\x2C retLen - n);\x0d\n buf[idx++] = null;\x0d\n } else {\x0d\n TypedArrayPrototypeSet(ret\x2C new FastBuffer(data.buffer\x2C data.byteOffset\x2C n)\x2C retLen - n);\x0d\n buf[idx] = new FastBuffer(data.buffer\x2C data.byteOffset + n\x2C data.length - n);\x0d\n }\x0d\n break;\x0d\n }\x0d\n }\x0d\n }\x0d\n\x0d\n if (idx === len) {\x0d\n state.buffer.length = 0;\x0d\n state.bufferIndex = 0;\x0d\n } else if (idx > 1024) {\x0d\n state.buffer.splice(0\x2C idx);\x0d\n state.bufferIndex = 0;\x0d\n } else {\x0d\n state.bufferIndex = idx;\x0d\n }\x0d\n\x0d\n return ret;\x0d\n}\x0d\n\x0d\nfunction endReadable(stream) {\x0d\n const state = stream._readableState;\x0d\n\x0d\n debug('endReadable');\x0d\n if ((state[kState] & kEndEmitted) === 0) {\x0d\n state[kState] |= kEnded;\x0d\n process.nextTick(endReadableNT\x2C state\x2C stream);\x0d\n }\x0d\n}\x0d\n\x0d\nfunction endReadableNT(state\x2C stream) {\x0d\n debug('endReadableNT');\x0d\n\x0d\n // Check that we didn't get one last unshift.\x0d\n if ((state[kState] & (kErrored | kCloseEmitted | kEndEmitted)) === 0 && state.length === 0) {\x0d\n state[kState] |= kEndEmitted;\x0d\n stream.emit('end');\x0d\n\x0d\n if (stream.writable && stream.allowHalfOpen === false) {\x0d\n process.nextTick(endWritableNT\x2C stream);\x0d\n } else if (state.autoDestroy) {\x0d\n // In case of duplex streams we need a way to detect\x0d\n // if the writable side is ready for autoDestroy as well.\x0d\n const wState = stream._writableState;\x0d\n const autoDestroy = !wState || (\x0d\n wState.autoDestroy &&\x0d\n // We don't expect the writable to ever 'finish'\x0d\n // if writable is explicitly set to false.\x0d\n (wState.finished || wState.writable === false)\x0d\n );\x0d\n\x0d\n if (autoDestroy) {\x0d\n stream.destroy();\x0d\n }\x0d\n }\x0d\n }\x0d\n}\x0d\n\x0d\nfunction endWritableNT(stream) {\x0d\n const writable = stream.writable && !stream.writableEnded &&\x0d\n !stream.destroyed;\x0d\n if (writable) {\x0d\n stream.end();\x0d\n }\x0d\n}\x0d\n\x0d\nReadable.from = function(iterable\x2C opts) {\x0d\n return from(Readable\x2C iterable\x2C opts);\x0d\n};\x0d\n\x0d\nlet webStreamsAdapters;\x0d\n\x0d\n// Lazy to avoid circular references\x0d\nfunction lazyWebStreams() {\x0d\n if (webStreamsAdapters === undefined)\x0d\n webStreamsAdapters = require('internal/webstreams/adapters');\x0d\n return webStreamsAdapters;\x0d\n}\x0d\n\x0d\nReadable.fromWeb = function(readableStream\x2C options) {\x0d\n return lazyWebStreams().newStreamReadableFromReadableStream(\x0d\n readableStream\x2C\x0d\n options);\x0d\n};\x0d\n\x0d\nReadable.toWeb = function(streamReadable\x2C options) {\x0d\n return lazyWebStreams().newReadableStreamFromStreamReadable(\x0d\n streamReadable\x2C\x0d\n options);\x0d\n};\x0d\n\x0d\nReadable.wrap = function(src\x2C options) {\x0d\n return new Readable({\x0d\n objectMode: src.readableObjectMode ?? src.objectMode ?? true\x2C\x0d\n ...options\x2C\x0d\n destroy(err\x2C callback) {\x0d\n destroyImpl.destroyer(src\x2C err);\x0d\n callback(err);\x0d\n }\x2C\x0d\n }).wrap(src);\x0d\n};\x0d\n
code-source-info,0x77b20ec1fe,97,0,53085,C0O0C4O53085,,
code-creation,JS,10,341509,0x77b20ef516,2570, node:internal/streams/readable:1:1,0x77b20ec178,~
code-source-info,0x77b20ef516,97,0,53085,C0O0C390O1183C396O1209C402O1229C408O1245C414O1264C419O1291C425O1306C430O1331C436O1343C442O1355C447O1366C452O1389C457O1413C462O1431C468O1476C470O1491C474O1504C479O1527C483O1558C489O1558C494O1614C500O1614C505O1586C511O1594C517O1670C523O1670C528O1659C534O1724C540O1724C545O1703C551O1783C557O1783C561O1783C563O1841C569O1841C574O1874C587O1875C593O1841C595O1945C601O1945C605O1945C607O2045C613O2045C618O1994C624O2015C630O2281C636O2281C641O2092C647O2119C653O2135C659O2153C665O2170C671O2185C677O2200C682O2212C688O2230C694O2243C700O2260C706O2571C712O2571C717O2330C723O2360C728O2367C734O2394C740O2427C746O2450C752O2482C758O2523C764O2554C770O2627C776O2627C781O2608C787O2681C792O2687C795O2681C797O2733C803O2733C808O2715C814O2774C820O2774C824O2774C826O2811C829O2841C837O2859C842O2811C847O2872C853O2872C858O2925C862O2925C864O2965C867O2946C873O3003C876O3003C880O3003C882O3059C885O3059C889O3059C891O3115C894O3115C898O3115C900O3164C903O3164C907O3164C909O3208C913O3208C915O3237C919O3237C921O3264C925O3264C927O3288C931O3288C933O3320C937O3320C939O3355C943O3355C945O3392C951O3392C953O3427C959O3427C961O3462C967O3462C969O3493C975O3493C977O3524C983O3524C985O3563C991O3563C993O3590C999O3590C1001O3618C1007O3618C1009O3648C1015O3648C1017O3675C1023O3675C1025O3704C1031O3704C1033O3730C1039O3730C1041O3763C1047O3763C1049O4092C1052O4129C1065O4157C1076O4202C1087O4247C1098O4294C1109O4528C1120O4846C1131O5004C1142O5061C1153O5123C1164O5185C1175O5318C1186O5369C1197O5419C1208O5498C1216O5603C1227O5745C1238O5802C1249O5909C1260O5961C1268O6256C1273O6309C1281O6406C1295O6609C1300O6662C1308O6769C1322O7028C1327O7081C1335O7178C1349O7374C1354O7427C1362O7526C1376O7724C1381O7777C1389O7889C1403O4092C1408O10232C1411O10246C1419O10256C1423O10272C1427O11480C1430O11489C1438O11521C1446O11507C1454O11531C1457O11540C1465O11575C1473O11561C1481O11587C1484O11596C1493O11615C1501O11656C1504O11665C1509O11678C1522O11702C1530O11749C1533O11758C1538O11768C1542O11788C1550O12262C1553O12271C1562O12286C1570O12634C1573O12643C1582O12661C1590O18034C1593O18043C1602O18062C1610O18256C1613O18265C1622O18287C1630O18931C1636O18931C1638O19996C1641O20005C1650O20020C1658O29758C1661O29767C1670O29783C1678O29858C1681O29867C1690O29882C1698O35260C1701O35269C1710O35286C1718O36126C1721O36135C1730O36148C1738O37191C1741O37200C1749O37233C1754O37243C1762O37222C1770O37250C1773O37259C1782O37284C1790O38015C1793O38024C1801O38049C1806O38059C1814O38038C1822O38078C1825O38087C1834O38116C1842O39679C1845O39688C1854O39705C1862O40746C1865O40755C1874O40771C1882O41419C1885O41428C1894O41443C1902O42518C1905O42527C1910O42537C1914O42558C1922O42619C1925O42628C1934O42647C1942O44327C1945O44359C1958O44385C1966O44414C1978O44818C2000O44983C2008O45041C2030O45137C2038O45195C2060O45445C2068O45503C2090O45600C2098O45658C2120O45772C2128O45830C2140O45904C2162O46046C2170O46099C2192O46188C2200O46241C2222O46362C2230O46415C2252O46524C2260O46577C2282O46684C2290O46713C2312O46823C2320O46876C2332O46972C2354O47299C2362O47352C2384O44327C2394O47460C2397O47497C2410O47563C2418O47592C2440O47696C2448O47725C2460O47792C2482O47460C2492O48015C2497O48034C2505O52162C2512O52176C2520O52258C2521O52258C2523O52491C2530O52508C2538O52653C2545O52668C2553O52813C2560O52827C2569O53084,,
code-creation,Eval,10,342153,0x77b20f487e,5, node:internal/streams/add-abort-signal:1:1,0x77b20f4688,~
script-source,98,node:internal/streams/add-abort-signal,'use strict';\x0d\n\x0d\nconst {\x0d\n SymbolDispose\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst {\x0d\n AbortError\x2C\x0d\n codes\x2C\x0d\n} = require('internal/errors');\x0d\n\x0d\nconst {\x0d\n isNodeStream\x2C\x0d\n isWebStream\x2C\x0d\n kControllerErrorFunction\x2C\x0d\n} = require('internal/streams/utils');\x0d\n\x0d\nconst eos = require('internal/streams/end-of-stream');\x0d\nconst { ERR_INVALID_ARG_TYPE } = codes;\x0d\nlet addAbortListener;\x0d\n\x0d\n// This method is inlined here for readable-stream\x0d\n// It also does not allow for signal to not exist on the stream\x0d\n// https://github.com/nodejs/node/pull/36061#discussion_r533718029\x0d\nconst validateAbortSignal = (signal\x2C name) => {\x0d\n if (typeof signal !== 'object' ||\x0d\n !('aborted' in signal)) {\x0d\n throw new ERR_INVALID_ARG_TYPE(name\x2C 'AbortSignal'\x2C signal);\x0d\n }\x0d\n};\x0d\n\x0d\nmodule.exports.addAbortSignal = function addAbortSignal(signal\x2C stream) {\x0d\n validateAbortSignal(signal\x2C 'signal');\x0d\n if (!isNodeStream(stream) && !isWebStream(stream)) {\x0d\n throw new ERR_INVALID_ARG_TYPE('stream'\x2C ['ReadableStream'\x2C 'WritableStream'\x2C 'Stream']\x2C stream);\x0d\n }\x0d\n return module.exports.addAbortSignalNoValidate(signal\x2C stream);\x0d\n};\x0d\n\x0d\nmodule.exports.addAbortSignalNoValidate = function(signal\x2C stream) {\x0d\n if (typeof signal !== 'object' || !('aborted' in signal)) {\x0d\n return stream;\x0d\n }\x0d\n const onAbort = isNodeStream(stream) ?\x0d\n () => {\x0d\n stream.destroy(new AbortError(undefined\x2C { cause: signal.reason }));\x0d\n } :\x0d\n () => {\x0d\n stream[kControllerErrorFunction](new AbortError(undefined\x2C { cause: signal.reason }));\x0d\n };\x0d\n if (signal.aborted) {\x0d\n onAbort();\x0d\n } else {\x0d\n addAbortListener ??= require('internal/events/abort_listener').addAbortListener;\x0d\n const disposable = addAbortListener(signal\x2C onAbort);\x0d\n eos(stream\x2C disposable[SymbolDispose]);\x0d\n }\x0d\n return stream;\x0d\n};\x0d\n
code-source-info,0x77b20f487e,98,0,1787,C0O0C4O1787,,
code-creation,JS,10,342265,0x77b20f4aee,158, node:internal/streams/add-abort-signal:1:1,0x77b20f47f8,~
code-source-info,0x77b20f4aee,98,0,1787,C0O0C40O28C46O102C52O102C57O75C63O90C68O208C74O208C79O144C85O161C91O177C97O258C103O258C107O258C109O310C115O347C116O347C118O581C122O581C124O750C127O757C136O780C140O1104C143O1111C152O1144C157O1786,,
code-creation,Eval,10,342438,0x77b20f536e,5, node:internal/streams/state:1:1,0x77b20f51a8,~
script-source,99,node:internal/streams/state,'use strict';\x0d\n\x0d\nconst {\x0d\n MathFloor\x2C\x0d\n NumberIsInteger\x2C\x0d\n} = primordials;\x0d\nconst { validateInteger } = require('internal/validators');\x0d\n\x0d\nconst { ERR_INVALID_ARG_VALUE } = require('internal/errors').codes;\x0d\n\x0d\nlet defaultHighWaterMarkBytes = 16 * 1024;\x0d\nlet defaultHighWaterMarkObjectMode = 16;\x0d\n\x0d\nfunction highWaterMarkFrom(options\x2C isDuplex\x2C duplexKey) {\x0d\n return options.highWaterMark != null ? options.highWaterMark :\x0d\n isDuplex ? options[duplexKey] : null;\x0d\n}\x0d\n\x0d\nfunction getDefaultHighWaterMark(objectMode) {\x0d\n return objectMode ? defaultHighWaterMarkObjectMode : defaultHighWaterMarkBytes;\x0d\n}\x0d\n\x0d\nfunction setDefaultHighWaterMark(objectMode\x2C value) {\x0d\n validateInteger(value\x2C 'value'\x2C 0);\x0d\n if (objectMode) {\x0d\n defaultHighWaterMarkObjectMode = value;\x0d\n } else {\x0d\n defaultHighWaterMarkBytes = value;\x0d\n }\x0d\n}\x0d\n\x0d\nfunction getHighWaterMark(state\x2C options\x2C duplexKey\x2C isDuplex) {\x0d\n const hwm = highWaterMarkFrom(options\x2C isDuplex\x2C duplexKey);\x0d\n if (hwm != null) {\x0d\n if (!NumberIsInteger(hwm) || hwm < 0) {\x0d\n const name = isDuplex ? `options.${duplexKey}` : 'options.highWaterMark';\x0d\n throw new ERR_INVALID_ARG_VALUE(name\x2C hwm);\x0d\n }\x0d\n return MathFloor(hwm);\x0d\n }\x0d\n\x0d\n // Default value\x0d\n return getDefaultHighWaterMark(state.objectMode);\x0d\n}\x0d\n\x0d\nmodule.exports = {\x0d\n getHighWaterMark\x2C\x0d\n getDefaultHighWaterMark\x2C\x0d\n setDefaultHighWaterMark\x2C\x0d\n};\x0d\n
code-source-info,0x77b20f536e,99,0,1382,C0O0C4O1382,,
code-creation,JS,10,342525,0x77b20f55f6,131, node:internal/streams/state:1:1,0x77b20f52e8,~
code-source-info,0x77b20f55f6,99,0,1382,C0O0C45O28C51O42C57O106C60O106C65O86C71O175C74O175C79O201C84O149C90O244C94O244C96O293C98O293C100O1281C107O1303C113O1324C119O1352C125O1296C130O1381,,
code-creation,JS,10,342705,0x77b20f5aae,5,get node:buffer:281:6,0x39e2db55638,~
script-source,25,node:buffer,// Copyright Joyent\x2C Inc. and other Node contributors.\x0d\n//\x0d\n// Permission is hereby granted\x2C free of charge\x2C to any person obtaining a\x0d\n// copy of this software and associated documentation files (the\x0d\n// "Software")\x2C to deal in the Software without restriction\x2C including\x0d\n// without limitation the rights to use\x2C copy\x2C modify\x2C merge\x2C publish\x2C\x0d\n// distribute\x2C sublicense\x2C and/or sell copies of the Software\x2C and to permit\x0d\n// persons to whom the Software is furnished to do so\x2C subject to the\x0d\n// following conditions:\x0d\n//\x0d\n// The above copyright notice and this permission notice shall be included\x0d\n// in all copies or substantial portions of the Software.\x0d\n//\x0d\n// THE SOFTWARE IS PROVIDED "AS IS"\x2C WITHOUT WARRANTY OF ANY KIND\x2C EXPRESS\x0d\n// OR IMPLIED\x2C INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\x0d\n// MERCHANTABILITY\x2C FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\x0d\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM\x2C\x0d\n// DAMAGES OR OTHER LIABILITY\x2C WHETHER IN AN ACTION OF CONTRACT\x2C TORT OR\x0d\n// OTHERWISE\x2C ARISING FROM\x2C OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\x0d\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\x0d\n\x0d\n'use strict';\x0d\n\x0d\nconst {\x0d\n Array\x2C\x0d\n ArrayIsArray\x2C\x0d\n ArrayPrototypeForEach\x2C\x0d\n MathFloor\x2C\x0d\n MathMin\x2C\x0d\n MathTrunc\x2C\x0d\n NumberIsNaN\x2C\x0d\n NumberMAX_SAFE_INTEGER\x2C\x0d\n NumberMIN_SAFE_INTEGER\x2C\x0d\n ObjectDefineProperties\x2C\x0d\n ObjectDefineProperty\x2C\x0d\n ObjectSetPrototypeOf\x2C\x0d\n RegExpPrototypeSymbolReplace\x2C\x0d\n StringPrototypeCharCodeAt\x2C\x0d\n StringPrototypeSlice\x2C\x0d\n StringPrototypeToLowerCase\x2C\x0d\n StringPrototypeTrim\x2C\x0d\n SymbolSpecies\x2C\x0d\n SymbolToPrimitive\x2C\x0d\n TypedArrayPrototypeGetBuffer\x2C\x0d\n TypedArrayPrototypeGetByteLength\x2C\x0d\n TypedArrayPrototypeGetByteOffset\x2C\x0d\n TypedArrayPrototypeFill\x2C\x0d\n TypedArrayPrototypeGetLength\x2C\x0d\n TypedArrayPrototypeSet\x2C\x0d\n TypedArrayPrototypeSlice\x2C\x0d\n Uint8Array\x2C\x0d\n Uint8ArrayPrototype\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst {\x0d\n byteLengthUtf8\x2C\x0d\n compare: _compare\x2C\x0d\n compareOffset\x2C\x0d\n createFromString\x2C\x0d\n fill: bindingFill\x2C\x0d\n isAscii: bindingIsAscii\x2C\x0d\n isUtf8: bindingIsUtf8\x2C\x0d\n indexOfBuffer\x2C\x0d\n indexOfNumber\x2C\x0d\n indexOfString\x2C\x0d\n swap16: _swap16\x2C\x0d\n swap32: _swap32\x2C\x0d\n swap64: _swap64\x2C\x0d\n kMaxLength\x2C\x0d\n kStringMaxLength\x2C\x0d\n atob: _atob\x2C\x0d\n btoa: _btoa\x2C\x0d\n} = internalBinding('buffer');\x0d\nconst {\x0d\n constants: {\x0d\n ALL_PROPERTIES\x2C\x0d\n ONLY_ENUMERABLE\x2C\x0d\n }\x2C\x0d\n getOwnNonIndexProperties\x2C\x0d\n} = internalBinding('util');\x0d\nconst {\x0d\n customInspectSymbol\x2C\x0d\n isInsideNodeModules\x2C\x0d\n lazyDOMException\x2C\x0d\n normalizeEncoding\x2C\x0d\n kIsEncodingSymbol\x2C\x0d\n defineLazyProperties\x2C\x0d\n encodingsMap\x2C\x0d\n} = require('internal/util');\x0d\nconst {\x0d\n isAnyArrayBuffer\x2C\x0d\n isArrayBufferView\x2C\x0d\n isUint8Array\x2C\x0d\n isTypedArray\x2C\x0d\n} = require('internal/util/types');\x0d\nconst {\x0d\n inspect: utilInspect\x2C\x0d\n} = require('internal/util/inspect');\x0d\n\x0d\nconst {\x0d\n codes: {\x0d\n ERR_BUFFER_OUT_OF_BOUNDS\x2C\x0d\n ERR_INVALID_ARG_TYPE\x2C\x0d\n ERR_INVALID_ARG_VALUE\x2C\x0d\n ERR_INVALID_BUFFER_SIZE\x2C\x0d\n ERR_OUT_OF_RANGE\x2C\x0d\n ERR_MISSING_ARGS\x2C\x0d\n ERR_UNKNOWN_ENCODING\x2C\x0d\n }\x2C\x0d\n genericNodeError\x2C\x0d\n} = require('internal/errors');\x0d\nconst {\x0d\n validateArray\x2C\x0d\n validateBuffer\x2C\x0d\n validateInteger\x2C\x0d\n validateNumber\x2C\x0d\n validateString\x2C\x0d\n} = require('internal/validators');\x0d\n// Provide validateInteger() but with kMaxLength as the default maximum value.\x0d\nconst validateOffset = (value\x2C name\x2C min = 0\x2C max = kMaxLength) =>\x0d\n validateInteger(value\x2C name\x2C min\x2C max);\x0d\n\x0d\nconst {\x0d\n FastBuffer\x2C\x0d\n markAsUntransferable\x2C\x0d\n addBufferPrototypeMethods\x2C\x0d\n createUnsafeBuffer\x2C\x0d\n} = require('internal/buffer');\x0d\n\x0d\nFastBuffer.prototype.constructor = Buffer;\x0d\nBuffer.prototype = FastBuffer.prototype;\x0d\naddBufferPrototypeMethods(Buffer.prototype);\x0d\n\x0d\nconst constants = ObjectDefineProperties({}\x2C {\x0d\n MAX_LENGTH: {\x0d\n __proto__: null\x2C\x0d\n value: kMaxLength\x2C\x0d\n writable: false\x2C\x0d\n enumerable: true\x2C\x0d\n }\x2C\x0d\n MAX_STRING_LENGTH: {\x0d\n __proto__: null\x2C\x0d\n value: kStringMaxLength\x2C\x0d\n writable: false\x2C\x0d\n enumerable: true\x2C\x0d\n }\x2C\x0d\n});\x0d\n\x0d\nBuffer.poolSize = 8 * 1024;\x0d\nlet poolSize\x2C poolOffset\x2C allocPool;\x0d\n\x0d\nfunction createPool() {\x0d\n poolSize = Buffer.poolSize;\x0d\n allocPool = createUnsafeBuffer(poolSize).buffer;\x0d\n markAsUntransferable(allocPool);\x0d\n poolOffset = 0;\x0d\n}\x0d\ncreatePool();\x0d\n\x0d\nfunction alignPool() {\x0d\n // Ensure aligned slices\x0d\n if (poolOffset & 0x7) {\x0d\n poolOffset |= 0x7;\x0d\n poolOffset++;\x0d\n }\x0d\n}\x0d\n\x0d\nlet bufferWarningAlreadyEmitted = false;\x0d\nlet nodeModulesCheckCounter = 0;\x0d\nconst bufferWarning = 'Buffer() is deprecated due to security and usability ' +\x0d\n 'issues. Please use the Buffer.alloc()\x2C ' +\x0d\n 'Buffer.allocUnsafe()\x2C or Buffer.from() methods instead.';\x0d\n\x0d\nfunction showFlaggedDeprecation() {\x0d\n if (bufferWarningAlreadyEmitted ||\x0d\n ++nodeModulesCheckCounter > 10000 ||\x0d\n (!require('internal/options').getOptionValue('--pending-deprecation') &&\x0d\n isInsideNodeModules())) {\x0d\n // We don't emit a warning\x2C because we either:\x0d\n // - Already did so\x2C or\x0d\n // - Already checked too many times whether a call is coming\x0d\n // from node_modules and want to stop slowing down things\x2C or\x0d\n // - We aren't running with `--pending-deprecation` enabled\x2C\x0d\n // and the code is inside `node_modules`.\x0d\n return;\x0d\n }\x0d\n\x0d\n process.emitWarning(bufferWarning\x2C 'DeprecationWarning'\x2C 'DEP0005');\x0d\n bufferWarningAlreadyEmitted = true;\x0d\n}\x0d\n\x0d\nfunction toInteger(n\x2C defaultVal) {\x0d\n n = +n;\x0d\n if (!NumberIsNaN(n) &&\x0d\n n >= NumberMIN_SAFE_INTEGER &&\x0d\n n <= NumberMAX_SAFE_INTEGER) {\x0d\n return ((n % 1) === 0 ? n : MathFloor(n));\x0d\n }\x0d\n return defaultVal;\x0d\n}\x0d\n\x0d\nfunction _copy(source\x2C target\x2C targetStart\x2C sourceStart\x2C sourceEnd) {\x0d\n if (!isUint8Array(source))\x0d\n throw new ERR_INVALID_ARG_TYPE('source'\x2C ['Buffer'\x2C 'Uint8Array']\x2C source);\x0d\n if (!isUint8Array(target))\x0d\n throw new ERR_INVALID_ARG_TYPE('target'\x2C ['Buffer'\x2C 'Uint8Array']\x2C target);\x0d\n\x0d\n if (targetStart === undefined) {\x0d\n targetStart = 0;\x0d\n } else {\x0d\n targetStart = toInteger(targetStart\x2C 0);\x0d\n if (targetStart < 0)\x0d\n throw new ERR_OUT_OF_RANGE('targetStart'\x2C '>= 0'\x2C targetStart);\x0d\n }\x0d\n\x0d\n if (sourceStart === undefined) {\x0d\n sourceStart = 0;\x0d\n } else {\x0d\n sourceStart = toInteger(sourceStart\x2C 0);\x0d\n if (sourceStart < 0 || sourceStart > source.length)\x0d\n throw new ERR_OUT_OF_RANGE('sourceStart'\x2C `>= 0 && <= ${source.length}`\x2C sourceStart);\x0d\n }\x0d\n\x0d\n if (sourceEnd === undefined) {\x0d\n sourceEnd = source.length;\x0d\n } else {\x0d\n sourceEnd = toInteger(sourceEnd\x2C 0);\x0d\n if (sourceEnd < 0)\x0d\n throw new ERR_OUT_OF_RANGE('sourceEnd'\x2C '>= 0'\x2C sourceEnd);\x0d\n }\x0d\n\x0d\n if (targetStart >= target.length || sourceStart >= sourceEnd)\x0d\n return 0;\x0d\n\x0d\n return _copyActual(source\x2C target\x2C targetStart\x2C sourceStart\x2C sourceEnd);\x0d\n}\x0d\n\x0d\nfunction _copyActual(source\x2C target\x2C targetStart\x2C sourceStart\x2C sourceEnd) {\x0d\n if (sourceEnd - sourceStart > target.length - targetStart)\x0d\n sourceEnd = sourceStart + target.length - targetStart;\x0d\n\x0d\n let nb = sourceEnd - sourceStart;\x0d\n const sourceLen = source.length - sourceStart;\x0d\n if (nb > sourceLen)\x0d\n nb = sourceLen;\x0d\n\x0d\n if (sourceStart !== 0 || sourceEnd < source.length)\x0d\n source = new Uint8Array(source.buffer\x2C source.byteOffset + sourceStart\x2C nb);\x0d\n\x0d\n TypedArrayPrototypeSet(target\x2C source\x2C targetStart);\x0d\n\x0d\n return nb;\x0d\n}\x0d\n\x0d\n/**\x0d\n * The Buffer() constructor is deprecated in documentation and should not be\x0d\n * used moving forward. Rather\x2C developers should use one of the three new\x0d\n * factory APIs: Buffer.from()\x2C Buffer.allocUnsafe() or Buffer.alloc() based on\x0d\n * their specific needs. There is no runtime deprecation because of the extent\x0d\n * to which the Buffer constructor is used in the ecosystem currently -- a\x0d\n * runtime deprecation would introduce too much breakage at this time. It's not\x0d\n * likely that the Buffer constructors would ever actually be removed.\x0d\n * Deprecation Code: DEP0005\x0d\n */\x0d\nfunction Buffer(arg\x2C encodingOrOffset\x2C length) {\x0d\n showFlaggedDeprecation();\x0d\n // Common case.\x0d\n if (typeof arg === 'number') {\x0d\n if (typeof encodingOrOffset === 'string') {\x0d\n throw new ERR_INVALID_ARG_TYPE('string'\x2C 'string'\x2C arg);\x0d\n }\x0d\n return Buffer.alloc(arg);\x0d\n }\x0d\n return Buffer.from(arg\x2C encodingOrOffset\x2C length);\x0d\n}\x0d\n\x0d\nObjectDefineProperty(Buffer\x2C SymbolSpecies\x2C {\x0d\n __proto__: null\x2C\x0d\n enumerable: false\x2C\x0d\n configurable: true\x2C\x0d\n get() { return FastBuffer; }\x2C\x0d\n});\x0d\n\x0d\n/**\x0d\n * Functionally equivalent to Buffer(arg\x2C encoding) but throws a TypeError\x0d\n * if value is a number.\x0d\n * Buffer.from(str[\x2C encoding])\x0d\n * Buffer.from(array)\x0d\n * Buffer.from(buffer)\x0d\n * Buffer.from(arrayBuffer[\x2C byteOffset[\x2C length]])\x0d\n */\x0d\nBuffer.from = function from(value\x2C encodingOrOffset\x2C length) {\x0d\n if (typeof value === 'string')\x0d\n return fromString(value\x2C encodingOrOffset);\x0d\n\x0d\n if (typeof value === 'object' && value !== null) {\x0d\n if (isAnyArrayBuffer(value))\x0d\n return fromArrayBuffer(value\x2C encodingOrOffset\x2C length);\x0d\n\x0d\n const valueOf = value.valueOf && value.valueOf();\x0d\n if (valueOf != null &&\x0d\n valueOf !== value &&\x0d\n (typeof valueOf === 'string' || typeof valueOf === 'object')) {\x0d\n return from(valueOf\x2C encodingOrOffset\x2C length);\x0d\n }\x0d\n\x0d\n const b = fromObject(value);\x0d\n if (b)\x0d\n return b;\x0d\n\x0d\n if (typeof value[SymbolToPrimitive] === 'function') {\x0d\n const primitive = value[SymbolToPrimitive]('string');\x0d\n if (typeof primitive === 'string') {\x0d\n return fromString(primitive\x2C encodingOrOffset);\x0d\n }\x0d\n }\x0d\n }\x0d\n\x0d\n throw new ERR_INVALID_ARG_TYPE(\x0d\n 'first argument'\x2C\x0d\n ['string'\x2C 'Buffer'\x2C 'ArrayBuffer'\x2C 'Array'\x2C 'Array-like Object']\x2C\x0d\n value\x2C\x0d\n );\x0d\n};\x0d\n\x0d\n/**\x0d\n * Creates the Buffer as a copy of the underlying ArrayBuffer of the view\x0d\n * rather than the contents of the view.\x0d\n * @param {TypedArray} view\x0d\n * @param {number} [offset]\x0d\n * @param {number} [length]\x0d\n * @returns {Buffer}\x0d\n */\x0d\nBuffer.copyBytesFrom = function copyBytesFrom(view\x2C offset\x2C length) {\x0d\n if (!isTypedArray(view)) {\x0d\n throw new ERR_INVALID_ARG_TYPE('view'\x2C [ 'TypedArray' ]\x2C view);\x0d\n }\x0d\n\x0d\n const viewLength = TypedArrayPrototypeGetLength(view);\x0d\n if (viewLength === 0) {\x0d\n return Buffer.alloc(0);\x0d\n }\x0d\n\x0d\n if (offset !== undefined || length !== undefined) {\x0d\n if (offset !== undefined) {\x0d\n validateInteger(offset\x2C 'offset'\x2C 0);\x0d\n if (offset >= viewLength) return Buffer.alloc(0);\x0d\n } else {\x0d\n offset = 0;\x0d\n }\x0d\n let end;\x0d\n if (length !== undefined) {\x0d\n validateInteger(length\x2C 'length'\x2C 0);\x0d\n end = offset + length;\x0d\n } else {\x0d\n end = viewLength;\x0d\n }\x0d\n\x0d\n view = TypedArrayPrototypeSlice(view\x2C offset\x2C end);\x0d\n }\x0d\n\x0d\n return fromArrayLike(new Uint8Array(\x0d\n TypedArrayPrototypeGetBuffer(view)\x2C\x0d\n TypedArrayPrototypeGetByteOffset(view)\x2C\x0d\n TypedArrayPrototypeGetByteLength(view)));\x0d\n};\x0d\n\x0d\n// Identical to the built-in %TypedArray%.of()\x2C but avoids using the deprecated\x0d\n// Buffer() constructor. Must use arrow function syntax to avoid automatically\x0d\n// adding a `prototype` property and making the function a constructor.\x0d\n//\x0d\n// Refs: https://tc39.github.io/ecma262/#sec-%typedarray%.of\x0d\n// Refs: https://esdiscuss.org/topic/isconstructor#content-11\x0d\nconst of = (...items) => {\x0d\n const newObj = createUnsafeBuffer(items.length);\x0d\n for (let k = 0; k < items.length; k++)\x0d\n newObj[k] = items[k];\x0d\n return newObj;\x0d\n};\x0d\nBuffer.of = of;\x0d\n\x0d\nObjectSetPrototypeOf(Buffer\x2C Uint8Array);\x0d\n\x0d\n/**\x0d\n * Creates a new filled Buffer instance.\x0d\n * alloc(size[\x2C fill[\x2C encoding]])\x0d\n */\x0d\nBuffer.alloc = function alloc(size\x2C fill\x2C encoding) {\x0d\n validateNumber(size\x2C 'size'\x2C 0\x2C kMaxLength);\x0d\n if (fill !== undefined && fill !== 0 && size > 0) {\x0d\n const buf = createUnsafeBuffer(size);\x0d\n return _fill(buf\x2C fill\x2C 0\x2C buf.length\x2C encoding);\x0d\n }\x0d\n return new FastBuffer(size);\x0d\n};\x0d\n\x0d\n/**\x0d\n * Equivalent to Buffer(num)\x2C by default creates a non-zero-filled Buffer\x0d\n * instance. If `--zero-fill-buffers` is set\x2C will zero-fill the buffer.\x0d\n */\x0d\nBuffer.allocUnsafe = function allocUnsafe(size) {\x0d\n validateNumber(size\x2C 'size'\x2C 0\x2C kMaxLength);\x0d\n return allocate(size);\x0d\n};\x0d\n\x0d\n/**\x0d\n * Equivalent to SlowBuffer(num)\x2C by default creates a non-zero-filled\x0d\n * Buffer instance that is not allocated off the pre-initialized pool.\x0d\n * If `--zero-fill-buffers` is set\x2C will zero-fill the buffer.\x0d\n */\x0d\nBuffer.allocUnsafeSlow = function allocUnsafeSlow(size) {\x0d\n validateNumber(size\x2C 'size'\x2C 0\x2C kMaxLength);\x0d\n return createUnsafeBuffer(size);\x0d\n};\x0d\n\x0d\n// If --zero-fill-buffers command line argument is set\x2C a zero-filled\x0d\n// buffer is returned.\x0d\nfunction SlowBuffer(size) {\x0d\n validateNumber(size\x2C 'size'\x2C 0\x2C kMaxLength);\x0d\n return createUnsafeBuffer(size);\x0d\n}\x0d\n\x0d\nObjectSetPrototypeOf(SlowBuffer.prototype\x2C Uint8ArrayPrototype);\x0d\nObjectSetPrototypeOf(SlowBuffer\x2C Uint8Array);\x0d\n\x0d\nfunction allocate(size) {\x0d\n if (size <= 0) {\x0d\n return new FastBuffer();\x0d\n }\x0d\n if (size < (Buffer.poolSize >>> 1)) {\x0d\n if (size > (poolSize - poolOffset))\x0d\n createPool();\x0d\n const b = new FastBuffer(allocPool\x2C poolOffset\x2C size);\x0d\n poolOffset += size;\x0d\n alignPool();\x0d\n return b;\x0d\n }\x0d\n return createUnsafeBuffer(size);\x0d\n}\x0d\n\x0d\nfunction fromStringFast(string\x2C ops) {\x0d\n const length = ops.byteLength(string);\x0d\n\x0d\n if (length >= (Buffer.poolSize >>> 1))\x0d\n return createFromString(string\x2C ops.encodingVal);\x0d\n\x0d\n if (length > (poolSize - poolOffset))\x0d\n createPool();\x0d\n let b = new FastBuffer(allocPool\x2C poolOffset\x2C length);\x0d\n const actual = ops.write(b\x2C string\x2C 0\x2C length);\x0d\n if (actual !== length) {\x0d\n // byteLength() may overestimate. That's a rare case\x2C though.\x0d\n b = new FastBuffer(allocPool\x2C poolOffset\x2C actual);\x0d\n }\x0d\n poolOffset += actual;\x0d\n alignPool();\x0d\n return b;\x0d\n}\x0d\n\x0d\nfunction fromString(string\x2C encoding) {\x0d\n let ops;\x0d\n if (typeof encoding !== 'string' || encoding.length === 0) {\x0d\n if (string.length === 0)\x0d\n return new FastBuffer();\x0d\n ops = encodingOps.utf8;\x0d\n } else {\x0d\n ops = getEncodingOps(encoding);\x0d\n if (ops === undefined)\x0d\n throw new ERR_UNKNOWN_ENCODING(encoding);\x0d\n if (string.length === 0)\x0d\n return new FastBuffer();\x0d\n }\x0d\n return fromStringFast(string\x2C ops);\x0d\n}\x0d\n\x0d\nfunction fromArrayBuffer(obj\x2C byteOffset\x2C length) {\x0d\n // Convert byteOffset to integer\x0d\n if (byteOffset === undefined) {\x0d\n byteOffset = 0;\x0d\n } else {\x0d\n byteOffset = +byteOffset;\x0d\n if (NumberIsNaN(byteOffset))\x0d\n byteOffset = 0;\x0d\n }\x0d\n\x0d\n const maxLength = obj.byteLength - byteOffset;\x0d\n\x0d\n if (maxLength < 0)\x0d\n throw new ERR_BUFFER_OUT_OF_BOUNDS('offset');\x0d\n\x0d\n if (length === undefined) {\x0d\n length = maxLength;\x0d\n } else {\x0d\n // Convert length to non-negative integer.\x0d\n length = +length;\x0d\n if (length > 0) {\x0d\n if (length > maxLength)\x0d\n throw new ERR_BUFFER_OUT_OF_BOUNDS('length');\x0d\n } else {\x0d\n length = 0;\x0d\n }\x0d\n }\x0d\n\x0d\n return new FastBuffer(obj\x2C byteOffset\x2C length);\x0d\n}\x0d\n\x0d\nfunction fromArrayLike(obj) {\x0d\n if (obj.length <= 0)\x0d\n return new FastBuffer();\x0d\n if (obj.length < (Buffer.poolSize >>> 1)) {\x0d\n if (obj.length > (poolSize - poolOffset))\x0d\n createPool();\x0d\n const b = new FastBuffer(allocPool\x2C poolOffset\x2C obj.length);\x0d\n TypedArrayPrototypeSet(b\x2C obj\x2C 0);\x0d\n poolOffset += obj.length;\x0d\n alignPool();\x0d\n return b;\x0d\n }\x0d\n return new FastBuffer(obj);\x0d\n}\x0d\n\x0d\nfunction fromObject(obj) {\x0d\n if (obj.length !== undefined || isAnyArrayBuffer(obj.buffer)) {\x0d\n if (typeof obj.length !== 'number') {\x0d\n return new FastBuffer();\x0d\n }\x0d\n return fromArrayLike(obj);\x0d\n }\x0d\n\x0d\n if (obj.type === 'Buffer' && ArrayIsArray(obj.data)) {\x0d\n return fromArrayLike(obj.data);\x0d\n }\x0d\n}\x0d\n\x0d\n// Static methods\x0d\n\x0d\nBuffer.isBuffer = function isBuffer(b) {\x0d\n return b instanceof Buffer;\x0d\n};\x0d\n\x0d\nBuffer.compare = function compare(buf1\x2C buf2) {\x0d\n if (!isUint8Array(buf1)) {\x0d\n throw new ERR_INVALID_ARG_TYPE('buf1'\x2C ['Buffer'\x2C 'Uint8Array']\x2C buf1);\x0d\n }\x0d\n\x0d\n if (!isUint8Array(buf2)) {\x0d\n throw new ERR_INVALID_ARG_TYPE('buf2'\x2C ['Buffer'\x2C 'Uint8Array']\x2C buf2);\x0d\n }\x0d\n\x0d\n if (buf1 === buf2) {\x0d\n return 0;\x0d\n }\x0d\n\x0d\n return _compare(buf1\x2C buf2);\x0d\n};\x0d\n\x0d\nBuffer.isEncoding = function isEncoding(encoding) {\x0d\n return typeof encoding === 'string' && encoding.length !== 0 &&\x0d\n normalizeEncoding(encoding) !== undefined;\x0d\n};\x0d\nBuffer[kIsEncodingSymbol] = Buffer.isEncoding;\x0d\n\x0d\nBuffer.concat = function concat(list\x2C length) {\x0d\n validateArray(list\x2C 'list');\x0d\n\x0d\n if (list.length === 0)\x0d\n return new FastBuffer();\x0d\n\x0d\n if (length === undefined) {\x0d\n length = 0;\x0d\n for (let i = 0; i < list.length; i++) {\x0d\n if (list[i].length) {\x0d\n length += list[i].length;\x0d\n }\x0d\n }\x0d\n } else {\x0d\n validateOffset(length\x2C 'length');\x0d\n }\x0d\n\x0d\n const buffer = Buffer.allocUnsafe(length);\x0d\n let pos = 0;\x0d\n for (let i = 0; i < list.length; i++) {\x0d\n const buf = list[i];\x0d\n if (!isUint8Array(buf)) {\x0d\n // TODO(BridgeAR): This should not be of type ERR_INVALID_ARG_TYPE.\x0d\n // Instead\x2C find the proper error code for this.\x0d\n throw new ERR_INVALID_ARG_TYPE(\x0d\n `list[${i}]`\x2C ['Buffer'\x2C 'Uint8Array']\x2C list[i]);\x0d\n }\x0d\n pos += _copyActual(buf\x2C buffer\x2C pos\x2C 0\x2C buf.length);\x0d\n }\x0d\n\x0d\n // Note: `length` is always equal to `buffer.length` at this point\x0d\n if (pos < length) {\x0d\n // Zero-fill the remaining bytes if the specified `length` was more than\x0d\n // the actual total length\x2C i.e. if we have some remaining allocated bytes\x0d\n // there were not initialized.\x0d\n TypedArrayPrototypeFill(buffer\x2C 0\x2C pos\x2C length);\x0d\n }\x0d\n\x0d\n return buffer;\x0d\n};\x0d\n\x0d\nfunction base64ByteLength(str\x2C bytes) {\x0d\n // Handle padding\x0d\n if (StringPrototypeCharCodeAt(str\x2C bytes - 1) === 0x3D)\x0d\n bytes--;\x0d\n if (bytes > 1 && StringPrototypeCharCodeAt(str\x2C bytes - 1) === 0x3D)\x0d\n bytes--;\x0d\n\x0d\n // Base64 ratio: 3/4\x0d\n return (bytes * 3) >>> 2;\x0d\n}\x0d\n\x0d\nconst encodingOps = {\x0d\n utf8: {\x0d\n encoding: 'utf8'\x2C\x0d\n encodingVal: encodingsMap.utf8\x2C\x0d\n byteLength: byteLengthUtf8\x2C\x0d\n write: (buf\x2C string\x2C offset\x2C len) => buf.utf8Write(string\x2C offset\x2C len)\x2C\x0d\n slice: (buf\x2C start\x2C end) => buf.utf8Slice(start\x2C end)\x2C\x0d\n indexOf: (buf\x2C val\x2C byteOffset\x2C dir) =>\x0d\n indexOfString(buf\x2C val\x2C byteOffset\x2C encodingsMap.utf8\x2C dir)\x2C\x0d\n }\x2C\x0d\n ucs2: {\x0d\n encoding: 'ucs2'\x2C\x0d\n encodingVal: encodingsMap.utf16le\x2C\x0d\n byteLength: (string) => string.length * 2\x2C\x0d\n write: (buf\x2C string\x2C offset\x2C len) => buf.ucs2Write(string\x2C offset\x2C len)\x2C\x0d\n slice: (buf\x2C start\x2C end) => buf.ucs2Slice(start\x2C end)\x2C\x0d\n indexOf: (buf\x2C val\x2C byteOffset\x2C dir) =>\x0d\n indexOfString(buf\x2C val\x2C byteOffset\x2C encodingsMap.utf16le\x2C dir)\x2C\x0d\n }\x2C\x0d\n utf16le: {\x0d\n encoding: 'utf16le'\x2C\x0d\n encodingVal: encodingsMap.utf16le\x2C\x0d\n byteLength: (string) => string.length * 2\x2C\x0d\n write: (buf\x2C string\x2C offset\x2C len) => buf.ucs2Write(string\x2C offset\x2C len)\x2C\x0d\n slice: (buf\x2C start\x2C end) => buf.ucs2Slice(start\x2C end)\x2C\x0d\n indexOf: (buf\x2C val\x2C byteOffset\x2C dir) =>\x0d\n indexOfString(buf\x2C val\x2C byteOffset\x2C encodingsMap.utf16le\x2C dir)\x2C\x0d\n }\x2C\x0d\n latin1: {\x0d\n encoding: 'latin1'\x2C\x0d\n encodingVal: encodingsMap.latin1\x2C\x0d\n byteLength: (string) => string.length\x2C\x0d\n write: (buf\x2C string\x2C offset\x2C len) => buf.latin1Write(string\x2C offset\x2C len)\x2C\x0d\n slice: (buf\x2C start\x2C end) => buf.latin1Slice(start\x2C end)\x2C\x0d\n indexOf: (buf\x2C val\x2C byteOffset\x2C dir) =>\x0d\n indexOfString(buf\x2C val\x2C byteOffset\x2C encodingsMap.latin1\x2C dir)\x2C\x0d\n }\x2C\x0d\n ascii: {\x0d\n encoding: 'ascii'\x2C\x0d\n encodingVal: encodingsMap.ascii\x2C\x0d\n byteLength: (string) => string.length\x2C\x0d\n write: (buf\x2C string\x2C offset\x2C len) => buf.asciiWrite(string\x2C offset\x2C len)\x2C\x0d\n slice: (buf\x2C start\x2C end) => buf.asciiSlice(start\x2C end)\x2C\x0d\n indexOf: (buf\x2C val\x2C byteOffset\x2C dir) =>\x0d\n indexOfBuffer(buf\x2C\x0d\n fromStringFast(val\x2C encodingOps.ascii)\x2C\x0d\n byteOffset\x2C\x0d\n encodingsMap.ascii\x2C\x0d\n dir)\x2C\x0d\n }\x2C\x0d\n base64: {\x0d\n encoding: 'base64'\x2C\x0d\n encodingVal: encodingsMap.base64\x2C\x0d\n byteLength: (string) => base64ByteLength(string\x2C string.length)\x2C\x0d\n write: (buf\x2C string\x2C offset\x2C len) => buf.base64Write(string\x2C offset\x2C len)\x2C\x0d\n slice: (buf\x2C start\x2C end) => buf.base64Slice(start\x2C end)\x2C\x0d\n indexOf: (buf\x2C val\x2C byteOffset\x2C dir) =>\x0d\n indexOfBuffer(buf\x2C\x0d\n fromStringFast(val\x2C encodingOps.base64)\x2C\x0d\n byteOffset\x2C\x0d\n encodingsMap.base64\x2C\x0d\n dir)\x2C\x0d\n }\x2C\x0d\n base64url: {\x0d\n encoding: 'base64url'\x2C\x0d\n encodingVal: encodingsMap.base64url\x2C\x0d\n byteLength: (string) => base64ByteLength(string\x2C string.length)\x2C\x0d\n write: (buf\x2C string\x2C offset\x2C len) =>\x0d\n buf.base64urlWrite(string\x2C offset\x2C len)\x2C\x0d\n slice: (buf\x2C start\x2C end) => buf.base64urlSlice(start\x2C end)\x2C\x0d\n indexOf: (buf\x2C val\x2C byteOffset\x2C dir) =>\x0d\n indexOfBuffer(buf\x2C\x0d\n fromStringFast(val\x2C encodingOps.base64url)\x2C\x0d\n byteOffset\x2C\x0d\n encodingsMap.base64url\x2C\x0d\n dir)\x2C\x0d\n }\x2C\x0d\n hex: {\x0d\n encoding: 'hex'\x2C\x0d\n encodingVal: encodingsMap.hex\x2C\x0d\n byteLength: (string) => string.length >>> 1\x2C\x0d\n write: (buf\x2C string\x2C offset\x2C len) => buf.hexWrite(string\x2C offset\x2C len)\x2C\x0d\n slice: (buf\x2C start\x2C end) => buf.hexSlice(start\x2C end)\x2C\x0d\n indexOf: (buf\x2C val\x2C byteOffset\x2C dir) =>\x0d\n indexOfBuffer(buf\x2C\x0d\n fromStringFast(val\x2C encodingOps.hex)\x2C\x0d\n byteOffset\x2C\x0d\n encodingsMap.hex\x2C\x0d\n dir)\x2C\x0d\n }\x2C\x0d\n};\x0d\nfunction getEncodingOps(encoding) {\x0d\n encoding += '';\x0d\n switch (encoding.length) {\x0d\n case 4:\x0d\n if (encoding === 'utf8') return encodingOps.utf8;\x0d\n if (encoding === 'ucs2') return encodingOps.ucs2;\x0d\n encoding = StringPrototypeToLowerCase(encoding);\x0d\n if (encoding === 'utf8') return encodingOps.utf8;\x0d\n if (encoding === 'ucs2') return encodingOps.ucs2;\x0d\n break;\x0d\n case 5:\x0d\n if (encoding === 'utf-8') return encodingOps.utf8;\x0d\n if (encoding === 'ascii') return encodingOps.ascii;\x0d\n if (encoding === 'ucs-2') return encodingOps.ucs2;\x0d\n encoding = StringPrototypeToLowerCase(encoding);\x0d\n if (encoding === 'utf-8') return encodingOps.utf8;\x0d\n if (encoding === 'ascii') return encodingOps.ascii;\x0d\n if (encoding === 'ucs-2') return encodingOps.ucs2;\x0d\n break;\x0d\n case 7:\x0d\n if (encoding === 'utf16le' ||\x0d\n StringPrototypeToLowerCase(encoding) === 'utf16le')\x0d\n return encodingOps.utf16le;\x0d\n break;\x0d\n case 8:\x0d\n if (encoding === 'utf-16le' ||\x0d\n StringPrototypeToLowerCase(encoding) === 'utf-16le')\x0d\n return encodingOps.utf16le;\x0d\n break;\x0d\n case 6:\x0d\n if (encoding === 'latin1' || encoding === 'binary')\x0d\n return encodingOps.latin1;\x0d\n if (encoding === 'base64') return encodingOps.base64;\x0d\n encoding = StringPrototypeToLowerCase(encoding);\x0d\n if (encoding === 'latin1' || encoding === 'binary')\x0d\n return encodingOps.latin1;\x0d\n if (encoding === 'base64') return encodingOps.base64;\x0d\n break;\x0d\n case 3:\x0d\n if (encoding === 'hex' || StringPrototypeToLowerCase(encoding) === 'hex')\x0d\n return encodingOps.hex;\x0d\n break;\x0d\n case 9:\x0d\n if (encoding === 'base64url' ||\x0d\n StringPrototypeToLowerCase(encoding) === 'base64url')\x0d\n return encodingOps.base64url;\x0d\n break;\x0d\n }\x0d\n}\x0d\n\x0d\nfunction byteLength(string\x2C encoding) {\x0d\n if (typeof string !== 'string') {\x0d\n if (isArrayBufferView(string) || isAnyArrayBuffer(string)) {\x0d\n return string.byteLength;\x0d\n }\x0d\n\x0d\n throw new ERR_INVALID_ARG_TYPE(\x0d\n 'string'\x2C ['string'\x2C 'Buffer'\x2C 'ArrayBuffer']\x2C string\x2C\x0d\n );\x0d\n }\x0d\n\x0d\n const len = string.length;\x0d\n if (len === 0)\x0d\n return 0;\x0d\n\x0d\n if (encoding) {\x0d\n const ops = getEncodingOps(encoding);\x0d\n if (ops) {\x0d\n return ops.byteLength(string);\x0d\n }\x0d\n }\x0d\n return byteLengthUtf8(string);\x0d\n}\x0d\n\x0d\nBuffer.byteLength = byteLength;\x0d\n\x0d\n// For backwards compatibility.\x0d\nObjectDefineProperty(Buffer.prototype\x2C 'parent'\x2C {\x0d\n __proto__: null\x2C\x0d\n enumerable: true\x2C\x0d\n get() {\x0d\n if (!(this instanceof Buffer))\x0d\n return undefined;\x0d\n return this.buffer;\x0d\n }\x2C\x0d\n});\x0d\nObjectDefineProperty(Buffer.prototype\x2C 'offset'\x2C {\x0d\n __proto__: null\x2C\x0d\n enumerable: true\x2C\x0d\n get() {\x0d\n if (!(this instanceof Buffer))\x0d\n return undefined;\x0d\n return this.byteOffset;\x0d\n }\x2C\x0d\n});\x0d\n\x0d\nBuffer.prototype.copy =\x0d\n function copy(target\x2C targetStart\x2C sourceStart\x2C sourceEnd) {\x0d\n return _copy(this\x2C target\x2C targetStart\x2C sourceStart\x2C sourceEnd);\x0d\n };\x0d\n\x0d\n// No need to verify that "buf.length <= MAX_UINT32" since it's a read-only\x0d\n// property of a typed array.\x0d\n// This behaves neither like String nor Uint8Array in that we set start/end\x0d\n// to their upper/lower bounds if the value passed is out of range.\x0d\nBuffer.prototype.toString = function toString(encoding\x2C start\x2C end) {\x0d\n if (arguments.length === 0) {\x0d\n return this.utf8Slice(0\x2C this.length);\x0d\n }\x0d\n\x0d\n const len = this.length;\x0d\n\x0d\n if (start <= 0)\x0d\n start = 0;\x0d\n else if (start >= len)\x0d\n return '';\x0d\n else\x0d\n start |= 0;\x0d\n\x0d\n if (end === undefined || end > len)\x0d\n end = len;\x0d\n else\x0d\n end |= 0;\x0d\n\x0d\n if (end <= start)\x0d\n return '';\x0d\n\x0d\n if (encoding === undefined)\x0d\n return this.utf8Slice(start\x2C end);\x0d\n\x0d\n const ops = getEncodingOps(encoding);\x0d\n if (ops === undefined)\x0d\n throw new ERR_UNKNOWN_ENCODING(encoding);\x0d\n\x0d\n return ops.slice(this\x2C start\x2C end);\x0d\n};\x0d\n\x0d\nBuffer.prototype.equals = function equals(otherBuffer) {\x0d\n if (!isUint8Array(otherBuffer)) {\x0d\n throw new ERR_INVALID_ARG_TYPE(\x0d\n 'otherBuffer'\x2C ['Buffer'\x2C 'Uint8Array']\x2C otherBuffer);\x0d\n }\x0d\n\x0d\n if (this === otherBuffer)\x0d\n return true;\x0d\n const len = TypedArrayPrototypeGetByteLength(this);\x0d\n if (len !== TypedArrayPrototypeGetByteLength(otherBuffer))\x0d\n return false;\x0d\n\x0d\n return len === 0 || _compare(this\x2C otherBuffer) === 0;\x0d\n};\x0d\n\x0d\nlet INSPECT_MAX_BYTES = 50;\x0d\n// Override how buffers are presented by util.inspect().\x0d\nBuffer.prototype[customInspectSymbol] = function inspect(recurseTimes\x2C ctx) {\x0d\n const max = INSPECT_MAX_BYTES;\x0d\n const actualMax = MathMin(max\x2C this.length);\x0d\n const remaining = this.length - max;\x0d\n let str = StringPrototypeTrim(RegExpPrototypeSymbolReplace(\x0d\n /(.{2})/g\x2C this.hexSlice(0\x2C actualMax)\x2C '$1 '));\x0d\n if (remaining > 0)\x0d\n str += ` ... ${remaining} more byte${remaining > 1 ? 's' : ''}`;\x0d\n // Inspect special properties as well\x2C if possible.\x0d\n if (ctx) {\x0d\n let extras = false;\x0d\n const filter = ctx.showHidden ? ALL_PROPERTIES : ONLY_ENUMERABLE;\x0d\n const obj = { __proto__: null };\x0d\n ArrayPrototypeForEach(getOwnNonIndexProperties(this\x2C filter)\x2C\x0d\n (key) => {\x0d\n extras = true;\x0d\n obj[key] = this[key];\x0d\n });\x0d\n if (extras) {\x0d\n if (this.length !== 0)\x0d\n str += '\x2C ';\x0d\n // '[Object: null prototype] {'.length === 26\x0d\n // This is guarded with a test.\x0d\n str += StringPrototypeSlice(utilInspect(obj\x2C {\x0d\n ...ctx\x2C\x0d\n breakLength: Infinity\x2C\x0d\n compact: true\x2C\x0d\n })\x2C 27\x2C -2);\x0d\n }\x0d\n }\x0d\n return `<${this.constructor.name} ${str}>`;\x0d\n};\x0d\nBuffer.prototype.inspect = Buffer.prototype[customInspectSymbol];\x0d\n\x0d\nBuffer.prototype.compare = function compare(target\x2C\x0d\n targetStart\x2C\x0d\n targetEnd\x2C\x0d\n sourceStart\x2C\x0d\n sourceEnd) {\x0d\n if (!isUint8Array(target)) {\x0d\n throw new ERR_INVALID_ARG_TYPE('target'\x2C ['Buffer'\x2C 'Uint8Array']\x2C target);\x0d\n }\x0d\n if (arguments.length === 1)\x0d\n return _compare(this\x2C target);\x0d\n\x0d\n if (targetStart === undefined)\x0d\n targetStart = 0;\x0d\n else\x0d\n validateOffset(targetStart\x2C 'targetStart');\x0d\n\x0d\n if (targetEnd === undefined)\x0d\n targetEnd = target.length;\x0d\n else\x0d\n validateOffset(targetEnd\x2C 'targetEnd'\x2C 0\x2C target.length);\x0d\n\x0d\n if (sourceStart === undefined)\x0d\n sourceStart = 0;\x0d\n else\x0d\n validateOffset(sourceStart\x2C 'sourceStart');\x0d\n\x0d\n if (sourceEnd === undefined)\x0d\n sourceEnd = this.length;\x0d\n else\x0d\n validateOffset(sourceEnd\x2C 'sourceEnd'\x2C 0\x2C this.length);\x0d\n\x0d\n if (sourceStart >= sourceEnd)\x0d\n return (targetStart >= targetEnd ? 0 : -1);\x0d\n if (targetStart >= targetEnd)\x0d\n return 1;\x0d\n\x0d\n return compareOffset(this\x2C target\x2C targetStart\x2C sourceStart\x2C targetEnd\x2C\x0d\n sourceEnd);\x0d\n};\x0d\n\x0d\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`\x2C\x0d\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\x0d\n//\x0d\n// Arguments:\x0d\n// - buffer - a Buffer to search\x0d\n// - val - a string\x2C Buffer\x2C or number\x0d\n// - byteOffset - an index into `buffer`; will be clamped to an int32\x0d\n// - encoding - an optional encoding\x2C relevant if val is a string\x0d\n// - dir - true for indexOf\x2C false for lastIndexOf\x0d\nfunction bidirectionalIndexOf(buffer\x2C val\x2C byteOffset\x2C encoding\x2C dir) {\x0d\n validateBuffer(buffer);\x0d\n\x0d\n if (typeof byteOffset === 'string') {\x0d\n encoding = byteOffset;\x0d\n byteOffset = undefined;\x0d\n } else if (byteOffset > 0x7fffffff) {\x0d\n byteOffset = 0x7fffffff;\x0d\n } else if (byteOffset < -0x80000000) {\x0d\n byteOffset = -0x80000000;\x0d\n }\x0d\n // Coerce to Number. Values like null and [] become 0.\x0d\n byteOffset = +byteOffset;\x0d\n // If the offset is undefined\x2C "foo"\x2C {}\x2C coerces to NaN\x2C search whole buffer.\x0d\n if (NumberIsNaN(byteOffset)) {\x0d\n byteOffset = dir ? 0 : (buffer.length || buffer.byteLength);\x0d\n }\x0d\n dir = !!dir; // Cast to bool.\x0d\n\x0d\n if (typeof val === 'number')\x0d\n return indexOfNumber(buffer\x2C val >>> 0\x2C byteOffset\x2C dir);\x0d\n\x0d\n let ops;\x0d\n if (encoding === undefined)\x0d\n ops = encodingOps.utf8;\x0d\n else\x0d\n ops = getEncodingOps(encoding);\x0d\n\x0d\n if (typeof val === 'string') {\x0d\n if (ops === undefined)\x0d\n throw new ERR_UNKNOWN_ENCODING(encoding);\x0d\n return ops.indexOf(buffer\x2C val\x2C byteOffset\x2C dir);\x0d\n }\x0d\n\x0d\n if (isUint8Array(val)) {\x0d\n const encodingVal =\x0d\n (ops === undefined ? encodingsMap.utf8 : ops.encodingVal);\x0d\n return indexOfBuffer(buffer\x2C val\x2C byteOffset\x2C encodingVal\x2C dir);\x0d\n }\x0d\n\x0d\n throw new ERR_INVALID_ARG_TYPE(\x0d\n 'value'\x2C ['number'\x2C 'string'\x2C 'Buffer'\x2C 'Uint8Array']\x2C val\x2C\x0d\n );\x0d\n}\x0d\n\x0d\nBuffer.prototype.indexOf = function indexOf(val\x2C byteOffset\x2C encoding) {\x0d\n return bidirectionalIndexOf(this\x2C val\x2C byteOffset\x2C encoding\x2C true);\x0d\n};\x0d\n\x0d\nBuffer.prototype.lastIndexOf = function lastIndexOf(val\x2C byteOffset\x2C encoding) {\x0d\n return bidirectionalIndexOf(this\x2C val\x2C byteOffset\x2C encoding\x2C false);\x0d\n};\x0d\n\x0d\nBuffer.prototype.includes = function includes(val\x2C byteOffset\x2C encoding) {\x0d\n return this.indexOf(val\x2C byteOffset\x2C encoding) !== -1;\x0d\n};\x0d\n\x0d\n// Usage:\x0d\n// buffer.fill(number[\x2C offset[\x2C end]])\x0d\n// buffer.fill(buffer[\x2C offset[\x2C end]])\x0d\n// buffer.fill(string[\x2C offset[\x2C end]][\x2C encoding])\x0d\nBuffer.prototype.fill = function fill(value\x2C offset\x2C end\x2C encoding) {\x0d\n return _fill(this\x2C value\x2C offset\x2C end\x2C encoding);\x0d\n};\x0d\n\x0d\nfunction _fill(buf\x2C value\x2C offset\x2C end\x2C encoding) {\x0d\n if (typeof value === 'string') {\x0d\n if (offset === undefined || typeof offset === 'string') {\x0d\n encoding = offset;\x0d\n offset = 0;\x0d\n end = buf.length;\x0d\n } else if (typeof end === 'string') {\x0d\n encoding = end;\x0d\n end = buf.length;\x0d\n }\x0d\n\x0d\n const normalizedEncoding = normalizeEncoding(encoding);\x0d\n if (normalizedEncoding === undefined) {\x0d\n validateString(encoding\x2C 'encoding');\x0d\n throw new ERR_UNKNOWN_ENCODING(encoding);\x0d\n }\x0d\n\x0d\n if (value.length === 0) {\x0d\n // If value === '' default to zero.\x0d\n value = 0;\x0d\n } else if (value.length === 1) {\x0d\n // Fast path: If `value` fits into a single byte\x2C use that numeric value.\x0d\n if (normalizedEncoding === 'utf8') {\x0d\n const code = StringPrototypeCharCodeAt(value\x2C 0);\x0d\n if (code < 128) {\x0d\n value = code;\x0d\n }\x0d\n } else if (normalizedEncoding === 'latin1') {\x0d\n value = StringPrototypeCharCodeAt(value\x2C 0);\x0d\n }\x0d\n }\x0d\n } else {\x0d\n encoding = undefined;\x0d\n }\x0d\n\x0d\n if (offset === undefined) {\x0d\n offset = 0;\x0d\n end = buf.length;\x0d\n } else {\x0d\n validateOffset(offset\x2C 'offset');\x0d\n // Invalid ranges are not set to a default\x2C so can range check early.\x0d\n if (end === undefined) {\x0d\n end = buf.length;\x0d\n } else {\x0d\n validateOffset(end\x2C 'end'\x2C 0\x2C buf.length);\x0d\n }\x0d\n if (offset >= end)\x0d\n return buf;\x0d\n }\x0d\n\x0d\n\x0d\n if (typeof value === 'number') {\x0d\n // OOB check\x0d\n const byteLen = TypedArrayPrototypeGetByteLength(buf);\x0d\n const fillLength = end - offset;\x0d\n if (offset > end || fillLength + offset > byteLen)\x0d\n throw new ERR_BUFFER_OUT_OF_BOUNDS();\x0d\n\x0d\n TypedArrayPrototypeFill(buf\x2C value\x2C offset\x2C end);\x0d\n } else {\x0d\n const res = bindingFill(buf\x2C value\x2C offset\x2C end\x2C encoding);\x0d\n if (res < 0) {\x0d\n if (res === -1)\x0d\n throw new ERR_INVALID_ARG_VALUE('value'\x2C value);\x0d\n throw new ERR_BUFFER_OUT_OF_BOUNDS();\x0d\n }\x0d\n }\x0d\n\x0d\n return buf;\x0d\n}\x0d\n\x0d\nBuffer.prototype.write = function write(string\x2C offset\x2C length\x2C encoding) {\x0d\n // Buffer#write(string);\x0d\n if (offset === undefined) {\x0d\n return this.utf8Write(string\x2C 0\x2C this.length);\x0d\n }\x0d\n // Buffer#write(string\x2C encoding)\x0d\n if (length === undefined && typeof offset === 'string') {\x0d\n encoding = offset;\x0d\n length = this.length;\x0d\n offset = 0;\x0d\n\x0d\n // Buffer#write(string\x2C offset[\x2C length][\x2C encoding])\x0d\n } else {\x0d\n validateOffset(offset\x2C 'offset'\x2C 0\x2C this.length);\x0d\n\x0d\n const remaining = this.length - offset;\x0d\n\x0d\n if (length === undefined) {\x0d\n length = remaining;\x0d\n } else if (typeof length === 'string') {\x0d\n encoding = length;\x0d\n length = remaining;\x0d\n } else {\x0d\n validateOffset(length\x2C 'length'\x2C 0\x2C this.length);\x0d\n if (length > remaining)\x0d\n length = remaining;\x0d\n }\x0d\n }\x0d\n\x0d\n if (!encoding)\x0d\n return this.utf8Write(string\x2C offset\x2C length);\x0d\n\x0d\n const ops = getEncodingOps(encoding);\x0d\n if (ops === undefined)\x0d\n throw new ERR_UNKNOWN_ENCODING(encoding);\x0d\n return ops.write(this\x2C string\x2C offset\x2C length);\x0d\n};\x0d\n\x0d\nBuffer.prototype.toJSON = function toJSON() {\x0d\n if (this.length > 0) {\x0d\n const data = new Array(this.length);\x0d\n for (let i = 0; i < this.length; ++i)\x0d\n data[i] = this[i];\x0d\n return { type: 'Buffer'\x2C data };\x0d\n }\x0d\n return { type: 'Buffer'\x2C data: [] };\x0d\n};\x0d\n\x0d\nfunction adjustOffset(offset\x2C length) {\x0d\n // Use Math.trunc() to convert offset to an integer value that can be larger\x0d\n // than an Int32. Hence\x2C don't use offset | 0 or similar techniques.\x0d\n offset = MathTrunc(offset);\x0d\n if (offset === 0) {\x0d\n return 0;\x0d\n }\x0d\n if (offset < 0) {\x0d\n offset += length;\x0d\n return offset > 0 ? offset : 0;\x0d\n }\x0d\n if (offset < length) {\x0d\n return offset;\x0d\n }\x0d\n return NumberIsNaN(offset) ? 0 : length;\x0d\n}\x0d\n\x0d\nBuffer.prototype.subarray = function subarray(start\x2C end) {\x0d\n const srcLength = this.length;\x0d\n start = adjustOffset(start\x2C srcLength);\x0d\n end = end !== undefined ? adjustOffset(end\x2C srcLength) : srcLength;\x0d\n const newLength = end > start ? end - start : 0;\x0d\n return new FastBuffer(this.buffer\x2C this.byteOffset + start\x2C newLength);\x0d\n};\x0d\n\x0d\nBuffer.prototype.slice = function slice(start\x2C end) {\x0d\n return this.subarray(start\x2C end);\x0d\n};\x0d\n\x0d\nfunction swap(b\x2C n\x2C m) {\x0d\n const i = b[n];\x0d\n b[n] = b[m];\x0d\n b[m] = i;\x0d\n}\x0d\n\x0d\nBuffer.prototype.swap16 = function swap16() {\x0d\n // For Buffer.length < 128\x2C it's generally faster to\x0d\n // do the swap in javascript. For larger buffers\x2C\x0d\n // dropping down to the native code is faster.\x0d\n const len = this.length;\x0d\n if (len % 2 !== 0)\x0d\n throw new ERR_INVALID_BUFFER_SIZE('16-bits');\x0d\n if (len < 128) {\x0d\n for (let i = 0; i < len; i += 2)\x0d\n swap(this\x2C i\x2C i + 1);\x0d\n return this;\x0d\n }\x0d\n return _swap16(this);\x0d\n};\x0d\n\x0d\nBuffer.prototype.swap32 = function swap32() {\x0d\n // For Buffer.length < 192\x2C it's generally faster to\x0d\n // do the swap in javascript. For larger buffers\x2C\x0d\n // dropping down to the native code is faster.\x0d\n const len = this.length;\x0d\n if (len % 4 !== 0)\x0d\n throw new ERR_INVALID_BUFFER_SIZE('32-bits');\x0d\n if (len < 192) {\x0d\n for (let i = 0; i < len; i += 4) {\x0d\n swap(this\x2C i\x2C i + 3);\x0d\n swap(this\x2C i + 1\x2C i + 2);\x0d\n }\x0d\n return this;\x0d\n }\x0d\n return _swap32(this);\x0d\n};\x0d\n\x0d\nBuffer.prototype.swap64 = function swap64() {\x0d\n // For Buffer.length < 192\x2C it's generally faster to\x0d\n // do the swap in javascript. For larger buffers\x2C\x0d\n // dropping down to the native code is faster.\x0d\n const len = this.length;\x0d\n if (len % 8 !== 0)\x0d\n throw new ERR_INVALID_BUFFER_SIZE('64-bits');\x0d\n if (len < 192) {\x0d\n for (let i = 0; i < len; i += 8) {\x0d\n swap(this\x2C i\x2C i + 7);\x0d\n swap(this\x2C i + 1\x2C i + 6);\x0d\n swap(this\x2C i + 2\x2C i + 5);\x0d\n swap(this\x2C i + 3\x2C i + 4);\x0d\n }\x0d\n return this;\x0d\n }\x0d\n return _swap64(this);\x0d\n};\x0d\n\x0d\nBuffer.prototype.toLocaleString = Buffer.prototype.toString;\x0d\n\x0d\nlet transcode;\x0d\nif (internalBinding('config').hasIntl) {\x0d\n const {\x0d\n icuErrName\x2C\x0d\n transcode: _transcode\x2C\x0d\n } = internalBinding('icu');\x0d\n\x0d\n // Transcodes the Buffer from one encoding to another\x2C returning a new\x0d\n // Buffer instance.\x0d\n transcode = function transcode(source\x2C fromEncoding\x2C toEncoding) {\x0d\n if (!isUint8Array(source)) {\x0d\n throw new ERR_INVALID_ARG_TYPE('source'\x2C\x0d\n ['Buffer'\x2C 'Uint8Array']\x2C source);\x0d\n }\x0d\n if (source.length === 0) return Buffer.alloc(0);\x0d\n\x0d\n fromEncoding = normalizeEncoding(fromEncoding) || fromEncoding;\x0d\n toEncoding = normalizeEncoding(toEncoding) || toEncoding;\x0d\n const result = _transcode(source\x2C fromEncoding\x2C toEncoding);\x0d\n if (typeof result !== 'number')\x0d\n return result;\x0d\n\x0d\n const code = icuErrName(result);\x0d\n const err = genericNodeError(\x0d\n `Unable to transcode Buffer [${code}]`\x2C\x0d\n { code: code\x2C errno: result }\x2C\x0d\n );\x0d\n throw err;\x0d\n };\x0d\n}\x0d\n\x0d\nfunction btoa(input) {\x0d\n // The implementation here has not been performance optimized in any way and\x0d\n // should not be.\x0d\n // Refs: https://github.com/nodejs/node/pull/38433#issuecomment-828426932\x0d\n if (arguments.length === 0) {\x0d\n throw new ERR_MISSING_ARGS('input');\x0d\n }\x0d\n const result = _btoa(`${input}`);\x0d\n if (result === -1) {\x0d\n throw lazyDOMException('Invalid character'\x2C 'InvalidCharacterError');\x0d\n }\x0d\n return result;\x0d\n}\x0d\n\x0d\nfunction atob(input) {\x0d\n if (arguments.length === 0) {\x0d\n throw new ERR_MISSING_ARGS('input');\x0d\n }\x0d\n\x0d\n const result = _atob(`${input}`);\x0d\n\x0d\n switch (result) {\x0d\n case -2: // Invalid character\x0d\n throw lazyDOMException('Invalid character'\x2C 'InvalidCharacterError');\x0d\n case -1: // Single character remained\x0d\n throw lazyDOMException(\x0d\n 'The string to be decoded is not correctly encoded.'\x2C\x0d\n 'InvalidCharacterError');\x0d\n case -3: // Possible overflow\x0d\n // TODO(@anonrig): Throw correct error in here.\x0d\n throw lazyDOMException('The input causes overflow.'\x2C 'InvalidCharacterError');\x0d\n default:\x0d\n return result;\x0d\n }\x0d\n}\x0d\n\x0d\nfunction isUtf8(input) {\x0d\n if (isTypedArray(input) || isAnyArrayBuffer(input)) {\x0d\n return bindingIsUtf8(input);\x0d\n }\x0d\n\x0d\n throw new ERR_INVALID_ARG_TYPE('input'\x2C ['ArrayBuffer'\x2C 'Buffer'\x2C 'TypedArray']\x2C input);\x0d\n}\x0d\n\x0d\nfunction isAscii(input) {\x0d\n if (isTypedArray(input) || isAnyArrayBuffer(input)) {\x0d\n return bindingIsAscii(input);\x0d\n }\x0d\n\x0d\n throw new ERR_INVALID_ARG_TYPE('input'\x2C ['ArrayBuffer'\x2C 'Buffer'\x2C 'TypedArray']\x2C input);\x0d\n}\x0d\n\x0d\nmodule.exports = {\x0d\n Buffer\x2C\x0d\n SlowBuffer\x2C\x0d\n transcode\x2C\x0d\n isUtf8\x2C\x0d\n isAscii\x2C\x0d\n\x0d\n // Legacy\x0d\n kMaxLength\x2C\x0d\n kStringMaxLength\x2C\x0d\n btoa\x2C\x0d\n atob\x2C\x0d\n};\x0d\n\x0d\nObjectDefineProperties(module.exports\x2C {\x0d\n constants: {\x0d\n __proto__: null\x2C\x0d\n configurable: false\x2C\x0d\n enumerable: true\x2C\x0d\n value: constants\x2C\x0d\n }\x2C\x0d\n INSPECT_MAX_BYTES: {\x0d\n __proto__: null\x2C\x0d\n configurable: true\x2C\x0d\n enumerable: true\x2C\x0d\n get() { return INSPECT_MAX_BYTES; }\x2C\x0d\n set(val) {\x0d\n validateNumber(val\x2C 'INSPECT_MAX_BYTES'\x2C 0);\x0d\n INSPECT_MAX_BYTES = val;\x0d\n }\x2C\x0d\n }\x2C\x0d\n});\x0d\n\x0d\ndefineLazyProperties(\x0d\n module.exports\x2C\x0d\n 'internal/blob'\x2C\x0d\n ['Blob'\x2C 'resolveObjectURL']\x2C\x0d\n);\x0d\ndefineLazyProperties(\x0d\n module.exports\x2C\x0d\n 'internal/file'\x2C\x0d\n ['File']\x2C\x0d\n);\x0d\n
code-source-info,0x77b20f5aae,25,8353,8378,C0O8358C4O8376,,
code-creation,Eval,10,344785,0x77b20f88fe,5, node:string_decoder:1:1,0x77b20f8688,~
script-source,100,node:string_decoder,// Copyright Joyent\x2C Inc. and other Node contributors.\x0d\n//\x0d\n// Permission is hereby granted\x2C free of charge\x2C to any person obtaining a\x0d\n// copy of this software and associated documentation files (the\x0d\n// "Software")\x2C to deal in the Software without restriction\x2C including\x0d\n// without limitation the rights to use\x2C copy\x2C modify\x2C merge\x2C publish\x2C\x0d\n// distribute\x2C sublicense\x2C and/or sell copies of the Software\x2C and to permit\x0d\n// persons to whom the Software is furnished to do so\x2C subject to the\x0d\n// following conditions:\x0d\n//\x0d\n// The above copyright notice and this permission notice shall be included\x0d\n// in all copies or substantial portions of the Software.\x0d\n//\x0d\n// THE SOFTWARE IS PROVIDED "AS IS"\x2C WITHOUT WARRANTY OF ANY KIND\x2C EXPRESS\x0d\n// OR IMPLIED\x2C INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\x0d\n// MERCHANTABILITY\x2C FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\x0d\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM\x2C\x0d\n// DAMAGES OR OTHER LIABILITY\x2C WHETHER IN AN ACTION OF CONTRACT\x2C TORT OR\x0d\n// OTHERWISE\x2C ARISING FROM\x2C OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\x0d\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\x0d\n\x0d\n'use strict';\x0d\n\x0d\nconst {\x0d\n ArrayBufferIsView\x2C\x0d\n ObjectDefineProperties\x2C\x0d\n Symbol\x2C\x0d\n TypedArrayPrototypeSubarray\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst { Buffer } = require('buffer');\x0d\nconst {\x0d\n kIncompleteCharactersStart\x2C\x0d\n kIncompleteCharactersEnd\x2C\x0d\n kMissingBytes\x2C\x0d\n kBufferedBytes\x2C\x0d\n kEncodingField\x2C\x0d\n kSize\x2C\x0d\n decode\x2C\x0d\n flush\x2C\x0d\n} = internalBinding('string_decoder');\x0d\nconst {\x0d\n kIsEncodingSymbol\x2C\x0d\n encodingsMap\x2C\x0d\n normalizeEncoding: _normalizeEncoding\x2C\x0d\n} = require('internal/util');\x0d\nconst {\x0d\n ERR_INVALID_ARG_TYPE\x2C\x0d\n ERR_INVALID_THIS\x2C\x0d\n ERR_UNKNOWN_ENCODING\x2C\x0d\n} = require('internal/errors').codes;\x0d\nconst isEncoding = Buffer[kIsEncodingSymbol];\x0d\n\x0d\nconst kNativeDecoder = Symbol('kNativeDecoder');\x0d\n\x0d\n// Do not cache `Buffer.isEncoding` when checking encoding names as some\x0d\n// modules monkey-patch it to support additional encodings\x0d\n/**\x0d\n * Normalize encoding notation\x0d\n * @param {string} enc\x0d\n * @returns {"utf8" | "utf16le" | "hex" | "ascii"\x0d\n * | "base64" | "latin1" | "base64url"}\x0d\n * @throws {TypeError} Throws an error when encoding is invalid\x0d\n */\x0d\nfunction normalizeEncoding(enc) {\x0d\n const nenc = _normalizeEncoding(enc);\x0d\n if (nenc === undefined) {\x0d\n if (Buffer.isEncoding === isEncoding || !Buffer.isEncoding(enc))\x0d\n throw new ERR_UNKNOWN_ENCODING(enc);\x0d\n return enc;\x0d\n }\x0d\n return nenc;\x0d\n}\x0d\n\x0d\n/**\x0d\n * StringDecoder provides an interface for efficiently splitting a series of\x0d\n * buffers into a series of JS strings without breaking apart multi-byte\x0d\n * characters.\x0d\n * @param {string} [encoding=utf-8]\x0d\n */\x0d\nfunction StringDecoder(encoding) {\x0d\n this.encoding = normalizeEncoding(encoding);\x0d\n this[kNativeDecoder] = Buffer.alloc(kSize);\x0d\n this[kNativeDecoder][kEncodingField] = encodingsMap[this.encoding];\x0d\n}\x0d\n\x0d\n/**\x0d\n * Returns a decoded string\x2C omitting any incomplete multi-bytes\x0d\n * characters at the end of the Buffer\x2C or TypedArray\x2C or DataView\x0d\n * @param {string | Buffer | TypedArray | DataView} buf\x0d\n * @returns {string}\x0d\n * @throws {TypeError} Throws when buf is not in one of supported types\x0d\n */\x0d\nStringDecoder.prototype.write = function write(buf) {\x0d\n if (typeof buf === 'string')\x0d\n return buf;\x0d\n if (!ArrayBufferIsView(buf))\x0d\n throw new ERR_INVALID_ARG_TYPE('buf'\x2C\x0d\n ['Buffer'\x2C 'TypedArray'\x2C 'DataView']\x2C\x0d\n buf);\x0d\n if (!this[kNativeDecoder]) {\x0d\n throw new ERR_INVALID_THIS('StringDecoder');\x0d\n }\x0d\n return decode(this[kNativeDecoder]\x2C buf);\x0d\n};\x0d\n\x0d\n/**\x0d\n * Returns any remaining input stored in the internal buffer as a string.\x0d\n * After end() is called\x2C the stringDecoder object can be reused for new\x0d\n * input.\x0d\n * @param {string | Buffer | TypedArray | DataView} [buf]\x0d\n * @returns {string}\x0d\n */\x0d\nStringDecoder.prototype.end = function end(buf) {\x0d\n let ret = '';\x0d\n if (buf !== undefined)\x0d\n ret = this.write(buf);\x0d\n if (this[kNativeDecoder][kBufferedBytes] > 0)\x0d\n ret += flush(this[kNativeDecoder]);\x0d\n return ret;\x0d\n};\x0d\n\x0d\n/* Everything below this line is undocumented legacy stuff. */\x0d\n/**\x0d\n *\x0d\n * @param {string | Buffer | TypedArray | DataView} buf\x0d\n * @param {number} offset\x0d\n * @returns {string}\x0d\n */\x0d\nStringDecoder.prototype.text = function text(buf\x2C offset) {\x0d\n this[kNativeDecoder][kMissingBytes] = 0;\x0d\n this[kNativeDecoder][kBufferedBytes] = 0;\x0d\n return this.write(buf.slice(offset));\x0d\n};\x0d\n\x0d\nObjectDefineProperties(StringDecoder.prototype\x2C {\x0d\n lastChar: {\x0d\n __proto__: null\x2C\x0d\n configurable: true\x2C\x0d\n enumerable: true\x2C\x0d\n get() {\x0d\n return TypedArrayPrototypeSubarray(this[kNativeDecoder]\x2C\x0d\n kIncompleteCharactersStart\x2C\x0d\n kIncompleteCharactersEnd);\x0d\n }\x2C\x0d\n }\x2C\x0d\n lastNeed: {\x0d\n __proto__: null\x2C\x0d\n configurable: true\x2C\x0d\n enumerable: true\x2C\x0d\n get() {\x0d\n return this[kNativeDecoder][kMissingBytes];\x0d\n }\x2C\x0d\n }\x2C\x0d\n lastTotal: {\x0d\n __proto__: null\x2C\x0d\n configurable: true\x2C\x0d\n enumerable: true\x2C\x0d\n get() {\x0d\n return this[kNativeDecoder][kBufferedBytes] +\x0d\n this[kNativeDecoder][kMissingBytes];\x0d\n }\x2C\x0d\n }\x2C\x0d\n});\x0d\n\x0d\nexports.StringDecoder = StringDecoder;\x0d\n
code-source-info,0x77b20f88fe,100,0,5307,C0O0C4O5307,,
code-creation,JS,10,345015,0x77b20f8e8e,356, node:string_decoder:1:1,0x77b20f8878,~
code-source-info,0x77b20f8e8e,100,0,5307,C0O0C70O1183C76O1205C81O1232C86O1243C92O1312C95O1312C100O1301C106O1492C109O1492C114O1343C120O1374C126O1403C132O1421C138O1440C144O1459C150O1469C156O1480C162O1622C165O1622C170O1539C175O1561C181O1597C187O1733C190O1733C195O1759C200O1660C206O1685C212O1706C218O1787C223O1793C226O1787C228O1840C231O1840C235O1840C237O3230C246O3246C250O3914C259O3928C263O4331C272O4346C276O4551C286O4577C291O4654C305O4892C310O4969C324O5056C329O5133C343O4514C348O5267C350O5289C355O5306,,
code-creation,Eval,10,345270,0x77b20f9d96,5, node:internal/streams/from:1:1,0x77b20f9be0,~
script-source,101,node:internal/streams/from,'use strict';\x0d\n\x0d\nconst {\x0d\n PromisePrototypeThen\x2C\x0d\n SymbolAsyncIterator\x2C\x0d\n SymbolIterator\x2C\x0d\n} = primordials;\x0d\nconst { Buffer } = require('buffer');\x0d\n\x0d\nconst {\x0d\n ERR_INVALID_ARG_TYPE\x2C\x0d\n ERR_STREAM_NULL_VALUES\x2C\x0d\n} = require('internal/errors').codes;\x0d\n\x0d\nfunction from(Readable\x2C iterable\x2C opts) {\x0d\n let iterator;\x0d\n if (typeof iterable === 'string' || iterable instanceof Buffer) {\x0d\n return new Readable({\x0d\n objectMode: true\x2C\x0d\n ...opts\x2C\x0d\n read() {\x0d\n this.push(iterable);\x0d\n this.push(null);\x0d\n }\x2C\x0d\n });\x0d\n }\x0d\n\x0d\n let isAsync;\x0d\n if (iterable && iterable[SymbolAsyncIterator]) {\x0d\n isAsync = true;\x0d\n iterator = iterable[SymbolAsyncIterator]();\x0d\n } else if (iterable && iterable[SymbolIterator]) {\x0d\n isAsync = false;\x0d\n iterator = iterable[SymbolIterator]();\x0d\n } else {\x0d\n throw new ERR_INVALID_ARG_TYPE('iterable'\x2C ['Iterable']\x2C iterable);\x0d\n }\x0d\n\x0d\n\x0d\n const readable = new Readable({\x0d\n objectMode: true\x2C\x0d\n highWaterMark: 1\x2C\x0d\n // TODO(ronag): What options should be allowed?\x0d\n ...opts\x2C\x0d\n });\x0d\n\x0d\n // Flag to protect against _read\x0d\n // being called before last iteration completion.\x0d\n let reading = false;\x0d\n let isAsyncValues = false;\x0d\n\x0d\n readable._read = function() {\x0d\n if (!reading) {\x0d\n reading = true;\x0d\n\x0d\n if (isAsync) {\x0d\n nextAsync();\x0d\n } else if (isAsyncValues) {\x0d\n nextSyncWithAsyncValues();\x0d\n } else {\x0d\n nextSyncWithSyncValues();\x0d\n }\x0d\n }\x0d\n };\x0d\n\x0d\n readable._destroy = function(error\x2C cb) {\x0d\n PromisePrototypeThen(\x0d\n close(error)\x2C\x0d\n () => process.nextTick(cb\x2C error)\x2C // nextTick is here in case cb throws\x0d\n (e) => process.nextTick(cb\x2C e || error)\x2C\x0d\n );\x0d\n };\x0d\n\x0d\n async function close(error) {\x0d\n const hadError = (error !== undefined) && (error !== null);\x0d\n const hasThrow = typeof iterator.throw === 'function';\x0d\n if (hadError && hasThrow) {\x0d\n const { value\x2C done } = await iterator.throw(error);\x0d\n await value;\x0d\n if (done) {\x0d\n return;\x0d\n }\x0d\n }\x0d\n if (typeof iterator.return === 'function') {\x0d\n const { value } = await iterator.return();\x0d\n await value;\x0d\n }\x0d\n }\x0d\n\x0d\n // There are a lot of duplication here\x2C it's done on purpose for performance\x0d\n // reasons - avoid await when not needed.\x0d\n\x0d\n function nextSyncWithSyncValues() {\x0d\n for (;;) {\x0d\n try {\x0d\n const { value\x2C done } = iterator.next();\x0d\n\x0d\n if (done) {\x0d\n readable.push(null);\x0d\n return;\x0d\n }\x0d\n\x0d\n if (value &&\x0d\n typeof value.then === 'function') {\x0d\n return changeToAsyncValues(value);\x0d\n }\x0d\n\x0d\n if (value === null) {\x0d\n reading = false;\x0d\n throw new ERR_STREAM_NULL_VALUES();\x0d\n }\x0d\n\x0d\n if (readable.push(value)) {\x0d\n continue;\x0d\n }\x0d\n\x0d\n reading = false;\x0d\n } catch (err) {\x0d\n readable.destroy(err);\x0d\n }\x0d\n break;\x0d\n }\x0d\n }\x0d\n\x0d\n async function changeToAsyncValues(value) {\x0d\n isAsyncValues = true;\x0d\n\x0d\n try {\x0d\n const res = await value;\x0d\n\x0d\n if (res === null) {\x0d\n reading = false;\x0d\n throw new ERR_STREAM_NULL_VALUES();\x0d\n }\x0d\n\x0d\n if (readable.push(res)) {\x0d\n nextSyncWithAsyncValues();\x0d\n return;\x0d\n }\x0d\n\x0d\n reading = false;\x0d\n } catch (err) {\x0d\n readable.destroy(err);\x0d\n }\x0d\n }\x0d\n\x0d\n async function nextSyncWithAsyncValues() {\x0d\n for (;;) {\x0d\n try {\x0d\n const { value\x2C done } = iterator.next();\x0d\n\x0d\n if (done) {\x0d\n readable.push(null);\x0d\n return;\x0d\n }\x0d\n\x0d\n const res = (value &&\x0d\n typeof value.then === 'function') ?\x0d\n await value :\x0d\n value;\x0d\n\x0d\n if (res === null) {\x0d\n reading = false;\x0d\n throw new ERR_STREAM_NULL_VALUES();\x0d\n }\x0d\n\x0d\n if (readable.push(res)) {\x0d\n continue;\x0d\n }\x0d\n\x0d\n reading = false;\x0d\n } catch (err) {\x0d\n readable.destroy(err);\x0d\n }\x0d\n break;\x0d\n }\x0d\n }\x0d\n\x0d\n async function nextAsync() {\x0d\n for (;;) {\x0d\n try {\x0d\n const { value\x2C done } = await iterator.next();\x0d\n\x0d\n if (done) {\x0d\n readable.push(null);\x0d\n return;\x0d\n }\x0d\n\x0d\n if (value === null) {\x0d\n reading = false;\x0d\n throw new ERR_STREAM_NULL_VALUES();\x0d\n }\x0d\n\x0d\n if (readable.push(value)) {\x0d\n continue;\x0d\n }\x0d\n\x0d\n reading = false;\x0d\n } catch (err) {\x0d\n readable.destroy(err);\x0d\n }\x0d\n break;\x0d\n }\x0d\n }\x0d\n return readable;\x0d\n}\x0d\n\x0d\nmodule.exports = from;\x0d\n
code-source-info,0x77b20f9d96,101,0,4549,C0O0C4O4549,,
code-creation,JS,10,345482,0x77b20f9f16,97, node:internal/streams/from:1:1,0x77b20f9d10,~
code-source-info,0x77b20f9f16,101,0,4549,C0O0C32O28C38O53C44O77C50O131C53O131C58O120C64O218C67O218C72O244C77O164C83O189C89O4525C91O4540C96O4548,,
code-creation,JS,10,345676,0x77b20fb17e,33,makeBitMapDescriptor node:internal/streams/readable:127:30,0x77b20ec230,~
code-source-info,0x77b20fb17e,97,3888,4090,C0O3888C9O3899C14O3937C22O3988C32O4087,,
new,MemoryChunk,0x381e1300000,262144
code-creation,Eval,10,346683,0x381e1302c7e,5, node:internal/streams/writable:1:1,0x381e1301858,~
script-source,102,node:internal/streams/writable,// Copyright Joyent\x2C Inc. and other Node contributors.\x0d\n//\x0d\n// Permission is hereby granted\x2C free of charge\x2C to any person obtaining a\x0d\n// copy of this software and associated documentation files (the\x0d\n// "Software")\x2C to deal in the Software without restriction\x2C including\x0d\n// without limitation the rights to use\x2C copy\x2C modify\x2C merge\x2C publish\x2C\x0d\n// distribute\x2C sublicense\x2C and/or sell copies of the Software\x2C and to permit\x0d\n// persons to whom the Software is furnished to do so\x2C subject to the\x0d\n// following conditions:\x0d\n//\x0d\n// The above copyright notice and this permission notice shall be included\x0d\n// in all copies or substantial portions of the Software.\x0d\n//\x0d\n// THE SOFTWARE IS PROVIDED "AS IS"\x2C WITHOUT WARRANTY OF ANY KIND\x2C EXPRESS\x0d\n// OR IMPLIED\x2C INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\x0d\n// MERCHANTABILITY\x2C FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\x0d\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM\x2C\x0d\n// DAMAGES OR OTHER LIABILITY\x2C WHETHER IN AN ACTION OF CONTRACT\x2C TORT OR\x0d\n// OTHERWISE\x2C ARISING FROM\x2C OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\x0d\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\x0d\n\x0d\n// A bit simpler than readable streams.\x0d\n// Implement an async ._write(chunk\x2C encoding\x2C cb)\x2C and it'll handle all\x0d\n// the drain event emission and buffering.\x0d\n\x0d\n'use strict';\x0d\n\x0d\nconst {\x0d\n ArrayPrototypeSlice\x2C\x0d\n Error\x2C\x0d\n FunctionPrototypeSymbolHasInstance\x2C\x0d\n ObjectDefineProperty\x2C\x0d\n ObjectDefineProperties\x2C\x0d\n ObjectSetPrototypeOf\x2C\x0d\n Promise\x2C\x0d\n StringPrototypeToLowerCase\x2C\x0d\n Symbol\x2C\x0d\n SymbolAsyncDispose\x2C\x0d\n SymbolHasInstance\x2C\x0d\n} = primordials;\x0d\n\x0d\nmodule.exports = Writable;\x0d\nWritable.WritableState = WritableState;\x0d\n\x0d\nconst EE = require('events');\x0d\nconst Stream = require('internal/streams/legacy').Stream;\x0d\nconst { Buffer } = require('buffer');\x0d\nconst destroyImpl = require('internal/streams/destroy');\x0d\nconst eos = require('internal/streams/end-of-stream');\x0d\n\x0d\nconst {\x0d\n addAbortSignal\x2C\x0d\n} = require('internal/streams/add-abort-signal');\x0d\n\x0d\nconst {\x0d\n getHighWaterMark\x2C\x0d\n getDefaultHighWaterMark\x2C\x0d\n} = require('internal/streams/state');\x0d\nconst {\x0d\n AbortError\x2C\x0d\n codes: {\x0d\n ERR_INVALID_ARG_TYPE\x2C\x0d\n ERR_METHOD_NOT_IMPLEMENTED\x2C\x0d\n ERR_MULTIPLE_CALLBACK\x2C\x0d\n ERR_STREAM_ALREADY_FINISHED\x2C\x0d\n ERR_STREAM_CANNOT_PIPE\x2C\x0d\n ERR_STREAM_DESTROYED\x2C\x0d\n ERR_STREAM_NULL_VALUES\x2C\x0d\n ERR_STREAM_WRITE_AFTER_END\x2C\x0d\n ERR_UNKNOWN_ENCODING\x2C\x0d\n }\x2C\x0d\n} = require('internal/errors');\x0d\nconst {\x0d\n kState\x2C\x0d\n // bitfields\x0d\n kObjectMode\x2C\x0d\n kErrorEmitted\x2C\x0d\n kAutoDestroy\x2C\x0d\n kEmitClose\x2C\x0d\n kDestroyed\x2C\x0d\n kClosed\x2C\x0d\n kCloseEmitted\x2C\x0d\n kErrored\x2C\x0d\n kConstructed\x2C\x0d\n kOnConstructed\x2C\x0d\n} = require('internal/streams/utils');\x0d\n\x0d\nconst { errorOrDestroy } = destroyImpl;\x0d\n\x0d\nObjectSetPrototypeOf(Writable.prototype\x2C Stream.prototype);\x0d\nObjectSetPrototypeOf(Writable\x2C Stream);\x0d\n\x0d\nfunction nop() {}\x0d\n\x0d\nconst kOnFinishedValue = Symbol('kOnFinishedValue');\x0d\nconst kErroredValue = Symbol('kErroredValue');\x0d\nconst kDefaultEncodingValue = Symbol('kDefaultEncodingValue');\x0d\nconst kWriteCbValue = Symbol('kWriteCbValue');\x0d\nconst kAfterWriteTickInfoValue = Symbol('kAfterWriteTickInfoValue');\x0d\nconst kBufferedValue = Symbol('kBufferedValue');\x0d\n\x0d\nconst kSync = 1 << 9;\x0d\nconst kFinalCalled = 1 << 10;\x0d\nconst kNeedDrain = 1 << 11;\x0d\nconst kEnding = 1 << 12;\x0d\nconst kFinished = 1 << 13;\x0d\nconst kDecodeStrings = 1 << 14;\x0d\nconst kWriting = 1 << 15;\x0d\nconst kBufferProcessing = 1 << 16;\x0d\nconst kPrefinished = 1 << 17;\x0d\nconst kAllBuffers = 1 << 18;\x0d\nconst kAllNoop = 1 << 19;\x0d\nconst kOnFinished = 1 << 20;\x0d\nconst kHasWritable = 1 << 21;\x0d\nconst kWritable = 1 << 22;\x0d\nconst kCorked = 1 << 23;\x0d\nconst kDefaultUTF8Encoding = 1 << 24;\x0d\nconst kWriteCb = 1 << 25;\x0d\nconst kExpectWriteCb = 1 << 26;\x0d\nconst kAfterWriteTickInfo = 1 << 27;\x0d\nconst kAfterWritePending = 1 << 28;\x0d\nconst kBuffered = 1 << 29;\x0d\nconst kEnded = 1 << 30;\x0d\n\x0d\n// TODO(benjamingr) it is likely slower to do it this way than with free functions\x0d\nfunction makeBitMapDescriptor(bit) {\x0d\n return {\x0d\n enumerable: false\x2C\x0d\n get() { return (this[kState] & bit) !== 0; }\x2C\x0d\n set(value) {\x0d\n if (value) this[kState] |= bit;\x0d\n else this[kState] &= ~bit;\x0d\n }\x2C\x0d\n };\x0d\n}\x0d\nObjectDefineProperties(WritableState.prototype\x2C {\x0d\n // Object stream flag to indicate whether or not this stream\x0d\n // contains buffers or objects.\x0d\n objectMode: makeBitMapDescriptor(kObjectMode)\x2C\x0d\n\x0d\n // if _final has been called.\x0d\n finalCalled: makeBitMapDescriptor(kFinalCalled)\x2C\x0d\n\x0d\n // drain event flag.\x0d\n needDrain: makeBitMapDescriptor(kNeedDrain)\x2C\x0d\n\x0d\n // At the start of calling end()\x0d\n ending: makeBitMapDescriptor(kEnding)\x2C\x0d\n\x0d\n // When end() has been called\x2C and returned.\x0d\n ended: makeBitMapDescriptor(kEnded)\x2C\x0d\n\x0d\n // When 'finish' is emitted.\x0d\n finished: makeBitMapDescriptor(kFinished)\x2C\x0d\n\x0d\n // Has it been destroyed.\x0d\n destroyed: makeBitMapDescriptor(kDestroyed)\x2C\x0d\n\x0d\n // Should we decode strings into buffers before passing to _write?\x0d\n // this is here so that some node-core streams can optimize string\x0d\n // handling at a lower level.\x0d\n decodeStrings: makeBitMapDescriptor(kDecodeStrings)\x2C\x0d\n\x0d\n // A flag to see when we're in the middle of a write.\x0d\n writing: makeBitMapDescriptor(kWriting)\x2C\x0d\n\x0d\n // A flag to be able to tell if the onwrite cb is called immediately\x2C\x0d\n // or on a later tick. We set this to true at first\x2C because any\x0d\n // actions that shouldn't happen until "later" should generally also\x0d\n // not happen before the first write call.\x0d\n sync: makeBitMapDescriptor(kSync)\x2C\x0d\n\x0d\n // A flag to know if we're processing previously buffered items\x2C which\x0d\n // may call the _write() callback in the same tick\x2C so that we don't\x0d\n // end up in an overlapped onwrite situation.\x0d\n bufferProcessing: makeBitMapDescriptor(kBufferProcessing)\x2C\x0d\n\x0d\n // Stream is still being constructed and cannot be\x0d\n // destroyed until construction finished or failed.\x0d\n // Async construction is opt in\x2C therefore we start as\x0d\n // constructed.\x0d\n constructed: makeBitMapDescriptor(kConstructed)\x2C\x0d\n\x0d\n // Emit prefinish if the only thing we're waiting for is _write cbs\x0d\n // This is relevant for synchronous Transform streams.\x0d\n prefinished: makeBitMapDescriptor(kPrefinished)\x2C\x0d\n\x0d\n // True if the error was already emitted and should not be thrown again.\x0d\n errorEmitted: makeBitMapDescriptor(kErrorEmitted)\x2C\x0d\n\x0d\n // Should close be emitted on destroy. Defaults to true.\x0d\n emitClose: makeBitMapDescriptor(kEmitClose)\x2C\x0d\n\x0d\n // Should .destroy() be called after 'finish' (and potentially 'end').\x0d\n autoDestroy: makeBitMapDescriptor(kAutoDestroy)\x2C\x0d\n\x0d\n // Indicates whether the stream has finished destroying.\x0d\n closed: makeBitMapDescriptor(kClosed)\x2C\x0d\n\x0d\n // True if close has been emitted or would have been emitted\x0d\n // depending on emitClose.\x0d\n closeEmitted: makeBitMapDescriptor(kCloseEmitted)\x2C\x0d\n\x0d\n allBuffers: makeBitMapDescriptor(kAllBuffers)\x2C\x0d\n allNoop: makeBitMapDescriptor(kAllNoop)\x2C\x0d\n\x0d\n // Indicates whether the stream has errored. When true all write() calls\x0d\n // should return false. This is needed since when autoDestroy\x0d\n // is disabled we need a way to tell whether the stream has failed.\x0d\n // This is/should be a cold path.\x0d\n errored: {\x0d\n __proto__: null\x2C\x0d\n enumerable: false\x2C\x0d\n get() { return (this[kState] & kErrored) !== 0 ? this[kErroredValue] : null; }\x2C\x0d\n set(value) {\x0d\n if (value) {\x0d\n this[kErroredValue] = value;\x0d\n this[kState] |= kErrored;\x0d\n } else {\x0d\n this[kState] &= ~kErrored;\x0d\n }\x0d\n }\x2C\x0d\n }\x2C\x0d\n\x0d\n writable: {\x0d\n __proto__: null\x2C\x0d\n enumerable: false\x2C\x0d\n get() { return (this[kState] & kHasWritable) !== 0 ? (this[kState] & kWritable) !== 0 : undefined; }\x2C\x0d\n set(value) {\x0d\n if (value == null) {\x0d\n this[kState] &= ~(kHasWritable | kWritable);\x0d\n } else if (value) {\x0d\n this[kState] |= (kHasWritable | kWritable);\x0d\n } else {\x0d\n this[kState] |= kHasWritable;\x0d\n this[kState] &= ~kWritable;\x0d\n }\x0d\n }\x2C\x0d\n }\x2C\x0d\n\x0d\n defaultEncoding: {\x0d\n __proto__: null\x2C\x0d\n enumerable: false\x2C\x0d\n get() { return (this[kState] & kDefaultUTF8Encoding) !== 0 ? 'utf8' : this[kDefaultEncodingValue]; }\x2C\x0d\n set(value) {\x0d\n if (value === 'utf8' || value === 'utf-8') {\x0d\n this[kState] |= kDefaultUTF8Encoding;\x0d\n } else {\x0d\n this[kState] &= ~kDefaultUTF8Encoding;\x0d\n this[kDefaultEncodingValue] = value;\x0d\n }\x0d\n }\x2C\x0d\n }\x2C\x0d\n\x0d\n // The callback that the user supplies to write(chunk\x2C encoding\x2C cb).\x0d\n writecb: {\x0d\n __proto__: null\x2C\x0d\n enumerable: false\x2C\x0d\n get() { return (this[kState] & kWriteCb) !== 0 ? this[kWriteCbValue] : nop; }\x2C\x0d\n set(value) {\x0d\n this[kWriteCbValue] = value;\x0d\n if (value) {\x0d\n this[kState] |= kWriteCb;\x0d\n } else {\x0d\n this[kState] &= ~kWriteCb;\x0d\n }\x0d\n }\x2C\x0d\n }\x2C\x0d\n\x0d\n // Storage for data passed to the afterWrite() callback in case of\x0d\n // synchronous _write() completion.\x0d\n afterWriteTickInfo: {\x0d\n __proto__: null\x2C\x0d\n enumerable: false\x2C\x0d\n get() { return (this[kState] & kAfterWriteTickInfo) !== 0 ? this[kAfterWriteTickInfoValue] : null; }\x2C\x0d\n set(value) {\x0d\n this[kAfterWriteTickInfoValue] = value;\x0d\n if (value) {\x0d\n this[kState] |= kAfterWriteTickInfo;\x0d\n } else {\x0d\n this[kState] &= ~kAfterWriteTickInfo;\x0d\n }\x0d\n }\x2C\x0d\n }\x2C\x0d\n\x0d\n buffered: {\x0d\n __proto__: null\x2C\x0d\n enumerable: false\x2C\x0d\n get() { return (this[kState] & kBuffered) !== 0 ? this[kBufferedValue] : []; }\x2C\x0d\n set(value) {\x0d\n this[kBufferedValue] = value;\x0d\n if (value) {\x0d\n this[kState] |= kBuffered;\x0d\n } else {\x0d\n this[kState] &= ~kBuffered;\x0d\n }\x0d\n }\x2C\x0d\n }\x2C\x0d\n\x0d\n});\x0d\n\x0d\nfunction WritableState(options\x2C stream\x2C isDuplex) {\x0d\n // Bit map field to store WritableState more effciently with 1 bit per field\x0d\n // instead of a V8 slot per field.\x0d\n this[kState] = kSync | kConstructed | kEmitClose | kAutoDestroy;\x0d\n\x0d\n if (options && options.objectMode)\x0d\n this[kState] |= kObjectMode;\x0d\n\x0d\n if (isDuplex && options && options.writableObjectMode)\x0d\n this[kState] |= kObjectMode;\x0d\n\x0d\n // The point at which write() starts returning false\x0d\n // Note: 0 is a valid value\x2C means that we always return false if\x0d\n // the entire buffer is not flushed immediately on write().\x0d\n this.highWaterMark = options ?\x0d\n getHighWaterMark(this\x2C options\x2C 'writableHighWaterMark'\x2C isDuplex) :\x0d\n getDefaultHighWaterMark(false);\x0d\n\x0d\n if (!options || options.decodeStrings !== false) this[kState] |= kDecodeStrings;\x0d\n\x0d\n // Should close be emitted on destroy. Defaults to true.\x0d\n if (options && options.emitClose === false) this[kState] &= ~kEmitClose;\x0d\n\x0d\n // Should .destroy() be called after 'end' (and potentially 'finish').\x0d\n if (options && options.autoDestroy === false) this[kState] &= ~kAutoDestroy;\x0d\n\x0d\n // Crypto is kind of old and crusty. Historically\x2C its default string\x0d\n // encoding is 'binary' so we have to make this configurable.\x0d\n // Everything else in the universe uses 'utf8'\x2C though.\x0d\n const defaultEncoding = options ? options.defaultEncoding : null;\x0d\n if (defaultEncoding == null || defaultEncoding === 'utf8' || defaultEncoding === 'utf-8') {\x0d\n this[kState] |= kDefaultUTF8Encoding;\x0d\n } else if (Buffer.isEncoding(defaultEncoding)) {\x0d\n this[kState] &= ~kDefaultUTF8Encoding;\x0d\n this[kDefaultEncodingValue] = defaultEncoding;\x0d\n } else {\x0d\n throw new ERR_UNKNOWN_ENCODING(defaultEncoding);\x0d\n }\x0d\n\x0d\n // Not an actual buffer we keep track of\x2C but a measurement\x0d\n // of how much we're waiting to get pushed to some underlying\x0d\n // socket or file.\x0d\n this.length = 0;\x0d\n\x0d\n // When true all writes will be buffered until .uncork() call.\x0d\n this.corked = 0;\x0d\n\x0d\n // The callback that's passed to _write(chunk\x2C cb).\x0d\n this.onwrite = onwrite.bind(undefined\x2C stream);\x0d\n\x0d\n // The amount that is being written when _write is called.\x0d\n this.writelen = 0;\x0d\n\x0d\n resetBuffer(this);\x0d\n\x0d\n // Number of pending user-supplied write callbacks\x0d\n // this must be 0 before 'finish' can be emitted.\x0d\n this.pendingcb = 0;\x0d\n}\x0d\n\x0d\nfunction resetBuffer(state) {\x0d\n state[kBufferedValue] = null;\x0d\n state.bufferedIndex = 0;\x0d\n state[kState] |= kAllBuffers | kAllNoop;\x0d\n state[kState] &= ~kBuffered;\x0d\n}\x0d\n\x0d\nWritableState.prototype.getBuffer = function getBuffer() {\x0d\n return (this[kState] & kBuffered) === 0 ? [] : ArrayPrototypeSlice(this.buffered\x2C this.bufferedIndex);\x0d\n};\x0d\n\x0d\nObjectDefineProperty(WritableState.prototype\x2C 'bufferedRequestCount'\x2C {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n return (this[kState] & kBuffered) === 0 ? 0 : this[kBufferedValue].length - this.bufferedIndex;\x0d\n }\x2C\x0d\n});\x0d\n\x0d\nWritableState.prototype[kOnConstructed] = function onConstructed(stream) {\x0d\n if ((this[kState] & kWriting) === 0) {\x0d\n clearBuffer(stream\x2C this);\x0d\n }\x0d\n\x0d\n if ((this[kState] & kEnding) !== 0) {\x0d\n finishMaybe(stream\x2C this);\x0d\n }\x0d\n};\x0d\n\x0d\nfunction Writable(options) {\x0d\n if (!(this instanceof Writable))\x0d\n return new Writable(options);\x0d\n\x0d\n this._events ??= {\x0d\n close: undefined\x2C\x0d\n error: undefined\x2C\x0d\n prefinish: undefined\x2C\x0d\n finish: undefined\x2C\x0d\n drain: undefined\x2C\x0d\n // Skip uncommon events...\x0d\n // [destroyImpl.kConstruct]: undefined\x2C\x0d\n // [destroyImpl.kDestroy]: undefined\x2C\x0d\n };\x0d\n\x0d\n this._writableState = new WritableState(options\x2C this\x2C false);\x0d\n\x0d\n if (options) {\x0d\n if (typeof options.write === 'function')\x0d\n this._write = options.write;\x0d\n\x0d\n if (typeof options.writev === 'function')\x0d\n this._writev = options.writev;\x0d\n\x0d\n if (typeof options.destroy === 'function')\x0d\n this._destroy = options.destroy;\x0d\n\x0d\n if (typeof options.final === 'function')\x0d\n this._final = options.final;\x0d\n\x0d\n if (typeof options.construct === 'function')\x0d\n this._construct = options.construct;\x0d\n\x0d\n if (options.signal)\x0d\n addAbortSignal(options.signal\x2C this);\x0d\n }\x0d\n\x0d\n Stream.call(this\x2C options);\x0d\n\x0d\n if (this._construct != null) {\x0d\n destroyImpl.construct(this\x2C () => {\x0d\n this._writableState[kOnConstructed](this);\x0d\n });\x0d\n }\x0d\n}\x0d\n\x0d\nObjectDefineProperty(Writable\x2C SymbolHasInstance\x2C {\x0d\n __proto__: null\x2C\x0d\n value: function(object) {\x0d\n if (FunctionPrototypeSymbolHasInstance(this\x2C object)) return true;\x0d\n if (this !== Writable) return false;\x0d\n\x0d\n return object && object._writableState instanceof WritableState;\x0d\n }\x2C\x0d\n});\x0d\n\x0d\n// Otherwise people can pipe Writable streams\x2C which is just wrong.\x0d\nWritable.prototype.pipe = function() {\x0d\n errorOrDestroy(this\x2C new ERR_STREAM_CANNOT_PIPE());\x0d\n};\x0d\n\x0d\nfunction _write(stream\x2C chunk\x2C encoding\x2C cb) {\x0d\n const state = stream._writableState;\x0d\n\x0d\n if (cb == null || typeof cb !== 'function') {\x0d\n cb = nop;\x0d\n }\x0d\n\x0d\n if (chunk === null) {\x0d\n throw new ERR_STREAM_NULL_VALUES();\x0d\n }\x0d\n\x0d\n if ((state[kState] & kObjectMode) === 0) {\x0d\n if (!encoding) {\x0d\n encoding = (state[kState] & kDefaultUTF8Encoding) !== 0 ? 'utf8' : state.defaultEncoding;\x0d\n } else if (encoding !== 'buffer' && !Buffer.isEncoding(encoding)) {\x0d\n throw new ERR_UNKNOWN_ENCODING(encoding);\x0d\n }\x0d\n\x0d\n if (typeof chunk === 'string') {\x0d\n if ((state[kState] & kDecodeStrings) !== 0) {\x0d\n chunk = Buffer.from(chunk\x2C encoding);\x0d\n encoding = 'buffer';\x0d\n }\x0d\n } else if (chunk instanceof Buffer) {\x0d\n encoding = 'buffer';\x0d\n } else if (Stream._isArrayBufferView(chunk)) {\x0d\n chunk = Stream._uint8ArrayToBuffer(chunk);\x0d\n encoding = 'buffer';\x0d\n } else {\x0d\n throw new ERR_INVALID_ARG_TYPE(\x0d\n 'chunk'\x2C ['string'\x2C 'Buffer'\x2C 'TypedArray'\x2C 'DataView']\x2C chunk);\x0d\n }\x0d\n }\x0d\n\x0d\n let err;\x0d\n if ((state[kState] & kEnding) !== 0) {\x0d\n err = new ERR_STREAM_WRITE_AFTER_END();\x0d\n } else if ((state[kState] & kDestroyed) !== 0) {\x0d\n err = new ERR_STREAM_DESTROYED('write');\x0d\n }\x0d\n\x0d\n if (err) {\x0d\n process.nextTick(cb\x2C err);\x0d\n errorOrDestroy(stream\x2C err\x2C true);\x0d\n return err;\x0d\n }\x0d\n\x0d\n state.pendingcb++;\x0d\n return writeOrBuffer(stream\x2C state\x2C chunk\x2C encoding\x2C cb);\x0d\n}\x0d\n\x0d\nWritable.prototype.write = function(chunk\x2C encoding\x2C cb) {\x0d\n if (encoding != null && typeof encoding === 'function') {\x0d\n cb = encoding;\x0d\n encoding = null;\x0d\n }\x0d\n\x0d\n return _write(this\x2C chunk\x2C encoding\x2C cb) === true;\x0d\n};\x0d\n\x0d\nWritable.prototype.cork = function() {\x0d\n const state = this._writableState;\x0d\n\x0d\n state[kState] |= kCorked;\x0d\n state.corked++;\x0d\n};\x0d\n\x0d\nWritable.prototype.uncork = function() {\x0d\n const state = this._writableState;\x0d\n\x0d\n if (state.corked) {\x0d\n state.corked--;\x0d\n\x0d\n if (!state.corked) {\x0d\n state[kState] &= ~kCorked;\x0d\n }\x0d\n\x0d\n if ((state[kState] & kWriting) === 0)\x0d\n clearBuffer(this\x2C state);\x0d\n }\x0d\n};\x0d\n\x0d\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\x0d\n // node::ParseEncoding() requires lower case.\x0d\n if (typeof encoding === 'string')\x0d\n encoding = StringPrototypeToLowerCase(encoding);\x0d\n if (!Buffer.isEncoding(encoding))\x0d\n throw new ERR_UNKNOWN_ENCODING(encoding);\x0d\n this._writableState.defaultEncoding = encoding;\x0d\n return this;\x0d\n};\x0d\n\x0d\n// If we're already writing something\x2C then just put this\x0d\n// in the queue\x2C and wait our turn. Otherwise\x2C call _write\x0d\n// If we return false\x2C then we need a drain event\x2C so set that flag.\x0d\nfunction writeOrBuffer(stream\x2C state\x2C chunk\x2C encoding\x2C callback) {\x0d\n const len = (state[kState] & kObjectMode) !== 0 ? 1 : chunk.length;\x0d\n\x0d\n state.length += len;\x0d\n\x0d\n if ((state[kState] & (kWriting | kErrored | kCorked | kConstructed)) !== kConstructed) {\x0d\n if ((state[kState] & kBuffered) === 0) {\x0d\n state[kState] |= kBuffered;\x0d\n state[kBufferedValue] = [];\x0d\n }\x0d\n\x0d\n state[kBufferedValue].push({ chunk\x2C encoding\x2C callback });\x0d\n if ((state[kState] & kAllBuffers) !== 0 && encoding !== 'buffer') {\x0d\n state[kState] &= ~kAllBuffers;\x0d\n }\x0d\n if ((state[kState] & kAllNoop) !== 0 && callback !== nop) {\x0d\n state[kState] &= ~kAllNoop;\x0d\n }\x0d\n } else {\x0d\n state.writelen = len;\x0d\n if (callback !== nop) {\x0d\n state.writecb = callback;\x0d\n }\x0d\n state[kState] |= kWriting | kSync | kExpectWriteCb;\x0d\n stream._write(chunk\x2C encoding\x2C state.onwrite);\x0d\n state[kState] &= ~kSync;\x0d\n }\x0d\n\x0d\n const ret = state.length < state.highWaterMark || state.length === 0;\x0d\n\x0d\n if (!ret) {\x0d\n state[kState] |= kNeedDrain;\x0d\n }\x0d\n\x0d\n // Return false if errored or destroyed in order to break\x0d\n // any synchronous while(stream.write(data)) loops.\x0d\n return ret && (state[kState] & (kDestroyed | kErrored)) === 0;\x0d\n}\x0d\n\x0d\nfunction doWrite(stream\x2C state\x2C writev\x2C len\x2C chunk\x2C encoding\x2C cb) {\x0d\n state.writelen = len;\x0d\n if (cb !== nop) {\x0d\n state.writecb = cb;\x0d\n }\x0d\n state[kState] |= kWriting | kSync | kExpectWriteCb;\x0d\n if ((state[kState] & kDestroyed) !== 0)\x0d\n state.onwrite(new ERR_STREAM_DESTROYED('write'));\x0d\n else if (writev)\x0d\n stream._writev(chunk\x2C state.onwrite);\x0d\n else\x0d\n stream._write(chunk\x2C encoding\x2C state.onwrite);\x0d\n state[kState] &= ~kSync;\x0d\n}\x0d\n\x0d\nfunction onwriteError(stream\x2C state\x2C er\x2C cb) {\x0d\n --state.pendingcb;\x0d\n\x0d\n cb(er);\x0d\n // Ensure callbacks are invoked even when autoDestroy is\x0d\n // not enabled. Passing `er` here doesn't make sense since\x0d\n // it's related to one specific write\x2C not to the buffered\x0d\n // writes.\x0d\n errorBuffer(state);\x0d\n // This can emit error\x2C but error must always follow cb.\x0d\n errorOrDestroy(stream\x2C er);\x0d\n}\x0d\n\x0d\nfunction onwrite(stream\x2C er) {\x0d\n const state = stream._writableState;\x0d\n\x0d\n if ((state[kState] & kExpectWriteCb) === 0) {\x0d\n errorOrDestroy(stream\x2C new ERR_MULTIPLE_CALLBACK());\x0d\n return;\x0d\n }\x0d\n\x0d\n const sync = (state[kState] & kSync) !== 0;\x0d\n const cb = (state[kState] & kWriteCb) !== 0 ? state[kWriteCbValue] : nop;\x0d\n\x0d\n state.writecb = null;\x0d\n state[kState] &= ~(kWriting | kExpectWriteCb);\x0d\n state.length -= state.writelen;\x0d\n state.writelen = 0;\x0d\n\x0d\n if (er) {\x0d\n // Avoid V8 leak\x2C https://github.com/nodejs/node/pull/34103#issuecomment-652002364\x0d\n er.stack; // eslint-disable-line no-unused-expressions\x0d\n\x0d\n if ((state[kState] & kErrored) === 0) {\x0d\n state[kErroredValue] = er;\x0d\n state[kState] |= kErrored;\x0d\n }\x0d\n\x0d\n // In case of duplex streams we need to notify the readable side of the\x0d\n // error.\x0d\n if (stream._readableState && !stream._readableState.errored) {\x0d\n stream._readableState.errored = er;\x0d\n }\x0d\n\x0d\n if (sync) {\x0d\n process.nextTick(onwriteError\x2C stream\x2C state\x2C er\x2C cb);\x0d\n } else {\x0d\n onwriteError(stream\x2C state\x2C er\x2C cb);\x0d\n }\x0d\n } else {\x0d\n if ((state[kState] & kBuffered) !== 0) {\x0d\n clearBuffer(stream\x2C state);\x0d\n }\x0d\n\x0d\n if (sync) {\x0d\n const needDrain = (state[kState] & kNeedDrain) !== 0 && state.length === 0;\x0d\n const needTick = needDrain || (state[kState] & kDestroyed !== 0) || cb !== nop;\x0d\n\x0d\n // It is a common case that the callback passed to .write() is always\x0d\n // the same. In that case\x2C we do not schedule a new nextTick()\x2C but\x0d\n // rather just increase a counter\x2C to improve performance and avoid\x0d\n // memory allocations.\x0d\n if (cb === nop) {\x0d\n if ((state[kState] & kAfterWritePending) === 0 && needTick) {\x0d\n process.nextTick(afterWrite\x2C stream\x2C state\x2C 1\x2C cb);\x0d\n state[kState] |= kAfterWritePending;\x0d\n } else {\x0d\n state.pendingcb--;\x0d\n if ((state[kState] & kEnding) !== 0) {\x0d\n finishMaybe(stream\x2C state\x2C true);\x0d\n }\x0d\n }\x0d\n } else if ((state[kState] & kAfterWriteTickInfo) !== 0 &&\x0d\n state[kAfterWriteTickInfoValue].cb === cb) {\x0d\n state[kAfterWriteTickInfoValue].count++;\x0d\n } else if (needTick) {\x0d\n state[kAfterWriteTickInfoValue] = { count: 1\x2C cb\x2C stream\x2C state };\x0d\n process.nextTick(afterWriteTick\x2C state[kAfterWriteTickInfoValue]);\x0d\n state[kState] |= (kAfterWritePending | kAfterWriteTickInfo);\x0d\n } else {\x0d\n state.pendingcb--;\x0d\n if ((state[kState] & kEnding) !== 0) {\x0d\n finishMaybe(stream\x2C state\x2C true);\x0d\n }\x0d\n }\x0d\n } else {\x0d\n afterWrite(stream\x2C state\x2C 1\x2C cb);\x0d\n }\x0d\n }\x0d\n}\x0d\n\x0d\nfunction afterWriteTick({ stream\x2C state\x2C count\x2C cb }) {\x0d\n state[kState] &= ~kAfterWriteTickInfo;\x0d\n state[kAfterWriteTickInfoValue] = null;\x0d\n return afterWrite(stream\x2C state\x2C count\x2C cb);\x0d\n}\x0d\n\x0d\nfunction afterWrite(stream\x2C state\x2C count\x2C cb) {\x0d\n state[kState] &= ~kAfterWritePending;\x0d\n\x0d\n const needDrain = (state[kState] & (kEnding | kNeedDrain | kDestroyed)) === kNeedDrain && state.length === 0;\x0d\n if (needDrain) {\x0d\n state[kState] &= ~kNeedDrain;\x0d\n stream.emit('drain');\x0d\n }\x0d\n\x0d\n while (count-- > 0) {\x0d\n state.pendingcb--;\x0d\n cb(null);\x0d\n }\x0d\n\x0d\n if ((state[kState] & kDestroyed) !== 0) {\x0d\n errorBuffer(state);\x0d\n }\x0d\n\x0d\n if ((state[kState] & kEnding) !== 0) {\x0d\n finishMaybe(stream\x2C state\x2C true);\x0d\n }\x0d\n}\x0d\n\x0d\n// If there's something in the buffer waiting\x2C then invoke callbacks.\x0d\nfunction errorBuffer(state) {\x0d\n if ((state[kState] & kWriting) !== 0) {\x0d\n return;\x0d\n }\x0d\n\x0d\n if ((state[kState] & kBuffered) !== 0) {\x0d\n for (let n = state.bufferedIndex; n < state.buffered.length; ++n) {\x0d\n const { chunk\x2C callback } = state[kBufferedValue][n];\x0d\n const len = (state[kState] & kObjectMode) !== 0 ? 1 : chunk.length;\x0d\n state.length -= len;\x0d\n callback(state.errored ?? new ERR_STREAM_DESTROYED('write'));\x0d\n }\x0d\n }\x0d\n\x0d\n\x0d\n callFinishedCallbacks(state\x2C state.errored ?? new ERR_STREAM_DESTROYED('end'));\x0d\n\x0d\n resetBuffer(state);\x0d\n}\x0d\n\x0d\n// If there's something in the buffer waiting\x2C then process it.\x0d\nfunction clearBuffer(stream\x2C state) {\x0d\n if ((state[kState] & (kDestroyed | kBufferProcessing | kCorked | kBuffered | kConstructed)) !==\x0d\n (kBuffered | kConstructed)) {\x0d\n return;\x0d\n }\x0d\n\x0d\n const objectMode = (state[kState] & kObjectMode) !== 0;\x0d\n const { [kBufferedValue]: buffered\x2C bufferedIndex } = state;\x0d\n const bufferedLength = buffered.length - bufferedIndex;\x0d\n\x0d\n if (!bufferedLength) {\x0d\n return;\x0d\n }\x0d\n\x0d\n let i = bufferedIndex;\x0d\n\x0d\n state[kState] |= kBufferProcessing;\x0d\n if (bufferedLength > 1 && stream._writev) {\x0d\n state.pendingcb -= bufferedLength - 1;\x0d\n\x0d\n const callback = (state[kState] & kAllNoop) !== 0 ? nop : (err) => {\x0d\n for (let n = i; n < buffered.length; ++n) {\x0d\n buffered[n].callback(err);\x0d\n }\x0d\n };\x0d\n // Make a copy of `buffered` if it's going to be used by `callback` above\x2C\x0d\n // since `doWrite` will mutate the array.\x0d\n const chunks = (state[kState] & kAllNoop) !== 0 && i === 0 ?\x0d\n buffered : ArrayPrototypeSlice(buffered\x2C i);\x0d\n chunks.allBuffers = (state[kState] & kAllBuffers) !== 0;\x0d\n\x0d\n doWrite(stream\x2C state\x2C true\x2C state.length\x2C chunks\x2C ''\x2C callback);\x0d\n\x0d\n resetBuffer(state);\x0d\n } else {\x0d\n do {\x0d\n const { chunk\x2C encoding\x2C callback } = buffered[i];\x0d\n buffered[i++] = null;\x0d\n const len = objectMode ? 1 : chunk.length;\x0d\n doWrite(stream\x2C state\x2C false\x2C len\x2C chunk\x2C encoding\x2C callback);\x0d\n } while (i < buffered.length && (state[kState] & kWriting) === 0);\x0d\n\x0d\n if (i === buffered.length) {\x0d\n resetBuffer(state);\x0d\n } else if (i > 256) {\x0d\n buffered.splice(0\x2C i);\x0d\n state.bufferedIndex = 0;\x0d\n } else {\x0d\n state.bufferedIndex = i;\x0d\n }\x0d\n }\x0d\n state[kState] &= ~kBufferProcessing;\x0d\n}\x0d\n\x0d\nWritable.prototype._write = function(chunk\x2C encoding\x2C cb) {\x0d\n if (this._writev) {\x0d\n this._writev([{ chunk\x2C encoding }]\x2C cb);\x0d\n } else {\x0d\n throw new ERR_METHOD_NOT_IMPLEMENTED('_write()');\x0d\n }\x0d\n};\x0d\n\x0d\nWritable.prototype._writev = null;\x0d\n\x0d\nWritable.prototype.end = function(chunk\x2C encoding\x2C cb) {\x0d\n const state = this._writableState;\x0d\n\x0d\n if (typeof chunk === 'function') {\x0d\n cb = chunk;\x0d\n chunk = null;\x0d\n encoding = null;\x0d\n } else if (typeof encoding === 'function') {\x0d\n cb = encoding;\x0d\n encoding = null;\x0d\n }\x0d\n\x0d\n let err;\x0d\n\x0d\n if (chunk != null) {\x0d\n const ret = _write(this\x2C chunk\x2C encoding);\x0d\n if (ret instanceof Error) {\x0d\n err = ret;\x0d\n }\x0d\n }\x0d\n\x0d\n // .end() fully uncorks.\x0d\n if ((state[kState] & kCorked) !== 0) {\x0d\n state.corked = 1;\x0d\n this.uncork();\x0d\n }\x0d\n\x0d\n if (err) {\x0d\n // Do nothing...\x0d\n } else if ((state[kState] & (kEnding | kErrored)) === 0) {\x0d\n // This is forgiving in terms of unnecessary calls to end() and can hide\x0d\n // logic errors. However\x2C usually such errors are harmless and causing a\x0d\n // hard error can be disproportionately destructive. It is not always\x0d\n // trivial for the user to determine whether end() needs to be called\x0d\n // or not.\x0d\n\x0d\n state[kState] |= kEnding;\x0d\n finishMaybe(this\x2C state\x2C true);\x0d\n state[kState] |= kEnded;\x0d\n } else if ((state[kState] & kFinished) !== 0) {\x0d\n err = new ERR_STREAM_ALREADY_FINISHED('end');\x0d\n } else if ((state[kState] & kDestroyed) !== 0) {\x0d\n err = new ERR_STREAM_DESTROYED('end');\x0d\n }\x0d\n\x0d\n if (typeof cb === 'function') {\x0d\n if (err) {\x0d\n process.nextTick(cb\x2C err);\x0d\n } else if ((state[kState] & kErrored) !== 0) {\x0d\n process.nextTick(cb\x2C state[kErroredValue]);\x0d\n } else if ((state[kState] & kFinished) !== 0) {\x0d\n process.nextTick(cb\x2C null);\x0d\n } else {\x0d\n state[kState] |= kOnFinished;\x0d\n state[kOnFinishedValue] ??= [];\x0d\n state[kOnFinishedValue].push(cb);\x0d\n }\x0d\n }\x0d\n\x0d\n return this;\x0d\n};\x0d\n\x0d\nfunction needFinish(state) {\x0d\n return (\x0d\n // State is ended && constructed but not destroyed\x2C finished\x2C writing\x2C errorEmitted or closedEmitted\x0d\n (state[kState] & (\x0d\n kEnding |\x0d\n kDestroyed |\x0d\n kConstructed |\x0d\n kFinished |\x0d\n kWriting |\x0d\n kErrorEmitted |\x0d\n kCloseEmitted |\x0d\n kErrored |\x0d\n kBuffered\x0d\n )) === (kEnding | kConstructed) && state.length === 0);\x0d\n}\x0d\n\x0d\nfunction onFinish(stream\x2C state\x2C err) {\x0d\n if ((state[kState] & kPrefinished) !== 0) {\x0d\n errorOrDestroy(stream\x2C err ?? new ERR_MULTIPLE_CALLBACK());\x0d\n return;\x0d\n }\x0d\n state.pendingcb--;\x0d\n if (err) {\x0d\n callFinishedCallbacks(state\x2C err);\x0d\n errorOrDestroy(stream\x2C err\x2C (state[kState] & kSync) !== 0);\x0d\n } else if (needFinish(state)) {\x0d\n state[kState] |= kPrefinished;\x0d\n stream.emit('prefinish');\x0d\n // Backwards compat. Don't check state.sync here.\x0d\n // Some streams assume 'finish' will be emitted\x0d\n // asynchronously relative to _final callback.\x0d\n state.pendingcb++;\x0d\n process.nextTick(finish\x2C stream\x2C state);\x0d\n }\x0d\n}\x0d\n\x0d\nfunction prefinish(stream\x2C state) {\x0d\n if ((state[kState] & (kPrefinished | kFinalCalled)) !== 0) {\x0d\n return;\x0d\n }\x0d\n\x0d\n if (typeof stream._final === 'function' && (state[kState] & kDestroyed) === 0) {\x0d\n state[kState] |= kFinalCalled | kSync;\x0d\n state.pendingcb++;\x0d\n\x0d\n try {\x0d\n stream._final((err) => onFinish(stream\x2C state\x2C err));\x0d\n } catch (err) {\x0d\n onFinish(stream\x2C state\x2C err);\x0d\n }\x0d\n\x0d\n state[kState] &= ~kSync;\x0d\n } else {\x0d\n state[kState] |= kFinalCalled | kPrefinished;\x0d\n stream.emit('prefinish');\x0d\n }\x0d\n}\x0d\n\x0d\nfunction finishMaybe(stream\x2C state\x2C sync) {\x0d\n if (needFinish(state)) {\x0d\n prefinish(stream\x2C state);\x0d\n if (state.pendingcb === 0) {\x0d\n if (sync) {\x0d\n state.pendingcb++;\x0d\n process.nextTick((stream\x2C state) => {\x0d\n if (needFinish(state)) {\x0d\n finish(stream\x2C state);\x0d\n } else {\x0d\n state.pendingcb--;\x0d\n }\x0d\n }\x2C stream\x2C state);\x0d\n } else if (needFinish(state)) {\x0d\n state.pendingcb++;\x0d\n finish(stream\x2C state);\x0d\n }\x0d\n }\x0d\n }\x0d\n}\x0d\n\x0d\nfunction finish(stream\x2C state) {\x0d\n state.pendingcb--;\x0d\n state[kState] |= kFinished;\x0d\n\x0d\n callFinishedCallbacks(state\x2C null);\x0d\n\x0d\n stream.emit('finish');\x0d\n\x0d\n if ((state[kState] & kAutoDestroy) !== 0) {\x0d\n // In case of duplex streams we need a way to detect\x0d\n // if the readable side is ready for autoDestroy as well.\x0d\n const rState = stream._readableState;\x0d\n const autoDestroy = !rState || (\x0d\n rState.autoDestroy &&\x0d\n // We don't expect the readable to ever 'end'\x0d\n // if readable is explicitly set to false.\x0d\n (rState.endEmitted || rState.readable === false)\x0d\n );\x0d\n if (autoDestroy) {\x0d\n stream.destroy();\x0d\n }\x0d\n }\x0d\n}\x0d\n\x0d\nfunction callFinishedCallbacks(state\x2C err) {\x0d\n if ((state[kState] & kOnFinished) === 0) {\x0d\n return;\x0d\n }\x0d\n\x0d\n const onfinishCallbacks = state[kOnFinishedValue];\x0d\n state[kOnFinishedValue] = null;\x0d\n state[kState] &= ~kOnFinished;\x0d\n for (let i = 0; i < onfinishCallbacks.length; i++) {\x0d\n onfinishCallbacks[i](err);\x0d\n }\x0d\n}\x0d\n\x0d\nObjectDefineProperties(Writable.prototype\x2C {\x0d\n closed: {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n return this._writableState ? (this._writableState[kState] & kClosed) !== 0 : false;\x0d\n }\x2C\x0d\n }\x2C\x0d\n\x0d\n destroyed: {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n return this._writableState ? (this._writableState[kState] & kDestroyed) !== 0 : false;\x0d\n }\x2C\x0d\n set(value) {\x0d\n // Backward compatibility\x2C the user is explicitly managing destroyed.\x0d\n if (!this._writableState) return;\x0d\n\x0d\n if (value) this._writableState[kState] |= kDestroyed;\x0d\n else this._writableState[kState] &= ~kDestroyed;\x0d\n }\x2C\x0d\n }\x2C\x0d\n\x0d\n writable: {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n const w = this._writableState;\x0d\n // w.writable === false means that this is part of a Duplex stream\x0d\n // where the writable side was disabled upon construction.\x0d\n // Compat. The user might manually disable writable side through\x0d\n // deprecated setter.\x0d\n return !!w && w.writable !== false &&\x0d\n (w[kState] & (kEnding | kEnded | kDestroyed | kErrored)) === 0;\x0d\n }\x2C\x0d\n set(val) {\x0d\n // Backwards compatible.\x0d\n if (this._writableState) {\x0d\n this._writableState.writable = !!val;\x0d\n }\x0d\n }\x2C\x0d\n }\x2C\x0d\n\x0d\n writableFinished: {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n const state = this._writableState;\x0d\n return state ? (state[kState] & kFinished) !== 0 : false;\x0d\n }\x2C\x0d\n }\x2C\x0d\n\x0d\n writableObjectMode: {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n const state = this._writableState;\x0d\n return state ? (state[kState] & kObjectMode) !== 0 : false;\x0d\n }\x2C\x0d\n }\x2C\x0d\n\x0d\n writableBuffer: {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n const state = this._writableState;\x0d\n return state && state.getBuffer();\x0d\n }\x2C\x0d\n }\x2C\x0d\n\x0d\n writableEnded: {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n const state = this._writableState;\x0d\n return state ? (state[kState] & kEnding) !== 0 : false;\x0d\n }\x2C\x0d\n }\x2C\x0d\n\x0d\n writableNeedDrain: {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n const state = this._writableState;\x0d\n return state ? (state[kState] & (kDestroyed | kEnding | kNeedDrain)) === kNeedDrain : false;\x0d\n }\x2C\x0d\n }\x2C\x0d\n\x0d\n writableHighWaterMark: {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n const state = this._writableState;\x0d\n return state && state.highWaterMark;\x0d\n }\x2C\x0d\n }\x2C\x0d\n\x0d\n writableCorked: {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n const state = this._writableState;\x0d\n return state ? state.corked : 0;\x0d\n }\x2C\x0d\n }\x2C\x0d\n\x0d\n writableLength: {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n const state = this._writableState;\x0d\n return state && state.length;\x0d\n }\x2C\x0d\n }\x2C\x0d\n\x0d\n errored: {\x0d\n __proto__: null\x2C\x0d\n enumerable: false\x2C\x0d\n get() {\x0d\n const state = this._writableState;\x0d\n return state ? state.errored : null;\x0d\n }\x2C\x0d\n }\x2C\x0d\n\x0d\n writableAborted: {\x0d\n __proto__: null\x2C\x0d\n get: function() {\x0d\n const state = this._writableState;\x0d\n return (\x0d\n (state[kState] & (kHasWritable | kWritable)) !== kHasWritable &&\x0d\n (state[kState] & (kDestroyed | kErrored)) !== 0 &&\x0d\n (state[kState] & kFinished) === 0\x0d\n );\x0d\n }\x2C\x0d\n }\x2C\x0d\n});\x0d\n\x0d\nconst destroy = destroyImpl.destroy;\x0d\nWritable.prototype.destroy = function(err\x2C cb) {\x0d\n const state = this._writableState;\x0d\n\x0d\n // Invoke pending callbacks.\x0d\n if ((state[kState] & (kBuffered | kOnFinished)) !== 0 && (state[kState] & kDestroyed) === 0) {\x0d\n process.nextTick(errorBuffer\x2C state);\x0d\n }\x0d\n\x0d\n destroy.call(this\x2C err\x2C cb);\x0d\n return this;\x0d\n};\x0d\n\x0d\nWritable.prototype._undestroy = destroyImpl.undestroy;\x0d\nWritable.prototype._destroy = function(err\x2C cb) {\x0d\n cb(err);\x0d\n};\x0d\n\x0d\nWritable.prototype[EE.captureRejectionSymbol] = function(err) {\x0d\n this.destroy(err);\x0d\n};\x0d\n\x0d\nlet webStreamsAdapters;\x0d\n\x0d\n// Lazy to avoid circular references\x0d\nfunction lazyWebStreams() {\x0d\n if (webStreamsAdapters === undefined)\x0d\n webStreamsAdapters = require('internal/webstreams/adapters');\x0d\n return webStreamsAdapters;\x0d\n}\x0d\n\x0d\nWritable.fromWeb = function(writableStream\x2C options) {\x0d\n return lazyWebStreams().newStreamWritableFromWritableStream(\x0d\n writableStream\x2C\x0d\n options);\x0d\n};\x0d\n\x0d\nWritable.toWeb = function(streamWritable) {\x0d\n return lazyWebStreams().newWritableStreamFromStreamWritable(streamWritable);\x0d\n};\x0d\n\x0d\nWritable.prototype[SymbolAsyncDispose] = function() {\x0d\n let error;\x0d\n if (!this.destroyed) {\x0d\n error = this.writableFinished ? null : new AbortError();\x0d\n this.destroy(error);\x0d\n }\x0d\n return new Promise((resolve\x2C reject) =>\x0d\n eos(this\x2C (err) => (err && err.name !== 'AbortError' ? reject(err) : resolve(null)))\x2C\x0d\n );\x0d\n};\x0d\n
code-source-info,0x381e1302c7e,102,0,34750,C0O0C4O34750,,
code-creation,JS,10,348400,0x381e13051f6,2187, node:internal/streams/writable:1:1,0x381e1302bf8,~
code-source-info,0x381e13051f6,102,0,34750,C0O0C330O1344C336O1368C342O1378C348O1417C353O1442C358O1469C363O1494C369O1506C375O1537C380O1548C385O1571C390O1611C392O1626C396O1639C401O1662C405O1693C411O1693C416O1728C422O1728C427O1762C431O1728C433O1791C439O1791C444O1780C450O1831C456O1831C460O1831C462O1881C468O1881C472O1881C474O1959C480O1959C485O1938C491O2070C497O2070C502O2019C508O2040C514O2419C520O2419C525O2117C531O2139C536O2146C542O2173C548O2206C554O2234C560O2268C566O2297C572O2324C578O2353C584O2386C590O2648C596O2648C601O2459C607O2486C613O2502C619O2520C625O2537C631O2552C637O2567C643O2579C649O2597C655O2610C661O2627C667O2713C670O2694C676O2729C679O2759C687O2777C692O2729C697O2790C703O2790C708O2879C711O2879C715O2879C717O2930C720O2930C724O2930C726O2986C729O2986C733O2986C735O3042C738O3042C742O3042C744O3101C747O3101C751O3101C753O3161C756O3161C760O3161C762O3204C766O3204C768O3234C772O3234C774O3263C778O3263C780O3289C784O3289C786O3317C790O3317C792O3350C796O3350C798O3377C804O3377C806O3413C812O3413C814O3444C820O3444C822O3474C828O3474C830O3501C836O3501C838O3531C844O3531C846O3562C852O3562C854O3590C860O3590C862O3616C868O3616C870O3655C876O3655C878O3682C884O3682C886O3715C892O3715C894O3753C900O3753C902O3790C908O3790C910O3818C916O3818C918O3843C924O3843C926O4172C929O4209C942O4336C953O4422C964O4498C975O4581C986O4672C997O4749C1008O4827C1019O5054C1030O5163C1041O5466C1052O5713C1063O5958C1074O6141C1085O6272C1096O6385C1107O6511C1118O6620C1129O6764C1140O6818C1151O6865C1159O7160C1164O7213C1172O7298C1186O7494C1191O7547C1199O7654C1213O7966C1218O8019C1226O8126C1240O8458C1245O8511C1253O8595C1267O8908C1272O8961C1280O9068C1294O9295C1299O9348C1307O9433C1321O4172C1326O12161C1329O12175C1338O12195C1342O12333C1345O12368C1358O12428C1366O12333C1371O12551C1374O12565C1382O12575C1386O12591C1390O13946C1393O13977C1401O14028C1416O13946C1426O14316C1429O14325C1438O14340C1446O15868C1449O15877C1458O15893C1466O16098C1469O16107C1478O16122C1486O16232C1489O16241C1498O16258C1506O16516C1509O16525C1518O16554C1526O25032C1529O25041C1538O25058C1546O25240C1549O25249C1555O25267C1563O25278C1566O25287C1575O25301C1583O30181C1586O30213C1599O30237C1607O30266C1629O30395C1637O30424C1649O30539C1671O30818C1679O30847C1691O31265C1713O31435C1721O31464C1743O31618C1751O31647C1773O31799C1781O31828C1803O31954C1811O31983C1833O32134C1841O32163C1863O32355C1871O32384C1893O32513C1901O32542C1923O32667C1931O32696C1953O32811C1961O32864C1983O32994C1991O33028C2013O30181C2023O33324C2026O33336C2034O33324C2036O33346C2039O33355C2048O33373C2056O33670C2059O33679C2067O33714C2075O33700C2083O33726C2086O33735C2095O33754C2103O33795C2106O33804C2111O33817C2124O33841C2132O33892C2133O33892C2135O34125C2142O34142C2150O34287C2157O34302C2165O34418C2168O34427C2173O34437C2177O34457C2186O34749,,
tick,0x7ffcc621f25f,349111,1,0x7ff7b8fa3800,3,0x7ff7b99b2970,0x7ff739bc3f26,0x7ff739bc3ca1,0x77b20e8368,0x7ff739bc3feb,0x7ff739bc3ca1,0x77b20e4836,0x7ff739bc3feb,0x7ff739bc3ca1,0x77b20e3048,0x7ff739bc3feb,0x7ff739bc3ca1,0x77b20d5546,0x7ff739bc3feb,0x7ff739bc3ca1,0x77b20d348b,0x7ff739bc3feb,0x7ff739bc3ca1,0x77b20cb96d,0x7ff739bc3feb,0x7ff739bc3ca1,0x23c5197b002,0x7ff739bc3feb,0x7ff739bc3ca1,0x23c5197a0be,0x23c519791af,0x23c51978faf,0x23c51978e96,0x23c51978d5e,0x7ff7b8e135d0,0x23c5197894b,0x23c519693ae,0x23c51968a11,0x23c51942948
code-creation,JS,10,349721,0x381e1309686,33,makeBitMapDescriptor node:internal/streams/writable:126:30,0x381e1302d00,~
code-source-info,0x381e1309686,102,3968,4170,C0O3968C9O3979C14O4017C22O4068C32O4167,,
code-creation,Eval,10,350437,0x381e130dbde,5, node:stream/promises:1:1,0x381e130da38,~
script-source,103,node:stream/promises,'use strict';\x0d\n\x0d\nconst {\x0d\n ArrayPrototypePop\x2C\x0d\n Promise\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst {\x0d\n isIterable\x2C\x0d\n isNodeStream\x2C\x0d\n isWebStream\x2C\x0d\n} = require('internal/streams/utils');\x0d\n\x0d\nconst { pipelineImpl: pl } = require('internal/streams/pipeline');\x0d\nconst { finished } = require('internal/streams/end-of-stream');\x0d\n\x0d\nrequire('stream');\x0d\n\x0d\nfunction pipeline(...streams) {\x0d\n return new Promise((resolve\x2C reject) => {\x0d\n let signal;\x0d\n let end;\x0d\n const lastArg = streams[streams.length - 1];\x0d\n if (lastArg && typeof lastArg === 'object' &&\x0d\n !isNodeStream(lastArg) && !isIterable(lastArg) && !isWebStream(lastArg)) {\x0d\n const options = ArrayPrototypePop(streams);\x0d\n signal = options.signal;\x0d\n end = options.end;\x0d\n }\x0d\n\x0d\n pl(streams\x2C (err\x2C value) => {\x0d\n if (err) {\x0d\n reject(err);\x0d\n } else {\x0d\n resolve(value);\x0d\n }\x0d\n }\x2C { signal\x2C end });\x0d\n });\x0d\n}\x0d\n\x0d\nmodule.exports = {\x0d\n finished\x2C\x0d\n pipeline\x2C\x0d\n};\x0d\n
code-source-info,0x381e130dbde,103,0,961,C0O0C4O961,,
code-creation,JS,10,350521,0x381e130dd5e,125, node:stream/promises:1:1,0x381e130db58,~
code-source-info,0x381e130dd5e,103,0,961,C0O0C28O28C34O50C40O141C43O141C48O91C54O106C60O123C66O208C69O208C74O201C80O268C83O268C88O255C93O314C96O314C100O911C107O933C113O946C119O926C124O960,,
code-creation,Eval,10,350863,0x381e130e93e,5, node:internal/streams/transform:1:1,0x381e130e778,~
script-source,104,node:internal/streams/transform,// Copyright Joyent\x2C Inc. and other Node contributors.\x0d\n//\x0d\n// Permission is hereby granted\x2C free of charge\x2C to any person obtaining a\x0d\n// copy of this software and associated documentation files (the\x0d\n// "Software")\x2C to deal in the Software without restriction\x2C including\x0d\n// without limitation the rights to use\x2C copy\x2C modify\x2C merge\x2C publish\x2C\x0d\n// distribute\x2C sublicense\x2C and/or sell copies of the Software\x2C and to permit\x0d\n// persons to whom the Software is furnished to do so\x2C subject to the\x0d\n// following conditions:\x0d\n//\x0d\n// The above copyright notice and this permission notice shall be included\x0d\n// in all copies or substantial portions of the Software.\x0d\n//\x0d\n// THE SOFTWARE IS PROVIDED "AS IS"\x2C WITHOUT WARRANTY OF ANY KIND\x2C EXPRESS\x0d\n// OR IMPLIED\x2C INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\x0d\n// MERCHANTABILITY\x2C FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\x0d\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM\x2C\x0d\n// DAMAGES OR OTHER LIABILITY\x2C WHETHER IN AN ACTION OF CONTRACT\x2C TORT OR\x0d\n// OTHERWISE\x2C ARISING FROM\x2C OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\x0d\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\x0d\n\x0d\n// a transform stream is a readable/writable stream where you do\x0d\n// something with the data. Sometimes it's called a "filter"\x2C\x0d\n// but that's not a great name for it\x2C since that implies a thing where\x0d\n// some bits pass through\x2C and others are simply ignored. (That would\x0d\n// be a valid example of a transform\x2C of course.)\x0d\n//\x0d\n// While the output is causally related to the input\x2C it's not a\x0d\n// necessarily symmetric or synchronous transformation. For example\x2C\x0d\n// a zlib stream might take multiple plain-text writes()\x2C and then\x0d\n// emit a single compressed chunk some time in the future.\x0d\n//\x0d\n// Here's how this works:\x0d\n//\x0d\n// The Transform stream has all the aspects of the readable and writable\x0d\n// stream classes. When you write(chunk)\x2C that calls _write(chunk\x2Ccb)\x0d\n// internally\x2C and returns false if there's a lot of pending writes\x0d\n// buffered up. When you call read()\x2C that calls _read(n) until\x0d\n// there's enough pending readable data buffered up.\x0d\n//\x0d\n// In a transform stream\x2C the written data is placed in a buffer. When\x0d\n// _read(n) is called\x2C it transforms the queued up data\x2C calling the\x0d\n// buffered _write cb's as it consumes chunks. If consuming a single\x0d\n// written chunk would result in multiple output chunks\x2C then the first\x0d\n// outputted bit calls the readcb\x2C and subsequent chunks just go into\x0d\n// the read buffer\x2C and will cause it to emit 'readable' if necessary.\x0d\n//\x0d\n// This way\x2C back-pressure is actually determined by the reading side\x2C\x0d\n// since _read has to be called to start processing a new chunk. However\x2C\x0d\n// a pathological inflate type of transform can cause excessive buffering\x0d\n// here. For example\x2C imagine a stream where every byte of input is\x0d\n// interpreted as an integer from 0-255\x2C and then results in that many\x0d\n// bytes of output. Writing the 4 bytes {ff\x2Cff\x2Cff\x2Cff} would result in\x0d\n// 1kb of data being output. In this case\x2C you could write a very small\x0d\n// amount of input\x2C and end up with a very large amount of output. In\x0d\n// such a pathological inflating mechanism\x2C there'd be no way to tell\x0d\n// the system to stop doing the transform. A single 4MB write could\x0d\n// cause the system to run out of memory.\x0d\n//\x0d\n// However\x2C even in such a pathological case\x2C only a single written chunk\x0d\n// would be consumed\x2C and then the rest would wait (un-transformed) until\x0d\n// the results of the previous transformed chunk were consumed.\x0d\n\x0d\n'use strict';\x0d\n\x0d\nconst {\x0d\n ObjectSetPrototypeOf\x2C\x0d\n Symbol\x2C\x0d\n} = primordials;\x0d\n\x0d\nmodule.exports = Transform;\x0d\nconst {\x0d\n ERR_METHOD_NOT_IMPLEMENTED\x2C\x0d\n} = require('internal/errors').codes;\x0d\nconst Duplex = require('internal/streams/duplex');\x0d\nconst { getHighWaterMark } = require('internal/streams/state');\x0d\nObjectSetPrototypeOf(Transform.prototype\x2C Duplex.prototype);\x0d\nObjectSetPrototypeOf(Transform\x2C Duplex);\x0d\n\x0d\nconst kCallback = Symbol('kCallback');\x0d\n\x0d\nfunction Transform(options) {\x0d\n if (!(this instanceof Transform))\x0d\n return new Transform(options);\x0d\n\x0d\n // TODO (ronag): This should preferably always be\x0d\n // applied but would be semver-major. Or even better;\x0d\n // make Transform a Readable with the Writable interface.\x0d\n const readableHighWaterMark = options ? getHighWaterMark(this\x2C options\x2C 'readableHighWaterMark'\x2C true) : null;\x0d\n if (readableHighWaterMark === 0) {\x0d\n // A Duplex will buffer both on the writable and readable side while\x0d\n // a Transform just wants to buffer hwm number of elements. To avoid\x0d\n // buffering twice we disable buffering on the writable side.\x0d\n options = {\x0d\n ...options\x2C\x0d\n highWaterMark: null\x2C\x0d\n readableHighWaterMark\x2C\x0d\n writableHighWaterMark: options.writableHighWaterMark || 0\x2C\x0d\n };\x0d\n }\x0d\n\x0d\n Duplex.call(this\x2C options);\x0d\n\x0d\n // We have implemented the _read method\x2C and done the other things\x0d\n // that Readable wants before the first _read call\x2C so unset the\x0d\n // sync guard flag.\x0d\n this._readableState.sync = false;\x0d\n\x0d\n this[kCallback] = null;\x0d\n\x0d\n if (options) {\x0d\n if (typeof options.transform === 'function')\x0d\n this._transform = options.transform;\x0d\n\x0d\n if (typeof options.flush === 'function')\x0d\n this._flush = options.flush;\x0d\n }\x0d\n\x0d\n // When the writable side finishes\x2C then flush out anything remaining.\x0d\n // Backwards compat. Some Transform streams incorrectly implement _final\x0d\n // instead of or in addition to _flush. By using 'prefinish' instead of\x0d\n // implementing _final we continue supporting this unfortunate use case.\x0d\n this.on('prefinish'\x2C prefinish);\x0d\n}\x0d\n\x0d\nfunction final(cb) {\x0d\n if (typeof this._flush === 'function' && !this.destroyed) {\x0d\n this._flush((er\x2C data) => {\x0d\n if (er) {\x0d\n if (cb) {\x0d\n cb(er);\x0d\n } else {\x0d\n this.destroy(er);\x0d\n }\x0d\n return;\x0d\n }\x0d\n\x0d\n if (data != null) {\x0d\n this.push(data);\x0d\n }\x0d\n this.push(null);\x0d\n if (cb) {\x0d\n cb();\x0d\n }\x0d\n });\x0d\n } else {\x0d\n this.push(null);\x0d\n if (cb) {\x0d\n cb();\x0d\n }\x0d\n }\x0d\n}\x0d\n\x0d\nfunction prefinish() {\x0d\n if (this._final !== final) {\x0d\n final.call(this);\x0d\n }\x0d\n}\x0d\n\x0d\nTransform.prototype._final = final;\x0d\n\x0d\nTransform.prototype._transform = function(chunk\x2C encoding\x2C callback) {\x0d\n throw new ERR_METHOD_NOT_IMPLEMENTED('_transform()');\x0d\n};\x0d\n\x0d\nTransform.prototype._write = function(chunk\x2C encoding\x2C callback) {\x0d\n const rState = this._readableState;\x0d\n const wState = this._writableState;\x0d\n const length = rState.length;\x0d\n\x0d\n this._transform(chunk\x2C encoding\x2C (err\x2C val) => {\x0d\n if (err) {\x0d\n callback(err);\x0d\n return;\x0d\n }\x0d\n\x0d\n if (val != null) {\x0d\n this.push(val);\x0d\n }\x0d\n\x0d\n if (rState.ended) {\x0d\n // If user has called this.push(null) we have to\x0d\n // delay the callback to properly progate the new\x0d\n // state.\x0d\n process.nextTick(callback);\x0d\n } else if (\x0d\n wState.ended || // Backwards compat.\x0d\n length === rState.length || // Backwards compat.\x0d\n rState.length < rState.highWaterMark\x0d\n ) {\x0d\n callback();\x0d\n } else {\x0d\n this[kCallback] = callback;\x0d\n }\x0d\n });\x0d\n};\x0d\n\x0d\nTransform.prototype._read = function() {\x0d\n if (this[kCallback]) {\x0d\n const callback = this[kCallback];\x0d\n this[kCallback] = null;\x0d\n callback();\x0d\n }\x0d\n};\x0d\n
code-source-info,0x381e130e93e,104,0,7325,C0O0C4O7325,,
code-creation,JS,10,351244,0x381e130ecf6,202, node:internal/streams/transform:1:1,0x381e130e8b8,~
code-source-info,0x381e130ecf6,104,0,7325,C0O0C39O3574C44O3599C49O3628C51O3643C55O3701C58O3701C63O3727C68O3668C74O3751C77O3751C81O3751C83O3817C86O3817C91O3796C97O3853C100O3884C108O3902C113O3853C118O3915C124O3915C129O3977C132O3977C136O3977C138O6190C141O6200C148O6217C152O6229C155O6239C164O6260C168O6364C171O6374C180O6391C184O7163C187O7173C196O7189C201O7324,,
code-creation,Eval,10,351410,0x381e130fa4e,5, node:internal/streams/passthrough:1:1,0x381e130f8e8,~
script-source,105,node:internal/streams/passthrough,// Copyright Joyent\x2C Inc. and other Node contributors.\x0d\n//\x0d\n// Permission is hereby granted\x2C free of charge\x2C to any person obtaining a\x0d\n// copy of this software and associated documentation files (the\x0d\n// "Software")\x2C to deal in the Software without restriction\x2C including\x0d\n// without limitation the rights to use\x2C copy\x2C modify\x2C merge\x2C publish\x2C\x0d\n// distribute\x2C sublicense\x2C and/or sell copies of the Software\x2C and to permit\x0d\n// persons to whom the Software is furnished to do so\x2C subject to the\x0d\n// following conditions:\x0d\n//\x0d\n// The above copyright notice and this permission notice shall be included\x0d\n// in all copies or substantial portions of the Software.\x0d\n//\x0d\n// THE SOFTWARE IS PROVIDED "AS IS"\x2C WITHOUT WARRANTY OF ANY KIND\x2C EXPRESS\x0d\n// OR IMPLIED\x2C INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\x0d\n// MERCHANTABILITY\x2C FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\x0d\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM\x2C\x0d\n// DAMAGES OR OTHER LIABILITY\x2C WHETHER IN AN ACTION OF CONTRACT\x2C TORT OR\x0d\n// OTHERWISE\x2C ARISING FROM\x2C OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\x0d\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\x0d\n\x0d\n// a passthrough stream.\x0d\n// basically just the most minimal sort of Transform stream.\x0d\n// Every written chunk gets output as-is.\x0d\n\x0d\n'use strict';\x0d\n\x0d\nconst {\x0d\n ObjectSetPrototypeOf\x2C\x0d\n} = primordials;\x0d\n\x0d\nmodule.exports = PassThrough;\x0d\n\x0d\nconst Transform = require('internal/streams/transform');\x0d\nObjectSetPrototypeOf(PassThrough.prototype\x2C Transform.prototype);\x0d\nObjectSetPrototypeOf(PassThrough\x2C Transform);\x0d\n\x0d\nfunction PassThrough(options) {\x0d\n if (!(this instanceof PassThrough))\x0d\n return new PassThrough(options);\x0d\n\x0d\n Transform.call(this\x2C options);\x0d\n}\x0d\n\x0d\nPassThrough.prototype._transform = function(chunk\x2C encoding\x2C cb) {\x0d\n cb(null\x2C chunk);\x0d\n};\x0d\n
code-source-info,0x381e130fa4e,105,0,1809,C0O0C4O1809,,
code-creation,JS,10,351518,0x381e130fbe6,84, node:internal/streams/passthrough:1:1,0x381e130f9c8,~
code-source-info,0x381e130fbe6,105,0,1809,C0O0C14O1316C19O1359C21O1374C25O1410C28O1410C32O1410C34O1450C37O1483C45O1504C50O1450C55O1517C61O1517C66O1717C69O1729C78O1750C83O1808,,
code-creation,Eval,10,351711,0x381e131045e,5, node:internal/streams/duplexpair:1:1,0x381e1310230,~
script-source,106,node:internal/streams/duplexpair,'use strict';\x0d\nconst {\x0d\n Symbol\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst { Duplex } = require('stream');\x0d\nconst assert = require('internal/assert');\x0d\n\x0d\nconst kCallback = Symbol('Callback');\x0d\nconst kInitOtherSide = Symbol('InitOtherSide');\x0d\n\x0d\nclass DuplexSide extends Duplex {\x0d\n #otherSide = null;\x0d\n\x0d\n constructor(options) {\x0d\n super(options);\x0d\n this[kCallback] = null;\x0d\n this.#otherSide = null;\x0d\n }\x0d\n\x0d\n [kInitOtherSide](otherSide) {\x0d\n // Ensure this can only be set once\x2C to enforce encapsulation.\x0d\n if (this.#otherSide === null) {\x0d\n this.#otherSide = otherSide;\x0d\n } else {\x0d\n assert(this.#otherSide === null);\x0d\n }\x0d\n }\x0d\n\x0d\n _read() {\x0d\n const callback = this[kCallback];\x0d\n if (callback) {\x0d\n this[kCallback] = null;\x0d\n callback();\x0d\n }\x0d\n }\x0d\n\x0d\n _write(chunk\x2C encoding\x2C callback) {\x0d\n assert(this.#otherSide !== null);\x0d\n assert(this.#otherSide[kCallback] === null);\x0d\n if (chunk.length === 0) {\x0d\n process.nextTick(callback);\x0d\n } else {\x0d\n this.#otherSide.push(chunk);\x0d\n this.#otherSide[kCallback] = callback;\x0d\n }\x0d\n }\x0d\n\x0d\n _final(callback) {\x0d\n this.#otherSide.on('end'\x2C callback);\x0d\n this.#otherSide.push(null);\x0d\n }\x0d\n}\x0d\n\x0d\nfunction duplexPair(options) {\x0d\n const side0 = new DuplexSide(options);\x0d\n const side1 = new DuplexSide(options);\x0d\n side0[kInitOtherSide](side1);\x0d\n side1[kInitOtherSide](side0);\x0d\n return [ side0\x2C side1 ];\x0d\n}\x0d\nmodule.exports = duplexPair;\x0d\n
code-source-info,0x381e131045e,106,0,1435,C0O0C4O1435,,
code-creation,JS,10,351808,0x381e1310a36,155, node:internal/streams/duplexpair:1:1,0x381e13103d8,~
code-source-info,0x381e1310a36,106,0,1435,C0O0C26O26C31O74C34O74C39O63C44O109C47O109C51O109C53O158C56O158C60O158C62O202C65O202C69O202C88O255C96O404C145O230C147O1405C149O1420C154O1434,,
code-creation,JS,10,351844,0x381e1310b76,11,<instance_members_initializer> node:internal/streams/duplexpair:12:1,0x381e1310670,~
code-source-info,0x381e1310b76,106,230,1188,C3O280C10O1188,,
code-creation,Eval,10,352891,0x381e1317e96,5, node:internal/stream_base_commons:1:1,0x381e1317b50,~
script-source,107,node:internal/stream_base_commons,'use strict';\x0d\n\x0d\nconst {\x0d\n Array\x2C\x0d\n Symbol\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst { Buffer } = require('buffer');\x0d\nconst { FastBuffer } = require('internal/buffer');\x0d\nconst {\x0d\n WriteWrap\x2C\x0d\n kReadBytesOrError\x2C\x0d\n kArrayBufferOffset\x2C\x0d\n kBytesWritten\x2C\x0d\n kLastWriteWasAsync\x2C\x0d\n streamBaseState\x2C\x0d\n} = internalBinding('stream_wrap');\x0d\nconst { UV_EOF } = internalBinding('uv');\x0d\nconst {\x0d\n ErrnoException\x2C\x0d\n} = require('internal/errors');\x0d\nconst { owner_symbol } = require('internal/async_hooks').symbols;\x0d\nconst {\x0d\n kTimeout\x2C\x0d\n setUnrefTimeout\x2C\x0d\n getTimerDuration\x2C\x0d\n} = require('internal/timers');\x0d\nconst { isUint8Array } = require('internal/util/types');\x0d\nconst { clearTimeout } = require('timers');\x0d\nconst { validateFunction } = require('internal/validators');\x0d\n\x0d\nconst kMaybeDestroy = Symbol('kMaybeDestroy');\x0d\nconst kUpdateTimer = Symbol('kUpdateTimer');\x0d\nconst kAfterAsyncWrite = Symbol('kAfterAsyncWrite');\x0d\nconst kHandle = Symbol('kHandle');\x0d\nconst kBoundSession = Symbol('kBoundSession');\x0d\nconst kSession = Symbol('kSession');\x0d\n\x0d\nlet debug = require('internal/util/debuglog').debuglog('stream'\x2C (fn) => {\x0d\n debug = fn;\x0d\n});\x0d\nconst kBuffer = Symbol('kBuffer');\x0d\nconst kBufferGen = Symbol('kBufferGen');\x0d\nconst kBufferCb = Symbol('kBufferCb');\x0d\n\x0d\nfunction handleWriteReq(req\x2C data\x2C encoding) {\x0d\n const { handle } = req;\x0d\n\x0d\n switch (encoding) {\x0d\n case 'buffer':\x0d\n {\x0d\n const ret = handle.writeBuffer(req\x2C data);\x0d\n if (streamBaseState[kLastWriteWasAsync])\x0d\n req.buffer = data;\x0d\n return ret;\x0d\n }\x0d\n case 'latin1':\x0d\n case 'binary':\x0d\n return handle.writeLatin1String(req\x2C data);\x0d\n case 'utf8':\x0d\n case 'utf-8':\x0d\n return handle.writeUtf8String(req\x2C data);\x0d\n case 'ascii':\x0d\n return handle.writeAsciiString(req\x2C data);\x0d\n case 'ucs2':\x0d\n case 'ucs-2':\x0d\n case 'utf16le':\x0d\n case 'utf-16le':\x0d\n return handle.writeUcs2String(req\x2C data);\x0d\n default:\x0d\n {\x0d\n const buffer = Buffer.from(data\x2C encoding);\x0d\n const ret = handle.writeBuffer(req\x2C buffer);\x0d\n if (streamBaseState[kLastWriteWasAsync])\x0d\n req.buffer = buffer;\x0d\n return ret;\x0d\n }\x0d\n }\x0d\n}\x0d\n\x0d\nfunction onWriteComplete(status) {\x0d\n debug('onWriteComplete'\x2C status\x2C this.error);\x0d\n\x0d\n const stream = this.handle[owner_symbol];\x0d\n\x0d\n if (stream.destroyed) {\x0d\n if (typeof this.callback === 'function')\x0d\n this.callback(null);\x0d\n return;\x0d\n }\x0d\n\x0d\n // TODO (ronag): This should be moved before if(stream.destroyed)\x0d\n // in order to avoid swallowing error.\x0d\n if (status < 0) {\x0d\n const ex = new ErrnoException(status\x2C 'write'\x2C this.error);\x0d\n if (typeof this.callback === 'function')\x0d\n this.callback(ex);\x0d\n else\x0d\n stream.destroy(ex);\x0d\n return;\x0d\n }\x0d\n\x0d\n stream[kUpdateTimer]();\x0d\n stream[kAfterAsyncWrite](this);\x0d\n\x0d\n if (typeof this.callback === 'function')\x0d\n this.callback(null);\x0d\n}\x0d\n\x0d\nfunction createWriteWrap(handle\x2C callback) {\x0d\n const req = new WriteWrap();\x0d\n\x0d\n req.handle = handle;\x0d\n req.oncomplete = onWriteComplete;\x0d\n req.async = false;\x0d\n req.bytes = 0;\x0d\n req.buffer = null;\x0d\n req.callback = callback;\x0d\n\x0d\n return req;\x0d\n}\x0d\n\x0d\nfunction writevGeneric(self\x2C data\x2C cb) {\x0d\n const req = createWriteWrap(self[kHandle]\x2C cb);\x0d\n const allBuffers = data.allBuffers;\x0d\n let chunks;\x0d\n if (allBuffers) {\x0d\n chunks = data;\x0d\n for (let i = 0; i < data.length; i++)\x0d\n data[i] = data[i].chunk;\x0d\n } else {\x0d\n chunks = new Array(data.length << 1);\x0d\n for (let i = 0; i < data.length; i++) {\x0d\n const entry = data[i];\x0d\n chunks[i * 2] = entry.chunk;\x0d\n chunks[i * 2 + 1] = entry.encoding;\x0d\n }\x0d\n }\x0d\n const err = req.handle.writev(req\x2C chunks\x2C allBuffers);\x0d\n\x0d\n // Retain chunks\x0d\n if (err === 0) req._chunks = chunks;\x0d\n\x0d\n afterWriteDispatched(req\x2C err\x2C cb);\x0d\n return req;\x0d\n}\x0d\n\x0d\nfunction writeGeneric(self\x2C data\x2C encoding\x2C cb) {\x0d\n const req = createWriteWrap(self[kHandle]\x2C cb);\x0d\n const err = handleWriteReq(req\x2C data\x2C encoding);\x0d\n\x0d\n afterWriteDispatched(req\x2C err\x2C cb);\x0d\n return req;\x0d\n}\x0d\n\x0d\nfunction afterWriteDispatched(req\x2C err\x2C cb) {\x0d\n req.bytes = streamBaseState[kBytesWritten];\x0d\n req.async = !!streamBaseState[kLastWriteWasAsync];\x0d\n\x0d\n if (err !== 0)\x0d\n return cb(new ErrnoException(err\x2C 'write'\x2C req.error));\x0d\n\x0d\n if (!req.async && typeof req.callback === 'function') {\x0d\n req.callback();\x0d\n }\x0d\n}\x0d\n\x0d\nfunction onStreamRead(arrayBuffer) {\x0d\n const nread = streamBaseState[kReadBytesOrError];\x0d\n\x0d\n const handle = this;\x0d\n const stream = this[owner_symbol];\x0d\n\x0d\n stream[kUpdateTimer]();\x0d\n\x0d\n if (nread > 0 && !stream.destroyed) {\x0d\n let ret;\x0d\n let result;\x0d\n const userBuf = stream[kBuffer];\x0d\n if (userBuf) {\x0d\n result = (stream[kBufferCb](nread\x2C userBuf) !== false);\x0d\n const bufGen = stream[kBufferGen];\x0d\n if (bufGen !== null) {\x0d\n const nextBuf = bufGen();\x0d\n if (isUint8Array(nextBuf))\x0d\n stream[kBuffer] = ret = nextBuf;\x0d\n }\x0d\n } else {\x0d\n const offset = streamBaseState[kArrayBufferOffset];\x0d\n const buf = new FastBuffer(arrayBuffer\x2C offset\x2C nread);\x0d\n result = stream.push(buf);\x0d\n }\x0d\n if (!result) {\x0d\n handle.reading = false;\x0d\n if (!stream.destroyed) {\x0d\n const err = handle.readStop();\x0d\n if (err)\x0d\n stream.destroy(new ErrnoException(err\x2C 'read'));\x0d\n }\x0d\n }\x0d\n\x0d\n return ret;\x0d\n }\x0d\n\x0d\n if (nread === 0) {\x0d\n return;\x0d\n }\x0d\n\x0d\n // After seeing EOF\x2C most streams will be closed permanently\x2C\x0d\n // and will not deliver any more read events after this point.\x0d\n // (equivalently\x2C it should have called readStop on itself already).\x0d\n // Some streams may be reset and explicitly started again with a call\x0d\n // to readStart\x2C such as TTY.\x0d\n\x0d\n if (nread !== UV_EOF) {\x0d\n // CallJSOnreadMethod expects the return value to be a buffer.\x0d\n // Ref: https://github.com/nodejs/node/pull/34375\x0d\n stream.destroy(new ErrnoException(nread\x2C 'read'));\x0d\n return;\x0d\n }\x0d\n\x0d\n // Defer this until we actually emit end\x0d\n if (stream._readableState.endEmitted) {\x0d\n if (stream[kMaybeDestroy])\x0d\n stream[kMaybeDestroy]();\x0d\n } else {\x0d\n if (stream[kMaybeDestroy])\x0d\n stream.on('end'\x2C stream[kMaybeDestroy]);\x0d\n\x0d\n // Push a null to signal the end of data.\x0d\n // Do it before `maybeDestroy` for correct order of events:\x0d\n // `end` -> `close`\x0d\n stream.push(null);\x0d\n stream.read(0);\x0d\n }\x0d\n}\x0d\n\x0d\nfunction setStreamTimeout(msecs\x2C callback) {\x0d\n if (this.destroyed)\x0d\n return this;\x0d\n\x0d\n this.timeout = msecs;\x0d\n\x0d\n // Type checking identical to timers.enroll()\x0d\n msecs = getTimerDuration(msecs\x2C 'msecs');\x0d\n\x0d\n // Attempt to clear an existing timer in both cases -\x0d\n // even if it will be rescheduled we don't want to leak an existing timer.\x0d\n clearTimeout(this[kTimeout]);\x0d\n\x0d\n if (msecs === 0) {\x0d\n if (callback !== undefined) {\x0d\n validateFunction(callback\x2C 'callback');\x0d\n this.removeListener('timeout'\x2C callback);\x0d\n }\x0d\n } else {\x0d\n this[kTimeout] = setUnrefTimeout(this._onTimeout.bind(this)\x2C msecs);\x0d\n if (this[kSession]) this[kSession][kUpdateTimer]();\x0d\n if (this[kBoundSession]) this[kBoundSession][kUpdateTimer]();\x0d\n\x0d\n if (callback !== undefined) {\x0d\n validateFunction(callback\x2C 'callback');\x0d\n this.once('timeout'\x2C callback);\x0d\n }\x0d\n }\x0d\n return this;\x0d\n}\x0d\n\x0d\nmodule.exports = {\x0d\n writevGeneric\x2C\x0d\n writeGeneric\x2C\x0d\n onStreamRead\x2C\x0d\n kAfterAsyncWrite\x2C\x0d\n kMaybeDestroy\x2C\x0d\n kUpdateTimer\x2C\x0d\n kHandle\x2C\x0d\n kSession\x2C\x0d\n setStreamTimeout\x2C\x0d\n kBuffer\x2C\x0d\n kBufferCb\x2C\x0d\n kBufferGen\x2C\x0d\n};\x0d\n
code-source-info,0x381e1317e96,107,0,7452,C0O0C4O7452,,
code-creation,JS,10,353643,0x381e1318486,526, node:internal/stream_base_commons:1:1,0x381e1317e10,~
code-source-info,0x381e1318486,107,0,7452,C0O0C133O28C139O38C144O86C147O86C152O75C158O129C161O129C166O114C172O291C175O291C180O169C186O183C192O205C198O228C204O246C210O269C216O343C219O343C224O332C230O399C233O399C238O378C244O453C247O453C252O484C257O436C263O562C266O562C271O506C277O519C283O539C289O616C292O616C297O599C303O674C306O674C311O657C317O723C320O723C325O702C331O780C334O780C338O780C340O827C343O827C347O827C349O877C352O877C356O877C358O922C361O922C365O922C367O964C370O964C374O964C376O1007C379O1007C383O1007C385O1042C388O1042C393O1075C406O1076C412O1042C414O1142C417O1142C421O1142C423O1181C426O1181C430O1181C432O1222C435O1222C439O1222C441O7233C448O7255C454O7273C460O7290C466O7307C472O7328C478O7346C484O7363C490O7375C496O7388C502O7409C508O7421C514O7435C520O7248C525O7451,,
code-creation,Eval,10,354715,0x381e131a166,5, node:diagnostics_channel:1:1,0x381e1319d20,~
script-source,108,node:diagnostics_channel,'use strict';\x0d\n\x0d\nconst {\x0d\n ArrayPrototypeAt\x2C\x0d\n ArrayPrototypeIndexOf\x2C\x0d\n ArrayPrototypePush\x2C\x0d\n ArrayPrototypeSplice\x2C\x0d\n SafeFinalizationRegistry\x2C\x0d\n ObjectDefineProperty\x2C\x0d\n ObjectGetPrototypeOf\x2C\x0d\n ObjectSetPrototypeOf\x2C\x0d\n Promise\x2C\x0d\n PromisePrototypeThen\x2C\x0d\n PromiseResolve\x2C\x0d\n PromiseReject\x2C\x0d\n ReflectApply\x2C\x0d\n SafeMap\x2C\x0d\n SymbolHasInstance\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst {\x0d\n codes: {\x0d\n ERR_INVALID_ARG_TYPE\x2C\x0d\n }\x2C\x0d\n} = require('internal/errors');\x0d\nconst {\x0d\n validateFunction\x2C\x0d\n} = require('internal/validators');\x0d\n\x0d\nconst { triggerUncaughtException } = internalBinding('errors');\x0d\n\x0d\nconst { WeakReference } = require('internal/util');\x0d\n\x0d\n// Can't delete when weakref count reaches 0 as it could increment again.\x0d\n// Only GC can be used as a valid time to clean up the channels map.\x0d\nclass WeakRefMap extends SafeMap {\x0d\n #finalizers = new SafeFinalizationRegistry((key) => {\x0d\n this.delete(key);\x0d\n });\x0d\n\x0d\n set(key\x2C value) {\x0d\n this.#finalizers.register(value\x2C key);\x0d\n return super.set(key\x2C new WeakReference(value));\x0d\n }\x0d\n\x0d\n get(key) {\x0d\n return super.get(key)?.get();\x0d\n }\x0d\n\x0d\n incRef(key) {\x0d\n return super.get(key)?.incRef();\x0d\n }\x0d\n\x0d\n decRef(key) {\x0d\n return super.get(key)?.decRef();\x0d\n }\x0d\n}\x0d\n\x0d\nfunction markActive(channel) {\x0d\n // eslint-disable-next-line no-use-before-define\x0d\n ObjectSetPrototypeOf(channel\x2C ActiveChannel.prototype);\x0d\n channel._subscribers = [];\x0d\n channel._stores = new SafeMap();\x0d\n}\x0d\n\x0d\nfunction maybeMarkInactive(channel) {\x0d\n // When there are no more active subscribers or bound\x2C restore to fast prototype.\x0d\n if (!channel._subscribers.length && !channel._stores.size) {\x0d\n // eslint-disable-next-line no-use-before-define\x0d\n ObjectSetPrototypeOf(channel\x2C Channel.prototype);\x0d\n channel._subscribers = undefined;\x0d\n channel._stores = undefined;\x0d\n }\x0d\n}\x0d\n\x0d\nfunction defaultTransform(data) {\x0d\n return data;\x0d\n}\x0d\n\x0d\nfunction wrapStoreRun(store\x2C data\x2C next\x2C transform = defaultTransform) {\x0d\n return () => {\x0d\n let context;\x0d\n try {\x0d\n context = transform(data);\x0d\n } catch (err) {\x0d\n process.nextTick(() => {\x0d\n triggerUncaughtException(err\x2C false);\x0d\n });\x0d\n return next();\x0d\n }\x0d\n\x0d\n return store.run(context\x2C next);\x0d\n };\x0d\n}\x0d\n\x0d\n// TODO(qard): should there be a C++ channel interface?\x0d\nclass ActiveChannel {\x0d\n subscribe(subscription) {\x0d\n validateFunction(subscription\x2C 'subscription');\x0d\n ArrayPrototypePush(this._subscribers\x2C subscription);\x0d\n channels.incRef(this.name);\x0d\n }\x0d\n\x0d\n unsubscribe(subscription) {\x0d\n const index = ArrayPrototypeIndexOf(this._subscribers\x2C subscription);\x0d\n if (index === -1) return false;\x0d\n\x0d\n ArrayPrototypeSplice(this._subscribers\x2C index\x2C 1);\x0d\n\x0d\n channels.decRef(this.name);\x0d\n maybeMarkInactive(this);\x0d\n\x0d\n return true;\x0d\n }\x0d\n\x0d\n bindStore(store\x2C transform) {\x0d\n const replacing = this._stores.has(store);\x0d\n if (!replacing) channels.incRef(this.name);\x0d\n this._stores.set(store\x2C transform);\x0d\n }\x0d\n\x0d\n unbindStore(store) {\x0d\n if (!this._stores.has(store)) {\x0d\n return false;\x0d\n }\x0d\n\x0d\n this._stores.delete(store);\x0d\n\x0d\n channels.decRef(this.name);\x0d\n maybeMarkInactive(this);\x0d\n\x0d\n return true;\x0d\n }\x0d\n\x0d\n get hasSubscribers() {\x0d\n return true;\x0d\n }\x0d\n\x0d\n publish(data) {\x0d\n for (let i = 0; i < (this._subscribers?.length || 0); i++) {\x0d\n try {\x0d\n const onMessage = this._subscribers[i];\x0d\n onMessage(data\x2C this.name);\x0d\n } catch (err) {\x0d\n process.nextTick(() => {\x0d\n triggerUncaughtException(err\x2C false);\x0d\n });\x0d\n }\x0d\n }\x0d\n }\x0d\n\x0d\n runStores(data\x2C fn\x2C thisArg\x2C ...args) {\x0d\n let run = () => {\x0d\n this.publish(data);\x0d\n return ReflectApply(fn\x2C thisArg\x2C args);\x0d\n };\x0d\n\x0d\n for (const entry of this._stores.entries()) {\x0d\n const store = entry[0];\x0d\n const transform = entry[1];\x0d\n run = wrapStoreRun(store\x2C data\x2C run\x2C transform);\x0d\n }\x0d\n\x0d\n return run();\x0d\n }\x0d\n}\x0d\n\x0d\nclass Channel {\x0d\n constructor(name) {\x0d\n this._subscribers = undefined;\x0d\n this._stores = undefined;\x0d\n this.name = name;\x0d\n\x0d\n channels.set(name\x2C this);\x0d\n }\x0d\n\x0d\n static [SymbolHasInstance](instance) {\x0d\n const prototype = ObjectGetPrototypeOf(instance);\x0d\n return prototype === Channel.prototype ||\x0d\n prototype === ActiveChannel.prototype;\x0d\n }\x0d\n\x0d\n subscribe(subscription) {\x0d\n markActive(this);\x0d\n this.subscribe(subscription);\x0d\n }\x0d\n\x0d\n unsubscribe() {\x0d\n return false;\x0d\n }\x0d\n\x0d\n bindStore(store\x2C transform) {\x0d\n markActive(this);\x0d\n this.bindStore(store\x2C transform);\x0d\n }\x0d\n\x0d\n unbindStore() {\x0d\n return false;\x0d\n }\x0d\n\x0d\n get hasSubscribers() {\x0d\n return false;\x0d\n }\x0d\n\x0d\n publish() {}\x0d\n\x0d\n runStores(data\x2C fn\x2C thisArg\x2C ...args) {\x0d\n return ReflectApply(fn\x2C thisArg\x2C args);\x0d\n }\x0d\n}\x0d\n\x0d\nconst channels = new WeakRefMap();\x0d\n\x0d\nfunction channel(name) {\x0d\n const channel = channels.get(name);\x0d\n if (channel) return channel;\x0d\n\x0d\n if (typeof name !== 'string' && typeof name !== 'symbol') {\x0d\n throw new ERR_INVALID_ARG_TYPE('channel'\x2C ['string'\x2C 'symbol']\x2C name);\x0d\n }\x0d\n\x0d\n return new Channel(name);\x0d\n}\x0d\n\x0d\nfunction subscribe(name\x2C subscription) {\x0d\n return channel(name).subscribe(subscription);\x0d\n}\x0d\n\x0d\nfunction unsubscribe(name\x2C subscription) {\x0d\n return channel(name).unsubscribe(subscription);\x0d\n}\x0d\n\x0d\nfunction hasSubscribers(name) {\x0d\n const channel = channels.get(name);\x0d\n if (!channel) return false;\x0d\n\x0d\n return channel.hasSubscribers;\x0d\n}\x0d\n\x0d\nconst traceEvents = [\x0d\n 'start'\x2C\x0d\n 'end'\x2C\x0d\n 'asyncStart'\x2C\x0d\n 'asyncEnd'\x2C\x0d\n 'error'\x2C\x0d\n];\x0d\n\x0d\nfunction assertChannel(value\x2C name) {\x0d\n if (!(value instanceof Channel)) {\x0d\n throw new ERR_INVALID_ARG_TYPE(name\x2C ['Channel']\x2C value);\x0d\n }\x0d\n}\x0d\n\x0d\nfunction tracingChannelFrom(nameOrChannels\x2C name) {\x0d\n if (typeof nameOrChannels === 'string') {\x0d\n return channel(`tracing:${nameOrChannels}:${name}`);\x0d\n }\x0d\n\x0d\n if (typeof nameOrChannels === 'object' && nameOrChannels !== null) {\x0d\n const channel = nameOrChannels[name];\x0d\n assertChannel(channel\x2C `nameOrChannels.${name}`);\x0d\n return channel;\x0d\n }\x0d\n\x0d\n throw new ERR_INVALID_ARG_TYPE('nameOrChannels'\x2C\x0d\n ['string'\x2C 'object'\x2C 'TracingChannel']\x2C\x0d\n nameOrChannels);\x0d\n}\x0d\n\x0d\nclass TracingChannel {\x0d\n constructor(nameOrChannels) {\x0d\n for (const eventName of traceEvents) {\x0d\n ObjectDefineProperty(this\x2C eventName\x2C {\x0d\n __proto__: null\x2C\x0d\n value: tracingChannelFrom(nameOrChannels\x2C eventName)\x2C\x0d\n });\x0d\n }\x0d\n }\x0d\n\x0d\n get hasSubscribers() {\x0d\n return this.start.hasSubscribers ||\x0d\n this.end.hasSubscribers ||\x0d\n this.asyncStart.hasSubscribers ||\x0d\n this.asyncEnd.hasSubscribers ||\x0d\n this.error.hasSubscribers;\x0d\n }\x0d\n\x0d\n subscribe(handlers) {\x0d\n for (const name of traceEvents) {\x0d\n if (!handlers[name]) continue;\x0d\n\x0d\n this[name]?.subscribe(handlers[name]);\x0d\n }\x0d\n }\x0d\n\x0d\n unsubscribe(handlers) {\x0d\n let done = true;\x0d\n\x0d\n for (const name of traceEvents) {\x0d\n if (!handlers[name]) continue;\x0d\n\x0d\n if (!this[name]?.unsubscribe(handlers[name])) {\x0d\n done = false;\x0d\n }\x0d\n }\x0d\n\x0d\n return done;\x0d\n }\x0d\n\x0d\n traceSync(fn\x2C context = {}\x2C thisArg\x2C ...args) {\x0d\n if (!this.hasSubscribers) {\x0d\n return ReflectApply(fn\x2C thisArg\x2C args);\x0d\n }\x0d\n\x0d\n const { start\x2C end\x2C error } = this;\x0d\n\x0d\n return start.runStores(context\x2C () => {\x0d\n try {\x0d\n const result = ReflectApply(fn\x2C thisArg\x2C args);\x0d\n context.result = result;\x0d\n return result;\x0d\n } catch (err) {\x0d\n context.error = err;\x0d\n error.publish(context);\x0d\n throw err;\x0d\n } finally {\x0d\n end.publish(context);\x0d\n }\x0d\n });\x0d\n }\x0d\n\x0d\n tracePromise(fn\x2C context = {}\x2C thisArg\x2C ...args) {\x0d\n if (!this.hasSubscribers) {\x0d\n return ReflectApply(fn\x2C thisArg\x2C args);\x0d\n }\x0d\n\x0d\n const { start\x2C end\x2C asyncStart\x2C asyncEnd\x2C error } = this;\x0d\n\x0d\n function reject(err) {\x0d\n context.error = err;\x0d\n error.publish(context);\x0d\n asyncStart.publish(context);\x0d\n // TODO: Is there a way to have asyncEnd _after_ the continuation?\x0d\n asyncEnd.publish(context);\x0d\n return PromiseReject(err);\x0d\n }\x0d\n\x0d\n function resolve(result) {\x0d\n context.result = result;\x0d\n asyncStart.publish(context);\x0d\n // TODO: Is there a way to have asyncEnd _after_ the continuation?\x0d\n asyncEnd.publish(context);\x0d\n return result;\x0d\n }\x0d\n\x0d\n return start.runStores(context\x2C () => {\x0d\n try {\x0d\n let promise = ReflectApply(fn\x2C thisArg\x2C args);\x0d\n // Convert thenables to native promises\x0d\n if (!(promise instanceof Promise)) {\x0d\n promise = PromiseResolve(promise);\x0d\n }\x0d\n return PromisePrototypeThen(promise\x2C resolve\x2C reject);\x0d\n } catch (err) {\x0d\n context.error = err;\x0d\n error.publish(context);\x0d\n throw err;\x0d\n } finally {\x0d\n end.publish(context);\x0d\n }\x0d\n });\x0d\n }\x0d\n\x0d\n traceCallback(fn\x2C position = -1\x2C context = {}\x2C thisArg\x2C ...args) {\x0d\n if (!this.hasSubscribers) {\x0d\n return ReflectApply(fn\x2C thisArg\x2C args);\x0d\n }\x0d\n\x0d\n const { start\x2C end\x2C asyncStart\x2C asyncEnd\x2C error } = this;\x0d\n\x0d\n function wrappedCallback(err\x2C res) {\x0d\n if (err) {\x0d\n context.error = err;\x0d\n error.publish(context);\x0d\n } else {\x0d\n context.result = res;\x0d\n }\x0d\n\x0d\n // Using runStores here enables manual context failure recovery\x0d\n asyncStart.runStores(context\x2C () => {\x0d\n try {\x0d\n return ReflectApply(callback\x2C this\x2C arguments);\x0d\n } finally {\x0d\n asyncEnd.publish(context);\x0d\n }\x0d\n });\x0d\n }\x0d\n\x0d\n const callback = ArrayPrototypeAt(args\x2C position);\x0d\n validateFunction(callback\x2C 'callback');\x0d\n ArrayPrototypeSplice(args\x2C position\x2C 1\x2C wrappedCallback);\x0d\n\x0d\n return start.runStores(context\x2C () => {\x0d\n try {\x0d\n return ReflectApply(fn\x2C thisArg\x2C args);\x0d\n } catch (err) {\x0d\n context.error = err;\x0d\n error.publish(context);\x0d\n throw err;\x0d\n } finally {\x0d\n end.publish(context);\x0d\n }\x0d\n });\x0d\n }\x0d\n}\x0d\n\x0d\nfunction tracingChannel(nameOrChannels) {\x0d\n return new TracingChannel(nameOrChannels);\x0d\n}\x0d\n\x0d\nmodule.exports = {\x0d\n channel\x2C\x0d\n hasSubscribers\x2C\x0d\n subscribe\x2C\x0d\n tracingChannel\x2C\x0d\n unsubscribe\x2C\x0d\n Channel\x2C\x0d\n};\x0d\n
code-source-info,0x381e131a166,108,0,10199,C0O0C4O10199,,
code-creation,JS,10,355701,0x381e131bc06,637, node:diagnostics_channel:1:1,0x381e131a0e0,~
code-source-info,0x381e131bc06,108,0,10199,C0O0C140O28C146O49C152O75C158O98C164O123C170O152C176O177C182O202C188O227C194O239C200O264C206O283C212O301C218O318C224O330C229O428C232O428C237O388C242O395C248O491C251O491C256O468C262O563C265O563C270O534C276O619C279O619C284O601C312O818C369O793C424O2280C442O4088C518O3908C520O4751C522O4751C527O4751C529O5411C533O5411C586O6179C588O10083C595O10105C601O10117C607O10136C613O10150C619O10169C625O10185C631O10098C636O10198,,
code-creation,JS,10,355806,0x381e131bffe,40,<instance_members_initializer> node:diagnostics_channel:36:1,0x381e131a698,~
code-source-info,0x381e131bffe,108,793,1223,C0O793C14O845C28O845C39O1223,,
code-creation,JS,10,356150,0x381e131d6d6,52,WeakRefMap node:diagnostics_channel:36:1,0x381e131a508,~
code-source-info,0x381e131d6d6,108,793,793,C0O793C5O793C29O793C51O793,,
code-creation,JS,10,356301,0x381e131ea46,70,channel node:diagnostics_channel:214:17,0x381e131a2d8,~
code-source-info,0x381e131ea46,108,4788,5047,C0O4816C5O4825C10O4825C16O4839C18O4852C20O4867C21O4873C33O4938C51O4944C56O4938C57O5019C64O5026C69O5044,,
code-creation,JS,10,356408,0x381e131eb76,34,get node:diagnostics_channel:46:6,0x381e131a5a8,~
code-source-info,0x381e131eb76,108,1049,1096,C0O1062C2O1075C13O1075C21O1083C26O1085C33O1091,,
code-creation,JS,10,356494,0x381e131ecc6,36,Channel node:diagnostics_channel:169:14,0x381e131a978,~
code-source-info,0x381e131ecc6,108,3938,4074,C0O3952C1O3970C5O3988C6O4001C10O4019C12O4029C16O4044C23O4053C28O4053C35O4073,,
code-creation,JS,10,356592,0x381e131ef46,51,set node:diagnostics_channel:41:6,0x381e131a558,~
code-source-info,0x381e131ef46,108,923,1040,C0O943C2O948C6O960C11O960C17O987C19O1000C28O1013C33O1009C45O1000C50O1035,,
code-creation,JS,10,356675,0x381e131f0ae,37,WeakReference node:internal/util:844:14,0x39e2db49b40,~
code-source-info,0x381e131f0ae,16,24129,24187,C0O24129C14O24145C21O24162C26O24158C31O24156C36O24186,,
code-creation,JS,10,356770,0x381e131f3ee,13,tracingChannel node:diagnostics_channel:417:24,0x381e131a4b8,~
code-source-info,0x381e131f3ee,108,10012,10079,C0O10034C7O10041C12O10076,,
code-creation,JS,10,356863,0x381e131f55e,152,TracingChannel node:diagnostics_channel:271:14,0x381e131ac70,~
code-source-info,0x381e131f55e,108,6216,6437,C0O6264C22O6251C50O6251C53O6286C58O6313C66O6368C81O6286C86O6240C151O6436,,
code-creation,JS,10,356974,0x381e131f7ce,98,tracingChannelFrom node:diagnostics_channel:254:28,0x381e131a468,~
code-source-info,0x381e131f7ce,108,5663,6175,C0O5691C6O5738C14O5764C27O5782C32O5745C36O5790C37O5801C47O5891C49O5905C53O5918C61O5959C66O5918C71O5973C73O5988C74O5999C92O6005C97O5999,,
code-creation,Eval,10,358009,0x381e1320e16,5, node:internal/perf/observe:1:1,0x381e13207a8,~
script-source,109,node:internal/perf/observe,'use strict';\x0d\n\x0d\nconst {\x0d\n ArrayFrom\x2C\x0d\n ArrayIsArray\x2C\x0d\n ArrayPrototypeFilter\x2C\x0d\n ArrayPrototypeIncludes\x2C\x0d\n ArrayPrototypePush\x2C\x0d\n ArrayPrototypePushApply\x2C\x0d\n ArrayPrototypeSlice\x2C\x0d\n ArrayPrototypeSort\x2C\x0d\n Error\x2C\x0d\n MathMax\x2C\x0d\n MathMin\x2C\x0d\n ObjectDefineProperties\x2C\x0d\n ObjectFreeze\x2C\x0d\n ObjectKeys\x2C\x0d\n SafeMap\x2C\x0d\n SafeSet\x2C\x0d\n Symbol\x2C\x0d\n SymbolToStringTag\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst {\x0d\n constants: {\x0d\n NODE_PERFORMANCE_ENTRY_TYPE_GC\x2C\x0d\n NODE_PERFORMANCE_ENTRY_TYPE_HTTP2\x2C\x0d\n NODE_PERFORMANCE_ENTRY_TYPE_HTTP\x2C\x0d\n NODE_PERFORMANCE_ENTRY_TYPE_NET\x2C\x0d\n NODE_PERFORMANCE_ENTRY_TYPE_DNS\x2C\x0d\n }\x2C\x0d\n installGarbageCollectionTracking\x2C\x0d\n observerCounts\x2C\x0d\n removeGarbageCollectionTracking\x2C\x0d\n setupObservers\x2C\x0d\n} = internalBinding('performance');\x0d\n\x0d\nconst {\x0d\n isPerformanceEntry\x2C\x0d\n createPerformanceNodeEntry\x2C\x0d\n} = require('internal/perf/performance_entry');\x0d\n\x0d\nconst {\x0d\n codes: {\x0d\n ERR_ILLEGAL_CONSTRUCTOR\x2C\x0d\n ERR_INVALID_ARG_VALUE\x2C\x0d\n ERR_INVALID_ARG_TYPE\x2C\x0d\n ERR_MISSING_ARGS\x2C\x0d\n }\x2C\x0d\n} = require('internal/errors');\x0d\n\x0d\nconst {\x0d\n validateFunction\x2C\x0d\n validateObject\x2C\x0d\n validateInternalField\x2C\x0d\n} = require('internal/validators');\x0d\n\x0d\nconst {\x0d\n customInspectSymbol: kInspect\x2C\x0d\n deprecate\x2C\x0d\n lazyDOMException\x2C\x0d\n kEmptyObject\x2C\x0d\n kEnumerableProperty\x2C\x0d\n} = require('internal/util');\x0d\n\x0d\nconst {\x0d\n setImmediate\x2C\x0d\n} = require('timers');\x0d\n\x0d\nconst { inspect } = require('util');\x0d\n\x0d\nconst { now } = require('internal/perf/utils');\x0d\n\x0d\nconst kBuffer = Symbol('kBuffer');\x0d\nconst kDispatch = Symbol('kDispatch');\x0d\nconst kMaybeBuffer = Symbol('kMaybeBuffer');\x0d\nconst kDeprecatedFields = Symbol('kDeprecatedFields');\x0d\n\x0d\nconst kDeprecationMessage =\x0d\n 'Custom PerformanceEntry accessors are deprecated. ' +\x0d\n 'Please use the detail property.';\x0d\n\x0d\nconst kTypeSingle = 0;\x0d\nconst kTypeMultiple = 1;\x0d\n\x0d\nlet gcTrackingInstalled = false;\x0d\n\x0d\nconst kSupportedEntryTypes = ObjectFreeze([\x0d\n 'dns'\x2C\x0d\n 'function'\x2C\x0d\n 'gc'\x2C\x0d\n 'http'\x2C\x0d\n 'http2'\x2C\x0d\n 'mark'\x2C\x0d\n 'measure'\x2C\x0d\n 'net'\x2C\x0d\n 'resource'\x2C\x0d\n]);\x0d\n\x0d\n// Performance timeline entry Buffers\x0d\nlet markEntryBuffer = [];\x0d\nlet measureEntryBuffer = [];\x0d\nlet resourceTimingBuffer = [];\x0d\nlet resourceTimingSecondaryBuffer = [];\x0d\nconst kPerformanceEntryBufferWarnSize = 1e6;\x0d\n// https://www.w3.org/TR/timing-entrytypes-registry/#registry\x0d\n// Default buffer limit for resource timing entries.\x0d\nlet resourceTimingBufferSizeLimit = 250;\x0d\nlet dispatchBufferFull;\x0d\nlet resourceTimingBufferFullPending = false;\x0d\n\x0d\nconst kClearPerformanceEntryBuffers = ObjectFreeze({\x0d\n 'mark': 'performance.clearMarks'\x2C\x0d\n 'measure': 'performance.clearMeasures'\x2C\x0d\n});\x0d\nconst kWarnedEntryTypes = new SafeMap();\x0d\n\x0d\nconst kObservers = new SafeSet();\x0d\nconst kPending = new SafeSet();\x0d\nlet isPending = false;\x0d\n\x0d\nfunction queuePending() {\x0d\n if (isPending) return;\x0d\n isPending = true;\x0d\n setImmediate(() => {\x0d\n isPending = false;\x0d\n const pendings = ArrayFrom(kPending.values());\x0d\n kPending.clear();\x0d\n for (const pending of pendings)\x0d\n pending[kDispatch]();\x0d\n });\x0d\n}\x0d\n\x0d\nfunction getObserverType(type) {\x0d\n switch (type) {\x0d\n case 'gc': return NODE_PERFORMANCE_ENTRY_TYPE_GC;\x0d\n case 'http2': return NODE_PERFORMANCE_ENTRY_TYPE_HTTP2;\x0d\n case 'http': return NODE_PERFORMANCE_ENTRY_TYPE_HTTP;\x0d\n case 'net': return NODE_PERFORMANCE_ENTRY_TYPE_NET;\x0d\n case 'dns': return NODE_PERFORMANCE_ENTRY_TYPE_DNS;\x0d\n }\x0d\n}\x0d\n\x0d\nfunction maybeDecrementObserverCounts(entryTypes) {\x0d\n for (const type of entryTypes) {\x0d\n const observerType = getObserverType(type);\x0d\n\x0d\n if (observerType !== undefined) {\x0d\n observerCounts[observerType]--;\x0d\n\x0d\n if (observerType === NODE_PERFORMANCE_ENTRY_TYPE_GC &&\x0d\n observerCounts[observerType] === 0) {\x0d\n removeGarbageCollectionTracking();\x0d\n gcTrackingInstalled = false;\x0d\n }\x0d\n }\x0d\n }\x0d\n}\x0d\n\x0d\nfunction maybeIncrementObserverCount(type) {\x0d\n const observerType = getObserverType(type);\x0d\n\x0d\n if (observerType !== undefined) {\x0d\n observerCounts[observerType]++;\x0d\n if (!gcTrackingInstalled &&\x0d\n observerType === NODE_PERFORMANCE_ENTRY_TYPE_GC) {\x0d\n installGarbageCollectionTracking();\x0d\n gcTrackingInstalled = true;\x0d\n }\x0d\n }\x0d\n}\x0d\n\x0d\nconst kSkipThrow = Symbol('kSkipThrow');\x0d\nconst performanceObserverSorter = (first\x2C second) => {\x0d\n return first.startTime - second.startTime;\x0d\n};\x0d\n\x0d\nclass PerformanceObserverEntryList {\x0d\n constructor(skipThrowSymbol = undefined\x2C entries = []) {\x0d\n if (skipThrowSymbol !== kSkipThrow) {\x0d\n throw new ERR_ILLEGAL_CONSTRUCTOR();\x0d\n }\x0d\n\x0d\n this[kBuffer] = ArrayPrototypeSort(entries\x2C performanceObserverSorter);\x0d\n }\x0d\n\x0d\n getEntries() {\x0d\n validateInternalField(this\x2C kBuffer\x2C 'PerformanceObserverEntryList');\x0d\n return ArrayPrototypeSlice(this[kBuffer]);\x0d\n }\x0d\n\x0d\n getEntriesByType(type) {\x0d\n validateInternalField(this\x2C kBuffer\x2C 'PerformanceObserverEntryList');\x0d\n if (arguments.length === 0) {\x0d\n throw new ERR_MISSING_ARGS('type');\x0d\n }\x0d\n type = `${type}`;\x0d\n return ArrayPrototypeFilter(\x0d\n this[kBuffer]\x2C\x0d\n (entry) => entry.entryType === type);\x0d\n }\x0d\n\x0d\n getEntriesByName(name\x2C type = undefined) {\x0d\n validateInternalField(this\x2C kBuffer\x2C 'PerformanceObserverEntryList');\x0d\n if (arguments.length === 0) {\x0d\n throw new ERR_MISSING_ARGS('name');\x0d\n }\x0d\n name = `${name}`;\x0d\n if (type != null /** not nullish */) {\x0d\n return ArrayPrototypeFilter(\x0d\n this[kBuffer]\x2C\x0d\n (entry) => entry.name === name && entry.entryType === type);\x0d\n }\x0d\n return ArrayPrototypeFilter(\x0d\n this[kBuffer]\x2C\x0d\n (entry) => entry.name === name);\x0d\n }\x0d\n\x0d\n [kInspect](depth\x2C options) {\x0d\n if (depth < 0) return this;\x0d\n\x0d\n const opts = {\x0d\n ...options\x2C\x0d\n depth: options.depth == null ? null : options.depth - 1\x2C\x0d\n };\x0d\n\x0d\n return `PerformanceObserverEntryList ${inspect(this[kBuffer]\x2C opts)}`;\x0d\n }\x0d\n}\x0d\nObjectDefineProperties(PerformanceObserverEntryList.prototype\x2C {\x0d\n getEntries: kEnumerableProperty\x2C\x0d\n getEntriesByType: kEnumerableProperty\x2C\x0d\n getEntriesByName: kEnumerableProperty\x2C\x0d\n [SymbolToStringTag]: {\x0d\n __proto__: null\x2C\x0d\n writable: false\x2C\x0d\n enumerable: false\x2C\x0d\n configurable: true\x2C\x0d\n value: 'PerformanceObserverEntryList'\x2C\x0d\n }\x2C\x0d\n});\x0d\n\x0d\nclass PerformanceObserver {\x0d\n #buffer = [];\x0d\n #entryTypes = new SafeSet();\x0d\n #type;\x0d\n #callback;\x0d\n\x0d\n constructor(callback) {\x0d\n validateFunction(callback\x2C 'callback');\x0d\n this.#callback = callback;\x0d\n }\x0d\n\x0d\n observe(options = kEmptyObject) {\x0d\n validateObject(options\x2C 'options');\x0d\n const {\x0d\n entryTypes\x2C\x0d\n type\x2C\x0d\n buffered\x2C\x0d\n } = { ...options };\x0d\n if (entryTypes === undefined && type === undefined)\x0d\n throw new ERR_MISSING_ARGS('options.entryTypes'\x2C 'options.type');\x0d\n if (entryTypes != null && type != null)\x0d\n throw new ERR_INVALID_ARG_VALUE('options.entryTypes'\x2C\x0d\n entryTypes\x2C\x0d\n 'options.entryTypes can not set with ' +\x0d\n 'options.type together');\x0d\n\x0d\n switch (this.#type) {\x0d\n case undefined:\x0d\n if (entryTypes !== undefined) this.#type = kTypeMultiple;\x0d\n if (type !== undefined) this.#type = kTypeSingle;\x0d\n break;\x0d\n case kTypeSingle:\x0d\n if (entryTypes !== undefined)\x0d\n throw lazyDOMException(\x0d\n 'PerformanceObserver can not change to multiple observations'\x2C\x0d\n 'InvalidModificationError');\x0d\n break;\x0d\n case kTypeMultiple:\x0d\n if (type !== undefined)\x0d\n throw lazyDOMException(\x0d\n 'PerformanceObserver can not change to single observation'\x2C\x0d\n 'InvalidModificationError');\x0d\n break;\x0d\n }\x0d\n\x0d\n if (this.#type === kTypeMultiple) {\x0d\n if (!ArrayIsArray(entryTypes)) {\x0d\n throw new ERR_INVALID_ARG_TYPE(\x0d\n 'options.entryTypes'\x2C\x0d\n 'string[]'\x2C\x0d\n entryTypes);\x0d\n }\x0d\n maybeDecrementObserverCounts(this.#entryTypes);\x0d\n this.#entryTypes.clear();\x0d\n for (let n = 0; n < entryTypes.length; n++) {\x0d\n if (ArrayPrototypeIncludes(kSupportedEntryTypes\x2C entryTypes[n])) {\x0d\n this.#entryTypes.add(entryTypes[n]);\x0d\n maybeIncrementObserverCount(entryTypes[n]);\x0d\n }\x0d\n }\x0d\n } else {\x0d\n if (!ArrayPrototypeIncludes(kSupportedEntryTypes\x2C type))\x0d\n return;\x0d\n this.#entryTypes.add(type);\x0d\n maybeIncrementObserverCount(type);\x0d\n if (buffered) {\x0d\n const entries = filterBufferMapByNameAndType(undefined\x2C type);\x0d\n ArrayPrototypePushApply(this.#buffer\x2C entries);\x0d\n kPending.add(this);\x0d\n if (kPending.size)\x0d\n queuePending();\x0d\n }\x0d\n }\x0d\n\x0d\n if (this.#entryTypes.size)\x0d\n kObservers.add(this);\x0d\n else\x0d\n this.disconnect();\x0d\n }\x0d\n\x0d\n disconnect() {\x0d\n maybeDecrementObserverCounts(this.#entryTypes);\x0d\n kObservers.delete(this);\x0d\n kPending.delete(this);\x0d\n this.#buffer = [];\x0d\n this.#entryTypes.clear();\x0d\n this.#type = undefined;\x0d\n }\x0d\n\x0d\n takeRecords() {\x0d\n const list = this.#buffer;\x0d\n this.#buffer = [];\x0d\n return list;\x0d\n }\x0d\n\x0d\n static get supportedEntryTypes() {\x0d\n return kSupportedEntryTypes;\x0d\n }\x0d\n\x0d\n [kMaybeBuffer](entry) {\x0d\n if (!this.#entryTypes.has(entry.entryType))\x0d\n return;\x0d\n ArrayPrototypePush(this.#buffer\x2C entry);\x0d\n kPending.add(this);\x0d\n if (kPending.size)\x0d\n queuePending();\x0d\n }\x0d\n\x0d\n [kDispatch]() {\x0d\n const entryList = new PerformanceObserverEntryList(kSkipThrow\x2C this.takeRecords());\x0d\n\x0d\n this.#callback(entryList\x2C this);\x0d\n }\x0d\n\x0d\n [kInspect](depth\x2C options) {\x0d\n if (depth < 0) return this;\x0d\n\x0d\n const opts = {\x0d\n ...options\x2C\x0d\n depth: options.depth == null ? null : options.depth - 1\x2C\x0d\n };\x0d\n\x0d\n return `PerformanceObserver ${inspect({\x0d\n connected: kObservers.has(this)\x2C\x0d\n pending: kPending.has(this)\x2C\x0d\n entryTypes: ArrayFrom(this.#entryTypes)\x2C\x0d\n buffer: this.#buffer\x2C\x0d\n }\x2C opts)}`;\x0d\n }\x0d\n}\x0d\nObjectDefineProperties(PerformanceObserver.prototype\x2C {\x0d\n observe: kEnumerableProperty\x2C\x0d\n disconnect: kEnumerableProperty\x2C\x0d\n takeRecords: kEnumerableProperty\x2C\x0d\n [SymbolToStringTag]: {\x0d\n __proto__: null\x2C\x0d\n writable: false\x2C\x0d\n enumerable: false\x2C\x0d\n configurable: true\x2C\x0d\n value: 'PerformanceObserver'\x2C\x0d\n }\x2C\x0d\n});\x0d\n\x0d\n/**\x0d\n * https://www.w3.org/TR/performance-timeline/#dfn-queue-a-performanceentry\x0d\n *\x0d\n * Add the performance entry to the interested performance observer's queue.\x0d\n */\x0d\nfunction enqueue(entry) {\x0d\n if (!isPerformanceEntry(entry))\x0d\n throw new ERR_INVALID_ARG_TYPE('entry'\x2C 'PerformanceEntry'\x2C entry);\x0d\n\x0d\n for (const obs of kObservers) {\x0d\n obs[kMaybeBuffer](entry);\x0d\n }\x0d\n}\x0d\n\x0d\n/**\x0d\n * Add the user timing entry to the global buffer.\x0d\n */\x0d\nfunction bufferUserTiming(entry) {\x0d\n const entryType = entry.entryType;\x0d\n let buffer;\x0d\n if (entryType === 'mark') {\x0d\n buffer = markEntryBuffer;\x0d\n } else if (entryType === 'measure') {\x0d\n buffer = measureEntryBuffer;\x0d\n } else {\x0d\n return;\x0d\n }\x0d\n\x0d\n ArrayPrototypePush(buffer\x2C entry);\x0d\n const count = buffer.length;\x0d\n\x0d\n if (count > kPerformanceEntryBufferWarnSize &&\x0d\n !kWarnedEntryTypes.has(entryType)) {\x0d\n kWarnedEntryTypes.set(entryType\x2C true);\x0d\n // No error code for this since it is a Warning\x0d\n // eslint-disable-next-line no-restricted-syntax\x0d\n const w = new Error('Possible perf_hooks memory leak detected. ' +\x0d\n `${count} ${entryType} entries added to the global ` +\x0d\n 'performance entry buffer. Use ' +\x0d\n `${kClearPerformanceEntryBuffers[entryType]} to ` +\x0d\n 'clear the buffer.');\x0d\n w.name = 'MaxPerformanceEntryBufferExceededWarning';\x0d\n w.entryType = entryType;\x0d\n w.count = count;\x0d\n process.emitWarning(w);\x0d\n }\x0d\n}\x0d\n\x0d\n/**\x0d\n * Add the resource timing entry to the global buffer if the buffer size is not\x0d\n * exceeding the buffer limit\x2C or dispatch a buffer full event on the global\x0d\n * performance object.\x0d\n *\x0d\n * See also https://www.w3.org/TR/resource-timing-2/#dfn-add-a-performanceresourcetiming-entry\x0d\n */\x0d\nfunction bufferResourceTiming(entry) {\x0d\n if (resourceTimingBuffer.length < resourceTimingBufferSizeLimit && !resourceTimingBufferFullPending) {\x0d\n ArrayPrototypePush(resourceTimingBuffer\x2C entry);\x0d\n return;\x0d\n }\x0d\n\x0d\n if (!resourceTimingBufferFullPending) {\x0d\n resourceTimingBufferFullPending = true;\x0d\n setImmediate(() => {\x0d\n while (resourceTimingSecondaryBuffer.length > 0) {\x0d\n const excessNumberBefore = resourceTimingSecondaryBuffer.length;\x0d\n dispatchBufferFull('resourcetimingbufferfull');\x0d\n\x0d\n // Calculate the number of items to be pushed to the global buffer.\x0d\n const numbersToPreserve = MathMax(\x0d\n MathMin(resourceTimingBufferSizeLimit - resourceTimingBuffer.length\x2C resourceTimingSecondaryBuffer.length)\x2C\x0d\n 0\x2C\x0d\n );\x0d\n const excessNumberAfter = resourceTimingSecondaryBuffer.length - numbersToPreserve;\x0d\n for (let idx = 0; idx < numbersToPreserve; idx++) {\x0d\n ArrayPrototypePush(resourceTimingBuffer\x2C resourceTimingSecondaryBuffer[idx]);\x0d\n }\x0d\n\x0d\n if (excessNumberBefore <= excessNumberAfter) {\x0d\n resourceTimingSecondaryBuffer = [];\x0d\n }\x0d\n }\x0d\n resourceTimingBufferFullPending = false;\x0d\n });\x0d\n }\x0d\n\x0d\n ArrayPrototypePush(resourceTimingSecondaryBuffer\x2C entry);\x0d\n}\x0d\n\x0d\n// https://w3c.github.io/resource-timing/#dom-performance-setresourcetimingbuffersize\x0d\nfunction setResourceTimingBufferSize(maxSize) {\x0d\n // If the maxSize parameter is less than resource timing buffer current\x0d\n // size\x2C no PerformanceResourceTiming objects are to be removed from the\x0d\n // performance entry buffer.\x0d\n resourceTimingBufferSizeLimit = maxSize;\x0d\n}\x0d\n\x0d\nfunction setDispatchBufferFull(fn) {\x0d\n dispatchBufferFull = fn;\x0d\n}\x0d\n\x0d\nfunction clearEntriesFromBuffer(type\x2C name) {\x0d\n if (type !== 'mark' && type !== 'measure' && type !== 'resource') {\x0d\n return;\x0d\n }\x0d\n\x0d\n if (type === 'mark') {\x0d\n markEntryBuffer = name === undefined ?\x0d\n [] : ArrayPrototypeFilter(markEntryBuffer\x2C (entry) => entry.name !== name);\x0d\n } else if (type === 'measure') {\x0d\n measureEntryBuffer = name === undefined ?\x0d\n [] : ArrayPrototypeFilter(measureEntryBuffer\x2C (entry) => entry.name !== name);\x0d\n } else {\x0d\n resourceTimingBuffer = name === undefined ?\x0d\n [] : ArrayPrototypeFilter(resourceTimingBuffer\x2C (entry) => entry.name !== name);\x0d\n }\x0d\n}\x0d\n\x0d\nfunction filterBufferMapByNameAndType(name\x2C type) {\x0d\n let bufferList;\x0d\n if (type === 'mark') {\x0d\n bufferList = markEntryBuffer;\x0d\n } else if (type === 'measure') {\x0d\n bufferList = measureEntryBuffer;\x0d\n } else if (type === 'resource') {\x0d\n bufferList = resourceTimingBuffer;\x0d\n } else if (type !== undefined) {\x0d\n // Unrecognized type;\x0d\n return [];\x0d\n } else {\x0d\n bufferList = [];\x0d\n ArrayPrototypePushApply(bufferList\x2C markEntryBuffer);\x0d\n ArrayPrototypePushApply(bufferList\x2C measureEntryBuffer);\x0d\n ArrayPrototypePushApply(bufferList\x2C resourceTimingBuffer);\x0d\n }\x0d\n if (name !== undefined) {\x0d\n bufferList = ArrayPrototypeFilter(bufferList\x2C (buffer) => buffer.name === name);\x0d\n } else if (type !== undefined) {\x0d\n bufferList = ArrayPrototypeSlice(bufferList);\x0d\n }\x0d\n\x0d\n return ArrayPrototypeSort(bufferList\x2C performanceObserverSorter);\x0d\n}\x0d\n\x0d\nfunction observerCallback(name\x2C type\x2C startTime\x2C duration\x2C details) {\x0d\n const entry =\x0d\n createPerformanceNodeEntry(\x0d\n name\x2C\x0d\n type\x2C\x0d\n startTime\x2C\x0d\n duration\x2C\x0d\n details);\x0d\n\x0d\n if (details !== undefined) {\x0d\n // GC\x2C HTTP2\x2C and HTTP PerformanceEntry used additional\x0d\n // properties directly off the entry. Those have been\x0d\n // moved into the details property. The existing accessors\x0d\n // are still included but are deprecated.\x0d\n entry[kDeprecatedFields] = new SafeMap();\x0d\n\x0d\n const detailKeys = ObjectKeys(details);\x0d\n const props = {};\x0d\n for (let n = 0; n < detailKeys.length; n++) {\x0d\n const key = detailKeys[n];\x0d\n entry[kDeprecatedFields].set(key\x2C details[key]);\x0d\n props[key] = {\x0d\n configurable: true\x2C\x0d\n enumerable: true\x2C\x0d\n get: deprecate(() => {\x0d\n return entry[kDeprecatedFields].get(key);\x0d\n }\x2C kDeprecationMessage\x2C 'DEP0152')\x2C\x0d\n set: deprecate((value) => {\x0d\n entry[kDeprecatedFields].set(key\x2C value);\x0d\n }\x2C kDeprecationMessage\x2C 'DEP0152')\x2C\x0d\n };\x0d\n }\x0d\n ObjectDefineProperties(entry\x2C props);\x0d\n }\x0d\n\x0d\n enqueue(entry);\x0d\n}\x0d\n\x0d\nsetupObservers(observerCallback);\x0d\n\x0d\nfunction hasObserver(type) {\x0d\n const observerType = getObserverType(type);\x0d\n return observerCounts[observerType] > 0;\x0d\n}\x0d\n\x0d\n\x0d\nfunction startPerf(target\x2C key\x2C context = {}) {\x0d\n target[key] = {\x0d\n ...context\x2C\x0d\n startTime: now()\x2C\x0d\n };\x0d\n}\x0d\n\x0d\nfunction stopPerf(target\x2C key\x2C context = {}) {\x0d\n const ctx = target[key];\x0d\n if (!ctx) {\x0d\n return;\x0d\n }\x0d\n const startTime = ctx.startTime;\x0d\n const entry = createPerformanceNodeEntry(\x0d\n ctx.name\x2C\x0d\n ctx.type\x2C\x0d\n startTime\x2C\x0d\n now() - startTime\x2C\x0d\n { ...ctx.detail\x2C ...context.detail }\x2C\x0d\n );\x0d\n enqueue(entry);\x0d\n}\x0d\n\x0d\nmodule.exports = {\x0d\n PerformanceObserver\x2C\x0d\n PerformanceObserverEntryList\x2C\x0d\n enqueue\x2C\x0d\n hasObserver\x2C\x0d\n clearEntriesFromBuffer\x2C\x0d\n filterBufferMapByNameAndType\x2C\x0d\n startPerf\x2C\x0d\n stopPerf\x2C\x0d\n\x0d\n bufferUserTiming\x2C\x0d\n bufferResourceTiming\x2C\x0d\n setResourceTimingBufferSize\x2C\x0d\n setDispatchBufferFull\x2C\x0d\n};\x0d\n
code-source-info,0x381e1320e16,109,0,17335,C0O0C4O17335,,
code-creation,JS,10,359621,0x381e1322526,1209, node:internal/perf/observe:1:1,0x381e1320d90,~
code-source-info,0x381e1322526,109,0,17335,C0O0C279O28C285O42C291O59C297O84C303O111C309O134C315O162C321O186C327O209C333O219C339O231C345O243C351O270C356O287C362O302C368O314C374O326C379O337C384O715C388O715C394O399C400O406C406O443C412O483C418O522C424O560C430O602C436O639C442O658C448O694C453O817C457O817C463O761C469O784C475O1003C479O1003C485O882C491O889C497O919C503O947C509O974C515O1113C519O1113C525O1045C531O1066C537O1085C543O1271C547O1271C553O1180C558O1193C564O1207C570O1228C576O1245C581O1330C585O1330C591O1311C597O1372C601O1372C607O1360C613O1408C617O1408C623O1400C629O1459C633O1459C637O1459C639O1497C643O1497C647O1497C649O1540C653O1540C657O1540C659O1591C663O1591C667O1591C669O1654C675O1707C678O1654C680O1770C681O1770C683O1796C685O1796C687O1828C688O1828C690O1867C696O1867C700O1867C702O2058C704O2058C706O2088C708O2088C710O2120C712O2120C714O2161C716O2161C718O2206C724O2206C726O2365C730O2365C732O2375C733O2375C735O2434C736O2434C738O2482C744O2482C748O2482C750O2609C754O2609C759O2609C761O2646C765O2646C770O2646C772O2679C776O2679C781O2679C783O2711C784O2711C786O4163C790O4163C794O4163C796O4220C800O4220C831O5555C853O4294C855O5816C863O5868C877O5896C883O5938C889O5980C895O6005C897O6025C906O5816C1012O9135C1024O9351C1034O9506C1067O9906C1071O9949C1085O9974C1091O10010C1097O10047C1103O10072C1105O10092C1114O9906C1119O16416C1123O17033C1131O17055C1137O17079C1143O17112C1149O17124C1155O17140C1161O17167C1167O17200C1173O17214C1179O17229C1185O17250C1191O17275C1197O17307C1203O17048C1208O17334,,
code-creation,JS,10,359884,0x381e1322c5e,50,<instance_members_initializer> node:internal/perf/observe:243:1,0x381e1321780,~
code-source-info,0x381e1322c5e,109,6178,9904,C3O6219C13O6240C20O6240C34O6258C43O6268C49O9904,,
code-creation,Eval,10,360352,0x381e13248d6,5, node:internal/perf/performance_entry:1:1,0x381e13246e0,~
script-source,110,node:internal/perf/performance_entry,'use strict';\x0d\n\x0d\nconst {\x0d\n ObjectDefineProperties\x2C\x0d\n Symbol\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst {\x0d\n codes: {\x0d\n ERR_ILLEGAL_CONSTRUCTOR\x2C\x0d\n }\x2C\x0d\n} = require('internal/errors');\x0d\n\x0d\nconst {\x0d\n customInspectSymbol: kInspect\x2C\x0d\n kEnumerableProperty\x2C\x0d\n} = require('internal/util');\x0d\nconst { validateInternalField } = require('internal/validators');\x0d\n\x0d\nconst { inspect } = require('util');\x0d\n\x0d\nconst kName = Symbol('PerformanceEntry.Name');\x0d\nconst kEntryType = Symbol('PerformanceEntry.EntryType');\x0d\nconst kStartTime = Symbol('PerformanceEntry.StartTime');\x0d\nconst kDuration = Symbol('PerformanceEntry.Duration');\x0d\nconst kDetail = Symbol('NodePerformanceEntry.Detail');\x0d\nconst kSkipThrow = Symbol('kSkipThrow');\x0d\n\x0d\nfunction isPerformanceEntry(obj) {\x0d\n return obj?.[kName] !== undefined;\x0d\n}\x0d\n\x0d\nclass PerformanceEntry {\x0d\n constructor(\x0d\n skipThrowSymbol = undefined\x2C\x0d\n name = undefined\x2C\x0d\n type = undefined\x2C\x0d\n start = undefined\x2C\x0d\n duration = undefined\x2C\x0d\n ) {\x0d\n if (skipThrowSymbol !== kSkipThrow) {\x0d\n throw new ERR_ILLEGAL_CONSTRUCTOR();\x0d\n }\x0d\n\x0d\n this[kName] = name;\x0d\n this[kEntryType] = type;\x0d\n this[kStartTime] = start;\x0d\n this[kDuration] = duration;\x0d\n }\x0d\n\x0d\n get name() {\x0d\n validateInternalField(this\x2C kName\x2C 'PerformanceEntry');\x0d\n return this[kName];\x0d\n }\x0d\n\x0d\n get entryType() {\x0d\n validateInternalField(this\x2C kEntryType\x2C 'PerformanceEntry');\x0d\n return this[kEntryType];\x0d\n }\x0d\n\x0d\n get startTime() {\x0d\n validateInternalField(this\x2C kStartTime\x2C 'PerformanceEntry');\x0d\n return this[kStartTime];\x0d\n }\x0d\n\x0d\n get duration() {\x0d\n validateInternalField(this\x2C kDuration\x2C 'PerformanceEntry');\x0d\n return this[kDuration];\x0d\n }\x0d\n\x0d\n [kInspect](depth\x2C options) {\x0d\n if (depth < 0) return this;\x0d\n\x0d\n const opts = {\x0d\n ...options\x2C\x0d\n depth: options.depth == null ? null : options.depth - 1\x2C\x0d\n };\x0d\n\x0d\n return `${this.constructor.name} ${inspect(this.toJSON()\x2C opts)}`;\x0d\n }\x0d\n\x0d\n toJSON() {\x0d\n validateInternalField(this\x2C kName\x2C 'PerformanceEntry');\x0d\n return {\x0d\n name: this[kName]\x2C\x0d\n entryType: this[kEntryType]\x2C\x0d\n startTime: this[kStartTime]\x2C\x0d\n duration: this[kDuration]\x2C\x0d\n };\x0d\n }\x0d\n}\x0d\nObjectDefineProperties(PerformanceEntry.prototype\x2C {\x0d\n name: kEnumerableProperty\x2C\x0d\n entryType: kEnumerableProperty\x2C\x0d\n startTime: kEnumerableProperty\x2C\x0d\n duration: kEnumerableProperty\x2C\x0d\n toJSON: kEnumerableProperty\x2C\x0d\n});\x0d\n\x0d\nfunction createPerformanceEntry(name\x2C type\x2C start\x2C duration) {\x0d\n return new PerformanceEntry(kSkipThrow\x2C name\x2C type\x2C start\x2C duration);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Node.js specific extension to PerformanceEntry.\x0d\n */\x0d\nclass PerformanceNodeEntry extends PerformanceEntry {\x0d\n get detail() {\x0d\n validateInternalField(this\x2C kDetail\x2C 'NodePerformanceEntry');\x0d\n return this[kDetail];\x0d\n }\x0d\n\x0d\n toJSON() {\x0d\n validateInternalField(this\x2C kName\x2C 'PerformanceEntry');\x0d\n return {\x0d\n name: this[kName]\x2C\x0d\n entryType: this[kEntryType]\x2C\x0d\n startTime: this[kStartTime]\x2C\x0d\n duration: this[kDuration]\x2C\x0d\n detail: this[kDetail]\x2C\x0d\n };\x0d\n }\x0d\n}\x0d\n\x0d\nfunction createPerformanceNodeEntry(name\x2C type\x2C start\x2C duration\x2C detail) {\x0d\n const entry = new PerformanceNodeEntry(kSkipThrow\x2C name\x2C type\x2C start\x2C duration);\x0d\n\x0d\n entry[kDetail] = detail;\x0d\n\x0d\n return entry;\x0d\n}\x0d\n\x0d\nmodule.exports = {\x0d\n createPerformanceEntry\x2C\x0d\n PerformanceEntry\x2C\x0d\n isPerformanceEntry\x2C\x0d\n PerformanceNodeEntry\x2C\x0d\n createPerformanceNodeEntry\x2C\x0d\n kSkipThrow\x2C\x0d\n};\x0d\n
code-source-info,0x381e13248d6,110,0,3412,C0O0C4O3412,,
code-creation,JS,10,360620,0x381e13255a6,370, node:internal/perf/performance_entry:1:1,0x381e1324850,~
code-source-info,0x381e13255a6,110,0,3412,C0O0C53O28C58O55C63O145C66O145C71O102C76O109C82O247C85O247C90O208C95O221C100O308C103O308C108O282C114O363C117O363C122O351C128O397C131O397C135O397C137O450C140O450C144O450C146O508C149O508C153O508C155O565C158O565C162O565C164O619C167O619C171O619C173O678C176O678C180O678C211O1665C238O782C240O2158C243O2198C255O2220C261O2255C267O2290C273O2324C279O2356C283O2158C291O2624C319O2589C321O3246C328O3268C334O3295C340O3316C346O3339C352O3364C358O3395C364O3261C369O3411,,
code-creation,JS,10,361233,0x381e132785e,34,protoGetter node:net:868:21,0x23c5197f3a8,~
code-source-info,0x381e132785e,86,23758,23927,C0O23780C8O23808C13O23819C20O23908C27O23780C33O23926,,
code-creation,Eval,10,361733,0x381e132df8e,5, node:internal/tty:1:1,0x381e132dd38,~
script-source,111,node:internal/tty,// MIT License\x0d\n\x0d\n// Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)\x0d\n\x0d\n// Permission is hereby granted\x2C free of charge\x2C to any person obtaining a copy\x0d\n// of this software and associated documentation files (the "Software")\x2C to deal\x0d\n// in the Software without restriction\x2C including without limitation the rights\x0d\n// to use\x2C copy\x2C modify\x2C merge\x2C publish\x2C distribute\x2C sublicense\x2C and/or sell\x0d\n// copies of the Software\x2C and to permit persons to whom the Software is\x0d\n// furnished to do so\x2C subject to the following conditions:\x0d\n\x0d\n// The above copyright notice and this permission notice shall be included in\x0d\n// all copies or substantial portions of the Software.\x0d\n\x0d\n// THE SOFTWARE IS PROVIDED "AS IS"\x2C WITHOUT WARRANTY OF ANY KIND\x2C EXPRESS OR\x0d\n// IMPLIED\x2C INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY\x2C\x0d\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\x0d\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM\x2C DAMAGES OR OTHER\x0d\n// LIABILITY\x2C WHETHER IN AN ACTION OF CONTRACT\x2C TORT OR OTHERWISE\x2C ARISING FROM\x2C\x0d\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\x0d\n// SOFTWARE.\x0d\n\x0d\n'use strict';\x0d\n\x0d\nconst {\x0d\n ArrayPrototypeSome\x2C\x0d\n RegExpPrototypeExec\x2C\x0d\n StringPrototypeSplit\x2C\x0d\n StringPrototypeToLowerCase\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst { validateInteger } = require('internal/validators');\x0d\n\x0d\nlet OSRelease;\x0d\n\x0d\nconst COLORS_2 = 1;\x0d\nconst COLORS_16 = 4;\x0d\nconst COLORS_256 = 8;\x0d\nconst COLORS_16m = 24;\x0d\n\x0d\n// Some entries were taken from `dircolors`\x0d\n// (https://linux.die.net/man/1/dircolors). The corresponding terminals might\x0d\n// support more than 16 colors\x2C but this was not tested for.\x0d\n//\x0d\n// Copyright (C) 1996-2016 Free Software Foundation\x2C Inc. Copying and\x0d\n// distribution of this file\x2C with or without modification\x2C are permitted\x0d\n// provided the copyright notice and this notice are preserved.\x0d\nconst TERM_ENVS = {\x0d\n 'eterm': COLORS_16\x2C\x0d\n 'cons25': COLORS_16\x2C\x0d\n 'console': COLORS_16\x2C\x0d\n 'cygwin': COLORS_16\x2C\x0d\n 'dtterm': COLORS_16\x2C\x0d\n 'gnome': COLORS_16\x2C\x0d\n 'hurd': COLORS_16\x2C\x0d\n 'jfbterm': COLORS_16\x2C\x0d\n 'konsole': COLORS_16\x2C\x0d\n 'kterm': COLORS_16\x2C\x0d\n 'mlterm': COLORS_16\x2C\x0d\n 'mosh': COLORS_16m\x2C\x0d\n 'putty': COLORS_16\x2C\x0d\n 'st': COLORS_16\x2C\x0d\n // https://github.com/da-x/rxvt-unicode/tree/v9.22-with-24bit-color\x0d\n 'rxvt-unicode-24bit': COLORS_16m\x2C\x0d\n // https://gist.github.com/XVilka/8346728#gistcomment-2823421\x0d\n 'terminator': COLORS_16m\x2C\x0d\n};\x0d\n\x0d\nconst TERM_ENVS_REG_EXP = [\x0d\n /ansi/\x2C\x0d\n /color/\x2C\x0d\n /linux/\x2C\x0d\n /^con[0-9]*x[0-9]/\x2C\x0d\n /^rxvt/\x2C\x0d\n /^screen/\x2C\x0d\n /^xterm/\x2C\x0d\n /^vt100/\x2C\x0d\n];\x0d\n\x0d\nlet warned = false;\x0d\nfunction warnOnDeactivatedColors(env) {\x0d\n if (warned)\x0d\n return;\x0d\n let name = '';\x0d\n if (env.NODE_DISABLE_COLORS !== undefined)\x0d\n name = 'NODE_DISABLE_COLORS';\x0d\n if (env.NO_COLOR !== undefined) {\x0d\n if (name !== '') {\x0d\n name += "' and '";\x0d\n }\x0d\n name += 'NO_COLOR';\x0d\n }\x0d\n\x0d\n if (name !== '') {\x0d\n process.emitWarning(\x0d\n `The '${name}' env is ignored due to the 'FORCE_COLOR' env being set.`\x2C\x0d\n 'Warning'\x2C\x0d\n );\x0d\n warned = true;\x0d\n }\x0d\n}\x0d\n\x0d\n// The `getColorDepth` API got inspired by multiple sources such as\x0d\n// https://github.com/chalk/supports-color\x2C\x0d\n// https://github.com/isaacs/color-support.\x0d\nfunction getColorDepth(env = process.env) {\x0d\n // Use level 0-3 to support the same levels as `chalk` does. This is done for\x0d\n // consistency throughout the ecosystem.\x0d\n if (env.FORCE_COLOR !== undefined) {\x0d\n switch (env.FORCE_COLOR) {\x0d\n case '':\x0d\n case '1':\x0d\n case 'true':\x0d\n warnOnDeactivatedColors(env);\x0d\n return COLORS_16;\x0d\n case '2':\x0d\n warnOnDeactivatedColors(env);\x0d\n return COLORS_256;\x0d\n case '3':\x0d\n warnOnDeactivatedColors(env);\x0d\n return COLORS_16m;\x0d\n default:\x0d\n return COLORS_2;\x0d\n }\x0d\n }\x0d\n\x0d\n if (env.NODE_DISABLE_COLORS !== undefined ||\x0d\n // See https://no-color.org/\x0d\n env.NO_COLOR !== undefined ||\x0d\n // The "dumb" special terminal\x2C as defined by terminfo\x2C doesn't support\x0d\n // ANSI color control codes.\x0d\n // See https://invisible-island.net/ncurses/terminfo.ti.html#toc-_Specials\x0d\n env.TERM === 'dumb') {\x0d\n return COLORS_2;\x0d\n }\x0d\n\x0d\n if (process.platform === 'win32') {\x0d\n // Lazy load for startup performance.\x0d\n if (OSRelease === undefined) {\x0d\n const { release } = require('os');\x0d\n OSRelease = StringPrototypeSplit(release()\x2C '.');\x0d\n }\x0d\n // Windows 10 build 10586 is the first Windows release that supports 256\x0d\n // colors. Windows 10 build 14931 is the first release that supports\x0d\n // 16m/TrueColor.\x0d\n if (+OSRelease[0] >= 10) {\x0d\n const build = +OSRelease[2];\x0d\n if (build >= 14931)\x0d\n return COLORS_16m;\x0d\n if (build >= 10586)\x0d\n return COLORS_256;\x0d\n }\x0d\n\x0d\n return COLORS_16;\x0d\n }\x0d\n\x0d\n if (env.TMUX) {\x0d\n return COLORS_256;\x0d\n }\x0d\n\x0d\n if (env.CI) {\x0d\n if ([\x0d\n 'APPVEYOR'\x2C\x0d\n 'BUILDKITE'\x2C\x0d\n 'CIRCLECI'\x2C\x0d\n 'DRONE'\x2C\x0d\n 'GITHUB_ACTIONS'\x2C\x0d\n 'GITLAB_CI'\x2C\x0d\n 'TRAVIS'\x2C\x0d\n ].some((sign) => sign in env) || env.CI_NAME === 'codeship') {\x0d\n return COLORS_256;\x0d\n }\x0d\n return COLORS_2;\x0d\n }\x0d\n\x0d\n if ('TEAMCITY_VERSION' in env) {\x0d\n return RegExpPrototypeExec(/^(9\\.(0*[1-9]\\d*)\\.|\\d{2\x2C}\\.)/\x2C env.TEAMCITY_VERSION) !== null ?\x0d\n COLORS_16 : COLORS_2;\x0d\n }\x0d\n\x0d\n switch (env.TERM_PROGRAM) {\x0d\n case 'iTerm.app':\x0d\n if (!env.TERM_PROGRAM_VERSION ||\x0d\n RegExpPrototypeExec(/^[0-2]\\./\x2C env.TERM_PROGRAM_VERSION) !== null\x0d\n ) {\x0d\n return COLORS_256;\x0d\n }\x0d\n return COLORS_16m;\x0d\n case 'HyperTerm':\x0d\n case 'MacTerm':\x0d\n return COLORS_16m;\x0d\n case 'Apple_Terminal':\x0d\n return COLORS_256;\x0d\n }\x0d\n\x0d\n if (env.COLORTERM === 'truecolor' || env.COLORTERM === '24bit') {\x0d\n return COLORS_16m;\x0d\n }\x0d\n\x0d\n if (env.TERM) {\x0d\n if (RegExpPrototypeExec(/^xterm-256/\x2C env.TERM) !== null) {\x0d\n return COLORS_256;\x0d\n }\x0d\n\x0d\n const termEnv = StringPrototypeToLowerCase(env.TERM);\x0d\n\x0d\n if (TERM_ENVS[termEnv]) {\x0d\n return TERM_ENVS[termEnv];\x0d\n }\x0d\n if (ArrayPrototypeSome(TERM_ENVS_REG_EXP\x2C\x0d\n (term) => RegExpPrototypeExec(term\x2C termEnv) !== null)) {\x0d\n return COLORS_16;\x0d\n }\x0d\n }\x0d\n // Move 16 color COLORTERM below 16m and 256\x0d\n if (env.COLORTERM) {\x0d\n return COLORS_16;\x0d\n }\x0d\n return COLORS_2;\x0d\n}\x0d\n\x0d\nfunction hasColors(count\x2C env) {\x0d\n if (env === undefined &&\x0d\n (count === undefined || (typeof count === 'object' && count !== null))) {\x0d\n env = count;\x0d\n count = 16;\x0d\n } else {\x0d\n validateInteger(count\x2C 'count'\x2C 2);\x0d\n }\x0d\n\x0d\n return count <= 2 ** getColorDepth(env);\x0d\n}\x0d\n\x0d\nmodule.exports = {\x0d\n getColorDepth\x2C\x0d\n hasColors\x2C\x0d\n};\x0d\n
code-source-info,0x381e132df8e,111,0,6722,C0O0C4O6722,,
code-creation,JS,10,362199,0x381e132e3ee,366, node:internal/tty:1:1,0x381e132df08,~
code-source-info,0x381e132e3ee,111,0,6722,C0O0C69O1211C75O1234C81O1258C87O1283C93O1360C99O1360C104O1340C110O1399C111O1399C113O1430C115O1430C117O1452C119O1452C121O1475C123O1475C125O1498C127O1498C129O1924C136O1938C142O1962C148O1987C154O2011C160O2035C166O2058C172O2080C178O2105C184O2130C190O2153C196O2177C202O2199C208O2223C214O2243C220O2350C226O2444C232O1924C234O2489C336O2489C338O2621C339O2621C341O6666C348O6688C354O6706C360O6681C365O6721,,
code-creation,JS,10,362546,0x381e132f926,192,WriteStream node:tty:84:21,0x23c5197a9b0,~
code-source-info,0x381e132f926,85,2588,3571,C0O2598C2O2609C7O2639C12O2646C17O2666C18O2670C20O2677C26O2682C32O2695C37O2705C44O2711C49O2705C50O2752C52O2771C65O2771C71O2800C77O2827C84O2833C89O2827C90O2873C95O2877C100O2884C112O2941C116O2884C122O3374C127O3382C134O3382C139O3422C149O3422C155O3456C160O3464C165O3464C171O3491C173O3508C174O3530C177O3521C181O3540C183O3559C186O3550C191O3570,,
code-creation,JS,10,362887,0x381e1330516,942,Socket node:net:355:16,0x23c5197f218,~
code-source-info,0x381e1330516,86,9628,14387,C0O9643C2O9654C7O9674C12O9681C17O9701C18O9705C25O9716C34O9737C42O9814C52O9743C57O9737C58O9871C65O9882C81O9913C90O9942C98O10011C115O10102C121O10132C131O9948C136O9942C137O10195C144O10213C155O10261C167O10291C178O10261C183O10376C189O10398C194O10412C195O10442C199O10464C200O10480C204O10688C206O10693C211O10710C215O10719C216O10734C220O10746C222O10751C226O10760C230O10771C231O10784C235O10795C236O10806C240O10817C242O10822C246O10843C250O10851C252O10856C256O10866C260O10877C262O10882C266O10891C270O10902C272O10907C276O10918C280O10929C282O10934C286O10946C290O10957C291O10987C295O11001C301O11039C308O11055C319O11100C325O11182C327O11206C330O11222C335O11206C339O11204C343O11298C344O11316C348O11328C349O11348C353O11390C354O11412C358O11424C363O11431C368O11438C373O11438C379O11476C385O11514C389O11504C393O11538C395O11543C401O11581C406O11562C410O11560C416O11613C422O11646C427O11671C429O11793C434O11808C439O11806C443O11851C448O11859C453O11859C459O12122C461O12138C474O12144C479O12138C480O12184C482O12189C485O12213C490O12221C495O12221C499O12206C503O12242C505O12250C512O12262C517O12287C524O12306C526O12295C533O12315C537O12399C542O12407C549O12407C555O12433C557O12451C570O12457C575O12451C576O12506C577O12519C581O12534C583O12548C586O12548C590O12546C594O12743C599O12769C612O12743C617O12908C622O12919C632O12980C635O13000C640O12980C646O13025C654O13072C662O13122C670O13154C672O13159C676O13168C680O13183C682O13188C685O13209C689O13200C695O13238C697O13243C700O13261C704O13252C708O13281C710O13286C713O13306C717O13297C721O13326C723O13331C728O13346C731O13362C736O13346C740O13344C744O13375C746O13380C751O13397C754O13413C759O13397C763O13395C767O13428C769O13433C772O13473C776O13495C782O13463C784O13462C786O13460C790O13570C801O13570C807O13607C810O13607C814O13636C815O13654C819O13665C821O13687C825O13832C831O13851C841O13890C847O13979C853O13995C857O14016C862O14024C867O14024C871O14043C872O14064C878O14098C884O14125C891O14125C896O14163C902O14178C905O14178C910O14256C911O14268C915O14279C916O14292C920O14335C922O14340C926O14352C930O14360C932O14365C936O14380C941O14386,,
code-creation,JS,10,363346,0x381e1330e9e,504,Duplex node:internal/streams/duplex:65:16,0x77b20e7c78,~
code-source-info,0x381e1330e9e,95,2429,4450,C0O2429C9O2444C16O2455C21O2480C28O2487C33O2507C34O2513C51O2544C56O2567C61O2594C66O2618C71O2641C76O2663C81O2684C86O2710C92O2526C96O2957C103O2983C106O2992C121O2979C126O2977C130O3031C137O3057C140O3066C155O3053C160O3051C164O3107C168O3127C171O3156C179O3170C180O3146C184O3200C194O3229C197O3234C203O3258C207O3274C210O3279C216O3300C220O3315C223O3320C229O3346C233O3380C243O3409C246O3414C252O3438C256O3454C259O3459C265O3481C269O3496C272O3501C278O3522C282O3537C285O3542C291O3566C295O3607C303O3635C306O3656C310O3646C314O3688C322O3717C325O3739C329O3729C333O3772C341O3802C344O3825C348O3815C352O3859C360O3890C363O3914C367O3904C371O3949C379O3978C382O4000C386O3990C390O4033C398O4066C401O4092C405O4082C409O4122C415O4137C422O4160C430O4137C437O4192C441O4211C445O4229C452O4236C460O4236C466O4262C469O4271C476O4298C483O4310C496O4310C503O4449,,
tick,0x7ff7ba2233a1,363719,0,0x0,3,0x7ff7b9521fe0,0x23c5197a0ca,0x23c519791af,0x23c51978faf,0x23c51978e96,0x23c51978d5e,0x7ff7b8e135d0,0x23c5197894b,0x23c519693ae,0x23c51968a11,0x23c51942948
code-creation,JS,10,363819,0x381e1331a96,254,Readable node:internal/streams/readable:318:18,0x77b20ec2f8,~
code-source-info,0x381e1331a96,97,10417,11476,C0O10417C9O10432C16O10443C21O10470C28O10477C33O10499C34O10505C51O10536C56O10559C61O10581C66O10602C71O10628C77O10518C81O10875C99O10897C104O10895C108O10943C112O10982C120O11010C123O11031C127O11021C131O11063C139O11094C142O11118C146O11108C150O11153C158O11186C161O11212C165O11202C169O11242C175O11257C182O11280C190O11257C195O11305C202O11312C210O11312C216O11338C219O11347C226O11374C233O11386C246O11386C253O11475,,
code-creation,JS,10,363956,0x381e1331d1e,18,Stream node:internal/streams/legacy:11:16,0x77b20e91f8,~
code-source-info,0x381e1331d1e,96,155,190,C0O167C5O170C10O170C17O189,,
code-creation,JS,10,364732,0x381e1332f9e,379,ReadableState node:internal/streams/readable:260:23,0x77b20ec2a8,~
code-source-info,0x381e1332f9e,97,8205,10228,C0O8356C2O8361C7O8371C12O8384C14O8382C20O8399C22O8397C28O8414C30O8412C33O8369C37O8550C41O8573C47O8590C49O8595C58O8606C63O8603C67O8624C73O8640C75O8659C81O8684C83O8689C92O8700C97O8697C101O8862C106O8883C110O8898C125O8898C134O8972C139O8972C143O8881C147O9009C149O9021C153O9030C154O9047C158O9055C159O9067C163O9075C165O9086C169O9157C173O9180C183O9201C185O9206C194O9218C196O9217C201O9214C205O9309C209O9332C219O9355C221O9360C230O9372C232O9371C237O9368C241O9613C248O9620C256O9642C261O9689C268O9719C273O9739C275O9744C284O9755C289O9752C295O9787C300O9798C305O9798C312O9834C314O9855C320O9891C327O9897C332O9891C333O10054C334O10077C338O10090C342O10113C348O10130C350O10149C353O10171C360O10145C365O10143C369O10211C373O10201C378O10227,,
code-creation,JS,10,364892,0x381e13333f6,98,getHighWaterMark node:internal/streams/state:32:26,0x77b20f5490,~
code-source-info,0x381e13333f6,99,857,1277,C0O912C12O912C18O964C21O988C26O993C33O1021C38O1048C47O1070C56O1116C69O1122C74O1116C75O1172C80O1179C84O1194C85O1225C88O1262C93O1232C97O1274,,
code-creation,JS,10,364946,0x381e13336fe,26,highWaterMarkFrom node:internal/streams/state:14:27,0x77b20f53a0,~
code-source-info,0x381e13336fe,99,326,470,C0O377C7O409C15O430C19O448C25O467,,
code-creation,JS,10,365080,0x381e1333b76,418,WritableState node:internal/streams/writable:302:23,0x381e1302d78,~
code-source-info,0x381e1333b76,102,9647,11984,C0O9798C2O9803C7O9813C12O9821C14O9819C20O9836C22O9834C28O9849C30O9847C33O9811C37O9868C41O9891C47O9908C49O9913C58O9924C63O9921C67O9942C73O9958C75O9977C81O10002C83O10007C92O10018C97O10015C101O10224C106O10245C110O10260C125O10260C134O10334C139O10334C143O10243C147O10371C151O10395C161O10420C163O10425C172O10436C177O10433C181O10517C185O10540C195O10561C197O10566C206O10578C208O10577C213O10574C217O10669C221O10692C231O10715C233O10720C242O10732C244O10731C249O10728C253O10973C257O10991C265O11018C270O11065C277O11095C282O11115C284O11120C293O11131C298O11128C304O11163C309O11174C314O11174C321O11210C323O11215C332O11227C334O11226C339O11223C343O11254C345O11259C350O11282C356O11318C363O11324C368O11318C369O11527C370O11539C374O11615C375O11627C379O11692C382O11715C389O11715C395O11705C399O11807C400O11821C404O11831C407O11831C411O11962C412O11977C417O11983,,
code-creation,JS,10,365202,0x381e1333fb6,22,get node:internal/streams/writable:129:8,0x381e1309528,~
code-source-info,0x381e1333fb6,102,4020,4061,C0O4025C4O4038C6O4037C12O4046C17O4053C21O4059,,
code-creation,JS,10,365237,0x381e13340ae,15,getDefaultHighWaterMark node:internal/streams/state:19:33,0x77b20f53f0,~
code-source-info,0x381e13340ae,99,506,606,C0O524C6O544C12O577C14O603,,
code-creation,JS,10,365291,0x381e1334366,67,resetBuffer node:internal/streams/writable:362:21,0x381e1302dc8,~
code-source-info,0x381e1334366,102,12008,12157,C0O12021C2O12027C6O12043C10O12054C11O12074C15O12082C17O12088C26O12099C31O12113C33O12111C39O12096C43O12126C45O12132C54O12144C56O12143C61O12140C66O12156,,
code-creation,JS,10,365356,0x381e13346e6,14,set node:net:2368:6,0x77b20ca678,~
code-source-info,0x381e13346e6,86,68463,68496,C0O68469C2O68481C7O68490C13O68494,,
code-creation,JS,10,365387,0x381e13347ce,8,get node:net:2367:6,0x77b20ca628,~
code-source-info,0x381e13347ce,86,68427,68455,C0O68432C2O68444C4O68443C7O68453,,
code-creation,JS,10,365422,0x381e13348b6,32,getNewAsyncId node:net:186:23,0x23c5197eea8,~
code-source-info,0x381e13348b6,86,5335,5454,C0O5349C4O5382C14O5416C17O5416C22O5438C27O5438C31O5451,,
code-creation,JS,10,365523,0x381e1334b56,329,Readable.on node:internal/streams/readable:1125:33,0x77b20ed690,~
code-source-info,0x381e1334b56,97,36158,37188,C0O36184C5O36191C10O36201C15O36204C29O36204C35O36246C40O36267C42O36274C47O36293C49O36299C58O36310C63O36307C67O36468C69O36474C76O36490C84O36490C91O36516C101O36522C109O36482C113O36627C115O36638C117O36637C123O36649C128O36663C130O36661C133O36646C139O36678C141O36674C146O36705C151O36705C157O36732C159O36739C164O36762C166O36773C168O36772C174O36784C179O36798C181O36796C184O36781C189O36819C194O36835C196O36841C205O36852C210O36873C212O36871C218O36889C220O36887C226O36849C230O36909C232O36915C241O36928C246O36939C248O36937C251O36926C256O36923C260O36965C268O36965C272O37004C278O37023C281O37023C287O37057C289O37068C291O37067C297O37078C299O37076C304O37088C309O37106C312O37114C320O37114C326O37174C328O37185,,
code-creation,JS,10,365707,0x381e1334ee6,135,initSocketHandle node:net:311:26,0x23c5197f178,~
code-source-info,0x381e1334ee6,86,8397,8997,C0O8414C5O8414C9O8431C10O8446C14O8535C20O8556C27O8564C32O8578C36O8596C43O8613C45O8611C49O8632C51O8637C57O8675C62O8656C66O8654C70O8706C72O8711C74O8710C78O8726C80O8763C82O8768C84O8767C88O8788C90O8830C94O8849C99O8854C105O8888C106O8895C107O8905C109O8910C114O8919C118O8951C123O8959C128O8959C134O8996,,
code-creation,JS,10,365865,0x381e133511e,155,undestroy node:internal/streams/destroy:172:19,0x77b20e6208,~
code-source-info,0x381e133511e,94,3362,4063,C0O3385C5O3419C10O3440C14O3454C15O3468C19O3481C20O3490C24O3504C25O3519C29O3533C30O3545C34O3559C35O3569C39O3582C40O3597C44O3611C45O3621C49O3647C57O3643C61O3689C69O3685C73O3719C77O3733C78O3747C82O3760C83O3772C87O3786C88O3795C92O3809C93O3824C97O3838C98O3848C102O3861C103O3876C107O3890C108O3904C112O3918C113O3932C117O3958C125O3954C129O3996C137O3992C141O4036C149O4032C154O4062,,
code-creation,JS,10,365941,0x381e1335e5e,50,set node:internal/streams/readable:131:8,0x77b20fb070,~
code-source-info,0x381e1335e5e,97,3991,4080,C0O4008C4O4019C8O4024C17O4035C20O4032C26O4052C30O4057C39O4068C44O4065C49O4079,,
code-creation,JS,10,365988,0x381e1335f7e,61,set node:internal/streams/readable:184:8,0x77b20ecd00,~
code-source-info,0x381e1335f7e,97,6409,6579,C0O6426C4O6448C6O6453C11O6468C15O6486C17O6491C26O6502C31O6499C37O6537C39O6542C48O6554C50O6553C55O6550C60O6578,,
code-creation,JS,10,366034,0x381e13360b6,50,set node:internal/streams/writable:130:8,0x381e1309578,~
code-source-info,0x381e13360b6,102,4071,4160,C0O4088C4O4099C8O4104C17O4115C20O4112C26O4132C30O4137C39O4148C44O4145C49O4159,,
code-creation,JS,10,366076,0x381e13361d6,61,set node:internal/streams/writable:215:8,0x381e13033b8,~
code-source-info,0x381e13361d6,102,7301,7471,C0O7318C4O7340C6O7345C11O7360C15O7378C17O7383C26O7394C31O7391C37O7429C39O7434C48O7446C50O7445C55O7442C60O7470,,
code-creation,JS,10,366122,0x381e133631e,47,get node:internal/streams/writable:228:8,0x381e1303408,~
code-source-info,0x381e133631e,102,7550,7647,C0O7555C2O7568C4O7567C10O7578C12O7576C17O7592C24O7606C26O7605C32O7616C34O7614C39O7627C46O7645,,
code-creation,JS,10,369375,0x381e1337096,21,addCleanup node:internal/bootstrap/switches/is_main_thread:142:20,0x39e2db7afb8,~
code-source-info,0x381e1337096,60,3799,3875,C0O3809C5O3813C10O3842C15O3842C20O3874,,
code-creation,JS,10,369506,0x381e13371be,81,value node:internal/console/constructor:326:20,0x39e2db76100,~
code-source-info,0x381e13371be,54,10094,10511,C0O10124C2O10129C4O10128C8O10149C10O10159C15O10182C18O10190C22O10206C27O10207C33O10265C38O10276C43O10276C49O10294C51O10330C57O10365C59O10380C63O10409C65O10424C66O10443C72O10458C78O10481C80O10504,,
code-creation,JS,10,369612,0x381e1337346,32,lazyUtilColors node:internal/console/constructor:85:24,0x39e2db74628,~
code-source-info,0x381e1337346,54,2043,2123,C0O2051C14O2066C21O2062C27O2102C31O2120,,
code-creation,Eval,10,369766,0x381e133765e,5, node:internal/util/colors:1:1,0x381e13374c8,~
script-source,112,node:internal/util/colors,'use strict';\x0d\n\x0d\nlet internalTTy;\x0d\nfunction lazyInternalTTY() {\x0d\n internalTTy ??= require('internal/tty');\x0d\n return internalTTy;\x0d\n}\x0d\n\x0d\nmodule.exports = {\x0d\n blue: ''\x2C\x0d\n green: ''\x2C\x0d\n white: ''\x2C\x0d\n red: ''\x2C\x0d\n gray: ''\x2C\x0d\n clear: ''\x2C\x0d\n hasColors: false\x2C\x0d\n shouldColorize(stream) {\x0d\n if (process.env.FORCE_COLOR !== undefined) {\x0d\n return lazyInternalTTY().getColorDepth() > 2;\x0d\n }\x0d\n return stream?.isTTY && (\x0d\n typeof stream.getColorDepth === 'function' ?\x0d\n stream.getColorDepth() > 2 : true);\x0d\n }\x2C\x0d\n refresh() {\x0d\n if (process.stderr.isTTY) {\x0d\n const hasColors = module.exports.shouldColorize(process.stderr);\x0d\n module.exports.blue = hasColors ? '\\u001b[34m' : '';\x0d\n module.exports.green = hasColors ? '\\u001b[32m' : '';\x0d\n module.exports.white = hasColors ? '\\u001b[39m' : '';\x0d\n module.exports.yellow = hasColors ? '\\u001b[33m' : '';\x0d\n module.exports.red = hasColors ? '\\u001b[31m' : '';\x0d\n module.exports.gray = hasColors ? '\\u001b[90m' : '';\x0d\n module.exports.clear = hasColors ? '\\u001bc' : '';\x0d\n module.exports.hasColors = hasColors;\x0d\n }\x0d\n }\x2C\x0d\n};\x0d\n\x0d\nmodule.exports.refresh();\x0d\n
code-source-info,0x381e133765e,112,0,1162,C0O0C4O1162,,
code-creation,JS,10,369893,0x381e13378ae,78, node:internal/util/colors:1:1,0x381e13375d8,~
code-source-info,0x381e13378ae,112,0,1162,C0O0C26O21C27O21C29O137C37O260C45O532C55O152C59O1135C62O1142C67O1150C72O1150C77O1161,,
code-creation,JS,10,370078,0x381e1337fe6,211,refresh node:internal/util/colors:25:10,0x381e1337730,~
code-source-info,0x381e1337fe6,112,539,1126,C0O549C3O561C8O568C14O602C17O609C22O617C30O640C35O617C41O656C44O663C51O678C59O676C63O716C66O723C73O739C81O737C85O777C88O784C95O800C103O798C107O838C110O845C117O862C125O860C129O900C132O907C139O921C147O919C151O959C154O966C161O981C169O979C173O1019C176O1026C183O1042C191O1040C195O1077C198O1084C205O1102C210O1125,,
code-creation,JS,10,370234,0x381e13383fe,125,getStderr node:internal/bootstrap/switches/is_main_thread:170:19,0x39e2db7b080,~
code-source-info,0x381e13383fe,60,4613,5305,C0O4621C6O4633C10O4647C11O4651C17O4660C24O4658C30O4693C37O4714C40O4721C44O4712C48O4733C53O4756C60O4747C66O4834C73O4850C77O4869C82O4880C88O4894C91O4902C102O4902C108O4951C116O4951C120O5288C124O5302,,
code-creation,JS,10,371212,0x381e1338766,80,shouldColorize node:internal/util/colors:17:17,0x381e13376e0,~
code-source-info,0x381e1338766,112,274,527,C0O290C3O302C8O306C14O342C17O349C21O366C26O367C33O383C36O387C37O400C44O413C53O447C61O494C66O494C73O510C79O522,,
code-creation,JS,10,371549,0x381e1338e46,765,getColorDepth node:internal/tty:106:23,0x381e132e010,~
code-source-info,0x381e1338e46,111,3287,6375,C0O3287C17O3302C27O3437C30O3445C36O3479C39O3491C81O3568C89O3568C93O3607C99O3624C100O3651C108O3651C112O3690C118O3708C119O3735C127O3735C131O3774C137O3792C138O3818C144O3834C145O3852C148O3860C157O3944C166O4178C173O4183C178O4202C184O4218C185O4229C190O4241C197O4250C202O4313C210O4371C218O4371C223O4359C228O4393C235O4426C242O4405C252O4403C260O4630C268O4644C271O4634C276O4648C281O4678C290O4688C293O4678C296O4700C300O4710C305O4729C311O4747C312O4755C316O4765C321O4784C327O4802C328O4817C334O4834C335O4845C338O4853C344O4866C350O4884C351O4895C354O4903C360O4914C365O5063C375O5063C385O5098C392O5106C397O5131C403O5149C404O5162C410O5178C411O5189C416O5212C421O5227C437O5291C442O5234C453O5327C461O5339C463O5348C464O5359C467O5371C502O5417C505O5426C515O5459C527O5495C532O5459C539O5546C545O5564C546O5581C552O5599C553O5651C559O5669C560O5705C566O5723C567O5734C570O5742C577O5752C585O5775C592O5785C597O5805C603O5823C604O5834C607O5842C620O5855C638O5897C643O5859C650O5922C656O5940C657O5971C669O6002C674O5971C678O5971C680O6016C689O6029C694O6049C703O6065C706O6075C707O6088C718O6111C726O6092C733O6223C739O6240C742O6304C745O6312C751O6330C757O6347C758O6356C764O6372,,
code-creation,Eval,10,372238,0x381e133a62e,5, node:os:1:1,0x381e133a2b8,~
script-source,113,node:os,// Copyright Joyent\x2C Inc. and other Node contributors.\x0d\n//\x0d\n// Permission is hereby granted\x2C free of charge\x2C to any person obtaining a\x0d\n// copy of this software and associated documentation files (the\x0d\n// "Software")\x2C to deal in the Software without restriction\x2C including\x0d\n// without limitation the rights to use\x2C copy\x2C modify\x2C merge\x2C publish\x2C\x0d\n// distribute\x2C sublicense\x2C and/or sell copies of the Software\x2C and to permit\x0d\n// persons to whom the Software is furnished to do so\x2C subject to the\x0d\n// following conditions:\x0d\n//\x0d\n// The above copyright notice and this permission notice shall be included\x0d\n// in all copies or substantial portions of the Software.\x0d\n//\x0d\n// THE SOFTWARE IS PROVIDED "AS IS"\x2C WITHOUT WARRANTY OF ANY KIND\x2C EXPRESS\x0d\n// OR IMPLIED\x2C INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\x0d\n// MERCHANTABILITY\x2C FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\x0d\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM\x2C\x0d\n// DAMAGES OR OTHER LIABILITY\x2C WHETHER IN AN ACTION OF CONTRACT\x2C TORT OR\x0d\n// OTHERWISE\x2C ARISING FROM\x2C OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\x0d\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\x0d\n\x0d\n'use strict';\x0d\n\x0d\nconst {\x0d\n ArrayPrototypePush\x2C\x0d\n Float64Array\x2C\x0d\n NumberParseInt\x2C\x0d\n ObjectDefineProperties\x2C\x0d\n StringPrototypeEndsWith\x2C\x0d\n StringPrototypeSlice\x2C\x0d\n SymbolToPrimitive\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst { safeGetenv } = internalBinding('credentials');\x0d\nconst constants = internalBinding('constants').os;\x0d\nconst isWindows = process.platform === 'win32';\x0d\n\x0d\nconst {\x0d\n codes: {\x0d\n ERR_SYSTEM_ERROR\x2C\x0d\n }\x2C\x0d\n hideStackFrames\x2C\x0d\n} = require('internal/errors');\x0d\nconst { validateInt32 } = require('internal/validators');\x0d\n\x0d\nconst {\x0d\n getAvailableParallelism\x2C\x0d\n getCPUs\x2C\x0d\n getFreeMem\x2C\x0d\n getHomeDirectory: _getHomeDirectory\x2C\x0d\n getHostname: _getHostname\x2C\x0d\n getInterfaceAddresses: _getInterfaceAddresses\x2C\x0d\n getLoadAvg\x2C\x0d\n getPriority: _getPriority\x2C\x0d\n getOSInformation: _getOSInformation\x2C\x0d\n getTotalMem\x2C\x0d\n getUserInfo\x2C\x0d\n getUptime: _getUptime\x2C\x0d\n isBigEndian\x2C\x0d\n setPriority: _setPriority\x2C\x0d\n} = internalBinding('os');\x0d\n\x0d\nfunction getCheckedFunction(fn) {\x0d\n return hideStackFrames(function checkError() {\x0d\n const ctx = {};\x0d\n const ret = fn(ctx);\x0d\n if (ret === undefined) {\x0d\n throw new ERR_SYSTEM_ERROR.HideStackFramesError(ctx);\x0d\n }\x0d\n return ret;\x0d\n });\x0d\n}\x0d\n\x0d\nconst {\x0d\n 0: type\x2C\x0d\n 1: version\x2C\x0d\n 2: release\x2C\x0d\n 3: machine\x2C\x0d\n} = _getOSInformation();\x0d\n\x0d\nconst getHomeDirectory = getCheckedFunction(_getHomeDirectory);\x0d\nconst getHostname = getCheckedFunction(_getHostname);\x0d\nconst getInterfaceAddresses = getCheckedFunction(_getInterfaceAddresses);\x0d\nconst getUptime = getCheckedFunction(_getUptime);\x0d\n\x0d\n/**\x0d\n * @returns {string}\x0d\n */\x0d\nconst getOSRelease = () => release;\x0d\n/**\x0d\n * @returns {string}\x0d\n */\x0d\nconst getOSType = () => type;\x0d\n/**\x0d\n * @returns {string}\x0d\n */\x0d\nconst getOSVersion = () => version;\x0d\n/**\x0d\n * @returns {string}\x0d\n */\x0d\nconst getMachine = () => machine;\x0d\n\x0d\ngetAvailableParallelism[SymbolToPrimitive] = () => getAvailableParallelism();\x0d\ngetFreeMem[SymbolToPrimitive] = () => getFreeMem();\x0d\ngetHostname[SymbolToPrimitive] = () => getHostname();\x0d\ngetOSVersion[SymbolToPrimitive] = () => getOSVersion();\x0d\ngetOSType[SymbolToPrimitive] = () => getOSType();\x0d\ngetOSRelease[SymbolToPrimitive] = () => getOSRelease();\x0d\ngetMachine[SymbolToPrimitive] = () => getMachine();\x0d\ngetHomeDirectory[SymbolToPrimitive] = () => getHomeDirectory();\x0d\ngetTotalMem[SymbolToPrimitive] = () => getTotalMem();\x0d\ngetUptime[SymbolToPrimitive] = () => getUptime();\x0d\n\x0d\nconst kEndianness = isBigEndian ? 'BE' : 'LE';\x0d\n\x0d\nconst avgValues = new Float64Array(3);\x0d\n\x0d\n/**\x0d\n * @returns {[number\x2C number\x2C number]}\x0d\n */\x0d\nfunction loadavg() {\x0d\n getLoadAvg(avgValues);\x0d\n return [avgValues[0]\x2C avgValues[1]\x2C avgValues[2]];\x0d\n}\x0d\n\x0d\n/**\x0d\n * Returns an array of objects containing information about each\x0d\n * logical CPU core.\x0d\n * @returns {Array<{\x0d\n * model: string\x2C\x0d\n * speed: number\x2C\x0d\n * times: {\x0d\n * user: number\x2C\x0d\n * nice: number\x2C\x0d\n * sys: number\x2C\x0d\n * idle: number\x2C\x0d\n * irq: number\x2C\x0d\n * }\x2C\x0d\n * }>}\x0d\n */\x0d\nfunction cpus() {\x0d\n // [] is a bugfix for a regression introduced in 51cea61\x0d\n const data = getCPUs() || [];\x0d\n const result = [];\x0d\n let i = 0;\x0d\n while (i < data.length) {\x0d\n ArrayPrototypePush(result\x2C {\x0d\n model: data[i++]\x2C\x0d\n speed: data[i++]\x2C\x0d\n times: {\x0d\n user: data[i++]\x2C\x0d\n nice: data[i++]\x2C\x0d\n sys: data[i++]\x2C\x0d\n idle: data[i++]\x2C\x0d\n irq: data[i++]\x2C\x0d\n }\x2C\x0d\n });\x0d\n }\x0d\n return result;\x0d\n}\x0d\n\x0d\n/**\x0d\n * @returns {string}\x0d\n */\x0d\nfunction arch() {\x0d\n return process.arch;\x0d\n}\x0d\narch[SymbolToPrimitive] = () => process.arch;\x0d\n\x0d\n/**\x0d\n * @returns {string}\x0d\n */\x0d\nfunction platform() {\x0d\n return process.platform;\x0d\n}\x0d\nplatform[SymbolToPrimitive] = () => process.platform;\x0d\n\x0d\n/**\x0d\n * @returns {string}\x0d\n */\x0d\nfunction tmpdir() {\x0d\n let path;\x0d\n if (isWindows) {\x0d\n path = process.env.TEMP ||\x0d\n process.env.TMP ||\x0d\n (process.env.SystemRoot || process.env.windir) + '\\\\temp';\x0d\n if (path.length > 1 && StringPrototypeEndsWith(path\x2C '\\\\') &&\x0d\n !StringPrototypeEndsWith(path\x2C ':\\\\'))\x0d\n path = StringPrototypeSlice(path\x2C 0\x2C -1);\x0d\n } else {\x0d\n path = safeGetenv('TMPDIR') ||\x0d\n safeGetenv('TMP') ||\x0d\n safeGetenv('TEMP') ||\x0d\n '/tmp';\x0d\n if (path.length > 1 && StringPrototypeEndsWith(path\x2C '/'))\x0d\n path = StringPrototypeSlice(path\x2C 0\x2C -1);\x0d\n }\x0d\n\x0d\n return path;\x0d\n}\x0d\ntmpdir[SymbolToPrimitive] = () => tmpdir();\x0d\n\x0d\n/**\x0d\n * @returns {'BE' | 'LE'}\x0d\n */\x0d\nfunction endianness() {\x0d\n return kEndianness;\x0d\n}\x0d\nendianness[SymbolToPrimitive] = () => kEndianness;\x0d\n\x0d\n// Returns the number of ones in the binary representation of the decimal\x0d\n// number.\x0d\nfunction countBinaryOnes(n) {\x0d\n // Count the number of bits set in parallel\x2C which is faster than looping\x0d\n n = n - ((n >>> 1) & 0x55555555);\x0d\n n = (n & 0x33333333) + ((n >>> 2) & 0x33333333);\x0d\n return ((n + (n >>> 4) & 0xF0F0F0F) * 0x1010101) >>> 24;\x0d\n}\x0d\n\x0d\nfunction getCIDR(address\x2C netmask\x2C family) {\x0d\n let ones = 0;\x0d\n let split = '.';\x0d\n let range = 10;\x0d\n let groupLength = 8;\x0d\n let hasZeros = false;\x0d\n let lastPos = 0;\x0d\n\x0d\n if (family === 'IPv6') {\x0d\n split = ':';\x0d\n range = 16;\x0d\n groupLength = 16;\x0d\n }\x0d\n\x0d\n for (let i = 0; i < netmask.length; i++) {\x0d\n if (netmask[i] !== split) {\x0d\n if (i + 1 < netmask.length) {\x0d\n continue;\x0d\n }\x0d\n i++;\x0d\n }\x0d\n const part = StringPrototypeSlice(netmask\x2C lastPos\x2C i);\x0d\n lastPos = i + 1;\x0d\n if (part !== '') {\x0d\n if (hasZeros) {\x0d\n if (part !== '0') {\x0d\n return null;\x0d\n }\x0d\n } else {\x0d\n const binary = NumberParseInt(part\x2C range);\x0d\n const binaryOnes = countBinaryOnes(binary);\x0d\n ones += binaryOnes;\x0d\n if (binaryOnes !== groupLength) {\x0d\n if ((binary & 1) !== 0) {\x0d\n return null;\x0d\n }\x0d\n hasZeros = true;\x0d\n }\x0d\n }\x0d\n }\x0d\n }\x0d\n\x0d\n return `${address}/${ones}`;\x0d\n}\x0d\n\x0d\n/**\x0d\n * @returns {Record<string\x2C Array<{\x0d\n * address: string\x2C\x0d\n * netmask: string\x2C\x0d\n * family: 'IPv4' | 'IPv6'\x2C\x0d\n * mac: string\x2C\x0d\n * internal: boolean\x2C\x0d\n * scopeid: number\x2C\x0d\n * cidr: string | null\x2C\x0d\n * }>>}\x0d\n */\x0d\nfunction networkInterfaces() {\x0d\n const data = getInterfaceAddresses();\x0d\n const result = {};\x0d\n\x0d\n if (data === undefined)\x0d\n return result;\x0d\n for (let i = 0; i < data.length; i += 7) {\x0d\n const name = data[i];\x0d\n const entry = {\x0d\n address: data[i + 1]\x2C\x0d\n netmask: data[i + 2]\x2C\x0d\n family: data[i + 3]\x2C\x0d\n mac: data[i + 4]\x2C\x0d\n internal: data[i + 5]\x2C\x0d\n cidr: getCIDR(data[i + 1]\x2C data[i + 2]\x2C data[i + 3])\x2C\x0d\n };\x0d\n const scopeid = data[i + 6];\x0d\n if (scopeid !== -1)\x0d\n entry.scopeid = scopeid;\x0d\n\x0d\n const existing = result[name];\x0d\n if (existing !== undefined)\x0d\n ArrayPrototypePush(existing\x2C entry);\x0d\n else\x0d\n result[name] = [entry];\x0d\n }\x0d\n\x0d\n return result;\x0d\n}\x0d\n\x0d\n/**\x0d\n * @param {number} [pid=0]\x0d\n * @param {number} priority\x0d\n * @returns {void}\x0d\n */\x0d\nfunction setPriority(pid\x2C priority) {\x0d\n if (priority === undefined) {\x0d\n priority = pid;\x0d\n pid = 0;\x0d\n }\x0d\n\x0d\n validateInt32(pid\x2C 'pid');\x0d\n validateInt32(priority\x2C 'priority'\x2C -20\x2C 19);\x0d\n\x0d\n const ctx = {};\x0d\n\x0d\n if (_setPriority(pid\x2C priority\x2C ctx) !== 0)\x0d\n throw new ERR_SYSTEM_ERROR(ctx);\x0d\n}\x0d\n\x0d\n/**\x0d\n * @param {number} [pid=0]\x0d\n * @returns {number}\x0d\n */\x0d\nfunction getPriority(pid) {\x0d\n if (pid === undefined)\x0d\n pid = 0;\x0d\n else\x0d\n validateInt32(pid\x2C 'pid');\x0d\n\x0d\n const ctx = {};\x0d\n const priority = _getPriority(pid\x2C ctx);\x0d\n\x0d\n if (priority === undefined)\x0d\n throw new ERR_SYSTEM_ERROR(ctx);\x0d\n\x0d\n return priority;\x0d\n}\x0d\n\x0d\n/**\x0d\n * @param {{ encoding?: string }} [options=utf8] If `encoding` is set to\x0d\n * `'buffer'`\x2C the `username`\x2C `shell`\x2C and `homedir` values will\x0d\n * be `Buffer` instances.\x0d\n * @returns {{\x0d\n * uid: number\x2C\x0d\n * gid: number\x2C\x0d\n * username: string\x2C\x0d\n * homedir: string\x2C\x0d\n * shell: string | null\x2C\x0d\n * }}\x0d\n */\x0d\nfunction userInfo(options) {\x0d\n if (typeof options !== 'object')\x0d\n options = null;\x0d\n\x0d\n const ctx = {};\x0d\n const user = getUserInfo(options\x2C ctx);\x0d\n\x0d\n if (user === undefined)\x0d\n throw new ERR_SYSTEM_ERROR(ctx);\x0d\n\x0d\n if (isWindows) {\x0d\n user.uid |= 0;\x0d\n user.gid |= 0;\x0d\n }\x0d\n\x0d\n return user;\x0d\n}\x0d\n\x0d\nmodule.exports = {\x0d\n arch\x2C\x0d\n availableParallelism: getAvailableParallelism\x2C\x0d\n cpus\x2C\x0d\n endianness\x2C\x0d\n freemem: getFreeMem\x2C\x0d\n getPriority\x2C\x0d\n homedir: getHomeDirectory\x2C\x0d\n hostname: getHostname\x2C\x0d\n loadavg\x2C\x0d\n networkInterfaces\x2C\x0d\n platform\x2C\x0d\n release: getOSRelease\x2C\x0d\n setPriority\x2C\x0d\n tmpdir\x2C\x0d\n totalmem: getTotalMem\x2C\x0d\n type: getOSType\x2C\x0d\n userInfo\x2C\x0d\n uptime: getUptime\x2C\x0d\n version: getOSVersion\x2C\x0d\n machine: getMachine\x2C\x0d\n};\x0d\n\x0d\nObjectDefineProperties(module.exports\x2C {\x0d\n constants: {\x0d\n __proto__: null\x2C\x0d\n configurable: false\x2C\x0d\n enumerable: true\x2C\x0d\n value: constants\x2C\x0d\n }\x2C\x0d\n\x0d\n EOL: {\x0d\n __proto__: null\x2C\x0d\n configurable: true\x2C\x0d\n enumerable: true\x2C\x0d\n writable: false\x2C\x0d\n value: isWindows ? '\\r\\n' : '\\n'\x2C\x0d\n }\x2C\x0d\n\x0d\n devNull: {\x0d\n __proto__: null\x2C\x0d\n configurable: true\x2C\x0d\n enumerable: true\x2C\x0d\n writable: false\x2C\x0d\n value: isWindows ? '\\\\\\\\.\\\\nul' : '/dev/null'\x2C\x0d\n }\x2C\x0d\n});\x0d\n
code-source-info,0x381e133a62e,113,0,10195,C0O0C4O10195,,
code-creation,JS,10,373021,0x381e133b99e,886, node:os:1:1,0x381e133a5a8,~
code-source-info,0x381e133b99e,113,0,10195,C0O0C174O1183C180O1206C185O1223C191O1242C196O1269C202O1297C208O1322C213O1385C217O1385C223O1370C229O1436C233O1436C239O1464C244O1488C248O1496C256O1505C259O1488C261O1595C265O1595C271O1539C277O1546C283O1573C289O1650C293O1650C299O1632C305O2062C309O2062C315O1696C321O1724C327O1736C333O1769C338O1804C343O1844C348O1871C354O1899C360O1934C365O1956C371O1972C377O1999C382O2014C387O2043C393O2417C401O2361C410O2373C419O2388C428O2403C433O2466C437O2466C439O2526C443O2526C445O2591C449O2591C451O2654C455O2654C457O2742C461O2742C463O2808C467O2808C469O2874C473O2874C475O2941C479O2941C481O2959C485O2983C489O3002C493O3038C497O3049C501O3068C505O3091C509O3103C513O3122C517O3146C521O3159C525O3178C529O3203C533O3213C537O3232C541O3254C545O3267C549O3286C553O3311C557O3322C561O3341C565O3364C569O3381C573O3400C577O3429C581O3441C585O3460C589O3484C593O3494C597O3513C601O3557C611O3557C613O3605C619O3605C624O3605C626O4614C630O4633C634O4753C638O4772C642O5459C646O5466C650O5485C654O5605C658O5624C662O9281C670O9303C676O9334C682O9362C688O9371C694O9395C700O9410C706O9435C712O9466C718O9482C724O9494C730O9516C736O9538C742O9555C748O9571C754O9592C760O9614C766O9628C772O9649C778O9672C784O9698C790O9296C794O9747C806O9772C814O9857C824O9884C835O9990C853O10037C861O10143C879O9717C885O10194,,
code-creation,JS,10,373806,0x381e133e236,26,getCheckedFunction node:os:63:28,0x381e133a660,~
code-source-info,0x381e133e236,113,2115,2343,C0O2115C9O2125C21O2132C25O2340,,
code-creation,JS,10,374019,0x381e133fcce,5,getOSRelease node:os:89:22,0x381e133aa98,~
code-source-info,0x381e133fcce,113,2742,2755,C0O2748C4O2755,,
new,MemoryChunk,0x158ab300000,262144
code-creation,JS,10,374556,0x381e133fe1e,38,formatWithOptions node:internal/util/inspect:2164:27,0x39e2db4f760,~
script-source,21,node:internal/util/inspect,'use strict';\x0d\n\x0d\nconst {\x0d\n Array\x2C\x0d\n ArrayIsArray\x2C\x0d\n ArrayPrototypeFilter\x2C\x0d\n ArrayPrototypeForEach\x2C\x0d\n ArrayPrototypeIncludes\x2C\x0d\n ArrayPrototypeIndexOf\x2C\x0d\n ArrayPrototypeJoin\x2C\x0d\n ArrayPrototypeMap\x2C\x0d\n ArrayPrototypePop\x2C\x0d\n ArrayPrototypePush\x2C\x0d\n ArrayPrototypePushApply\x2C\x0d\n ArrayPrototypeSlice\x2C\x0d\n ArrayPrototypeSplice\x2C\x0d\n ArrayPrototypeSort\x2C\x0d\n ArrayPrototypeUnshift\x2C\x0d\n BigIntPrototypeValueOf\x2C\x0d\n BooleanPrototypeValueOf\x2C\x0d\n DatePrototypeGetTime\x2C\x0d\n DatePrototypeToISOString\x2C\x0d\n DatePrototypeToString\x2C\x0d\n ErrorPrototypeToString\x2C\x0d\n FunctionPrototypeBind\x2C\x0d\n FunctionPrototypeCall\x2C\x0d\n FunctionPrototypeToString\x2C\x0d\n JSONStringify\x2C\x0d\n MapPrototypeGetSize\x2C\x0d\n MapPrototypeEntries\x2C\x0d\n MathFloor\x2C\x0d\n MathMax\x2C\x0d\n MathMin\x2C\x0d\n MathRound\x2C\x0d\n MathSqrt\x2C\x0d\n MathTrunc\x2C\x0d\n Number\x2C\x0d\n NumberIsFinite\x2C\x0d\n NumberIsNaN\x2C\x0d\n NumberParseFloat\x2C\x0d\n NumberParseInt\x2C\x0d\n NumberPrototypeToString\x2C\x0d\n NumberPrototypeValueOf\x2C\x0d\n Object\x2C\x0d\n ObjectAssign\x2C\x0d\n ObjectDefineProperty\x2C\x0d\n ObjectGetOwnPropertyDescriptor\x2C\x0d\n ObjectGetOwnPropertyNames\x2C\x0d\n ObjectGetOwnPropertySymbols\x2C\x0d\n ObjectGetPrototypeOf\x2C\x0d\n ObjectIs\x2C\x0d\n ObjectKeys\x2C\x0d\n ObjectPrototypeHasOwnProperty\x2C\x0d\n ObjectPrototypePropertyIsEnumerable\x2C\x0d\n ObjectSeal\x2C\x0d\n ObjectSetPrototypeOf\x2C\x0d\n ReflectApply\x2C\x0d\n ReflectOwnKeys\x2C\x0d\n RegExp\x2C\x0d\n RegExpPrototypeExec\x2C\x0d\n RegExpPrototypeSymbolReplace\x2C\x0d\n RegExpPrototypeSymbolSplit\x2C\x0d\n RegExpPrototypeToString\x2C\x0d\n SafeStringIterator\x2C\x0d\n SafeMap\x2C\x0d\n SafeSet\x2C\x0d\n SetPrototypeGetSize\x2C\x0d\n SetPrototypeValues\x2C\x0d\n String\x2C\x0d\n StringPrototypeCharCodeAt\x2C\x0d\n StringPrototypeCodePointAt\x2C\x0d\n StringPrototypeIncludes\x2C\x0d\n StringPrototypeIndexOf\x2C\x0d\n StringPrototypeLastIndexOf\x2C\x0d\n StringPrototypeNormalize\x2C\x0d\n StringPrototypePadEnd\x2C\x0d\n StringPrototypePadStart\x2C\x0d\n StringPrototypeRepeat\x2C\x0d\n StringPrototypeReplaceAll\x2C\x0d\n StringPrototypeSlice\x2C\x0d\n StringPrototypeSplit\x2C\x0d\n StringPrototypeEndsWith\x2C\x0d\n StringPrototypeStartsWith\x2C\x0d\n StringPrototypeToLowerCase\x2C\x0d\n StringPrototypeTrim\x2C\x0d\n StringPrototypeValueOf\x2C\x0d\n SymbolPrototypeToString\x2C\x0d\n SymbolPrototypeValueOf\x2C\x0d\n SymbolIterator\x2C\x0d\n SymbolToPrimitive\x2C\x0d\n SymbolToStringTag\x2C\x0d\n TypedArrayPrototypeGetLength\x2C\x0d\n TypedArrayPrototypeGetSymbolToStringTag\x2C\x0d\n Uint8Array\x2C\x0d\n globalThis\x2C\x0d\n uncurryThis\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst {\x0d\n constants: {\x0d\n ALL_PROPERTIES\x2C\x0d\n ONLY_ENUMERABLE\x2C\x0d\n kPending\x2C\x0d\n kRejected\x2C\x0d\n }\x2C\x0d\n getOwnNonIndexProperties\x2C\x0d\n getPromiseDetails\x2C\x0d\n getProxyDetails\x2C\x0d\n previewEntries\x2C\x0d\n getConstructorName: internalGetConstructorName\x2C\x0d\n getExternalValue\x2C\x0d\n} = internalBinding('util');\x0d\n\x0d\nconst {\x0d\n customInspectSymbol\x2C\x0d\n isError\x2C\x0d\n join\x2C\x0d\n removeColors\x2C\x0d\n} = require('internal/util');\x0d\n\x0d\nconst {\x0d\n isStackOverflowError\x2C\x0d\n} = require('internal/errors');\x0d\n\x0d\nconst {\x0d\n isAsyncFunction\x2C\x0d\n isGeneratorFunction\x2C\x0d\n isAnyArrayBuffer\x2C\x0d\n isArrayBuffer\x2C\x0d\n isArgumentsObject\x2C\x0d\n isBoxedPrimitive\x2C\x0d\n isDataView\x2C\x0d\n isExternal\x2C\x0d\n isMap\x2C\x0d\n isMapIterator\x2C\x0d\n isModuleNamespaceObject\x2C\x0d\n isNativeError\x2C\x0d\n isPromise\x2C\x0d\n isSet\x2C\x0d\n isSetIterator\x2C\x0d\n isWeakMap\x2C\x0d\n isWeakSet\x2C\x0d\n isRegExp\x2C\x0d\n isDate\x2C\x0d\n isTypedArray\x2C\x0d\n isStringObject\x2C\x0d\n isNumberObject\x2C\x0d\n isBooleanObject\x2C\x0d\n isBigIntObject\x2C\x0d\n} = require('internal/util/types');\x0d\n\x0d\nconst assert = require('internal/assert');\x0d\n\x0d\nconst { BuiltinModule } = require('internal/bootstrap/realm');\x0d\nconst {\x0d\n validateObject\x2C\x0d\n validateString\x2C\x0d\n kValidateObjectAllowArray\x2C\x0d\n} = require('internal/validators');\x0d\n\x0d\nlet hexSlice;\x0d\nlet internalUrl;\x0d\n\x0d\nfunction pathToFileUrlHref(filepath) {\x0d\n internalUrl ??= require('internal/url');\x0d\n return internalUrl.pathToFileURL(filepath).href;\x0d\n}\x0d\n\x0d\nconst builtInObjects = new SafeSet(\x0d\n ArrayPrototypeFilter(\x0d\n ObjectGetOwnPropertyNames(globalThis)\x2C\x0d\n (e) => RegExpPrototypeExec(/^[A-Z][a-zA-Z0-9]+$/\x2C e) !== null\x2C\x0d\n )\x2C\x0d\n);\x0d\n\x0d\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\x0d\nconst isUndetectableObject = (v) => typeof v === 'undefined' && v !== undefined;\x0d\n\x0d\n// These options must stay in sync with `getUserOptions`. So if any option will\x0d\n// be added or removed\x2C `getUserOptions` must also be updated accordingly.\x0d\nconst inspectDefaultOptions = ObjectSeal({\x0d\n showHidden: false\x2C\x0d\n depth: 2\x2C\x0d\n colors: false\x2C\x0d\n customInspect: true\x2C\x0d\n showProxy: false\x2C\x0d\n maxArrayLength: 100\x2C\x0d\n maxStringLength: 10000\x2C\x0d\n breakLength: 80\x2C\x0d\n compact: 3\x2C\x0d\n sorted: false\x2C\x0d\n getters: false\x2C\x0d\n numericSeparator: false\x2C\x0d\n});\x0d\n\x0d\nconst kObjectType = 0;\x0d\nconst kArrayType = 1;\x0d\nconst kArrayExtrasType = 2;\x0d\n\x0d\n/* eslint-disable no-control-regex */\x0d\nconst strEscapeSequencesRegExp = /[\\x00-\\x1f\\x27\\x5c\\x7f-\\x9f]|[\\ud800-\\udbff](?![\\udc00-\\udfff])|(?<![\\ud800-\\udbff])[\\udc00-\\udfff]/;\x0d\nconst strEscapeSequencesReplacer = /[\\x00-\\x1f\\x27\\x5c\\x7f-\\x9f]|[\\ud800-\\udbff](?![\\udc00-\\udfff])|(?<![\\ud800-\\udbff])[\\udc00-\\udfff]/g;\x0d\nconst strEscapeSequencesRegExpSingle = /[\\x00-\\x1f\\x5c\\x7f-\\x9f]|[\\ud800-\\udbff](?![\\udc00-\\udfff])|(?<![\\ud800-\\udbff])[\\udc00-\\udfff]/;\x0d\nconst strEscapeSequencesReplacerSingle = /[\\x00-\\x1f\\x5c\\x7f-\\x9f]|[\\ud800-\\udbff](?![\\udc00-\\udfff])|(?<![\\ud800-\\udbff])[\\udc00-\\udfff]/g;\x0d\n/* eslint-enable no-control-regex */\x0d\n\x0d\nconst keyStrRegExp = /^[a-zA-Z_][a-zA-Z_0-9]*$/;\x0d\nconst numberRegExp = /^(0|[1-9][0-9]*)$/;\x0d\n\x0d\nconst coreModuleRegExp = /^ {4}at (?:[^/\\\\(]+ \\(|)node:(.+):\\d+:\\d+\\)?$/;\x0d\nconst nodeModulesRegExp = /[/\\\\]node_modules[/\\\\](.+?)(?=[/\\\\])/g;\x0d\n\x0d\nconst classRegExp = /^(\\s+[^(]*?)\\s*{/;\x0d\n// eslint-disable-next-line node-core/no-unescaped-regexp-dot\x0d\nconst stripCommentsRegExp = /(\\/\\/.*?\\n)|(\\/\\*(.|\\n)*?\\*\\/)/g;\x0d\n\x0d\nconst kMinLineLength = 16;\x0d\n\x0d\n// Constants to map the iterator state.\x0d\nconst kWeak = 0;\x0d\nconst kIterator = 1;\x0d\nconst kMapEntries = 2;\x0d\n\x0d\n// Escaped control characters (plus the single quote and the backslash). Use\x0d\n// empty strings to fill up unused entries.\x0d\nconst meta = [\x0d\n '\\\\x00'\x2C '\\\\x01'\x2C '\\\\x02'\x2C '\\\\x03'\x2C '\\\\x04'\x2C '\\\\x05'\x2C '\\\\x06'\x2C '\\\\x07'\x2C // x07\x0d\n '\\\\b'\x2C '\\\\t'\x2C '\\\\n'\x2C '\\\\x0B'\x2C '\\\\f'\x2C '\\\\r'\x2C '\\\\x0E'\x2C '\\\\x0F'\x2C // x0F\x0d\n '\\\\x10'\x2C '\\\\x11'\x2C '\\\\x12'\x2C '\\\\x13'\x2C '\\\\x14'\x2C '\\\\x15'\x2C '\\\\x16'\x2C '\\\\x17'\x2C // x17\x0d\n '\\\\x18'\x2C '\\\\x19'\x2C '\\\\x1A'\x2C '\\\\x1B'\x2C '\\\\x1C'\x2C '\\\\x1D'\x2C '\\\\x1E'\x2C '\\\\x1F'\x2C // x1F\x0d\n ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C "\\\\'"\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C // x2F\x0d\n ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C // x3F\x0d\n ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C // x4F\x0d\n ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C '\\\\\\\\'\x2C ''\x2C ''\x2C ''\x2C // x5F\x0d\n ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C // x6F\x0d\n ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C '\\\\x7F'\x2C // x7F\x0d\n '\\\\x80'\x2C '\\\\x81'\x2C '\\\\x82'\x2C '\\\\x83'\x2C '\\\\x84'\x2C '\\\\x85'\x2C '\\\\x86'\x2C '\\\\x87'\x2C // x87\x0d\n '\\\\x88'\x2C '\\\\x89'\x2C '\\\\x8A'\x2C '\\\\x8B'\x2C '\\\\x8C'\x2C '\\\\x8D'\x2C '\\\\x8E'\x2C '\\\\x8F'\x2C // x8F\x0d\n '\\\\x90'\x2C '\\\\x91'\x2C '\\\\x92'\x2C '\\\\x93'\x2C '\\\\x94'\x2C '\\\\x95'\x2C '\\\\x96'\x2C '\\\\x97'\x2C // x97\x0d\n '\\\\x98'\x2C '\\\\x99'\x2C '\\\\x9A'\x2C '\\\\x9B'\x2C '\\\\x9C'\x2C '\\\\x9D'\x2C '\\\\x9E'\x2C '\\\\x9F'\x2C // x9F\x0d\n];\x0d\n\x0d\n// Regex used for ansi escape code splitting\x0d\n// Adopted from https://github.com/chalk/ansi-regex/blob/HEAD/index.js\x0d\n// License: MIT\x2C authors: @sindresorhus\x2C Qix-\x2C arjunmehta and LitoMore\x0d\n// Matches all ansi escape code sequences in a string\x0d\nconst ansiPattern = '[\\\\u001B\\\\u009B][[\\\\]()#;?]*' +\x0d\n '(?:(?:(?:(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]+)*' +\x0d\n '|[a-zA-Z\\\\d]+(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)' +\x0d\n '|(?:(?:\\\\d{1\x2C4}(?:;\\\\d{0\x2C4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))';\x0d\nconst ansi = new RegExp(ansiPattern\x2C 'g');\x0d\n\x0d\nlet getStringWidth;\x0d\n\x0d\nfunction getUserOptions(ctx\x2C isCrossContext) {\x0d\n const ret = {\x0d\n stylize: ctx.stylize\x2C\x0d\n showHidden: ctx.showHidden\x2C\x0d\n depth: ctx.depth\x2C\x0d\n colors: ctx.colors\x2C\x0d\n customInspect: ctx.customInspect\x2C\x0d\n showProxy: ctx.showProxy\x2C\x0d\n maxArrayLength: ctx.maxArrayLength\x2C\x0d\n maxStringLength: ctx.maxStringLength\x2C\x0d\n breakLength: ctx.breakLength\x2C\x0d\n compact: ctx.compact\x2C\x0d\n sorted: ctx.sorted\x2C\x0d\n getters: ctx.getters\x2C\x0d\n numericSeparator: ctx.numericSeparator\x2C\x0d\n ...ctx.userOptions\x2C\x0d\n };\x0d\n\x0d\n // Typically\x2C the target value will be an instance of `Object`. If that is\x0d\n // *not* the case\x2C the object may come from another vm.Context\x2C and we want\x0d\n // to avoid passing it objects from this Context in that case\x2C so we remove\x0d\n // the prototype from the returned object itself + the `stylize()` function\x2C\x0d\n // and remove all other non-primitives\x2C including non-primitive user options.\x0d\n if (isCrossContext) {\x0d\n ObjectSetPrototypeOf(ret\x2C null);\x0d\n for (const key of ObjectKeys(ret)) {\x0d\n if ((typeof ret[key] === 'object' || typeof ret[key] === 'function') &&\x0d\n ret[key] !== null) {\x0d\n delete ret[key];\x0d\n }\x0d\n }\x0d\n ret.stylize = ObjectSetPrototypeOf((value\x2C flavour) => {\x0d\n let stylized;\x0d\n try {\x0d\n stylized = `${ctx.stylize(value\x2C flavour)}`;\x0d\n } catch {\x0d\n // Continue regardless of error.\x0d\n }\x0d\n\x0d\n if (typeof stylized !== 'string') return value;\x0d\n // `stylized` is a string as it should be\x2C which is safe to pass along.\x0d\n return stylized;\x0d\n }\x2C null);\x0d\n }\x0d\n\x0d\n return ret;\x0d\n}\x0d\n\x0d\n/**\x0d\n * Echos the value of any input. Tries to print the value out\x0d\n * in the best way possible given the different types.\x0d\n * @param {any} value The value to print out.\x0d\n * @param {object} opts Optional options object that alters the output.\x0d\n */\x0d\n/* Legacy: value\x2C showHidden\x2C depth\x2C colors */\x0d\nfunction inspect(value\x2C opts) {\x0d\n // Default options\x0d\n const ctx = {\x0d\n budget: {}\x2C\x0d\n indentationLvl: 0\x2C\x0d\n seen: []\x2C\x0d\n currentDepth: 0\x2C\x0d\n stylize: stylizeNoColor\x2C\x0d\n showHidden: inspectDefaultOptions.showHidden\x2C\x0d\n depth: inspectDefaultOptions.depth\x2C\x0d\n colors: inspectDefaultOptions.colors\x2C\x0d\n customInspect: inspectDefaultOptions.customInspect\x2C\x0d\n showProxy: inspectDefaultOptions.showProxy\x2C\x0d\n maxArrayLength: inspectDefaultOptions.maxArrayLength\x2C\x0d\n maxStringLength: inspectDefaultOptions.maxStringLength\x2C\x0d\n breakLength: inspectDefaultOptions.breakLength\x2C\x0d\n compact: inspectDefaultOptions.compact\x2C\x0d\n sorted: inspectDefaultOptions.sorted\x2C\x0d\n getters: inspectDefaultOptions.getters\x2C\x0d\n numericSeparator: inspectDefaultOptions.numericSeparator\x2C\x0d\n };\x0d\n if (arguments.length > 1) {\x0d\n // Legacy...\x0d\n if (arguments.length > 2) {\x0d\n if (arguments[2] !== undefined) {\x0d\n ctx.depth = arguments[2];\x0d\n }\x0d\n if (arguments.length > 3 && arguments[3] !== undefined) {\x0d\n ctx.colors = arguments[3];\x0d\n }\x0d\n }\x0d\n // Set user-specified options\x0d\n if (typeof opts === 'boolean') {\x0d\n ctx.showHidden = opts;\x0d\n } else if (opts) {\x0d\n const optKeys = ObjectKeys(opts);\x0d\n for (let i = 0; i < optKeys.length; ++i) {\x0d\n const key = optKeys[i];\x0d\n // TODO(BridgeAR): Find a solution what to do about stylize. Either make\x0d\n // this function public or add a new API with a similar or better\x0d\n // functionality.\x0d\n if (\x0d\n ObjectPrototypeHasOwnProperty(inspectDefaultOptions\x2C key) ||\x0d\n key === 'stylize') {\x0d\n ctx[key] = opts[key];\x0d\n } else if (ctx.userOptions === undefined) {\x0d\n // This is required to pass through the actual user input.\x0d\n ctx.userOptions = opts;\x0d\n }\x0d\n }\x0d\n }\x0d\n }\x0d\n if (ctx.colors) ctx.stylize = stylizeWithColor;\x0d\n if (ctx.maxArrayLength === null) ctx.maxArrayLength = Infinity;\x0d\n if (ctx.maxStringLength === null) ctx.maxStringLength = Infinity;\x0d\n return formatValue(ctx\x2C value\x2C 0);\x0d\n}\x0d\ninspect.custom = customInspectSymbol;\x0d\n\x0d\nObjectDefineProperty(inspect\x2C 'defaultOptions'\x2C {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n return inspectDefaultOptions;\x0d\n }\x2C\x0d\n set(options) {\x0d\n validateObject(options\x2C 'options');\x0d\n return ObjectAssign(inspectDefaultOptions\x2C options);\x0d\n }\x2C\x0d\n});\x0d\n\x0d\n// Set Graphics Rendition https://en.wikipedia.org/wiki/ANSI_escape_code#graphics\x0d\n// Each color consists of an array with the color code as first entry and the\x0d\n// reset code as second entry.\x0d\nconst defaultFG = 39;\x0d\nconst defaultBG = 49;\x0d\ninspect.colors = {\x0d\n __proto__: null\x2C\x0d\n reset: [0\x2C 0]\x2C\x0d\n bold: [1\x2C 22]\x2C\x0d\n dim: [2\x2C 22]\x2C // Alias: faint\x0d\n italic: [3\x2C 23]\x2C\x0d\n underline: [4\x2C 24]\x2C\x0d\n blink: [5\x2C 25]\x2C\x0d\n // Swap foreground and background colors\x0d\n inverse: [7\x2C 27]\x2C // Alias: swapcolors\x2C swapColors\x0d\n hidden: [8\x2C 28]\x2C // Alias: conceal\x0d\n strikethrough: [9\x2C 29]\x2C // Alias: strikeThrough\x2C crossedout\x2C crossedOut\x0d\n doubleunderline: [21\x2C 24]\x2C // Alias: doubleUnderline\x0d\n black: [30\x2C defaultFG]\x2C\x0d\n red: [31\x2C defaultFG]\x2C\x0d\n green: [32\x2C defaultFG]\x2C\x0d\n yellow: [33\x2C defaultFG]\x2C\x0d\n blue: [34\x2C defaultFG]\x2C\x0d\n magenta: [35\x2C defaultFG]\x2C\x0d\n cyan: [36\x2C defaultFG]\x2C\x0d\n white: [37\x2C defaultFG]\x2C\x0d\n bgBlack: [40\x2C defaultBG]\x2C\x0d\n bgRed: [41\x2C defaultBG]\x2C\x0d\n bgGreen: [42\x2C defaultBG]\x2C\x0d\n bgYellow: [43\x2C defaultBG]\x2C\x0d\n bgBlue: [44\x2C defaultBG]\x2C\x0d\n bgMagenta: [45\x2C defaultBG]\x2C\x0d\n bgCyan: [46\x2C defaultBG]\x2C\x0d\n bgWhite: [47\x2C defaultBG]\x2C\x0d\n framed: [51\x2C 54]\x2C\x0d\n overlined: [53\x2C 55]\x2C\x0d\n gray: [90\x2C defaultFG]\x2C // Alias: grey\x2C blackBright\x0d\n redBright: [91\x2C defaultFG]\x2C\x0d\n greenBright: [92\x2C defaultFG]\x2C\x0d\n yellowBright: [93\x2C defaultFG]\x2C\x0d\n blueBright: [94\x2C defaultFG]\x2C\x0d\n magentaBright: [95\x2C defaultFG]\x2C\x0d\n cyanBright: [96\x2C defaultFG]\x2C\x0d\n whiteBright: [97\x2C defaultFG]\x2C\x0d\n bgGray: [100\x2C defaultBG]\x2C // Alias: bgGrey\x2C bgBlackBright\x0d\n bgRedBright: [101\x2C defaultBG]\x2C\x0d\n bgGreenBright: [102\x2C defaultBG]\x2C\x0d\n bgYellowBright: [103\x2C defaultBG]\x2C\x0d\n bgBlueBright: [104\x2C defaultBG]\x2C\x0d\n bgMagentaBright: [105\x2C defaultBG]\x2C\x0d\n bgCyanBright: [106\x2C defaultBG]\x2C\x0d\n bgWhiteBright: [107\x2C defaultBG]\x2C\x0d\n};\x0d\n\x0d\nfunction defineColorAlias(target\x2C alias) {\x0d\n ObjectDefineProperty(inspect.colors\x2C alias\x2C {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n return this[target];\x0d\n }\x2C\x0d\n set(value) {\x0d\n this[target] = value;\x0d\n }\x2C\x0d\n configurable: true\x2C\x0d\n enumerable: false\x2C\x0d\n });\x0d\n}\x0d\n\x0d\ndefineColorAlias('gray'\x2C 'grey');\x0d\ndefineColorAlias('gray'\x2C 'blackBright');\x0d\ndefineColorAlias('bgGray'\x2C 'bgGrey');\x0d\ndefineColorAlias('bgGray'\x2C 'bgBlackBright');\x0d\ndefineColorAlias('dim'\x2C 'faint');\x0d\ndefineColorAlias('strikethrough'\x2C 'crossedout');\x0d\ndefineColorAlias('strikethrough'\x2C 'strikeThrough');\x0d\ndefineColorAlias('strikethrough'\x2C 'crossedOut');\x0d\ndefineColorAlias('hidden'\x2C 'conceal');\x0d\ndefineColorAlias('inverse'\x2C 'swapColors');\x0d\ndefineColorAlias('inverse'\x2C 'swapcolors');\x0d\ndefineColorAlias('doubleunderline'\x2C 'doubleUnderline');\x0d\n\x0d\n// TODO(BridgeAR): Add function style support for more complex styles.\x0d\n// Don't use 'blue' not visible on cmd.exe\x0d\ninspect.styles = ObjectAssign({ __proto__: null }\x2C {\x0d\n special: 'cyan'\x2C\x0d\n number: 'yellow'\x2C\x0d\n bigint: 'yellow'\x2C\x0d\n boolean: 'yellow'\x2C\x0d\n undefined: 'grey'\x2C\x0d\n null: 'bold'\x2C\x0d\n string: 'green'\x2C\x0d\n symbol: 'green'\x2C\x0d\n date: 'magenta'\x2C\x0d\n // "name": intentionally not styling\x0d\n // TODO(BridgeAR): Highlight regular expressions properly.\x0d\n regexp: 'red'\x2C\x0d\n module: 'underline'\x2C\x0d\n});\x0d\n\x0d\nfunction addQuotes(str\x2C quotes) {\x0d\n if (quotes === -1) {\x0d\n return `"${str}"`;\x0d\n }\x0d\n if (quotes === -2) {\x0d\n return `\\`${str}\\``;\x0d\n }\x0d\n return `'${str}'`;\x0d\n}\x0d\n\x0d\nfunction escapeFn(str) {\x0d\n const charCode = StringPrototypeCharCodeAt(str);\x0d\n return meta.length > charCode ? meta[charCode] : `\\\\u${NumberPrototypeToString(charCode\x2C 16)}`;\x0d\n}\x0d\n\x0d\n// Escape control characters\x2C single quotes and the backslash.\x0d\n// This is similar to JSON stringify escaping.\x0d\nfunction strEscape(str) {\x0d\n let escapeTest = strEscapeSequencesRegExp;\x0d\n let escapeReplace = strEscapeSequencesReplacer;\x0d\n let singleQuote = 39;\x0d\n\x0d\n // Check for double quotes. If not present\x2C do not escape single quotes and\x0d\n // instead wrap the text in double quotes. If double quotes exist\x2C check for\x0d\n // backticks. If they do not exist\x2C use those as fallback instead of the\x0d\n // double quotes.\x0d\n if (StringPrototypeIncludes(str\x2C "'")) {\x0d\n // This invalidates the charCode and therefore can not be matched for\x0d\n // anymore.\x0d\n if (!StringPrototypeIncludes(str\x2C '"')) {\x0d\n singleQuote = -1;\x0d\n } else if (!StringPrototypeIncludes(str\x2C '`') &&\x0d\n !StringPrototypeIncludes(str\x2C '${')) {\x0d\n singleQuote = -2;\x0d\n }\x0d\n if (singleQuote !== 39) {\x0d\n escapeTest = strEscapeSequencesRegExpSingle;\x0d\n escapeReplace = strEscapeSequencesReplacerSingle;\x0d\n }\x0d\n }\x0d\n\x0d\n // Some magic numbers that worked out fine while benchmarking with v8 6.0\x0d\n if (str.length < 5000 && RegExpPrototypeExec(escapeTest\x2C str) === null)\x0d\n return addQuotes(str\x2C singleQuote);\x0d\n if (str.length > 100) {\x0d\n str = RegExpPrototypeSymbolReplace(escapeReplace\x2C str\x2C escapeFn);\x0d\n return addQuotes(str\x2C singleQuote);\x0d\n }\x0d\n\x0d\n let result = '';\x0d\n let last = 0;\x0d\n for (let i = 0; i < str.length; i++) {\x0d\n const point = StringPrototypeCharCodeAt(str\x2C i);\x0d\n if (point === singleQuote ||\x0d\n point === 92 ||\x0d\n point < 32 ||\x0d\n (point > 126 && point < 160)) {\x0d\n if (last === i) {\x0d\n result += meta[point];\x0d\n } else {\x0d\n result += `${StringPrototypeSlice(str\x2C last\x2C i)}${meta[point]}`;\x0d\n }\x0d\n last = i + 1;\x0d\n } else if (point >= 0xd800 && point <= 0xdfff) {\x0d\n if (point <= 0xdbff && i + 1 < str.length) {\x0d\n const point = StringPrototypeCharCodeAt(str\x2C i + 1);\x0d\n if (point >= 0xdc00 && point <= 0xdfff) {\x0d\n i++;\x0d\n continue;\x0d\n }\x0d\n }\x0d\n result += `${StringPrototypeSlice(str\x2C last\x2C i)}\\\\u${NumberPrototypeToString(point\x2C 16)}`;\x0d\n last = i + 1;\x0d\n }\x0d\n }\x0d\n\x0d\n if (last !== str.length) {\x0d\n result += StringPrototypeSlice(str\x2C last);\x0d\n }\x0d\n return addQuotes(result\x2C singleQuote);\x0d\n}\x0d\n\x0d\nfunction stylizeWithColor(str\x2C styleType) {\x0d\n const style = inspect.styles[styleType];\x0d\n if (style !== undefined) {\x0d\n const color = inspect.colors[style];\x0d\n if (color !== undefined)\x0d\n return `\\u001b[${color[0]}m${str}\\u001b[${color[1]}m`;\x0d\n }\x0d\n return str;\x0d\n}\x0d\n\x0d\nfunction stylizeNoColor(str) {\x0d\n return str;\x0d\n}\x0d\n\x0d\n// Return a new empty array to push in the results of the default formatter.\x0d\nfunction getEmptyFormatArray() {\x0d\n return [];\x0d\n}\x0d\n\x0d\nfunction isInstanceof(object\x2C proto) {\x0d\n try {\x0d\n return object instanceof proto;\x0d\n } catch {\x0d\n return false;\x0d\n }\x0d\n}\x0d\n\x0d\nfunction getConstructorName(obj\x2C ctx\x2C recurseTimes\x2C protoProps) {\x0d\n let firstProto;\x0d\n const tmp = obj;\x0d\n while (obj || isUndetectableObject(obj)) {\x0d\n const descriptor = ObjectGetOwnPropertyDescriptor(obj\x2C 'constructor');\x0d\n if (descriptor !== undefined &&\x0d\n typeof descriptor.value === 'function' &&\x0d\n descriptor.value.name !== '' &&\x0d\n isInstanceof(tmp\x2C descriptor.value)) {\x0d\n if (protoProps !== undefined &&\x0d\n (firstProto !== obj ||\x0d\n !builtInObjects.has(descriptor.value.name))) {\x0d\n addPrototypeProperties(\x0d\n ctx\x2C tmp\x2C firstProto || tmp\x2C recurseTimes\x2C protoProps);\x0d\n }\x0d\n return String(descriptor.value.name);\x0d\n }\x0d\n\x0d\n obj = ObjectGetPrototypeOf(obj);\x0d\n if (firstProto === undefined) {\x0d\n firstProto = obj;\x0d\n }\x0d\n }\x0d\n\x0d\n if (firstProto === null) {\x0d\n return null;\x0d\n }\x0d\n\x0d\n const res = internalGetConstructorName(tmp);\x0d\n\x0d\n if (recurseTimes > ctx.depth && ctx.depth !== null) {\x0d\n return `${res} <Complex prototype>`;\x0d\n }\x0d\n\x0d\n const protoConstr = getConstructorName(\x0d\n firstProto\x2C ctx\x2C recurseTimes + 1\x2C protoProps);\x0d\n\x0d\n if (protoConstr === null) {\x0d\n return `${res} <${inspect(firstProto\x2C {\x0d\n ...ctx\x2C\x0d\n customInspect: false\x2C\x0d\n depth: -1\x2C\x0d\n })}>`;\x0d\n }\x0d\n\x0d\n return `${res} <${protoConstr}>`;\x0d\n}\x0d\n\x0d\n// This function has the side effect of adding prototype properties to the\x0d\n// `output` argument (which is an array). This is intended to highlight user\x0d\n// defined prototype properties.\x0d\nfunction addPrototypeProperties(ctx\x2C main\x2C obj\x2C recurseTimes\x2C output) {\x0d\n let depth = 0;\x0d\n let keys;\x0d\n let keySet;\x0d\n do {\x0d\n if (depth !== 0 || main === obj) {\x0d\n obj = ObjectGetPrototypeOf(obj);\x0d\n // Stop as soon as a null prototype is encountered.\x0d\n if (obj === null) {\x0d\n return;\x0d\n }\x0d\n // Stop as soon as a built-in object type is detected.\x0d\n const descriptor = ObjectGetOwnPropertyDescriptor(obj\x2C 'constructor');\x0d\n if (descriptor !== undefined &&\x0d\n typeof descriptor.value === 'function' &&\x0d\n builtInObjects.has(descriptor.value.name)) {\x0d\n return;\x0d\n }\x0d\n }\x0d\n\x0d\n if (depth === 0) {\x0d\n keySet = new SafeSet();\x0d\n } else {\x0d\n ArrayPrototypeForEach(keys\x2C (key) => keySet.add(key));\x0d\n }\x0d\n // Get all own property names and symbols.\x0d\n keys = ReflectOwnKeys(obj);\x0d\n ArrayPrototypePush(ctx.seen\x2C main);\x0d\n for (const key of keys) {\x0d\n // Ignore the `constructor` property and keys that exist on layers above.\x0d\n if (key === 'constructor' ||\x0d\n ObjectPrototypeHasOwnProperty(main\x2C key) ||\x0d\n (depth !== 0 && keySet.has(key))) {\x0d\n continue;\x0d\n }\x0d\n const desc = ObjectGetOwnPropertyDescriptor(obj\x2C key);\x0d\n if (typeof desc.value === 'function') {\x0d\n continue;\x0d\n }\x0d\n const value = formatProperty(\x0d\n ctx\x2C obj\x2C recurseTimes\x2C key\x2C kObjectType\x2C desc\x2C main);\x0d\n if (ctx.colors) {\x0d\n // Faint!\x0d\n ArrayPrototypePush(output\x2C `\\u001b[2m${value}\\u001b[22m`);\x0d\n } else {\x0d\n ArrayPrototypePush(output\x2C value);\x0d\n }\x0d\n }\x0d\n ArrayPrototypePop(ctx.seen);\x0d\n // Limit the inspection to up to three prototype layers. Using `recurseTimes`\x0d\n // is not a good choice here\x2C because it's as if the properties are declared\x0d\n // on the current object from the users perspective.\x0d\n } while (++depth !== 3);\x0d\n}\x0d\n\x0d\nfunction getPrefix(constructor\x2C tag\x2C fallback\x2C size = '') {\x0d\n if (constructor === null) {\x0d\n if (tag !== '' && fallback !== tag) {\x0d\n return `[${fallback}${size}: null prototype] [${tag}] `;\x0d\n }\x0d\n return `[${fallback}${size}: null prototype] `;\x0d\n }\x0d\n\x0d\n if (tag !== '' && constructor !== tag) {\x0d\n return `${constructor}${size} [${tag}] `;\x0d\n }\x0d\n return `${constructor}${size} `;\x0d\n}\x0d\n\x0d\n// Look up the keys of the object.\x0d\nfunction getKeys(value\x2C showHidden) {\x0d\n let keys;\x0d\n const symbols = ObjectGetOwnPropertySymbols(value);\x0d\n if (showHidden) {\x0d\n keys = ObjectGetOwnPropertyNames(value);\x0d\n if (symbols.length !== 0)\x0d\n ArrayPrototypePushApply(keys\x2C symbols);\x0d\n } else {\x0d\n // This might throw if `value` is a Module Namespace Object from an\x0d\n // unevaluated module\x2C but we don't want to perform the actual type\x0d\n // check because it's expensive.\x0d\n // TODO(devsnek): track https://github.com/tc39/ecma262/issues/1209\x0d\n // and modify this logic as needed.\x0d\n try {\x0d\n keys = ObjectKeys(value);\x0d\n } catch (err) {\x0d\n assert(isNativeError(err) && err.name === 'ReferenceError' &&\x0d\n isModuleNamespaceObject(value));\x0d\n keys = ObjectGetOwnPropertyNames(value);\x0d\n }\x0d\n if (symbols.length !== 0) {\x0d\n const filter = (key) => ObjectPrototypePropertyIsEnumerable(value\x2C key);\x0d\n ArrayPrototypePushApply(keys\x2C ArrayPrototypeFilter(symbols\x2C filter));\x0d\n }\x0d\n }\x0d\n return keys;\x0d\n}\x0d\n\x0d\nfunction getCtxStyle(value\x2C constructor\x2C tag) {\x0d\n let fallback = '';\x0d\n if (constructor === null) {\x0d\n fallback = internalGetConstructorName(value);\x0d\n if (fallback === tag) {\x0d\n fallback = 'Object';\x0d\n }\x0d\n }\x0d\n return getPrefix(constructor\x2C tag\x2C fallback);\x0d\n}\x0d\n\x0d\nfunction formatProxy(ctx\x2C proxy\x2C recurseTimes) {\x0d\n if (recurseTimes > ctx.depth && ctx.depth !== null) {\x0d\n return ctx.stylize('Proxy [Array]'\x2C 'special');\x0d\n }\x0d\n recurseTimes += 1;\x0d\n ctx.indentationLvl += 2;\x0d\n const res = [\x0d\n formatValue(ctx\x2C proxy[0]\x2C recurseTimes)\x2C\x0d\n formatValue(ctx\x2C proxy[1]\x2C recurseTimes)\x2C\x0d\n ];\x0d\n ctx.indentationLvl -= 2;\x0d\n return reduceToSingleString(\x0d\n ctx\x2C res\x2C ''\x2C ['Proxy ['\x2C ']']\x2C kArrayExtrasType\x2C recurseTimes);\x0d\n}\x0d\n\x0d\n// Note: using `formatValue` directly requires the indentation level to be\x0d\n// corrected by setting `ctx.indentationLvL += diff` and then to decrease the\x0d\n// value afterwards again.\x0d\nfunction formatValue(ctx\x2C value\x2C recurseTimes\x2C typedArray) {\x0d\n // Primitive types cannot have properties.\x0d\n if (typeof value !== 'object' &&\x0d\n typeof value !== 'function' &&\x0d\n !isUndetectableObject(value)) {\x0d\n return formatPrimitive(ctx.stylize\x2C value\x2C ctx);\x0d\n }\x0d\n if (value === null) {\x0d\n return ctx.stylize('null'\x2C 'null');\x0d\n }\x0d\n\x0d\n // Memorize the context for custom inspection on proxies.\x0d\n const context = value;\x0d\n // Always check for proxies to prevent side effects and to prevent triggering\x0d\n // any proxy handlers.\x0d\n const proxy = getProxyDetails(value\x2C !!ctx.showProxy);\x0d\n if (proxy !== undefined) {\x0d\n if (proxy === null || proxy[0] === null) {\x0d\n return ctx.stylize('<Revoked Proxy>'\x2C 'special');\x0d\n }\x0d\n if (ctx.showProxy) {\x0d\n return formatProxy(ctx\x2C proxy\x2C recurseTimes);\x0d\n }\x0d\n value = proxy;\x0d\n }\x0d\n\x0d\n // Provide a hook for user-specified inspect functions.\x0d\n // Check that value is an object with an inspect function on it.\x0d\n if (ctx.customInspect) {\x0d\n const maybeCustom = value[customInspectSymbol];\x0d\n if (typeof maybeCustom === 'function' &&\x0d\n // Filter out the util module\x2C its inspect function is special.\x0d\n maybeCustom !== inspect &&\x0d\n // Also filter out any prototype objects using the circular check.\x0d\n !(value.constructor && value.constructor.prototype === value)) {\x0d\n // This makes sure the recurseTimes are reported as before while using\x0d\n // a counter internally.\x0d\n const depth = ctx.depth === null ? null : ctx.depth - recurseTimes;\x0d\n const isCrossContext =\x0d\n proxy !== undefined || !(context instanceof Object);\x0d\n const ret = FunctionPrototypeCall(\x0d\n maybeCustom\x2C\x0d\n context\x2C\x0d\n depth\x2C\x0d\n getUserOptions(ctx\x2C isCrossContext)\x2C\x0d\n inspect\x2C\x0d\n );\x0d\n // If the custom inspection method returned `this`\x2C don't go into\x0d\n // infinite recursion.\x0d\n if (ret !== context) {\x0d\n if (typeof ret !== 'string') {\x0d\n return formatValue(ctx\x2C ret\x2C recurseTimes);\x0d\n }\x0d\n return StringPrototypeReplaceAll(ret\x2C '\\n'\x2C `\\n${StringPrototypeRepeat(' '\x2C ctx.indentationLvl)}`);\x0d\n }\x0d\n }\x0d\n }\x0d\n\x0d\n // Using an array here is actually better for the average case than using\x0d\n // a Set. `seen` will only check for the depth and will never grow too large.\x0d\n if (ctx.seen.includes(value)) {\x0d\n let index = 1;\x0d\n if (ctx.circular === undefined) {\x0d\n ctx.circular = new SafeMap();\x0d\n ctx.circular.set(value\x2C index);\x0d\n } else {\x0d\n index = ctx.circular.get(value);\x0d\n if (index === undefined) {\x0d\n index = ctx.circular.size + 1;\x0d\n ctx.circular.set(value\x2C index);\x0d\n }\x0d\n }\x0d\n return ctx.stylize(`[Circular *${index}]`\x2C 'special');\x0d\n }\x0d\n\x0d\n return formatRaw(ctx\x2C value\x2C recurseTimes\x2C typedArray);\x0d\n}\x0d\n\x0d\nfunction formatRaw(ctx\x2C value\x2C recurseTimes\x2C typedArray) {\x0d\n let keys;\x0d\n let protoProps;\x0d\n if (ctx.showHidden && (recurseTimes <= ctx.depth || ctx.depth === null)) {\x0d\n protoProps = [];\x0d\n }\x0d\n\x0d\n const constructor = getConstructorName(value\x2C ctx\x2C recurseTimes\x2C protoProps);\x0d\n // Reset the variable to check for this later on.\x0d\n if (protoProps !== undefined && protoProps.length === 0) {\x0d\n protoProps = undefined;\x0d\n }\x0d\n\x0d\n let tag = value[SymbolToStringTag];\x0d\n // Only list the tag in case it's non-enumerable / not an own property.\x0d\n // Otherwise we'd print this twice.\x0d\n if (typeof tag !== 'string' ||\x0d\n (tag !== '' &&\x0d\n (ctx.showHidden ?\x0d\n ObjectPrototypeHasOwnProperty :\x0d\n ObjectPrototypePropertyIsEnumerable)(\x0d\n value\x2C SymbolToStringTag\x2C\x0d\n ))) {\x0d\n tag = '';\x0d\n }\x0d\n let base = '';\x0d\n let formatter = getEmptyFormatArray;\x0d\n let braces;\x0d\n let noIterator = true;\x0d\n let i = 0;\x0d\n const filter = ctx.showHidden ? ALL_PROPERTIES : ONLY_ENUMERABLE;\x0d\n\x0d\n let extrasType = kObjectType;\x0d\n\x0d\n // Iterators and the rest are split to reduce checks.\x0d\n // We have to check all values in case the constructor is set to null.\x0d\n // Otherwise it would not possible to identify all types properly.\x0d\n if (SymbolIterator in value || constructor === null) {\x0d\n noIterator = false;\x0d\n if (ArrayIsArray(value)) {\x0d\n // Only set the constructor for non ordinary ("Array [...]") arrays.\x0d\n const prefix = (constructor !== 'Array' || tag !== '') ?\x0d\n getPrefix(constructor\x2C tag\x2C 'Array'\x2C `(${value.length})`) :\x0d\n '';\x0d\n keys = getOwnNonIndexProperties(value\x2C filter);\x0d\n braces = [`${prefix}[`\x2C ']'];\x0d\n if (value.length === 0 && keys.length === 0 && protoProps === undefined)\x0d\n return `${braces[0]}]`;\x0d\n extrasType = kArrayExtrasType;\x0d\n formatter = formatArray;\x0d\n } else if (isSet(value)) {\x0d\n const size = SetPrototypeGetSize(value);\x0d\n const prefix = getPrefix(constructor\x2C tag\x2C 'Set'\x2C `(${size})`);\x0d\n keys = getKeys(value\x2C ctx.showHidden);\x0d\n formatter = constructor !== null ?\x0d\n FunctionPrototypeBind(formatSet\x2C null\x2C value) :\x0d\n FunctionPrototypeBind(formatSet\x2C null\x2C SetPrototypeValues(value));\x0d\n if (size === 0 && keys.length === 0 && protoProps === undefined)\x0d\n return `${prefix}{}`;\x0d\n braces = [`${prefix}{`\x2C '}'];\x0d\n } else if (isMap(value)) {\x0d\n const size = MapPrototypeGetSize(value);\x0d\n const prefix = getPrefix(constructor\x2C tag\x2C 'Map'\x2C `(${size})`);\x0d\n keys = getKeys(value\x2C ctx.showHidden);\x0d\n formatter = constructor !== null ?\x0d\n FunctionPrototypeBind(formatMap\x2C null\x2C value) :\x0d\n FunctionPrototypeBind(formatMap\x2C null\x2C MapPrototypeEntries(value));\x0d\n if (size === 0 && keys.length === 0 && protoProps === undefined)\x0d\n return `${prefix}{}`;\x0d\n braces = [`${prefix}{`\x2C '}'];\x0d\n } else if (isTypedArray(value)) {\x0d\n keys = getOwnNonIndexProperties(value\x2C filter);\x0d\n let bound = value;\x0d\n let fallback = '';\x0d\n if (constructor === null) {\x0d\n fallback = TypedArrayPrototypeGetSymbolToStringTag(value);\x0d\n // Reconstruct the array information.\x0d\n bound = new primordials[fallback](value);\x0d\n }\x0d\n const size = TypedArrayPrototypeGetLength(value);\x0d\n const prefix = getPrefix(constructor\x2C tag\x2C fallback\x2C `(${size})`);\x0d\n braces = [`${prefix}[`\x2C ']'];\x0d\n if (value.length === 0 && keys.length === 0 && !ctx.showHidden)\x0d\n return `${braces[0]}]`;\x0d\n // Special handle the value. The original value is required below. The\x0d\n // bound function is required to reconstruct missing information.\x0d\n formatter = FunctionPrototypeBind(formatTypedArray\x2C null\x2C bound\x2C size);\x0d\n extrasType = kArrayExtrasType;\x0d\n } else if (isMapIterator(value)) {\x0d\n keys = getKeys(value\x2C ctx.showHidden);\x0d\n braces = getIteratorBraces('Map'\x2C tag);\x0d\n // Add braces to the formatter parameters.\x0d\n formatter = FunctionPrototypeBind(formatIterator\x2C null\x2C braces);\x0d\n } else if (isSetIterator(value)) {\x0d\n keys = getKeys(value\x2C ctx.showHidden);\x0d\n braces = getIteratorBraces('Set'\x2C tag);\x0d\n // Add braces to the formatter parameters.\x0d\n formatter = FunctionPrototypeBind(formatIterator\x2C null\x2C braces);\x0d\n } else {\x0d\n noIterator = true;\x0d\n }\x0d\n }\x0d\n if (noIterator) {\x0d\n keys = getKeys(value\x2C ctx.showHidden);\x0d\n braces = ['{'\x2C '}'];\x0d\n if (constructor === 'Object') {\x0d\n if (isArgumentsObject(value)) {\x0d\n braces[0] = '[Arguments] {';\x0d\n } else if (tag !== '') {\x0d\n braces[0] = `${getPrefix(constructor\x2C tag\x2C 'Object')}{`;\x0d\n }\x0d\n if (keys.length === 0 && protoProps === undefined) {\x0d\n return `${braces[0]}}`;\x0d\n }\x0d\n } else if (typeof value === 'function') {\x0d\n base = getFunctionBase(value\x2C constructor\x2C tag);\x0d\n if (keys.length === 0 && protoProps === undefined)\x0d\n return ctx.stylize(base\x2C 'special');\x0d\n } else if (isRegExp(value)) {\x0d\n // Make RegExps say that they are RegExps\x0d\n base = RegExpPrototypeToString(\x0d\n constructor !== null ? value : new RegExp(value)\x2C\x0d\n );\x0d\n const prefix = getPrefix(constructor\x2C tag\x2C 'RegExp');\x0d\n if (prefix !== 'RegExp ')\x0d\n base = `${prefix}${base}`;\x0d\n if ((keys.length === 0 && protoProps === undefined) ||\x0d\n (recurseTimes > ctx.depth && ctx.depth !== null)) {\x0d\n return ctx.stylize(base\x2C 'regexp');\x0d\n }\x0d\n } else if (isDate(value)) {\x0d\n // Make dates with properties first say the date\x0d\n base = NumberIsNaN(DatePrototypeGetTime(value)) ?\x0d\n DatePrototypeToString(value) :\x0d\n DatePrototypeToISOString(value);\x0d\n const prefix = getPrefix(constructor\x2C tag\x2C 'Date');\x0d\n if (prefix !== 'Date ')\x0d\n base = `${prefix}${base}`;\x0d\n if (keys.length === 0 && protoProps === undefined) {\x0d\n return ctx.stylize(base\x2C 'date');\x0d\n }\x0d\n } else if (isError(value)) {\x0d\n base = formatError(value\x2C constructor\x2C tag\x2C ctx\x2C keys);\x0d\n if (keys.length === 0 && protoProps === undefined)\x0d\n return base;\x0d\n } else if (isAnyArrayBuffer(value)) {\x0d\n // Fast path for ArrayBuffer and SharedArrayBuffer.\x0d\n // Can't do the same for DataView because it has a non-primitive\x0d\n // .buffer property that we need to recurse for.\x0d\n const arrayType = isArrayBuffer(value) ? 'ArrayBuffer' :\x0d\n 'SharedArrayBuffer';\x0d\n const prefix = getPrefix(constructor\x2C tag\x2C arrayType);\x0d\n if (typedArray === undefined) {\x0d\n formatter = formatArrayBuffer;\x0d\n } else if (keys.length === 0 && protoProps === undefined) {\x0d\n return prefix +\x0d\n `{ byteLength: ${formatNumber(ctx.stylize\x2C value.byteLength\x2C false)} }`;\x0d\n }\x0d\n braces[0] = `${prefix}{`;\x0d\n ArrayPrototypeUnshift(keys\x2C 'byteLength');\x0d\n } else if (isDataView(value)) {\x0d\n braces[0] = `${getPrefix(constructor\x2C tag\x2C 'DataView')}{`;\x0d\n // .buffer goes last\x2C it's not a primitive like the others.\x0d\n ArrayPrototypeUnshift(keys\x2C 'byteLength'\x2C 'byteOffset'\x2C 'buffer');\x0d\n } else if (isPromise(value)) {\x0d\n braces[0] = `${getPrefix(constructor\x2C tag\x2C 'Promise')}{`;\x0d\n formatter = formatPromise;\x0d\n } else if (isWeakSet(value)) {\x0d\n braces[0] = `${getPrefix(constructor\x2C tag\x2C 'WeakSet')}{`;\x0d\n formatter = ctx.showHidden ? formatWeakSet : formatWeakCollection;\x0d\n } else if (isWeakMap(value)) {\x0d\n braces[0] = `${getPrefix(constructor\x2C tag\x2C 'WeakMap')}{`;\x0d\n formatter = ctx.showHidden ? formatWeakMap : formatWeakCollection;\x0d\n } else if (isModuleNamespaceObject(value)) {\x0d\n braces[0] = `${getPrefix(constructor\x2C tag\x2C 'Module')}{`;\x0d\n // Special handle keys for namespace objects.\x0d\n formatter = formatNamespaceObject.bind(null\x2C keys);\x0d\n } else if (isBoxedPrimitive(value)) {\x0d\n base = getBoxedBase(value\x2C ctx\x2C keys\x2C constructor\x2C tag);\x0d\n if (keys.length === 0 && protoProps === undefined) {\x0d\n return base;\x0d\n }\x0d\n } else {\x0d\n if (keys.length === 0 && protoProps === undefined) {\x0d\n if (isExternal(value)) {\x0d\n const address = getExternalValue(value).toString(16);\x0d\n return ctx.stylize(`[External: ${address}]`\x2C 'special');\x0d\n }\x0d\n return `${getCtxStyle(value\x2C constructor\x2C tag)}{}`;\x0d\n }\x0d\n braces[0] = `${getCtxStyle(value\x2C constructor\x2C tag)}{`;\x0d\n }\x0d\n }\x0d\n\x0d\n if (recurseTimes > ctx.depth && ctx.depth !== null) {\x0d\n let constructorName = StringPrototypeSlice(getCtxStyle(value\x2C constructor\x2C tag)\x2C 0\x2C -1);\x0d\n if (constructor !== null)\x0d\n constructorName = `[${constructorName}]`;\x0d\n return ctx.stylize(constructorName\x2C 'special');\x0d\n }\x0d\n recurseTimes += 1;\x0d\n\x0d\n ctx.seen.push(value);\x0d\n ctx.currentDepth = recurseTimes;\x0d\n let output;\x0d\n const indentationLvl = ctx.indentationLvl;\x0d\n try {\x0d\n output = formatter(ctx\x2C value\x2C recurseTimes);\x0d\n for (i = 0; i < keys.length; i++) {\x0d\n ArrayPrototypePush(\x0d\n output\x2C\x0d\n formatProperty(ctx\x2C value\x2C recurseTimes\x2C keys[i]\x2C extrasType)\x2C\x0d\n );\x0d\n }\x0d\n if (protoProps !== undefined) {\x0d\n ArrayPrototypePushApply(output\x2C protoProps);\x0d\n }\x0d\n } catch (err) {\x0d\n const constructorName = StringPrototypeSlice(getCtxStyle(value\x2C constructor\x2C tag)\x2C 0\x2C -1);\x0d\n return handleMaxCallStackSize(ctx\x2C err\x2C constructorName\x2C indentationLvl);\x0d\n }\x0d\n if (ctx.circular !== undefined) {\x0d\n const index = ctx.circular.get(value);\x0d\n if (index !== undefined) {\x0d\n const reference = ctx.stylize(`<ref *${index}>`\x2C 'special');\x0d\n // Add reference always to the very beginning of the output.\x0d\n if (ctx.compact !== true) {\x0d\n base = base === '' ? reference : `${reference} ${base}`;\x0d\n } else {\x0d\n braces[0] = `${reference} ${braces[0]}`;\x0d\n }\x0d\n }\x0d\n }\x0d\n ctx.seen.pop();\x0d\n\x0d\n if (ctx.sorted) {\x0d\n const comparator = ctx.sorted === true ? undefined : ctx.sorted;\x0d\n if (extrasType === kObjectType) {\x0d\n ArrayPrototypeSort(output\x2C comparator);\x0d\n } else if (keys.length > 1) {\x0d\n const sorted = ArrayPrototypeSort(ArrayPrototypeSlice(output\x2C output.length - keys.length)\x2C comparator);\x0d\n ArrayPrototypeUnshift(sorted\x2C output\x2C output.length - keys.length\x2C keys.length);\x0d\n ReflectApply(ArrayPrototypeSplice\x2C null\x2C sorted);\x0d\n }\x0d\n }\x0d\n\x0d\n const res = reduceToSingleString(\x0d\n ctx\x2C output\x2C base\x2C braces\x2C extrasType\x2C recurseTimes\x2C value);\x0d\n const budget = ctx.budget[ctx.indentationLvl] || 0;\x0d\n const newLength = budget + res.length;\x0d\n ctx.budget[ctx.indentationLvl] = newLength;\x0d\n // If any indentationLvl exceeds this limit\x2C limit further inspecting to the\x0d\n // minimum. Otherwise the recursive algorithm might continue inspecting the\x0d\n // object even though the maximum string size (~2 ** 28 on 32 bit systems and\x0d\n // ~2 ** 30 on 64 bit systems) exceeded. The actual output is not limited at\x0d\n // exactly 2 ** 27 but a bit higher. This depends on the object shape.\x0d\n // This limit also makes sure that huge objects don't block the event loop\x0d\n // significantly.\x0d\n if (newLength > 2 ** 27) {\x0d\n ctx.depth = -1;\x0d\n }\x0d\n return res;\x0d\n}\x0d\n\x0d\nfunction getIteratorBraces(type\x2C tag) {\x0d\n if (tag !== `${type} Iterator`) {\x0d\n if (tag !== '')\x0d\n tag += '] [';\x0d\n tag += `${type} Iterator`;\x0d\n }\x0d\n return [`[${tag}] {`\x2C '}'];\x0d\n}\x0d\n\x0d\nfunction getBoxedBase(value\x2C ctx\x2C keys\x2C constructor\x2C tag) {\x0d\n let fn;\x0d\n let type;\x0d\n if (isNumberObject(value)) {\x0d\n fn = NumberPrototypeValueOf;\x0d\n type = 'Number';\x0d\n } else if (isStringObject(value)) {\x0d\n fn = StringPrototypeValueOf;\x0d\n type = 'String';\x0d\n // For boxed Strings\x2C we have to remove the 0-n indexed entries\x2C\x0d\n // since they just noisy up the output and are redundant\x0d\n // Make boxed primitive Strings look like such\x0d\n keys.splice(0\x2C value.length);\x0d\n } else if (isBooleanObject(value)) {\x0d\n fn = BooleanPrototypeValueOf;\x0d\n type = 'Boolean';\x0d\n } else if (isBigIntObject(value)) {\x0d\n fn = BigIntPrototypeValueOf;\x0d\n type = 'BigInt';\x0d\n } else {\x0d\n fn = SymbolPrototypeValueOf;\x0d\n type = 'Symbol';\x0d\n }\x0d\n let base = `[${type}`;\x0d\n if (type !== constructor) {\x0d\n if (constructor === null) {\x0d\n base += ' (null prototype)';\x0d\n } else {\x0d\n base += ` (${constructor})`;\x0d\n }\x0d\n }\x0d\n base += `: ${formatPrimitive(stylizeNoColor\x2C fn(value)\x2C ctx)}]`;\x0d\n if (tag !== '' && tag !== constructor) {\x0d\n base += ` [${tag}]`;\x0d\n }\x0d\n if (keys.length !== 0 || ctx.stylize === stylizeNoColor)\x0d\n return base;\x0d\n return ctx.stylize(base\x2C StringPrototypeToLowerCase(type));\x0d\n}\x0d\n\x0d\nfunction getClassBase(value\x2C constructor\x2C tag) {\x0d\n const hasName = ObjectPrototypeHasOwnProperty(value\x2C 'name');\x0d\n const name = (hasName && value.name) || '(anonymous)';\x0d\n let base = `class ${name}`;\x0d\n if (constructor !== 'Function' && constructor !== null) {\x0d\n base += ` [${constructor}]`;\x0d\n }\x0d\n if (tag !== '' && constructor !== tag) {\x0d\n base += ` [${tag}]`;\x0d\n }\x0d\n if (constructor !== null) {\x0d\n const superName = ObjectGetPrototypeOf(value).name;\x0d\n if (superName) {\x0d\n base += ` extends ${superName}`;\x0d\n }\x0d\n } else {\x0d\n base += ' extends [null prototype]';\x0d\n }\x0d\n return `[${base}]`;\x0d\n}\x0d\n\x0d\nfunction getFunctionBase(value\x2C constructor\x2C tag) {\x0d\n const stringified = FunctionPrototypeToString(value);\x0d\n if (StringPrototypeStartsWith(stringified\x2C 'class') && StringPrototypeEndsWith(stringified\x2C '}')) {\x0d\n const slice = StringPrototypeSlice(stringified\x2C 5\x2C -1);\x0d\n const bracketIndex = StringPrototypeIndexOf(slice\x2C '{');\x0d\n if (bracketIndex !== -1 &&\x0d\n (!StringPrototypeIncludes(StringPrototypeSlice(slice\x2C 0\x2C bracketIndex)\x2C '(') ||\x0d\n // Slow path to guarantee that it's indeed a class.\x0d\n RegExpPrototypeExec(classRegExp\x2C RegExpPrototypeSymbolReplace(stripCommentsRegExp\x2C slice)) !== null)\x0d\n ) {\x0d\n return getClassBase(value\x2C constructor\x2C tag);\x0d\n }\x0d\n }\x0d\n let type = 'Function';\x0d\n if (isGeneratorFunction(value)) {\x0d\n type = `Generator${type}`;\x0d\n }\x0d\n if (isAsyncFunction(value)) {\x0d\n type = `Async${type}`;\x0d\n }\x0d\n let base = `[${type}`;\x0d\n if (constructor === null) {\x0d\n base += ' (null prototype)';\x0d\n }\x0d\n if (value.name === '') {\x0d\n base += ' (anonymous)';\x0d\n } else {\x0d\n base += `: ${value.name}`;\x0d\n }\x0d\n base += ']';\x0d\n if (constructor !== type && constructor !== null) {\x0d\n base += ` ${constructor}`;\x0d\n }\x0d\n if (tag !== '' && constructor !== tag) {\x0d\n base += ` [${tag}]`;\x0d\n }\x0d\n return base;\x0d\n}\x0d\n\x0d\nfunction identicalSequenceRange(a\x2C b) {\x0d\n for (let i = 0; i < a.length - 3; i++) {\x0d\n // Find the first entry of b that matches the current entry of a.\x0d\n const pos = ArrayPrototypeIndexOf(b\x2C a[i]);\x0d\n if (pos !== -1) {\x0d\n const rest = b.length - pos;\x0d\n if (rest > 3) {\x0d\n let len = 1;\x0d\n const maxLen = MathMin(a.length - i\x2C rest);\x0d\n // Count the number of consecutive entries.\x0d\n while (maxLen > len && a[i + len] === b[pos + len]) {\x0d\n len++;\x0d\n }\x0d\n if (len > 3) {\x0d\n return { len\x2C offset: i };\x0d\n }\x0d\n }\x0d\n }\x0d\n }\x0d\n\x0d\n return { len: 0\x2C offset: 0 };\x0d\n}\x0d\n\x0d\nfunction getStackString(error) {\x0d\n return error.stack ? String(error.stack) : ErrorPrototypeToString(error);\x0d\n}\x0d\n\x0d\nfunction getStackFrames(ctx\x2C err\x2C stack) {\x0d\n const frames = StringPrototypeSplit(stack\x2C '\\n');\x0d\n\x0d\n let cause;\x0d\n try {\x0d\n ({ cause } = err);\x0d\n } catch {\x0d\n // If 'cause' is a getter that throws\x2C ignore it.\x0d\n }\x0d\n\x0d\n // Remove stack frames identical to frames in cause.\x0d\n if (cause != null && isError(cause)) {\x0d\n const causeStack = getStackString(cause);\x0d\n const causeStackStart = StringPrototypeIndexOf(causeStack\x2C '\\n at');\x0d\n if (causeStackStart !== -1) {\x0d\n const causeFrames = StringPrototypeSplit(StringPrototypeSlice(causeStack\x2C causeStackStart + 1)\x2C '\\n');\x0d\n const { len\x2C offset } = identicalSequenceRange(frames\x2C causeFrames);\x0d\n if (len > 0) {\x0d\n const skipped = len - 2;\x0d\n const msg = ` ... ${skipped} lines matching cause stack trace ...`;\x0d\n frames.splice(offset + 1\x2C skipped\x2C ctx.stylize(msg\x2C 'undefined'));\x0d\n }\x0d\n }\x0d\n }\x0d\n return frames;\x0d\n}\x0d\n\x0d\nfunction improveStack(stack\x2C constructor\x2C name\x2C tag) {\x0d\n // A stack trace may contain arbitrary data. Only manipulate the output\x0d\n // for "regular errors" (errors that "look normal") for now.\x0d\n let len = name.length;\x0d\n\x0d\n if (constructor === null ||\x0d\n (StringPrototypeEndsWith(name\x2C 'Error') &&\x0d\n StringPrototypeStartsWith(stack\x2C name) &&\x0d\n (stack.length === len || stack[len] === ':' || stack[len] === '\\n'))) {\x0d\n let fallback = 'Error';\x0d\n if (constructor === null) {\x0d\n const start = RegExpPrototypeExec(/^([A-Z][a-z_ A-Z0-9[\\]()-]+)(?::|\\n {4}at)/\x2C stack) ||\x0d\n RegExpPrototypeExec(/^([a-z_A-Z0-9-]*Error)$/\x2C stack);\x0d\n fallback = (start && start[1]) || '';\x0d\n len = fallback.length;\x0d\n fallback = fallback || 'Error';\x0d\n }\x0d\n const prefix = StringPrototypeSlice(getPrefix(constructor\x2C tag\x2C fallback)\x2C 0\x2C -1);\x0d\n if (name !== prefix) {\x0d\n if (StringPrototypeIncludes(prefix\x2C name)) {\x0d\n if (len === 0) {\x0d\n stack = `${prefix}: ${stack}`;\x0d\n } else {\x0d\n stack = `${prefix}${StringPrototypeSlice(stack\x2C len)}`;\x0d\n }\x0d\n } else {\x0d\n stack = `${prefix} [${name}]${StringPrototypeSlice(stack\x2C len)}`;\x0d\n }\x0d\n }\x0d\n }\x0d\n return stack;\x0d\n}\x0d\n\x0d\nfunction removeDuplicateErrorKeys(ctx\x2C keys\x2C err\x2C stack) {\x0d\n if (!ctx.showHidden && keys.length !== 0) {\x0d\n for (const name of ['name'\x2C 'message'\x2C 'stack']) {\x0d\n const index = ArrayPrototypeIndexOf(keys\x2C name);\x0d\n // Only hide the property in case it's part of the original stack\x0d\n if (index !== -1 && StringPrototypeIncludes(stack\x2C err[name])) {\x0d\n ArrayPrototypeSplice(keys\x2C index\x2C 1);\x0d\n }\x0d\n }\x0d\n }\x0d\n}\x0d\n\x0d\nfunction markNodeModules(ctx\x2C line) {\x0d\n let tempLine = '';\x0d\n let nodeModule;\x0d\n let pos = 0;\x0d\n while ((nodeModule = nodeModulesRegExp.exec(line)) !== null) {\x0d\n // '/node_modules/'.length === 14\x0d\n tempLine += StringPrototypeSlice(line\x2C pos\x2C nodeModule.index + 14);\x0d\n tempLine += ctx.stylize(nodeModule[1]\x2C 'module');\x0d\n pos = nodeModule.index + nodeModule[0].length;\x0d\n }\x0d\n if (pos !== 0) {\x0d\n line = tempLine + StringPrototypeSlice(line\x2C pos);\x0d\n }\x0d\n return line;\x0d\n}\x0d\n\x0d\nfunction markCwd(ctx\x2C line\x2C workingDirectory) {\x0d\n let cwdStartPos = StringPrototypeIndexOf(line\x2C workingDirectory);\x0d\n let tempLine = '';\x0d\n let cwdLength = workingDirectory.length;\x0d\n if (cwdStartPos !== -1) {\x0d\n if (StringPrototypeSlice(line\x2C cwdStartPos - 7\x2C cwdStartPos) === 'file://') {\x0d\n cwdLength += 7;\x0d\n cwdStartPos -= 7;\x0d\n }\x0d\n const start = line[cwdStartPos - 1] === '(' ? cwdStartPos - 1 : cwdStartPos;\x0d\n const end = start !== cwdStartPos && StringPrototypeEndsWith(line\x2C ')') ? -1 : line.length;\x0d\n const workingDirectoryEndPos = cwdStartPos + cwdLength + 1;\x0d\n const cwdSlice = StringPrototypeSlice(line\x2C start\x2C workingDirectoryEndPos);\x0d\n\x0d\n tempLine += StringPrototypeSlice(line\x2C 0\x2C start);\x0d\n tempLine += ctx.stylize(cwdSlice\x2C 'undefined');\x0d\n tempLine += StringPrototypeSlice(line\x2C workingDirectoryEndPos\x2C end);\x0d\n if (end === -1) {\x0d\n tempLine += ctx.stylize(')'\x2C 'undefined');\x0d\n }\x0d\n } else {\x0d\n tempLine += line;\x0d\n }\x0d\n return tempLine;\x0d\n}\x0d\n\x0d\nfunction safeGetCWD() {\x0d\n let workingDirectory;\x0d\n try {\x0d\n workingDirectory = process.cwd();\x0d\n } catch {\x0d\n return;\x0d\n }\x0d\n return workingDirectory;\x0d\n}\x0d\n\x0d\nfunction formatError(err\x2C constructor\x2C tag\x2C ctx\x2C keys) {\x0d\n const name = err.name != null ? String(err.name) : 'Error';\x0d\n let stack = getStackString(err);\x0d\n\x0d\n removeDuplicateErrorKeys(ctx\x2C keys\x2C err\x2C stack);\x0d\n\x0d\n if ('cause' in err &&\x0d\n (keys.length === 0 || !ArrayPrototypeIncludes(keys\x2C 'cause'))) {\x0d\n ArrayPrototypePush(keys\x2C 'cause');\x0d\n }\x0d\n\x0d\n // Print errors aggregated into AggregateError\x0d\n if (ArrayIsArray(err.errors) &&\x0d\n (keys.length === 0 || !ArrayPrototypeIncludes(keys\x2C 'errors'))) {\x0d\n ArrayPrototypePush(keys\x2C 'errors');\x0d\n }\x0d\n\x0d\n stack = improveStack(stack\x2C constructor\x2C name\x2C tag);\x0d\n\x0d\n // Ignore the error message if it's contained in the stack.\x0d\n let pos = (err.message && StringPrototypeIndexOf(stack\x2C err.message)) || -1;\x0d\n if (pos !== -1)\x0d\n pos += err.message.length;\x0d\n // Wrap the error in brackets in case it has no stack trace.\x0d\n const stackStart = StringPrototypeIndexOf(stack\x2C '\\n at'\x2C pos);\x0d\n if (stackStart === -1) {\x0d\n stack = `[${stack}]`;\x0d\n } else {\x0d\n let newStack = StringPrototypeSlice(stack\x2C 0\x2C stackStart);\x0d\n const stackFramePart = StringPrototypeSlice(stack\x2C stackStart + 1);\x0d\n const lines = getStackFrames(ctx\x2C err\x2C stackFramePart);\x0d\n if (ctx.colors) {\x0d\n // Highlight userland code and node modules.\x0d\n const workingDirectory = safeGetCWD();\x0d\n let esmWorkingDirectory;\x0d\n for (let line of lines) {\x0d\n const core = RegExpPrototypeExec(coreModuleRegExp\x2C line);\x0d\n if (core !== null && BuiltinModule.exists(core[1])) {\x0d\n newStack += `\\n${ctx.stylize(line\x2C 'undefined')}`;\x0d\n } else {\x0d\n newStack += '\\n';\x0d\n\x0d\n line = markNodeModules(ctx\x2C line);\x0d\n if (workingDirectory !== undefined) {\x0d\n let newLine = markCwd(ctx\x2C line\x2C workingDirectory);\x0d\n if (newLine === line) {\x0d\n esmWorkingDirectory ??= pathToFileUrlHref(workingDirectory);\x0d\n newLine = markCwd(ctx\x2C line\x2C esmWorkingDirectory);\x0d\n }\x0d\n line = newLine;\x0d\n }\x0d\n\x0d\n newStack += line;\x0d\n }\x0d\n }\x0d\n } else {\x0d\n newStack += `\\n${ArrayPrototypeJoin(lines\x2C '\\n')}`;\x0d\n }\x0d\n stack = newStack;\x0d\n }\x0d\n // The message and the stack have to be indented as well!\x0d\n if (ctx.indentationLvl !== 0) {\x0d\n const indentation = StringPrototypeRepeat(' '\x2C ctx.indentationLvl);\x0d\n stack = StringPrototypeReplaceAll(stack\x2C '\\n'\x2C `\\n${indentation}`);\x0d\n }\x0d\n return stack;\x0d\n}\x0d\n\x0d\nfunction groupArrayElements(ctx\x2C output\x2C value) {\x0d\n let totalLength = 0;\x0d\n let maxLength = 0;\x0d\n let i = 0;\x0d\n let outputLength = output.length;\x0d\n if (ctx.maxArrayLength < output.length) {\x0d\n // This makes sure the "... n more items" part is not taken into account.\x0d\n outputLength--;\x0d\n }\x0d\n const separatorSpace = 2; // Add 1 for the space and 1 for the separator.\x0d\n const dataLen = new Array(outputLength);\x0d\n // Calculate the total length of all output entries and the individual max\x0d\n // entries length of all output entries. We have to remove colors first\x2C\x0d\n // otherwise the length would not be calculated properly.\x0d\n for (; i < outputLength; i++) {\x0d\n const len = getStringWidth(output[i]\x2C ctx.colors);\x0d\n dataLen[i] = len;\x0d\n totalLength += len + separatorSpace;\x0d\n if (maxLength < len)\x0d\n maxLength = len;\x0d\n }\x0d\n // Add two to `maxLength` as we add a single whitespace character plus a comma\x0d\n // in-between two entries.\x0d\n const actualMax = maxLength + separatorSpace;\x0d\n // Check if at least three entries fit next to each other and prevent grouping\x0d\n // of arrays that contains entries of very different length (i.e.\x2C if a single\x0d\n // entry is longer than 1/5 of all other entries combined). Otherwise the\x0d\n // space in-between small entries would be enormous.\x0d\n if (actualMax * 3 + ctx.indentationLvl < ctx.breakLength &&\x0d\n (totalLength / actualMax > 5 || maxLength <= 6)) {\x0d\n\x0d\n const approxCharHeights = 2.5;\x0d\n const averageBias = MathSqrt(actualMax - totalLength / output.length);\x0d\n const biasedMax = MathMax(actualMax - 3 - averageBias\x2C 1);\x0d\n // Dynamically check how many columns seem possible.\x0d\n const columns = MathMin(\x0d\n // Ideally a square should be drawn. We expect a character to be about 2.5\x0d\n // times as high as wide. This is the area formula to calculate a square\x0d\n // which contains n rectangles of size `actualMax * approxCharHeights`.\x0d\n // Divide that by `actualMax` to receive the correct number of columns.\x0d\n // The added bias increases the columns for short entries.\x0d\n MathRound(\x0d\n MathSqrt(\x0d\n approxCharHeights * biasedMax * outputLength\x2C\x0d\n ) / biasedMax\x2C\x0d\n )\x2C\x0d\n // Do not exceed the breakLength.\x0d\n MathFloor((ctx.breakLength - ctx.indentationLvl) / actualMax)\x2C\x0d\n // Limit array grouping for small `compact` modes as the user requested\x0d\n // minimal grouping.\x0d\n ctx.compact * 4\x2C\x0d\n // Limit the columns to a maximum of fifteen.\x0d\n 15\x2C\x0d\n );\x0d\n // Return with the original output if no grouping should happen.\x0d\n if (columns <= 1) {\x0d\n return output;\x0d\n }\x0d\n const tmp = [];\x0d\n const maxLineLength = [];\x0d\n for (let i = 0; i < columns; i++) {\x0d\n let lineMaxLength = 0;\x0d\n for (let j = i; j < output.length; j += columns) {\x0d\n if (dataLen[j] > lineMaxLength)\x0d\n lineMaxLength = dataLen[j];\x0d\n }\x0d\n lineMaxLength += separatorSpace;\x0d\n maxLineLength[i] = lineMaxLength;\x0d\n }\x0d\n let order = StringPrototypePadStart;\x0d\n if (value !== undefined) {\x0d\n for (let i = 0; i < output.length; i++) {\x0d\n if (typeof value[i] !== 'number' && typeof value[i] !== 'bigint') {\x0d\n order = StringPrototypePadEnd;\x0d\n break;\x0d\n }\x0d\n }\x0d\n }\x0d\n // Each iteration creates a single line of grouped entries.\x0d\n for (let i = 0; i < outputLength; i += columns) {\x0d\n // The last lines may contain less entries than columns.\x0d\n const max = MathMin(i + columns\x2C outputLength);\x0d\n let str = '';\x0d\n let j = i;\x0d\n for (; j < max - 1; j++) {\x0d\n // Calculate extra color padding in case it's active. This has to be\x0d\n // done line by line as some lines might contain more colors than\x0d\n // others.\x0d\n const padding = maxLineLength[j - i] + output[j].length - dataLen[j];\x0d\n str += order(`${output[j]}\x2C `\x2C padding\x2C ' ');\x0d\n }\x0d\n if (order === StringPrototypePadStart) {\x0d\n const padding = maxLineLength[j - i] +\x0d\n output[j].length -\x0d\n dataLen[j] -\x0d\n separatorSpace;\x0d\n str += StringPrototypePadStart(output[j]\x2C padding\x2C ' ');\x0d\n } else {\x0d\n str += output[j];\x0d\n }\x0d\n ArrayPrototypePush(tmp\x2C str);\x0d\n }\x0d\n if (ctx.maxArrayLength < output.length) {\x0d\n ArrayPrototypePush(tmp\x2C output[outputLength]);\x0d\n }\x0d\n output = tmp;\x0d\n }\x0d\n return output;\x0d\n}\x0d\n\x0d\nfunction handleMaxCallStackSize(ctx\x2C err\x2C constructorName\x2C indentationLvl) {\x0d\n if (isStackOverflowError(err)) {\x0d\n ctx.seen.pop();\x0d\n ctx.indentationLvl = indentationLvl;\x0d\n return ctx.stylize(\x0d\n `[${constructorName}: Inspection interrupted ` +\x0d\n 'prematurely. Maximum call stack size exceeded.]'\x2C\x0d\n 'special'\x2C\x0d\n );\x0d\n }\x0d\n /* c8 ignore next */\x0d\n assert.fail(err.stack);\x0d\n}\x0d\n\x0d\nfunction addNumericSeparator(integerString) {\x0d\n let result = '';\x0d\n let i = integerString.length;\x0d\n const start = StringPrototypeStartsWith(integerString\x2C '-') ? 1 : 0;\x0d\n for (; i >= start + 4; i -= 3) {\x0d\n result = `_${StringPrototypeSlice(integerString\x2C i - 3\x2C i)}${result}`;\x0d\n }\x0d\n return i === integerString.length ?\x0d\n integerString :\x0d\n `${StringPrototypeSlice(integerString\x2C 0\x2C i)}${result}`;\x0d\n}\x0d\n\x0d\nfunction addNumericSeparatorEnd(integerString) {\x0d\n let result = '';\x0d\n let i = 0;\x0d\n for (; i < integerString.length - 3; i += 3) {\x0d\n result += `${StringPrototypeSlice(integerString\x2C i\x2C i + 3)}_`;\x0d\n }\x0d\n return i === 0 ?\x0d\n integerString :\x0d\n `${result}${StringPrototypeSlice(integerString\x2C i)}`;\x0d\n}\x0d\n\x0d\nconst remainingText = (remaining) => `... ${remaining} more item${remaining > 1 ? 's' : ''}`;\x0d\n\x0d\nfunction formatNumber(fn\x2C number\x2C numericSeparator) {\x0d\n if (!numericSeparator) {\x0d\n // Format -0 as '-0'. Checking `number === -0` won't distinguish 0 from -0.\x0d\n if (ObjectIs(number\x2C -0)) {\x0d\n return fn('-0'\x2C 'number');\x0d\n }\x0d\n return fn(`${number}`\x2C 'number');\x0d\n }\x0d\n const integer = MathTrunc(number);\x0d\n const string = String(integer);\x0d\n if (integer === number) {\x0d\n if (!NumberIsFinite(number) || StringPrototypeIncludes(string\x2C 'e')) {\x0d\n return fn(string\x2C 'number');\x0d\n }\x0d\n return fn(`${addNumericSeparator(string)}`\x2C 'number');\x0d\n }\x0d\n if (NumberIsNaN(number)) {\x0d\n return fn(string\x2C 'number');\x0d\n }\x0d\n return fn(`${\x0d\n addNumericSeparator(string)\x0d\n }.${\x0d\n addNumericSeparatorEnd(\x0d\n StringPrototypeSlice(String(number)\x2C string.length + 1)\x2C\x0d\n )\x0d\n }`\x2C 'number');\x0d\n}\x0d\n\x0d\nfunction formatBigInt(fn\x2C bigint\x2C numericSeparator) {\x0d\n const string = String(bigint);\x0d\n if (!numericSeparator) {\x0d\n return fn(`${string}n`\x2C 'bigint');\x0d\n }\x0d\n return fn(`${addNumericSeparator(string)}n`\x2C 'bigint');\x0d\n}\x0d\n\x0d\nfunction formatPrimitive(fn\x2C value\x2C ctx) {\x0d\n if (typeof value === 'string') {\x0d\n let trailer = '';\x0d\n if (value.length > ctx.maxStringLength) {\x0d\n const remaining = value.length - ctx.maxStringLength;\x0d\n value = StringPrototypeSlice(value\x2C 0\x2C ctx.maxStringLength);\x0d\n trailer = `... ${remaining} more character${remaining > 1 ? 's' : ''}`;\x0d\n }\x0d\n if (ctx.compact !== true &&\x0d\n // We do not support handling unicode characters width with\x0d\n // the readline getStringWidth function as there are\x0d\n // performance implications.\x0d\n value.length > kMinLineLength &&\x0d\n value.length > ctx.breakLength - ctx.indentationLvl - 4) {\x0d\n return ArrayPrototypeJoin(\x0d\n ArrayPrototypeMap(\x0d\n RegExpPrototypeSymbolSplit(/(?<=\\n)/\x2C value)\x2C\x0d\n (line) => fn(strEscape(line)\x2C 'string')\x2C\x0d\n )\x2C\x0d\n ` +\\n${StringPrototypeRepeat(' '\x2C ctx.indentationLvl + 2)}`\x2C\x0d\n ) + trailer;\x0d\n }\x0d\n return fn(strEscape(value)\x2C 'string') + trailer;\x0d\n }\x0d\n if (typeof value === 'number')\x0d\n return formatNumber(fn\x2C value\x2C ctx.numericSeparator);\x0d\n if (typeof value === 'bigint')\x0d\n return formatBigInt(fn\x2C value\x2C ctx.numericSeparator);\x0d\n if (typeof value === 'boolean')\x0d\n return fn(`${value}`\x2C 'boolean');\x0d\n if (typeof value === 'undefined')\x0d\n return fn('undefined'\x2C 'undefined');\x0d\n // es6 symbol primitive\x0d\n return fn(SymbolPrototypeToString(value)\x2C 'symbol');\x0d\n}\x0d\n\x0d\nfunction formatNamespaceObject(keys\x2C ctx\x2C value\x2C recurseTimes) {\x0d\n const output = new Array(keys.length);\x0d\n for (let i = 0; i < keys.length; i++) {\x0d\n try {\x0d\n output[i] = formatProperty(ctx\x2C value\x2C recurseTimes\x2C keys[i]\x2C\x0d\n kObjectType);\x0d\n } catch (err) {\x0d\n assert(isNativeError(err) && err.name === 'ReferenceError');\x0d\n // Use the existing functionality. This makes sure the indentation and\x0d\n // line breaks are always correct. Otherwise it is very difficult to keep\x0d\n // this aligned\x2C even though this is a hacky way of dealing with this.\x0d\n const tmp = { [keys[i]]: '' };\x0d\n output[i] = formatProperty(ctx\x2C tmp\x2C recurseTimes\x2C keys[i]\x2C kObjectType);\x0d\n const pos = StringPrototypeLastIndexOf(output[i]\x2C ' ');\x0d\n // We have to find the last whitespace and have to replace that value as\x0d\n // it will be visualized as a regular string.\x0d\n output[i] = StringPrototypeSlice(output[i]\x2C 0\x2C pos + 1) +\x0d\n ctx.stylize('<uninitialized>'\x2C 'special');\x0d\n }\x0d\n }\x0d\n // Reset the keys to an empty array. This prevents duplicated inspection.\x0d\n keys.length = 0;\x0d\n return output;\x0d\n}\x0d\n\x0d\n// The array is sparse and/or has extra keys\x0d\nfunction formatSpecialArray(ctx\x2C value\x2C recurseTimes\x2C maxLength\x2C output\x2C i) {\x0d\n const keys = ObjectKeys(value);\x0d\n let index = i;\x0d\n for (; i < keys.length && output.length < maxLength; i++) {\x0d\n const key = keys[i];\x0d\n const tmp = +key;\x0d\n // Arrays can only have up to 2^32 - 1 entries\x0d\n if (tmp > 2 ** 32 - 2) {\x0d\n break;\x0d\n }\x0d\n if (`${index}` !== key) {\x0d\n if (RegExpPrototypeExec(numberRegExp\x2C key) === null) {\x0d\n break;\x0d\n }\x0d\n const emptyItems = tmp - index;\x0d\n const ending = emptyItems > 1 ? 's' : '';\x0d\n const message = `<${emptyItems} empty item${ending}>`;\x0d\n ArrayPrototypePush(output\x2C ctx.stylize(message\x2C 'undefined'));\x0d\n index = tmp;\x0d\n if (output.length === maxLength) {\x0d\n break;\x0d\n }\x0d\n }\x0d\n ArrayPrototypePush(output\x2C formatProperty(ctx\x2C value\x2C recurseTimes\x2C key\x2C kArrayType));\x0d\n index++;\x0d\n }\x0d\n const remaining = value.length - index;\x0d\n if (output.length !== maxLength) {\x0d\n if (remaining > 0) {\x0d\n const ending = remaining > 1 ? 's' : '';\x0d\n const message = `<${remaining} empty item${ending}>`;\x0d\n ArrayPrototypePush(output\x2C ctx.stylize(message\x2C 'undefined'));\x0d\n }\x0d\n } else if (remaining > 0) {\x0d\n ArrayPrototypePush(output\x2C remainingText(remaining));\x0d\n }\x0d\n return output;\x0d\n}\x0d\n\x0d\nfunction formatArrayBuffer(ctx\x2C value) {\x0d\n let buffer;\x0d\n try {\x0d\n buffer = new Uint8Array(value);\x0d\n } catch {\x0d\n return [ctx.stylize('(detached)'\x2C 'special')];\x0d\n }\x0d\n if (hexSlice === undefined)\x0d\n hexSlice = uncurryThis(require('buffer').Buffer.prototype.hexSlice);\x0d\n let str = StringPrototypeTrim(RegExpPrototypeSymbolReplace(\x0d\n /(.{2})/g\x2C\x0d\n hexSlice(buffer\x2C 0\x2C MathMin(ctx.maxArrayLength\x2C buffer.length))\x2C\x0d\n '$1 '\x2C\x0d\n ));\x0d\n const remaining = buffer.length - ctx.maxArrayLength;\x0d\n if (remaining > 0)\x0d\n str += ` ... ${remaining} more byte${remaining > 1 ? 's' : ''}`;\x0d\n return [`${ctx.stylize('[Uint8Contents]'\x2C 'special')}: <${str}>`];\x0d\n}\x0d\n\x0d\nfunction formatArray(ctx\x2C value\x2C recurseTimes) {\x0d\n const valLen = value.length;\x0d\n const len = MathMin(MathMax(0\x2C ctx.maxArrayLength)\x2C valLen);\x0d\n\x0d\n const remaining = valLen - len;\x0d\n const output = [];\x0d\n for (let i = 0; i < len; i++) {\x0d\n // Special handle sparse arrays.\x0d\n if (!ObjectPrototypeHasOwnProperty(value\x2C i)) {\x0d\n return formatSpecialArray(ctx\x2C value\x2C recurseTimes\x2C len\x2C output\x2C i);\x0d\n }\x0d\n ArrayPrototypePush(output\x2C formatProperty(ctx\x2C value\x2C recurseTimes\x2C i\x2C kArrayType));\x0d\n }\x0d\n if (remaining > 0) {\x0d\n ArrayPrototypePush(output\x2C remainingText(remaining));\x0d\n }\x0d\n return output;\x0d\n}\x0d\n\x0d\nfunction formatTypedArray(value\x2C length\x2C ctx\x2C ignored\x2C recurseTimes) {\x0d\n const maxLength = MathMin(MathMax(0\x2C ctx.maxArrayLength)\x2C length);\x0d\n const remaining = value.length - maxLength;\x0d\n const output = new Array(maxLength);\x0d\n const elementFormatter = value.length > 0 && typeof value[0] === 'number' ?\x0d\n formatNumber :\x0d\n formatBigInt;\x0d\n for (let i = 0; i < maxLength; ++i) {\x0d\n output[i] = elementFormatter(ctx.stylize\x2C value[i]\x2C ctx.numericSeparator);\x0d\n }\x0d\n if (remaining > 0) {\x0d\n output[maxLength] = remainingText(remaining);\x0d\n }\x0d\n if (ctx.showHidden) {\x0d\n // .buffer goes last\x2C it's not a primitive like the others.\x0d\n // All besides `BYTES_PER_ELEMENT` are actually getters.\x0d\n ctx.indentationLvl += 2;\x0d\n for (const key of [\x0d\n 'BYTES_PER_ELEMENT'\x2C\x0d\n 'length'\x2C\x0d\n 'byteLength'\x2C\x0d\n 'byteOffset'\x2C\x0d\n 'buffer'\x2C\x0d\n ]) {\x0d\n const str = formatValue(ctx\x2C value[key]\x2C recurseTimes\x2C true);\x0d\n ArrayPrototypePush(output\x2C `[${key}]: ${str}`);\x0d\n }\x0d\n ctx.indentationLvl -= 2;\x0d\n }\x0d\n return output;\x0d\n}\x0d\n\x0d\nfunction formatSet(value\x2C ctx\x2C ignored\x2C recurseTimes) {\x0d\n const length = value.size;\x0d\n const maxLength = MathMin(MathMax(0\x2C ctx.maxArrayLength)\x2C length);\x0d\n const remaining = length - maxLength;\x0d\n const output = [];\x0d\n ctx.indentationLvl += 2;\x0d\n let i = 0;\x0d\n for (const v of value) {\x0d\n if (i >= maxLength) break;\x0d\n ArrayPrototypePush(output\x2C formatValue(ctx\x2C v\x2C recurseTimes));\x0d\n i++;\x0d\n }\x0d\n if (remaining > 0) {\x0d\n ArrayPrototypePush(output\x2C remainingText(remaining));\x0d\n }\x0d\n ctx.indentationLvl -= 2;\x0d\n return output;\x0d\n}\x0d\n\x0d\nfunction formatMap(value\x2C ctx\x2C ignored\x2C recurseTimes) {\x0d\n const length = value.size;\x0d\n const maxLength = MathMin(MathMax(0\x2C ctx.maxArrayLength)\x2C length);\x0d\n const remaining = length - maxLength;\x0d\n const output = [];\x0d\n ctx.indentationLvl += 2;\x0d\n let i = 0;\x0d\n for (const { 0: k\x2C 1: v } of value) {\x0d\n if (i >= maxLength) break;\x0d\n ArrayPrototypePush(\x0d\n output\x2C\x0d\n `${formatValue(ctx\x2C k\x2C recurseTimes)} => ${formatValue(ctx\x2C v\x2C recurseTimes)}`\x2C\x0d\n );\x0d\n i++;\x0d\n }\x0d\n if (remaining > 0) {\x0d\n ArrayPrototypePush(output\x2C remainingText(remaining));\x0d\n }\x0d\n ctx.indentationLvl -= 2;\x0d\n return output;\x0d\n}\x0d\n\x0d\nfunction formatSetIterInner(ctx\x2C recurseTimes\x2C entries\x2C state) {\x0d\n const maxArrayLength = MathMax(ctx.maxArrayLength\x2C 0);\x0d\n const maxLength = MathMin(maxArrayLength\x2C entries.length);\x0d\n const output = new Array(maxLength);\x0d\n ctx.indentationLvl += 2;\x0d\n for (let i = 0; i < maxLength; i++) {\x0d\n output[i] = formatValue(ctx\x2C entries[i]\x2C recurseTimes);\x0d\n }\x0d\n ctx.indentationLvl -= 2;\x0d\n if (state === kWeak && !ctx.sorted) {\x0d\n // Sort all entries to have a halfway reliable output (if more entries than\x0d\n // retrieved ones exist\x2C we can not reliably return the same output) if the\x0d\n // output is not sorted anyway.\x0d\n ArrayPrototypeSort(output);\x0d\n }\x0d\n const remaining = entries.length - maxLength;\x0d\n if (remaining > 0) {\x0d\n ArrayPrototypePush(output\x2C remainingText(remaining));\x0d\n }\x0d\n return output;\x0d\n}\x0d\n\x0d\nfunction formatMapIterInner(ctx\x2C recurseTimes\x2C entries\x2C state) {\x0d\n const maxArrayLength = MathMax(ctx.maxArrayLength\x2C 0);\x0d\n // Entries exist as [key1\x2C val1\x2C key2\x2C val2\x2C ...]\x0d\n const len = entries.length / 2;\x0d\n const remaining = len - maxArrayLength;\x0d\n const maxLength = MathMin(maxArrayLength\x2C len);\x0d\n const output = new Array(maxLength);\x0d\n let i = 0;\x0d\n ctx.indentationLvl += 2;\x0d\n if (state === kWeak) {\x0d\n for (; i < maxLength; i++) {\x0d\n const pos = i * 2;\x0d\n output[i] =\x0d\n `${formatValue(ctx\x2C entries[pos]\x2C recurseTimes)} => ${formatValue(ctx\x2C entries[pos + 1]\x2C recurseTimes)}`;\x0d\n }\x0d\n // Sort all entries to have a halfway reliable output (if more entries than\x0d\n // retrieved ones exist\x2C we can not reliably return the same output) if the\x0d\n // output is not sorted anyway.\x0d\n if (!ctx.sorted)\x0d\n ArrayPrototypeSort(output);\x0d\n } else {\x0d\n for (; i < maxLength; i++) {\x0d\n const pos = i * 2;\x0d\n const res = [\x0d\n formatValue(ctx\x2C entries[pos]\x2C recurseTimes)\x2C\x0d\n formatValue(ctx\x2C entries[pos + 1]\x2C recurseTimes)\x2C\x0d\n ];\x0d\n output[i] = reduceToSingleString(\x0d\n ctx\x2C res\x2C ''\x2C ['['\x2C ']']\x2C kArrayExtrasType\x2C recurseTimes);\x0d\n }\x0d\n }\x0d\n ctx.indentationLvl -= 2;\x0d\n if (remaining > 0) {\x0d\n ArrayPrototypePush(output\x2C remainingText(remaining));\x0d\n }\x0d\n return output;\x0d\n}\x0d\n\x0d\nfunction formatWeakCollection(ctx) {\x0d\n return [ctx.stylize('<items unknown>'\x2C 'special')];\x0d\n}\x0d\n\x0d\nfunction formatWeakSet(ctx\x2C value\x2C recurseTimes) {\x0d\n const entries = previewEntries(value);\x0d\n return formatSetIterInner(ctx\x2C recurseTimes\x2C entries\x2C kWeak);\x0d\n}\x0d\n\x0d\nfunction formatWeakMap(ctx\x2C value\x2C recurseTimes) {\x0d\n const entries = previewEntries(value);\x0d\n return formatMapIterInner(ctx\x2C recurseTimes\x2C entries\x2C kWeak);\x0d\n}\x0d\n\x0d\nfunction formatIterator(braces\x2C ctx\x2C value\x2C recurseTimes) {\x0d\n const { 0: entries\x2C 1: isKeyValue } = previewEntries(value\x2C true);\x0d\n if (isKeyValue) {\x0d\n // Mark entry iterators as such.\x0d\n braces[0] = RegExpPrototypeSymbolReplace(/ Iterator] {$/\x2C braces[0]\x2C ' Entries] {');\x0d\n return formatMapIterInner(ctx\x2C recurseTimes\x2C entries\x2C kMapEntries);\x0d\n }\x0d\n\x0d\n return formatSetIterInner(ctx\x2C recurseTimes\x2C entries\x2C kIterator);\x0d\n}\x0d\n\x0d\nfunction formatPromise(ctx\x2C value\x2C recurseTimes) {\x0d\n let output;\x0d\n const { 0: state\x2C 1: result } = getPromiseDetails(value);\x0d\n if (state === kPending) {\x0d\n output = [ctx.stylize('<pending>'\x2C 'special')];\x0d\n } else {\x0d\n ctx.indentationLvl += 2;\x0d\n const str = formatValue(ctx\x2C result\x2C recurseTimes);\x0d\n ctx.indentationLvl -= 2;\x0d\n output = [\x0d\n state === kRejected ?\x0d\n `${ctx.stylize('<rejected>'\x2C 'special')} ${str}` :\x0d\n str\x2C\x0d\n ];\x0d\n }\x0d\n return output;\x0d\n}\x0d\n\x0d\nfunction formatProperty(ctx\x2C value\x2C recurseTimes\x2C key\x2C type\x2C desc\x2C\x0d\n original = value) {\x0d\n let name\x2C str;\x0d\n let extra = ' ';\x0d\n desc = desc || ObjectGetOwnPropertyDescriptor(value\x2C key) ||\x0d\n { value: value[key]\x2C enumerable: true };\x0d\n if (desc.value !== undefined) {\x0d\n const diff = (ctx.compact !== true || type !== kObjectType) ? 2 : 3;\x0d\n ctx.indentationLvl += diff;\x0d\n str = formatValue(ctx\x2C desc.value\x2C recurseTimes);\x0d\n if (diff === 3 && ctx.breakLength < getStringWidth(str\x2C ctx.colors)) {\x0d\n extra = `\\n${StringPrototypeRepeat(' '\x2C ctx.indentationLvl)}`;\x0d\n }\x0d\n ctx.indentationLvl -= diff;\x0d\n } else if (desc.get !== undefined) {\x0d\n const label = desc.set !== undefined ? 'Getter/Setter' : 'Getter';\x0d\n const s = ctx.stylize;\x0d\n const sp = 'special';\x0d\n if (ctx.getters && (ctx.getters === true ||\x0d\n (ctx.getters === 'get' && desc.set === undefined) ||\x0d\n (ctx.getters === 'set' && desc.set !== undefined))) {\x0d\n try {\x0d\n const tmp = FunctionPrototypeCall(desc.get\x2C original);\x0d\n ctx.indentationLvl += 2;\x0d\n if (tmp === null) {\x0d\n str = `${s(`[${label}:`\x2C sp)} ${s('null'\x2C 'null')}${s(']'\x2C sp)}`;\x0d\n } else if (typeof tmp === 'object') {\x0d\n str = `${s(`[${label}]`\x2C sp)} ${formatValue(ctx\x2C tmp\x2C recurseTimes)}`;\x0d\n } else {\x0d\n const primitive = formatPrimitive(s\x2C tmp\x2C ctx);\x0d\n str = `${s(`[${label}:`\x2C sp)} ${primitive}${s(']'\x2C sp)}`;\x0d\n }\x0d\n ctx.indentationLvl -= 2;\x0d\n } catch (err) {\x0d\n const message = `<Inspection threw (${err.message})>`;\x0d\n str = `${s(`[${label}:`\x2C sp)} ${message}${s(']'\x2C sp)}`;\x0d\n }\x0d\n } else {\x0d\n str = ctx.stylize(`[${label}]`\x2C sp);\x0d\n }\x0d\n } else if (desc.set !== undefined) {\x0d\n str = ctx.stylize('[Setter]'\x2C 'special');\x0d\n } else {\x0d\n str = ctx.stylize('undefined'\x2C 'undefined');\x0d\n }\x0d\n if (type === kArrayType) {\x0d\n return str;\x0d\n }\x0d\n if (typeof key === 'symbol') {\x0d\n const tmp = RegExpPrototypeSymbolReplace(\x0d\n strEscapeSequencesReplacer\x2C\x0d\n SymbolPrototypeToString(key)\x2C\x0d\n escapeFn\x2C\x0d\n );\x0d\n name = `[${ctx.stylize(tmp\x2C 'symbol')}]`;\x0d\n } else if (key === '__proto__') {\x0d\n name = "['__proto__']";\x0d\n } else if (desc.enumerable === false) {\x0d\n const tmp = RegExpPrototypeSymbolReplace(\x0d\n strEscapeSequencesReplacer\x2C\x0d\n key\x2C\x0d\n escapeFn\x2C\x0d\n );\x0d\n name = `[${tmp}]`;\x0d\n } else if (RegExpPrototypeExec(keyStrRegExp\x2C key) !== null) {\x0d\n name = ctx.stylize(key\x2C 'name');\x0d\n } else {\x0d\n name = ctx.stylize(strEscape(key)\x2C 'string');\x0d\n }\x0d\n return `${name}:${extra}${str}`;\x0d\n}\x0d\n\x0d\nfunction isBelowBreakLength(ctx\x2C output\x2C start\x2C base) {\x0d\n // Each entry is separated by at least a comma. Thus\x2C we start with a total\x0d\n // length of at least `output.length`. In addition\x2C some cases have a\x0d\n // whitespace in-between each other that is added to the total as well.\x0d\n // TODO(BridgeAR): Add unicode support. Use the readline getStringWidth\x0d\n // function. Check the performance overhead and make it an opt-in in case it's\x0d\n // significant.\x0d\n let totalLength = output.length + start;\x0d\n if (totalLength + output.length > ctx.breakLength)\x0d\n return false;\x0d\n for (let i = 0; i < output.length; i++) {\x0d\n if (ctx.colors) {\x0d\n totalLength += removeColors(output[i]).length;\x0d\n } else {\x0d\n totalLength += output[i].length;\x0d\n }\x0d\n if (totalLength > ctx.breakLength) {\x0d\n return false;\x0d\n }\x0d\n }\x0d\n // Do not line up properties on the same line if `base` contains line breaks.\x0d\n return base === '' || !StringPrototypeIncludes(base\x2C '\\n');\x0d\n}\x0d\n\x0d\nfunction reduceToSingleString(\x0d\n ctx\x2C output\x2C base\x2C braces\x2C extrasType\x2C recurseTimes\x2C value) {\x0d\n if (ctx.compact !== true) {\x0d\n if (typeof ctx.compact === 'number' && ctx.compact >= 1) {\x0d\n // Memorize the original output length. In case the output is grouped\x2C\x0d\n // prevent lining up the entries on a single line.\x0d\n const entries = output.length;\x0d\n // Group array elements together if the array contains at least six\x0d\n // separate entries.\x0d\n if (extrasType === kArrayExtrasType && entries > 6) {\x0d\n output = groupArrayElements(ctx\x2C output\x2C value);\x0d\n }\x0d\n // `ctx.currentDepth` is set to the most inner depth of the currently\x0d\n // inspected object part while `recurseTimes` is the actual current depth\x0d\n // that is inspected.\x0d\n //\x0d\n // Example:\x0d\n //\x0d\n // const a = { first: [ 1\x2C 2\x2C 3 ]\x2C second: { inner: [ 1\x2C 2\x2C 3 ] } }\x0d\n //\x0d\n // The deepest depth of `a` is 2 (a.second.inner) and `a.first` has a max\x0d\n // depth of 1.\x0d\n //\x0d\n // Consolidate all entries of the local most inner depth up to\x0d\n // `ctx.compact`\x2C as long as the properties are smaller than\x0d\n // `ctx.breakLength`.\x0d\n if (ctx.currentDepth - recurseTimes < ctx.compact &&\x0d\n entries === output.length) {\x0d\n // Line up all entries on a single line in case the entries do not\x0d\n // exceed `breakLength`. Add 10 as constant to start next to all other\x0d\n // factors that may reduce `breakLength`.\x0d\n const start = output.length + ctx.indentationLvl +\x0d\n braces[0].length + base.length + 10;\x0d\n if (isBelowBreakLength(ctx\x2C output\x2C start\x2C base)) {\x0d\n const joinedOutput = join(output\x2C '\x2C ');\x0d\n if (!StringPrototypeIncludes(joinedOutput\x2C '\\n')) {\x0d\n return `${base ? `${base} ` : ''}${braces[0]} ${joinedOutput}` +\x0d\n ` ${braces[1]}`;\x0d\n }\x0d\n }\x0d\n }\x0d\n }\x0d\n // Line up each entry on an individual line.\x0d\n const indentation = `\\n${StringPrototypeRepeat(' '\x2C ctx.indentationLvl)}`;\x0d\n return `${base ? `${base} ` : ''}${braces[0]}${indentation} ` +\x0d\n `${join(output\x2C `\x2C${indentation} `)}${indentation}${braces[1]}`;\x0d\n }\x0d\n // Line up all entries on a single line in case the entries do not exceed\x0d\n // `breakLength`.\x0d\n if (isBelowBreakLength(ctx\x2C output\x2C 0\x2C base)) {\x0d\n return `${braces[0]}${base ? ` ${base}` : ''} ${join(output\x2C '\x2C ')} ` +\x0d\n braces[1];\x0d\n }\x0d\n const indentation = StringPrototypeRepeat(' '\x2C ctx.indentationLvl);\x0d\n // If the opening "brace" is too large\x2C like in the case of "Set {"\x2C\x0d\n // we need to force the first item to be on the next line or the\x0d\n // items will not line up correctly.\x0d\n const ln = base === '' && braces[0].length === 1 ?\x0d\n ' ' : `${base ? ` ${base}` : ''}\\n${indentation} `;\x0d\n // Line up each entry on an individual line.\x0d\n return `${braces[0]}${ln}${join(output\x2C `\x2C\\n${indentation} `)} ${braces[1]}`;\x0d\n}\x0d\n\x0d\nfunction hasBuiltInToString(value) {\x0d\n // Prevent triggering proxy traps.\x0d\n const getFullProxy = false;\x0d\n const proxyTarget = getProxyDetails(value\x2C getFullProxy);\x0d\n if (proxyTarget !== undefined) {\x0d\n if (proxyTarget === null) {\x0d\n return true;\x0d\n }\x0d\n value = proxyTarget;\x0d\n }\x0d\n\x0d\n // Check if value has a custom Symbol.toPrimitive transformation.\x0d\n if (typeof value[SymbolToPrimitive] === 'function') {\x0d\n return false;\x0d\n }\x0d\n\x0d\n // Count objects that have no `toString` function as built-in.\x0d\n if (typeof value.toString !== 'function') {\x0d\n return true;\x0d\n }\x0d\n\x0d\n // The object has a own `toString` property. Thus it's not not a built-in one.\x0d\n if (ObjectPrototypeHasOwnProperty(value\x2C 'toString')) {\x0d\n return false;\x0d\n }\x0d\n\x0d\n // Find the object that has the `toString` property as own property in the\x0d\n // prototype chain.\x0d\n let pointer = value;\x0d\n do {\x0d\n pointer = ObjectGetPrototypeOf(pointer);\x0d\n } while (!ObjectPrototypeHasOwnProperty(pointer\x2C 'toString'));\x0d\n\x0d\n // Check closer if the object is a built-in.\x0d\n const descriptor = ObjectGetOwnPropertyDescriptor(pointer\x2C 'constructor');\x0d\n return descriptor !== undefined &&\x0d\n typeof descriptor.value === 'function' &&\x0d\n builtInObjects.has(descriptor.value.name);\x0d\n}\x0d\n\x0d\nconst firstErrorLine = (error) => StringPrototypeSplit(error.message\x2C '\\n'\x2C 1)[0];\x0d\nlet CIRCULAR_ERROR_MESSAGE;\x0d\nfunction tryStringify(arg) {\x0d\n try {\x0d\n return JSONStringify(arg);\x0d\n } catch (err) {\x0d\n // Populate the circular error message lazily\x0d\n if (!CIRCULAR_ERROR_MESSAGE) {\x0d\n try {\x0d\n const a = {};\x0d\n a.a = a;\x0d\n JSONStringify(a);\x0d\n } catch (circularError) {\x0d\n CIRCULAR_ERROR_MESSAGE = firstErrorLine(circularError);\x0d\n }\x0d\n }\x0d\n if (err.name === 'TypeError' &&\x0d\n firstErrorLine(err) === CIRCULAR_ERROR_MESSAGE) {\x0d\n return '[Circular]';\x0d\n }\x0d\n throw err;\x0d\n }\x0d\n}\x0d\n\x0d\nfunction format(...args) {\x0d\n return formatWithOptionsInternal(undefined\x2C args);\x0d\n}\x0d\n\x0d\nfunction formatWithOptions(inspectOptions\x2C ...args) {\x0d\n validateObject(inspectOptions\x2C 'inspectOptions'\x2C kValidateObjectAllowArray);\x0d\n return formatWithOptionsInternal(inspectOptions\x2C args);\x0d\n}\x0d\n\x0d\nfunction formatNumberNoColor(number\x2C options) {\x0d\n return formatNumber(\x0d\n stylizeNoColor\x2C\x0d\n number\x2C\x0d\n options?.numericSeparator ?? inspectDefaultOptions.numericSeparator\x2C\x0d\n );\x0d\n}\x0d\n\x0d\nfunction formatBigIntNoColor(bigint\x2C options) {\x0d\n return formatBigInt(\x0d\n stylizeNoColor\x2C\x0d\n bigint\x2C\x0d\n options?.numericSeparator ?? inspectDefaultOptions.numericSeparator\x2C\x0d\n );\x0d\n}\x0d\n\x0d\nfunction formatWithOptionsInternal(inspectOptions\x2C args) {\x0d\n const first = args[0];\x0d\n let a = 0;\x0d\n let str = '';\x0d\n let join = '';\x0d\n\x0d\n if (typeof first === 'string') {\x0d\n if (args.length === 1) {\x0d\n return first;\x0d\n }\x0d\n let tempStr;\x0d\n let lastPos = 0;\x0d\n\x0d\n for (let i = 0; i < first.length - 1; i++) {\x0d\n if (StringPrototypeCharCodeAt(first\x2C i) === 37) { // '%'\x0d\n const nextChar = StringPrototypeCharCodeAt(first\x2C ++i);\x0d\n if (a + 1 !== args.length) {\x0d\n switch (nextChar) {\x0d\n case 115: { // 's'\x0d\n const tempArg = args[++a];\x0d\n if (typeof tempArg === 'number') {\x0d\n tempStr = formatNumberNoColor(tempArg\x2C inspectOptions);\x0d\n } else if (typeof tempArg === 'bigint') {\x0d\n tempStr = formatBigIntNoColor(tempArg\x2C inspectOptions);\x0d\n } else if (typeof tempArg !== 'object' ||\x0d\n tempArg === null ||\x0d\n !hasBuiltInToString(tempArg)) {\x0d\n tempStr = String(tempArg);\x0d\n } else {\x0d\n tempStr = inspect(tempArg\x2C {\x0d\n ...inspectOptions\x2C\x0d\n compact: 3\x2C\x0d\n colors: false\x2C\x0d\n depth: 0\x2C\x0d\n });\x0d\n }\x0d\n break;\x0d\n }\x0d\n case 106: // 'j'\x0d\n tempStr = tryStringify(args[++a]);\x0d\n break;\x0d\n case 100: { // 'd'\x0d\n const tempNum = args[++a];\x0d\n if (typeof tempNum === 'bigint') {\x0d\n tempStr = formatBigIntNoColor(tempNum\x2C inspectOptions);\x0d\n } else if (typeof tempNum === 'symbol') {\x0d\n tempStr = 'NaN';\x0d\n } else {\x0d\n tempStr = formatNumberNoColor(Number(tempNum)\x2C inspectOptions);\x0d\n }\x0d\n break;\x0d\n }\x0d\n case 79: // 'O'\x0d\n tempStr = inspect(args[++a]\x2C inspectOptions);\x0d\n break;\x0d\n case 111: // 'o'\x0d\n tempStr = inspect(args[++a]\x2C {\x0d\n ...inspectOptions\x2C\x0d\n showHidden: true\x2C\x0d\n showProxy: true\x2C\x0d\n depth: 4\x2C\x0d\n });\x0d\n break;\x0d\n case 105: { // 'i'\x0d\n const tempInteger = args[++a];\x0d\n if (typeof tempInteger === 'bigint') {\x0d\n tempStr = formatBigIntNoColor(tempInteger\x2C inspectOptions);\x0d\n } else if (typeof tempInteger === 'symbol') {\x0d\n tempStr = 'NaN';\x0d\n } else {\x0d\n tempStr = formatNumberNoColor(\x0d\n NumberParseInt(tempInteger)\x2C inspectOptions);\x0d\n }\x0d\n break;\x0d\n }\x0d\n case 102: { // 'f'\x0d\n const tempFloat = args[++a];\x0d\n if (typeof tempFloat === 'symbol') {\x0d\n tempStr = 'NaN';\x0d\n } else {\x0d\n tempStr = formatNumberNoColor(\x0d\n NumberParseFloat(tempFloat)\x2C inspectOptions);\x0d\n }\x0d\n break;\x0d\n }\x0d\n case 99: // 'c'\x0d\n a += 1;\x0d\n tempStr = '';\x0d\n break;\x0d\n case 37: // '%'\x0d\n str += StringPrototypeSlice(first\x2C lastPos\x2C i);\x0d\n lastPos = i + 1;\x0d\n continue;\x0d\n default: // Any other character is not a correct placeholder\x0d\n continue;\x0d\n }\x0d\n if (lastPos !== i - 1) {\x0d\n str += StringPrototypeSlice(first\x2C lastPos\x2C i - 1);\x0d\n }\x0d\n str += tempStr;\x0d\n lastPos = i + 1;\x0d\n } else if (nextChar === 37) {\x0d\n str += StringPrototypeSlice(first\x2C lastPos\x2C i);\x0d\n lastPos = i + 1;\x0d\n }\x0d\n }\x0d\n }\x0d\n if (lastPos !== 0) {\x0d\n a++;\x0d\n join = ' ';\x0d\n if (lastPos < first.length) {\x0d\n str += StringPrototypeSlice(first\x2C lastPos);\x0d\n }\x0d\n }\x0d\n }\x0d\n\x0d\n while (a < args.length) {\x0d\n const value = args[a];\x0d\n str += join;\x0d\n str += typeof value !== 'string' ? inspect(value\x2C inspectOptions) : value;\x0d\n join = ' ';\x0d\n a++;\x0d\n }\x0d\n return str;\x0d\n}\x0d\n\x0d\nfunction isZeroWidthCodePoint(code) {\x0d\n return code <= 0x1F || // C0 control codes\x0d\n (code >= 0x7F && code <= 0x9F) || // C1 control codes\x0d\n (code >= 0x300 && code <= 0x36F) || // Combining Diacritical Marks\x0d\n (code >= 0x200B && code <= 0x200F) || // Modifying Invisible Characters\x0d\n // Combining Diacritical Marks for Symbols\x0d\n (code >= 0x20D0 && code <= 0x20FF) ||\x0d\n (code >= 0xFE00 && code <= 0xFE0F) || // Variation Selectors\x0d\n (code >= 0xFE20 && code <= 0xFE2F) || // Combining Half Marks\x0d\n (code >= 0xE0100 && code <= 0xE01EF); // Variation Selectors\x0d\n}\x0d\n\x0d\nif (internalBinding('config').hasIntl) {\x0d\n const icu = internalBinding('icu');\x0d\n // icu.getStringWidth(string\x2C ambiguousAsFullWidth\x2C expandEmojiSequence)\x0d\n // Defaults: ambiguousAsFullWidth = false; expandEmojiSequence = true;\x0d\n // TODO(BridgeAR): Expose the options to the user. That is probably the\x0d\n // best thing possible at the moment\x2C since it's difficult to know what\x0d\n // the receiving end supports.\x0d\n getStringWidth = function getStringWidth(str\x2C removeControlChars = true) {\x0d\n let width = 0;\x0d\n\x0d\n if (removeControlChars) {\x0d\n str = stripVTControlCharacters(str);\x0d\n }\x0d\n for (let i = 0; i < str.length; i++) {\x0d\n // Try to avoid calling into C++ by first handling the ASCII portion of\x0d\n // the string. If it is fully ASCII\x2C we skip the C++ part.\x0d\n const code = str.charCodeAt(i);\x0d\n if (code >= 127) {\x0d\n width += icu.getStringWidth(StringPrototypeNormalize(StringPrototypeSlice(str\x2C i)\x2C 'NFC'));\x0d\n break;\x0d\n }\x0d\n width += code >= 32 ? 1 : 0;\x0d\n }\x0d\n return width;\x0d\n };\x0d\n} else {\x0d\n /**\x0d\n * Returns the number of columns required to display the given string.\x0d\n */\x0d\n getStringWidth = function getStringWidth(str\x2C removeControlChars = true) {\x0d\n let width = 0;\x0d\n\x0d\n if (removeControlChars)\x0d\n str = stripVTControlCharacters(str);\x0d\n str = StringPrototypeNormalize(str\x2C 'NFC');\x0d\n for (const char of new SafeStringIterator(str)) {\x0d\n const code = StringPrototypeCodePointAt(char\x2C 0);\x0d\n if (isFullWidthCodePoint(code)) {\x0d\n width += 2;\x0d\n } else if (!isZeroWidthCodePoint(code)) {\x0d\n width++;\x0d\n }\x0d\n }\x0d\n\x0d\n return width;\x0d\n };\x0d\n\x0d\n /**\x0d\n * Returns true if the character represented by a given\x0d\n * Unicode code point is full-width. Otherwise returns false.\x0d\n */\x0d\n const isFullWidthCodePoint = (code) => {\x0d\n // Code points are partially derived from:\x0d\n // https://www.unicode.org/Public/UNIDATA/EastAsianWidth.txt\x0d\n return code >= 0x1100 && (\x0d\n code <= 0x115f || // Hangul Jamo\x0d\n code === 0x2329 || // LEFT-POINTING ANGLE BRACKET\x0d\n code === 0x232a || // RIGHT-POINTING ANGLE BRACKET\x0d\n // CJK Radicals Supplement .. Enclosed CJK Letters and Months\x0d\n (code >= 0x2e80 && code <= 0x3247 && code !== 0x303f) ||\x0d\n // Enclosed CJK Letters and Months .. CJK Unified Ideographs Extension A\x0d\n (code >= 0x3250 && code <= 0x4dbf) ||\x0d\n // CJK Unified Ideographs .. Yi Radicals\x0d\n (code >= 0x4e00 && code <= 0xa4c6) ||\x0d\n // Hangul Jamo Extended-A\x0d\n (code >= 0xa960 && code <= 0xa97c) ||\x0d\n // Hangul Syllables\x0d\n (code >= 0xac00 && code <= 0xd7a3) ||\x0d\n // CJK Compatibility Ideographs\x0d\n (code >= 0xf900 && code <= 0xfaff) ||\x0d\n // Vertical Forms\x0d\n (code >= 0xfe10 && code <= 0xfe19) ||\x0d\n // CJK Compatibility Forms .. Small Form Variants\x0d\n (code >= 0xfe30 && code <= 0xfe6b) ||\x0d\n // Halfwidth and Fullwidth Forms\x0d\n (code >= 0xff01 && code <= 0xff60) ||\x0d\n (code >= 0xffe0 && code <= 0xffe6) ||\x0d\n // Kana Supplement\x0d\n (code >= 0x1b000 && code <= 0x1b001) ||\x0d\n // Enclosed Ideographic Supplement\x0d\n (code >= 0x1f200 && code <= 0x1f251) ||\x0d\n // Miscellaneous Symbols and Pictographs 0x1f300 - 0x1f5ff\x0d\n // Emoticons 0x1f600 - 0x1f64f\x0d\n (code >= 0x1f300 && code <= 0x1f64f) ||\x0d\n // CJK Unified Ideographs Extension B .. Tertiary Ideographic Plane\x0d\n (code >= 0x20000 && code <= 0x3fffd)\x0d\n );\x0d\n };\x0d\n\x0d\n}\x0d\n\x0d\n/**\x0d\n * Remove all VT control characters. Use to estimate displayed string width.\x0d\n */\x0d\nfunction stripVTControlCharacters(str) {\x0d\n validateString(str\x2C 'str');\x0d\n\x0d\n return RegExpPrototypeSymbolReplace(ansi\x2C str\x2C '');\x0d\n}\x0d\n\x0d\nmodule.exports = {\x0d\n identicalSequenceRange\x2C\x0d\n inspect\x2C\x0d\n inspectDefaultOptions\x2C\x0d\n format\x2C\x0d\n formatWithOptions\x2C\x0d\n getStringWidth\x2C\x0d\n stripVTControlCharacters\x2C\x0d\n isZeroWidthCodePoint\x2C\x0d\n};\x0d\n
code-source-info,0x381e133fe1e,21,74969,75138,C0O74969C8O75000C18O75049C24O75000C29O75080C32O75087C37O75135,,
tick,0x7ff7ba222154,382282,0,0x0,3,0x7ff7b9533060,0x23c51978eba,0x23c51978d5e,0x7ff7b8e135d0,0x23c5197894b,0x23c519693ae,0x23c51968a11,0x23c51942948
code-creation,JS,10,382381,0x158ab305ebe,252, node:internal/validators:240:3,0x39e2db45f90,~
code-source-info,0x158ab305ebe,15,6815,7863,C12O6839C19O6870C21O6886C23O6882C28O6916C34O6938C37O6938C43O6970C59O6976C64O6970C65O7043C71O7085C87O7091C92O7085C95O7194C102O7224C107O7235C111O7251C117O7301C133O7307C138O7301C139O7395C146O7422C151O7433C155O7449C159O7469C162O7469C168O7501C184O7507C189O7501C190O7598C197O7628C202O7639C206O7673C210O7696C212O7712C219O7729C223O7760C228O7788C244O7794C249O7788C251O7862,,
code-creation,JS,10,382801,0x158ab30625e,764,formatWithOptionsInternal node:internal/util/inspect:2185:35,0x39e2db4f850,~
code-source-info,0x158ab30625e,21,75560,79674,C0O75602C1O75606C5O75622C7O75638C10O75656C13O75665C19O75712C26O75719C31O75735C33O75748C34O75765C36O75793C38O75816C40O75829C44O75836C47O75821C52O75855C57O75859C65O75895C70O75938C77O75964C80O75938C86O75986C88O75992C92O76005C96O75996C101O76026C169O76109C174O76113C178O76135C182O76187C185O76197C193O76265C199O76317C202O76327C210O76395C223O76503C229O76551C234O76561C241O76619C244O76670C251O76714C256O76744C261O76777C265O76629C271O76833C273O76900C278O76923C281O76927C285O76910C290O76950C292O77020C297O77024C301O77046C305O77098C308O77108C316O77176C322O77228C327O77286C332O77316C335O77316C340O77296C346O77382C348O77448C353O77466C356O77470C360O77458C366O77509C368O77561C373O77579C376O77583C380O77612C386O77657C391O77691C397O77721C401O77571C407O77758C409O77832C414O77836C418O77858C422O77914C425O77924C433O77996C439O78052C444O78110C449O78160C452O78160C457O78120C463O78238C465O78325C470O78329C474O78351C478O78405C483O78463C488O78513C491O78513C496O78473C502O78591C504O78657C510O78680C513O78709C515O78760C517O78767C529O78767C541O78823C543O78835C547O78855C549O78954C551O78988C553O79006C556O79000C561O79026C563O79033C568O79072C579O79033C591O79102C593O79109C600O79129C602O79141C608O79162C610O79175C615O79196C617O79203C629O79203C641O79255C643O79267C647O75842C652O75803C660O79304C661O79316C666O79332C671O79344C674O79383C678O79375C683O79402C685O79409C688O79409C700O79489C704O79482C709O79518C711O79522C715O79532C717O79539C724O79550C736O79585C745O79618C749O79630C752O79647C757O79473C761O79660C763O79671,,
code-creation,JS,10,383216,0x158ab306976,298,value node:internal/console/constructor:278:20,0x39e2db76078,~
code-source-info,0x158ab306976,54,8415,9986,C17O8485C22O8527C24O8532C26O8531C30O8574C32O8591C34O8587C38O8625C40O8642C46O8657C51O8694C55O8720C61O8747C66O8793C72O8800C77O8818C85O8822C92O8874C108O8932C116O8883C122O8968C124O8989C128O9017C132O9039C137O9048C143O9092C152O9117C157O9159C162O9159C167O9173C174O9498C182O9498C189O9521C194O9546C205O9546C211O9585C216O9585C235O9785C245O9789C251O9825C253O9825C267O9933C268O9940C279O9940C297O9985,,
code-creation,JS,10,383528,0x158ab306bee,39,once node:events:652:44,0x39e2db528e8,~
script-source,23,node:events,// Copyright Joyent\x2C Inc. and other Node contributors.\x0d\n//\x0d\n// Permission is hereby granted\x2C free of charge\x2C to any person obtaining a\x0d\n// copy of this software and associated documentation files (the\x0d\n// "Software")\x2C to deal in the Software without restriction\x2C including\x0d\n// without limitation the rights to use\x2C copy\x2C modify\x2C merge\x2C publish\x2C\x0d\n// distribute\x2C sublicense\x2C and/or sell copies of the Software\x2C and to permit\x0d\n// persons to whom the Software is furnished to do so\x2C subject to the\x0d\n// following conditions:\x0d\n//\x0d\n// The above copyright notice and this permission notice shall be included\x0d\n// in all copies or substantial portions of the Software.\x0d\n//\x0d\n// THE SOFTWARE IS PROVIDED "AS IS"\x2C WITHOUT WARRANTY OF ANY KIND\x2C EXPRESS\x0d\n// OR IMPLIED\x2C INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\x0d\n// MERCHANTABILITY\x2C FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\x0d\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM\x2C\x0d\n// DAMAGES OR OTHER LIABILITY\x2C WHETHER IN AN ACTION OF CONTRACT\x2C TORT OR\x0d\n// OTHERWISE\x2C ARISING FROM\x2C OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\x0d\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\x0d\n\x0d\n'use strict';\x0d\n\x0d\nconst {\x0d\n ArrayPrototypeJoin\x2C\x0d\n ArrayPrototypePop\x2C\x0d\n ArrayPrototypePush\x2C\x0d\n ArrayPrototypeSlice\x2C\x0d\n ArrayPrototypeSplice\x2C\x0d\n ArrayPrototypeUnshift\x2C\x0d\n Boolean\x2C\x0d\n Error\x2C\x0d\n ErrorCaptureStackTrace\x2C\x0d\n FunctionPrototypeBind\x2C\x0d\n FunctionPrototypeCall\x2C\x0d\n NumberMAX_SAFE_INTEGER\x2C\x0d\n ObjectDefineProperty\x2C\x0d\n ObjectDefineProperties\x2C\x0d\n ObjectGetPrototypeOf\x2C\x0d\n ObjectSetPrototypeOf\x2C\x0d\n Promise\x2C\x0d\n PromiseReject\x2C\x0d\n PromiseResolve\x2C\x0d\n ReflectApply\x2C\x0d\n ReflectOwnKeys\x2C\x0d\n String\x2C\x0d\n StringPrototypeSplit\x2C\x0d\n Symbol\x2C\x0d\n SymbolFor\x2C\x0d\n SymbolAsyncIterator\x2C\x0d\n SymbolDispose\x2C\x0d\n} = primordials;\x0d\nconst kRejection = SymbolFor('nodejs.rejection');\x0d\n\x0d\nconst { kEmptyObject } = require('internal/util');\x0d\n\x0d\nconst {\x0d\n inspect\x2C\x0d\n identicalSequenceRange\x2C\x0d\n} = require('internal/util/inspect');\x0d\n\x0d\nlet spliceOne;\x0d\nlet FixedQueue;\x0d\nlet kFirstEventParam;\x0d\nlet kResistStopPropagation;\x0d\n\x0d\nconst {\x0d\n AbortError\x2C\x0d\n kEnhanceStackBeforeInspector\x2C\x0d\n codes: {\x0d\n ERR_INVALID_ARG_TYPE\x2C\x0d\n ERR_INVALID_THIS\x2C\x0d\n ERR_UNHANDLED_ERROR\x2C\x0d\n }\x2C\x0d\n genericNodeError\x2C\x0d\n} = require('internal/errors');\x0d\n\x0d\nconst {\x0d\n validateInteger\x2C\x0d\n validateAbortSignal\x2C\x0d\n validateBoolean\x2C\x0d\n validateFunction\x2C\x0d\n validateNumber\x2C\x0d\n validateString\x2C\x0d\n} = require('internal/validators');\x0d\nconst { addAbortListener } = require('internal/events/abort_listener');\x0d\n\x0d\nconst kCapture = Symbol('kCapture');\x0d\nconst kErrorMonitor = Symbol('events.errorMonitor');\x0d\nconst kShapeMode = Symbol('shapeMode');\x0d\nconst kMaxEventTargetListeners = Symbol('events.maxEventTargetListeners');\x0d\nconst kMaxEventTargetListenersWarned =\x0d\n Symbol('events.maxEventTargetListenersWarned');\x0d\nconst kWatermarkData = SymbolFor('nodejs.watermarkData');\x0d\n\x0d\nlet EventEmitterAsyncResource;\x0d\n// The EventEmitterAsyncResource has to be initialized lazily because event.js\x0d\n// is loaded so early in the bootstrap process\x2C before async_hooks is available.\x0d\n//\x0d\n// This implementation was adapted straight from addaleax's\x0d\n// eventemitter-asyncresource MIT-licensed userland module.\x0d\n// https://github.com/addaleax/eventemitter-asyncresource\x0d\nfunction lazyEventEmitterAsyncResource() {\x0d\n if (EventEmitterAsyncResource === undefined) {\x0d\n const {\x0d\n AsyncResource\x2C\x0d\n } = require('async_hooks');\x0d\n\x0d\n const kEventEmitter = Symbol('kEventEmitter');\x0d\n const kAsyncResource = Symbol('kAsyncResource');\x0d\n class EventEmitterReferencingAsyncResource extends AsyncResource {\x0d\n /**\x0d\n * @param {EventEmitter} ee\x0d\n * @param {string} [type]\x0d\n * @param {{\x0d\n * triggerAsyncId?: number\x2C\x0d\n * requireManualDestroy?: boolean\x2C\x0d\n * }} [options]\x0d\n */\x0d\n constructor(ee\x2C type\x2C options) {\x0d\n super(type\x2C options);\x0d\n this[kEventEmitter] = ee;\x0d\n }\x0d\n\x0d\n /**\x0d\n * @type {EventEmitter}\x0d\n */\x0d\n get eventEmitter() {\x0d\n if (this[kEventEmitter] === undefined)\x0d\n throw new ERR_INVALID_THIS('EventEmitterReferencingAsyncResource');\x0d\n return this[kEventEmitter];\x0d\n }\x0d\n }\x0d\n\x0d\n EventEmitterAsyncResource =\x0d\n class EventEmitterAsyncResource extends EventEmitter {\x0d\n /**\x0d\n * @param {{\x0d\n * name?: string\x2C\x0d\n * triggerAsyncId?: number\x2C\x0d\n * requireManualDestroy?: boolean\x2C\x0d\n * }} [options]\x0d\n */\x0d\n constructor(options = undefined) {\x0d\n let name;\x0d\n if (typeof options === 'string') {\x0d\n name = options;\x0d\n options = undefined;\x0d\n } else {\x0d\n if (new.target === EventEmitterAsyncResource) {\x0d\n validateString(options?.name\x2C 'options.name');\x0d\n }\x0d\n name = options?.name || new.target.name;\x0d\n }\x0d\n super(options);\x0d\n\x0d\n this[kAsyncResource] =\x0d\n new EventEmitterReferencingAsyncResource(this\x2C name\x2C options);\x0d\n }\x0d\n\x0d\n /**\x0d\n * @param {symbol\x2Cstring} event\x0d\n * @param {...any} args\x0d\n * @returns {boolean}\x0d\n */\x0d\n emit(event\x2C ...args) {\x0d\n if (this[kAsyncResource] === undefined)\x0d\n throw new ERR_INVALID_THIS('EventEmitterAsyncResource');\x0d\n const { asyncResource } = this;\x0d\n ArrayPrototypeUnshift(args\x2C super.emit\x2C this\x2C event);\x0d\n return ReflectApply(asyncResource.runInAsyncScope\x2C asyncResource\x2C\x0d\n args);\x0d\n }\x0d\n\x0d\n /**\x0d\n * @returns {void}\x0d\n */\x0d\n emitDestroy() {\x0d\n if (this[kAsyncResource] === undefined)\x0d\n throw new ERR_INVALID_THIS('EventEmitterAsyncResource');\x0d\n this.asyncResource.emitDestroy();\x0d\n }\x0d\n\x0d\n /**\x0d\n * @type {number}\x0d\n */\x0d\n get asyncId() {\x0d\n if (this[kAsyncResource] === undefined)\x0d\n throw new ERR_INVALID_THIS('EventEmitterAsyncResource');\x0d\n return this.asyncResource.asyncId();\x0d\n }\x0d\n\x0d\n /**\x0d\n * @type {number}\x0d\n */\x0d\n get triggerAsyncId() {\x0d\n if (this[kAsyncResource] === undefined)\x0d\n throw new ERR_INVALID_THIS('EventEmitterAsyncResource');\x0d\n return this.asyncResource.triggerAsyncId();\x0d\n }\x0d\n\x0d\n /**\x0d\n * @type {EventEmitterReferencingAsyncResource}\x0d\n */\x0d\n get asyncResource() {\x0d\n if (this[kAsyncResource] === undefined)\x0d\n throw new ERR_INVALID_THIS('EventEmitterAsyncResource');\x0d\n return this[kAsyncResource];\x0d\n }\x0d\n };\x0d\n }\x0d\n return EventEmitterAsyncResource;\x0d\n}\x0d\n\x0d\n/**\x0d\n * Creates a new `EventEmitter` instance.\x0d\n * @param {{ captureRejections?: boolean; }} [opts]\x0d\n * @constructs {EventEmitter}\x0d\n */\x0d\nfunction EventEmitter(opts) {\x0d\n EventEmitter.init.call(this\x2C opts);\x0d\n}\x0d\nmodule.exports = EventEmitter;\x0d\nmodule.exports.addAbortListener = addAbortListener;\x0d\nmodule.exports.once = once;\x0d\nmodule.exports.on = on;\x0d\nmodule.exports.getEventListeners = getEventListeners;\x0d\nmodule.exports.getMaxListeners = getMaxListeners;\x0d\n// Backwards-compat with node 0.10.x\x0d\nEventEmitter.EventEmitter = EventEmitter;\x0d\n\x0d\nEventEmitter.usingDomains = false;\x0d\n\x0d\nEventEmitter.captureRejectionSymbol = kRejection;\x0d\nObjectDefineProperty(EventEmitter\x2C 'captureRejections'\x2C {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n return EventEmitter.prototype[kCapture];\x0d\n }\x2C\x0d\n set(value) {\x0d\n validateBoolean(value\x2C 'EventEmitter.captureRejections');\x0d\n\x0d\n EventEmitter.prototype[kCapture] = value;\x0d\n }\x2C\x0d\n enumerable: true\x2C\x0d\n});\x0d\n\x0d\nObjectDefineProperty(EventEmitter\x2C 'EventEmitterAsyncResource'\x2C {\x0d\n __proto__: null\x2C\x0d\n enumerable: true\x2C\x0d\n get: lazyEventEmitterAsyncResource\x2C\x0d\n set: undefined\x2C\x0d\n configurable: true\x2C\x0d\n});\x0d\n\x0d\nEventEmitter.errorMonitor = kErrorMonitor;\x0d\n\x0d\n// The default for captureRejections is false\x0d\nObjectDefineProperty(EventEmitter.prototype\x2C kCapture\x2C {\x0d\n __proto__: null\x2C\x0d\n value: false\x2C\x0d\n writable: true\x2C\x0d\n enumerable: false\x2C\x0d\n});\x0d\n\x0d\nEventEmitter.prototype._events = undefined;\x0d\nEventEmitter.prototype._eventsCount = 0;\x0d\nEventEmitter.prototype._maxListeners = undefined;\x0d\n\x0d\n// By default EventEmitters will print a warning if more than 10 listeners are\x0d\n// added to it. This is a useful default which helps finding memory leaks.\x0d\nlet defaultMaxListeners = 10;\x0d\nlet isEventTarget;\x0d\n\x0d\nfunction checkListener(listener) {\x0d\n validateFunction(listener\x2C 'listener');\x0d\n}\x0d\n\x0d\nObjectDefineProperty(EventEmitter\x2C 'defaultMaxListeners'\x2C {\x0d\n __proto__: null\x2C\x0d\n enumerable: true\x2C\x0d\n get: function() {\x0d\n return defaultMaxListeners;\x0d\n }\x2C\x0d\n set: function(arg) {\x0d\n validateNumber(arg\x2C 'defaultMaxListeners'\x2C 0);\x0d\n defaultMaxListeners = arg;\x0d\n }\x2C\x0d\n});\x0d\n\x0d\nObjectDefineProperties(EventEmitter\x2C {\x0d\n kMaxEventTargetListeners: {\x0d\n __proto__: null\x2C\x0d\n value: kMaxEventTargetListeners\x2C\x0d\n enumerable: false\x2C\x0d\n configurable: false\x2C\x0d\n writable: false\x2C\x0d\n }\x2C\x0d\n kMaxEventTargetListenersWarned: {\x0d\n __proto__: null\x2C\x0d\n value: kMaxEventTargetListenersWarned\x2C\x0d\n enumerable: false\x2C\x0d\n configurable: false\x2C\x0d\n writable: false\x2C\x0d\n }\x2C\x0d\n});\x0d\n\x0d\n/**\x0d\n * Sets the max listeners.\x0d\n * @param {number} n\x0d\n * @param {EventTarget[] | EventEmitter[]} [eventTargets]\x0d\n * @returns {void}\x0d\n */\x0d\nEventEmitter.setMaxListeners =\x0d\n function(n = defaultMaxListeners\x2C ...eventTargets) {\x0d\n validateNumber(n\x2C 'setMaxListeners'\x2C 0);\x0d\n if (eventTargets.length === 0) {\x0d\n defaultMaxListeners = n;\x0d\n } else {\x0d\n if (isEventTarget === undefined)\x0d\n isEventTarget = require('internal/event_target').isEventTarget;\x0d\n\x0d\n for (let i = 0; i < eventTargets.length; i++) {\x0d\n const target = eventTargets[i];\x0d\n if (isEventTarget(target)) {\x0d\n target[kMaxEventTargetListeners] = n;\x0d\n target[kMaxEventTargetListenersWarned] = false;\x0d\n } else if (typeof target.setMaxListeners === 'function') {\x0d\n target.setMaxListeners(n);\x0d\n } else {\x0d\n throw new ERR_INVALID_ARG_TYPE(\x0d\n 'eventTargets'\x2C\x0d\n ['EventEmitter'\x2C 'EventTarget']\x2C\x0d\n target);\x0d\n }\x0d\n }\x0d\n }\x0d\n };\x0d\n\x0d\n// If you're updating this function definition\x2C please also update any\x0d\n// re-definitions\x2C such as the one in the Domain module (lib/domain.js).\x0d\nEventEmitter.init = function(opts) {\x0d\n\x0d\n if (this._events === undefined ||\x0d\n this._events === ObjectGetPrototypeOf(this)._events) {\x0d\n this._events = { __proto__: null };\x0d\n this._eventsCount = 0;\x0d\n this[kShapeMode] = false;\x0d\n } else {\x0d\n this[kShapeMode] = true;\x0d\n }\x0d\n\x0d\n this._maxListeners = this._maxListeners || undefined;\x0d\n\x0d\n\x0d\n if (opts?.captureRejections) {\x0d\n validateBoolean(opts.captureRejections\x2C 'options.captureRejections');\x0d\n this[kCapture] = Boolean(opts.captureRejections);\x0d\n } else {\x0d\n // Assigning the kCapture property directly saves an expensive\x0d\n // prototype lookup in a very sensitive hot path.\x0d\n this[kCapture] = EventEmitter.prototype[kCapture];\x0d\n }\x0d\n};\x0d\n\x0d\nfunction addCatch(that\x2C promise\x2C type\x2C args) {\x0d\n if (!that[kCapture]) {\x0d\n return;\x0d\n }\x0d\n\x0d\n // Handle Promises/A+ spec\x2C then could be a getter\x0d\n // that throws on second use.\x0d\n try {\x0d\n const then = promise.then;\x0d\n\x0d\n if (typeof then === 'function') {\x0d\n then.call(promise\x2C undefined\x2C function(err) {\x0d\n // The callback is called with nextTick to avoid a follow-up\x0d\n // rejection from this promise.\x0d\n process.nextTick(emitUnhandledRejectionOrErr\x2C that\x2C err\x2C type\x2C args);\x0d\n });\x0d\n }\x0d\n } catch (err) {\x0d\n that.emit('error'\x2C err);\x0d\n }\x0d\n}\x0d\n\x0d\nfunction emitUnhandledRejectionOrErr(ee\x2C err\x2C type\x2C args) {\x0d\n if (typeof ee[kRejection] === 'function') {\x0d\n ee[kRejection](err\x2C type\x2C ...args);\x0d\n } else {\x0d\n // We have to disable the capture rejections mechanism\x2C otherwise\x0d\n // we might end up in an infinite loop.\x0d\n const prev = ee[kCapture];\x0d\n\x0d\n // If the error handler throws\x2C it is not catchable and it\x0d\n // will end up in 'uncaughtException'. We restore the previous\x0d\n // value of kCapture in case the uncaughtException is present\x0d\n // and the exception is handled.\x0d\n try {\x0d\n ee[kCapture] = false;\x0d\n ee.emit('error'\x2C err);\x0d\n } finally {\x0d\n ee[kCapture] = prev;\x0d\n }\x0d\n }\x0d\n}\x0d\n\x0d\n/**\x0d\n * Increases the max listeners of the event emitter.\x0d\n * @param {number} n\x0d\n * @returns {EventEmitter}\x0d\n */\x0d\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\x0d\n validateNumber(n\x2C 'setMaxListeners'\x2C 0);\x0d\n this._maxListeners = n;\x0d\n return this;\x0d\n};\x0d\n\x0d\nfunction _getMaxListeners(that) {\x0d\n if (that._maxListeners === undefined)\x0d\n return EventEmitter.defaultMaxListeners;\x0d\n return that._maxListeners;\x0d\n}\x0d\n\x0d\n/**\x0d\n * Returns the current max listener value for the event emitter.\x0d\n * @returns {number}\x0d\n */\x0d\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\x0d\n return _getMaxListeners(this);\x0d\n};\x0d\n\x0d\nfunction enhanceStackTrace(err\x2C own) {\x0d\n let ctorInfo = '';\x0d\n try {\x0d\n const { name } = this.constructor;\x0d\n if (name !== 'EventEmitter')\x0d\n ctorInfo = ` on ${name} instance`;\x0d\n } catch {\x0d\n // Continue regardless of error.\x0d\n }\x0d\n const sep = `\\nEmitted 'error' event${ctorInfo} at:\\n`;\x0d\n\x0d\n const errStack = ArrayPrototypeSlice(\x0d\n StringPrototypeSplit(err.stack\x2C '\\n')\x2C 1);\x0d\n const ownStack = ArrayPrototypeSlice(\x0d\n StringPrototypeSplit(own.stack\x2C '\\n')\x2C 1);\x0d\n\x0d\n const { len\x2C offset } = identicalSequenceRange(ownStack\x2C errStack);\x0d\n if (len > 0) {\x0d\n ArrayPrototypeSplice(ownStack\x2C offset + 1\x2C len - 2\x2C\x0d\n ' [... lines matching original stack trace ...]');\x0d\n }\x0d\n\x0d\n return err.stack + sep + ArrayPrototypeJoin(ownStack\x2C '\\n');\x0d\n}\x0d\n\x0d\n/**\x0d\n * Synchronously calls each of the listeners registered\x0d\n * for the event.\x0d\n * @param {string | symbol} type\x0d\n * @param {...any} [args]\x0d\n * @returns {boolean}\x0d\n */\x0d\nEventEmitter.prototype.emit = function emit(type\x2C ...args) {\x0d\n let doError = (type === 'error');\x0d\n\x0d\n const events = this._events;\x0d\n if (events !== undefined) {\x0d\n if (doError && events[kErrorMonitor] !== undefined)\x0d\n this.emit(kErrorMonitor\x2C ...args);\x0d\n doError = (doError && events.error === undefined);\x0d\n } else if (!doError)\x0d\n return false;\x0d\n\x0d\n // If there is no 'error' event listener then throw.\x0d\n if (doError) {\x0d\n let er;\x0d\n if (args.length > 0)\x0d\n er = args[0];\x0d\n if (er instanceof Error) {\x0d\n try {\x0d\n const capture = {};\x0d\n ErrorCaptureStackTrace(capture\x2C EventEmitter.prototype.emit);\x0d\n ObjectDefineProperty(er\x2C kEnhanceStackBeforeInspector\x2C {\x0d\n __proto__: null\x2C\x0d\n value: FunctionPrototypeBind(enhanceStackTrace\x2C this\x2C er\x2C capture)\x2C\x0d\n configurable: true\x2C\x0d\n });\x0d\n } catch {\x0d\n // Continue regardless of error.\x0d\n }\x0d\n\x0d\n // Note: The comments on the `throw` lines are intentional\x2C they show\x0d\n // up in Node's output if this results in an unhandled exception.\x0d\n throw er; // Unhandled 'error' event\x0d\n }\x0d\n\x0d\n let stringifiedEr;\x0d\n try {\x0d\n stringifiedEr = inspect(er);\x0d\n } catch {\x0d\n stringifiedEr = er;\x0d\n }\x0d\n\x0d\n // At least give some kind of context to the user\x0d\n const err = new ERR_UNHANDLED_ERROR(stringifiedEr);\x0d\n err.context = er;\x0d\n throw err; // Unhandled 'error' event\x0d\n }\x0d\n\x0d\n const handler = events[type];\x0d\n\x0d\n if (handler === undefined)\x0d\n return false;\x0d\n\x0d\n if (typeof handler === 'function') {\x0d\n const result = handler.apply(this\x2C args);\x0d\n\x0d\n // We check if result is undefined first because that\x0d\n // is the most common case so we do not pay any perf\x0d\n // penalty\x0d\n if (result !== undefined && result !== null) {\x0d\n addCatch(this\x2C result\x2C type\x2C args);\x0d\n }\x0d\n } else {\x0d\n const len = handler.length;\x0d\n const listeners = arrayClone(handler);\x0d\n for (let i = 0; i < len; ++i) {\x0d\n const result = listeners[i].apply(this\x2C args);\x0d\n\x0d\n // We check if result is undefined first because that\x0d\n // is the most common case so we do not pay any perf\x0d\n // penalty.\x0d\n // This code is duplicated because extracting it away\x0d\n // would make it non-inlineable.\x0d\n if (result !== undefined && result !== null) {\x0d\n addCatch(this\x2C result\x2C type\x2C args);\x0d\n }\x0d\n }\x0d\n }\x0d\n\x0d\n return true;\x0d\n};\x0d\n\x0d\nfunction _addListener(target\x2C type\x2C listener\x2C prepend) {\x0d\n let m;\x0d\n let events;\x0d\n let existing;\x0d\n\x0d\n checkListener(listener);\x0d\n\x0d\n events = target._events;\x0d\n if (events === undefined) {\x0d\n events = target._events = { __proto__: null };\x0d\n target._eventsCount = 0;\x0d\n } else {\x0d\n // To avoid recursion in the case that type === "newListener"! Before\x0d\n // adding it to the listeners\x2C first emit "newListener".\x0d\n if (events.newListener !== undefined) {\x0d\n target.emit('newListener'\x2C type\x2C\x0d\n listener.listener ?? listener);\x0d\n\x0d\n // Re-assign `events` because a newListener handler could have caused the\x0d\n // this._events to be assigned to a new object\x0d\n events = target._events;\x0d\n }\x0d\n existing = events[type];\x0d\n }\x0d\n\x0d\n if (existing === undefined) {\x0d\n // Optimize the case of one listener. Don't need the extra array object.\x0d\n events[type] = listener;\x0d\n ++target._eventsCount;\x0d\n } else {\x0d\n if (typeof existing === 'function') {\x0d\n // Adding the second element\x2C need to change to array.\x0d\n existing = events[type] =\x0d\n prepend ? [listener\x2C existing] : [existing\x2C listener];\x0d\n // If we've already got an array\x2C just append.\x0d\n } else if (prepend) {\x0d\n existing.unshift(listener);\x0d\n } else {\x0d\n existing.push(listener);\x0d\n }\x0d\n\x0d\n // Check for listener leak\x0d\n m = _getMaxListeners(target);\x0d\n if (m > 0 && existing.length > m && !existing.warned) {\x0d\n existing.warned = true;\x0d\n // No error code for this since it is a Warning\x0d\n const w = genericNodeError(\x0d\n `Possible EventEmitter memory leak detected. ${existing.length} ${String(type)} listeners ` +\x0d\n `added to ${inspect(target\x2C { depth: -1 })}. MaxListeners is ${m}. Use emitter.setMaxListeners() to increase limit`\x2C\x0d\n { name: 'MaxListenersExceededWarning'\x2C emitter: target\x2C type: type\x2C count: existing.length });\x0d\n process.emitWarning(w);\x0d\n }\x0d\n }\x0d\n\x0d\n return target;\x0d\n}\x0d\n\x0d\n/**\x0d\n * Adds a listener to the event emitter.\x0d\n * @param {string | symbol} type\x0d\n * @param {Function} listener\x0d\n * @returns {EventEmitter}\x0d\n */\x0d\nEventEmitter.prototype.addListener = function addListener(type\x2C listener) {\x0d\n return _addListener(this\x2C type\x2C listener\x2C false);\x0d\n};\x0d\n\x0d\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\x0d\n\x0d\n/**\x0d\n * Adds the `listener` function to the beginning of\x0d\n * the listeners array.\x0d\n * @param {string | symbol} type\x0d\n * @param {Function} listener\x0d\n * @returns {EventEmitter}\x0d\n */\x0d\nEventEmitter.prototype.prependListener =\x0d\n function prependListener(type\x2C listener) {\x0d\n return _addListener(this\x2C type\x2C listener\x2C true);\x0d\n };\x0d\n\x0d\nfunction onceWrapper() {\x0d\n if (!this.fired) {\x0d\n this.target.removeListener(this.type\x2C this.wrapFn);\x0d\n this.fired = true;\x0d\n if (arguments.length === 0)\x0d\n return this.listener.call(this.target);\x0d\n return this.listener.apply(this.target\x2C arguments);\x0d\n }\x0d\n}\x0d\n\x0d\nfunction _onceWrap(target\x2C type\x2C listener) {\x0d\n const state = { fired: false\x2C wrapFn: undefined\x2C target\x2C type\x2C listener };\x0d\n const wrapped = onceWrapper.bind(state);\x0d\n wrapped.listener = listener;\x0d\n state.wrapFn = wrapped;\x0d\n return wrapped;\x0d\n}\x0d\n\x0d\n/**\x0d\n * Adds a one-time `listener` function to the event emitter.\x0d\n * @param {string | symbol} type\x0d\n * @param {Function} listener\x0d\n * @returns {EventEmitter}\x0d\n */\x0d\nEventEmitter.prototype.once = function once(type\x2C listener) {\x0d\n checkListener(listener);\x0d\n\x0d\n this.on(type\x2C _onceWrap(this\x2C type\x2C listener));\x0d\n return this;\x0d\n};\x0d\n\x0d\n/**\x0d\n * Adds a one-time `listener` function to the beginning of\x0d\n * the listeners array.\x0d\n * @param {string | symbol} type\x0d\n * @param {Function} listener\x0d\n * @returns {EventEmitter}\x0d\n */\x0d\nEventEmitter.prototype.prependOnceListener =\x0d\n function prependOnceListener(type\x2C listener) {\x0d\n checkListener(listener);\x0d\n\x0d\n this.prependListener(type\x2C _onceWrap(this\x2C type\x2C listener));\x0d\n return this;\x0d\n };\x0d\n\x0d\n/**\x0d\n * Removes the specified `listener` from the listeners array.\x0d\n * @param {string | symbol} type\x0d\n * @param {Function} listener\x0d\n * @returns {EventEmitter}\x0d\n */\x0d\nEventEmitter.prototype.removeListener =\x0d\n function removeListener(type\x2C listener) {\x0d\n checkListener(listener);\x0d\n\x0d\n const events = this._events;\x0d\n if (events === undefined)\x0d\n return this;\x0d\n\x0d\n const list = events[type];\x0d\n if (list === undefined)\x0d\n return this;\x0d\n\x0d\n if (list === listener || list.listener === listener) {\x0d\n this._eventsCount -= 1;\x0d\n\x0d\n if (this[kShapeMode]) {\x0d\n events[type] = undefined;\x0d\n } else if (this._eventsCount === 0) {\x0d\n this._events = { __proto__: null };\x0d\n } else {\x0d\n delete events[type];\x0d\n if (events.removeListener)\x0d\n this.emit('removeListener'\x2C type\x2C list.listener || listener);\x0d\n }\x0d\n } else if (typeof list !== 'function') {\x0d\n let position = -1;\x0d\n\x0d\n for (let i = list.length - 1; i >= 0; i--) {\x0d\n if (list[i] === listener || list[i].listener === listener) {\x0d\n position = i;\x0d\n break;\x0d\n }\x0d\n }\x0d\n\x0d\n if (position < 0)\x0d\n return this;\x0d\n\x0d\n if (position === 0)\x0d\n list.shift();\x0d\n else {\x0d\n if (spliceOne === undefined)\x0d\n spliceOne = require('internal/util').spliceOne;\x0d\n spliceOne(list\x2C position);\x0d\n }\x0d\n\x0d\n if (list.length === 1)\x0d\n events[type] = list[0];\x0d\n\x0d\n if (events.removeListener !== undefined)\x0d\n this.emit('removeListener'\x2C type\x2C listener);\x0d\n }\x0d\n\x0d\n return this;\x0d\n };\x0d\n\x0d\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\x0d\n\x0d\n/**\x0d\n * Removes all listeners from the event emitter. (Only\x0d\n * removes listeners for a specific event name if specified\x0d\n * as `type`).\x0d\n * @param {string | symbol} [type]\x0d\n * @returns {EventEmitter}\x0d\n */\x0d\nEventEmitter.prototype.removeAllListeners =\x0d\n function removeAllListeners(type) {\x0d\n const events = this._events;\x0d\n if (events === undefined)\x0d\n return this;\x0d\n\x0d\n // Not listening for removeListener\x2C no need to emit\x0d\n if (events.removeListener === undefined) {\x0d\n if (arguments.length === 0) {\x0d\n this._events = { __proto__: null };\x0d\n this._eventsCount = 0;\x0d\n } else if (events[type] !== undefined) {\x0d\n if (--this._eventsCount === 0)\x0d\n this._events = { __proto__: null };\x0d\n else\x0d\n delete events[type];\x0d\n }\x0d\n this[kShapeMode] = false;\x0d\n return this;\x0d\n }\x0d\n\x0d\n // Emit removeListener for all listeners on all events\x0d\n if (arguments.length === 0) {\x0d\n for (const key of ReflectOwnKeys(events)) {\x0d\n if (key === 'removeListener') continue;\x0d\n this.removeAllListeners(key);\x0d\n }\x0d\n this.removeAllListeners('removeListener');\x0d\n this._events = { __proto__: null };\x0d\n this._eventsCount = 0;\x0d\n this[kShapeMode] = false;\x0d\n return this;\x0d\n }\x0d\n\x0d\n const listeners = events[type];\x0d\n\x0d\n if (typeof listeners === 'function') {\x0d\n this.removeListener(type\x2C listeners);\x0d\n } else if (listeners !== undefined) {\x0d\n // LIFO order\x0d\n for (let i = listeners.length - 1; i >= 0; i--) {\x0d\n this.removeListener(type\x2C listeners[i]);\x0d\n }\x0d\n }\x0d\n\x0d\n return this;\x0d\n };\x0d\n\x0d\nfunction _listeners(target\x2C type\x2C unwrap) {\x0d\n const events = target._events;\x0d\n\x0d\n if (events === undefined)\x0d\n return [];\x0d\n\x0d\n const evlistener = events[type];\x0d\n if (evlistener === undefined)\x0d\n return [];\x0d\n\x0d\n if (typeof evlistener === 'function')\x0d\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\x0d\n\x0d\n return unwrap ?\x0d\n unwrapListeners(evlistener) : arrayClone(evlistener);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Returns a copy of the array of listeners for the event name\x0d\n * specified as `type`.\x0d\n * @param {string | symbol} type\x0d\n * @returns {Function[]}\x0d\n */\x0d\nEventEmitter.prototype.listeners = function listeners(type) {\x0d\n return _listeners(this\x2C type\x2C true);\x0d\n};\x0d\n\x0d\n/**\x0d\n * Returns a copy of the array of listeners and wrappers for\x0d\n * the event name specified as `type`.\x0d\n * @param {string | symbol} type\x0d\n * @returns {Function[]}\x0d\n */\x0d\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\x0d\n return _listeners(this\x2C type\x2C false);\x0d\n};\x0d\n\x0d\n/**\x0d\n * Returns the number of listeners listening to the event name\x0d\n * specified as `type`.\x0d\n * @deprecated since v3.2.0\x0d\n * @param {EventEmitter} emitter\x0d\n * @param {string | symbol} type\x0d\n * @returns {number}\x0d\n */\x0d\nEventEmitter.listenerCount = function(emitter\x2C type) {\x0d\n if (typeof emitter.listenerCount === 'function') {\x0d\n return emitter.listenerCount(type);\x0d\n }\x0d\n return FunctionPrototypeCall(listenerCount\x2C emitter\x2C type);\x0d\n};\x0d\n\x0d\nEventEmitter.prototype.listenerCount = listenerCount;\x0d\n\x0d\n/**\x0d\n * Returns the number of listeners listening to event name\x0d\n * specified as `type`.\x0d\n * @param {string | symbol} type\x0d\n * @param {Function} listener\x0d\n * @returns {number}\x0d\n */\x0d\nfunction listenerCount(type\x2C listener) {\x0d\n const events = this._events;\x0d\n\x0d\n if (events !== undefined) {\x0d\n const evlistener = events[type];\x0d\n\x0d\n if (typeof evlistener === 'function') {\x0d\n if (listener != null) {\x0d\n return listener === evlistener || listener === evlistener.listener ? 1 : 0;\x0d\n }\x0d\n\x0d\n return 1;\x0d\n } else if (evlistener !== undefined) {\x0d\n if (listener != null) {\x0d\n let matching = 0;\x0d\n\x0d\n for (let i = 0\x2C l = evlistener.length; i < l; i++) {\x0d\n if (evlistener[i] === listener || evlistener[i].listener === listener) {\x0d\n matching++;\x0d\n }\x0d\n }\x0d\n\x0d\n return matching;\x0d\n }\x0d\n\x0d\n return evlistener.length;\x0d\n }\x0d\n }\x0d\n\x0d\n return 0;\x0d\n}\x0d\n\x0d\n/**\x0d\n * Returns an array listing the events for which\x0d\n * the emitter has registered listeners.\x0d\n * @returns {any[]}\x0d\n */\x0d\nEventEmitter.prototype.eventNames = function eventNames() {\x0d\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\x0d\n};\x0d\n\x0d\nfunction arrayClone(arr) {\x0d\n // At least since V8 8.3\x2C this implementation is faster than the previous\x0d\n // which always used a simple for-loop\x0d\n switch (arr.length) {\x0d\n case 2: return [arr[0]\x2C arr[1]];\x0d\n case 3: return [arr[0]\x2C arr[1]\x2C arr[2]];\x0d\n case 4: return [arr[0]\x2C arr[1]\x2C arr[2]\x2C arr[3]];\x0d\n case 5: return [arr[0]\x2C arr[1]\x2C arr[2]\x2C arr[3]\x2C arr[4]];\x0d\n case 6: return [arr[0]\x2C arr[1]\x2C arr[2]\x2C arr[3]\x2C arr[4]\x2C arr[5]];\x0d\n }\x0d\n return ArrayPrototypeSlice(arr);\x0d\n}\x0d\n\x0d\nfunction unwrapListeners(arr) {\x0d\n const ret = arrayClone(arr);\x0d\n for (let i = 0; i < ret.length; ++i) {\x0d\n const orig = ret[i].listener;\x0d\n if (typeof orig === 'function')\x0d\n ret[i] = orig;\x0d\n }\x0d\n return ret;\x0d\n}\x0d\n\x0d\n/**\x0d\n * Returns a copy of the array of listeners for the event name\x0d\n * specified as `type`.\x0d\n * @param {EventEmitter | EventTarget} emitterOrTarget\x0d\n * @param {string | symbol} type\x0d\n * @returns {Function[]}\x0d\n */\x0d\nfunction getEventListeners(emitterOrTarget\x2C type) {\x0d\n // First check if EventEmitter\x0d\n if (typeof emitterOrTarget.listeners === 'function') {\x0d\n return emitterOrTarget.listeners(type);\x0d\n }\x0d\n // Require event target lazily to avoid always loading it\x0d\n const { isEventTarget\x2C kEvents } = require('internal/event_target');\x0d\n if (isEventTarget(emitterOrTarget)) {\x0d\n const root = emitterOrTarget[kEvents].get(type);\x0d\n const listeners = [];\x0d\n let handler = root?.next;\x0d\n while (handler?.listener !== undefined) {\x0d\n const listener = handler.listener?.deref ?\x0d\n handler.listener.deref() : handler.listener;\x0d\n listeners.push(listener);\x0d\n handler = handler.next;\x0d\n }\x0d\n return listeners;\x0d\n }\x0d\n throw new ERR_INVALID_ARG_TYPE('emitter'\x2C\x0d\n ['EventEmitter'\x2C 'EventTarget']\x2C\x0d\n emitterOrTarget);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Returns the max listeners set.\x0d\n * @param {EventEmitter | EventTarget} emitterOrTarget\x0d\n * @returns {number}\x0d\n */\x0d\nfunction getMaxListeners(emitterOrTarget) {\x0d\n if (typeof emitterOrTarget?.getMaxListeners === 'function') {\x0d\n return _getMaxListeners(emitterOrTarget);\x0d\n } else if (emitterOrTarget?.[kMaxEventTargetListeners]) {\x0d\n return emitterOrTarget[kMaxEventTargetListeners];\x0d\n }\x0d\n\x0d\n throw new ERR_INVALID_ARG_TYPE('emitter'\x2C\x0d\n ['EventEmitter'\x2C 'EventTarget']\x2C\x0d\n emitterOrTarget);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Creates a `Promise` that is fulfilled when the emitter\x0d\n * emits the given event.\x0d\n * @param {EventEmitter} emitter\x0d\n * @param {string | symbol} name\x0d\n * @param {{ signal: AbortSignal; }} [options]\x0d\n * @returns {Promise}\x0d\n */\x0d\nasync function once(emitter\x2C name\x2C options = kEmptyObject) {\x0d\n const signal = options?.signal;\x0d\n validateAbortSignal(signal\x2C 'options.signal');\x0d\n if (signal?.aborted)\x0d\n throw new AbortError(undefined\x2C { cause: signal?.reason });\x0d\n return new Promise((resolve\x2C reject) => {\x0d\n const errorListener = (err) => {\x0d\n emitter.removeListener(name\x2C resolver);\x0d\n if (signal != null) {\x0d\n eventTargetAgnosticRemoveListener(signal\x2C 'abort'\x2C abortListener);\x0d\n }\x0d\n reject(err);\x0d\n };\x0d\n const resolver = (...args) => {\x0d\n if (typeof emitter.removeListener === 'function') {\x0d\n emitter.removeListener('error'\x2C errorListener);\x0d\n }\x0d\n if (signal != null) {\x0d\n eventTargetAgnosticRemoveListener(signal\x2C 'abort'\x2C abortListener);\x0d\n }\x0d\n resolve(args);\x0d\n };\x0d\n\x0d\n kResistStopPropagation ??= require('internal/event_target').kResistStopPropagation;\x0d\n const opts = { __proto__: null\x2C once: true\x2C [kResistStopPropagation]: true };\x0d\n eventTargetAgnosticAddListener(emitter\x2C name\x2C resolver\x2C opts);\x0d\n if (name !== 'error' && typeof emitter.once === 'function') {\x0d\n // EventTarget does not have `error` event semantics like Node\x0d\n // EventEmitters\x2C we listen to `error` events only on EventEmitters.\x0d\n emitter.once('error'\x2C errorListener);\x0d\n }\x0d\n function abortListener() {\x0d\n eventTargetAgnosticRemoveListener(emitter\x2C name\x2C resolver);\x0d\n eventTargetAgnosticRemoveListener(emitter\x2C 'error'\x2C errorListener);\x0d\n reject(new AbortError(undefined\x2C { cause: signal?.reason }));\x0d\n }\x0d\n if (signal != null) {\x0d\n eventTargetAgnosticAddListener(\x0d\n signal\x2C 'abort'\x2C abortListener\x2C { __proto__: null\x2C once: true\x2C [kResistStopPropagation]: true });\x0d\n }\x0d\n });\x0d\n}\x0d\n\x0d\nconst AsyncIteratorPrototype = ObjectGetPrototypeOf(\x0d\n ObjectGetPrototypeOf(async function* () {}).prototype);\x0d\n\x0d\nfunction createIterResult(value\x2C done) {\x0d\n return { value\x2C done };\x0d\n}\x0d\n\x0d\nfunction eventTargetAgnosticRemoveListener(emitter\x2C name\x2C listener\x2C flags) {\x0d\n if (typeof emitter.removeListener === 'function') {\x0d\n emitter.removeListener(name\x2C listener);\x0d\n } else if (typeof emitter.removeEventListener === 'function') {\x0d\n emitter.removeEventListener(name\x2C listener\x2C flags);\x0d\n } else {\x0d\n throw new ERR_INVALID_ARG_TYPE('emitter'\x2C 'EventEmitter'\x2C emitter);\x0d\n }\x0d\n}\x0d\n\x0d\nfunction eventTargetAgnosticAddListener(emitter\x2C name\x2C listener\x2C flags) {\x0d\n if (typeof emitter.on === 'function') {\x0d\n if (flags?.once) {\x0d\n emitter.once(name\x2C listener);\x0d\n } else {\x0d\n emitter.on(name\x2C listener);\x0d\n }\x0d\n } else if (typeof emitter.addEventListener === 'function') {\x0d\n emitter.addEventListener(name\x2C listener\x2C flags);\x0d\n } else {\x0d\n throw new ERR_INVALID_ARG_TYPE('emitter'\x2C 'EventEmitter'\x2C emitter);\x0d\n }\x0d\n}\x0d\n\x0d\n/**\x0d\n * Returns an `AsyncIterator` that iterates `event` events.\x0d\n * @param {EventEmitter} emitter\x0d\n * @param {string | symbol} event\x0d\n * @param {{\x0d\n * signal: AbortSignal;\x0d\n * close?: string[];\x0d\n * highWaterMark?: number\x2C\x0d\n * lowWaterMark?: number\x0d\n * }} [options]\x0d\n * @returns {AsyncIterator}\x0d\n */\x0d\nfunction on(emitter\x2C event\x2C options = kEmptyObject) {\x0d\n // Parameters validation\x0d\n const signal = options.signal;\x0d\n validateAbortSignal(signal\x2C 'options.signal');\x0d\n if (signal?.aborted)\x0d\n throw new AbortError(undefined\x2C { cause: signal?.reason });\x0d\n // Support both highWaterMark and highWatermark for backward compatibility\x0d\n const highWatermark = options.highWaterMark ?? options.highWatermark ?? NumberMAX_SAFE_INTEGER;\x0d\n validateInteger(highWatermark\x2C 'options.highWaterMark'\x2C 1);\x0d\n // Support both lowWaterMark and lowWatermark for backward compatibility\x0d\n const lowWatermark = options.lowWaterMark ?? options.lowWatermark ?? 1;\x0d\n validateInteger(lowWatermark\x2C 'options.lowWaterMark'\x2C 1);\x0d\n\x0d\n // Preparing controlling queues and variables\x0d\n FixedQueue ??= require('internal/fixed_queue');\x0d\n const unconsumedEvents = new FixedQueue();\x0d\n const unconsumedPromises = new FixedQueue();\x0d\n let paused = false;\x0d\n let error = null;\x0d\n let finished = false;\x0d\n let size = 0;\x0d\n\x0d\n const iterator = ObjectSetPrototypeOf({\x0d\n next() {\x0d\n // First\x2C we consume all unread events\x0d\n if (size) {\x0d\n const value = unconsumedEvents.shift();\x0d\n size--;\x0d\n if (paused && size < lowWatermark) {\x0d\n emitter.resume();\x0d\n paused = false;\x0d\n }\x0d\n return PromiseResolve(createIterResult(value\x2C false));\x0d\n }\x0d\n\x0d\n // Then we error\x2C if an error happened\x0d\n // This happens one time if at all\x2C because after 'error'\x0d\n // we stop listening\x0d\n if (error) {\x0d\n const p = PromiseReject(error);\x0d\n // Only the first element errors\x0d\n error = null;\x0d\n return p;\x0d\n }\x0d\n\x0d\n // If the iterator is finished\x2C resolve to done\x0d\n if (finished) return closeHandler();\x0d\n\x0d\n // Wait until an event happens\x0d\n return new Promise(function(resolve\x2C reject) {\x0d\n unconsumedPromises.push({ resolve\x2C reject });\x0d\n });\x0d\n }\x2C\x0d\n\x0d\n return() {\x0d\n return closeHandler();\x0d\n }\x2C\x0d\n\x0d\n throw(err) {\x0d\n if (!err || !(err instanceof Error)) {\x0d\n throw new ERR_INVALID_ARG_TYPE('EventEmitter.AsyncIterator'\x2C\x0d\n 'Error'\x2C err);\x0d\n }\x0d\n errorHandler(err);\x0d\n }\x2C\x0d\n [SymbolAsyncIterator]() {\x0d\n return this;\x0d\n }\x2C\x0d\n [kWatermarkData]: {\x0d\n /**\x0d\n * The current queue size\x0d\n */\x0d\n get size() {\x0d\n return size;\x0d\n }\x2C\x0d\n /**\x0d\n * The low watermark. The emitter is resumed every time size is lower than it\x0d\n */\x0d\n get low() {\x0d\n return lowWatermark;\x0d\n }\x2C\x0d\n /**\x0d\n * The high watermark. The emitter is paused every time size is higher than it\x0d\n */\x0d\n get high() {\x0d\n return highWatermark;\x0d\n }\x2C\x0d\n /**\x0d\n * It checks whether the emitter is paused by the watermark controller or not\x0d\n */\x0d\n get isPaused() {\x0d\n return paused;\x0d\n }\x2C\x0d\n }\x2C\x0d\n }\x2C AsyncIteratorPrototype);\x0d\n\x0d\n // Adding event handlers\x0d\n const { addEventListener\x2C removeAll } = listenersController();\x0d\n kFirstEventParam ??= require('internal/events/symbols').kFirstEventParam;\x0d\n addEventListener(emitter\x2C event\x2C options[kFirstEventParam] ? eventHandler : function(...args) {\x0d\n return eventHandler(args);\x0d\n });\x0d\n if (event !== 'error' && typeof emitter.on === 'function') {\x0d\n addEventListener(emitter\x2C 'error'\x2C errorHandler);\x0d\n }\x0d\n const closeEvents = options?.close;\x0d\n if (closeEvents?.length) {\x0d\n for (let i = 0; i < closeEvents.length; i++) {\x0d\n addEventListener(emitter\x2C closeEvents[i]\x2C closeHandler);\x0d\n }\x0d\n }\x0d\n\x0d\n const abortListenerDisposable = signal ? addAbortListener(signal\x2C abortListener) : null;\x0d\n\x0d\n return iterator;\x0d\n\x0d\n function abortListener() {\x0d\n errorHandler(new AbortError(undefined\x2C { cause: signal?.reason }));\x0d\n }\x0d\n\x0d\n function eventHandler(value) {\x0d\n if (unconsumedPromises.isEmpty()) {\x0d\n size++;\x0d\n if (!paused && size > highWatermark) {\x0d\n paused = true;\x0d\n emitter.pause();\x0d\n }\x0d\n unconsumedEvents.push(value);\x0d\n } else unconsumedPromises.shift().resolve(createIterResult(value\x2C false));\x0d\n }\x0d\n\x0d\n function errorHandler(err) {\x0d\n if (unconsumedPromises.isEmpty()) error = err;\x0d\n else unconsumedPromises.shift().reject(err);\x0d\n\x0d\n closeHandler();\x0d\n }\x0d\n\x0d\n function closeHandler() {\x0d\n abortListenerDisposable?.[SymbolDispose]();\x0d\n removeAll();\x0d\n finished = true;\x0d\n const doneResult = createIterResult(undefined\x2C true);\x0d\n while (!unconsumedPromises.isEmpty()) {\x0d\n unconsumedPromises.shift().resolve(doneResult);\x0d\n }\x0d\n\x0d\n return PromiseResolve(doneResult);\x0d\n }\x0d\n}\x0d\n\x0d\nfunction listenersController() {\x0d\n const listeners = [];\x0d\n\x0d\n return {\x0d\n addEventListener(emitter\x2C event\x2C handler\x2C flags) {\x0d\n eventTargetAgnosticAddListener(emitter\x2C event\x2C handler\x2C flags);\x0d\n ArrayPrototypePush(listeners\x2C [emitter\x2C event\x2C handler\x2C flags]);\x0d\n }\x2C\x0d\n removeAll() {\x0d\n while (listeners.length > 0) {\x0d\n ReflectApply(eventTargetAgnosticRemoveListener\x2C undefined\x2C ArrayPrototypePop(listeners));\x0d\n }\x0d\n }\x2C\x0d\n };\x0d\n}\x0d\n
code-source-info,0x158ab306bee,23,19685,19803,C0O19707C3O19707C7O19742C24O19751C30O19742C36O19788C38O19800,,
code-creation,JS,10,386943,0x158ab309426,60,_onceWrap node:events:638:19,0x39e2db52898,~
code-source-info,0x158ab309426,23,19244,19473,C0O19288C6O19312C12O19323C18O19331C24O19337C31O19368C34O19380C39O19380C45O19396C47O19413C51O19428C53O19441C57O19455C59O19470,,
code-creation,JS,10,387113,0x158ab3096f6,42,Writable.write node:internal/streams/writable:502:36,0x381e1303928,~
code-source-info,0x158ab3096f6,102,15903,16093,C0O15930C11O15993C14O16013C17O16040C32O16047C41O16090,,
code-creation,JS,10,387312,0x158ab309916,411,_write node:internal/streams/writable:451:16,0x381e1302e68,~
code-source-info,0x158ab309916,102,14432,15864,C0O14488C5O14509C16O14560C20O14580C24O14607C29O14613C34O14607C35O14653C37O14664C39O14663C45O14674C47O14672C52O14687C57O14701C61O14725C63O14743C65O14742C71O14753C73O14751C78O14775C87O14798C95O14827C97O14840C104O14857C107O14864C112O14864C119O14895C126O14901C131O14895C132O14951C138O14991C140O15002C142O15001C148O15012C150O15010C155O15028C160O15046C165O15061C170O15061C178O15093C184O15135C186O15156C188O15145C193O15173C199O15206C204O15217C209O15217C216O15253C221O15268C226O15268C233O15303C239O15345C257O15351C262O15345C263O15472C265O15480C267O15491C269O15490C275O15501C277O15499C282O15510C287O15524C292O15530C300O15574C302O15585C304O15584C310O15595C312O15593C317O15607C322O15621C332O15627C338O15672C342O15688C345O15696C350O15696C356O15720C369O15720C374O15760C376O15771C377O15782C383O15797C387O15804C405O15811C410O15861,,
code-creation,JS,10,387634,0x158ab309d76,472,writeOrBuffer node:internal/streams/writable:546:23,0x381e1302eb8,~
code-source-info,0x158ab309d76,102,17106,18325,C0O17166C2O17173C4O17172C10O17183C12O17181C17O17196C26O17214C31O17227C38O17243C41O17240C45O17253C47O17264C49O17263C55O17275C60O17286C62O17284C68O17297C70O17295C76O17307C78O17305C81O17272C87O17326C89O17322C94O17347C96O17358C98O17357C104O17368C106O17366C111O17379C116O17395C118O17401C127O17412C132O17409C136O17430C138O17436C143O17452C147O17472C149O17478C151O17477C155O17494C167O17501C173O17508C179O17518C183O17494C188O17536C190O17547C192O17546C198O17557C200O17555C205O17570C212O17588C217O17611C219O17617C228O17629C230O17628C235O17625C239O17654C241O17665C243O17664C249O17675C251O17673C256O17685C263O17703C268O17721C270O17727C279O17739C281O17738C286O17735C292O17773C294O17788C298O17800C300O17813C305O17831C307O17845C311O17869C313O17875C322O17886C327O17897C329O17895C335O17905C337O17903C343O17883C347O17933C352O17963C366O17933C371O17978C373O17984C382O17996C384O17995C389O17992C393O18031C398O18046C402O18038C407O18069C413O18076C417O18088C419O18105C421O18111C430O18122C435O18119C439O18260C445O18281C447O18280C453O18292C458O18305C460O18303C463O18289C468O18316C471O18322,,
code-creation,JS,10,387948,0x158ab30a14e,61,set node:internal/streams/writable:260:8,0x381e1303598,~
code-source-info,0x158ab30a14e,102,8598,8766,C0O8615C2O8620C7O8635C11O8651C15O8673C17O8678C26O8689C31O8686C37O8724C39O8729C48O8741C50O8740C55O8737C60O8765,,
code-creation,JS,10,388035,0x158ab30a2ce,26,Socket._write node:net:965:35,0x77b20c9dc0,~
code-source-info,0x158ab30a2ce,86,26186,26261,C0O26217C19O26217C25O26260,,
code-creation,JS,10,388166,0x158ab30a566,217,Socket._writeGeneric node:net:923:42,0x77b20c9c78,~
code-source-info,0x158ab30a566,86,25103,26041,C0O25103C21O25309C37O25328C41O25346C45O25359C49O25381C53O25403C66O25403C72O25636C83O25636C89O25665C90O25672C91O25681C92O25699C96O25710C98O25732C102O25753C108O25769C115O25776C118O25772C124O25769C128O25803C129O25816C130O25832C135O25832C139O25856C141O25864C145O25881C161O25887C169O25931C188O25937C194O25988C200O26000C204O26005C207O26032C211O26026C216O26040,,
code-creation,JS,10,388326,0x158ab30a7d6,46,_unrefTimer node:net:507:52,0x23c5197fce8,~
code-source-info,0x158ab30a7d6,86,14585,14700,C0O14606C5O14614C9O14646C11O14652C13O14651C18O14670C20O14672C22O14671C26O14682C31O14682C35O14630C40O14593C45O14699,,
code-creation,JS,10,388452,0x158ab30a8f6,55,writeGeneric node:internal/stream_base_commons:148:22,0x381e1318008,~
code-source-info,0x158ab30a8f6,107,3798,3988,C0O3842C5O3863C7O3862C11O3842C17O3893C29O3893C35O3935C47O3935C52O3974C54O3985,,
code-creation,JS,10,388537,0x158ab30b32e,47,createWriteWrap node:internal/stream_base_commons:110:25,0x381e1317f68,~
code-source-info,0x158ab30b32e,107,2882,3107,C0O2918C5O2918C11O2940C13O2951C17O2964C19O2979C23O3001C24O3011C28O3023C29O3033C33O3041C34O3052C38O3063C40O3076C44O3093C46O3104,,
code-creation,JS,10,388717,0x158ab30b72e,215,handleWriteReq node:internal/stream_base_commons:46:24,0x381e1317ec8,~
code-source-info,0x158ab30b72e,107,1269,2134,C0O1304C5O1325C80O1398C85O1398C92O1429C99O1449C101O1448C106O1479C108O1490C112O1505C114O1516C115O1585C120O1585C126O1614C127O1673C132O1673C138O1700C139O1741C144O1741C150O1769C151O1871C156O1871C162O1898C163O1942C168O1949C173O1949C180O1997C185O1997C192O2030C199O2050C201O2049C206O2080C208O2091C212O2108C214O2119,,
code-creation,JS,10,392090,0x158ab30b976,94,afterWriteDispatched node:internal/stream_base_commons:156:30,0x381e1318058,~
code-source-info,0x158ab30b976,107,4021,4309,C0O4041C2O4053C7O4069C9O4068C12O4051C16O4088C18O4102C23O4118C25O4117C30O4098C34O4144C35O4152C40O4164C42O4178C48O4211C58O4174C64O4171C68O4219C69O4234C75O4254C83O4290C88O4290C93O4308,,
code-creation,JS,10,392509,0x158ab30bc36,766,onwrite node:internal/streams/writable:613:17,0x381e1302fa8,~
code-source-info,0x158ab30bc36,102,19199,21865,C0O19238C5O19259C7O19270C9O19269C15O19280C17O19278C22O19296C27O19310C34O19337C37O19333C43O19310C48O19368C49O19375C50O19399C52O19406C54O19405C60O19416C62O19414C67O19423C72O19444C74O19451C76O19450C82O19461C84O19459C89O19471C96O19485C98O19484C106O19512C107O19526C111O19537C113O19543C122O19556C127O19567C129O19565C132O19554C137O19551C141O19587C146O19609C153O19600C157O19622C158O19637C162O19647C166O19753C170O19812C172O19823C174O19822C180O19833C182O19831C187O19843C192O19859C194O19865C199O19880C203O19893C205O19899C214O19910C219O19907C223O20037C229O20063C234O20078C240O20103C247O20126C251O20146C255O20165C258O20173C278O20173C285O20241C300O20241C307O20302C309O20313C311O20312C317O20323C319O20321C324O20334C329O20350C332O20350C337O20392C341O20429C343O20436C345O20435C351O20446C353O20444C358O20458C364O20473C370O20480C374O20511C378O20531C380O20530C386O20541C390O20552C394O20539C401O20565C406O20840C408O20847C413O20867C415O20878C417O20877C423O20888C425O20886C430O20908C437O20917C439O20940C442O20948C462O20948C467O21003C469O21009C478O21020C483O21017C489O21069C495O21084C499O21099C501O21110C503O21109C509O21120C511O21118C516O21129C521O21151C532O21151C539O21223C541O21234C543O21233C549O21244C551O21242C556O21265C563O21298C565O21297C569O21324C576O21327C581O21346C583O21352C585O21351C595O21383C601O21401C605O21426C607O21432C617O21472C623O21476C629O21484C635O21458C639O21502C642O21510C652O21541C654O21540C658O21510C664O21578C666O21584C675O21596C680O21617C682O21615C688O21592C694O21664C700O21679C704O21692C706O21703C708O21702C714O21713C716O21711C721O21722C726O21742C737O21742C744O21817C759O21817C765O21864,,
code-creation,JS,10,393172,0x158ab30c4a6,373,nextTick node:internal/process/task_queues:103:18,0x39e2db656c8,~
script-source,35,node:internal/process/task_queues,'use strict';\x0d\n\x0d\nconst {\x0d\n Array\x2C\x0d\n FunctionPrototypeBind\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst {\x0d\n // For easy access to the nextTick state in the C++ land\x2C\x0d\n // and to avoid unnecessary calls into JS land.\x0d\n tickInfo\x2C\x0d\n // Used to run V8's micro task queue.\x0d\n runMicrotasks\x2C\x0d\n setTickCallback\x2C\x0d\n enqueueMicrotask\x2C\x0d\n} = internalBinding('task_queue');\x0d\n\x0d\nconst {\x0d\n setHasRejectionToWarn\x2C\x0d\n hasRejectionToWarn\x2C\x0d\n listenForRejections\x2C\x0d\n processPromiseRejections\x2C\x0d\n} = require('internal/process/promises');\x0d\n\x0d\nconst {\x0d\n getDefaultTriggerAsyncId\x2C\x0d\n newAsyncId\x2C\x0d\n initHooksExist\x2C\x0d\n destroyHooksExist\x2C\x0d\n emitInit\x2C\x0d\n emitBefore\x2C\x0d\n emitAfter\x2C\x0d\n emitDestroy\x2C\x0d\n symbols: { async_id_symbol\x2C trigger_async_id_symbol }\x2C\x0d\n} = require('internal/async_hooks');\x0d\nconst FixedQueue = require('internal/fixed_queue');\x0d\n\x0d\nconst {\x0d\n validateFunction\x2C\x0d\n} = require('internal/validators');\x0d\n\x0d\nconst { AsyncResource } = require('async_hooks');\x0d\n\x0d\n// *Must* match Environment::TickInfo::Fields in src/env.h.\x0d\nconst kHasTickScheduled = 0;\x0d\n\x0d\nfunction hasTickScheduled() {\x0d\n return tickInfo[kHasTickScheduled] === 1;\x0d\n}\x0d\n\x0d\nfunction setHasTickScheduled(value) {\x0d\n tickInfo[kHasTickScheduled] = value ? 1 : 0;\x0d\n}\x0d\n\x0d\nconst queue = new FixedQueue();\x0d\n\x0d\n// Should be in sync with RunNextTicksNative in node_task_queue.cc\x0d\nfunction runNextTicks() {\x0d\n if (!hasTickScheduled() && !hasRejectionToWarn())\x0d\n runMicrotasks();\x0d\n if (!hasTickScheduled() && !hasRejectionToWarn())\x0d\n return;\x0d\n\x0d\n processTicksAndRejections();\x0d\n}\x0d\n\x0d\nfunction processTicksAndRejections() {\x0d\n let tock;\x0d\n do {\x0d\n while ((tock = queue.shift()) !== null) {\x0d\n const asyncId = tock[async_id_symbol];\x0d\n emitBefore(asyncId\x2C tock[trigger_async_id_symbol]\x2C tock);\x0d\n\x0d\n try {\x0d\n const callback = tock.callback;\x0d\n if (tock.args === undefined) {\x0d\n callback();\x0d\n } else {\x0d\n const args = tock.args;\x0d\n switch (args.length) {\x0d\n case 1: callback(args[0]); break;\x0d\n case 2: callback(args[0]\x2C args[1]); break;\x0d\n case 3: callback(args[0]\x2C args[1]\x2C args[2]); break;\x0d\n case 4: callback(args[0]\x2C args[1]\x2C args[2]\x2C args[3]); break;\x0d\n default: callback(...args);\x0d\n }\x0d\n }\x0d\n } finally {\x0d\n if (destroyHooksExist())\x0d\n emitDestroy(asyncId);\x0d\n }\x0d\n\x0d\n emitAfter(asyncId);\x0d\n }\x0d\n runMicrotasks();\x0d\n } while (!queue.isEmpty() || processPromiseRejections());\x0d\n setHasTickScheduled(false);\x0d\n setHasRejectionToWarn(false);\x0d\n}\x0d\n\x0d\n// `nextTick()` will not enqueue any callback when the process is about to\x0d\n// exit since the callback would not have a chance to be executed.\x0d\nfunction nextTick(callback) {\x0d\n validateFunction(callback\x2C 'callback');\x0d\n\x0d\n if (process._exiting)\x0d\n return;\x0d\n\x0d\n let args;\x0d\n switch (arguments.length) {\x0d\n case 1: break;\x0d\n case 2: args = [arguments[1]]; break;\x0d\n case 3: args = [arguments[1]\x2C arguments[2]]; break;\x0d\n case 4: args = [arguments[1]\x2C arguments[2]\x2C arguments[3]]; break;\x0d\n default:\x0d\n args = new Array(arguments.length - 1);\x0d\n for (let i = 1; i < arguments.length; i++)\x0d\n args[i - 1] = arguments[i];\x0d\n }\x0d\n\x0d\n if (queue.isEmpty())\x0d\n setHasTickScheduled(true);\x0d\n const asyncId = newAsyncId();\x0d\n const triggerAsyncId = getDefaultTriggerAsyncId();\x0d\n const tickObject = {\x0d\n [async_id_symbol]: asyncId\x2C\x0d\n [trigger_async_id_symbol]: triggerAsyncId\x2C\x0d\n callback\x2C\x0d\n args\x2C\x0d\n };\x0d\n if (initHooksExist())\x0d\n emitInit(asyncId\x2C 'TickObject'\x2C triggerAsyncId\x2C tickObject);\x0d\n queue.push(tickObject);\x0d\n}\x0d\n\x0d\nfunction runMicrotask() {\x0d\n this.runInAsyncScope(() => {\x0d\n const callback = this.callback;\x0d\n try {\x0d\n callback();\x0d\n } finally {\x0d\n this.emitDestroy();\x0d\n }\x0d\n });\x0d\n}\x0d\n\x0d\nconst defaultMicrotaskResourceOpts = { requireManualDestroy: true };\x0d\n\x0d\nfunction queueMicrotask(callback) {\x0d\n validateFunction(callback\x2C 'callback');\x0d\n\x0d\n const asyncResource = new AsyncResource(\x0d\n 'Microtask'\x2C\x0d\n defaultMicrotaskResourceOpts\x2C\x0d\n );\x0d\n asyncResource.callback = callback;\x0d\n\x0d\n enqueueMicrotask(FunctionPrototypeBind(runMicrotask\x2C asyncResource));\x0d\n}\x0d\n\x0d\nmodule.exports = {\x0d\n setupTaskQueue() {\x0d\n // Sets the per-isolate promise rejection callback\x0d\n listenForRejections();\x0d\n // Sets the callback to be run in every tick.\x0d\n setTickCallback(processTicksAndRejections);\x0d\n return {\x0d\n nextTick\x2C\x0d\n runNextTicks\x2C\x0d\n };\x0d\n }\x2C\x0d\n queueMicrotask\x2C\x0d\n};\x0d\n
code-source-info,0x158ab30c4a6,35,2687,3575,C0O2687C2O2703C10O2703C15O2748C18O2760C24O2775C25O2782C26O2792C28O2819C63O2842C65O2862C74O2879C86O2885C88O2905C97O2922C109O2936C121O2942C123O2962C132O2979C144O2993C156O3007C168O3013C170O3041C175O3068C179O3075C185O3048C191O3101C194O3118C198O3106C203O3140C205O3147C211O3163C214O3152C218O3127C223O3088C227O3178C232O3188C237O3188C243O3204C248O3204C252O3250C257O3250C261O3290C266O3290C270O3340C277O3348C283O3366C290O3381C296O3407C306O3428C316O3443C324O3458C329O3462C334O3485C351O3485C356O3549C361O3555C366O3555C372O3574,,
code-creation,JS,10,394193,0x158ab30cd1e,21,get node:internal/bootstrap/node:100:8,0x39e2db426a8,~
code-source-info,0x158ab30cd1e,12,3932,3981,C0O3944C9O3958C11O3957C17O3968C20O3974,,
code-creation,JS,10,394392,0x158ab30ce16,15,isEmpty node:internal/fixed_queue:95:10,0x39e2db672d8,~
script-source,37,node:internal/fixed_queue,'use strict';\x0d\n\x0d\nconst {\x0d\n Array\x2C\x0d\n} = primordials;\x0d\n\x0d\n// Currently optimal queue size\x2C tested on V8 6.0 - 6.6. Must be power of two.\x0d\nconst kSize = 2048;\x0d\nconst kMask = kSize - 1;\x0d\n\x0d\n// The FixedQueue is implemented as a singly-linked list of fixed-size\x0d\n// circular buffers. It looks something like this:\x0d\n//\x0d\n// head tail\x0d\n// | |\x0d\n// v v\x0d\n// +-----------+ <-----\\ +-----------+ <------\\ +-----------+\x0d\n// | [null] | \\----- | next | \\------- | next |\x0d\n// +-----------+ +-----------+ +-----------+\x0d\n// | item | <-- bottom | item | <-- bottom | [empty] |\x0d\n// | item | | item | | [empty] |\x0d\n// | item | | item | | [empty] |\x0d\n// | item | | item | | [empty] |\x0d\n// | item | | item | bottom --> | item |\x0d\n// | item | | item | | item |\x0d\n// | ... | | ... | | ... |\x0d\n// | item | | item | | item |\x0d\n// | item | | item | | item |\x0d\n// | [empty] | <-- top | item | | item |\x0d\n// | [empty] | | item | | item |\x0d\n// | [empty] | | [empty] | <-- top top --> | [empty] |\x0d\n// +-----------+ +-----------+ +-----------+\x0d\n//\x0d\n// Or\x2C if there is only one circular buffer\x2C it looks something\x0d\n// like either of these:\x0d\n//\x0d\n// head tail head tail\x0d\n// | | | |\x0d\n// v v v v\x0d\n// +-----------+ +-----------+\x0d\n// | [null] | | [null] |\x0d\n// +-----------+ +-----------+\x0d\n// | [empty] | | item |\x0d\n// | [empty] | | item |\x0d\n// | item | <-- bottom top --> | [empty] |\x0d\n// | item | | [empty] |\x0d\n// | [empty] | <-- top bottom --> | item |\x0d\n// | [empty] | | item |\x0d\n// +-----------+ +-----------+\x0d\n//\x0d\n// Adding a value means moving `top` forward by one\x2C removing means\x0d\n// moving `bottom` forward by one. After reaching the end\x2C the queue\x0d\n// wraps around.\x0d\n//\x0d\n// When `top === bottom` the current queue is empty and when\x0d\n// `top + 1 === bottom` it's full. This wastes a single space of storage\x0d\n// but allows much quicker checks.\x0d\n\x0d\nclass FixedCircularBuffer {\x0d\n constructor() {\x0d\n this.bottom = 0;\x0d\n this.top = 0;\x0d\n this.list = new Array(kSize);\x0d\n this.next = null;\x0d\n }\x0d\n\x0d\n isEmpty() {\x0d\n return this.top === this.bottom;\x0d\n }\x0d\n\x0d\n isFull() {\x0d\n return ((this.top + 1) & kMask) === this.bottom;\x0d\n }\x0d\n\x0d\n push(data) {\x0d\n this.list[this.top] = data;\x0d\n this.top = (this.top + 1) & kMask;\x0d\n }\x0d\n\x0d\n shift() {\x0d\n const nextItem = this.list[this.bottom];\x0d\n if (nextItem === undefined)\x0d\n return null;\x0d\n this.list[this.bottom] = undefined;\x0d\n this.bottom = (this.bottom + 1) & kMask;\x0d\n return nextItem;\x0d\n }\x0d\n}\x0d\n\x0d\nmodule.exports = class FixedQueue {\x0d\n constructor() {\x0d\n this.head = this.tail = new FixedCircularBuffer();\x0d\n }\x0d\n\x0d\n isEmpty() {\x0d\n return this.head.isEmpty();\x0d\n }\x0d\n\x0d\n push(data) {\x0d\n if (this.head.isFull()) {\x0d\n // Head is full: Creates a new queue\x2C sets the old queue's `.next` to it\x2C\x0d\n // and sets it as the new main queue.\x0d\n this.head = this.head.next = new FixedCircularBuffer();\x0d\n }\x0d\n this.head.push(data);\x0d\n }\x0d\n\x0d\n shift() {\x0d\n const tail = this.tail;\x0d\n const next = tail.shift();\x0d\n if (tail.isEmpty() && tail.next !== null) {\x0d\n // If there is another queue\x2C it forms the new tail.\x0d\n this.tail = tail.next;\x0d\n tail.next = null;\x0d\n }\x0d\n return next;\x0d\n }\x0d\n};\x0d\n
code-source-info,0x158ab30ce16,37,3731,3773,C0O3753C5O3758C10O3758C14O3768,,
tick,0x7ff7ba2225d0,395100,0,0x0,3,0x7ff7b9533060,0x158ab30c593,0x158ab30bec8,0x158ab30b9ce,0x158ab30a925,0x158ab30a622,0x158ab30a2e1,0x158ab309ee4,0x158ab309aab,0x158ab309716,0x158ab306a4e,0x23c51978d64,0x7ff7b8e135d0,0x23c5197894b,0x23c519693ae,0x23c51968a11,0x23c51942948
code-creation,JS,10,395185,0x158ab30d2ce,13,isEmpty node:internal/fixed_queue:67:10,0x39e2db67028,~
code-source-info,0x158ab30d2ce,37,3150,3197,C0O3172C5O3185C9O3176C12O3192,,
code-creation,JS,10,395385,0x158ab30d3be,25,setHasTickScheduled node:internal/process/task_queues:51:29,0x39e2db655d8,~
code-source-info,0x158ab30d3be,35,1137,1197,C0O1150C7O1159C12O1180C19O1178C24O1196,,
code-creation,JS,10,395674,0x158ab30d4b6,23,newAsyncId node:internal/async_hooks:417:20,0x39e2db45010,~
script-source,14,node:internal/async_hooks,'use strict';\x0d\n\x0d\nconst {\x0d\n ArrayPrototypeSlice\x2C\x0d\n ErrorCaptureStackTrace\x2C\x0d\n ObjectPrototypeHasOwnProperty\x2C\x0d\n ObjectDefineProperty\x2C\x0d\n Symbol\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst { exitCodes: { kGenericUserError } } = internalBinding('errors');\x0d\n\x0d\nconst async_wrap = internalBinding('async_wrap');\x0d\nconst { setCallbackTrampoline } = async_wrap;\x0d\n/* async_hook_fields is a Uint32Array wrapping the uint32_t array of\x0d\n * Environment::AsyncHooks::fields_[]. Each index tracks the number of active\x0d\n * hooks for each type.\x0d\n *\x0d\n * async_id_fields is a Float64Array wrapping the double array of\x0d\n * Environment::AsyncHooks::async_id_fields_[]. Each index contains the ids for\x0d\n * the various asynchronous states of the application. These are:\x0d\n * kExecutionAsyncId: The async_id assigned to the resource responsible for the\x0d\n * current execution stack.\x0d\n * kTriggerAsyncId: The async_id of the resource that caused (or 'triggered')\x0d\n * the resource corresponding to the current execution stack.\x0d\n * kAsyncIdCounter: Incremental counter tracking the next assigned async_id.\x0d\n * kDefaultTriggerAsyncId: Written immediately before a resource's constructor\x0d\n * that sets the value of the init()'s triggerAsyncId. The precedence order\x0d\n * of retrieving the triggerAsyncId value is:\x0d\n * 1. the value passed directly to the constructor\x0d\n * 2. value set in kDefaultTriggerAsyncId\x0d\n * 3. executionAsyncId of the current resource.\x0d\n *\x0d\n * async_ids_stack is a Float64Array that contains part of the async ID\x0d\n * stack. Each pushAsyncContext() call adds two doubles to it\x2C and each\x0d\n * popAsyncContext() call removes two doubles from it.\x0d\n * It has a fixed size\x2C so if that is exceeded\x2C calls to the native\x0d\n * side are used instead in pushAsyncContext() and popAsyncContext().\x0d\n */\x0d\nconst {\x0d\n async_hook_fields\x2C\x0d\n async_id_fields\x2C\x0d\n execution_async_resources\x2C\x0d\n} = async_wrap;\x0d\n// Store the pair executionAsyncId and triggerAsyncId in a AliasedFloat64Array\x0d\n// in Environment::AsyncHooks::async_ids_stack_ which tracks the resource\x0d\n// responsible for the current execution stack. This is unwound as each resource\x0d\n// exits. In the case of a fatal exception this stack is emptied after calling\x0d\n// each hook's after() callback.\x0d\nconst {\x0d\n pushAsyncContext: pushAsyncContext_\x2C\x0d\n popAsyncContext: popAsyncContext_\x2C\x0d\n executionAsyncResource: executionAsyncResource_\x2C\x0d\n clearAsyncIdStack\x2C\x0d\n} = async_wrap;\x0d\n// Properties in active_hooks are used to keep track of the set of hooks being\x0d\n// executed in case another hook is enabled/disabled. The new set of hooks is\x0d\n// then restored once the active set of hooks is finished executing.\x0d\nconst active_hooks = {\x0d\n // Array of all AsyncHooks that will be iterated whenever an async event\x0d\n // fires. Using var instead of (preferably const) in order to assign\x0d\n // active_hooks.tmp_array if a hook is enabled/disabled during hook\x0d\n // execution.\x0d\n array: []\x2C\x0d\n // Use a counter to track nested calls of async hook callbacks and make sure\x0d\n // the active_hooks.array isn't altered mid execution.\x0d\n call_depth: 0\x2C\x0d\n // Use to temporarily store and updated active_hooks.array if the user\x0d\n // enables or disables a hook while hooks are being processed. If a hook is\x0d\n // enabled() or disabled() during hook execution then the current set of\x0d\n // active hooks is duplicated and set equal to active_hooks.tmp_array. Any\x0d\n // subsequent changes are on the duplicated array. When all hooks have\x0d\n // completed executing active_hooks.tmp_array is assigned to\x0d\n // active_hooks.array.\x0d\n tmp_array: null\x2C\x0d\n // Keep track of the field counts held in active_hooks.tmp_array. Because the\x0d\n // async_hook_fields can't be reassigned\x2C store each uint32 in an array that\x0d\n // is written back to async_hook_fields when active_hooks.array is restored.\x0d\n tmp_fields: null\x2C\x0d\n};\x0d\n\x0d\nconst { registerDestroyHook } = async_wrap;\x0d\nconst { enqueueMicrotask } = internalBinding('task_queue');\x0d\nconst { resource_symbol\x2C owner_symbol } = internalBinding('symbols');\x0d\n\x0d\n// Each constant tracks how many callbacks there are for any given step of\x0d\n// async execution. These are tracked so if the user didn't include callbacks\x0d\n// for a given step\x2C that step can bail out early.\x0d\nconst {\x0d\n kInit\x2C kBefore\x2C kAfter\x2C kDestroy\x2C kTotals\x2C kPromiseResolve\x2C\x0d\n kCheck\x2C kExecutionAsyncId\x2C kAsyncIdCounter\x2C kTriggerAsyncId\x2C\x0d\n kDefaultTriggerAsyncId\x2C kStackLength\x2C kUsesExecutionAsyncResource\x2C\x0d\n} = async_wrap.constants;\x0d\n\x0d\nconst { async_id_symbol\x2C\x0d\n trigger_async_id_symbol } = internalBinding('symbols');\x0d\n\x0d\n// Lazy load of internal/util/inspect;\x0d\nlet inspect;\x0d\n\x0d\n// Used in AsyncHook and AsyncResource.\x0d\nconst init_symbol = Symbol('init');\x0d\nconst before_symbol = Symbol('before');\x0d\nconst after_symbol = Symbol('after');\x0d\nconst destroy_symbol = Symbol('destroy');\x0d\nconst promise_resolve_symbol = Symbol('promiseResolve');\x0d\nconst emitBeforeNative = emitHookFactory(before_symbol\x2C 'emitBeforeNative');\x0d\nconst emitAfterNative = emitHookFactory(after_symbol\x2C 'emitAfterNative');\x0d\nconst emitDestroyNative = emitHookFactory(destroy_symbol\x2C 'emitDestroyNative');\x0d\nconst emitPromiseResolveNative =\x0d\n emitHookFactory(promise_resolve_symbol\x2C 'emitPromiseResolveNative');\x0d\n\x0d\nlet domain_cb;\x0d\nfunction useDomainTrampoline(fn) {\x0d\n domain_cb = fn;\x0d\n}\x0d\n\x0d\nfunction callbackTrampoline(asyncId\x2C resource\x2C cb\x2C ...args) {\x0d\n const index = async_hook_fields[kStackLength] - 1;\x0d\n execution_async_resources[index] = resource;\x0d\n\x0d\n if (asyncId !== 0 && hasHooks(kBefore))\x0d\n emitBeforeNative(asyncId);\x0d\n\x0d\n let result;\x0d\n if (asyncId === 0 && typeof domain_cb === 'function') {\x0d\n args.unshift(cb);\x0d\n result = domain_cb.apply(this\x2C args);\x0d\n } else {\x0d\n result = cb.apply(this\x2C args);\x0d\n }\x0d\n\x0d\n if (asyncId !== 0 && hasHooks(kAfter))\x0d\n emitAfterNative(asyncId);\x0d\n\x0d\n execution_async_resources.pop();\x0d\n return result;\x0d\n}\x0d\n\x0d\nconst topLevelResource = {};\x0d\n\x0d\nfunction executionAsyncResource() {\x0d\n // Indicate to the native layer that this function is likely to be used\x2C\x0d\n // in which case it will inform JS about the current async resource via\x0d\n // the trampoline above.\x0d\n async_hook_fields[kUsesExecutionAsyncResource] = 1;\x0d\n\x0d\n const index = async_hook_fields[kStackLength] - 1;\x0d\n if (index === -1) return topLevelResource;\x0d\n const resource = execution_async_resources[index] ||\x0d\n executionAsyncResource_(index);\x0d\n return lookupPublicResource(resource);\x0d\n}\x0d\n\x0d\nfunction inspectExceptionValue(e) {\x0d\n inspect ??= require('internal/util/inspect').inspect;\x0d\n return { message: inspect(e) };\x0d\n}\x0d\n\x0d\n// Used to fatally abort the process if a callback throws.\x0d\nfunction fatalError(e) {\x0d\n if (typeof e?.stack === 'string') {\x0d\n process._rawDebug(e.stack);\x0d\n } else {\x0d\n const o = inspectExceptionValue(e);\x0d\n ErrorCaptureStackTrace(o\x2C fatalError);\x0d\n process._rawDebug(o.stack);\x0d\n }\x0d\n\x0d\n const { getOptionValue } = require('internal/options');\x0d\n if (getOptionValue('--abort-on-uncaught-exception')) {\x0d\n process.abort();\x0d\n }\x0d\n process.exit(kGenericUserError);\x0d\n}\x0d\n\x0d\nfunction lookupPublicResource(resource) {\x0d\n if (typeof resource !== 'object' || resource === null) return resource;\x0d\n // TODO(addaleax): Merge this with owner_symbol and use it across all\x0d\n // AsyncWrap instances.\x0d\n const publicResource = resource[resource_symbol];\x0d\n if (publicResource !== undefined)\x0d\n return publicResource;\x0d\n return resource;\x0d\n}\x0d\n\x0d\n// Emit From Native //\x0d\n\x0d\n// Used by C++ to call all init() callbacks. Because some state can be setup\x0d\n// from C++ there's no need to perform all the same operations as in\x0d\n// emitInitScript.\x0d\nfunction emitInitNative(asyncId\x2C type\x2C triggerAsyncId\x2C resource) {\x0d\n active_hooks.call_depth += 1;\x0d\n resource = lookupPublicResource(resource);\x0d\n // Use a single try/catch for all hooks to avoid setting up one per iteration.\x0d\n try {\x0d\n // Using var here instead of let because "for (var ...)" is faster than let.\x0d\n // Refs: https://github.com/nodejs/node/pull/30380#issuecomment-552948364\x0d\n // eslint-disable-next-line no-var\x0d\n for (var i = 0; i < active_hooks.array.length; i++) {\x0d\n if (typeof active_hooks.array[i][init_symbol] === 'function') {\x0d\n active_hooks.array[i][init_symbol](\x0d\n asyncId\x2C type\x2C triggerAsyncId\x2C\x0d\n resource\x2C\x0d\n );\x0d\n }\x0d\n }\x0d\n } catch (e) {\x0d\n fatalError(e);\x0d\n } finally {\x0d\n active_hooks.call_depth -= 1;\x0d\n }\x0d\n\x0d\n // Hooks can only be restored if there have been no recursive hook calls.\x0d\n // Also the active hooks do not need to be restored if enable()/disable()\x0d\n // weren't called during hook execution\x2C in which case active_hooks.tmp_array\x0d\n // will be null.\x0d\n if (active_hooks.call_depth === 0 && active_hooks.tmp_array !== null) {\x0d\n restoreActiveHooks();\x0d\n }\x0d\n}\x0d\n\x0d\n// Called from native. The asyncId stack handling is taken care of there\x0d\n// before this is called.\x0d\nfunction emitHook(symbol\x2C asyncId) {\x0d\n active_hooks.call_depth += 1;\x0d\n // Use a single try/catch for all hook to avoid setting up one per\x0d\n // iteration.\x0d\n try {\x0d\n // Using var here instead of let because "for (var ...)" is faster than let.\x0d\n // Refs: https://github.com/nodejs/node/pull/30380#issuecomment-552948364\x0d\n // eslint-disable-next-line no-var\x0d\n for (var i = 0; i < active_hooks.array.length; i++) {\x0d\n if (typeof active_hooks.array[i][symbol] === 'function') {\x0d\n active_hooks.array[i][symbol](asyncId);\x0d\n }\x0d\n }\x0d\n } catch (e) {\x0d\n fatalError(e);\x0d\n } finally {\x0d\n active_hooks.call_depth -= 1;\x0d\n }\x0d\n\x0d\n // Hooks can only be restored if there have been no recursive hook calls.\x0d\n // Also the active hooks do not need to be restored if enable()/disable()\x0d\n // weren't called during hook execution\x2C in which case\x0d\n // active_hooks.tmp_array will be null.\x0d\n if (active_hooks.call_depth === 0 && active_hooks.tmp_array !== null) {\x0d\n restoreActiveHooks();\x0d\n }\x0d\n}\x0d\n\x0d\nfunction emitHookFactory(symbol\x2C name) {\x0d\n const fn = emitHook.bind(undefined\x2C symbol);\x0d\n\x0d\n // Set the name property of the function as it looks good in the stack trace.\x0d\n ObjectDefineProperty(fn\x2C 'name'\x2C {\x0d\n __proto__: null\x2C\x0d\n value: name\x2C\x0d\n });\x0d\n return fn;\x0d\n}\x0d\n\x0d\n// Manage Active Hooks //\x0d\n\x0d\nfunction getHookArrays() {\x0d\n if (active_hooks.call_depth === 0)\x0d\n return [active_hooks.array\x2C async_hook_fields];\x0d\n // If this hook is being enabled while in the middle of processing the array\x0d\n // of currently active hooks then duplicate the current set of active hooks\x0d\n // and store this there. This shouldn't fire until the next time hooks are\x0d\n // processed.\x0d\n if (active_hooks.tmp_array === null)\x0d\n storeActiveHooks();\x0d\n return [active_hooks.tmp_array\x2C active_hooks.tmp_fields];\x0d\n}\x0d\n\x0d\n\x0d\nfunction storeActiveHooks() {\x0d\n active_hooks.tmp_array = ArrayPrototypeSlice(active_hooks.array);\x0d\n // Don't want to make the assumption that kInit to kDestroy are indexes 0 to\x0d\n // 4. So do this the long way.\x0d\n active_hooks.tmp_fields = [];\x0d\n copyHooks(active_hooks.tmp_fields\x2C async_hook_fields);\x0d\n}\x0d\n\x0d\nfunction copyHooks(destination\x2C source) {\x0d\n destination[kInit] = source[kInit];\x0d\n destination[kBefore] = source[kBefore];\x0d\n destination[kAfter] = source[kAfter];\x0d\n destination[kDestroy] = source[kDestroy];\x0d\n destination[kPromiseResolve] = source[kPromiseResolve];\x0d\n}\x0d\n\x0d\n\x0d\n// Then restore the correct hooks array in case any hooks were added/removed\x0d\n// during hook callback execution.\x0d\nfunction restoreActiveHooks() {\x0d\n active_hooks.array = active_hooks.tmp_array;\x0d\n copyHooks(async_hook_fields\x2C active_hooks.tmp_fields);\x0d\n\x0d\n active_hooks.tmp_array = null;\x0d\n active_hooks.tmp_fields = null;\x0d\n}\x0d\n\x0d\nfunction trackPromise(promise\x2C parent) {\x0d\n if (promise[async_id_symbol]) {\x0d\n return;\x0d\n }\x0d\n\x0d\n // Get trigger id from parent async id before making the async id of the\x0d\n // child so if a new one must be made it will be lower than the child.\x0d\n const triggerAsyncId = parent ? getOrSetAsyncId(parent) :\x0d\n getDefaultTriggerAsyncId();\x0d\n\x0d\n promise[async_id_symbol] = newAsyncId();\x0d\n promise[trigger_async_id_symbol] = triggerAsyncId;\x0d\n}\x0d\n\x0d\nfunction promiseInitHook(promise\x2C parent) {\x0d\n trackPromise(promise\x2C parent);\x0d\n const asyncId = promise[async_id_symbol];\x0d\n const triggerAsyncId = promise[trigger_async_id_symbol];\x0d\n emitInitScript(asyncId\x2C 'PROMISE'\x2C triggerAsyncId\x2C promise);\x0d\n}\x0d\n\x0d\nfunction promiseInitHookWithDestroyTracking(promise\x2C parent) {\x0d\n promiseInitHook(promise\x2C parent);\x0d\n destroyTracking(promise\x2C parent);\x0d\n}\x0d\n\x0d\nfunction destroyTracking(promise\x2C parent) {\x0d\n trackPromise(promise\x2C parent);\x0d\n const asyncId = promise[async_id_symbol];\x0d\n registerDestroyHook(promise\x2C asyncId);\x0d\n}\x0d\n\x0d\nfunction promiseBeforeHook(promise) {\x0d\n trackPromise(promise);\x0d\n const asyncId = promise[async_id_symbol];\x0d\n const triggerId = promise[trigger_async_id_symbol];\x0d\n emitBeforeScript(asyncId\x2C triggerId\x2C promise);\x0d\n}\x0d\n\x0d\nfunction promiseAfterHook(promise) {\x0d\n trackPromise(promise);\x0d\n const asyncId = promise[async_id_symbol];\x0d\n if (hasHooks(kAfter)) {\x0d\n emitAfterNative(asyncId);\x0d\n }\x0d\n if (asyncId === executionAsyncId()) {\x0d\n // This condition might not be true if async_hooks was enabled during\x0d\n // the promise callback execution.\x0d\n // Popping it off the stack can be skipped in that case\x2C because it is\x0d\n // known that it would correspond to exactly one call with\x0d\n // PromiseHookType::kBefore that was not witnessed by the PromiseHook.\x0d\n popAsyncContext(asyncId);\x0d\n }\x0d\n}\x0d\n\x0d\nfunction promiseResolveHook(promise) {\x0d\n trackPromise(promise);\x0d\n const asyncId = promise[async_id_symbol];\x0d\n emitPromiseResolveNative(asyncId);\x0d\n}\x0d\n\x0d\nlet wantPromiseHook = false;\x0d\nfunction enableHooks() {\x0d\n async_hook_fields[kCheck] += 1;\x0d\n\x0d\n setCallbackTrampoline(callbackTrampoline);\x0d\n}\x0d\n\x0d\nlet stopPromiseHook;\x0d\nfunction updatePromiseHookMode() {\x0d\n wantPromiseHook = true;\x0d\n let initHook;\x0d\n if (initHooksExist()) {\x0d\n initHook = destroyHooksExist() ? promiseInitHookWithDestroyTracking :\x0d\n promiseInitHook;\x0d\n } else if (destroyHooksExist()) {\x0d\n initHook = destroyTracking;\x0d\n }\x0d\n if (stopPromiseHook) stopPromiseHook();\x0d\n const promiseHooks = require('internal/promise_hooks');\x0d\n stopPromiseHook = promiseHooks.createHook({\x0d\n init: initHook\x2C\x0d\n before: promiseBeforeHook\x2C\x0d\n after: promiseAfterHook\x2C\x0d\n settled: promiseResolveHooksExist() ? promiseResolveHook : undefined\x2C\x0d\n });\x0d\n}\x0d\n\x0d\nfunction disableHooks() {\x0d\n async_hook_fields[kCheck] -= 1;\x0d\n\x0d\n wantPromiseHook = false;\x0d\n\x0d\n setCallbackTrampoline();\x0d\n\x0d\n // Delay the call to `disablePromiseHook()` because we might currently be\x0d\n // between the `before` and `after` calls of a Promise.\x0d\n enqueueMicrotask(disablePromiseHookIfNecessary);\x0d\n}\x0d\n\x0d\nfunction disablePromiseHookIfNecessary() {\x0d\n if (!wantPromiseHook && stopPromiseHook) {\x0d\n stopPromiseHook();\x0d\n }\x0d\n}\x0d\n\x0d\n// Internal Embedder API //\x0d\n\x0d\n// Increment the internal id counter and return the value. Important that the\x0d\n// counter increment first. Since it's done the same way in\x0d\n// Environment::new_async_uid()\x0d\nfunction newAsyncId() {\x0d\n return ++async_id_fields[kAsyncIdCounter];\x0d\n}\x0d\n\x0d\nfunction getOrSetAsyncId(object) {\x0d\n if (ObjectPrototypeHasOwnProperty(object\x2C async_id_symbol)) {\x0d\n return object[async_id_symbol];\x0d\n }\x0d\n\x0d\n return object[async_id_symbol] = newAsyncId();\x0d\n}\x0d\n\x0d\n\x0d\n// Return the triggerAsyncId meant for the constructor calling it. It's up to\x0d\n// the user to safeguard this call and make sure it's zero'd out when the\x0d\n// constructor is complete.\x0d\nfunction getDefaultTriggerAsyncId() {\x0d\n const defaultTriggerAsyncId = async_id_fields[kDefaultTriggerAsyncId];\x0d\n // If defaultTriggerAsyncId isn't set\x2C use the executionAsyncId\x0d\n if (defaultTriggerAsyncId < 0)\x0d\n return async_id_fields[kExecutionAsyncId];\x0d\n return defaultTriggerAsyncId;\x0d\n}\x0d\n\x0d\n\x0d\nfunction clearDefaultTriggerAsyncId() {\x0d\n async_id_fields[kDefaultTriggerAsyncId] = -1;\x0d\n}\x0d\n\x0d\n/**\x0d\n * Sets a default top level trigger ID to be used\x0d\n * @template {Array<unknown>} T\x0d\n * @template {unknown} R\x0d\n * @param {number} triggerAsyncId\x0d\n * @param { (...T: args) => R } block\x0d\n * @param {T} args\x0d\n * @returns {R}\x0d\n */\x0d\nfunction defaultTriggerAsyncIdScope(triggerAsyncId\x2C block\x2C ...args) {\x0d\n if (triggerAsyncId === undefined)\x0d\n return block.apply(null\x2C args);\x0d\n // CHECK(NumberIsSafeInteger(triggerAsyncId))\x0d\n // CHECK(triggerAsyncId > 0)\x0d\n const oldDefaultTriggerAsyncId = async_id_fields[kDefaultTriggerAsyncId];\x0d\n async_id_fields[kDefaultTriggerAsyncId] = triggerAsyncId;\x0d\n\x0d\n try {\x0d\n return block.apply(null\x2C args);\x0d\n } finally {\x0d\n async_id_fields[kDefaultTriggerAsyncId] = oldDefaultTriggerAsyncId;\x0d\n }\x0d\n}\x0d\n\x0d\nfunction hasHooks(key) {\x0d\n return async_hook_fields[key] > 0;\x0d\n}\x0d\n\x0d\nfunction enabledHooksExist() {\x0d\n return hasHooks(kCheck);\x0d\n}\x0d\n\x0d\nfunction initHooksExist() {\x0d\n return hasHooks(kInit);\x0d\n}\x0d\n\x0d\nfunction afterHooksExist() {\x0d\n return hasHooks(kAfter);\x0d\n}\x0d\n\x0d\nfunction destroyHooksExist() {\x0d\n return hasHooks(kDestroy);\x0d\n}\x0d\n\x0d\nfunction promiseResolveHooksExist() {\x0d\n return hasHooks(kPromiseResolve);\x0d\n}\x0d\n\x0d\n\x0d\nfunction emitInitScript(asyncId\x2C type\x2C triggerAsyncId\x2C resource) {\x0d\n // Short circuit all checks for the common case. Which is that no hooks have\x0d\n // been set. Do this to remove performance impact for embedders (and core).\x0d\n if (!hasHooks(kInit))\x0d\n return;\x0d\n\x0d\n if (triggerAsyncId === null) {\x0d\n triggerAsyncId = getDefaultTriggerAsyncId();\x0d\n }\x0d\n\x0d\n emitInitNative(asyncId\x2C type\x2C triggerAsyncId\x2C resource);\x0d\n}\x0d\n\x0d\n\x0d\nfunction emitBeforeScript(asyncId\x2C triggerAsyncId\x2C resource) {\x0d\n pushAsyncContext(asyncId\x2C triggerAsyncId\x2C resource);\x0d\n\x0d\n if (hasHooks(kBefore))\x0d\n emitBeforeNative(asyncId);\x0d\n}\x0d\n\x0d\n\x0d\nfunction emitAfterScript(asyncId) {\x0d\n if (hasHooks(kAfter))\x0d\n emitAfterNative(asyncId);\x0d\n\x0d\n popAsyncContext(asyncId);\x0d\n}\x0d\n\x0d\n\x0d\nfunction emitDestroyScript(asyncId) {\x0d\n // Return early if there are no destroy callbacks\x2C or invalid asyncId.\x0d\n if (!hasHooks(kDestroy) || asyncId <= 0)\x0d\n return;\x0d\n async_wrap.queueDestroyAsyncId(asyncId);\x0d\n}\x0d\n\x0d\n\x0d\nfunction hasAsyncIdStack() {\x0d\n return hasHooks(kStackLength);\x0d\n}\x0d\n\x0d\n\x0d\n// This is the equivalent of the native push_async_ids() call.\x0d\nfunction pushAsyncContext(asyncId\x2C triggerAsyncId\x2C resource) {\x0d\n const offset = async_hook_fields[kStackLength];\x0d\n execution_async_resources[offset] = resource;\x0d\n if (offset * 2 >= async_wrap.async_ids_stack.length)\x0d\n return pushAsyncContext_(asyncId\x2C triggerAsyncId);\x0d\n async_wrap.async_ids_stack[offset * 2] = async_id_fields[kExecutionAsyncId];\x0d\n async_wrap.async_ids_stack[offset * 2 + 1] = async_id_fields[kTriggerAsyncId];\x0d\n async_hook_fields[kStackLength]++;\x0d\n async_id_fields[kExecutionAsyncId] = asyncId;\x0d\n async_id_fields[kTriggerAsyncId] = triggerAsyncId;\x0d\n}\x0d\n\x0d\n\x0d\n// This is the equivalent of the native pop_async_ids() call.\x0d\nfunction popAsyncContext(asyncId) {\x0d\n const stackLength = async_hook_fields[kStackLength];\x0d\n if (stackLength === 0) return false;\x0d\n\x0d\n if (enabledHooksExist() && async_id_fields[kExecutionAsyncId] !== asyncId) {\x0d\n // Do the same thing as the native code (i.e. crash hard).\x0d\n return popAsyncContext_(asyncId);\x0d\n }\x0d\n\x0d\n const offset = stackLength - 1;\x0d\n async_id_fields[kExecutionAsyncId] = async_wrap.async_ids_stack[2 * offset];\x0d\n async_id_fields[kTriggerAsyncId] = async_wrap.async_ids_stack[2 * offset + 1];\x0d\n execution_async_resources.pop();\x0d\n async_hook_fields[kStackLength] = offset;\x0d\n return offset > 0;\x0d\n}\x0d\n\x0d\n\x0d\nfunction executionAsyncId() {\x0d\n return async_id_fields[kExecutionAsyncId];\x0d\n}\x0d\n\x0d\nfunction triggerAsyncId() {\x0d\n return async_id_fields[kTriggerAsyncId];\x0d\n}\x0d\n\x0d\n\x0d\nmodule.exports = {\x0d\n executionAsyncId\x2C\x0d\n triggerAsyncId\x2C\x0d\n // Private API\x0d\n getHookArrays\x2C\x0d\n symbols: {\x0d\n async_id_symbol\x2C trigger_async_id_symbol\x2C\x0d\n init_symbol\x2C before_symbol\x2C after_symbol\x2C destroy_symbol\x2C\x0d\n promise_resolve_symbol\x2C owner_symbol\x2C\x0d\n }\x2C\x0d\n constants: {\x0d\n kInit\x2C kBefore\x2C kAfter\x2C kDestroy\x2C kTotals\x2C kPromiseResolve\x2C\x0d\n }\x2C\x0d\n enableHooks\x2C\x0d\n disableHooks\x2C\x0d\n updatePromiseHookMode\x2C\x0d\n clearDefaultTriggerAsyncId\x2C\x0d\n clearAsyncIdStack\x2C\x0d\n hasAsyncIdStack\x2C\x0d\n executionAsyncResource\x2C\x0d\n // Internal Embedder API\x0d\n newAsyncId\x2C\x0d\n getOrSetAsyncId\x2C\x0d\n getDefaultTriggerAsyncId\x2C\x0d\n defaultTriggerAsyncIdScope\x2C\x0d\n enabledHooksExist\x2C\x0d\n initHooksExist\x2C\x0d\n afterHooksExist\x2C\x0d\n destroyHooksExist\x2C\x0d\n emitInit: emitInitScript\x2C\x0d\n emitBefore: emitBeforeScript\x2C\x0d\n emitAfter: emitAfterScript\x2C\x0d\n emitDestroy: emitDestroyScript\x2C\x0d\n pushAsyncContext\x2C\x0d\n popAsyncContext\x2C\x0d\n registerDestroyHook\x2C\x0d\n useDomainTrampoline\x2C\x0d\n nativeHooks: {\x0d\n init: emitInitNative\x2C\x0d\n before: emitBeforeNative\x2C\x0d\n after: emitAfterNative\x2C\x0d\n destroy: emitDestroyNative\x2C\x0d\n promise_resolve: emitPromiseResolveNative\x2C\x0d\n }\x2C\x0d\n asyncWrap: {\x0d\n Providers: async_wrap.Providers\x2C\x0d\n }\x2C\x0d\n};\x0d\n
code-source-info,0x158ab30d4b6,14,14984,15037,C0O14992C7O15017C16O15032C22O15034,,
code-creation,JS,10,397782,0x158ab30e98e,35,getDefaultTriggerAsyncId node:internal/async_hooks:433:34,0x39e2db450b0,~
code-source-info,0x158ab30e98e,14,15459,15722,C0O15497C7O15513C9O15512C13O15608C14O15634C19O15644C26O15667C28O15666C31O15686C32O15690C34O15719,,
code-creation,JS,10,397900,0x158ab30ebbe,13,initHooksExist node:internal/async_hooks:478:24,0x39e2db45240,~
code-source-info,0x158ab30ebbe,14,16722,16756,C0O16730C5O16746C8O16737C12O16753,,
code-creation,JS,10,397961,0x158ab30eca6,16,hasHooks node:internal/async_hooks:470:18,0x39e2db451a0,~
code-source-info,0x158ab30eca6,14,16582,16630,C0O16593C7O16617C12O16623C15O16627,,
code-creation,JS,10,398039,0x158ab30edae,59,push node:internal/fixed_queue:99:7,0x39e2db67328,~
code-source-info,0x158ab30edae,37,3783,4050,C0O3806C5O3811C10O3811C16O3973C23O3989C26O3985C32O3983C38O3966C42O4029C47O4034C52O4034C58O4049,,
code-creation,JS,10,398116,0x158ab30eeee,24,isFull node:internal/fixed_queue:71:9,0x39e2db67078,~
code-source-info,0x158ab30eeee,37,3209,3272,C0O3233C4O3237C10O3244C12O3242C16O3260C20O3251C23O3267,,
code-creation,JS,10,398215,0x158ab30eff6,37,push node:internal/fixed_queue:75:7,0x39e2db670c8,~
code-source-info,0x158ab30eff6,37,3282,3368,C0O3301C5O3311C12O3316C16O3346C20O3350C26O3357C28O3355C31O3338C36O3367,,
code-creation,JS,10,398343,0x158ab30f14e,118,Readable.removeListener node:internal/streams/readable:1157:45,0x77b20ed718,~
code-source-info,0x158ab30f14e,97,37294,38012,C0O37327C5O37360C10O37367C15O37377C20O37392C34O37392C40O37469C42O37476C47O37833C50O37841C58O37841C66O37892C68O37899C73O37918C81O37918C88O37940C93O37954C95O37960C104O37972C106O37971C111O37968C115O37998C117O38009,,
code-creation,JS,10,398666,0x158ab30f326,322,removeListener node:events:681:28,0x39e2db52988,~
code-source-info,0x158ab30f326,23,20460,21894,C0O20486C3O20486C7O20540C12O20556C14O20591C16O20603C17O20626C19O20632C23O20647C25O20680C27O20692C28O20702C30O20711C35O20732C42O20741C47O20766C54O20784C58O20801C60O20810C62O20809C67O20836C68O20849C74O20887C80O20900C85O20920C89O20933C95O20985C97O20999C99O21028C105O21062C113O21096C128O21062C135O21144C141O21202C144O21235C148O21242C152O21249C153O21249C158O21273C160O21281C166O21285C173O21305C177O21309C184O21318C189O21347C194O21374C196O21256C201O21217C205O21416C206O21429C211O21445C213O21457C214O21469C215O21482C220O21505C225O21505C231O21541C237O21583C243O21595C248O21619C255O21593C261O21642C266O21642C271O21700C278O21707C283O21725C284O21744C287O21738C291O21771C297O21817C314O21817C319O21875C321O21887,,
code-creation,Eval,10,399082,0x158ab30f8ce,5, node:internal/repl:1:1,0x158ab30f728,~
script-source,114,node:internal/repl,'use strict';\x0d\n\x0d\nconst {\x0d\n Number\x2C\x0d\n NumberIsNaN\x2C\x0d\n NumberParseInt\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst REPL = require('repl');\x0d\nconst { kStandaloneREPL } = require('internal/repl/utils');\x0d\n\x0d\nmodule.exports = { __proto__: REPL };\x0d\nmodule.exports.createInternalRepl = createRepl;\x0d\n\x0d\nfunction createRepl(env\x2C opts\x2C cb) {\x0d\n if (typeof opts === 'function') {\x0d\n cb = opts;\x0d\n opts = null;\x0d\n }\x0d\n opts = {\x0d\n [kStandaloneREPL]: true\x2C\x0d\n ignoreUndefined: false\x2C\x0d\n useGlobal: true\x2C\x0d\n breakEvalOnSigint: true\x2C\x0d\n ...opts\x2C\x0d\n };\x0d\n\x0d\n if (NumberParseInt(env.NODE_NO_READLINE)) {\x0d\n opts.terminal = false;\x0d\n }\x0d\n\x0d\n if (env.NODE_REPL_MODE) {\x0d\n opts.replMode = {\x0d\n 'strict': REPL.REPL_MODE_STRICT\x2C\x0d\n 'sloppy': REPL.REPL_MODE_SLOPPY\x2C\x0d\n }[env.NODE_REPL_MODE.toLowerCase().trim()];\x0d\n }\x0d\n\x0d\n if (opts.replMode === undefined) {\x0d\n opts.replMode = REPL.REPL_MODE_SLOPPY;\x0d\n }\x0d\n\x0d\n const historySize = Number(env.NODE_REPL_HISTORY_SIZE);\x0d\n if (!NumberIsNaN(historySize) && historySize > 0) {\x0d\n opts.historySize = historySize;\x0d\n } else {\x0d\n opts.historySize = 1000;\x0d\n }\x0d\n\x0d\n const repl = REPL.start(opts);\x0d\n const term = 'terminal' in opts ? opts.terminal : process.stdout.isTTY;\x0d\n repl.setupHistory(term ? env.NODE_REPL_HISTORY : ''\x2C cb);\x0d\n}\x0d\n
code-source-info,0x158ab30f8ce,114,0,1267,C0O0C4O1267,,
code-creation,JS,10,399244,0x158ab30f9ee,105, node:internal/repl:1:1,0x158ab30f848,~
code-source-info,0x158ab30f9ee,114,0,1267,C0O0C29O28C35O39C41O55C47O105C50O105C54O105C56O151C59O151C64O131C70O186C81O216C88O201C92O232C99O259C104O1266,,
code-creation,Eval,10,402074,0x158ab313716,5, node:repl:1:1,0x158ab312180,~
script-source,115,node:repl,// Copyright Joyent\x2C Inc. and other Node contributors.\x0d\n//\x0d\n// Permission is hereby granted\x2C free of charge\x2C to any person obtaining a\x0d\n// copy of this software and associated documentation files (the\x0d\n// "Software")\x2C to deal in the Software without restriction\x2C including\x0d\n// without limitation the rights to use\x2C copy\x2C modify\x2C merge\x2C publish\x2C\x0d\n// distribute\x2C sublicense\x2C and/or sell copies of the Software\x2C and to permit\x0d\n// persons to whom the Software is furnished to do so\x2C subject to the\x0d\n// following conditions:\x0d\n//\x0d\n// The above copyright notice and this permission notice shall be included\x0d\n// in all copies or substantial portions of the Software.\x0d\n//\x0d\n// THE SOFTWARE IS PROVIDED "AS IS"\x2C WITHOUT WARRANTY OF ANY KIND\x2C EXPRESS\x0d\n// OR IMPLIED\x2C INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\x0d\n// MERCHANTABILITY\x2C FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\x0d\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM\x2C\x0d\n// DAMAGES OR OTHER LIABILITY\x2C WHETHER IN AN ACTION OF CONTRACT\x2C TORT OR\x0d\n// OTHERWISE\x2C ARISING FROM\x2C OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\x0d\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\x0d\n\x0d\n/* A REPL library that you can include in your own code to get a runtime\x0d\n * interface to your program.\x0d\n *\x0d\n * const repl = require("repl");\x0d\n * // start repl on stdin\x0d\n * repl.start("prompt> ");\x0d\n *\x0d\n * // listen for unix socket connections and start repl on them\x0d\n * net.createServer(function(socket) {\x0d\n * repl.start("node via Unix socket> "\x2C socket);\x0d\n * }).listen("/tmp/node-repl-sock");\x0d\n *\x0d\n * // listen for TCP socket connections and start repl on them\x0d\n * net.createServer(function(socket) {\x0d\n * repl.start("node via TCP socket> "\x2C socket);\x0d\n * }).listen(5001);\x0d\n *\x0d\n * // expose foo to repl context\x0d\n * repl.start("node > ").context.foo = "stdin is fun";\x0d\n */\x0d\n\x0d\n'use strict';\x0d\n\x0d\nconst {\x0d\n ArrayPrototypeAt\x2C\x0d\n ArrayPrototypeFilter\x2C\x0d\n ArrayPrototypeFindLastIndex\x2C\x0d\n ArrayPrototypeForEach\x2C\x0d\n ArrayPrototypeIncludes\x2C\x0d\n ArrayPrototypeJoin\x2C\x0d\n ArrayPrototypeMap\x2C\x0d\n ArrayPrototypePop\x2C\x0d\n ArrayPrototypePush\x2C\x0d\n ArrayPrototypePushApply\x2C\x0d\n ArrayPrototypeShift\x2C\x0d\n ArrayPrototypeSlice\x2C\x0d\n ArrayPrototypeSome\x2C\x0d\n ArrayPrototypeSort\x2C\x0d\n ArrayPrototypeUnshift\x2C\x0d\n Boolean\x2C\x0d\n Error: MainContextError\x2C\x0d\n FunctionPrototypeBind\x2C\x0d\n JSONStringify\x2C\x0d\n MathMaxApply\x2C\x0d\n NumberIsNaN\x2C\x0d\n NumberParseFloat\x2C\x0d\n ObjectAssign\x2C\x0d\n ObjectDefineProperty\x2C\x0d\n ObjectGetOwnPropertyDescriptor\x2C\x0d\n ObjectGetOwnPropertyNames\x2C\x0d\n ObjectGetPrototypeOf\x2C\x0d\n ObjectKeys\x2C\x0d\n ObjectSetPrototypeOf\x2C\x0d\n Promise\x2C\x0d\n ReflectApply\x2C\x0d\n RegExp\x2C\x0d\n RegExpPrototypeExec\x2C\x0d\n SafePromiseRace\x2C\x0d\n SafeSet\x2C\x0d\n SafeWeakSet\x2C\x0d\n StringPrototypeCharAt\x2C\x0d\n StringPrototypeCodePointAt\x2C\x0d\n StringPrototypeEndsWith\x2C\x0d\n StringPrototypeIncludes\x2C\x0d\n StringPrototypeRepeat\x2C\x0d\n StringPrototypeSlice\x2C\x0d\n StringPrototypeSplit\x2C\x0d\n StringPrototypeStartsWith\x2C\x0d\n StringPrototypeTrim\x2C\x0d\n StringPrototypeTrimStart\x2C\x0d\n StringPrototypeToLocaleLowerCase\x2C\x0d\n Symbol\x2C\x0d\n SyntaxError\x2C\x0d\n SyntaxErrorPrototype\x2C\x0d\n globalThis\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst { BuiltinModule } = require('internal/bootstrap/realm');\x0d\nconst {\x0d\n makeRequireFunction\x2C\x0d\n addBuiltinLibsToObject\x2C\x0d\n} = require('internal/modules/helpers');\x0d\nconst {\x0d\n isIdentifierStart\x2C\x0d\n isIdentifierChar\x2C\x0d\n parse: acornParse\x2C\x0d\n} = require('internal/deps/acorn/acorn/dist/acorn');\x0d\nconst acornWalk = require('internal/deps/acorn/acorn-walk/dist/walk');\x0d\nconst {\x0d\n decorateErrorStack\x2C\x0d\n isError\x2C\x0d\n deprecate\x2C\x0d\n SideEffectFreeRegExpPrototypeSymbolReplace\x2C\x0d\n SideEffectFreeRegExpPrototypeSymbolSplit\x2C\x0d\n} = require('internal/util');\x0d\nconst { inspect } = require('internal/util/inspect');\x0d\nconst vm = require('vm');\x0d\n\x0d\nconst { runInThisContext\x2C runInContext } = vm.Script.prototype;\x0d\n\x0d\nconst path = require('path');\x0d\nconst fs = require('fs');\x0d\nconst { Interface } = require('readline');\x0d\nconst {\x0d\n commonPrefix\x2C\x0d\n} = require('internal/readline/utils');\x0d\nconst { Console } = require('console');\x0d\nconst { shouldColorize } = require('internal/util/colors');\x0d\nconst CJSModule = require('internal/modules/cjs/loader').Module;\x0d\nlet _builtinLibs = ArrayPrototypeFilter(\x0d\n CJSModule.builtinModules\x2C\x0d\n (e) => !StringPrototypeStartsWith(e\x2C '_')\x2C\x0d\n);\x0d\nconst nodeSchemeBuiltinLibs = ArrayPrototypeMap(\x0d\n _builtinLibs\x2C (lib) => `node:${lib}`);\x0d\nArrayPrototypeForEach(\x0d\n BuiltinModule.getSchemeOnlyModuleNames()\x2C\x0d\n (lib) => ArrayPrototypePush(nodeSchemeBuiltinLibs\x2C `node:${lib}`)\x2C\x0d\n);\x0d\nconst domain = require('domain');\x0d\nlet debug = require('internal/util/debuglog').debuglog('repl'\x2C (fn) => {\x0d\n debug = fn;\x0d\n});\x0d\nconst {\x0d\n codes: {\x0d\n ERR_CANNOT_WATCH_SIGINT\x2C\x0d\n ERR_INVALID_REPL_EVAL_CONFIG\x2C\x0d\n ERR_INVALID_REPL_INPUT\x2C\x0d\n ERR_MISSING_ARGS\x2C\x0d\n ERR_SCRIPT_EXECUTION_INTERRUPTED\x2C\x0d\n }\x2C\x0d\n isErrorStackTraceLimitWritable\x2C\x0d\n overrideStackTrace\x2C\x0d\n ErrorPrepareStackTrace\x2C\x0d\n} = require('internal/errors');\x0d\nconst { sendInspectorCommand } = require('internal/util/inspector');\x0d\nconst { getOptionValue } = require('internal/options');\x0d\nconst {\x0d\n validateFunction\x2C\x0d\n validateObject\x2C\x0d\n} = require('internal/validators');\x0d\nconst experimentalREPLAwait = getOptionValue(\x0d\n '--experimental-repl-await'\x2C\x0d\n);\x0d\nconst pendingDeprecation = getOptionValue('--pending-deprecation');\x0d\nconst {\x0d\n REPL_MODE_SLOPPY\x2C\x0d\n REPL_MODE_STRICT\x2C\x0d\n isRecoverableError\x2C\x0d\n kStandaloneREPL\x2C\x0d\n setupPreview\x2C\x0d\n setupReverseSearch\x2C\x0d\n} = require('internal/repl/utils');\x0d\nconst {\x0d\n constants: {\x0d\n ALL_PROPERTIES\x2C\x0d\n SKIP_SYMBOLS\x2C\x0d\n }\x2C\x0d\n getOwnNonIndexProperties\x2C\x0d\n} = internalBinding('util');\x0d\nconst {\x0d\n startSigintWatchdog\x2C\x0d\n stopSigintWatchdog\x2C\x0d\n} = internalBinding('contextify');\x0d\n\x0d\nconst history = require('internal/repl/history');\x0d\nconst {\x0d\n extensionFormatMap\x2C\x0d\n} = require('internal/modules/esm/formats');\x0d\nconst {\x0d\n makeContextifyScript\x2C\x0d\n} = require('internal/vm');\x0d\nlet nextREPLResourceNumber = 1;\x0d\n// This prevents v8 code cache from getting confused and using a different\x0d\n// cache from a resource of the same name\x0d\nfunction getREPLResourceName() {\x0d\n return `REPL${nextREPLResourceNumber++}`;\x0d\n}\x0d\n\x0d\n// Lazy-loaded.\x0d\nlet processTopLevelAwait;\x0d\n\x0d\nconst globalBuiltins =\x0d\n new SafeSet(vm.runInNewContext('Object.getOwnPropertyNames(globalThis)'));\x0d\n\x0d\nconst parentModule = module;\x0d\nconst domainSet = new SafeWeakSet();\x0d\n\x0d\nconst kBufferedCommandSymbol = Symbol('bufferedCommand');\x0d\nconst kContextId = Symbol('contextId');\x0d\nconst kLoadingSymbol = Symbol('loading');\x0d\n\x0d\nlet addedNewListener = false;\x0d\n\x0d\ntry {\x0d\n // Hack for require.resolve("./relative") to work properly.\x0d\n module.filename = path.resolve('repl');\x0d\n} catch {\x0d\n // path.resolve('repl') fails when the current working directory has been\x0d\n // deleted. Fall back to the directory name of the (absolute) executable\x0d\n // path. It's not really correct but what are the alternatives?\x0d\n const dirname = path.dirname(process.execPath);\x0d\n module.filename = path.resolve(dirname\x2C 'repl');\x0d\n}\x0d\n\x0d\n// Hack for repl require to work properly with node_modules folders\x0d\nmodule.paths = CJSModule._nodeModulePaths(module.filename);\x0d\n\x0d\n// This is the default "writer" value\x2C if none is passed in the REPL options\x2C\x0d\n// and it can be overridden by custom print functions\x2C such as `probe` or\x0d\n// `eyes.js`.\x0d\nconst writer = (obj) => inspect(obj\x2C writer.options);\x0d\nwriter.options = { ...inspect.defaultOptions\x2C showProxy: true };\x0d\n\x0d\n// Converts static import statement to dynamic import statement\x0d\nconst toDynamicImport = (codeLine) => {\x0d\n let dynamicImportStatement = '';\x0d\n const ast = acornParse(codeLine\x2C { __proto__: null\x2C sourceType: 'module'\x2C ecmaVersion: 'latest' });\x0d\n acornWalk.ancestor(ast\x2C {\x0d\n ImportDeclaration(node) {\x0d\n const awaitDynamicImport = `await import(${JSONStringify(node.source.value)});`;\x0d\n if (node.specifiers.length === 0) {\x0d\n dynamicImportStatement += awaitDynamicImport;\x0d\n } else if (node.specifiers.length === 1 && node.specifiers[0].type === 'ImportNamespaceSpecifier') {\x0d\n dynamicImportStatement += `const ${node.specifiers[0].local.name} = ${awaitDynamicImport}`;\x0d\n } else {\x0d\n const importNames = ArrayPrototypeJoin(ArrayPrototypeMap(node.specifiers\x2C ({ local\x2C imported }) =>\x0d\n (local.name === imported?.name ? local.name : `${imported?.name ?? 'default'}: ${local.name}`)\x2C\x0d\n )\x2C '\x2C ');\x0d\n dynamicImportStatement += `const { ${importNames} } = ${awaitDynamicImport}`;\x0d\n }\x0d\n }\x2C\x0d\n });\x0d\n return dynamicImportStatement;\x0d\n};\x0d\n\x0d\nfunction REPLServer(prompt\x2C\x0d\n stream\x2C\x0d\n eval_\x2C\x0d\n useGlobal\x2C\x0d\n ignoreUndefined\x2C\x0d\n replMode) {\x0d\n if (!(this instanceof REPLServer)) {\x0d\n return new REPLServer(prompt\x2C\x0d\n stream\x2C\x0d\n eval_\x2C\x0d\n useGlobal\x2C\x0d\n ignoreUndefined\x2C\x0d\n replMode);\x0d\n }\x0d\n\x0d\n let options;\x0d\n if (prompt !== null && typeof prompt === 'object') {\x0d\n // An options object was given.\x0d\n options = { ...prompt };\x0d\n stream = options.stream || options.socket;\x0d\n eval_ = options.eval;\x0d\n useGlobal = options.useGlobal;\x0d\n ignoreUndefined = options.ignoreUndefined;\x0d\n prompt = options.prompt;\x0d\n replMode = options.replMode;\x0d\n } else {\x0d\n options = {};\x0d\n }\x0d\n\x0d\n if (!options.input && !options.output) {\x0d\n // Legacy API\x2C passing a 'stream'/'socket' option.\x0d\n if (!stream) {\x0d\n // Use stdin and stdout as the default streams if none were given.\x0d\n stream = process;\x0d\n }\x0d\n // We're given a duplex readable/writable Stream\x2C like a `net.Socket`\x0d\n // or a custom object with 2 streams\x2C or the `process` object.\x0d\n options.input = stream.stdin || stream;\x0d\n options.output = stream.stdout || stream;\x0d\n }\x0d\n\x0d\n if (options.terminal === undefined) {\x0d\n options.terminal = options.output.isTTY;\x0d\n }\x0d\n options.terminal = !!options.terminal;\x0d\n\x0d\n if (options.terminal && options.useColors === undefined) {\x0d\n // If possible\x2C check if stdout supports colors or not.\x0d\n options.useColors = shouldColorize(options.output);\x0d\n }\x0d\n\x0d\n // TODO(devsnek): Add a test case for custom eval functions.\x0d\n const preview = options.terminal &&\x0d\n (options.preview !== undefined ? !!options.preview : !eval_);\x0d\n\x0d\n ObjectDefineProperty(this\x2C 'inputStream'\x2C {\x0d\n __proto__: null\x2C\x0d\n get: pendingDeprecation ?\x0d\n deprecate(() => this.input\x2C\x0d\n 'repl.inputStream and repl.outputStream are deprecated. ' +\x0d\n 'Use repl.input and repl.output instead'\x2C\x0d\n 'DEP0141') :\x0d\n () => this.input\x2C\x0d\n set: pendingDeprecation ?\x0d\n deprecate((val) => this.input = val\x2C\x0d\n 'repl.inputStream and repl.outputStream are deprecated. ' +\x0d\n 'Use repl.input and repl.output instead'\x2C\x0d\n 'DEP0141') :\x0d\n (val) => this.input = val\x2C\x0d\n enumerable: false\x2C\x0d\n configurable: true\x2C\x0d\n });\x0d\n ObjectDefineProperty(this\x2C 'outputStream'\x2C {\x0d\n __proto__: null\x2C\x0d\n get: pendingDeprecation ?\x0d\n deprecate(() => this.output\x2C\x0d\n 'repl.inputStream and repl.outputStream are deprecated. ' +\x0d\n 'Use repl.input and repl.output instead'\x2C\x0d\n 'DEP0141') :\x0d\n () => this.output\x2C\x0d\n set: pendingDeprecation ?\x0d\n deprecate((val) => this.output = val\x2C\x0d\n 'repl.inputStream and repl.outputStream are deprecated. ' +\x0d\n 'Use repl.input and repl.output instead'\x2C\x0d\n 'DEP0141') :\x0d\n (val) => this.output = val\x2C\x0d\n enumerable: false\x2C\x0d\n configurable: true\x2C\x0d\n });\x0d\n\x0d\n this.allowBlockingCompletions = !!options.allowBlockingCompletions;\x0d\n this.useColors = !!options.useColors;\x0d\n this._domain = options.domain || domain.create();\x0d\n this.useGlobal = !!useGlobal;\x0d\n this.ignoreUndefined = !!ignoreUndefined;\x0d\n this.replMode = replMode || module.exports.REPL_MODE_SLOPPY;\x0d\n this.underscoreAssigned = false;\x0d\n this.last = undefined;\x0d\n this.underscoreErrAssigned = false;\x0d\n this.lastError = undefined;\x0d\n this.breakEvalOnSigint = !!options.breakEvalOnSigint;\x0d\n this.editorMode = false;\x0d\n // Context id for use with the inspector protocol.\x0d\n this[kContextId] = undefined;\x0d\n\x0d\n if (this.breakEvalOnSigint && eval_) {\x0d\n // Allowing this would not reflect user expectations.\x0d\n // breakEvalOnSigint affects only the behavior of the default eval().\x0d\n throw new ERR_INVALID_REPL_EVAL_CONFIG();\x0d\n }\x0d\n\x0d\n if (options[kStandaloneREPL]) {\x0d\n // It is possible to introspect the running REPL accessing this variable\x0d\n // from inside the REPL. This is useful for anyone working on the REPL.\x0d\n module.exports.repl = this;\x0d\n } else if (!addedNewListener) {\x0d\n // Add this listener only once and use a WeakSet that contains the REPLs\x0d\n // domains. Otherwise we'd have to add a single listener to each REPL\x0d\n // instance and that could trigger the `MaxListenersExceededWarning`.\x0d\n process.prependListener('newListener'\x2C (event\x2C listener) => {\x0d\n if (event === 'uncaughtException' &&\x0d\n process.domain &&\x0d\n listener.name !== 'domainUncaughtExceptionClear' &&\x0d\n domainSet.has(process.domain)) {\x0d\n // Throw an error so that the event will not be added and the current\x0d\n // domain takes over. That way the user is notified about the error\x0d\n // and the current code evaluation is stopped\x2C just as any other code\x0d\n // that contains an error.\x0d\n throw new ERR_INVALID_REPL_INPUT(\x0d\n 'Listeners for `uncaughtException` cannot be used in the REPL');\x0d\n }\x0d\n });\x0d\n addedNewListener = true;\x0d\n }\x0d\n\x0d\n domainSet.add(this._domain);\x0d\n\x0d\n const savedRegExMatches = [''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''\x2C ''];\x0d\n const sep = '\\u0000\\u0000\\u0000';\x0d\n const regExMatcher = new RegExp(`^${sep}(.*)${sep}(.*)${sep}(.*)${sep}(.*)` +\x0d\n `${sep}(.*)${sep}(.*)${sep}(.*)${sep}(.*)` +\x0d\n `${sep}(.*)$`);\x0d\n\x0d\n eval_ = eval_ || defaultEval;\x0d\n\x0d\n const self = this;\x0d\n\x0d\n // Pause taking in new input\x2C and store the keys in a buffer.\x0d\n const pausedBuffer = [];\x0d\n let paused = false;\x0d\n function pause() {\x0d\n paused = true;\x0d\n }\x0d\n\x0d\n function unpause() {\x0d\n if (!paused) return;\x0d\n paused = false;\x0d\n let entry;\x0d\n const tmpCompletionEnabled = self.isCompletionEnabled;\x0d\n while ((entry = ArrayPrototypeShift(pausedBuffer)) !== undefined) {\x0d\n const { 0: type\x2C 1: payload\x2C 2: isCompletionEnabled } = entry;\x0d\n switch (type) {\x0d\n case 'key': {\x0d\n const { 0: d\x2C 1: key } = payload;\x0d\n self.isCompletionEnabled = isCompletionEnabled;\x0d\n self._ttyWrite(d\x2C key);\x0d\n break;\x0d\n }\x0d\n case 'close':\x0d\n self.emit('exit');\x0d\n break;\x0d\n }\x0d\n if (paused) {\x0d\n break;\x0d\n }\x0d\n }\x0d\n self.isCompletionEnabled = tmpCompletionEnabled;\x0d\n }\x0d\n\x0d\n function defaultEval(code\x2C context\x2C file\x2C cb) {\x0d\n let result\x2C script\x2C wrappedErr;\x0d\n let err = null;\x0d\n let wrappedCmd = false;\x0d\n let awaitPromise = false;\x0d\n const input = code;\x0d\n\x0d\n // It's confusing for `{ a : 1 }` to be interpreted as a block\x0d\n // statement rather than an object literal. So\x2C we first try\x0d\n // to wrap it in parentheses\x2C so that it will be interpreted as\x0d\n // an expression. Note that if the above condition changes\x2C\x0d\n // lib/internal/repl/utils.js needs to be changed to match.\x0d\n if (RegExpPrototypeExec(/^\\s*{/\x2C code) !== null &&\x0d\n RegExpPrototypeExec(/;\\s*$/\x2C code) === null) {\x0d\n code = `(${StringPrototypeTrim(code)})\\n`;\x0d\n wrappedCmd = true;\x0d\n }\x0d\n\x0d\n const hostDefinedOptionId = Symbol(`eval:${file}`);\x0d\n let parentURL;\x0d\n try {\x0d\n const { pathToFileURL } = require('internal/url');\x0d\n // Adding `/repl` prevents dynamic imports from loading relative\x0d\n // to the parent of `process.cwd()`.\x0d\n parentURL = pathToFileURL(path.join(process.cwd()\x2C 'repl')).href;\x0d\n } catch {\x0d\n // Continue regardless of error.\x0d\n }\x0d\n async function importModuleDynamically(specifier\x2C _\x2C importAttributes) {\x0d\n const cascadedLoader = require('internal/modules/esm/loader').getOrInitializeCascadedLoader();\x0d\n return cascadedLoader.import(specifier\x2C parentURL\x2C importAttributes);\x0d\n }\x0d\n // `experimentalREPLAwait` is set to true by default.\x0d\n // Shall be false in case `--no-experimental-repl-await` flag is used.\x0d\n if (experimentalREPLAwait && StringPrototypeIncludes(code\x2C 'await')) {\x0d\n if (processTopLevelAwait === undefined) {\x0d\n ({ processTopLevelAwait } = require('internal/repl/await'));\x0d\n }\x0d\n\x0d\n try {\x0d\n const potentialWrappedCode = processTopLevelAwait(code);\x0d\n if (potentialWrappedCode !== null) {\x0d\n code = potentialWrappedCode;\x0d\n wrappedCmd = true;\x0d\n awaitPromise = true;\x0d\n }\x0d\n } catch (e) {\x0d\n let recoverableError = false;\x0d\n if (e.name === 'SyntaxError') {\x0d\n // Remove all "await"s and attempt running the script\x0d\n // in order to detect if error is truly non recoverable\x0d\n const fallbackCode = SideEffectFreeRegExpPrototypeSymbolReplace(/\\bawait\\b/g\x2C code\x2C '');\x0d\n try {\x0d\n makeContextifyScript(\x0d\n fallbackCode\x2C // code\x0d\n file\x2C // filename\x2C\x0d\n 0\x2C // lineOffset\x0d\n 0\x2C // columnOffset\x2C\x0d\n undefined\x2C // cachedData\x0d\n false\x2C // produceCachedData\x0d\n undefined\x2C // parsingContext\x0d\n hostDefinedOptionId\x2C // hostDefinedOptionId\x0d\n importModuleDynamically\x2C // importModuleDynamically\x0d\n );\x0d\n } catch (fallbackError) {\x0d\n if (isRecoverableError(fallbackError\x2C fallbackCode)) {\x0d\n recoverableError = true;\x0d\n err = new Recoverable(e);\x0d\n }\x0d\n }\x0d\n }\x0d\n if (!recoverableError) {\x0d\n decorateErrorStack(e);\x0d\n err = e;\x0d\n }\x0d\n }\x0d\n }\x0d\n\x0d\n // First\x2C create the Script object to check the syntax\x0d\n if (code === '\\n')\x0d\n return cb(null);\x0d\n\x0d\n if (err === null) {\x0d\n while (true) {\x0d\n try {\x0d\n if (self.replMode === module.exports.REPL_MODE_STRICT &&\x0d\n RegExpPrototypeExec(/^\\s*$/\x2C code) === null) {\x0d\n // "void 0" keeps the repl from returning "use strict" as the result\x0d\n // value for statements and declarations that don't return a value.\x0d\n code = `'use strict'; void 0;\\n${code}`;\x0d\n }\x0d\n script = makeContextifyScript(\x0d\n code\x2C // code\x0d\n file\x2C // filename\x2C\x0d\n 0\x2C // lineOffset\x0d\n 0\x2C // columnOffset\x2C\x0d\n undefined\x2C // cachedData\x0d\n false\x2C // produceCachedData\x0d\n undefined\x2C // parsingContext\x0d\n hostDefinedOptionId\x2C // hostDefinedOptionId\x0d\n importModuleDynamically\x2C // importModuleDynamically\x0d\n );\x0d\n } catch (e) {\x0d\n debug('parse error %j'\x2C code\x2C e);\x0d\n if (wrappedCmd) {\x0d\n // Unwrap and try again\x0d\n wrappedCmd = false;\x0d\n awaitPromise = false;\x0d\n code = input;\x0d\n wrappedErr = e;\x0d\n continue;\x0d\n }\x0d\n // Preserve original error for wrapped command\x0d\n const error = wrappedErr || e;\x0d\n if (isRecoverableError(error\x2C code))\x0d\n err = new Recoverable(error);\x0d\n else\x0d\n err = error;\x0d\n }\x0d\n break;\x0d\n }\x0d\n }\x0d\n\x0d\n // This will set the values from `savedRegExMatches` to corresponding\x0d\n // predefined RegExp properties `RegExp.$1`\x2C `RegExp.$2` ... `RegExp.$9`\x0d\n RegExpPrototypeExec(regExMatcher\x2C\x0d\n ArrayPrototypeJoin(savedRegExMatches\x2C sep));\x0d\n\x0d\n let finished = false;\x0d\n function finishExecution(err\x2C result) {\x0d\n if (finished) return;\x0d\n finished = true;\x0d\n\x0d\n // After executing the current expression\x2C store the values of RegExp\x0d\n // predefined properties back in `savedRegExMatches`\x0d\n for (let idx = 1; idx < savedRegExMatches.length; idx += 1) {\x0d\n savedRegExMatches[idx] = RegExp[`$${idx}`];\x0d\n }\x0d\n\x0d\n cb(err\x2C result);\x0d\n }\x0d\n\x0d\n if (!err) {\x0d\n // Unset raw mode during evaluation so that Ctrl+C raises a signal.\x0d\n let previouslyInRawMode;\x0d\n if (self.breakEvalOnSigint) {\x0d\n // Start the SIGINT watchdog before entering raw mode so that a very\x0d\n // quick Ctrl+C doesn't lead to aborting the process completely.\x0d\n if (!startSigintWatchdog())\x0d\n throw new ERR_CANNOT_WATCH_SIGINT();\x0d\n previouslyInRawMode = self._setRawMode(false);\x0d\n }\x0d\n\x0d\n try {\x0d\n try {\x0d\n const scriptOptions = {\x0d\n displayErrors: false\x2C\x0d\n breakOnSigint: self.breakEvalOnSigint\x2C\x0d\n };\x0d\n\x0d\n if (self.useGlobal) {\x0d\n result = ReflectApply(runInThisContext\x2C script\x2C [scriptOptions]);\x0d\n } else {\x0d\n result = ReflectApply(runInContext\x2C script\x2C [context\x2C scriptOptions]);\x0d\n }\x0d\n } finally {\x0d\n if (self.breakEvalOnSigint) {\x0d\n // Reset terminal mode to its previous value.\x0d\n self._setRawMode(previouslyInRawMode);\x0d\n\x0d\n // Returns true if there were pending SIGINTs *after* the script\x0d\n // has terminated without being interrupted itself.\x0d\n if (stopSigintWatchdog()) {\x0d\n self.emit('SIGINT');\x0d\n }\x0d\n }\x0d\n }\x0d\n } catch (e) {\x0d\n err = e;\x0d\n\x0d\n if (process.domain) {\x0d\n debug('not recoverable\x2C send to domain');\x0d\n process.domain.emit('error'\x2C err);\x0d\n process.domain.exit();\x0d\n return;\x0d\n }\x0d\n }\x0d\n\x0d\n if (awaitPromise && !err) {\x0d\n let sigintListener;\x0d\n pause();\x0d\n let promise = result;\x0d\n if (self.breakEvalOnSigint) {\x0d\n const interrupt = new Promise((resolve\x2C reject) => {\x0d\n sigintListener = () => {\x0d\n const tmp = MainContextError.stackTraceLimit;\x0d\n if (isErrorStackTraceLimitWritable()) MainContextError.stackTraceLimit = 0;\x0d\n const err = new ERR_SCRIPT_EXECUTION_INTERRUPTED();\x0d\n if (isErrorStackTraceLimitWritable()) MainContextError.stackTraceLimit = tmp;\x0d\n reject(err);\x0d\n };\x0d\n prioritizedSigintQueue.add(sigintListener);\x0d\n });\x0d\n promise = SafePromiseRace([promise\x2C interrupt]);\x0d\n }\x0d\n\x0d\n (async () => {\x0d\n try {\x0d\n const result = (await promise)?.value;\x0d\n finishExecution(null\x2C result);\x0d\n } catch (err) {\x0d\n if (err && process.domain) {\x0d\n debug('not recoverable\x2C send to domain');\x0d\n process.domain.emit('error'\x2C err);\x0d\n process.domain.exit();\x0d\n return;\x0d\n }\x0d\n finishExecution(err);\x0d\n } finally {\x0d\n // Remove prioritized SIGINT listener if it was not called.\x0d\n prioritizedSigintQueue.delete(sigintListener);\x0d\n unpause();\x0d\n }\x0d\n })();\x0d\n }\x0d\n }\x0d\n\x0d\n if (!awaitPromise || err) {\x0d\n finishExecution(err\x2C result);\x0d\n }\x0d\n }\x0d\n\x0d\n self.eval = self._domain.bind(eval_);\x0d\n\x0d\n self._domain.on('error'\x2C function debugDomainError(e) {\x0d\n debug('domain error');\x0d\n let errStack = '';\x0d\n\x0d\n if (typeof e === 'object' && e !== null) {\x0d\n overrideStackTrace.set(e\x2C (error\x2C stackFrames) => {\x0d\n let frames;\x0d\n if (typeof stackFrames === 'object') {\x0d\n // Search from the bottom of the call stack to\x0d\n // find the first frame with a null function name\x0d\n const idx = ArrayPrototypeFindLastIndex(\x0d\n stackFrames\x2C\x0d\n (frame) => frame.getFunctionName() === null\x2C\x0d\n );\x0d\n // If found\x2C get rid of it and everything below it\x0d\n frames = ArrayPrototypeSlice(stackFrames\x2C 0\x2C idx);\x0d\n } else {\x0d\n frames = stackFrames;\x0d\n }\x0d\n // FIXME(devsnek): this is inconsistent with the checks\x0d\n // that the real prepareStackTrace dispatch uses in\x0d\n // lib/internal/errors.js.\x0d\n if (typeof MainContextError.prepareStackTrace === 'function') {\x0d\n return MainContextError.prepareStackTrace(error\x2C frames);\x0d\n }\x0d\n return ErrorPrepareStackTrace(error\x2C frames);\x0d\n });\x0d\n decorateErrorStack(e);\x0d\n\x0d\n if (e.domainThrown) {\x0d\n delete e.domain;\x0d\n delete e.domainThrown;\x0d\n }\x0d\n\x0d\n if (isError(e)) {\x0d\n if (e.stack) {\x0d\n if (e.name === 'SyntaxError') {\x0d\n // Remove stack trace.\x0d\n e.stack = SideEffectFreeRegExpPrototypeSymbolReplace(\x0d\n /^\\s+at\\s.*\\n?/gm\x2C\x0d\n SideEffectFreeRegExpPrototypeSymbolReplace(/^REPL\\d+:\\d+\\r?\\n/\x2C e.stack\x2C '')\x2C\x0d\n '');\x0d\n const importErrorStr = 'Cannot use import statement outside a ' +\x0d\n 'module';\x0d\n if (StringPrototypeIncludes(e.message\x2C importErrorStr)) {\x0d\n e.message = 'Cannot use import statement inside the Node.js ' +\x0d\n 'REPL\x2C alternatively use dynamic import: ' + toDynamicImport(ArrayPrototypeAt(self.lines\x2C -1));\x0d\n e.stack = SideEffectFreeRegExpPrototypeSymbolReplace(\x0d\n /SyntaxError:.*\\n/\x2C\x0d\n e.stack\x2C\x0d\n `SyntaxError: ${e.message}\\n`);\x0d\n }\x0d\n } else if (self.replMode === module.exports.REPL_MODE_STRICT) {\x0d\n e.stack = SideEffectFreeRegExpPrototypeSymbolReplace(\x0d\n /(\\s+at\\s+REPL\\d+:)(\\d+)/\x2C\x0d\n e.stack\x2C\x0d\n (_\x2C pre\x2C line) => pre + (line - 1)\x2C\x0d\n );\x0d\n }\x0d\n }\x0d\n errStack = self.writer(e);\x0d\n\x0d\n // Remove one line error braces to keep the old style in place.\x0d\n if (errStack[0] === '[' && errStack[errStack.length - 1] === ']') {\x0d\n errStack = StringPrototypeSlice(errStack\x2C 1\x2C -1);\x0d\n }\x0d\n }\x0d\n }\x0d\n\x0d\n if (!self.underscoreErrAssigned) {\x0d\n self.lastError = e;\x0d\n }\x0d\n\x0d\n if (options[kStandaloneREPL] &&\x0d\n process.listenerCount('uncaughtException') !== 0) {\x0d\n process.nextTick(() => {\x0d\n process.emit('uncaughtException'\x2C e);\x0d\n self.clearBufferedCommand();\x0d\n self.lines.level = [];\x0d\n self.displayPrompt();\x0d\n });\x0d\n } else {\x0d\n if (errStack === '') {\x0d\n errStack = self.writer(e);\x0d\n }\x0d\n const lines = SideEffectFreeRegExpPrototypeSymbolSplit(/(?<=\\n)/\x2C errStack);\x0d\n let matched = false;\x0d\n\x0d\n errStack = '';\x0d\n ArrayPrototypeForEach(lines\x2C (line) => {\x0d\n if (!matched &&\x0d\n RegExpPrototypeExec(/^\\[?([A-Z][a-z0-9_]*)*Error/\x2C line) !== null) {\x0d\n errStack += writer.options.breakLength >= line.length ?\x0d\n `Uncaught ${line}` :\x0d\n `Uncaught:\\n${line}`;\x0d\n matched = true;\x0d\n } else {\x0d\n errStack += line;\x0d\n }\x0d\n });\x0d\n if (!matched) {\x0d\n const ln = lines.length === 1 ? ' ' : ':\\n';\x0d\n errStack = `Uncaught${ln}${errStack}`;\x0d\n }\x0d\n // Normalize line endings.\x0d\n errStack += StringPrototypeEndsWith(errStack\x2C '\\n') ? '' : '\\n';\x0d\n self.output.write(errStack);\x0d\n self.clearBufferedCommand();\x0d\n self.lines.level = [];\x0d\n self.displayPrompt();\x0d\n }\x0d\n });\x0d\n\x0d\n self.clearBufferedCommand();\x0d\n\x0d\n function completer(text\x2C cb) {\x0d\n ReflectApply(complete\x2C self\x2C\x0d\n [text\x2C self.editorMode ? self.completeOnEditorMode(cb) : cb]);\x0d\n }\x0d\n\x0d\n ReflectApply(Interface\x2C this\x2C [{\x0d\n input: options.input\x2C\x0d\n output: options.output\x2C\x0d\n completer: options.completer || completer\x2C\x0d\n terminal: options.terminal\x2C\x0d\n historySize: options.historySize\x2C\x0d\n prompt\x2C\x0d\n }]);\x0d\n\x0d\n self.resetContext();\x0d\n\x0d\n this.commands = { __proto__: null };\x0d\n defineDefaultCommands(this);\x0d\n\x0d\n // Figure out which "writer" function to use\x0d\n self.writer = options.writer || module.exports.writer;\x0d\n\x0d\n if (self.writer === writer) {\x0d\n // Conditionally turn on ANSI coloring.\x0d\n writer.options.colors = self.useColors;\x0d\n\x0d\n if (options[kStandaloneREPL]) {\x0d\n ObjectDefineProperty(inspect\x2C 'replDefaults'\x2C {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n return writer.options;\x0d\n }\x2C\x0d\n set(options) {\x0d\n validateObject(options\x2C 'options');\x0d\n return ObjectAssign(writer.options\x2C options);\x0d\n }\x2C\x0d\n enumerable: true\x2C\x0d\n configurable: true\x2C\x0d\n });\x0d\n }\x0d\n }\x0d\n\x0d\n function _parseREPLKeyword(keyword\x2C rest) {\x0d\n const cmd = this.commands[keyword];\x0d\n if (cmd) {\x0d\n ReflectApply(cmd.action\x2C this\x2C [rest]);\x0d\n return true;\x0d\n }\x0d\n return false;\x0d\n }\x0d\n\x0d\n self.on('close'\x2C function emitExit() {\x0d\n if (paused) {\x0d\n ArrayPrototypePush(pausedBuffer\x2C ['close']);\x0d\n return;\x0d\n }\x0d\n self.emit('exit');\x0d\n });\x0d\n\x0d\n let sawSIGINT = false;\x0d\n let sawCtrlD = false;\x0d\n const prioritizedSigintQueue = new SafeSet();\x0d\n self.on('SIGINT'\x2C function onSigInt() {\x0d\n if (prioritizedSigintQueue.size > 0) {\x0d\n for (const task of prioritizedSigintQueue) {\x0d\n task();\x0d\n }\x0d\n return;\x0d\n }\x0d\n\x0d\n const empty = self.line.length === 0;\x0d\n self.clearLine();\x0d\n _turnOffEditorMode(self);\x0d\n\x0d\n const cmd = self[kBufferedCommandSymbol];\x0d\n if (!(cmd && cmd.length > 0) && empty) {\x0d\n if (sawSIGINT) {\x0d\n self.close();\x0d\n sawSIGINT = false;\x0d\n return;\x0d\n }\x0d\n self.output.write(\x0d\n '(To exit\x2C press Ctrl+C again or Ctrl+D or type .exit)\\n'\x2C\x0d\n );\x0d\n sawSIGINT = true;\x0d\n } else {\x0d\n sawSIGINT = false;\x0d\n }\x0d\n\x0d\n self.clearBufferedCommand();\x0d\n self.lines.level = [];\x0d\n self.displayPrompt();\x0d\n });\x0d\n\x0d\n self.on('line'\x2C function onLine(cmd) {\x0d\n debug('line %j'\x2C cmd);\x0d\n cmd = cmd || '';\x0d\n sawSIGINT = false;\x0d\n\x0d\n if (self.editorMode) {\x0d\n self[kBufferedCommandSymbol] += cmd + '\\n';\x0d\n\x0d\n // code alignment\x0d\n const matches = self._sawKeyPress && !self[kLoadingSymbol] ?\x0d\n RegExpPrototypeExec(/^\\s+/\x2C cmd) : null;\x0d\n if (matches) {\x0d\n const prefix = matches[0];\x0d\n self.write(prefix);\x0d\n self.line = prefix;\x0d\n self.cursor = prefix.length;\x0d\n }\x0d\n ReflectApply(_memory\x2C self\x2C [cmd]);\x0d\n return;\x0d\n }\x0d\n\x0d\n // Check REPL keywords and empty lines against a trimmed line input.\x0d\n const trimmedCmd = StringPrototypeTrim(cmd);\x0d\n\x0d\n // Check to see if a REPL keyword was used. If it returns true\x2C\x0d\n // display next prompt and return.\x0d\n if (trimmedCmd) {\x0d\n if (StringPrototypeCharAt(trimmedCmd\x2C 0) === '.' &&\x0d\n StringPrototypeCharAt(trimmedCmd\x2C 1) !== '.' &&\x0d\n NumberIsNaN(NumberParseFloat(trimmedCmd))) {\x0d\n const matches = RegExpPrototypeExec(/^\\.([^\\s]+)\\s*(.*)$/\x2C trimmedCmd);\x0d\n const keyword = matches && matches[1];\x0d\n const rest = matches && matches[2];\x0d\n if (ReflectApply(_parseREPLKeyword\x2C self\x2C [keyword\x2C rest]) === true) {\x0d\n return;\x0d\n }\x0d\n if (!self[kBufferedCommandSymbol]) {\x0d\n self.output.write('Invalid REPL keyword\\n');\x0d\n finish(null);\x0d\n return;\x0d\n }\x0d\n }\x0d\n }\x0d\n\x0d\n const evalCmd = self[kBufferedCommandSymbol] + cmd + '\\n';\x0d\n\x0d\n debug('eval %j'\x2C evalCmd);\x0d\n self.eval(evalCmd\x2C self.context\x2C getREPLResourceName()\x2C finish);\x0d\n\x0d\n function finish(e\x2C ret) {\x0d\n debug('finish'\x2C e\x2C ret);\x0d\n ReflectApply(_memory\x2C self\x2C [cmd]);\x0d\n\x0d\n if (e && !self[kBufferedCommandSymbol] &&\x0d\n StringPrototypeStartsWith(StringPrototypeTrim(cmd)\x2C 'npm ')) {\x0d\n self.output.write('npm should be run outside of the ' +\x0d\n 'Node.js REPL\x2C in your normal shell.\\n' +\x0d\n '(Press Ctrl+D to exit.)\\n');\x0d\n self.displayPrompt();\x0d\n return;\x0d\n }\x0d\n\x0d\n // If error was SyntaxError and not JSON.parse error\x0d\n if (e) {\x0d\n if (e instanceof Recoverable && !sawCtrlD) {\x0d\n // Start buffering data like that:\x0d\n // {\x0d\n // ... x: 1\x0d\n // ... }\x0d\n self[kBufferedCommandSymbol] += cmd + '\\n';\x0d\n self.displayPrompt();\x0d\n return;\x0d\n }\x0d\n self._domain.emit('error'\x2C e.err || e);\x0d\n }\x0d\n\x0d\n // Clear buffer if no SyntaxErrors\x0d\n self.clearBufferedCommand();\x0d\n sawCtrlD = false;\x0d\n\x0d\n // If we got any output - print it (if no error)\x0d\n if (!e &&\x0d\n // When an invalid REPL command is used\x2C error message is printed\x0d\n // immediately. We don't have to print anything else. So\x2C only when\x0d\n // the second argument to this function is there\x2C print it.\x0d\n arguments.length === 2 &&\x0d\n (!self.ignoreUndefined || ret !== undefined)) {\x0d\n if (!self.underscoreAssigned) {\x0d\n self.last = ret;\x0d\n }\x0d\n self.output.write(self.writer(ret) + '\\n');\x0d\n }\x0d\n\x0d\n // Display prompt again (unless we already did by emitting the 'error'\x0d\n // event on the domain instance).\x0d\n if (!e) {\x0d\n self.displayPrompt();\x0d\n }\x0d\n }\x0d\n });\x0d\n\x0d\n self.on('SIGCONT'\x2C function onSigCont() {\x0d\n if (self.editorMode) {\x0d\n self.output.write(`${self._initialPrompt}.editor\\n`);\x0d\n self.output.write(\x0d\n '// Entering editor mode (Ctrl+D to finish\x2C Ctrl+C to cancel)\\n');\x0d\n self.output.write(`${self[kBufferedCommandSymbol]}\\n`);\x0d\n self.prompt(true);\x0d\n } else {\x0d\n self.displayPrompt(true);\x0d\n }\x0d\n });\x0d\n\x0d\n const { reverseSearch } = setupReverseSearch(this);\x0d\n\x0d\n const {\x0d\n clearPreview\x2C\x0d\n showPreview\x2C\x0d\n } = setupPreview(\x0d\n this\x2C\x0d\n kContextId\x2C\x0d\n kBufferedCommandSymbol\x2C\x0d\n preview\x2C\x0d\n );\x0d\n\x0d\n // Wrap readline tty to enable editor mode and pausing.\x0d\n const ttyWrite = FunctionPrototypeBind(self._ttyWrite\x2C self);\x0d\n self._ttyWrite = (d\x2C key) => {\x0d\n key = key || {};\x0d\n if (paused && !(self.breakEvalOnSigint && key.ctrl && key.name === 'c')) {\x0d\n ArrayPrototypePush(pausedBuffer\x2C\x0d\n ['key'\x2C [d\x2C key]\x2C self.isCompletionEnabled]);\x0d\n return;\x0d\n }\x0d\n if (!self.editorMode || !self.terminal) {\x0d\n // Before exiting\x2C make sure to clear the line.\x0d\n if (key.ctrl && key.name === 'd' &&\x0d\n self.cursor === 0 && self.line.length === 0) {\x0d\n self.clearLine();\x0d\n }\x0d\n clearPreview(key);\x0d\n if (!reverseSearch(d\x2C key)) {\x0d\n ttyWrite(d\x2C key);\x0d\n const showCompletionPreview = key.name !== 'escape';\x0d\n showPreview(showCompletionPreview);\x0d\n }\x0d\n return;\x0d\n }\x0d\n\x0d\n // Editor mode\x0d\n if (key.ctrl && !key.shift) {\x0d\n switch (key.name) {\x0d\n // TODO(BridgeAR): There should not be a special mode necessary for full\x0d\n // multiline support.\x0d\n case 'd': // End editor mode\x0d\n _turnOffEditorMode(self);\x0d\n sawCtrlD = true;\x0d\n ttyWrite(d\x2C { name: 'return' });\x0d\n break;\x0d\n case 'n': // Override next history item\x0d\n case 'p': // Override previous history item\x0d\n break;\x0d\n default:\x0d\n ttyWrite(d\x2C key);\x0d\n }\x0d\n } else {\x0d\n switch (key.name) {\x0d\n case 'up': // Override previous history item\x0d\n case 'down': // Override next history item\x0d\n break;\x0d\n case 'tab':\x0d\n // Prevent double tab behavior\x0d\n self._previousKey = null;\x0d\n ttyWrite(d\x2C key);\x0d\n break;\x0d\n default:\x0d\n ttyWrite(d\x2C key);\x0d\n }\x0d\n }\x0d\n };\x0d\n\x0d\n self.displayPrompt();\x0d\n}\x0d\nObjectSetPrototypeOf(REPLServer.prototype\x2C Interface.prototype);\x0d\nObjectSetPrototypeOf(REPLServer\x2C Interface);\x0d\n\x0d\n// Prompt is a string to print on each line for the prompt\x2C\x0d\n// source is a stream to use for I/O\x2C defaulting to stdin/stdout.\x0d\nfunction start(prompt\x2C source\x2C eval_\x2C useGlobal\x2C ignoreUndefined\x2C replMode) {\x0d\n return new REPLServer(\x0d\n prompt\x2C source\x2C eval_\x2C useGlobal\x2C ignoreUndefined\x2C replMode);\x0d\n}\x0d\n\x0d\nREPLServer.prototype.setupHistory = function setupHistory(historyFile\x2C cb) {\x0d\n history(this\x2C historyFile\x2C cb);\x0d\n};\x0d\n\x0d\nREPLServer.prototype.clearBufferedCommand = function clearBufferedCommand() {\x0d\n this[kBufferedCommandSymbol] = '';\x0d\n};\x0d\n\x0d\nREPLServer.prototype.close = function close() {\x0d\n if (this.terminal && this._flushing && !this._closingOnFlush) {\x0d\n this._closingOnFlush = true;\x0d\n this.once('flushHistory'\x2C () =>\x0d\n ReflectApply(Interface.prototype.close\x2C this\x2C [])\x2C\x0d\n );\x0d\n\x0d\n return;\x0d\n }\x0d\n process.nextTick(() =>\x0d\n ReflectApply(Interface.prototype.close\x2C this\x2C [])\x2C\x0d\n );\x0d\n};\x0d\n\x0d\nREPLServer.prototype.createContext = function() {\x0d\n let context;\x0d\n if (this.useGlobal) {\x0d\n context = globalThis;\x0d\n } else {\x0d\n sendInspectorCommand((session) => {\x0d\n session.post('Runtime.enable');\x0d\n session.once('Runtime.executionContextCreated'\x2C ({ params }) => {\x0d\n this[kContextId] = params.context.id;\x0d\n });\x0d\n context = vm.createContext();\x0d\n session.post('Runtime.disable');\x0d\n }\x2C () => {\x0d\n context = vm.createContext();\x0d\n });\x0d\n ArrayPrototypeForEach(ObjectGetOwnPropertyNames(globalThis)\x2C (name) => {\x0d\n // Only set properties that do not already exist as a global builtin.\x0d\n if (!globalBuiltins.has(name)) {\x0d\n ObjectDefineProperty(context\x2C name\x2C\x0d\n {\x0d\n __proto__: null\x2C\x0d\n ...ObjectGetOwnPropertyDescriptor(globalThis\x2C name)\x2C\x0d\n });\x0d\n }\x0d\n });\x0d\n context.global = context;\x0d\n const _console = new Console(this.output);\x0d\n ObjectDefineProperty(context\x2C 'console'\x2C {\x0d\n __proto__: null\x2C\x0d\n configurable: true\x2C\x0d\n writable: true\x2C\x0d\n value: _console\x2C\x0d\n });\x0d\n }\x0d\n\x0d\n const replModule = new CJSModule('<repl>');\x0d\n replModule.paths = CJSModule._resolveLookupPaths('<repl>'\x2C parentModule);\x0d\n\x0d\n ObjectDefineProperty(context\x2C 'module'\x2C {\x0d\n __proto__: null\x2C\x0d\n configurable: true\x2C\x0d\n writable: true\x2C\x0d\n value: replModule\x2C\x0d\n });\x0d\n ObjectDefineProperty(context\x2C 'require'\x2C {\x0d\n __proto__: null\x2C\x0d\n configurable: true\x2C\x0d\n writable: true\x2C\x0d\n value: makeRequireFunction(replModule)\x2C\x0d\n });\x0d\n\x0d\n addBuiltinLibsToObject(context\x2C '<REPL>');\x0d\n\x0d\n return context;\x0d\n};\x0d\n\x0d\nREPLServer.prototype.resetContext = function() {\x0d\n this.context = this.createContext();\x0d\n this.underscoreAssigned = false;\x0d\n this.underscoreErrAssigned = false;\x0d\n // TODO(BridgeAR): Deprecate the lines.\x0d\n this.lines = [];\x0d\n this.lines.level = [];\x0d\n\x0d\n ObjectDefineProperty(this.context\x2C '_'\x2C {\x0d\n __proto__: null\x2C\x0d\n configurable: true\x2C\x0d\n get: () => this.last\x2C\x0d\n set: (value) => {\x0d\n this.last = value;\x0d\n if (!this.underscoreAssigned) {\x0d\n this.underscoreAssigned = true;\x0d\n this.output.write('Expression assignment to _ now disabled.\\n');\x0d\n }\x0d\n }\x2C\x0d\n });\x0d\n\x0d\n ObjectDefineProperty(this.context\x2C '_error'\x2C {\x0d\n __proto__: null\x2C\x0d\n configurable: true\x2C\x0d\n get: () => this.lastError\x2C\x0d\n set: (value) => {\x0d\n this.lastError = value;\x0d\n if (!this.underscoreErrAssigned) {\x0d\n this.underscoreErrAssigned = true;\x0d\n this.output.write(\x0d\n 'Expression assignment to _error now disabled.\\n');\x0d\n }\x0d\n }\x2C\x0d\n });\x0d\n\x0d\n // Allow REPL extensions to extend the new context\x0d\n this.emit('reset'\x2C this.context);\x0d\n};\x0d\n\x0d\nREPLServer.prototype.displayPrompt = function(preserveCursor) {\x0d\n let prompt = this._initialPrompt;\x0d\n if (this[kBufferedCommandSymbol].length) {\x0d\n prompt = '...';\x0d\n const len = this.lines.level.length ? this.lines.level.length - 1 : 0;\x0d\n const levelInd = StringPrototypeRepeat('..'\x2C len);\x0d\n prompt += levelInd + ' ';\x0d\n }\x0d\n\x0d\n // Do not overwrite `_initialPrompt` here\x0d\n ReflectApply(Interface.prototype.setPrompt\x2C this\x2C [prompt]);\x0d\n this.prompt(preserveCursor);\x0d\n};\x0d\n\x0d\n// When invoked as an API method\x2C overwrite _initialPrompt\x0d\nREPLServer.prototype.setPrompt = function setPrompt(prompt) {\x0d\n this._initialPrompt = prompt;\x0d\n ReflectApply(Interface.prototype.setPrompt\x2C this\x2C [prompt]);\x0d\n};\x0d\n\x0d\nconst importRE = /\\bimport\\s*\\(\\s*['"`](([\\w@./:-]+\\/)?(?:[\\w@./:-]*))(?![^'"`])$/;\x0d\nconst requireRE = /\\brequire\\s*\\(\\s*['"`](([\\w@./:-]+\\/)?(?:[\\w@./:-]*))(?![^'"`])$/;\x0d\nconst fsAutoCompleteRE = /fs(?:\\.promises)?\\.\\s*[a-z][a-zA-Z]+\\(\\s*["'](.*)/;\x0d\nconst simpleExpressionRE =\x0d\n /(?:[\\w$'"`[{(](?:\\w|\\$|['"`\\]})])*\\??\\.)*[a-zA-Z_$](?:\\w|\\$)*\\??\\.?$/;\x0d\nconst versionedFileNamesRe = /-\\d+\\.\\d+/;\x0d\n\x0d\nfunction isIdentifier(str) {\x0d\n if (str === '') {\x0d\n return false;\x0d\n }\x0d\n const first = StringPrototypeCodePointAt(str\x2C 0);\x0d\n if (!isIdentifierStart(first)) {\x0d\n return false;\x0d\n }\x0d\n const firstLen = first > 0xffff ? 2 : 1;\x0d\n for (let i = firstLen; i < str.length; i += 1) {\x0d\n const cp = StringPrototypeCodePointAt(str\x2C i);\x0d\n if (!isIdentifierChar(cp)) {\x0d\n return false;\x0d\n }\x0d\n if (cp > 0xffff) {\x0d\n i += 1;\x0d\n }\x0d\n }\x0d\n return true;\x0d\n}\x0d\n\x0d\nfunction isNotLegacyObjectPrototypeMethod(str) {\x0d\n return isIdentifier(str) &&\x0d\n str !== '__defineGetter__' &&\x0d\n str !== '__defineSetter__' &&\x0d\n str !== '__lookupGetter__' &&\x0d\n str !== '__lookupSetter__';\x0d\n}\x0d\n\x0d\nfunction filteredOwnPropertyNames(obj) {\x0d\n if (!obj) return [];\x0d\n // `Object.prototype` is the only non-contrived object that fulfills\x0d\n // `Object.getPrototypeOf(X) === null &&\x0d\n // Object.getPrototypeOf(Object.getPrototypeOf(X.constructor)) === X`.\x0d\n let isObjectPrototype = false;\x0d\n if (ObjectGetPrototypeOf(obj) === null) {\x0d\n const ctorDescriptor = ObjectGetOwnPropertyDescriptor(obj\x2C 'constructor');\x0d\n if (ctorDescriptor && ctorDescriptor.value) {\x0d\n const ctorProto = ObjectGetPrototypeOf(ctorDescriptor.value);\x0d\n isObjectPrototype = ctorProto && ObjectGetPrototypeOf(ctorProto) === obj;\x0d\n }\x0d\n }\x0d\n const filter = ALL_PROPERTIES | SKIP_SYMBOLS;\x0d\n return ArrayPrototypeFilter(\x0d\n getOwnNonIndexProperties(obj\x2C filter)\x2C\x0d\n isObjectPrototype ? isNotLegacyObjectPrototypeMethod : isIdentifier);\x0d\n}\x0d\n\x0d\nfunction getGlobalLexicalScopeNames(contextId) {\x0d\n return sendInspectorCommand((session) => {\x0d\n let names = [];\x0d\n session.post('Runtime.globalLexicalScopeNames'\x2C {\x0d\n executionContextId: contextId\x2C\x0d\n }\x2C (error\x2C result) => {\x0d\n if (!error) names = result.names;\x0d\n });\x0d\n return names;\x0d\n }\x2C () => []);\x0d\n}\x0d\n\x0d\nREPLServer.prototype.complete = function() {\x0d\n ReflectApply(this.completer\x2C this\x2C arguments);\x0d\n};\x0d\n\x0d\nfunction gracefulReaddir(...args) {\x0d\n try {\x0d\n return ReflectApply(fs.readdirSync\x2C null\x2C args);\x0d\n } catch {\x0d\n // Continue regardless of error.\x0d\n }\x0d\n}\x0d\n\x0d\nfunction completeFSFunctions(match) {\x0d\n let baseName = '';\x0d\n let filePath = match[1];\x0d\n let fileList = gracefulReaddir(filePath\x2C { withFileTypes: true });\x0d\n\x0d\n if (!fileList) {\x0d\n baseName = path.basename(filePath);\x0d\n filePath = path.dirname(filePath);\x0d\n fileList = gracefulReaddir(filePath\x2C { withFileTypes: true }) || [];\x0d\n }\x0d\n\x0d\n const completions = ArrayPrototypeMap(\x0d\n ArrayPrototypeFilter(\x0d\n fileList\x2C\x0d\n (dirent) => StringPrototypeStartsWith(dirent.name\x2C baseName)\x2C\x0d\n )\x2C\x0d\n (d) => d.name\x2C\x0d\n );\x0d\n\x0d\n return [[completions]\x2C baseName];\x0d\n}\x0d\n\x0d\n// Provide a list of completions for the given leading text. This is\x0d\n// given to the readline interface for handling tab completion.\x0d\n//\x0d\n// Example:\x0d\n// complete('let foo = util.')\x0d\n// -> [['util.print'\x2C 'util.debug'\x2C 'util.log'\x2C 'util.inspect']\x2C\x0d\n// 'util.' ]\x0d\n//\x0d\n// Warning: This eval's code like "foo.bar.baz"\x2C so it will run property\x0d\n// getter code.\x0d\nfunction complete(line\x2C callback) {\x0d\n // List of completion lists\x2C one for each inheritance "level"\x0d\n let completionGroups = [];\x0d\n let completeOn\x2C group;\x0d\n\x0d\n // Ignore right whitespace. It could change the outcome.\x0d\n line = StringPrototypeTrimStart(line);\x0d\n\x0d\n let filter = '';\x0d\n\x0d\n let match;\x0d\n // REPL commands (e.g. ".break").\x0d\n if ((match = RegExpPrototypeExec(/^\\s*\\.(\\w*)$/\x2C line)) !== null) {\x0d\n ArrayPrototypePush(completionGroups\x2C ObjectKeys(this.commands));\x0d\n completeOn = match[1];\x0d\n if (completeOn.length) {\x0d\n filter = completeOn;\x0d\n }\x0d\n } else if ((match = RegExpPrototypeExec(requireRE\x2C line)) !== null) {\x0d\n // require('...<Tab>')\x0d\n completeOn = match[1];\x0d\n filter = completeOn;\x0d\n if (this.allowBlockingCompletions) {\x0d\n const subdir = match[2] || '';\x0d\n const extensions = ObjectKeys(this.context.require.extensions);\x0d\n const indexes = ArrayPrototypeMap(extensions\x2C\x0d\n (extension) => `index${extension}`);\x0d\n ArrayPrototypePush(indexes\x2C 'package.json'\x2C 'index');\x0d\n\x0d\n group = [];\x0d\n let paths = [];\x0d\n\x0d\n if (completeOn === '.') {\x0d\n group = ['./'\x2C '../'];\x0d\n } else if (completeOn === '..') {\x0d\n group = ['../'];\x0d\n } else if (RegExpPrototypeExec(/^\\.\\.?\\//\x2C completeOn) !== null) {\x0d\n paths = [process.cwd()];\x0d\n } else {\x0d\n paths = [];\x0d\n ArrayPrototypePushApply(paths\x2C module.paths);\x0d\n ArrayPrototypePushApply(paths\x2C CJSModule.globalPaths);\x0d\n }\x0d\n\x0d\n ArrayPrototypeForEach(paths\x2C (dir) => {\x0d\n dir = path.resolve(dir\x2C subdir);\x0d\n const dirents = gracefulReaddir(dir\x2C { withFileTypes: true }) || [];\x0d\n ArrayPrototypeForEach(dirents\x2C (dirent) => {\x0d\n if (RegExpPrototypeExec(versionedFileNamesRe\x2C dirent.name) !== null ||\x0d\n dirent.name === '.npm') {\x0d\n // Exclude versioned names that 'npm' installs.\x0d\n return;\x0d\n }\x0d\n const extension = path.extname(dirent.name);\x0d\n const base = StringPrototypeSlice(dirent.name\x2C 0\x2C -extension.length);\x0d\n if (!dirent.isDirectory()) {\x0d\n if (StringPrototypeIncludes(extensions\x2C extension) &&\x0d\n (!subdir || base !== 'index')) {\x0d\n ArrayPrototypePush(group\x2C `${subdir}${base}`);\x0d\n }\x0d\n return;\x0d\n }\x0d\n ArrayPrototypePush(group\x2C `${subdir}${dirent.name}/`);\x0d\n const absolute = path.resolve(dir\x2C dirent.name);\x0d\n if (ArrayPrototypeSome(\x0d\n gracefulReaddir(absolute) || []\x2C\x0d\n (subfile) => ArrayPrototypeIncludes(indexes\x2C subfile)\x2C\x0d\n )) {\x0d\n ArrayPrototypePush(group\x2C `${subdir}${dirent.name}`);\x0d\n }\x0d\n });\x0d\n });\x0d\n if (group.length) {\x0d\n ArrayPrototypePush(completionGroups\x2C group);\x0d\n }\x0d\n }\x0d\n\x0d\n ArrayPrototypePush(completionGroups\x2C _builtinLibs\x2C nodeSchemeBuiltinLibs);\x0d\n } else if ((match = RegExpPrototypeExec(importRE\x2C line)) !== null) {\x0d\n // import('...<Tab>')\x0d\n completeOn = match[1];\x0d\n filter = completeOn;\x0d\n if (this.allowBlockingCompletions) {\x0d\n const subdir = match[2] || '';\x0d\n // File extensions that can be imported:\x0d\n const extensions = ObjectKeys(extensionFormatMap);\x0d\n\x0d\n // Only used when loading bare module specifiers from `node_modules`:\x0d\n const indexes = ArrayPrototypeMap(extensions\x2C (ext) => `index${ext}`);\x0d\n ArrayPrototypePush(indexes\x2C 'package.json');\x0d\n\x0d\n group = [];\x0d\n let paths = [];\x0d\n if (completeOn === '.') {\x0d\n group = ['./'\x2C '../'];\x0d\n } else if (completeOn === '..') {\x0d\n group = ['../'];\x0d\n } else if (RegExpPrototypeExec(/^\\.\\.?\\//\x2C completeOn) !== null) {\x0d\n paths = [process.cwd()];\x0d\n } else {\x0d\n paths = ArrayPrototypeSlice(module.paths);\x0d\n }\x0d\n\x0d\n ArrayPrototypeForEach(paths\x2C (dir) => {\x0d\n dir = path.resolve(dir\x2C subdir);\x0d\n const isInNodeModules = path.basename(dir) === 'node_modules';\x0d\n const dirents = gracefulReaddir(dir\x2C { withFileTypes: true }) || [];\x0d\n ArrayPrototypeForEach(dirents\x2C (dirent) => {\x0d\n const { name } = dirent;\x0d\n if (RegExpPrototypeExec(versionedFileNamesRe\x2C name) !== null ||\x0d\n name === '.npm') {\x0d\n // Exclude versioned names that 'npm' installs.\x0d\n return;\x0d\n }\x0d\n\x0d\n if (!dirent.isDirectory()) {\x0d\n const extension = path.extname(name);\x0d\n if (StringPrototypeIncludes(extensions\x2C extension)) {\x0d\n ArrayPrototypePush(group\x2C `${subdir}${name}`);\x0d\n }\x0d\n return;\x0d\n }\x0d\n\x0d\n ArrayPrototypePush(group\x2C `${subdir}${name}/`);\x0d\n if (!subdir && isInNodeModules) {\x0d\n const absolute = path.resolve(dir\x2C name);\x0d\n const subfiles = gracefulReaddir(absolute) || [];\x0d\n if (ArrayPrototypeSome(subfiles\x2C (subfile) => {\x0d\n return ArrayPrototypeIncludes(indexes\x2C subfile);\x0d\n })) {\x0d\n ArrayPrototypePush(group\x2C `${subdir}${name}`);\x0d\n }\x0d\n }\x0d\n });\x0d\n });\x0d\n\x0d\n if (group.length) {\x0d\n ArrayPrototypePush(completionGroups\x2C group);\x0d\n }\x0d\n }\x0d\n\x0d\n ArrayPrototypePush(completionGroups\x2C _builtinLibs\x2C nodeSchemeBuiltinLibs);\x0d\n } else if ((match = RegExpPrototypeExec(fsAutoCompleteRE\x2C line)) !== null &&\x0d\n this.allowBlockingCompletions) {\x0d\n ({ 0: completionGroups\x2C 1: completeOn } = completeFSFunctions(match));\x0d\n // Handle variable member lookup.\x0d\n // We support simple chained expressions like the following (no function\x0d\n // calls\x2C etc.). That is for simplicity and also because we *eval* that\x0d\n // leading expression so for safety (see WARNING above) don't want to\x0d\n // eval function calls.\x0d\n //\x0d\n // foo.bar<|> # completions for 'foo' with filter 'bar'\x0d\n // spam.eggs.<|> # completions for 'spam.eggs' with filter ''\x0d\n // foo<|> # all scope vars with filter 'foo'\x0d\n // foo.<|> # completions for 'foo' with filter ''\x0d\n } else if (line.length === 0 ||\x0d\n RegExpPrototypeExec(/\\w|\\.|\\$/\x2C line[line.length - 1]) !== null) {\x0d\n const { 0: match } = RegExpPrototypeExec(simpleExpressionRE\x2C line) || [''];\x0d\n if (line.length !== 0 && !match) {\x0d\n completionGroupsLoaded();\x0d\n return;\x0d\n }\x0d\n let expr = '';\x0d\n completeOn = match;\x0d\n if (StringPrototypeEndsWith(line\x2C '.')) {\x0d\n expr = StringPrototypeSlice(match\x2C 0\x2C -1);\x0d\n } else if (line.length !== 0) {\x0d\n const bits = StringPrototypeSplit(match\x2C '.');\x0d\n filter = ArrayPrototypePop(bits);\x0d\n expr = ArrayPrototypeJoin(bits\x2C '.');\x0d\n }\x0d\n\x0d\n // Resolve expr and get its completions.\x0d\n if (!expr) {\x0d\n // Get global vars synchronously\x0d\n ArrayPrototypePush(completionGroups\x2C\x0d\n getGlobalLexicalScopeNames(this[kContextId]));\x0d\n let contextProto = this.context;\x0d\n while ((contextProto = ObjectGetPrototypeOf(contextProto)) !== null) {\x0d\n ArrayPrototypePush(completionGroups\x2C\x0d\n filteredOwnPropertyNames(contextProto));\x0d\n }\x0d\n const contextOwnNames = filteredOwnPropertyNames(this.context);\x0d\n if (!this.useGlobal) {\x0d\n // When the context is not `global`\x2C builtins are not own\x0d\n // properties of it.\x0d\n // `globalBuiltins` is a `SafeSet`\x2C not an Array-like.\x0d\n ArrayPrototypePush(contextOwnNames\x2C ...globalBuiltins);\x0d\n }\x0d\n ArrayPrototypePush(completionGroups\x2C contextOwnNames);\x0d\n if (filter !== '') addCommonWords(completionGroups);\x0d\n completionGroupsLoaded();\x0d\n return;\x0d\n }\x0d\n\x0d\n let chaining = '.';\x0d\n if (StringPrototypeEndsWith(expr\x2C '?')) {\x0d\n expr = StringPrototypeSlice(expr\x2C 0\x2C -1);\x0d\n chaining = '?.';\x0d\n }\x0d\n\x0d\n const memberGroups = [];\x0d\n const evalExpr = `try { ${expr} } catch {}`;\x0d\n this.eval(evalExpr\x2C this.context\x2C getREPLResourceName()\x2C (e\x2C obj) => {\x0d\n try {\x0d\n let p;\x0d\n if ((typeof obj === 'object' && obj !== null) ||\x0d\n typeof obj === 'function') {\x0d\n memberGroups.push(filteredOwnPropertyNames(obj));\x0d\n p = ObjectGetPrototypeOf(obj);\x0d\n } else {\x0d\n p = obj.constructor ? obj.constructor.prototype : null;\x0d\n }\x0d\n // Circular refs possible? Let's guard against that.\x0d\n let sentinel = 5;\x0d\n while (p !== null && sentinel-- !== 0) {\x0d\n memberGroups.push(filteredOwnPropertyNames(p));\x0d\n p = ObjectGetPrototypeOf(p);\x0d\n }\x0d\n } catch {\x0d\n // Maybe a Proxy object without `getOwnPropertyNames` trap.\x0d\n // We simply ignore it here\x2C as we don't want to break the\x0d\n // autocompletion. Fixes the bug\x0d\n // https://github.com/nodejs/node/issues/2119\x0d\n }\x0d\n\x0d\n if (memberGroups.length) {\x0d\n expr += chaining;\x0d\n ArrayPrototypeForEach(memberGroups\x2C (group) => {\x0d\n ArrayPrototypePush(completionGroups\x2C\x0d\n ArrayPrototypeMap(group\x2C\x0d\n (member) => `${expr}${member}`));\x0d\n });\x0d\n if (filter) {\x0d\n filter = `${expr}${filter}`;\x0d\n }\x0d\n }\x0d\n\x0d\n completionGroupsLoaded();\x0d\n });\x0d\n return;\x0d\n }\x0d\n\x0d\n return completionGroupsLoaded();\x0d\n\x0d\n // Will be called when all completionGroups are in place\x0d\n // Useful for async autocompletion\x0d\n function completionGroupsLoaded() {\x0d\n // Filter\x2C sort (within each group)\x2C uniq and merge the completion groups.\x0d\n if (completionGroups.length && filter) {\x0d\n const newCompletionGroups = [];\x0d\n const lowerCaseFilter = StringPrototypeToLocaleLowerCase(filter);\x0d\n ArrayPrototypeForEach(completionGroups\x2C (group) => {\x0d\n const filteredGroup = ArrayPrototypeFilter(group\x2C (str) => {\x0d\n // Filter is always case-insensitive following chromium autocomplete\x0d\n // behavior.\x0d\n return StringPrototypeStartsWith(\x0d\n StringPrototypeToLocaleLowerCase(str)\x2C\x0d\n lowerCaseFilter\x2C\x0d\n );\x0d\n });\x0d\n if (filteredGroup.length) {\x0d\n ArrayPrototypePush(newCompletionGroups\x2C filteredGroup);\x0d\n }\x0d\n });\x0d\n completionGroups = newCompletionGroups;\x0d\n }\x0d\n\x0d\n const completions = [];\x0d\n // Unique completions across all groups.\x0d\n const uniqueSet = new SafeSet();\x0d\n uniqueSet.add('');\x0d\n // Completion group 0 is the "closest" (least far up the inheritance\x0d\n // chain) so we put its completions last: to be closest in the REPL.\x0d\n ArrayPrototypeForEach(completionGroups\x2C (group) => {\x0d\n ArrayPrototypeSort(group\x2C (a\x2C b) => (b > a ? 1 : -1));\x0d\n const setSize = uniqueSet.size;\x0d\n ArrayPrototypeForEach(group\x2C (entry) => {\x0d\n if (!uniqueSet.has(entry)) {\x0d\n ArrayPrototypeUnshift(completions\x2C entry);\x0d\n uniqueSet.add(entry);\x0d\n }\x0d\n });\x0d\n // Add a separator between groups.\x0d\n if (uniqueSet.size !== setSize) {\x0d\n ArrayPrototypeUnshift(completions\x2C '');\x0d\n }\x0d\n });\x0d\n\x0d\n // Remove obsolete group entry\x2C if present.\x0d\n if (completions[0] === '') {\x0d\n ArrayPrototypeShift(completions);\x0d\n }\x0d\n\x0d\n callback(null\x2C [completions\x2C completeOn]);\x0d\n }\x0d\n}\x0d\n\x0d\nREPLServer.prototype.completeOnEditorMode = (callback) => (err\x2C results) => {\x0d\n if (err) return callback(err);\x0d\n\x0d\n const { 0: completions\x2C 1: completeOn = '' } = results;\x0d\n let result = ArrayPrototypeFilter(completions\x2C Boolean);\x0d\n\x0d\n if (completeOn && result.length !== 0) {\x0d\n result = [commonPrefix(result)];\x0d\n }\x0d\n\x0d\n callback(null\x2C [result\x2C completeOn]);\x0d\n};\x0d\n\x0d\nREPLServer.prototype.defineCommand = function(keyword\x2C cmd) {\x0d\n if (typeof cmd === 'function') {\x0d\n cmd = { action: cmd };\x0d\n } else {\x0d\n validateFunction(cmd.action\x2C 'cmd.action');\x0d\n }\x0d\n this.commands[keyword] = cmd;\x0d\n};\x0d\n\x0d\n// TODO(BridgeAR): This should be replaced with acorn to build an AST. The\x0d\n// language became more complex and using a simple approach like this is not\x0d\n// sufficient anymore.\x0d\nfunction _memory(cmd) {\x0d\n const self = this;\x0d\n self.lines = self.lines || [];\x0d\n self.lines.level = self.lines.level || [];\x0d\n\x0d\n // Save the line so I can do magic later\x0d\n if (cmd) {\x0d\n const len = self.lines.level.length ? self.lines.level.length - 1 : 0;\x0d\n ArrayPrototypePush(self.lines\x2C StringPrototypeRepeat(' '\x2C len) + cmd);\x0d\n } else {\x0d\n // I don't want to not change the format too much...\x0d\n ArrayPrototypePush(self.lines\x2C '');\x0d\n }\x0d\n\x0d\n if (!cmd) {\x0d\n self.lines.level = [];\x0d\n return;\x0d\n }\x0d\n\x0d\n // I need to know "depth."\x0d\n // Because I can not tell the difference between a } that\x0d\n // closes an object literal and a } that closes a function\x0d\n const countMatches = (regex\x2C str) => {\x0d\n let count = 0;\x0d\n while (RegExpPrototypeExec(regex\x2C str) !== null) count++;\x0d\n return count;\x0d\n };\x0d\n\x0d\n // Going down is { and ( e.g. function() {\x0d\n // going up is } and )\x0d\n const dw = countMatches(/[{(]/g\x2C cmd);\x0d\n const up = countMatches(/[})]/g\x2C cmd);\x0d\n let depth = dw.length - up.length;\x0d\n\x0d\n if (depth) {\x0d\n (function workIt() {\x0d\n if (depth > 0) {\x0d\n // Going... down.\x0d\n // Push the line#\x2C depth count\x2C and if the line is a function.\x0d\n // Since JS only has functional scope I only need to remove\x0d\n // "function() {" lines\x2C clearly this will not work for\x0d\n // "function()\x0d\n // {" but nothing should break\x2C only tab completion for local\x0d\n // scope will not work for this function.\x0d\n ArrayPrototypePush(self.lines.level\x2C {\x0d\n line: self.lines.length - 1\x2C\x0d\n depth: depth\x2C\x0d\n });\x0d\n } else if (depth < 0) {\x0d\n // Going... up.\x0d\n const curr = ArrayPrototypePop(self.lines.level);\x0d\n if (curr) {\x0d\n const tmp = curr.depth + depth;\x0d\n if (tmp < 0) {\x0d\n // More to go\x2C recurse\x0d\n depth += curr.depth;\x0d\n workIt();\x0d\n } else if (tmp > 0) {\x0d\n // Remove and push back\x0d\n curr.depth += depth;\x0d\n ArrayPrototypePush(self.lines.level\x2C curr);\x0d\n }\x0d\n }\x0d\n }\x0d\n }());\x0d\n }\x0d\n}\x0d\n\x0d\nfunction addCommonWords(completionGroups) {\x0d\n // Only words which do not yet exist as global property should be added to\x0d\n // this list.\x0d\n ArrayPrototypePush(completionGroups\x2C [\x0d\n 'async'\x2C 'await'\x2C 'break'\x2C 'case'\x2C 'catch'\x2C 'const'\x2C 'continue'\x2C\x0d\n 'debugger'\x2C 'default'\x2C 'delete'\x2C 'do'\x2C 'else'\x2C 'export'\x2C 'false'\x2C\x0d\n 'finally'\x2C 'for'\x2C 'function'\x2C 'if'\x2C 'import'\x2C 'in'\x2C 'instanceof'\x2C 'let'\x2C\x0d\n 'new'\x2C 'null'\x2C 'return'\x2C 'switch'\x2C 'this'\x2C 'throw'\x2C 'true'\x2C 'try'\x2C\x0d\n 'typeof'\x2C 'var'\x2C 'void'\x2C 'while'\x2C 'with'\x2C 'yield'\x2C\x0d\n ]);\x0d\n}\x0d\n\x0d\nfunction _turnOnEditorMode(repl) {\x0d\n repl.editorMode = true;\x0d\n ReflectApply(Interface.prototype.setPrompt\x2C repl\x2C ['']);\x0d\n}\x0d\n\x0d\nfunction _turnOffEditorMode(repl) {\x0d\n repl.editorMode = false;\x0d\n repl.setPrompt(repl._initialPrompt);\x0d\n}\x0d\n\x0d\nfunction defineDefaultCommands(repl) {\x0d\n repl.defineCommand('break'\x2C {\x0d\n help: 'Sometimes you get stuck\x2C this gets you out'\x2C\x0d\n action: function() {\x0d\n this.clearBufferedCommand();\x0d\n this.displayPrompt();\x0d\n }\x2C\x0d\n });\x0d\n\x0d\n let clearMessage;\x0d\n if (repl.useGlobal) {\x0d\n clearMessage = 'Alias for .break';\x0d\n } else {\x0d\n clearMessage = 'Break\x2C and also clear the local context';\x0d\n }\x0d\n repl.defineCommand('clear'\x2C {\x0d\n help: clearMessage\x2C\x0d\n action: function() {\x0d\n this.clearBufferedCommand();\x0d\n if (!this.useGlobal) {\x0d\n this.output.write('Clearing context...\\n');\x0d\n this.resetContext();\x0d\n }\x0d\n this.displayPrompt();\x0d\n }\x2C\x0d\n });\x0d\n\x0d\n repl.defineCommand('exit'\x2C {\x0d\n help: 'Exit the REPL'\x2C\x0d\n action: function() {\x0d\n this.close();\x0d\n }\x2C\x0d\n });\x0d\n\x0d\n repl.defineCommand('help'\x2C {\x0d\n help: 'Print this help message'\x2C\x0d\n action: function() {\x0d\n const names = ArrayPrototypeSort(ObjectKeys(this.commands));\x0d\n const longestNameLength = MathMaxApply(\x0d\n ArrayPrototypeMap(names\x2C (name) => name.length)\x2C\x0d\n );\x0d\n ArrayPrototypeForEach(names\x2C (name) => {\x0d\n const cmd = this.commands[name];\x0d\n const spaces =\x0d\n StringPrototypeRepeat(' '\x2C longestNameLength - name.length + 3);\x0d\n const line = `.${name}${cmd.help ? spaces + cmd.help : ''}\\n`;\x0d\n this.output.write(line);\x0d\n });\x0d\n this.output.write('\\nPress Ctrl+C to abort current expression\x2C ' +\x0d\n 'Ctrl+D to exit the REPL\\n');\x0d\n this.displayPrompt();\x0d\n }\x2C\x0d\n });\x0d\n\x0d\n repl.defineCommand('save'\x2C {\x0d\n help: 'Save all evaluated commands in this REPL session to a file'\x2C\x0d\n action: function(file) {\x0d\n try {\x0d\n if (file === '') {\x0d\n throw new ERR_MISSING_ARGS('file');\x0d\n }\x0d\n fs.writeFileSync(file\x2C ArrayPrototypeJoin(this.lines\x2C '\\n'));\x0d\n this.output.write(`Session saved to: ${file}\\n`);\x0d\n } catch (error) {\x0d\n if (error instanceof ERR_MISSING_ARGS) {\x0d\n this.output.write(`${error.message}\\n`);\x0d\n } else {\x0d\n this.output.write(`Failed to save: ${file}\\n`);\x0d\n }\x0d\n }\x0d\n this.displayPrompt();\x0d\n }\x2C\x0d\n });\x0d\n\x0d\n repl.defineCommand('load'\x2C {\x0d\n help: 'Load JS from a file into the REPL session'\x2C\x0d\n action: function(file) {\x0d\n try {\x0d\n if (file === '') {\x0d\n throw new ERR_MISSING_ARGS('file');\x0d\n }\x0d\n const stats = fs.statSync(file);\x0d\n if (stats && stats.isFile()) {\x0d\n _turnOnEditorMode(this);\x0d\n this[kLoadingSymbol] = true;\x0d\n const data = fs.readFileSync(file\x2C 'utf8');\x0d\n this.write(data);\x0d\n this[kLoadingSymbol] = false;\x0d\n _turnOffEditorMode(this);\x0d\n this.write('\\n');\x0d\n } else {\x0d\n this.output.write(\x0d\n `Failed to load: ${file} is not a valid file\\n`\x2C\x0d\n );\x0d\n }\x0d\n } catch (error) {\x0d\n if (error instanceof ERR_MISSING_ARGS) {\x0d\n this.output.write(`${error.message}\\n`);\x0d\n } else {\x0d\n this.output.write(`Failed to load: ${file}\\n`);\x0d\n }\x0d\n }\x0d\n this.displayPrompt();\x0d\n }\x2C\x0d\n });\x0d\n if (repl.terminal) {\x0d\n repl.defineCommand('editor'\x2C {\x0d\n help: 'Enter editor mode'\x2C\x0d\n action() {\x0d\n _turnOnEditorMode(this);\x0d\n this.output.write(\x0d\n '// Entering editor mode (Ctrl+D to finish\x2C Ctrl+C to cancel)\\n');\x0d\n }\x2C\x0d\n });\x0d\n }\x0d\n}\x0d\n\x0d\nfunction Recoverable(err) {\x0d\n this.err = err;\x0d\n}\x0d\nObjectSetPrototypeOf(Recoverable.prototype\x2C SyntaxErrorPrototype);\x0d\nObjectSetPrototypeOf(Recoverable\x2C SyntaxError);\x0d\n\x0d\nmodule.exports = {\x0d\n start\x2C\x0d\n writer\x2C\x0d\n REPLServer\x2C\x0d\n REPL_MODE_SLOPPY\x2C\x0d\n REPL_MODE_STRICT\x2C\x0d\n Recoverable\x2C\x0d\n};\x0d\n\x0d\nObjectDefineProperty(module.exports\x2C 'builtinModules'\x2C {\x0d\n __proto__: null\x2C\x0d\n get: () => _builtinLibs\x2C\x0d\n set: (val) => _builtinLibs = val\x2C\x0d\n enumerable: true\x2C\x0d\n configurable: true\x2C\x0d\n});\x0d\n\x0d\nObjectDefineProperty(module.exports\x2C '_builtinLibs'\x2C {\x0d\n __proto__: null\x2C\x0d\n get: pendingDeprecation ? deprecate(\x0d\n () => _builtinLibs\x2C\x0d\n 'repl._builtinLibs is deprecated. Check module.builtinModules instead'\x2C\x0d\n 'DEP0142'\x2C\x0d\n ) : () => _builtinLibs\x2C\x0d\n set: pendingDeprecation ? deprecate(\x0d\n (val) => _builtinLibs = val\x2C\x0d\n 'repl._builtinLibs is deprecated. Check module.builtinModules instead'\x2C\x0d\n 'DEP0142'\x2C\x0d\n ) : (val) => _builtinLibs = val\x2C\x0d\n enumerable: false\x2C\x0d\n configurable: true\x2C\x0d\n});\x0d\n
code-source-info,0x158ab313716,115,0,63174,C0O0C4O63174,,
code-creation,JS,10,407832,0x158ab314f8e,2435, node:repl:1:1,0x158ab313690,~
code-source-info,0x158ab314f8e,115,0,63174,C0O0C454O1887C460O1908C466O1933C472O1965C478O1991C484O2018C490O2041C496O2063C502O2085C508O2108C514O2136C520O2160C526O2184C532O2207C538O2230C544O2256C550O2275C556O2296C562O2322C568O2340C574O2357C580O2373C586O2394C592O2411C598O2436C604O2471C610O2501C616O2526C622O2541C627O2566C633O2578C639O2595C645O2606C651O2630C657O2650C663O2662C668O2678C674O2704C680O2735C686O2763C692O2791C698O2817C704O2842C710O2867C716O2897C722O2921C728O2950C734O2987C740O2998C745O3014C750O3039C756O3098C762O3098C767O3080C772O3200C778O3200C783O3147C789O3171C795O3316C801O3316C806O3249C812O3271C818O3299C824O3384C830O3384C834O3384C836O3592C842O3592C847O3449C853O3472C859O3484C865O3498C871O3545C877O3639C883O3639C888O3627C894O3685C900O3685C904O3685C906O3746C909O3749C914O3756C919O3711C925O3729C931O3783C937O3783C941O3783C943O3812C949O3812C953O3812C955O3850C961O3850C966O3836C972O3902C978O3902C983O3883C989O3959C995O3959C1000O3947C1006O4007C1012O4007C1017O3988C1023O4059C1029O4059C1034O4097C1038O4059C1040O4126C1046O4161C1056O4126C1061O4126C1063O4258C1069O4280C1074O4258C1079O4258C1081O4320C1084O4360C1089O4360C1099O4320C1104O4478C1110O4478C1114O4478C1116O4510C1122O4510C1127O4543C1140O4544C1146O4510C1148O4864C1154O4864C1159O4610C1164O4617C1170O4647C1176O4682C1182O4711C1188O4734C1194O4777C1200O4812C1206O4835C1212O4926C1218O4926C1223O4901C1229O4990C1235O4990C1240O4971C1245O5073C1251O5073C1256O5031C1262O5052C1268O5136C1271O5136C1275O5136C1277O5216C1280O5216C1284O5216C1286O5396C1292O5396C1297O5269C1302O5290C1307O5311C1313O5334C1319O5354C1325O5371C1331O5533C1334O5533C1339O5451C1344O5458C1350O5479C1356O5502C1362O5619C1365O5619C1370O5570C1380O5594C1390O5669C1396O5669C1404O5669C1406O5740C1412O5740C1421O5715C1431O5820C1437O5820C1446O5793C1456O5874C1458O5874C1460O6102C1461O6102C1463O6153C1469O6168C1481O6168C1494O6153C1504O6153C1506O6252C1508O6252C1510O6279C1512O6279C1522O6279C1524O6332C1530O6332C1538O6332C1540O6379C1546O6379C1554O6379C1556O6424C1562O6424C1570O6424C1572O6469C1573O6469C1578O6551C1584O6574C1596O6574C1606O6567C1618O6843C1621O6848C1633O6864C1642O6848C1653O6878C1659O6901C1672O6901C1684O6894C1692O7002C1698O7027C1710O7051C1719O7027C1729O7015C1737O7249C1741O7249C1743O7289C1749O7319C1767O7346C1777O7304C1785O7446C1789O7446C1791O35831C1794O35863C1806O35884C1815O35831C1825O35897C1831O35897C1841O36250C1844O36261C1857O36284C1865O36369C1868O36380C1881O36411C1889O36492C1892O36503C1905O36519C1913O36859C1916O36870C1929O36894C1937O38550C1940O38561C1953O38584C1961O39637C1964O39648C1977O39672C1985O40183C1988O40194C2001O40214C2009O40366C2017O40366C2019O40452C2027O40452C2029O40546C2037O40546C2039O40632C2047O40632C2049O40734C2057O40734C2059O42608C2062O42619C2075O42638C2083O55062C2086O55073C2099O55104C2107O55434C2110O55445C2123O55469C2131O62227C2134O62260C2143O62227C2153O62295C2156O62295C2166O62346C2179O62368C2189O62378C2199O62389C2209O62404C2219O62425C2229O62446C2239O62361C2247O62466C2253O62494C2273O62551C2285O62579C2297O62466C2307O62660C2313O62688C2335O62743C2340O62764C2354O62764C2380O62928C2385O62949C2399O62949C2423O62660C2434O63173,,
tick,0x7ff7b8fc2191,410083,1,0x7ff7b8fa3800,2,0x7ff7b99b2970,0x7ff739bc3f26,0x7ff739bc3ca1,0x158ab3152af,0x7ff739bc3feb,0x7ff739bc3ca1,0x158ab30fa20,0x7ff739bc3feb,0x7ff739bc3ca1,0x23c51978956,0x23c519693ae,0x23c51968a11,0x23c51942948
new,MemoryChunk,0x22cbe440000,262144
code-creation,Eval,10,417528,0x158ab323c06,5, node:internal/deps/acorn/acorn/dist/acorn:1:1,0x158ab322638,~
script-source,116,node:internal/deps/acorn/acorn/dist/acorn,(function (global\x2C factory) {\x0d\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\x0d\n typeof define === 'function' && define.amd ? define(['exports']\x2C factory) :\x0d\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self\x2C factory(global.acorn = {}));\x0d\n})(this\x2C (function (exports) { 'use strict';\x0d\n\x0d\n // This file was generated. Do not modify manually!\x0d\n var astralIdentifierCodes = [509\x2C 0\x2C 227\x2C 0\x2C 150\x2C 4\x2C 294\x2C 9\x2C 1368\x2C 2\x2C 2\x2C 1\x2C 6\x2C 3\x2C 41\x2C 2\x2C 5\x2C 0\x2C 166\x2C 1\x2C 574\x2C 3\x2C 9\x2C 9\x2C 370\x2C 1\x2C 81\x2C 2\x2C 71\x2C 10\x2C 50\x2C 3\x2C 123\x2C 2\x2C 54\x2C 14\x2C 32\x2C 10\x2C 3\x2C 1\x2C 11\x2C 3\x2C 46\x2C 10\x2C 8\x2C 0\x2C 46\x2C 9\x2C 7\x2C 2\x2C 37\x2C 13\x2C 2\x2C 9\x2C 6\x2C 1\x2C 45\x2C 0\x2C 13\x2C 2\x2C 49\x2C 13\x2C 9\x2C 3\x2C 2\x2C 11\x2C 83\x2C 11\x2C 7\x2C 0\x2C 3\x2C 0\x2C 158\x2C 11\x2C 6\x2C 9\x2C 7\x2C 3\x2C 56\x2C 1\x2C 2\x2C 6\x2C 3\x2C 1\x2C 3\x2C 2\x2C 10\x2C 0\x2C 11\x2C 1\x2C 3\x2C 6\x2C 4\x2C 4\x2C 193\x2C 17\x2C 10\x2C 9\x2C 5\x2C 0\x2C 82\x2C 19\x2C 13\x2C 9\x2C 214\x2C 6\x2C 3\x2C 8\x2C 28\x2C 1\x2C 83\x2C 16\x2C 16\x2C 9\x2C 82\x2C 12\x2C 9\x2C 9\x2C 84\x2C 14\x2C 5\x2C 9\x2C 243\x2C 14\x2C 166\x2C 9\x2C 71\x2C 5\x2C 2\x2C 1\x2C 3\x2C 3\x2C 2\x2C 0\x2C 2\x2C 1\x2C 13\x2C 9\x2C 120\x2C 6\x2C 3\x2C 6\x2C 4\x2C 0\x2C 29\x2C 9\x2C 41\x2C 6\x2C 2\x2C 3\x2C 9\x2C 0\x2C 10\x2C 10\x2C 47\x2C 15\x2C 406\x2C 7\x2C 2\x2C 7\x2C 17\x2C 9\x2C 57\x2C 21\x2C 2\x2C 13\x2C 123\x2C 5\x2C 4\x2C 0\x2C 2\x2C 1\x2C 2\x2C 6\x2C 2\x2C 0\x2C 9\x2C 9\x2C 49\x2C 4\x2C 2\x2C 1\x2C 2\x2C 4\x2C 9\x2C 9\x2C 330\x2C 3\x2C 10\x2C 1\x2C 2\x2C 0\x2C 49\x2C 6\x2C 4\x2C 4\x2C 14\x2C 9\x2C 5351\x2C 0\x2C 7\x2C 14\x2C 13835\x2C 9\x2C 87\x2C 9\x2C 39\x2C 4\x2C 60\x2C 6\x2C 26\x2C 9\x2C 1014\x2C 0\x2C 2\x2C 54\x2C 8\x2C 3\x2C 82\x2C 0\x2C 12\x2C 1\x2C 19628\x2C 1\x2C 4706\x2C 45\x2C 3\x2C 22\x2C 543\x2C 4\x2C 4\x2C 5\x2C 9\x2C 7\x2C 3\x2C 6\x2C 31\x2C 3\x2C 149\x2C 2\x2C 1418\x2C 49\x2C 513\x2C 54\x2C 5\x2C 49\x2C 9\x2C 0\x2C 15\x2C 0\x2C 23\x2C 4\x2C 2\x2C 14\x2C 1361\x2C 6\x2C 2\x2C 16\x2C 3\x2C 6\x2C 2\x2C 1\x2C 2\x2C 4\x2C 101\x2C 0\x2C 161\x2C 6\x2C 10\x2C 9\x2C 357\x2C 0\x2C 62\x2C 13\x2C 499\x2C 13\x2C 983\x2C 6\x2C 110\x2C 6\x2C 6\x2C 9\x2C 4759\x2C 9\x2C 787719\x2C 239];\x0d\n\x0d\n // This file was generated. Do not modify manually!\x0d\n var astralIdentifierStartCodes = [0\x2C 11\x2C 2\x2C 25\x2C 2\x2C 18\x2C 2\x2C 1\x2C 2\x2C 14\x2C 3\x2C 13\x2C 35\x2C 122\x2C 70\x2C 52\x2C 268\x2C 28\x2C 4\x2C 48\x2C 48\x2C 31\x2C 14\x2C 29\x2C 6\x2C 37\x2C 11\x2C 29\x2C 3\x2C 35\x2C 5\x2C 7\x2C 2\x2C 4\x2C 43\x2C 157\x2C 19\x2C 35\x2C 5\x2C 35\x2C 5\x2C 39\x2C 9\x2C 51\x2C 13\x2C 10\x2C 2\x2C 14\x2C 2\x2C 6\x2C 2\x2C 1\x2C 2\x2C 10\x2C 2\x2C 14\x2C 2\x2C 6\x2C 2\x2C 1\x2C 68\x2C 310\x2C 10\x2C 21\x2C 11\x2C 7\x2C 25\x2C 5\x2C 2\x2C 41\x2C 2\x2C 8\x2C 70\x2C 5\x2C 3\x2C 0\x2C 2\x2C 43\x2C 2\x2C 1\x2C 4\x2C 0\x2C 3\x2C 22\x2C 11\x2C 22\x2C 10\x2C 30\x2C 66\x2C 18\x2C 2\x2C 1\x2C 11\x2C 21\x2C 11\x2C 25\x2C 71\x2C 55\x2C 7\x2C 1\x2C 65\x2C 0\x2C 16\x2C 3\x2C 2\x2C 2\x2C 2\x2C 28\x2C 43\x2C 28\x2C 4\x2C 28\x2C 36\x2C 7\x2C 2\x2C 27\x2C 28\x2C 53\x2C 11\x2C 21\x2C 11\x2C 18\x2C 14\x2C 17\x2C 111\x2C 72\x2C 56\x2C 50\x2C 14\x2C 50\x2C 14\x2C 35\x2C 349\x2C 41\x2C 7\x2C 1\x2C 79\x2C 28\x2C 11\x2C 0\x2C 9\x2C 21\x2C 43\x2C 17\x2C 47\x2C 20\x2C 28\x2C 22\x2C 13\x2C 52\x2C 58\x2C 1\x2C 3\x2C 0\x2C 14\x2C 44\x2C 33\x2C 24\x2C 27\x2C 35\x2C 30\x2C 0\x2C 3\x2C 0\x2C 9\x2C 34\x2C 4\x2C 0\x2C 13\x2C 47\x2C 15\x2C 3\x2C 22\x2C 0\x2C 2\x2C 0\x2C 36\x2C 17\x2C 2\x2C 24\x2C 20\x2C 1\x2C 64\x2C 6\x2C 2\x2C 0\x2C 2\x2C 3\x2C 2\x2C 14\x2C 2\x2C 9\x2C 8\x2C 46\x2C 39\x2C 7\x2C 3\x2C 1\x2C 3\x2C 21\x2C 2\x2C 6\x2C 2\x2C 1\x2C 2\x2C 4\x2C 4\x2C 0\x2C 19\x2C 0\x2C 13\x2C 4\x2C 159\x2C 52\x2C 19\x2C 3\x2C 21\x2C 2\x2C 31\x2C 47\x2C 21\x2C 1\x2C 2\x2C 0\x2C 185\x2C 46\x2C 42\x2C 3\x2C 37\x2C 47\x2C 21\x2C 0\x2C 60\x2C 42\x2C 14\x2C 0\x2C 72\x2C 26\x2C 38\x2C 6\x2C 186\x2C 43\x2C 117\x2C 63\x2C 32\x2C 7\x2C 3\x2C 0\x2C 3\x2C 7\x2C 2\x2C 1\x2C 2\x2C 23\x2C 16\x2C 0\x2C 2\x2C 0\x2C 95\x2C 7\x2C 3\x2C 38\x2C 17\x2C 0\x2C 2\x2C 0\x2C 29\x2C 0\x2C 11\x2C 39\x2C 8\x2C 0\x2C 22\x2C 0\x2C 12\x2C 45\x2C 20\x2C 0\x2C 19\x2C 72\x2C 264\x2C 8\x2C 2\x2C 36\x2C 18\x2C 0\x2C 50\x2C 29\x2C 113\x2C 6\x2C 2\x2C 1\x2C 2\x2C 37\x2C 22\x2C 0\x2C 26\x2C 5\x2C 2\x2C 1\x2C 2\x2C 31\x2C 15\x2C 0\x2C 328\x2C 18\x2C 16\x2C 0\x2C 2\x2C 12\x2C 2\x2C 33\x2C 125\x2C 0\x2C 80\x2C 921\x2C 103\x2C 110\x2C 18\x2C 195\x2C 2637\x2C 96\x2C 16\x2C 1071\x2C 18\x2C 5\x2C 4026\x2C 582\x2C 8634\x2C 568\x2C 8\x2C 30\x2C 18\x2C 78\x2C 18\x2C 29\x2C 19\x2C 47\x2C 17\x2C 3\x2C 32\x2C 20\x2C 6\x2C 18\x2C 689\x2C 63\x2C 129\x2C 74\x2C 6\x2C 0\x2C 67\x2C 12\x2C 65\x2C 1\x2C 2\x2C 0\x2C 29\x2C 6135\x2C 9\x2C 1237\x2C 43\x2C 8\x2C 8936\x2C 3\x2C 2\x2C 6\x2C 2\x2C 1\x2C 2\x2C 290\x2C 16\x2C 0\x2C 30\x2C 2\x2C 3\x2C 0\x2C 15\x2C 3\x2C 9\x2C 395\x2C 2309\x2C 106\x2C 6\x2C 12\x2C 4\x2C 8\x2C 8\x2C 9\x2C 5991\x2C 84\x2C 2\x2C 70\x2C 2\x2C 1\x2C 3\x2C 0\x2C 3\x2C 1\x2C 3\x2C 3\x2C 2\x2C 11\x2C 2\x2C 0\x2C 2\x2C 6\x2C 2\x2C 64\x2C 2\x2C 3\x2C 3\x2C 7\x2C 2\x2C 6\x2C 2\x2C 27\x2C 2\x2C 3\x2C 2\x2C 4\x2C 2\x2C 0\x2C 4\x2C 6\x2C 2\x2C 339\x2C 3\x2C 24\x2C 2\x2C 24\x2C 2\x2C 30\x2C 2\x2C 24\x2C 2\x2C 30\x2C 2\x2C 24\x2C 2\x2C 30\x2C 2\x2C 24\x2C 2\x2C 30\x2C 2\x2C 24\x2C 2\x2C 7\x2C 1845\x2C 30\x2C 7\x2C 5\x2C 262\x2C 61\x2C 147\x2C 44\x2C 11\x2C 6\x2C 17\x2C 0\x2C 322\x2C 29\x2C 19\x2C 43\x2C 485\x2C 27\x2C 757\x2C 6\x2C 2\x2C 3\x2C 2\x2C 1\x2C 2\x2C 14\x2C 2\x2C 196\x2C 60\x2C 67\x2C 8\x2C 0\x2C 1205\x2C 3\x2C 2\x2C 26\x2C 2\x2C 1\x2C 2\x2C 0\x2C 3\x2C 0\x2C 2\x2C 9\x2C 2\x2C 3\x2C 2\x2C 0\x2C 2\x2C 0\x2C 7\x2C 0\x2C 5\x2C 0\x2C 2\x2C 0\x2C 2\x2C 0\x2C 2\x2C 2\x2C 2\x2C 1\x2C 2\x2C 0\x2C 3\x2C 0\x2C 2\x2C 0\x2C 2\x2C 0\x2C 2\x2C 0\x2C 2\x2C 0\x2C 2\x2C 1\x2C 2\x2C 0\x2C 3\x2C 3\x2C 2\x2C 6\x2C 2\x2C 3\x2C 2\x2C 3\x2C 2\x2C 0\x2C 2\x2C 9\x2C 2\x2C 16\x2C 6\x2C 2\x2C 2\x2C 4\x2C 2\x2C 16\x2C 4421\x2C 42719\x2C 33\x2C 4153\x2C 7\x2C 221\x2C 3\x2C 5761\x2C 15\x2C 7472\x2C 16\x2C 621\x2C 2467\x2C 541\x2C 1507\x2C 4938\x2C 6\x2C 4191];\x0d\n\x0d\n // This file was generated. Do not modify manually!\x0d\n var nonASCIIidentifierChars = "\\u200c\\u200d\\xb7\\u0300-\\u036f\\u0387\\u0483-\\u0487\\u0591-\\u05bd\\u05bf\\u05c1\\u05c2\\u05c4\\u05c5\\u05c7\\u0610-\\u061a\\u064b-\\u0669\\u0670\\u06d6-\\u06dc\\u06df-\\u06e4\\u06e7\\u06e8\\u06ea-\\u06ed\\u06f0-\\u06f9\\u0711\\u0730-\\u074a\\u07a6-\\u07b0\\u07c0-\\u07c9\\u07eb-\\u07f3\\u07fd\\u0816-\\u0819\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0859-\\u085b\\u0898-\\u089f\\u08ca-\\u08e1\\u08e3-\\u0903\\u093a-\\u093c\\u093e-\\u094f\\u0951-\\u0957\\u0962\\u0963\\u0966-\\u096f\\u0981-\\u0983\\u09bc\\u09be-\\u09c4\\u09c7\\u09c8\\u09cb-\\u09cd\\u09d7\\u09e2\\u09e3\\u09e6-\\u09ef\\u09fe\\u0a01-\\u0a03\\u0a3c\\u0a3e-\\u0a42\\u0a47\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a66-\\u0a71\\u0a75\\u0a81-\\u0a83\\u0abc\\u0abe-\\u0ac5\\u0ac7-\\u0ac9\\u0acb-\\u0acd\\u0ae2\\u0ae3\\u0ae6-\\u0aef\\u0afa-\\u0aff\\u0b01-\\u0b03\\u0b3c\\u0b3e-\\u0b44\\u0b47\\u0b48\\u0b4b-\\u0b4d\\u0b55-\\u0b57\\u0b62\\u0b63\\u0b66-\\u0b6f\\u0b82\\u0bbe-\\u0bc2\\u0bc6-\\u0bc8\\u0bca-\\u0bcd\\u0bd7\\u0be6-\\u0bef\\u0c00-\\u0c04\\u0c3c\\u0c3e-\\u0c44\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55\\u0c56\\u0c62\\u0c63\\u0c66-\\u0c6f\\u0c81-\\u0c83\\u0cbc\\u0cbe-\\u0cc4\\u0cc6-\\u0cc8\\u0cca-\\u0ccd\\u0cd5\\u0cd6\\u0ce2\\u0ce3\\u0ce6-\\u0cef\\u0cf3\\u0d00-\\u0d03\\u0d3b\\u0d3c\\u0d3e-\\u0d44\\u0d46-\\u0d48\\u0d4a-\\u0d4d\\u0d57\\u0d62\\u0d63\\u0d66-\\u0d6f\\u0d81-\\u0d83\\u0dca\\u0dcf-\\u0dd4\\u0dd6\\u0dd8-\\u0ddf\\u0de6-\\u0def\\u0df2\\u0df3\\u0e31\\u0e34-\\u0e3a\\u0e47-\\u0e4e\\u0e50-\\u0e59\\u0eb1\\u0eb4-\\u0ebc\\u0ec8-\\u0ece\\u0ed0-\\u0ed9\\u0f18\\u0f19\\u0f20-\\u0f29\\u0f35\\u0f37\\u0f39\\u0f3e\\u0f3f\\u0f71-\\u0f84\\u0f86\\u0f87\\u0f8d-\\u0f97\\u0f99-\\u0fbc\\u0fc6\\u102b-\\u103e\\u1040-\\u1049\\u1056-\\u1059\\u105e-\\u1060\\u1062-\\u1064\\u1067-\\u106d\\u1071-\\u1074\\u1082-\\u108d\\u108f-\\u109d\\u135d-\\u135f\\u1369-\\u1371\\u1712-\\u1715\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17b4-\\u17d3\\u17dd\\u17e0-\\u17e9\\u180b-\\u180d\\u180f-\\u1819\\u18a9\\u1920-\\u192b\\u1930-\\u193b\\u1946-\\u194f\\u19d0-\\u19da\\u1a17-\\u1a1b\\u1a55-\\u1a5e\\u1a60-\\u1a7c\\u1a7f-\\u1a89\\u1a90-\\u1a99\\u1ab0-\\u1abd\\u1abf-\\u1ace\\u1b00-\\u1b04\\u1b34-\\u1b44\\u1b50-\\u1b59\\u1b6b-\\u1b73\\u1b80-\\u1b82\\u1ba1-\\u1bad\\u1bb0-\\u1bb9\\u1be6-\\u1bf3\\u1c24-\\u1c37\\u1c40-\\u1c49\\u1c50-\\u1c59\\u1cd0-\\u1cd2\\u1cd4-\\u1ce8\\u1ced\\u1cf4\\u1cf7-\\u1cf9\\u1dc0-\\u1dff\\u200c\\u200d\\u203f\\u2040\\u2054\\u20d0-\\u20dc\\u20e1\\u20e5-\\u20f0\\u2cef-\\u2cf1\\u2d7f\\u2de0-\\u2dff\\u302a-\\u302f\\u3099\\u309a\\u30fb\\ua620-\\ua629\\ua66f\\ua674-\\ua67d\\ua69e\\ua69f\\ua6f0\\ua6f1\\ua802\\ua806\\ua80b\\ua823-\\ua827\\ua82c\\ua880\\ua881\\ua8b4-\\ua8c5\\ua8d0-\\ua8d9\\ua8e0-\\ua8f1\\ua8ff-\\ua909\\ua926-\\ua92d\\ua947-\\ua953\\ua980-\\ua983\\ua9b3-\\ua9c0\\ua9d0-\\ua9d9\\ua9e5\\ua9f0-\\ua9f9\\uaa29-\\uaa36\\uaa43\\uaa4c\\uaa4d\\uaa50-\\uaa59\\uaa7b-\\uaa7d\\uaab0\\uaab2-\\uaab4\\uaab7\\uaab8\\uaabe\\uaabf\\uaac1\\uaaeb-\\uaaef\\uaaf5\\uaaf6\\uabe3-\\uabea\\uabec\\uabed\\uabf0-\\uabf9\\ufb1e\\ufe00-\\ufe0f\\ufe20-\\ufe2f\\ufe33\\ufe34\\ufe4d-\\ufe4f\\uff10-\\uff19\\uff3f\\uff65";\x0d\n\x0d\n // This file was generated. Do not modify manually!\x0d\n var nonASCIIidentifierStartChars = "\\xaa\\xb5\\xba\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u02c1\\u02c6-\\u02d1\\u02e0-\\u02e4\\u02ec\\u02ee\\u0370-\\u0374\\u0376\\u0377\\u037a-\\u037d\\u037f\\u0386\\u0388-\\u038a\\u038c\\u038e-\\u03a1\\u03a3-\\u03f5\\u03f7-\\u0481\\u048a-\\u052f\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05d0-\\u05ea\\u05ef-\\u05f2\\u0620-\\u064a\\u066e\\u066f\\u0671-\\u06d3\\u06d5\\u06e5\\u06e6\\u06ee\\u06ef\\u06fa-\\u06fc\\u06ff\\u0710\\u0712-\\u072f\\u074d-\\u07a5\\u07b1\\u07ca-\\u07ea\\u07f4\\u07f5\\u07fa\\u0800-\\u0815\\u081a\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086a\\u0870-\\u0887\\u0889-\\u088e\\u08a0-\\u08c9\\u0904-\\u0939\\u093d\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098c\\u098f\\u0990\\u0993-\\u09a8\\u09aa-\\u09b0\\u09b2\\u09b6-\\u09b9\\u09bd\\u09ce\\u09dc\\u09dd\\u09df-\\u09e1\\u09f0\\u09f1\\u09fc\\u0a05-\\u0a0a\\u0a0f\\u0a10\\u0a13-\\u0a28\\u0a2a-\\u0a30\\u0a32\\u0a33\\u0a35\\u0a36\\u0a38\\u0a39\\u0a59-\\u0a5c\\u0a5e\\u0a72-\\u0a74\\u0a85-\\u0a8d\\u0a8f-\\u0a91\\u0a93-\\u0aa8\\u0aaa-\\u0ab0\\u0ab2\\u0ab3\\u0ab5-\\u0ab9\\u0abd\\u0ad0\\u0ae0\\u0ae1\\u0af9\\u0b05-\\u0b0c\\u0b0f\\u0b10\\u0b13-\\u0b28\\u0b2a-\\u0b30\\u0b32\\u0b33\\u0b35-\\u0b39\\u0b3d\\u0b5c\\u0b5d\\u0b5f-\\u0b61\\u0b71\\u0b83\\u0b85-\\u0b8a\\u0b8e-\\u0b90\\u0b92-\\u0b95\\u0b99\\u0b9a\\u0b9c\\u0b9e\\u0b9f\\u0ba3\\u0ba4\\u0ba8-\\u0baa\\u0bae-\\u0bb9\\u0bd0\\u0c05-\\u0c0c\\u0c0e-\\u0c10\\u0c12-\\u0c28\\u0c2a-\\u0c39\\u0c3d\\u0c58-\\u0c5a\\u0c5d\\u0c60\\u0c61\\u0c80\\u0c85-\\u0c8c\\u0c8e-\\u0c90\\u0c92-\\u0ca8\\u0caa-\\u0cb3\\u0cb5-\\u0cb9\\u0cbd\\u0cdd\\u0cde\\u0ce0\\u0ce1\\u0cf1\\u0cf2\\u0d04-\\u0d0c\\u0d0e-\\u0d10\\u0d12-\\u0d3a\\u0d3d\\u0d4e\\u0d54-\\u0d56\\u0d5f-\\u0d61\\u0d7a-\\u0d7f\\u0d85-\\u0d96\\u0d9a-\\u0db1\\u0db3-\\u0dbb\\u0dbd\\u0dc0-\\u0dc6\\u0e01-\\u0e30\\u0e32\\u0e33\\u0e40-\\u0e46\\u0e81\\u0e82\\u0e84\\u0e86-\\u0e8a\\u0e8c-\\u0ea3\\u0ea5\\u0ea7-\\u0eb0\\u0eb2\\u0eb3\\u0ebd\\u0ec0-\\u0ec4\\u0ec6\\u0edc-\\u0edf\\u0f00\\u0f40-\\u0f47\\u0f49-\\u0f6c\\u0f88-\\u0f8c\\u1000-\\u102a\\u103f\\u1050-\\u1055\\u105a-\\u105d\\u1061\\u1065\\u1066\\u106e-\\u1070\\u1075-\\u1081\\u108e\\u10a0-\\u10c5\\u10c7\\u10cd\\u10d0-\\u10fa\\u10fc-\\u1248\\u124a-\\u124d\\u1250-\\u1256\\u1258\\u125a-\\u125d\\u1260-\\u1288\\u128a-\\u128d\\u1290-\\u12b0\\u12b2-\\u12b5\\u12b8-\\u12be\\u12c0\\u12c2-\\u12c5\\u12c8-\\u12d6\\u12d8-\\u1310\\u1312-\\u1315\\u1318-\\u135a\\u1380-\\u138f\\u13a0-\\u13f5\\u13f8-\\u13fd\\u1401-\\u166c\\u166f-\\u167f\\u1681-\\u169a\\u16a0-\\u16ea\\u16ee-\\u16f8\\u1700-\\u1711\\u171f-\\u1731\\u1740-\\u1751\\u1760-\\u176c\\u176e-\\u1770\\u1780-\\u17b3\\u17d7\\u17dc\\u1820-\\u1878\\u1880-\\u18a8\\u18aa\\u18b0-\\u18f5\\u1900-\\u191e\\u1950-\\u196d\\u1970-\\u1974\\u1980-\\u19ab\\u19b0-\\u19c9\\u1a00-\\u1a16\\u1a20-\\u1a54\\u1aa7\\u1b05-\\u1b33\\u1b45-\\u1b4c\\u1b83-\\u1ba0\\u1bae\\u1baf\\u1bba-\\u1be5\\u1c00-\\u1c23\\u1c4d-\\u1c4f\\u1c5a-\\u1c7d\\u1c80-\\u1c88\\u1c90-\\u1cba\\u1cbd-\\u1cbf\\u1ce9-\\u1cec\\u1cee-\\u1cf3\\u1cf5\\u1cf6\\u1cfa\\u1d00-\\u1dbf\\u1e00-\\u1f15\\u1f18-\\u1f1d\\u1f20-\\u1f45\\u1f48-\\u1f4d\\u1f50-\\u1f57\\u1f59\\u1f5b\\u1f5d\\u1f5f-\\u1f7d\\u1f80-\\u1fb4\\u1fb6-\\u1fbc\\u1fbe\\u1fc2-\\u1fc4\\u1fc6-\\u1fcc\\u1fd0-\\u1fd3\\u1fd6-\\u1fdb\\u1fe0-\\u1fec\\u1ff2-\\u1ff4\\u1ff6-\\u1ffc\\u2071\\u207f\\u2090-\\u209c\\u2102\\u2107\\u210a-\\u2113\\u2115\\u2118-\\u211d\\u2124\\u2126\\u2128\\u212a-\\u2139\\u213c-\\u213f\\u2145-\\u2149\\u214e\\u2160-\\u2188\\u2c00-\\u2ce4\\u2ceb-\\u2cee\\u2cf2\\u2cf3\\u2d00-\\u2d25\\u2d27\\u2d2d\\u2d30-\\u2d67\\u2d6f\\u2d80-\\u2d96\\u2da0-\\u2da6\\u2da8-\\u2dae\\u2db0-\\u2db6\\u2db8-\\u2dbe\\u2dc0-\\u2dc6\\u2dc8-\\u2dce\\u2dd0-\\u2dd6\\u2dd8-\\u2dde\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303c\\u3041-\\u3096\\u309b-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312f\\u3131-\\u318e\\u31a0-\\u31bf\\u31f0-\\u31ff\\u3400-\\u4dbf\\u4e00-\\ua48c\\ua4d0-\\ua4fd\\ua500-\\ua60c\\ua610-\\ua61f\\ua62a\\ua62b\\ua640-\\ua66e\\ua67f-\\ua69d\\ua6a0-\\ua6ef\\ua717-\\ua71f\\ua722-\\ua788\\ua78b-\\ua7ca\\ua7d0\\ua7d1\\ua7d3\\ua7d5-\\ua7d9\\ua7f2-\\ua801\\ua803-\\ua805\\ua807-\\ua80a\\ua80c-\\ua822\\ua840-\\ua873\\ua882-\\ua8b3\\ua8f2-\\ua8f7\\ua8fb\\ua8fd\\ua8fe\\ua90a-\\ua925\\ua930-\\ua946\\ua960-\\ua97c\\ua984-\\ua9b2\\ua9cf\\ua9e0-\\ua9e4\\ua9e6-\\ua9ef\\ua9fa-\\ua9fe\\uaa00-\\uaa28\\uaa40-\\uaa42\\uaa44-\\uaa4b\\uaa60-\\uaa76\\uaa7a\\uaa7e-\\uaaaf\\uaab1\\uaab5\\uaab6\\uaab9-\\uaabd\\uaac0\\uaac2\\uaadb-\\uaadd\\uaae0-\\uaaea\\uaaf2-\\uaaf4\\uab01-\\uab06\\uab09-\\uab0e\\uab11-\\uab16\\uab20-\\uab26\\uab28-\\uab2e\\uab30-\\uab5a\\uab5c-\\uab69\\uab70-\\uabe2\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\uf900-\\ufa6d\\ufa70-\\ufad9\\ufb00-\\ufb06\\ufb13-\\ufb17\\ufb1d\\ufb1f-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40\\ufb41\\ufb43\\ufb44\\ufb46-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc";\x0d\n\x0d\n // These are a run-length and offset encoded representation of the\x0d\n // >0xffff code points that are a valid part of identifiers. The\x0d\n // offset starts at 0x10000\x2C and each pair of numbers represents an\x0d\n // offset to the next range\x2C and then a size of the range.\x0d\n\x0d\n // Reserved word lists for various dialects of the language\x0d\n\x0d\n var reservedWords = {\x0d\n 3: "abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile"\x2C\x0d\n 5: "class enum extends super const export import"\x2C\x0d\n 6: "enum"\x2C\x0d\n strict: "implements interface let package private protected public static yield"\x2C\x0d\n strictBind: "eval arguments"\x0d\n };\x0d\n\x0d\n // And the keywords\x0d\n\x0d\n var ecma5AndLessKeywords = "break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this";\x0d\n\x0d\n var keywords$1 = {\x0d\n 5: ecma5AndLessKeywords\x2C\x0d\n "5module": ecma5AndLessKeywords + " export import"\x2C\x0d\n 6: ecma5AndLessKeywords + " const class extends export import super"\x0d\n };\x0d\n\x0d\n var keywordRelationalOperator = /^in(stanceof)?$/;\x0d\n\x0d\n // ## Character categories\x0d\n\x0d\n var nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]");\x0d\n var nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]");\x0d\n\x0d\n // This has a complexity linear to the value of the code. The\x0d\n // assumption is that looking up astral identifier characters is\x0d\n // rare.\x0d\n function isInAstralSet(code\x2C set) {\x0d\n var pos = 0x10000;\x0d\n for (var i = 0; i < set.length; i += 2) {\x0d\n pos += set[i];\x0d\n if (pos > code) { return false }\x0d\n pos += set[i + 1];\x0d\n if (pos >= code) { return true }\x0d\n }\x0d\n return false\x0d\n }\x0d\n\x0d\n // Test whether a given character code starts an identifier.\x0d\n\x0d\n function isIdentifierStart(code\x2C astral) {\x0d\n if (code < 65) { return code === 36 }\x0d\n if (code < 91) { return true }\x0d\n if (code < 97) { return code === 95 }\x0d\n if (code < 123) { return true }\x0d\n if (code <= 0xffff) { return code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code)) }\x0d\n if (astral === false) { return false }\x0d\n return isInAstralSet(code\x2C astralIdentifierStartCodes)\x0d\n }\x0d\n\x0d\n // Test whether a given character is part of an identifier.\x0d\n\x0d\n function isIdentifierChar(code\x2C astral) {\x0d\n if (code < 48) { return code === 36 }\x0d\n if (code < 58) { return true }\x0d\n if (code < 65) { return false }\x0d\n if (code < 91) { return true }\x0d\n if (code < 97) { return code === 95 }\x0d\n if (code < 123) { return true }\x0d\n if (code <= 0xffff) { return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code)) }\x0d\n if (astral === false) { return false }\x0d\n return isInAstralSet(code\x2C astralIdentifierStartCodes) || isInAstralSet(code\x2C astralIdentifierCodes)\x0d\n }\x0d\n\x0d\n // ## Token types\x0d\n\x0d\n // The assignment of fine-grained\x2C information-carrying type objects\x0d\n // allows the tokenizer to store the information it has about a\x0d\n // token in a way that is very cheap for the parser to look up.\x0d\n\x0d\n // All token type variables start with an underscore\x2C to make them\x0d\n // easy to recognize.\x0d\n\x0d\n // The `beforeExpr` property is used to disambiguate between regular\x0d\n // expressions and divisions. It is set on all token types that can\x0d\n // be followed by an expression (thus\x2C a slash after them would be a\x0d\n // regular expression).\x0d\n //\x0d\n // The `startsExpr` property is used to check if the token ends a\x0d\n // `yield` expression. It is set on all token types that either can\x0d\n // directly start an expression (like a quotation mark) or can\x0d\n // continue an expression (like the body of a string).\x0d\n //\x0d\n // `isLoop` marks a keyword as starting a loop\x2C which is important\x0d\n // to know when parsing a label\x2C in order to allow or disallow\x0d\n // continue jumps to that label.\x0d\n\x0d\n var TokenType = function TokenType(label\x2C conf) {\x0d\n if ( conf === void 0 ) conf = {};\x0d\n\x0d\n this.label = label;\x0d\n this.keyword = conf.keyword;\x0d\n this.beforeExpr = !!conf.beforeExpr;\x0d\n this.startsExpr = !!conf.startsExpr;\x0d\n this.isLoop = !!conf.isLoop;\x0d\n this.isAssign = !!conf.isAssign;\x0d\n this.prefix = !!conf.prefix;\x0d\n this.postfix = !!conf.postfix;\x0d\n this.binop = conf.binop || null;\x0d\n this.updateContext = null;\x0d\n };\x0d\n\x0d\n function binop(name\x2C prec) {\x0d\n return new TokenType(name\x2C {beforeExpr: true\x2C binop: prec})\x0d\n }\x0d\n var beforeExpr = {beforeExpr: true}\x2C startsExpr = {startsExpr: true};\x0d\n\x0d\n // Map keyword names to token types.\x0d\n\x0d\n var keywords = {};\x0d\n\x0d\n // Succinct definitions of keyword token types\x0d\n function kw(name\x2C options) {\x0d\n if ( options === void 0 ) options = {};\x0d\n\x0d\n options.keyword = name;\x0d\n return keywords[name] = new TokenType(name\x2C options)\x0d\n }\x0d\n\x0d\n var types$1 = {\x0d\n num: new TokenType("num"\x2C startsExpr)\x2C\x0d\n regexp: new TokenType("regexp"\x2C startsExpr)\x2C\x0d\n string: new TokenType("string"\x2C startsExpr)\x2C\x0d\n name: new TokenType("name"\x2C startsExpr)\x2C\x0d\n privateId: new TokenType("privateId"\x2C startsExpr)\x2C\x0d\n eof: new TokenType("eof")\x2C\x0d\n\x0d\n // Punctuation token types.\x0d\n bracketL: new TokenType("["\x2C {beforeExpr: true\x2C startsExpr: true})\x2C\x0d\n bracketR: new TokenType("]")\x2C\x0d\n braceL: new TokenType("{"\x2C {beforeExpr: true\x2C startsExpr: true})\x2C\x0d\n braceR: new TokenType("}")\x2C\x0d\n parenL: new TokenType("("\x2C {beforeExpr: true\x2C startsExpr: true})\x2C\x0d\n parenR: new TokenType(")")\x2C\x0d\n comma: new TokenType("\x2C"\x2C beforeExpr)\x2C\x0d\n semi: new TokenType(";"\x2C beforeExpr)\x2C\x0d\n colon: new TokenType(":"\x2C beforeExpr)\x2C\x0d\n dot: new TokenType(".")\x2C\x0d\n question: new TokenType("?"\x2C beforeExpr)\x2C\x0d\n questionDot: new TokenType("?.")\x2C\x0d\n arrow: new TokenType("=>"\x2C beforeExpr)\x2C\x0d\n template: new TokenType("template")\x2C\x0d\n invalidTemplate: new TokenType("invalidTemplate")\x2C\x0d\n ellipsis: new TokenType("..."\x2C beforeExpr)\x2C\x0d\n backQuote: new TokenType("`"\x2C startsExpr)\x2C\x0d\n dollarBraceL: new TokenType("${"\x2C {beforeExpr: true\x2C startsExpr: true})\x2C\x0d\n\x0d\n // Operators. These carry several kinds of properties to help the\x0d\n // parser use them properly (the presence of these properties is\x0d\n // what categorizes them as operators).\x0d\n //\x0d\n // `binop`\x2C when present\x2C specifies that this operator is a binary\x0d\n // operator\x2C and will refer to its precedence.\x0d\n //\x0d\n // `prefix` and `postfix` mark the operator as a prefix or postfix\x0d\n // unary operator.\x0d\n //\x0d\n // `isAssign` marks all of `=`\x2C `+=`\x2C `-=` etcetera\x2C which act as\x0d\n // binary operators with a very low precedence\x2C that should result\x0d\n // in AssignmentExpression nodes.\x0d\n\x0d\n eq: new TokenType("="\x2C {beforeExpr: true\x2C isAssign: true})\x2C\x0d\n assign: new TokenType("_="\x2C {beforeExpr: true\x2C isAssign: true})\x2C\x0d\n incDec: new TokenType("++/--"\x2C {prefix: true\x2C postfix: true\x2C startsExpr: true})\x2C\x0d\n prefix: new TokenType("!/~"\x2C {beforeExpr: true\x2C prefix: true\x2C startsExpr: true})\x2C\x0d\n logicalOR: binop("||"\x2C 1)\x2C\x0d\n logicalAND: binop("&&"\x2C 2)\x2C\x0d\n bitwiseOR: binop("|"\x2C 3)\x2C\x0d\n bitwiseXOR: binop("^"\x2C 4)\x2C\x0d\n bitwiseAND: binop("&"\x2C 5)\x2C\x0d\n equality: binop("==/!=/===/!=="\x2C 6)\x2C\x0d\n relational: binop("</>/<=/>="\x2C 7)\x2C\x0d\n bitShift: binop("<</>>/>>>"\x2C 8)\x2C\x0d\n plusMin: new TokenType("+/-"\x2C {beforeExpr: true\x2C binop: 9\x2C prefix: true\x2C startsExpr: true})\x2C\x0d\n modulo: binop("%"\x2C 10)\x2C\x0d\n star: binop("*"\x2C 10)\x2C\x0d\n slash: binop("/"\x2C 10)\x2C\x0d\n starstar: new TokenType("**"\x2C {beforeExpr: true})\x2C\x0d\n coalesce: binop("??"\x2C 1)\x2C\x0d\n\x0d\n // Keyword token types.\x0d\n _break: kw("break")\x2C\x0d\n _case: kw("case"\x2C beforeExpr)\x2C\x0d\n _catch: kw("catch")\x2C\x0d\n _continue: kw("continue")\x2C\x0d\n _debugger: kw("debugger")\x2C\x0d\n _default: kw("default"\x2C beforeExpr)\x2C\x0d\n _do: kw("do"\x2C {isLoop: true\x2C beforeExpr: true})\x2C\x0d\n _else: kw("else"\x2C beforeExpr)\x2C\x0d\n _finally: kw("finally")\x2C\x0d\n _for: kw("for"\x2C {isLoop: true})\x2C\x0d\n _function: kw("function"\x2C startsExpr)\x2C\x0d\n _if: kw("if")\x2C\x0d\n _return: kw("return"\x2C beforeExpr)\x2C\x0d\n _switch: kw("switch")\x2C\x0d\n _throw: kw("throw"\x2C beforeExpr)\x2C\x0d\n _try: kw("try")\x2C\x0d\n _var: kw("var")\x2C\x0d\n _const: kw("const")\x2C\x0d\n _while: kw("while"\x2C {isLoop: true})\x2C\x0d\n _with: kw("with")\x2C\x0d\n _new: kw("new"\x2C {beforeExpr: true\x2C startsExpr: true})\x2C\x0d\n _this: kw("this"\x2C startsExpr)\x2C\x0d\n _super: kw("super"\x2C startsExpr)\x2C\x0d\n _class: kw("class"\x2C startsExpr)\x2C\x0d\n _extends: kw("extends"\x2C beforeExpr)\x2C\x0d\n _export: kw("export")\x2C\x0d\n _import: kw("import"\x2C startsExpr)\x2C\x0d\n _null: kw("null"\x2C startsExpr)\x2C\x0d\n _true: kw("true"\x2C startsExpr)\x2C\x0d\n _false: kw("false"\x2C startsExpr)\x2C\x0d\n _in: kw("in"\x2C {beforeExpr: true\x2C binop: 7})\x2C\x0d\n _instanceof: kw("instanceof"\x2C {beforeExpr: true\x2C binop: 7})\x2C\x0d\n _typeof: kw("typeof"\x2C {beforeExpr: true\x2C prefix: true\x2C startsExpr: true})\x2C\x0d\n _void: kw("void"\x2C {beforeExpr: true\x2C prefix: true\x2C startsExpr: true})\x2C\x0d\n _delete: kw("delete"\x2C {beforeExpr: true\x2C prefix: true\x2C startsExpr: true})\x0d\n };\x0d\n\x0d\n // Matches a whole line break (where CRLF is considered a single\x0d\n // line break). Used to count lines.\x0d\n\x0d\n var lineBreak = /\\r\\n?|\\n|\\u2028|\\u2029/;\x0d\n var lineBreakG = new RegExp(lineBreak.source\x2C "g");\x0d\n\x0d\n function isNewLine(code) {\x0d\n return code === 10 || code === 13 || code === 0x2028 || code === 0x2029\x0d\n }\x0d\n\x0d\n function nextLineBreak(code\x2C from\x2C end) {\x0d\n if ( end === void 0 ) end = code.length;\x0d\n\x0d\n for (var i = from; i < end; i++) {\x0d\n var next = code.charCodeAt(i);\x0d\n if (isNewLine(next))\x0d\n { return i < end - 1 && next === 13 && code.charCodeAt(i + 1) === 10 ? i + 2 : i + 1 }\x0d\n }\x0d\n return -1\x0d\n }\x0d\n\x0d\n var nonASCIIwhitespace = /[\\u1680\\u2000-\\u200a\\u202f\\u205f\\u3000\\ufeff]/;\x0d\n\x0d\n var skipWhiteSpace = /(?:\\s|\\/\\/.*|\\/\\*[^]*?\\*\\/)*/g;\x0d\n\x0d\n var ref = Object.prototype;\x0d\n var hasOwnProperty = ref.hasOwnProperty;\x0d\n var toString = ref.toString;\x0d\n\x0d\n var hasOwn = Object.hasOwn || (function (obj\x2C propName) { return (\x0d\n hasOwnProperty.call(obj\x2C propName)\x0d\n ); });\x0d\n\x0d\n var isArray = Array.isArray || (function (obj) { return (\x0d\n toString.call(obj) === "[object Array]"\x0d\n ); });\x0d\n\x0d\n var regexpCache = Object.create(null);\x0d\n\x0d\n function wordsRegexp(words) {\x0d\n return regexpCache[words] || (regexpCache[words] = new RegExp("^(?:" + words.replace(/ /g\x2C "|") + ")$"))\x0d\n }\x0d\n\x0d\n function codePointToString(code) {\x0d\n // UTF-16 Decoding\x0d\n if (code <= 0xFFFF) { return String.fromCharCode(code) }\x0d\n code -= 0x10000;\x0d\n return String.fromCharCode((code >> 10) + 0xD800\x2C (code & 1023) + 0xDC00)\x0d\n }\x0d\n\x0d\n var loneSurrogate = /(?:[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])/;\x0d\n\x0d\n // These are used when `options.locations` is on\x2C for the\x0d\n // `startLoc` and `endLoc` properties.\x0d\n\x0d\n var Position = function Position(line\x2C col) {\x0d\n this.line = line;\x0d\n this.column = col;\x0d\n };\x0d\n\x0d\n Position.prototype.offset = function offset (n) {\x0d\n return new Position(this.line\x2C this.column + n)\x0d\n };\x0d\n\x0d\n var SourceLocation = function SourceLocation(p\x2C start\x2C end) {\x0d\n this.start = start;\x0d\n this.end = end;\x0d\n if (p.sourceFile !== null) { this.source = p.sourceFile; }\x0d\n };\x0d\n\x0d\n // The `getLineInfo` function is mostly useful when the\x0d\n // `locations` option is off (for performance reasons) and you\x0d\n // want to find the line/column position for a given character\x0d\n // offset. `input` should be the code string that the offset refers\x0d\n // into.\x0d\n\x0d\n function getLineInfo(input\x2C offset) {\x0d\n for (var line = 1\x2C cur = 0;;) {\x0d\n var nextBreak = nextLineBreak(input\x2C cur\x2C offset);\x0d\n if (nextBreak < 0) { return new Position(line\x2C offset - cur) }\x0d\n ++line;\x0d\n cur = nextBreak;\x0d\n }\x0d\n }\x0d\n\x0d\n // A second argument must be given to configure the parser process.\x0d\n // These options are recognized (only `ecmaVersion` is required):\x0d\n\x0d\n var defaultOptions = {\x0d\n // `ecmaVersion` indicates the ECMAScript version to parse. Must be\x0d\n // either 3\x2C 5\x2C 6 (or 2015)\x2C 7 (2016)\x2C 8 (2017)\x2C 9 (2018)\x2C 10\x0d\n // (2019)\x2C 11 (2020)\x2C 12 (2021)\x2C 13 (2022)\x2C 14 (2023)\x2C or `"latest"`\x0d\n // (the latest version the library supports). This influences\x0d\n // support for strict mode\x2C the set of reserved words\x2C and support\x0d\n // for new syntax features.\x0d\n ecmaVersion: null\x2C\x0d\n // `sourceType` indicates the mode the code should be parsed in.\x0d\n // Can be either `"script"` or `"module"`. This influences global\x0d\n // strict mode and parsing of `import` and `export` declarations.\x0d\n sourceType: "script"\x2C\x0d\n // `onInsertedSemicolon` can be a callback that will be called when\x0d\n // a semicolon is automatically inserted. It will be passed the\x0d\n // position of the inserted semicolon as an offset\x2C and if\x0d\n // `locations` is enabled\x2C it is given the location as a `{line\x2C\x0d\n // column}` object as second argument.\x0d\n onInsertedSemicolon: null\x2C\x0d\n // `onTrailingComma` is similar to `onInsertedSemicolon`\x2C but for\x0d\n // trailing commas.\x0d\n onTrailingComma: null\x2C\x0d\n // By default\x2C reserved words are only enforced if ecmaVersion >= 5.\x0d\n // Set `allowReserved` to a boolean value to explicitly turn this on\x0d\n // an off. When this option has the value "never"\x2C reserved words\x0d\n // and keywords can also not be used as property names.\x0d\n allowReserved: null\x2C\x0d\n // When enabled\x2C a return at the top level is not considered an\x0d\n // error.\x0d\n allowReturnOutsideFunction: false\x2C\x0d\n // When enabled\x2C import/export statements are not constrained to\x0d\n // appearing at the top of the program\x2C and an import.meta expression\x0d\n // in a script isn't considered an error.\x0d\n allowImportExportEverywhere: false\x2C\x0d\n // By default\x2C await identifiers are allowed to appear at the top-level scope only if ecmaVersion >= 2022.\x0d\n // When enabled\x2C await identifiers are allowed to appear at the top-level scope\x2C\x0d\n // but they are still not allowed in non-async functions.\x0d\n allowAwaitOutsideFunction: null\x2C\x0d\n // When enabled\x2C super identifiers are not constrained to\x0d\n // appearing in methods and do not raise an error when they appear elsewhere.\x0d\n allowSuperOutsideMethod: null\x2C\x0d\n // When enabled\x2C hashbang directive in the beginning of file is\x0d\n // allowed and treated as a line comment. Enabled by default when\x0d\n // `ecmaVersion` >= 2023.\x0d\n allowHashBang: false\x2C\x0d\n // By default\x2C the parser will verify that private properties are\x0d\n // only used in places where they are valid and have been declared.\x0d\n // Set this to false to turn such checks off.\x0d\n checkPrivateFields: true\x2C\x0d\n // When `locations` is on\x2C `loc` properties holding objects with\x0d\n // `start` and `end` properties in `{line\x2C column}` form (with\x0d\n // line being 1-based and column 0-based) will be attached to the\x0d\n // nodes.\x0d\n locations: false\x2C\x0d\n // A function can be passed as `onToken` option\x2C which will\x0d\n // cause Acorn to call that function with object in the same\x0d\n // format as tokens returned from `tokenizer().getToken()`. Note\x0d\n // that you are not allowed to call the parser from the\x0d\n // callback\u2014that will corrupt its internal state.\x0d\n onToken: null\x2C\x0d\n // A function can be passed as `onComment` option\x2C which will\x0d\n // cause Acorn to call that function with `(block\x2C text\x2C start\x2C\x0d\n // end)` parameters whenever a comment is skipped. `block` is a\x0d\n // boolean indicating whether this is a block (`/* */`) comment\x2C\x0d\n // `text` is the content of the comment\x2C and `start` and `end` are\x0d\n // character offsets that denote the start and end of the comment.\x0d\n // When the `locations` option is on\x2C two more parameters are\x0d\n // passed\x2C the full `{line\x2C column}` locations of the start and\x0d\n // end of the comments. Note that you are not allowed to call the\x0d\n // parser from the callback\u2014that will corrupt its internal state.\x0d\n // When this option has an array as value\x2C objects representing the\x0d\n // comments are pushed to it.\x0d\n onComment: null\x2C\x0d\n // Nodes have their start and end characters offsets recorded in\x0d\n // `start` and `end` properties (directly on the node\x2C rather than\x0d\n // the `loc` object\x2C which holds line/column data. To also add a\x0d\n // [semi-standardized][range] `range` property holding a `[start\x2C\x0d\n // end]` array with the same numbers\x2C set the `ranges` option to\x0d\n // `true`.\x0d\n //\x0d\n // [range]: https://bugzilla.mozilla.org/show_bug.cgi?id=745678\x0d\n ranges: false\x2C\x0d\n // It is possible to parse multiple files into a single AST by\x0d\n // passing the tree produced by parsing the first file as\x0d\n // `program` option in subsequent parses. This will add the\x0d\n // toplevel forms of the parsed file to the `Program` (top) node\x0d\n // of an existing parse tree.\x0d\n program: null\x2C\x0d\n // When `locations` is on\x2C you can pass this to record the source\x0d\n // file in every node's `loc` object.\x0d\n sourceFile: null\x2C\x0d\n // This value\x2C if given\x2C is stored in every node\x2C whether\x0d\n // `locations` is on or off.\x0d\n directSourceFile: null\x2C\x0d\n // When enabled\x2C parenthesized expressions are represented by\x0d\n // (non-standard) ParenthesizedExpression nodes\x0d\n preserveParens: false\x0d\n };\x0d\n\x0d\n // Interpret and default an options object\x0d\n\x0d\n var warnedAboutEcmaVersion = false;\x0d\n\x0d\n function getOptions(opts) {\x0d\n var options = {};\x0d\n\x0d\n for (var opt in defaultOptions)\x0d\n { options[opt] = opts && hasOwn(opts\x2C opt) ? opts[opt] : defaultOptions[opt]; }\x0d\n\x0d\n if (options.ecmaVersion === "latest") {\x0d\n options.ecmaVersion = 1e8;\x0d\n } else if (options.ecmaVersion == null) {\x0d\n if (!warnedAboutEcmaVersion && typeof console === "object" && console.warn) {\x0d\n warnedAboutEcmaVersion = true;\x0d\n console.warn("Since Acorn 8.0.0\x2C options.ecmaVersion is required.\\nDefaulting to 2020\x2C but this will stop working in the future.");\x0d\n }\x0d\n options.ecmaVersion = 11;\x0d\n } else if (options.ecmaVersion >= 2015) {\x0d\n options.ecmaVersion -= 2009;\x0d\n }\x0d\n\x0d\n if (options.allowReserved == null)\x0d\n { options.allowReserved = options.ecmaVersion < 5; }\x0d\n\x0d\n if (!opts || opts.allowHashBang == null)\x0d\n { options.allowHashBang = options.ecmaVersion >= 14; }\x0d\n\x0d\n if (isArray(options.onToken)) {\x0d\n var tokens = options.onToken;\x0d\n options.onToken = function (token) { return tokens.push(token); };\x0d\n }\x0d\n if (isArray(options.onComment))\x0d\n { options.onComment = pushComment(options\x2C options.onComment); }\x0d\n\x0d\n return options\x0d\n }\x0d\n\x0d\n function pushComment(options\x2C array) {\x0d\n return function(block\x2C text\x2C start\x2C end\x2C startLoc\x2C endLoc) {\x0d\n var comment = {\x0d\n type: block ? "Block" : "Line"\x2C\x0d\n value: text\x2C\x0d\n start: start\x2C\x0d\n end: end\x0d\n };\x0d\n if (options.locations)\x0d\n { comment.loc = new SourceLocation(this\x2C startLoc\x2C endLoc); }\x0d\n if (options.ranges)\x0d\n { comment.range = [start\x2C end]; }\x0d\n array.push(comment);\x0d\n }\x0d\n }\x0d\n\x0d\n // Each scope gets a bitset that may contain these flags\x0d\n var\x0d\n SCOPE_TOP = 1\x2C\x0d\n SCOPE_FUNCTION = 2\x2C\x0d\n SCOPE_ASYNC = 4\x2C\x0d\n SCOPE_GENERATOR = 8\x2C\x0d\n SCOPE_ARROW = 16\x2C\x0d\n SCOPE_SIMPLE_CATCH = 32\x2C\x0d\n SCOPE_SUPER = 64\x2C\x0d\n SCOPE_DIRECT_SUPER = 128\x2C\x0d\n SCOPE_CLASS_STATIC_BLOCK = 256\x2C\x0d\n SCOPE_VAR = SCOPE_TOP | SCOPE_FUNCTION | SCOPE_CLASS_STATIC_BLOCK;\x0d\n\x0d\n function functionFlags(async\x2C generator) {\x0d\n return SCOPE_FUNCTION | (async ? SCOPE_ASYNC : 0) | (generator ? SCOPE_GENERATOR : 0)\x0d\n }\x0d\n\x0d\n // Used in checkLVal* and declareName to determine the type of a binding\x0d\n var\x0d\n BIND_NONE = 0\x2C // Not a binding\x0d\n BIND_VAR = 1\x2C // Var-style binding\x0d\n BIND_LEXICAL = 2\x2C // Let- or const-style binding\x0d\n BIND_FUNCTION = 3\x2C // Function declaration\x0d\n BIND_SIMPLE_CATCH = 4\x2C // Simple (identifier pattern) catch binding\x0d\n BIND_OUTSIDE = 5; // Special case for function names as bound inside the function\x0d\n\x0d\n var Parser = function Parser(options\x2C input\x2C startPos) {\x0d\n this.options = options = getOptions(options);\x0d\n this.sourceFile = options.sourceFile;\x0d\n this.keywords = wordsRegexp(keywords$1[options.ecmaVersion >= 6 ? 6 : options.sourceType === "module" ? "5module" : 5]);\x0d\n var reserved = "";\x0d\n if (options.allowReserved !== true) {\x0d\n reserved = reservedWords[options.ecmaVersion >= 6 ? 6 : options.ecmaVersion === 5 ? 5 : 3];\x0d\n if (options.sourceType === "module") { reserved += " await"; }\x0d\n }\x0d\n this.reservedWords = wordsRegexp(reserved);\x0d\n var reservedStrict = (reserved ? reserved + " " : "") + reservedWords.strict;\x0d\n this.reservedWordsStrict = wordsRegexp(reservedStrict);\x0d\n this.reservedWordsStrictBind = wordsRegexp(reservedStrict + " " + reservedWords.strictBind);\x0d\n this.input = String(input);\x0d\n\x0d\n // Used to signal to callers of `readWord1` whether the word\x0d\n // contained any escape sequences. This is needed because words with\x0d\n // escape sequences must not be interpreted as keywords.\x0d\n this.containsEsc = false;\x0d\n\x0d\n // Set up token state\x0d\n\x0d\n // The current position of the tokenizer in the input.\x0d\n if (startPos) {\x0d\n this.pos = startPos;\x0d\n this.lineStart = this.input.lastIndexOf("\\n"\x2C startPos - 1) + 1;\x0d\n this.curLine = this.input.slice(0\x2C this.lineStart).split(lineBreak).length;\x0d\n } else {\x0d\n this.pos = this.lineStart = 0;\x0d\n this.curLine = 1;\x0d\n }\x0d\n\x0d\n // Properties of the current token:\x0d\n // Its type\x0d\n this.type = types$1.eof;\x0d\n // For tokens that include more information than their type\x2C the value\x0d\n this.value = null;\x0d\n // Its start and end offset\x0d\n this.start = this.end = this.pos;\x0d\n // And\x2C if locations are used\x2C the {line\x2C column} object\x0d\n // corresponding to those offsets\x0d\n this.startLoc = this.endLoc = this.curPosition();\x0d\n\x0d\n // Position information for the previous token\x0d\n this.lastTokEndLoc = this.lastTokStartLoc = null;\x0d\n this.lastTokStart = this.lastTokEnd = this.pos;\x0d\n\x0d\n // The context stack is used to superficially track syntactic\x0d\n // context to predict whether a regular expression is allowed in a\x0d\n // given position.\x0d\n this.context = this.initialContext();\x0d\n this.exprAllowed = true;\x0d\n\x0d\n // Figure out if it's a module code.\x0d\n this.inModule = options.sourceType === "module";\x0d\n this.strict = this.inModule || this.strictDirective(this.pos);\x0d\n\x0d\n // Used to signify the start of a potential arrow function\x0d\n this.potentialArrowAt = -1;\x0d\n this.potentialArrowInForAwait = false;\x0d\n\x0d\n // Positions to delayed-check that yield/await does not exist in default parameters.\x0d\n this.yieldPos = this.awaitPos = this.awaitIdentPos = 0;\x0d\n // Labels in scope.\x0d\n this.labels = [];\x0d\n // Thus-far undefined exports.\x0d\n this.undefinedExports = Object.create(null);\x0d\n\x0d\n // If enabled\x2C skip leading hashbang line.\x0d\n if (this.pos === 0 && options.allowHashBang && this.input.slice(0\x2C 2) === "#!")\x0d\n { this.skipLineComment(2); }\x0d\n\x0d\n // Scope tracking for duplicate variable names (see scope.js)\x0d\n this.scopeStack = [];\x0d\n this.enterScope(SCOPE_TOP);\x0d\n\x0d\n // For RegExp validation\x0d\n this.regexpState = null;\x0d\n\x0d\n // The stack of private names.\x0d\n // Each element has two properties: 'declared' and 'used'.\x0d\n // When it exited from the outermost class definition\x2C all used private names must be declared.\x0d\n this.privateNameStack = [];\x0d\n };\x0d\n\x0d\n var prototypeAccessors = { inFunction: { configurable: true }\x2CinGenerator: { configurable: true }\x2CinAsync: { configurable: true }\x2CcanAwait: { configurable: true }\x2CallowSuper: { configurable: true }\x2CallowDirectSuper: { configurable: true }\x2CtreatFunctionsAsVar: { configurable: true }\x2CallowNewDotTarget: { configurable: true }\x2CinClassStaticBlock: { configurable: true } };\x0d\n\x0d\n Parser.prototype.parse = function parse () {\x0d\n var node = this.options.program || this.startNode();\x0d\n this.nextToken();\x0d\n return this.parseTopLevel(node)\x0d\n };\x0d\n\x0d\n prototypeAccessors.inFunction.get = function () { return (this.currentVarScope().flags & SCOPE_FUNCTION) > 0 };\x0d\n\x0d\n prototypeAccessors.inGenerator.get = function () { return (this.currentVarScope().flags & SCOPE_GENERATOR) > 0 && !this.currentVarScope().inClassFieldInit };\x0d\n\x0d\n prototypeAccessors.inAsync.get = function () { return (this.currentVarScope().flags & SCOPE_ASYNC) > 0 && !this.currentVarScope().inClassFieldInit };\x0d\n\x0d\n prototypeAccessors.canAwait.get = function () {\x0d\n for (var i = this.scopeStack.length - 1; i >= 0; i--) {\x0d\n var scope = this.scopeStack[i];\x0d\n if (scope.inClassFieldInit || scope.flags & SCOPE_CLASS_STATIC_BLOCK) { return false }\x0d\n if (scope.flags & SCOPE_FUNCTION) { return (scope.flags & SCOPE_ASYNC) > 0 }\x0d\n }\x0d\n return (this.inModule && this.options.ecmaVersion >= 13) || this.options.allowAwaitOutsideFunction\x0d\n };\x0d\n\x0d\n prototypeAccessors.allowSuper.get = function () {\x0d\n var ref = this.currentThisScope();\x0d\n var flags = ref.flags;\x0d\n var inClassFieldInit = ref.inClassFieldInit;\x0d\n return (flags & SCOPE_SUPER) > 0 || inClassFieldInit || this.options.allowSuperOutsideMethod\x0d\n };\x0d\n\x0d\n prototypeAccessors.allowDirectSuper.get = function () { return (this.currentThisScope().flags & SCOPE_DIRECT_SUPER) > 0 };\x0d\n\x0d\n prototypeAccessors.treatFunctionsAsVar.get = function () { return this.treatFunctionsAsVarInScope(this.currentScope()) };\x0d\n\x0d\n prototypeAccessors.allowNewDotTarget.get = function () {\x0d\n var ref = this.currentThisScope();\x0d\n var flags = ref.flags;\x0d\n var inClassFieldInit = ref.inClassFieldInit;\x0d\n return (flags & (SCOPE_FUNCTION | SCOPE_CLASS_STATIC_BLOCK)) > 0 || inClassFieldInit\x0d\n };\x0d\n\x0d\n prototypeAccessors.inClassStaticBlock.get = function () {\x0d\n return (this.currentVarScope().flags & SCOPE_CLASS_STATIC_BLOCK) > 0\x0d\n };\x0d\n\x0d\n Parser.extend = function extend () {\x0d\n var plugins = []\x2C len = arguments.length;\x0d\n while ( len-- ) plugins[ len ] = arguments[ len ];\x0d\n\x0d\n var cls = this;\x0d\n for (var i = 0; i < plugins.length; i++) { cls = plugins[i](cls); }\x0d\n return cls\x0d\n };\x0d\n\x0d\n Parser.parse = function parse (input\x2C options) {\x0d\n return new this(options\x2C input).parse()\x0d\n };\x0d\n\x0d\n Parser.parseExpressionAt = function parseExpressionAt (input\x2C pos\x2C options) {\x0d\n var parser = new this(options\x2C input\x2C pos);\x0d\n parser.nextToken();\x0d\n return parser.parseExpression()\x0d\n };\x0d\n\x0d\n Parser.tokenizer = function tokenizer (input\x2C options) {\x0d\n return new this(options\x2C input)\x0d\n };\x0d\n\x0d\n Object.defineProperties( Parser.prototype\x2C prototypeAccessors );\x0d\n\x0d\n var pp$9 = Parser.prototype;\x0d\n\x0d\n // ## Parser utilities\x0d\n\x0d\n var literal = /^(?:'((?:\\\\.|[^'\\\\])*?)'|"((?:\\\\.|[^"\\\\])*?)")/;\x0d\n pp$9.strictDirective = function(start) {\x0d\n if (this.options.ecmaVersion < 5) { return false }\x0d\n for (;;) {\x0d\n // Try to find string literal.\x0d\n skipWhiteSpace.lastIndex = start;\x0d\n start += skipWhiteSpace.exec(this.input)[0].length;\x0d\n var match = literal.exec(this.input.slice(start));\x0d\n if (!match) { return false }\x0d\n if ((match[1] || match[2]) === "use strict") {\x0d\n skipWhiteSpace.lastIndex = start + match[0].length;\x0d\n var spaceAfter = skipWhiteSpace.exec(this.input)\x2C end = spaceAfter.index + spaceAfter[0].length;\x0d\n var next = this.input.charAt(end);\x0d\n return next === ";" || next === "}" ||\x0d\n (lineBreak.test(spaceAfter[0]) &&\x0d\n !(/[(`.[+\\-/*%<>=\x2C?^&]/.test(next) || next === "!" && this.input.charAt(end + 1) === "="))\x0d\n }\x0d\n start += match[0].length;\x0d\n\x0d\n // Skip semicolon\x2C if any.\x0d\n skipWhiteSpace.lastIndex = start;\x0d\n start += skipWhiteSpace.exec(this.input)[0].length;\x0d\n if (this.input[start] === ";")\x0d\n { start++; }\x0d\n }\x0d\n };\x0d\n\x0d\n // Predicate that tests whether the next token is of the given\x0d\n // type\x2C and if yes\x2C consumes it as a side effect.\x0d\n\x0d\n pp$9.eat = function(type) {\x0d\n if (this.type === type) {\x0d\n this.next();\x0d\n return true\x0d\n } else {\x0d\n return false\x0d\n }\x0d\n };\x0d\n\x0d\n // Tests whether parsed token is a contextual keyword.\x0d\n\x0d\n pp$9.isContextual = function(name) {\x0d\n return this.type === types$1.name && this.value === name && !this.containsEsc\x0d\n };\x0d\n\x0d\n // Consumes contextual keyword if possible.\x0d\n\x0d\n pp$9.eatContextual = function(name) {\x0d\n if (!this.isContextual(name)) { return false }\x0d\n this.next();\x0d\n return true\x0d\n };\x0d\n\x0d\n // Asserts that following token is given contextual keyword.\x0d\n\x0d\n pp$9.expectContextual = function(name) {\x0d\n if (!this.eatContextual(name)) { this.unexpected(); }\x0d\n };\x0d\n\x0d\n // Test whether a semicolon can be inserted at the current position.\x0d\n\x0d\n pp$9.canInsertSemicolon = function() {\x0d\n return this.type === types$1.eof ||\x0d\n this.type === types$1.braceR ||\x0d\n lineBreak.test(this.input.slice(this.lastTokEnd\x2C this.start))\x0d\n };\x0d\n\x0d\n pp$9.insertSemicolon = function() {\x0d\n if (this.canInsertSemicolon()) {\x0d\n if (this.options.onInsertedSemicolon)\x0d\n { this.options.onInsertedSemicolon(this.lastTokEnd\x2C this.lastTokEndLoc); }\x0d\n return true\x0d\n }\x0d\n };\x0d\n\x0d\n // Consume a semicolon\x2C or\x2C failing that\x2C see if we are allowed to\x0d\n // pretend that there is a semicolon at this position.\x0d\n\x0d\n pp$9.semicolon = function() {\x0d\n if (!this.eat(types$1.semi) && !this.insertSemicolon()) { this.unexpected(); }\x0d\n };\x0d\n\x0d\n pp$9.afterTrailingComma = function(tokType\x2C notNext) {\x0d\n if (this.type === tokType) {\x0d\n if (this.options.onTrailingComma)\x0d\n { this.options.onTrailingComma(this.lastTokStart\x2C this.lastTokStartLoc); }\x0d\n if (!notNext)\x0d\n { this.next(); }\x0d\n return true\x0d\n }\x0d\n };\x0d\n\x0d\n // Expect a token of a given type. If found\x2C consume it\x2C otherwise\x2C\x0d\n // raise an unexpected token error.\x0d\n\x0d\n pp$9.expect = function(type) {\x0d\n this.eat(type) || this.unexpected();\x0d\n };\x0d\n\x0d\n // Raise an unexpected token error.\x0d\n\x0d\n pp$9.unexpected = function(pos) {\x0d\n this.raise(pos != null ? pos : this.start\x2C "Unexpected token");\x0d\n };\x0d\n\x0d\n var DestructuringErrors = function DestructuringErrors() {\x0d\n this.shorthandAssign =\x0d\n this.trailingComma =\x0d\n this.parenthesizedAssign =\x0d\n this.parenthesizedBind =\x0d\n this.doubleProto =\x0d\n -1;\x0d\n };\x0d\n\x0d\n pp$9.checkPatternErrors = function(refDestructuringErrors\x2C isAssign) {\x0d\n if (!refDestructuringErrors) { return }\x0d\n if (refDestructuringErrors.trailingComma > -1)\x0d\n { this.raiseRecoverable(refDestructuringErrors.trailingComma\x2C "Comma is not permitted after the rest element"); }\x0d\n var parens = isAssign ? refDestructuringErrors.parenthesizedAssign : refDestructuringErrors.parenthesizedBind;\x0d\n if (parens > -1) { this.raiseRecoverable(parens\x2C isAssign ? "Assigning to rvalue" : "Parenthesized pattern"); }\x0d\n };\x0d\n\x0d\n pp$9.checkExpressionErrors = function(refDestructuringErrors\x2C andThrow) {\x0d\n if (!refDestructuringErrors) { return false }\x0d\n var shorthandAssign = refDestructuringErrors.shorthandAssign;\x0d\n var doubleProto = refDestructuringErrors.doubleProto;\x0d\n if (!andThrow) { return shorthandAssign >= 0 || doubleProto >= 0 }\x0d\n if (shorthandAssign >= 0)\x0d\n { this.raise(shorthandAssign\x2C "Shorthand property assignments are valid only in destructuring patterns"); }\x0d\n if (doubleProto >= 0)\x0d\n { this.raiseRecoverable(doubleProto\x2C "Redefinition of __proto__ property"); }\x0d\n };\x0d\n\x0d\n pp$9.checkYieldAwaitInDefaultParams = function() {\x0d\n if (this.yieldPos && (!this.awaitPos || this.yieldPos < this.awaitPos))\x0d\n { this.raise(this.yieldPos\x2C "Yield expression cannot be a default value"); }\x0d\n if (this.awaitPos)\x0d\n { this.raise(this.awaitPos\x2C "Await expression cannot be a default value"); }\x0d\n };\x0d\n\x0d\n pp$9.isSimpleAssignTarget = function(expr) {\x0d\n if (expr.type === "ParenthesizedExpression")\x0d\n { return this.isSimpleAssignTarget(expr.expression) }\x0d\n return expr.type === "Identifier" || expr.type === "MemberExpression"\x0d\n };\x0d\n\x0d\n var pp$8 = Parser.prototype;\x0d\n\x0d\n // ### Statement parsing\x0d\n\x0d\n // Parse a program. Initializes the parser\x2C reads any number of\x0d\n // statements\x2C and wraps them in a Program node. Optionally takes a\x0d\n // `program` argument. If present\x2C the statements will be appended\x0d\n // to its body instead of creating a new node.\x0d\n\x0d\n pp$8.parseTopLevel = function(node) {\x0d\n var exports = Object.create(null);\x0d\n if (!node.body) { node.body = []; }\x0d\n while (this.type !== types$1.eof) {\x0d\n var stmt = this.parseStatement(null\x2C true\x2C exports);\x0d\n node.body.push(stmt);\x0d\n }\x0d\n if (this.inModule)\x0d\n { for (var i = 0\x2C list = Object.keys(this.undefinedExports); i < list.length; i += 1)\x0d\n {\x0d\n var name = list[i];\x0d\n\x0d\n this.raiseRecoverable(this.undefinedExports[name].start\x2C ("Export '" + name + "' is not defined"));\x0d\n } }\x0d\n this.adaptDirectivePrologue(node.body);\x0d\n this.next();\x0d\n node.sourceType = this.options.sourceType;\x0d\n return this.finishNode(node\x2C "Program")\x0d\n };\x0d\n\x0d\n var loopLabel = {kind: "loop"}\x2C switchLabel = {kind: "switch"};\x0d\n\x0d\n pp$8.isLet = function(context) {\x0d\n if (this.options.ecmaVersion < 6 || !this.isContextual("let")) { return false }\x0d\n skipWhiteSpace.lastIndex = this.pos;\x0d\n var skip = skipWhiteSpace.exec(this.input);\x0d\n var next = this.pos + skip[0].length\x2C nextCh = this.input.charCodeAt(next);\x0d\n // For ambiguous cases\x2C determine if a LexicalDeclaration (or only a\x0d\n // Statement) is allowed here. If context is not empty then only a Statement\x0d\n // is allowed. However\x2C `let [` is an explicit negative lookahead for\x0d\n // ExpressionStatement\x2C so special-case it first.\x0d\n if (nextCh === 91 || nextCh === 92) { return true } // '['\x2C '/'\x0d\n if (context) { return false }\x0d\n\x0d\n if (nextCh === 123 || nextCh > 0xd7ff && nextCh < 0xdc00) { return true } // '{'\x2C astral\x0d\n if (isIdentifierStart(nextCh\x2C true)) {\x0d\n var pos = next + 1;\x0d\n while (isIdentifierChar(nextCh = this.input.charCodeAt(pos)\x2C true)) { ++pos; }\x0d\n if (nextCh === 92 || nextCh > 0xd7ff && nextCh < 0xdc00) { return true }\x0d\n var ident = this.input.slice(next\x2C pos);\x0d\n if (!keywordRelationalOperator.test(ident)) { return true }\x0d\n }\x0d\n return false\x0d\n };\x0d\n\x0d\n // check 'async [no LineTerminator here] function'\x0d\n // - 'async /*foo*/ function' is OK.\x0d\n // - 'async /*\\n*/ function' is invalid.\x0d\n pp$8.isAsyncFunction = function() {\x0d\n if (this.options.ecmaVersion < 8 || !this.isContextual("async"))\x0d\n { return false }\x0d\n\x0d\n skipWhiteSpace.lastIndex = this.pos;\x0d\n var skip = skipWhiteSpace.exec(this.input);\x0d\n var next = this.pos + skip[0].length\x2C after;\x0d\n return !lineBreak.test(this.input.slice(this.pos\x2C next)) &&\x0d\n this.input.slice(next\x2C next + 8) === "function" &&\x0d\n (next + 8 === this.input.length ||\x0d\n !(isIdentifierChar(after = this.input.charCodeAt(next + 8)) || after > 0xd7ff && after < 0xdc00))\x0d\n };\x0d\n\x0d\n // Parse a single statement.\x0d\n //\x0d\n // If expecting a statement and finding a slash operator\x2C parse a\x0d\n // regular expression literal. This is to handle cases like\x0d\n // `if (foo) /blah/.exec(foo)`\x2C where looking at the previous token\x0d\n // does not help.\x0d\n\x0d\n pp$8.parseStatement = function(context\x2C topLevel\x2C exports) {\x0d\n var starttype = this.type\x2C node = this.startNode()\x2C kind;\x0d\n\x0d\n if (this.isLet(context)) {\x0d\n starttype = types$1._var;\x0d\n kind = "let";\x0d\n }\x0d\n\x0d\n // Most types of statements are recognized by the keyword they\x0d\n // start with. Many are trivial to parse\x2C some require a bit of\x0d\n // complexity.\x0d\n\x0d\n switch (starttype) {\x0d\n case types$1._break: case types$1._continue: return this.parseBreakContinueStatement(node\x2C starttype.keyword)\x0d\n case types$1._debugger: return this.parseDebuggerStatement(node)\x0d\n case types$1._do: return this.parseDoStatement(node)\x0d\n case types$1._for: return this.parseForStatement(node)\x0d\n case types$1._function:\x0d\n // Function as sole body of either an if statement or a labeled statement\x0d\n // works\x2C but not when it is part of a labeled statement that is the sole\x0d\n // body of an if statement.\x0d\n if ((context && (this.strict || context !== "if" && context !== "label")) && this.options.ecmaVersion >= 6) { this.unexpected(); }\x0d\n return this.parseFunctionStatement(node\x2C false\x2C !context)\x0d\n case types$1._class:\x0d\n if (context) { this.unexpected(); }\x0d\n return this.parseClass(node\x2C true)\x0d\n case types$1._if: return this.parseIfStatement(node)\x0d\n case types$1._return: return this.parseReturnStatement(node)\x0d\n case types$1._switch: return this.parseSwitchStatement(node)\x0d\n case types$1._throw: return this.parseThrowStatement(node)\x0d\n case types$1._try: return this.parseTryStatement(node)\x0d\n case types$1._const: case types$1._var:\x0d\n kind = kind || this.value;\x0d\n if (context && kind !== "var") { this.unexpected(); }\x0d\n return this.parseVarStatement(node\x2C kind)\x0d\n case types$1._while: return this.parseWhileStatement(node)\x0d\n case types$1._with: return this.parseWithStatement(node)\x0d\n case types$1.braceL: return this.parseBlock(true\x2C node)\x0d\n case types$1.semi: return this.parseEmptyStatement(node)\x0d\n case types$1._export:\x0d\n case types$1._import:\x0d\n if (this.options.ecmaVersion > 10 && starttype === types$1._import) {\x0d\n skipWhiteSpace.lastIndex = this.pos;\x0d\n var skip = skipWhiteSpace.exec(this.input);\x0d\n var next = this.pos + skip[0].length\x2C nextCh = this.input.charCodeAt(next);\x0d\n if (nextCh === 40 || nextCh === 46) // '(' or '.'\x0d\n { return this.parseExpressionStatement(node\x2C this.parseExpression()) }\x0d\n }\x0d\n\x0d\n if (!this.options.allowImportExportEverywhere) {\x0d\n if (!topLevel)\x0d\n { this.raise(this.start\x2C "'import' and 'export' may only appear at the top level"); }\x0d\n if (!this.inModule)\x0d\n { this.raise(this.start\x2C "'import' and 'export' may appear only with 'sourceType: module'"); }\x0d\n }\x0d\n return starttype === types$1._import ? this.parseImport(node) : this.parseExport(node\x2C exports)\x0d\n\x0d\n // If the statement does not start with a statement keyword or a\x0d\n // brace\x2C it's an ExpressionStatement or LabeledStatement. We\x0d\n // simply start parsing an expression\x2C and afterwards\x2C if the\x0d\n // next token is a colon and the expression was a simple\x0d\n // Identifier node\x2C we switch to interpreting it as a label.\x0d\n default:\x0d\n if (this.isAsyncFunction()) {\x0d\n if (context) { this.unexpected(); }\x0d\n this.next();\x0d\n return this.parseFunctionStatement(node\x2C true\x2C !context)\x0d\n }\x0d\n\x0d\n var maybeName = this.value\x2C expr = this.parseExpression();\x0d\n if (starttype === types$1.name && expr.type === "Identifier" && this.eat(types$1.colon))\x0d\n { return this.parseLabeledStatement(node\x2C maybeName\x2C expr\x2C context) }\x0d\n else { return this.parseExpressionStatement(node\x2C expr) }\x0d\n }\x0d\n };\x0d\n\x0d\n pp$8.parseBreakContinueStatement = function(node\x2C keyword) {\x0d\n var isBreak = keyword === "break";\x0d\n this.next();\x0d\n if (this.eat(types$1.semi) || this.insertSemicolon()) { node.label = null; }\x0d\n else if (this.type !== types$1.name) { this.unexpected(); }\x0d\n else {\x0d\n node.label = this.parseIdent();\x0d\n this.semicolon();\x0d\n }\x0d\n\x0d\n // Verify that there is an actual destination to break or\x0d\n // continue to.\x0d\n var i = 0;\x0d\n for (; i < this.labels.length; ++i) {\x0d\n var lab = this.labels[i];\x0d\n if (node.label == null || lab.name === node.label.name) {\x0d\n if (lab.kind != null && (isBreak || lab.kind === "loop")) { break }\x0d\n if (node.label && isBreak) { break }\x0d\n }\x0d\n }\x0d\n if (i === this.labels.length) { this.raise(node.start\x2C "Unsyntactic " + keyword); }\x0d\n return this.finishNode(node\x2C isBreak ? "BreakStatement" : "ContinueStatement")\x0d\n };\x0d\n\x0d\n pp$8.parseDebuggerStatement = function(node) {\x0d\n this.next();\x0d\n this.semicolon();\x0d\n return this.finishNode(node\x2C "DebuggerStatement")\x0d\n };\x0d\n\x0d\n pp$8.parseDoStatement = function(node) {\x0d\n this.next();\x0d\n this.labels.push(loopLabel);\x0d\n node.body = this.parseStatement("do");\x0d\n this.labels.pop();\x0d\n this.expect(types$1._while);\x0d\n node.test = this.parseParenExpression();\x0d\n if (this.options.ecmaVersion >= 6)\x0d\n { this.eat(types$1.semi); }\x0d\n else\x0d\n { this.semicolon(); }\x0d\n return this.finishNode(node\x2C "DoWhileStatement")\x0d\n };\x0d\n\x0d\n // Disambiguating between a `for` and a `for`/`in` or `for`/`of`\x0d\n // loop is non-trivial. Basically\x2C we have to parse the init `var`\x0d\n // statement or expression\x2C disallowing the `in` operator (see\x0d\n // the second parameter to `parseExpression`)\x2C and then check\x0d\n // whether the next token is `in` or `of`. When there is no init\x0d\n // part (semicolon immediately after the opening parenthesis)\x2C it\x0d\n // is a regular `for` loop.\x0d\n\x0d\n pp$8.parseForStatement = function(node) {\x0d\n this.next();\x0d\n var awaitAt = (this.options.ecmaVersion >= 9 && this.canAwait && this.eatContextual("await")) ? this.lastTokStart : -1;\x0d\n this.labels.push(loopLabel);\x0d\n this.enterScope(0);\x0d\n this.expect(types$1.parenL);\x0d\n if (this.type === types$1.semi) {\x0d\n if (awaitAt > -1) { this.unexpected(awaitAt); }\x0d\n return this.parseFor(node\x2C null)\x0d\n }\x0d\n var isLet = this.isLet();\x0d\n if (this.type === types$1._var || this.type === types$1._const || isLet) {\x0d\n var init$1 = this.startNode()\x2C kind = isLet ? "let" : this.value;\x0d\n this.next();\x0d\n this.parseVar(init$1\x2C true\x2C kind);\x0d\n this.finishNode(init$1\x2C "VariableDeclaration");\x0d\n if ((this.type === types$1._in || (this.options.ecmaVersion >= 6 && this.isContextual("of"))) && init$1.declarations.length === 1) {\x0d\n if (this.options.ecmaVersion >= 9) {\x0d\n if (this.type === types$1._in) {\x0d\n if (awaitAt > -1) { this.unexpected(awaitAt); }\x0d\n } else { node.await = awaitAt > -1; }\x0d\n }\x0d\n return this.parseForIn(node\x2C init$1)\x0d\n }\x0d\n if (awaitAt > -1) { this.unexpected(awaitAt); }\x0d\n return this.parseFor(node\x2C init$1)\x0d\n }\x0d\n var startsWithLet = this.isContextual("let")\x2C isForOf = false;\x0d\n var refDestructuringErrors = new DestructuringErrors;\x0d\n var init = this.parseExpression(awaitAt > -1 ? "await" : true\x2C refDestructuringErrors);\x0d\n if (this.type === types$1._in || (isForOf = this.options.ecmaVersion >= 6 && this.isContextual("of"))) {\x0d\n if (this.options.ecmaVersion >= 9) {\x0d\n if (this.type === types$1._in) {\x0d\n if (awaitAt > -1) { this.unexpected(awaitAt); }\x0d\n } else { node.await = awaitAt > -1; }\x0d\n }\x0d\n if (startsWithLet && isForOf) { this.raise(init.start\x2C "The left-hand side of a for-of loop may not start with 'let'."); }\x0d\n this.toAssignable(init\x2C false\x2C refDestructuringErrors);\x0d\n this.checkLValPattern(init);\x0d\n return this.parseForIn(node\x2C init)\x0d\n } else {\x0d\n this.checkExpressionErrors(refDestructuringErrors\x2C true);\x0d\n }\x0d\n if (awaitAt > -1) { this.unexpected(awaitAt); }\x0d\n return this.parseFor(node\x2C init)\x0d\n };\x0d\n\x0d\n pp$8.parseFunctionStatement = function(node\x2C isAsync\x2C declarationPosition) {\x0d\n this.next();\x0d\n return this.parseFunction(node\x2C FUNC_STATEMENT | (declarationPosition ? 0 : FUNC_HANGING_STATEMENT)\x2C false\x2C isAsync)\x0d\n };\x0d\n\x0d\n pp$8.parseIfStatement = function(node) {\x0d\n this.next();\x0d\n node.test = this.parseParenExpression();\x0d\n // allow function declarations in branches\x2C but only in non-strict mode\x0d\n node.consequent = this.parseStatement("if");\x0d\n node.alternate = this.eat(types$1._else) ? this.parseStatement("if") : null;\x0d\n return this.finishNode(node\x2C "IfStatement")\x0d\n };\x0d\n\x0d\n pp$8.parseReturnStatement = function(node) {\x0d\n if (!this.inFunction && !this.options.allowReturnOutsideFunction)\x0d\n { this.raise(this.start\x2C "'return' outside of function"); }\x0d\n this.next();\x0d\n\x0d\n // In `return` (and `break`/`continue`)\x2C the keywords with\x0d\n // optional arguments\x2C we eagerly look for a semicolon or the\x0d\n // possibility to insert one.\x0d\n\x0d\n if (this.eat(types$1.semi) || this.insertSemicolon()) { node.argument = null; }\x0d\n else { node.argument = this.parseExpression(); this.semicolon(); }\x0d\n return this.finishNode(node\x2C "ReturnStatement")\x0d\n };\x0d\n\x0d\n pp$8.parseSwitchStatement = function(node) {\x0d\n this.next();\x0d\n node.discriminant = this.parseParenExpression();\x0d\n node.cases = [];\x0d\n this.expect(types$1.braceL);\x0d\n this.labels.push(switchLabel);\x0d\n this.enterScope(0);\x0d\n\x0d\n // Statements under must be grouped (by label) in SwitchCase\x0d\n // nodes. `cur` is used to keep the node that we are currently\x0d\n // adding statements to.\x0d\n\x0d\n var cur;\x0d\n for (var sawDefault = false; this.type !== types$1.braceR;) {\x0d\n if (this.type === types$1._case || this.type === types$1._default) {\x0d\n var isCase = this.type === types$1._case;\x0d\n if (cur) { this.finishNode(cur\x2C "SwitchCase"); }\x0d\n node.cases.push(cur = this.startNode());\x0d\n cur.consequent = [];\x0d\n this.next();\x0d\n if (isCase) {\x0d\n cur.test = this.parseExpression();\x0d\n } else {\x0d\n if (sawDefault) { this.raiseRecoverable(this.lastTokStart\x2C "Multiple default clauses"); }\x0d\n sawDefault = true;\x0d\n cur.test = null;\x0d\n }\x0d\n this.expect(types$1.colon);\x0d\n } else {\x0d\n if (!cur) { this.unexpected(); }\x0d\n cur.consequent.push(this.parseStatement(null));\x0d\n }\x0d\n }\x0d\n this.exitScope();\x0d\n if (cur) { this.finishNode(cur\x2C "SwitchCase"); }\x0d\n this.next(); // Closing brace\x0d\n this.labels.pop();\x0d\n return this.finishNode(node\x2C "SwitchStatement")\x0d\n };\x0d\n\x0d\n pp$8.parseThrowStatement = function(node) {\x0d\n this.next();\x0d\n if (lineBreak.test(this.input.slice(this.lastTokEnd\x2C this.start)))\x0d\n { this.raise(this.lastTokEnd\x2C "Illegal newline after throw"); }\x0d\n node.argument = this.parseExpression();\x0d\n this.semicolon();\x0d\n return this.finishNode(node\x2C "ThrowStatement")\x0d\n };\x0d\n\x0d\n // Reused empty array added for node fields that are always empty.\x0d\n\x0d\n var empty$1 = [];\x0d\n\x0d\n pp$8.parseCatchClauseParam = function() {\x0d\n var param = this.parseBindingAtom();\x0d\n var simple = param.type === "Identifier";\x0d\n this.enterScope(simple ? SCOPE_SIMPLE_CATCH : 0);\x0d\n this.checkLValPattern(param\x2C simple ? BIND_SIMPLE_CATCH : BIND_LEXICAL);\x0d\n this.expect(types$1.parenR);\x0d\n\x0d\n return param\x0d\n };\x0d\n\x0d\n pp$8.parseTryStatement = function(node) {\x0d\n this.next();\x0d\n node.block = this.parseBlock();\x0d\n node.handler = null;\x0d\n if (this.type === types$1._catch) {\x0d\n var clause = this.startNode();\x0d\n this.next();\x0d\n if (this.eat(types$1.parenL)) {\x0d\n clause.param = this.parseCatchClauseParam();\x0d\n } else {\x0d\n if (this.options.ecmaVersion < 10) { this.unexpected(); }\x0d\n clause.param = null;\x0d\n this.enterScope(0);\x0d\n }\x0d\n clause.body = this.parseBlock(false);\x0d\n this.exitScope();\x0d\n node.handler = this.finishNode(clause\x2C "CatchClause");\x0d\n }\x0d\n node.finalizer = this.eat(types$1._finally) ? this.parseBlock() : null;\x0d\n if (!node.handler && !node.finalizer)\x0d\n { this.raise(node.start\x2C "Missing catch or finally clause"); }\x0d\n return this.finishNode(node\x2C "TryStatement")\x0d\n };\x0d\n\x0d\n pp$8.parseVarStatement = function(node\x2C kind\x2C allowMissingInitializer) {\x0d\n this.next();\x0d\n this.parseVar(node\x2C false\x2C kind\x2C allowMissingInitializer);\x0d\n this.semicolon();\x0d\n return this.finishNode(node\x2C "VariableDeclaration")\x0d\n };\x0d\n\x0d\n pp$8.parseWhileStatement = function(node) {\x0d\n this.next();\x0d\n node.test = this.parseParenExpression();\x0d\n this.labels.push(loopLabel);\x0d\n node.body = this.parseStatement("while");\x0d\n this.labels.pop();\x0d\n return this.finishNode(node\x2C "WhileStatement")\x0d\n };\x0d\n\x0d\n pp$8.parseWithStatement = function(node) {\x0d\n if (this.strict) { this.raise(this.start\x2C "'with' in strict mode"); }\x0d\n this.next();\x0d\n node.object = this.parseParenExpression();\x0d\n node.body = this.parseStatement("with");\x0d\n return this.finishNode(node\x2C "WithStatement")\x0d\n };\x0d\n\x0d\n pp$8.parseEmptyStatement = function(node) {\x0d\n this.next();\x0d\n return this.finishNode(node\x2C "EmptyStatement")\x0d\n };\x0d\n\x0d\n pp$8.parseLabeledStatement = function(node\x2C maybeName\x2C expr\x2C context) {\x0d\n for (var i$1 = 0\x2C list = this.labels; i$1 < list.length; i$1 += 1)\x0d\n {\x0d\n var label = list[i$1];\x0d\n\x0d\n if (label.name === maybeName)\x0d\n { this.raise(expr.start\x2C "Label '" + maybeName + "' is already declared");\x0d\n } }\x0d\n var kind = this.type.isLoop ? "loop" : this.type === types$1._switch ? "switch" : null;\x0d\n for (var i = this.labels.length - 1; i >= 0; i--) {\x0d\n var label$1 = this.labels[i];\x0d\n if (label$1.statementStart === node.start) {\x0d\n // Update information about previous labels on this node\x0d\n label$1.statementStart = this.start;\x0d\n label$1.kind = kind;\x0d\n } else { break }\x0d\n }\x0d\n this.labels.push({name: maybeName\x2C kind: kind\x2C statementStart: this.start});\x0d\n node.body = this.parseStatement(context ? context.indexOf("label") === -1 ? context + "label" : context : "label");\x0d\n this.labels.pop();\x0d\n node.label = expr;\x0d\n return this.finishNode(node\x2C "LabeledStatement")\x0d\n };\x0d\n\x0d\n pp$8.parseExpressionStatement = function(node\x2C expr) {\x0d\n node.expression = expr;\x0d\n this.semicolon();\x0d\n return this.finishNode(node\x2C "ExpressionStatement")\x0d\n };\x0d\n\x0d\n // Parse a semicolon-enclosed block of statements\x2C handling `"use\x0d\n // strict"` declarations when `allowStrict` is true (used for\x0d\n // function bodies).\x0d\n\x0d\n pp$8.parseBlock = function(createNewLexicalScope\x2C node\x2C exitStrict) {\x0d\n if ( createNewLexicalScope === void 0 ) createNewLexicalScope = true;\x0d\n if ( node === void 0 ) node = this.startNode();\x0d\n\x0d\n node.body = [];\x0d\n this.expect(types$1.braceL);\x0d\n if (createNewLexicalScope) { this.enterScope(0); }\x0d\n while (this.type !== types$1.braceR) {\x0d\n var stmt = this.parseStatement(null);\x0d\n node.body.push(stmt);\x0d\n }\x0d\n if (exitStrict) { this.strict = false; }\x0d\n this.next();\x0d\n if (createNewLexicalScope) { this.exitScope(); }\x0d\n return this.finishNode(node\x2C "BlockStatement")\x0d\n };\x0d\n\x0d\n // Parse a regular `for` loop. The disambiguation code in\x0d\n // `parseStatement` will already have parsed the init statement or\x0d\n // expression.\x0d\n\x0d\n pp$8.parseFor = function(node\x2C init) {\x0d\n node.init = init;\x0d\n this.expect(types$1.semi);\x0d\n node.test = this.type === types$1.semi ? null : this.parseExpression();\x0d\n this.expect(types$1.semi);\x0d\n node.update = this.type === types$1.parenR ? null : this.parseExpression();\x0d\n this.expect(types$1.parenR);\x0d\n node.body = this.parseStatement("for");\x0d\n this.exitScope();\x0d\n this.labels.pop();\x0d\n return this.finishNode(node\x2C "ForStatement")\x0d\n };\x0d\n\x0d\n // Parse a `for`/`in` and `for`/`of` loop\x2C which are almost\x0d\n // same from parser's perspective.\x0d\n\x0d\n pp$8.parseForIn = function(node\x2C init) {\x0d\n var isForIn = this.type === types$1._in;\x0d\n this.next();\x0d\n\x0d\n if (\x0d\n init.type === "VariableDeclaration" &&\x0d\n init.declarations[0].init != null &&\x0d\n (\x0d\n !isForIn ||\x0d\n this.options.ecmaVersion < 8 ||\x0d\n this.strict ||\x0d\n init.kind !== "var" ||\x0d\n init.declarations[0].id.type !== "Identifier"\x0d\n )\x0d\n ) {\x0d\n this.raise(\x0d\n init.start\x2C\x0d\n ((isForIn ? "for-in" : "for-of") + " loop variable declaration may not have an initializer")\x0d\n );\x0d\n }\x0d\n node.left = init;\x0d\n node.right = isForIn ? this.parseExpression() : this.parseMaybeAssign();\x0d\n this.expect(types$1.parenR);\x0d\n node.body = this.parseStatement("for");\x0d\n this.exitScope();\x0d\n this.labels.pop();\x0d\n return this.finishNode(node\x2C isForIn ? "ForInStatement" : "ForOfStatement")\x0d\n };\x0d\n\x0d\n // Parse a list of variable declarations.\x0d\n\x0d\n pp$8.parseVar = function(node\x2C isFor\x2C kind\x2C allowMissingInitializer) {\x0d\n node.declarations = [];\x0d\n node.kind = kind;\x0d\n for (;;) {\x0d\n var decl = this.startNode();\x0d\n this.parseVarId(decl\x2C kind);\x0d\n if (this.eat(types$1.eq)) {\x0d\n decl.init = this.parseMaybeAssign(isFor);\x0d\n } else if (!allowMissingInitializer && kind === "const" && !(this.type === types$1._in || (this.options.ecmaVersion >= 6 && this.isContextual("of")))) {\x0d\n this.unexpected();\x0d\n } else if (!allowMissingInitializer && decl.id.type !== "Identifier" && !(isFor && (this.type === types$1._in || this.isContextual("of")))) {\x0d\n this.raise(this.lastTokEnd\x2C "Complex binding patterns require an initialization value");\x0d\n } else {\x0d\n decl.init = null;\x0d\n }\x0d\n node.declarations.push(this.finishNode(decl\x2C "VariableDeclarator"));\x0d\n if (!this.eat(types$1.comma)) { break }\x0d\n }\x0d\n return node\x0d\n };\x0d\n\x0d\n pp$8.parseVarId = function(decl\x2C kind) {\x0d\n decl.id = this.parseBindingAtom();\x0d\n this.checkLValPattern(decl.id\x2C kind === "var" ? BIND_VAR : BIND_LEXICAL\x2C false);\x0d\n };\x0d\n\x0d\n var FUNC_STATEMENT = 1\x2C FUNC_HANGING_STATEMENT = 2\x2C FUNC_NULLABLE_ID = 4;\x0d\n\x0d\n // Parse a function declaration or literal (depending on the\x0d\n // `statement & FUNC_STATEMENT`).\x0d\n\x0d\n // Remove `allowExpressionBody` for 7.0.0\x2C as it is only called with false\x0d\n pp$8.parseFunction = function(node\x2C statement\x2C allowExpressionBody\x2C isAsync\x2C forInit) {\x0d\n this.initFunction(node);\x0d\n if (this.options.ecmaVersion >= 9 || this.options.ecmaVersion >= 6 && !isAsync) {\x0d\n if (this.type === types$1.star && (statement & FUNC_HANGING_STATEMENT))\x0d\n { this.unexpected(); }\x0d\n node.generator = this.eat(types$1.star);\x0d\n }\x0d\n if (this.options.ecmaVersion >= 8)\x0d\n { node.async = !!isAsync; }\x0d\n\x0d\n if (statement & FUNC_STATEMENT) {\x0d\n node.id = (statement & FUNC_NULLABLE_ID) && this.type !== types$1.name ? null : this.parseIdent();\x0d\n if (node.id && !(statement & FUNC_HANGING_STATEMENT))\x0d\n // If it is a regular function declaration in sloppy mode\x2C then it is\x0d\n // subject to Annex B semantics (BIND_FUNCTION). Otherwise\x2C the binding\x0d\n // mode depends on properties of the current scope (see\x0d\n // treatFunctionsAsVar).\x0d\n { this.checkLValSimple(node.id\x2C (this.strict || node.generator || node.async) ? this.treatFunctionsAsVar ? BIND_VAR : BIND_LEXICAL : BIND_FUNCTION); }\x0d\n }\x0d\n\x0d\n var oldYieldPos = this.yieldPos\x2C oldAwaitPos = this.awaitPos\x2C oldAwaitIdentPos = this.awaitIdentPos;\x0d\n this.yieldPos = 0;\x0d\n this.awaitPos = 0;\x0d\n this.awaitIdentPos = 0;\x0d\n this.enterScope(functionFlags(node.async\x2C node.generator));\x0d\n\x0d\n if (!(statement & FUNC_STATEMENT))\x0d\n { node.id = this.type === types$1.name ? this.parseIdent() : null; }\x0d\n\x0d\n this.parseFunctionParams(node);\x0d\n this.parseFunctionBody(node\x2C allowExpressionBody\x2C false\x2C forInit);\x0d\n\x0d\n this.yieldPos = oldYieldPos;\x0d\n this.awaitPos = oldAwaitPos;\x0d\n this.awaitIdentPos = oldAwaitIdentPos;\x0d\n return this.finishNode(node\x2C (statement & FUNC_STATEMENT) ? "FunctionDeclaration" : "FunctionExpression")\x0d\n };\x0d\n\x0d\n pp$8.parseFunctionParams = function(node) {\x0d\n this.expect(types$1.parenL);\x0d\n node.params = this.parseBindingList(types$1.parenR\x2C false\x2C this.options.ecmaVersion >= 8);\x0d\n this.checkYieldAwaitInDefaultParams();\x0d\n };\x0d\n\x0d\n // Parse a class declaration or literal (depending on the\x0d\n // `isStatement` parameter).\x0d\n\x0d\n pp$8.parseClass = function(node\x2C isStatement) {\x0d\n this.next();\x0d\n\x0d\n // ecma-262 14.6 Class Definitions\x0d\n // A class definition is always strict mode code.\x0d\n var oldStrict = this.strict;\x0d\n this.strict = true;\x0d\n\x0d\n this.parseClassId(node\x2C isStatement);\x0d\n this.parseClassSuper(node);\x0d\n var privateNameMap = this.enterClassBody();\x0d\n var classBody = this.startNode();\x0d\n var hadConstructor = false;\x0d\n classBody.body = [];\x0d\n this.expect(types$1.braceL);\x0d\n while (this.type !== types$1.braceR) {\x0d\n var element = this.parseClassElement(node.superClass !== null);\x0d\n if (element) {\x0d\n classBody.body.push(element);\x0d\n if (element.type === "MethodDefinition" && element.kind === "constructor") {\x0d\n if (hadConstructor) { this.raiseRecoverable(element.start\x2C "Duplicate constructor in the same class"); }\x0d\n hadConstructor = true;\x0d\n } else if (element.key && element.key.type === "PrivateIdentifier" && isPrivateNameConflicted(privateNameMap\x2C element)) {\x0d\n this.raiseRecoverable(element.key.start\x2C ("Identifier '#" + (element.key.name) + "' has already been declared"));\x0d\n }\x0d\n }\x0d\n }\x0d\n this.strict = oldStrict;\x0d\n this.next();\x0d\n node.body = this.finishNode(classBody\x2C "ClassBody");\x0d\n this.exitClassBody();\x0d\n return this.finishNode(node\x2C isStatement ? "ClassDeclaration" : "ClassExpression")\x0d\n };\x0d\n\x0d\n pp$8.parseClassElement = function(constructorAllowsSuper) {\x0d\n if (this.eat(types$1.semi)) { return null }\x0d\n\x0d\n var ecmaVersion = this.options.ecmaVersion;\x0d\n var node = this.startNode();\x0d\n var keyName = "";\x0d\n var isGenerator = false;\x0d\n var isAsync = false;\x0d\n var kind = "method";\x0d\n var isStatic = false;\x0d\n\x0d\n if (this.eatContextual("static")) {\x0d\n // Parse static init block\x0d\n if (ecmaVersion >= 13 && this.eat(types$1.braceL)) {\x0d\n this.parseClassStaticBlock(node);\x0d\n return node\x0d\n }\x0d\n if (this.isClassElementNameStart() || this.type === types$1.star) {\x0d\n isStatic = true;\x0d\n } else {\x0d\n keyName = "static";\x0d\n }\x0d\n }\x0d\n node.static = isStatic;\x0d\n if (!keyName && ecmaVersion >= 8 && this.eatContextual("async")) {\x0d\n if ((this.isClassElementNameStart() || this.type === types$1.star) && !this.canInsertSemicolon()) {\x0d\n isAsync = true;\x0d\n } else {\x0d\n keyName = "async";\x0d\n }\x0d\n }\x0d\n if (!keyName && (ecmaVersion >= 9 || !isAsync) && this.eat(types$1.star)) {\x0d\n isGenerator = true;\x0d\n }\x0d\n if (!keyName && !isAsync && !isGenerator) {\x0d\n var lastValue = this.value;\x0d\n if (this.eatContextual("get") || this.eatContextual("set")) {\x0d\n if (this.isClassElementNameStart()) {\x0d\n kind = lastValue;\x0d\n } else {\x0d\n keyName = lastValue;\x0d\n }\x0d\n }\x0d\n }\x0d\n\x0d\n // Parse element name\x0d\n if (keyName) {\x0d\n // 'async'\x2C 'get'\x2C 'set'\x2C or 'static' were not a keyword contextually.\x0d\n // The last token is any of those. Make it the element name.\x0d\n node.computed = false;\x0d\n node.key = this.startNodeAt(this.lastTokStart\x2C this.lastTokStartLoc);\x0d\n node.key.name = keyName;\x0d\n this.finishNode(node.key\x2C "Identifier");\x0d\n } else {\x0d\n this.parseClassElementName(node);\x0d\n }\x0d\n\x0d\n // Parse element value\x0d\n if (ecmaVersion < 13 || this.type === types$1.parenL || kind !== "method" || isGenerator || isAsync) {\x0d\n var isConstructor = !node.static && checkKeyName(node\x2C "constructor");\x0d\n var allowsDirectSuper = isConstructor && constructorAllowsSuper;\x0d\n // Couldn't move this check into the 'parseClassMethod' method for backward compatibility.\x0d\n if (isConstructor && kind !== "method") { this.raise(node.key.start\x2C "Constructor can't have get/set modifier"); }\x0d\n node.kind = isConstructor ? "constructor" : kind;\x0d\n this.parseClassMethod(node\x2C isGenerator\x2C isAsync\x2C allowsDirectSuper);\x0d\n } else {\x0d\n this.parseClassField(node);\x0d\n }\x0d\n\x0d\n return node\x0d\n };\x0d\n\x0d\n pp$8.isClassElementNameStart = function() {\x0d\n return (\x0d\n this.type === types$1.name ||\x0d\n this.type === types$1.privateId ||\x0d\n this.type === types$1.num ||\x0d\n this.type === types$1.string ||\x0d\n this.type === types$1.bracketL ||\x0d\n this.type.keyword\x0d\n )\x0d\n };\x0d\n\x0d\n pp$8.parseClassElementName = function(element) {\x0d\n if (this.type === types$1.privateId) {\x0d\n if (this.value === "constructor") {\x0d\n this.raise(this.start\x2C "Classes can't have an element named '#constructor'");\x0d\n }\x0d\n element.computed = false;\x0d\n element.key = this.parsePrivateIdent();\x0d\n } else {\x0d\n this.parsePropertyName(element);\x0d\n }\x0d\n };\x0d\n\x0d\n pp$8.parseClassMethod = function(method\x2C isGenerator\x2C isAsync\x2C allowsDirectSuper) {\x0d\n // Check key and flags\x0d\n var key = method.key;\x0d\n if (method.kind === "constructor") {\x0d\n if (isGenerator) { this.raise(key.start\x2C "Constructor can't be a generator"); }\x0d\n if (isAsync) { this.raise(key.start\x2C "Constructor can't be an async method"); }\x0d\n } else if (method.static && checkKeyName(method\x2C "prototype")) {\x0d\n this.raise(key.start\x2C "Classes may not have a static property named prototype");\x0d\n }\x0d\n\x0d\n // Parse value\x0d\n var value = method.value = this.parseMethod(isGenerator\x2C isAsync\x2C allowsDirectSuper);\x0d\n\x0d\n // Check value\x0d\n if (method.kind === "get" && value.params.length !== 0)\x0d\n { this.raiseRecoverable(value.start\x2C "getter should have no params"); }\x0d\n if (method.kind === "set" && value.params.length !== 1)\x0d\n { this.raiseRecoverable(value.start\x2C "setter should have exactly one param"); }\x0d\n if (method.kind === "set" && value.params[0].type === "RestElement")\x0d\n { this.raiseRecoverable(value.params[0].start\x2C "Setter cannot use rest params"); }\x0d\n\x0d\n return this.finishNode(method\x2C "MethodDefinition")\x0d\n };\x0d\n\x0d\n pp$8.parseClassField = function(field) {\x0d\n if (checkKeyName(field\x2C "constructor")) {\x0d\n this.raise(field.key.start\x2C "Classes can't have a field named 'constructor'");\x0d\n } else if (field.static && checkKeyName(field\x2C "prototype")) {\x0d\n this.raise(field.key.start\x2C "Classes can't have a static field named 'prototype'");\x0d\n }\x0d\n\x0d\n if (this.eat(types$1.eq)) {\x0d\n // To raise SyntaxError if 'arguments' exists in the initializer.\x0d\n var scope = this.currentThisScope();\x0d\n var inClassFieldInit = scope.inClassFieldInit;\x0d\n scope.inClassFieldInit = true;\x0d\n field.value = this.parseMaybeAssign();\x0d\n scope.inClassFieldInit = inClassFieldInit;\x0d\n } else {\x0d\n field.value = null;\x0d\n }\x0d\n this.semicolon();\x0d\n\x0d\n return this.finishNode(field\x2C "PropertyDefinition")\x0d\n };\x0d\n\x0d\n pp$8.parseClassStaticBlock = function(node) {\x0d\n node.body = [];\x0d\n\x0d\n var oldLabels = this.labels;\x0d\n this.labels = [];\x0d\n this.enterScope(SCOPE_CLASS_STATIC_BLOCK | SCOPE_SUPER);\x0d\n while (this.type !== types$1.braceR) {\x0d\n var stmt = this.parseStatement(null);\x0d\n node.body.push(stmt);\x0d\n }\x0d\n this.next();\x0d\n this.exitScope();\x0d\n this.labels = oldLabels;\x0d\n\x0d\n return this.finishNode(node\x2C "StaticBlock")\x0d\n };\x0d\n\x0d\n pp$8.parseClassId = function(node\x2C isStatement) {\x0d\n if (this.type === types$1.name) {\x0d\n node.id = this.parseIdent();\x0d\n if (isStatement)\x0d\n { this.checkLValSimple(node.id\x2C BIND_LEXICAL\x2C false); }\x0d\n } else {\x0d\n if (isStatement === true)\x0d\n { this.unexpected(); }\x0d\n node.id = null;\x0d\n }\x0d\n };\x0d\n\x0d\n pp$8.parseClassSuper = function(node) {\x0d\n node.superClass = this.eat(types$1._extends) ? this.parseExprSubscripts(null\x2C false) : null;\x0d\n };\x0d\n\x0d\n pp$8.enterClassBody = function() {\x0d\n var element = {declared: Object.create(null)\x2C used: []};\x0d\n this.privateNameStack.push(element);\x0d\n return element.declared\x0d\n };\x0d\n\x0d\n pp$8.exitClassBody = function() {\x0d\n var ref = this.privateNameStack.pop();\x0d\n var declared = ref.declared;\x0d\n var used = ref.used;\x0d\n if (!this.options.checkPrivateFields) { return }\x0d\n var len = this.privateNameStack.length;\x0d\n var parent = len === 0 ? null : this.privateNameStack[len - 1];\x0d\n for (var i = 0; i < used.length; ++i) {\x0d\n var id = used[i];\x0d\n if (!hasOwn(declared\x2C id.name)) {\x0d\n if (parent) {\x0d\n parent.used.push(id);\x0d\n } else {\x0d\n this.raiseRecoverable(id.start\x2C ("Private field '#" + (id.name) + "' must be declared in an enclosing class"));\x0d\n }\x0d\n }\x0d\n }\x0d\n };\x0d\n\x0d\n function isPrivateNameConflicted(privateNameMap\x2C element) {\x0d\n var name = element.key.name;\x0d\n var curr = privateNameMap[name];\x0d\n\x0d\n var next = "true";\x0d\n if (element.type === "MethodDefinition" && (element.kind === "get" || element.kind === "set")) {\x0d\n next = (element.static ? "s" : "i") + element.kind;\x0d\n }\x0d\n\x0d\n // `class { get #a(){}; static set #a(_){} }` is also conflict.\x0d\n if (\x0d\n curr === "iget" && next === "iset" ||\x0d\n curr === "iset" && next === "iget" ||\x0d\n curr === "sget" && next === "sset" ||\x0d\n curr === "sset" && next === "sget"\x0d\n ) {\x0d\n privateNameMap[name] = "true";\x0d\n return false\x0d\n } else if (!curr) {\x0d\n privateNameMap[name] = next;\x0d\n return false\x0d\n } else {\x0d\n return true\x0d\n }\x0d\n }\x0d\n\x0d\n function checkKeyName(node\x2C name) {\x0d\n var computed = node.computed;\x0d\n var key = node.key;\x0d\n return !computed && (\x0d\n key.type === "Identifier" && key.name === name ||\x0d\n key.type === "Literal" && key.value === name\x0d\n )\x0d\n }\x0d\n\x0d\n // Parses module export declaration.\x0d\n\x0d\n pp$8.parseExportAllDeclaration = function(node\x2C exports) {\x0d\n if (this.options.ecmaVersion >= 11) {\x0d\n if (this.eatContextual("as")) {\x0d\n node.exported = this.parseModuleExportName();\x0d\n this.checkExport(exports\x2C node.exported\x2C this.lastTokStart);\x0d\n } else {\x0d\n node.exported = null;\x0d\n }\x0d\n }\x0d\n this.expectContextual("from");\x0d\n if (this.type !== types$1.string) { this.unexpected(); }\x0d\n node.source = this.parseExprAtom();\x0d\n this.semicolon();\x0d\n return this.finishNode(node\x2C "ExportAllDeclaration")\x0d\n };\x0d\n\x0d\n pp$8.parseExport = function(node\x2C exports) {\x0d\n this.next();\x0d\n // export * from '...'\x0d\n if (this.eat(types$1.star)) {\x0d\n return this.parseExportAllDeclaration(node\x2C exports)\x0d\n }\x0d\n if (this.eat(types$1._default)) { // export default ...\x0d\n this.checkExport(exports\x2C "default"\x2C this.lastTokStart);\x0d\n node.declaration = this.parseExportDefaultDeclaration();\x0d\n return this.finishNode(node\x2C "ExportDefaultDeclaration")\x0d\n }\x0d\n // export var|const|let|function|class ...\x0d\n if (this.shouldParseExportStatement()) {\x0d\n node.declaration = this.parseExportDeclaration(node);\x0d\n if (node.declaration.type === "VariableDeclaration")\x0d\n { this.checkVariableExport(exports\x2C node.declaration.declarations); }\x0d\n else\x0d\n { this.checkExport(exports\x2C node.declaration.id\x2C node.declaration.id.start); }\x0d\n node.specifiers = [];\x0d\n node.source = null;\x0d\n } else { // export { x\x2C y as z } [from '...']\x0d\n node.declaration = null;\x0d\n node.specifiers = this.parseExportSpecifiers(exports);\x0d\n if (this.eatContextual("from")) {\x0d\n if (this.type !== types$1.string) { this.unexpected(); }\x0d\n node.source = this.parseExprAtom();\x0d\n } else {\x0d\n for (var i = 0\x2C list = node.specifiers; i < list.length; i += 1) {\x0d\n // check for keywords used as local names\x0d\n var spec = list[i];\x0d\n\x0d\n this.checkUnreserved(spec.local);\x0d\n // check if export is defined\x0d\n this.checkLocalExport(spec.local);\x0d\n\x0d\n if (spec.local.type === "Literal") {\x0d\n this.raise(spec.local.start\x2C "A string literal cannot be used as an exported binding without `from`.");\x0d\n }\x0d\n }\x0d\n\x0d\n node.source = null;\x0d\n }\x0d\n this.semicolon();\x0d\n }\x0d\n return this.finishNode(node\x2C "ExportNamedDeclaration")\x0d\n };\x0d\n\x0d\n pp$8.parseExportDeclaration = function(node) {\x0d\n return this.parseStatement(null)\x0d\n };\x0d\n\x0d\n pp$8.parseExportDefaultDeclaration = function() {\x0d\n var isAsync;\x0d\n if (this.type === types$1._function || (isAsync = this.isAsyncFunction())) {\x0d\n var fNode = this.startNode();\x0d\n this.next();\x0d\n if (isAsync) { this.next(); }\x0d\n return this.parseFunction(fNode\x2C FUNC_STATEMENT | FUNC_NULLABLE_ID\x2C false\x2C isAsync)\x0d\n } else if (this.type === types$1._class) {\x0d\n var cNode = this.startNode();\x0d\n return this.parseClass(cNode\x2C "nullableID")\x0d\n } else {\x0d\n var declaration = this.parseMaybeAssign();\x0d\n this.semicolon();\x0d\n return declaration\x0d\n }\x0d\n };\x0d\n\x0d\n pp$8.checkExport = function(exports\x2C name\x2C pos) {\x0d\n if (!exports) { return }\x0d\n if (typeof name !== "string")\x0d\n { name = name.type === "Identifier" ? name.name : name.value; }\x0d\n if (hasOwn(exports\x2C name))\x0d\n { this.raiseRecoverable(pos\x2C "Duplicate export '" + name + "'"); }\x0d\n exports[name] = true;\x0d\n };\x0d\n\x0d\n pp$8.checkPatternExport = function(exports\x2C pat) {\x0d\n var type = pat.type;\x0d\n if (type === "Identifier")\x0d\n { this.checkExport(exports\x2C pat\x2C pat.start); }\x0d\n else if (type === "ObjectPattern")\x0d\n { for (var i = 0\x2C list = pat.properties; i < list.length; i += 1)\x0d\n {\x0d\n var prop = list[i];\x0d\n\x0d\n this.checkPatternExport(exports\x2C prop);\x0d\n } }\x0d\n else if (type === "ArrayPattern")\x0d\n { for (var i$1 = 0\x2C list$1 = pat.elements; i$1 < list$1.length; i$1 += 1) {\x0d\n var elt = list$1[i$1];\x0d\n\x0d\n if (elt) { this.checkPatternExport(exports\x2C elt); }\x0d\n } }\x0d\n else if (type === "Property")\x0d\n { this.checkPatternExport(exports\x2C pat.value); }\x0d\n else if (type === "AssignmentPattern")\x0d\n { this.checkPatternExport(exports\x2C pat.left); }\x0d\n else if (type === "RestElement")\x0d\n { this.checkPatternExport(exports\x2C pat.argument); }\x0d\n };\x0d\n\x0d\n pp$8.checkVariableExport = function(exports\x2C decls) {\x0d\n if (!exports) { return }\x0d\n for (var i = 0\x2C list = decls; i < list.length; i += 1)\x0d\n {\x0d\n var decl = list[i];\x0d\n\x0d\n this.checkPatternExport(exports\x2C decl.id);\x0d\n }\x0d\n };\x0d\n\x0d\n pp$8.shouldParseExportStatement = function() {\x0d\n return this.type.keyword === "var" ||\x0d\n this.type.keyword === "const" ||\x0d\n this.type.keyword === "class" ||\x0d\n this.type.keyword === "function" ||\x0d\n this.isLet() ||\x0d\n this.isAsyncFunction()\x0d\n };\x0d\n\x0d\n // Parses a comma-separated list of module exports.\x0d\n\x0d\n pp$8.parseExportSpecifier = function(exports) {\x0d\n var node = this.startNode();\x0d\n node.local = this.parseModuleExportName();\x0d\n\x0d\n node.exported = this.eatContextual("as") ? this.parseModuleExportName() : node.local;\x0d\n this.checkExport(\x0d\n exports\x2C\x0d\n node.exported\x2C\x0d\n node.exported.start\x0d\n );\x0d\n\x0d\n return this.finishNode(node\x2C "ExportSpecifier")\x0d\n };\x0d\n\x0d\n pp$8.parseExportSpecifiers = function(exports) {\x0d\n var nodes = []\x2C first = true;\x0d\n // export { x\x2C y as z } [from '...']\x0d\n this.expect(types$1.braceL);\x0d\n while (!this.eat(types$1.braceR)) {\x0d\n if (!first) {\x0d\n this.expect(types$1.comma);\x0d\n if (this.afterTrailingComma(types$1.braceR)) { break }\x0d\n } else { first = false; }\x0d\n\x0d\n nodes.push(this.parseExportSpecifier(exports));\x0d\n }\x0d\n return nodes\x0d\n };\x0d\n\x0d\n // Parses import declaration.\x0d\n\x0d\n pp$8.parseImport = function(node) {\x0d\n this.next();\x0d\n\x0d\n // import '...'\x0d\n if (this.type === types$1.string) {\x0d\n node.specifiers = empty$1;\x0d\n node.source = this.parseExprAtom();\x0d\n } else {\x0d\n node.specifiers = this.parseImportSpecifiers();\x0d\n this.expectContextual("from");\x0d\n node.source = this.type === types$1.string ? this.parseExprAtom() : this.unexpected();\x0d\n }\x0d\n this.semicolon();\x0d\n return this.finishNode(node\x2C "ImportDeclaration")\x0d\n };\x0d\n\x0d\n // Parses a comma-separated list of module imports.\x0d\n\x0d\n pp$8.parseImportSpecifier = function() {\x0d\n var node = this.startNode();\x0d\n node.imported = this.parseModuleExportName();\x0d\n\x0d\n if (this.eatContextual("as")) {\x0d\n node.local = this.parseIdent();\x0d\n } else {\x0d\n this.checkUnreserved(node.imported);\x0d\n node.local = node.imported;\x0d\n }\x0d\n this.checkLValSimple(node.local\x2C BIND_LEXICAL);\x0d\n\x0d\n return this.finishNode(node\x2C "ImportSpecifier")\x0d\n };\x0d\n\x0d\n pp$8.parseImportDefaultSpecifier = function() {\x0d\n // import defaultObj\x2C { x\x2C y as z } from '...'\x0d\n var node = this.startNode();\x0d\n node.local = this.parseIdent();\x0d\n this.checkLValSimple(node.local\x2C BIND_LEXICAL);\x0d\n return this.finishNode(node\x2C "ImportDefaultSpecifier")\x0d\n };\x0d\n\x0d\n pp$8.parseImportNamespaceSpecifier = function() {\x0d\n var node = this.startNode();\x0d\n this.next();\x0d\n this.expectContextual("as");\x0d\n node.local = this.parseIdent();\x0d\n this.checkLValSimple(node.local\x2C BIND_LEXICAL);\x0d\n return this.finishNode(node\x2C "ImportNamespaceSpecifier")\x0d\n };\x0d\n\x0d\n pp$8.parseImportSpecifiers = function() {\x0d\n var nodes = []\x2C first = true;\x0d\n if (this.type === types$1.name) {\x0d\n nodes.push(this.parseImportDefaultSpecifier());\x0d\n if (!this.eat(types$1.comma)) { return nodes }\x0d\n }\x0d\n if (this.type === types$1.star) {\x0d\n nodes.push(this.parseImportNamespaceSpecifier());\x0d\n return nodes\x0d\n }\x0d\n this.expect(types$1.braceL);\x0d\n while (!this.eat(types$1.braceR)) {\x0d\n if (!first) {\x0d\n this.expect(types$1.comma);\x0d\n if (this.afterTrailingComma(types$1.braceR)) { break }\x0d\n } else { first = false; }\x0d\n\x0d\n nodes.push(this.parseImportSpecifier());\x0d\n }\x0d\n return nodes\x0d\n };\x0d\n\x0d\n pp$8.parseModuleExportName = function() {\x0d\n if (this.options.ecmaVersion >= 13 && this.type === types$1.string) {\x0d\n var stringLiteral = this.parseLiteral(this.value);\x0d\n if (loneSurrogate.test(stringLiteral.value)) {\x0d\n this.raise(stringLiteral.start\x2C "An export name cannot include a lone surrogate.");\x0d\n }\x0d\n return stringLiteral\x0d\n }\x0d\n return this.parseIdent(true)\x0d\n };\x0d\n\x0d\n // Set `ExpressionStatement#directive` property for directive prologues.\x0d\n pp$8.adaptDirectivePrologue = function(statements) {\x0d\n for (var i = 0; i < statements.length && this.isDirectiveCandidate(statements[i]); ++i) {\x0d\n statements[i].directive = statements[i].expression.raw.slice(1\x2C -1);\x0d\n }\x0d\n };\x0d\n pp$8.isDirectiveCandidate = function(statement) {\x0d\n return (\x0d\n this.options.ecmaVersion >= 5 &&\x0d\n statement.type === "ExpressionStatement" &&\x0d\n statement.expression.type === "Literal" &&\x0d\n typeof statement.expression.value === "string" &&\x0d\n // Reject parenthesized strings.\x0d\n (this.input[statement.start] === "\\"" || this.input[statement.start] === "'")\x0d\n )\x0d\n };\x0d\n\x0d\n var pp$7 = Parser.prototype;\x0d\n\x0d\n // Convert existing expression atom to assignable pattern\x0d\n // if possible.\x0d\n\x0d\n pp$7.toAssignable = function(node\x2C isBinding\x2C refDestructuringErrors) {\x0d\n if (this.options.ecmaVersion >= 6 && node) {\x0d\n switch (node.type) {\x0d\n case "Identifier":\x0d\n if (this.inAsync && node.name === "await")\x0d\n { this.raise(node.start\x2C "Cannot use 'await' as identifier inside an async function"); }\x0d\n break\x0d\n\x0d\n case "ObjectPattern":\x0d\n case "ArrayPattern":\x0d\n case "AssignmentPattern":\x0d\n case "RestElement":\x0d\n break\x0d\n\x0d\n case "ObjectExpression":\x0d\n node.type = "ObjectPattern";\x0d\n if (refDestructuringErrors) { this.checkPatternErrors(refDestructuringErrors\x2C true); }\x0d\n for (var i = 0\x2C list = node.properties; i < list.length; i += 1) {\x0d\n var prop = list[i];\x0d\n\x0d\n this.toAssignable(prop\x2C isBinding);\x0d\n // Early error:\x0d\n // AssignmentRestProperty[Yield\x2C Await] :\x0d\n // `...` DestructuringAssignmentTarget[Yield\x2C Await]\x0d\n //\x0d\n // It is a Syntax Error if |DestructuringAssignmentTarget| is an |ArrayLiteral| or an |ObjectLiteral|.\x0d\n if (\x0d\n prop.type === "RestElement" &&\x0d\n (prop.argument.type === "ArrayPattern" || prop.argument.type === "ObjectPattern")\x0d\n ) {\x0d\n this.raise(prop.argument.start\x2C "Unexpected token");\x0d\n }\x0d\n }\x0d\n break\x0d\n\x0d\n case "Property":\x0d\n // AssignmentProperty has type === "Property"\x0d\n if (node.kind !== "init") { this.raise(node.key.start\x2C "Object pattern can't contain getter or setter"); }\x0d\n this.toAssignable(node.value\x2C isBinding);\x0d\n break\x0d\n\x0d\n case "ArrayExpression":\x0d\n node.type = "ArrayPattern";\x0d\n if (refDestructuringErrors) { this.checkPatternErrors(refDestructuringErrors\x2C true); }\x0d\n this.toAssignableList(node.elements\x2C isBinding);\x0d\n break\x0d\n\x0d\n case "SpreadElement":\x0d\n node.type = "RestElement";\x0d\n this.toAssignable(node.argument\x2C isBinding);\x0d\n if (node.argument.type === "AssignmentPattern")\x0d\n { this.raise(node.argument.start\x2C "Rest elements cannot have a default value"); }\x0d\n break\x0d\n\x0d\n case "AssignmentExpression":\x0d\n if (node.operator !== "=") { this.raise(node.left.end\x2C "Only '=' operator can be used for specifying default value."); }\x0d\n node.type = "AssignmentPattern";\x0d\n delete node.operator;\x0d\n this.toAssignable(node.left\x2C isBinding);\x0d\n break\x0d\n\x0d\n case "ParenthesizedExpression":\x0d\n this.toAssignable(node.expression\x2C isBinding\x2C refDestructuringErrors);\x0d\n break\x0d\n\x0d\n case "ChainExpression":\x0d\n this.raiseRecoverable(node.start\x2C "Optional chaining cannot appear in left-hand side");\x0d\n break\x0d\n\x0d\n case "MemberExpression":\x0d\n if (!isBinding) { break }\x0d\n\x0d\n default:\x0d\n this.raise(node.start\x2C "Assigning to rvalue");\x0d\n }\x0d\n } else if (refDestructuringErrors) { this.checkPatternErrors(refDestructuringErrors\x2C true); }\x0d\n return node\x0d\n };\x0d\n\x0d\n // Convert list of expression atoms to binding list.\x0d\n\x0d\n pp$7.toAssignableList = function(exprList\x2C isBinding) {\x0d\n var end = exprList.length;\x0d\n for (var i = 0; i < end; i++) {\x0d\n var elt = exprList[i];\x0d\n if (elt) { this.toAssignable(elt\x2C isBinding); }\x0d\n }\x0d\n if (end) {\x0d\n var last = exprList[end - 1];\x0d\n if (this.options.ecmaVersion === 6 && isBinding && last && last.type === "RestElement" && last.argument.type !== "Identifier")\x0d\n { this.unexpected(last.argument.start); }\x0d\n }\x0d\n return exprList\x0d\n };\x0d\n\x0d\n // Parses spread element.\x0d\n\x0d\n pp$7.parseSpread = function(refDestructuringErrors) {\x0d\n var node = this.startNode();\x0d\n this.next();\x0d\n node.argument = this.parseMaybeAssign(false\x2C refDestructuringErrors);\x0d\n return this.finishNode(node\x2C "SpreadElement")\x0d\n };\x0d\n\x0d\n pp$7.parseRestBinding = function() {\x0d\n var node = this.startNode();\x0d\n this.next();\x0d\n\x0d\n // RestElement inside of a function parameter must be an identifier\x0d\n if (this.options.ecmaVersion === 6 && this.type !== types$1.name)\x0d\n { this.unexpected(); }\x0d\n\x0d\n node.argument = this.parseBindingAtom();\x0d\n\x0d\n return this.finishNode(node\x2C "RestElement")\x0d\n };\x0d\n\x0d\n // Parses lvalue (assignable) atom.\x0d\n\x0d\n pp$7.parseBindingAtom = function() {\x0d\n if (this.options.ecmaVersion >= 6) {\x0d\n switch (this.type) {\x0d\n case types$1.bracketL:\x0d\n var node = this.startNode();\x0d\n this.next();\x0d\n node.elements = this.parseBindingList(types$1.bracketR\x2C true\x2C true);\x0d\n return this.finishNode(node\x2C "ArrayPattern")\x0d\n\x0d\n case types$1.braceL:\x0d\n return this.parseObj(true)\x0d\n }\x0d\n }\x0d\n return this.parseIdent()\x0d\n };\x0d\n\x0d\n pp$7.parseBindingList = function(close\x2C allowEmpty\x2C allowTrailingComma\x2C allowModifiers) {\x0d\n var elts = []\x2C first = true;\x0d\n while (!this.eat(close)) {\x0d\n if (first) { first = false; }\x0d\n else { this.expect(types$1.comma); }\x0d\n if (allowEmpty && this.type === types$1.comma) {\x0d\n elts.push(null);\x0d\n } else if (allowTrailingComma && this.afterTrailingComma(close)) {\x0d\n break\x0d\n } else if (this.type === types$1.ellipsis) {\x0d\n var rest = this.parseRestBinding();\x0d\n this.parseBindingListItem(rest);\x0d\n elts.push(rest);\x0d\n if (this.type === types$1.comma) { this.raiseRecoverable(this.start\x2C "Comma is not permitted after the rest element"); }\x0d\n this.expect(close);\x0d\n break\x0d\n } else {\x0d\n elts.push(this.parseAssignableListItem(allowModifiers));\x0d\n }\x0d\n }\x0d\n return elts\x0d\n };\x0d\n\x0d\n pp$7.parseAssignableListItem = function(allowModifiers) {\x0d\n var elem = this.parseMaybeDefault(this.start\x2C this.startLoc);\x0d\n this.parseBindingListItem(elem);\x0d\n return elem\x0d\n };\x0d\n\x0d\n pp$7.parseBindingListItem = function(param) {\x0d\n return param\x0d\n };\x0d\n\x0d\n // Parses assignment pattern around given atom if possible.\x0d\n\x0d\n pp$7.parseMaybeDefault = function(startPos\x2C startLoc\x2C left) {\x0d\n left = left || this.parseBindingAtom();\x0d\n if (this.options.ecmaVersion < 6 || !this.eat(types$1.eq)) { return left }\x0d\n var node = this.startNodeAt(startPos\x2C startLoc);\x0d\n node.left = left;\x0d\n node.right = this.parseMaybeAssign();\x0d\n return this.finishNode(node\x2C "AssignmentPattern")\x0d\n };\x0d\n\x0d\n // The following three functions all verify that a node is an lvalue \u2014\x0d\n // something that can be bound\x2C or assigned to. In order to do so\x2C they perform\x0d\n // a variety of checks:\x0d\n //\x0d\n // - Check that none of the bound/assigned-to identifiers are reserved words.\x0d\n // - Record name declarations for bindings in the appropriate scope.\x0d\n // - Check duplicate argument names\x2C if checkClashes is set.\x0d\n //\x0d\n // If a complex binding pattern is encountered (e.g.\x2C object and array\x0d\n // destructuring)\x2C the entire pattern is recursively checked.\x0d\n //\x0d\n // There are three versions of checkLVal*() appropriate for different\x0d\n // circumstances:\x0d\n //\x0d\n // - checkLValSimple() shall be used if the syntactic construct supports\x0d\n // nothing other than identifiers and member expressions. Parenthesized\x0d\n // expressions are also correctly handled. This is generally appropriate for\x0d\n // constructs for which the spec says\x0d\n //\x0d\n // > It is a Syntax Error if AssignmentTargetType of [the production] is not\x0d\n // > simple.\x0d\n //\x0d\n // It is also appropriate for checking if an identifier is valid and not\x0d\n // defined elsewhere\x2C like import declarations or function/class identifiers.\x0d\n //\x0d\n // Examples where this is used include:\x0d\n // a += \u2026;\x0d\n // import a from '\u2026';\x0d\n // where a is the node to be checked.\x0d\n //\x0d\n // - checkLValPattern() shall be used if the syntactic construct supports\x0d\n // anything checkLValSimple() supports\x2C as well as object and array\x0d\n // destructuring patterns. This is generally appropriate for constructs for\x0d\n // which the spec says\x0d\n //\x0d\n // > It is a Syntax Error if [the production] is neither an ObjectLiteral nor\x0d\n // > an ArrayLiteral and AssignmentTargetType of [the production] is not\x0d\n // > simple.\x0d\n //\x0d\n // Examples where this is used include:\x0d\n // (a = \u2026);\x0d\n // const a = \u2026;\x0d\n // try { \u2026 } catch (a) { \u2026 }\x0d\n // where a is the node to be checked.\x0d\n //\x0d\n // - checkLValInnerPattern() shall be used if the syntactic construct supports\x0d\n // anything checkLValPattern() supports\x2C as well as default assignment\x0d\n // patterns\x2C rest elements\x2C and other constructs that may appear within an\x0d\n // object or array destructuring pattern.\x0d\n //\x0d\n // As a special case\x2C function parameters also use checkLValInnerPattern()\x2C\x0d\n // as they also support defaults and rest constructs.\x0d\n //\x0d\n // These functions deliberately support both assignment and binding constructs\x2C\x0d\n // as the logic for both is exceedingly similar. If the node is the target of\x0d\n // an assignment\x2C then bindingType should be set to BIND_NONE. Otherwise\x2C it\x0d\n // should be set to the appropriate BIND_* constant\x2C like BIND_VAR or\x0d\n // BIND_LEXICAL.\x0d\n //\x0d\n // If the function is called with a non-BIND_NONE bindingType\x2C then\x0d\n // additionally a checkClashes object may be specified to allow checking for\x0d\n // duplicate argument names. checkClashes is ignored if the provided construct\x0d\n // is an assignment (i.e.\x2C bindingType is BIND_NONE).\x0d\n\x0d\n pp$7.checkLValSimple = function(expr\x2C bindingType\x2C checkClashes) {\x0d\n if ( bindingType === void 0 ) bindingType = BIND_NONE;\x0d\n\x0d\n var isBind = bindingType !== BIND_NONE;\x0d\n\x0d\n switch (expr.type) {\x0d\n case "Identifier":\x0d\n if (this.strict && this.reservedWordsStrictBind.test(expr.name))\x0d\n { this.raiseRecoverable(expr.start\x2C (isBind ? "Binding " : "Assigning to ") + expr.name + " in strict mode"); }\x0d\n if (isBind) {\x0d\n if (bindingType === BIND_LEXICAL && expr.name === "let")\x0d\n { this.raiseRecoverable(expr.start\x2C "let is disallowed as a lexically bound name"); }\x0d\n if (checkClashes) {\x0d\n if (hasOwn(checkClashes\x2C expr.name))\x0d\n { this.raiseRecoverable(expr.start\x2C "Argument name clash"); }\x0d\n checkClashes[expr.name] = true;\x0d\n }\x0d\n if (bindingType !== BIND_OUTSIDE) { this.declareName(expr.name\x2C bindingType\x2C expr.start); }\x0d\n }\x0d\n break\x0d\n\x0d\n case "ChainExpression":\x0d\n this.raiseRecoverable(expr.start\x2C "Optional chaining cannot appear in left-hand side");\x0d\n break\x0d\n\x0d\n case "MemberExpression":\x0d\n if (isBind) { this.raiseRecoverable(expr.start\x2C "Binding member expression"); }\x0d\n break\x0d\n\x0d\n case "ParenthesizedExpression":\x0d\n if (isBind) { this.raiseRecoverable(expr.start\x2C "Binding parenthesized expression"); }\x0d\n return this.checkLValSimple(expr.expression\x2C bindingType\x2C checkClashes)\x0d\n\x0d\n default:\x0d\n this.raise(expr.start\x2C (isBind ? "Binding" : "Assigning to") + " rvalue");\x0d\n }\x0d\n };\x0d\n\x0d\n pp$7.checkLValPattern = function(expr\x2C bindingType\x2C checkClashes) {\x0d\n if ( bindingType === void 0 ) bindingType = BIND_NONE;\x0d\n\x0d\n switch (expr.type) {\x0d\n case "ObjectPattern":\x0d\n for (var i = 0\x2C list = expr.properties; i < list.length; i += 1) {\x0d\n var prop = list[i];\x0d\n\x0d\n this.checkLValInnerPattern(prop\x2C bindingType\x2C checkClashes);\x0d\n }\x0d\n break\x0d\n\x0d\n case "ArrayPattern":\x0d\n for (var i$1 = 0\x2C list$1 = expr.elements; i$1 < list$1.length; i$1 += 1) {\x0d\n var elem = list$1[i$1];\x0d\n\x0d\n if (elem) { this.checkLValInnerPattern(elem\x2C bindingType\x2C checkClashes); }\x0d\n }\x0d\n break\x0d\n\x0d\n default:\x0d\n this.checkLValSimple(expr\x2C bindingType\x2C checkClashes);\x0d\n }\x0d\n };\x0d\n\x0d\n pp$7.checkLValInnerPattern = function(expr\x2C bindingType\x2C checkClashes) {\x0d\n if ( bindingType === void 0 ) bindingType = BIND_NONE;\x0d\n\x0d\n switch (expr.type) {\x0d\n case "Property":\x0d\n // AssignmentProperty has type === "Property"\x0d\n this.checkLValInnerPattern(expr.value\x2C bindingType\x2C checkClashes);\x0d\n break\x0d\n\x0d\n case "AssignmentPattern":\x0d\n this.checkLValPattern(expr.left\x2C bindingType\x2C checkClashes);\x0d\n break\x0d\n\x0d\n case "RestElement":\x0d\n this.checkLValPattern(expr.argument\x2C bindingType\x2C checkClashes);\x0d\n break\x0d\n\x0d\n default:\x0d\n this.checkLValPattern(expr\x2C bindingType\x2C checkClashes);\x0d\n }\x0d\n };\x0d\n\x0d\n // The algorithm used to determine whether a regexp can appear at a\x0d\n // given point in the program is loosely based on sweet.js' approach.\x0d\n // See https://github.com/mozilla/sweet.js/wiki/design\x0d\n\x0d\n\x0d\n var TokContext = function TokContext(token\x2C isExpr\x2C preserveSpace\x2C override\x2C generator) {\x0d\n this.token = token;\x0d\n this.isExpr = !!isExpr;\x0d\n this.preserveSpace = !!preserveSpace;\x0d\n this.override = override;\x0d\n this.generator = !!generator;\x0d\n };\x0d\n\x0d\n var types = {\x0d\n b_stat: new TokContext("{"\x2C false)\x2C\x0d\n b_expr: new TokContext("{"\x2C true)\x2C\x0d\n b_tmpl: new TokContext("${"\x2C false)\x2C\x0d\n p_stat: new TokContext("("\x2C false)\x2C\x0d\n p_expr: new TokContext("("\x2C true)\x2C\x0d\n q_tmpl: new TokContext("`"\x2C true\x2C true\x2C function (p) { return p.tryReadTemplateToken(); })\x2C\x0d\n f_stat: new TokContext("function"\x2C false)\x2C\x0d\n f_expr: new TokContext("function"\x2C true)\x2C\x0d\n f_expr_gen: new TokContext("function"\x2C true\x2C false\x2C null\x2C true)\x2C\x0d\n f_gen: new TokContext("function"\x2C false\x2C false\x2C null\x2C true)\x0d\n };\x0d\n\x0d\n var pp$6 = Parser.prototype;\x0d\n\x0d\n pp$6.initialContext = function() {\x0d\n return [types.b_stat]\x0d\n };\x0d\n\x0d\n pp$6.curContext = function() {\x0d\n return this.context[this.context.length - 1]\x0d\n };\x0d\n\x0d\n pp$6.braceIsBlock = function(prevType) {\x0d\n var parent = this.curContext();\x0d\n if (parent === types.f_expr || parent === types.f_stat)\x0d\n { return true }\x0d\n if (prevType === types$1.colon && (parent === types.b_stat || parent === types.b_expr))\x0d\n { return !parent.isExpr }\x0d\n\x0d\n // The check for `tt.name && exprAllowed` detects whether we are\x0d\n // after a `yield` or `of` construct. See the `updateContext` for\x0d\n // `tt.name`.\x0d\n if (prevType === types$1._return || prevType === types$1.name && this.exprAllowed)\x0d\n { return lineBreak.test(this.input.slice(this.lastTokEnd\x2C this.start)) }\x0d\n if (prevType === types$1._else || prevType === types$1.semi || prevType === types$1.eof || prevType === types$1.parenR || prevType === types$1.arrow)\x0d\n { return true }\x0d\n if (prevType === types$1.braceL)\x0d\n { return parent === types.b_stat }\x0d\n if (prevType === types$1._var || prevType === types$1._const || prevType === types$1.name)\x0d\n { return false }\x0d\n return !this.exprAllowed\x0d\n };\x0d\n\x0d\n pp$6.inGeneratorContext = function() {\x0d\n for (var i = this.context.length - 1; i >= 1; i--) {\x0d\n var context = this.context[i];\x0d\n if (context.token === "function")\x0d\n { return context.generator }\x0d\n }\x0d\n return false\x0d\n };\x0d\n\x0d\n pp$6.updateContext = function(prevType) {\x0d\n var update\x2C type = this.type;\x0d\n if (type.keyword && prevType === types$1.dot)\x0d\n { this.exprAllowed = false; }\x0d\n else if (update = type.updateContext)\x0d\n { update.call(this\x2C prevType); }\x0d\n else\x0d\n { this.exprAllowed = type.beforeExpr; }\x0d\n };\x0d\n\x0d\n // Used to handle edge cases when token context could not be inferred correctly during tokenization phase\x0d\n\x0d\n pp$6.overrideContext = function(tokenCtx) {\x0d\n if (this.curContext() !== tokenCtx) {\x0d\n this.context[this.context.length - 1] = tokenCtx;\x0d\n }\x0d\n };\x0d\n\x0d\n // Token-specific context update code\x0d\n\x0d\n types$1.parenR.updateContext = types$1.braceR.updateContext = function() {\x0d\n if (this.context.length === 1) {\x0d\n this.exprAllowed = true;\x0d\n return\x0d\n }\x0d\n var out = this.context.pop();\x0d\n if (out === types.b_stat && this.curContext().token === "function") {\x0d\n out = this.context.pop();\x0d\n }\x0d\n this.exprAllowed = !out.isExpr;\x0d\n };\x0d\n\x0d\n types$1.braceL.updateContext = function(prevType) {\x0d\n this.context.push(this.braceIsBlock(prevType) ? types.b_stat : types.b_expr);\x0d\n this.exprAllowed = true;\x0d\n };\x0d\n\x0d\n types$1.dollarBraceL.updateContext = function() {\x0d\n this.context.push(types.b_tmpl);\x0d\n this.exprAllowed = true;\x0d\n };\x0d\n\x0d\n types$1.parenL.updateContext = function(prevType) {\x0d\n var statementParens = prevType === types$1._if || prevType === types$1._for || prevType === types$1._with || prevType === types$1._while;\x0d\n this.context.push(statementParens ? types.p_stat : types.p_expr);\x0d\n this.exprAllowed = true;\x0d\n };\x0d\n\x0d\n types$1.incDec.updateContext = function() {\x0d\n // tokExprAllowed stays unchanged\x0d\n };\x0d\n\x0d\n types$1._function.updateContext = types$1._class.updateContext = function(prevType) {\x0d\n if (prevType.beforeExpr && prevType !== types$1._else &&\x0d\n !(prevType === types$1.semi && this.curContext() !== types.p_stat) &&\x0d\n !(prevType === types$1._return && lineBreak.test(this.input.slice(this.lastTokEnd\x2C this.start))) &&\x0d\n !((prevType === types$1.colon || prevType === types$1.braceL) && this.curContext() === types.b_stat))\x0d\n { this.context.push(types.f_expr); }\x0d\n else\x0d\n { this.context.push(types.f_stat); }\x0d\n this.exprAllowed = false;\x0d\n };\x0d\n\x0d\n types$1.colon.updateContext = function() {\x0d\n if (this.curContext().token === "function") { this.context.pop(); }\x0d\n this.exprAllowed = true;\x0d\n };\x0d\n\x0d\n types$1.backQuote.updateContext = function() {\x0d\n if (this.curContext() === types.q_tmpl)\x0d\n { this.context.pop(); }\x0d\n else\x0d\n { this.context.push(types.q_tmpl); }\x0d\n this.exprAllowed = false;\x0d\n };\x0d\n\x0d\n types$1.star.updateContext = function(prevType) {\x0d\n if (prevType === types$1._function) {\x0d\n var index = this.context.length - 1;\x0d\n if (this.context[index] === types.f_expr)\x0d\n { this.context[index] = types.f_expr_gen; }\x0d\n else\x0d\n { this.context[index] = types.f_gen; }\x0d\n }\x0d\n this.exprAllowed = true;\x0d\n };\x0d\n\x0d\n types$1.name.updateContext = function(prevType) {\x0d\n var allowed = false;\x0d\n if (this.options.ecmaVersion >= 6 && prevType !== types$1.dot) {\x0d\n if (this.value === "of" && !this.exprAllowed ||\x0d\n this.value === "yield" && this.inGeneratorContext())\x0d\n { allowed = true; }\x0d\n }\x0d\n this.exprAllowed = allowed;\x0d\n };\x0d\n\x0d\n // A recursive descent parser operates by defining functions for all\x0d\n // syntactic elements\x2C and recursively calling those\x2C each function\x0d\n // advancing the input stream and returning an AST node. Precedence\x0d\n // of constructs (for example\x2C the fact that `!x[1]` means `!(x[1])`\x0d\n // instead of `(!x)[1]` is handled by the fact that the parser\x0d\n // function that parses unary prefix operators is called first\x2C and\x0d\n // in turn calls the function that parses `[]` subscripts \u2014 that\x0d\n // way\x2C it'll receive the node for `x[1]` already parsed\x2C and wraps\x0d\n // *that* in the unary operator node.\x0d\n //\x0d\n // Acorn uses an [operator precedence parser][opp] to handle binary\x0d\n // operator precedence\x2C because it is much more compact than using\x0d\n // the technique outlined above\x2C which uses different\x2C nesting\x0d\n // functions to specify precedence\x2C for all of the ten binary\x0d\n // precedence levels that JavaScript defines.\x0d\n //\x0d\n // [opp]: http://en.wikipedia.org/wiki/Operator-precedence_parser\x0d\n\x0d\n\x0d\n var pp$5 = Parser.prototype;\x0d\n\x0d\n // Check if property name clashes with already added.\x0d\n // Object/class getters and setters are not allowed to clash \u2014\x0d\n // either with each other or with an init property \u2014 and in\x0d\n // strict mode\x2C init properties are also not allowed to be repeated.\x0d\n\x0d\n pp$5.checkPropClash = function(prop\x2C propHash\x2C refDestructuringErrors) {\x0d\n if (this.options.ecmaVersion >= 9 && prop.type === "SpreadElement")\x0d\n { return }\x0d\n if (this.options.ecmaVersion >= 6 && (prop.computed || prop.method || prop.shorthand))\x0d\n { return }\x0d\n var key = prop.key;\x0d\n var name;\x0d\n switch (key.type) {\x0d\n case "Identifier": name = key.name; break\x0d\n case "Literal": name = String(key.value); break\x0d\n default: return\x0d\n }\x0d\n var kind = prop.kind;\x0d\n if (this.options.ecmaVersion >= 6) {\x0d\n if (name === "__proto__" && kind === "init") {\x0d\n if (propHash.proto) {\x0d\n if (refDestructuringErrors) {\x0d\n if (refDestructuringErrors.doubleProto < 0) {\x0d\n refDestructuringErrors.doubleProto = key.start;\x0d\n }\x0d\n } else {\x0d\n this.raiseRecoverable(key.start\x2C "Redefinition of __proto__ property");\x0d\n }\x0d\n }\x0d\n propHash.proto = true;\x0d\n }\x0d\n return\x0d\n }\x0d\n name = "$" + name;\x0d\n var other = propHash[name];\x0d\n if (other) {\x0d\n var redefinition;\x0d\n if (kind === "init") {\x0d\n redefinition = this.strict && other.init || other.get || other.set;\x0d\n } else {\x0d\n redefinition = other.init || other[kind];\x0d\n }\x0d\n if (redefinition)\x0d\n { this.raiseRecoverable(key.start\x2C "Redefinition of property"); }\x0d\n } else {\x0d\n other = propHash[name] = {\x0d\n init: false\x2C\x0d\n get: false\x2C\x0d\n set: false\x0d\n };\x0d\n }\x0d\n other[kind] = true;\x0d\n };\x0d\n\x0d\n // ### Expression parsing\x0d\n\x0d\n // These nest\x2C from the most general expression type at the top to\x0d\n // 'atomic'\x2C nondivisible expression types at the bottom. Most of\x0d\n // the functions will simply let the function(s) below them parse\x2C\x0d\n // and\x2C *if* the syntactic construct they handle is present\x2C wrap\x0d\n // the AST node that the inner parser gave them in another node.\x0d\n\x0d\n // Parse a full expression. The optional arguments are used to\x0d\n // forbid the `in` operator (in for loops initalization expressions)\x0d\n // and provide reference for storing '=' operator inside shorthand\x0d\n // property assignment in contexts where both object expression\x0d\n // and object pattern might appear (so it's possible to raise\x0d\n // delayed syntax error at correct position).\x0d\n\x0d\n pp$5.parseExpression = function(forInit\x2C refDestructuringErrors) {\x0d\n var startPos = this.start\x2C startLoc = this.startLoc;\x0d\n var expr = this.parseMaybeAssign(forInit\x2C refDestructuringErrors);\x0d\n if (this.type === types$1.comma) {\x0d\n var node = this.startNodeAt(startPos\x2C startLoc);\x0d\n node.expressions = [expr];\x0d\n while (this.eat(types$1.comma)) { node.expressions.push(this.parseMaybeAssign(forInit\x2C refDestructuringErrors)); }\x0d\n return this.finishNode(node\x2C "SequenceExpression")\x0d\n }\x0d\n return expr\x0d\n };\x0d\n\x0d\n // Parse an assignment expression. This includes applications of\x0d\n // operators like `+=`.\x0d\n\x0d\n pp$5.parseMaybeAssign = function(forInit\x2C refDestructuringErrors\x2C afterLeftParse) {\x0d\n if (this.isContextual("yield")) {\x0d\n if (this.inGenerator) { return this.parseYield(forInit) }\x0d\n // The tokenizer will assume an expression is allowed after\x0d\n // `yield`\x2C but this isn't that kind of yield\x0d\n else { this.exprAllowed = false; }\x0d\n }\x0d\n\x0d\n var ownDestructuringErrors = false\x2C oldParenAssign = -1\x2C oldTrailingComma = -1\x2C oldDoubleProto = -1;\x0d\n if (refDestructuringErrors) {\x0d\n oldParenAssign = refDestructuringErrors.parenthesizedAssign;\x0d\n oldTrailingComma = refDestructuringErrors.trailingComma;\x0d\n oldDoubleProto = refDestructuringErrors.doubleProto;\x0d\n refDestructuringErrors.parenthesizedAssign = refDestructuringErrors.trailingComma = -1;\x0d\n } else {\x0d\n refDestructuringErrors = new DestructuringErrors;\x0d\n ownDestructuringErrors = true;\x0d\n }\x0d\n\x0d\n var startPos = this.start\x2C startLoc = this.startLoc;\x0d\n if (this.type === types$1.parenL || this.type === types$1.name) {\x0d\n this.potentialArrowAt = this.start;\x0d\n this.potentialArrowInForAwait = forInit === "await";\x0d\n }\x0d\n var left = this.parseMaybeConditional(forInit\x2C refDestructuringErrors);\x0d\n if (afterLeftParse) { left = afterLeftParse.call(this\x2C left\x2C startPos\x2C startLoc); }\x0d\n if (this.type.isAssign) {\x0d\n var node = this.startNodeAt(startPos\x2C startLoc);\x0d\n node.operator = this.value;\x0d\n if (this.type === types$1.eq)\x0d\n { left = this.toAssignable(left\x2C false\x2C refDestructuringErrors); }\x0d\n if (!ownDestructuringErrors) {\x0d\n refDestructuringErrors.parenthesizedAssign = refDestructuringErrors.trailingComma = refDestructuringErrors.doubleProto = -1;\x0d\n }\x0d\n if (refDestructuringErrors.shorthandAssign >= left.start)\x0d\n { refDestructuringErrors.shorthandAssign = -1; } // reset because shorthand default was used correctly\x0d\n if (this.type === types$1.eq)\x0d\n { this.checkLValPattern(left); }\x0d\n else\x0d\n { this.checkLValSimple(left); }\x0d\n node.left = left;\x0d\n this.next();\x0d\n node.right = this.parseMaybeAssign(forInit);\x0d\n if (oldDoubleProto > -1) { refDestructuringErrors.doubleProto = oldDoubleProto; }\x0d\n return this.finishNode(node\x2C "AssignmentExpression")\x0d\n } else {\x0d\n if (ownDestructuringErrors) { this.checkExpressionErrors(refDestructuringErrors\x2C true); }\x0d\n }\x0d\n if (oldParenAssign > -1) { refDestructuringErrors.parenthesizedAssign = oldParenAssign; }\x0d\n if (oldTrailingComma > -1) { refDestructuringErrors.trailingComma = oldTrailingComma; }\x0d\n return left\x0d\n };\x0d\n\x0d\n // Parse a ternary conditional (`?:`) operator.\x0d\n\x0d\n pp$5.parseMaybeConditional = function(forInit\x2C refDestructuringErrors) {\x0d\n var startPos = this.start\x2C startLoc = this.startLoc;\x0d\n var expr = this.parseExprOps(forInit\x2C refDestructuringErrors);\x0d\n if (this.checkExpressionErrors(refDestructuringErrors)) { return expr }\x0d\n if (this.eat(types$1.question)) {\x0d\n var node = this.startNodeAt(startPos\x2C startLoc);\x0d\n node.test = expr;\x0d\n node.consequent = this.parseMaybeAssign();\x0d\n this.expect(types$1.colon);\x0d\n node.alternate = this.parseMaybeAssign(forInit);\x0d\n return this.finishNode(node\x2C "ConditionalExpression")\x0d\n }\x0d\n return expr\x0d\n };\x0d\n\x0d\n // Start the precedence parser.\x0d\n\x0d\n pp$5.parseExprOps = function(forInit\x2C refDestructuringErrors) {\x0d\n var startPos = this.start\x2C startLoc = this.startLoc;\x0d\n var expr = this.parseMaybeUnary(refDestructuringErrors\x2C false\x2C false\x2C forInit);\x0d\n if (this.checkExpressionErrors(refDestructuringErrors)) { return expr }\x0d\n return expr.start === startPos && expr.type === "ArrowFunctionExpression" ? expr : this.parseExprOp(expr\x2C startPos\x2C startLoc\x2C -1\x2C forInit)\x0d\n };\x0d\n\x0d\n // Parse binary operators with the operator precedence parsing\x0d\n // algorithm. `left` is the left-hand side of the operator.\x0d\n // `minPrec` provides context that allows the function to stop and\x0d\n // defer further parser to one of its callers when it encounters an\x0d\n // operator that has a lower precedence than the set it is parsing.\x0d\n\x0d\n pp$5.parseExprOp = function(left\x2C leftStartPos\x2C leftStartLoc\x2C minPrec\x2C forInit) {\x0d\n var prec = this.type.binop;\x0d\n if (prec != null && (!forInit || this.type !== types$1._in)) {\x0d\n if (prec > minPrec) {\x0d\n var logical = this.type === types$1.logicalOR || this.type === types$1.logicalAND;\x0d\n var coalesce = this.type === types$1.coalesce;\x0d\n if (coalesce) {\x0d\n // Handle the precedence of `tt.coalesce` as equal to the range of logical expressions.\x0d\n // In other words\x2C `node.right` shouldn't contain logical expressions in order to check the mixed error.\x0d\n prec = types$1.logicalAND.binop;\x0d\n }\x0d\n var op = this.value;\x0d\n this.next();\x0d\n var startPos = this.start\x2C startLoc = this.startLoc;\x0d\n var right = this.parseExprOp(this.parseMaybeUnary(null\x2C false\x2C false\x2C forInit)\x2C startPos\x2C startLoc\x2C prec\x2C forInit);\x0d\n var node = this.buildBinary(leftStartPos\x2C leftStartLoc\x2C left\x2C right\x2C op\x2C logical || coalesce);\x0d\n if ((logical && this.type === types$1.coalesce) || (coalesce && (this.type === types$1.logicalOR || this.type === types$1.logicalAND))) {\x0d\n this.raiseRecoverable(this.start\x2C "Logical expressions and coalesce expressions cannot be mixed. Wrap either by parentheses");\x0d\n }\x0d\n return this.parseExprOp(node\x2C leftStartPos\x2C leftStartLoc\x2C minPrec\x2C forInit)\x0d\n }\x0d\n }\x0d\n return left\x0d\n };\x0d\n\x0d\n pp$5.buildBinary = function(startPos\x2C startLoc\x2C left\x2C right\x2C op\x2C logical) {\x0d\n if (right.type === "PrivateIdentifier") { this.raise(right.start\x2C "Private identifier can only be left side of binary expression"); }\x0d\n var node = this.startNodeAt(startPos\x2C startLoc);\x0d\n node.left = left;\x0d\n node.operator = op;\x0d\n node.right = right;\x0d\n return this.finishNode(node\x2C logical ? "LogicalExpression" : "BinaryExpression")\x0d\n };\x0d\n\x0d\n // Parse unary operators\x2C both prefix and postfix.\x0d\n\x0d\n pp$5.parseMaybeUnary = function(refDestructuringErrors\x2C sawUnary\x2C incDec\x2C forInit) {\x0d\n var startPos = this.start\x2C startLoc = this.startLoc\x2C expr;\x0d\n if (this.isContextual("await") && this.canAwait) {\x0d\n expr = this.parseAwait(forInit);\x0d\n sawUnary = true;\x0d\n } else if (this.type.prefix) {\x0d\n var node = this.startNode()\x2C update = this.type === types$1.incDec;\x0d\n node.operator = this.value;\x0d\n node.prefix = true;\x0d\n this.next();\x0d\n node.argument = this.parseMaybeUnary(null\x2C true\x2C update\x2C forInit);\x0d\n this.checkExpressionErrors(refDestructuringErrors\x2C true);\x0d\n if (update) { this.checkLValSimple(node.argument); }\x0d\n else if (this.strict && node.operator === "delete" &&\x0d\n node.argument.type === "Identifier")\x0d\n { this.raiseRecoverable(node.start\x2C "Deleting local variable in strict mode"); }\x0d\n else if (node.operator === "delete" && isPrivateFieldAccess(node.argument))\x0d\n { this.raiseRecoverable(node.start\x2C "Private fields can not be deleted"); }\x0d\n else { sawUnary = true; }\x0d\n expr = this.finishNode(node\x2C update ? "UpdateExpression" : "UnaryExpression");\x0d\n } else if (!sawUnary && this.type === types$1.privateId) {\x0d\n if ((forInit || this.privateNameStack.length === 0) && this.options.checkPrivateFields) { this.unexpected(); }\x0d\n expr = this.parsePrivateIdent();\x0d\n // only could be private fields in 'in'\x2C such as #x in obj\x0d\n if (this.type !== types$1._in) { this.unexpected(); }\x0d\n } else {\x0d\n expr = this.parseExprSubscripts(refDestructuringErrors\x2C forInit);\x0d\n if (this.checkExpressionErrors(refDestructuringErrors)) { return expr }\x0d\n while (this.type.postfix && !this.canInsertSemicolon()) {\x0d\n var node$1 = this.startNodeAt(startPos\x2C startLoc);\x0d\n node$1.operator = this.value;\x0d\n node$1.prefix = false;\x0d\n node$1.argument = expr;\x0d\n this.checkLValSimple(expr);\x0d\n this.next();\x0d\n expr = this.finishNode(node$1\x2C "UpdateExpression");\x0d\n }\x0d\n }\x0d\n\x0d\n if (!incDec && this.eat(types$1.starstar)) {\x0d\n if (sawUnary)\x0d\n { this.unexpected(this.lastTokStart); }\x0d\n else\x0d\n { return this.buildBinary(startPos\x2C startLoc\x2C expr\x2C this.parseMaybeUnary(null\x2C false\x2C false\x2C forInit)\x2C "**"\x2C false) }\x0d\n } else {\x0d\n return expr\x0d\n }\x0d\n };\x0d\n\x0d\n function isPrivateFieldAccess(node) {\x0d\n return (\x0d\n node.type === "MemberExpression" && node.property.type === "PrivateIdentifier" ||\x0d\n node.type === "ChainExpression" && isPrivateFieldAccess(node.expression)\x0d\n )\x0d\n }\x0d\n\x0d\n // Parse call\x2C dot\x2C and `[]`-subscript expressions.\x0d\n\x0d\n pp$5.parseExprSubscripts = function(refDestructuringErrors\x2C forInit) {\x0d\n var startPos = this.start\x2C startLoc = this.startLoc;\x0d\n var expr = this.parseExprAtom(refDestructuringErrors\x2C forInit);\x0d\n if (expr.type === "ArrowFunctionExpression" && this.input.slice(this.lastTokStart\x2C this.lastTokEnd) !== ")")\x0d\n { return expr }\x0d\n var result = this.parseSubscripts(expr\x2C startPos\x2C startLoc\x2C false\x2C forInit);\x0d\n if (refDestructuringErrors && result.type === "MemberExpression") {\x0d\n if (refDestructuringErrors.parenthesizedAssign >= result.start) { refDestructuringErrors.parenthesizedAssign = -1; }\x0d\n if (refDestructuringErrors.parenthesizedBind >= result.start) { refDestructuringErrors.parenthesizedBind = -1; }\x0d\n if (refDestructuringErrors.trailingComma >= result.start) { refDestructuringErrors.trailingComma = -1; }\x0d\n }\x0d\n return result\x0d\n };\x0d\n\x0d\n pp$5.parseSubscripts = function(base\x2C startPos\x2C startLoc\x2C noCalls\x2C forInit) {\x0d\n var maybeAsyncArrow = this.options.ecmaVersion >= 8 && base.type === "Identifier" && base.name === "async" &&\x0d\n this.lastTokEnd === base.end && !this.canInsertSemicolon() && base.end - base.start === 5 &&\x0d\n this.potentialArrowAt === base.start;\x0d\n var optionalChained = false;\x0d\n\x0d\n while (true) {\x0d\n var element = this.parseSubscript(base\x2C startPos\x2C startLoc\x2C noCalls\x2C maybeAsyncArrow\x2C optionalChained\x2C forInit);\x0d\n\x0d\n if (element.optional) { optionalChained = true; }\x0d\n if (element === base || element.type === "ArrowFunctionExpression") {\x0d\n if (optionalChained) {\x0d\n var chainNode = this.startNodeAt(startPos\x2C startLoc);\x0d\n chainNode.expression = element;\x0d\n element = this.finishNode(chainNode\x2C "ChainExpression");\x0d\n }\x0d\n return element\x0d\n }\x0d\n\x0d\n base = element;\x0d\n }\x0d\n };\x0d\n\x0d\n pp$5.shouldParseAsyncArrow = function() {\x0d\n return !this.canInsertSemicolon() && this.eat(types$1.arrow)\x0d\n };\x0d\n\x0d\n pp$5.parseSubscriptAsyncArrow = function(startPos\x2C startLoc\x2C exprList\x2C forInit) {\x0d\n return this.parseArrowExpression(this.startNodeAt(startPos\x2C startLoc)\x2C exprList\x2C true\x2C forInit)\x0d\n };\x0d\n\x0d\n pp$5.parseSubscript = function(base\x2C startPos\x2C startLoc\x2C noCalls\x2C maybeAsyncArrow\x2C optionalChained\x2C forInit) {\x0d\n var optionalSupported = this.options.ecmaVersion >= 11;\x0d\n var optional = optionalSupported && this.eat(types$1.questionDot);\x0d\n if (noCalls && optional) { this.raise(this.lastTokStart\x2C "Optional chaining cannot appear in the callee of new expressions"); }\x0d\n\x0d\n var computed = this.eat(types$1.bracketL);\x0d\n if (computed || (optional && this.type !== types$1.parenL && this.type !== types$1.backQuote) || this.eat(types$1.dot)) {\x0d\n var node = this.startNodeAt(startPos\x2C startLoc);\x0d\n node.object = base;\x0d\n if (computed) {\x0d\n node.property = this.parseExpression();\x0d\n this.expect(types$1.bracketR);\x0d\n } else if (this.type === types$1.privateId && base.type !== "Super") {\x0d\n node.property = this.parsePrivateIdent();\x0d\n } else {\x0d\n node.property = this.parseIdent(this.options.allowReserved !== "never");\x0d\n }\x0d\n node.computed = !!computed;\x0d\n if (optionalSupported) {\x0d\n node.optional = optional;\x0d\n }\x0d\n base = this.finishNode(node\x2C "MemberExpression");\x0d\n } else if (!noCalls && this.eat(types$1.parenL)) {\x0d\n var refDestructuringErrors = new DestructuringErrors\x2C oldYieldPos = this.yieldPos\x2C oldAwaitPos = this.awaitPos\x2C oldAwaitIdentPos = this.awaitIdentPos;\x0d\n this.yieldPos = 0;\x0d\n this.awaitPos = 0;\x0d\n this.awaitIdentPos = 0;\x0d\n var exprList = this.parseExprList(types$1.parenR\x2C this.options.ecmaVersion >= 8\x2C false\x2C refDestructuringErrors);\x0d\n if (maybeAsyncArrow && !optional && this.shouldParseAsyncArrow()) {\x0d\n this.checkPatternErrors(refDestructuringErrors\x2C false);\x0d\n this.checkYieldAwaitInDefaultParams();\x0d\n if (this.awaitIdentPos > 0)\x0d\n { this.raise(this.awaitIdentPos\x2C "Cannot use 'await' as identifier inside an async function"); }\x0d\n this.yieldPos = oldYieldPos;\x0d\n this.awaitPos = oldAwaitPos;\x0d\n this.awaitIdentPos = oldAwaitIdentPos;\x0d\n return this.parseSubscriptAsyncArrow(startPos\x2C startLoc\x2C exprList\x2C forInit)\x0d\n }\x0d\n this.checkExpressionErrors(refDestructuringErrors\x2C true);\x0d\n this.yieldPos = oldYieldPos || this.yieldPos;\x0d\n this.awaitPos = oldAwaitPos || this.awaitPos;\x0d\n this.awaitIdentPos = oldAwaitIdentPos || this.awaitIdentPos;\x0d\n var node$1 = this.startNodeAt(startPos\x2C startLoc);\x0d\n node$1.callee = base;\x0d\n node$1.arguments = exprList;\x0d\n if (optionalSupported) {\x0d\n node$1.optional = optional;\x0d\n }\x0d\n base = this.finishNode(node$1\x2C "CallExpression");\x0d\n } else if (this.type === types$1.backQuote) {\x0d\n if (optional || optionalChained) {\x0d\n this.raise(this.start\x2C "Optional chaining cannot appear in the tag of tagged template expressions");\x0d\n }\x0d\n var node$2 = this.startNodeAt(startPos\x2C startLoc);\x0d\n node$2.tag = base;\x0d\n node$2.quasi = this.parseTemplate({isTagged: true});\x0d\n base = this.finishNode(node$2\x2C "TaggedTemplateExpression");\x0d\n }\x0d\n return base\x0d\n };\x0d\n\x0d\n // Parse an atomic expression \u2014 either a single token that is an\x0d\n // expression\x2C an expression started by a keyword like `function` or\x0d\n // `new`\x2C or an expression wrapped in punctuation like `()`\x2C `[]`\x2C\x0d\n // or `{}`.\x0d\n\x0d\n pp$5.parseExprAtom = function(refDestructuringErrors\x2C forInit\x2C forNew) {\x0d\n // If a division operator appears in an expression position\x2C the\x0d\n // tokenizer got confused\x2C and we force it to read a regexp instead.\x0d\n if (this.type === types$1.slash) { this.readRegexp(); }\x0d\n\x0d\n var node\x2C canBeArrow = this.potentialArrowAt === this.start;\x0d\n switch (this.type) {\x0d\n case types$1._super:\x0d\n if (!this.allowSuper)\x0d\n { this.raise(this.start\x2C "'super' keyword outside a method"); }\x0d\n node = this.startNode();\x0d\n this.next();\x0d\n if (this.type === types$1.parenL && !this.allowDirectSuper)\x0d\n { this.raise(node.start\x2C "super() call outside constructor of a subclass"); }\x0d\n // The `super` keyword can appear at below:\x0d\n // SuperProperty:\x0d\n // super [ Expression ]\x0d\n // super . IdentifierName\x0d\n // SuperCall:\x0d\n // super ( Arguments )\x0d\n if (this.type !== types$1.dot && this.type !== types$1.bracketL && this.type !== types$1.parenL)\x0d\n { this.unexpected(); }\x0d\n return this.finishNode(node\x2C "Super")\x0d\n\x0d\n case types$1._this:\x0d\n node = this.startNode();\x0d\n this.next();\x0d\n return this.finishNode(node\x2C "ThisExpression")\x0d\n\x0d\n case types$1.name:\x0d\n var startPos = this.start\x2C startLoc = this.startLoc\x2C containsEsc = this.containsEsc;\x0d\n var id = this.parseIdent(false);\x0d\n if (this.options.ecmaVersion >= 8 && !containsEsc && id.name === "async" && !this.canInsertSemicolon() && this.eat(types$1._function)) {\x0d\n this.overrideContext(types.f_expr);\x0d\n return this.parseFunction(this.startNodeAt(startPos\x2C startLoc)\x2C 0\x2C false\x2C true\x2C forInit)\x0d\n }\x0d\n if (canBeArrow && !this.canInsertSemicolon()) {\x0d\n if (this.eat(types$1.arrow))\x0d\n { return this.parseArrowExpression(this.startNodeAt(startPos\x2C startLoc)\x2C [id]\x2C false\x2C forInit) }\x0d\n if (this.options.ecmaVersion >= 8 && id.name === "async" && this.type === types$1.name && !containsEsc &&\x0d\n (!this.potentialArrowInForAwait || this.value !== "of" || this.containsEsc)) {\x0d\n id = this.parseIdent(false);\x0d\n if (this.canInsertSemicolon() || !this.eat(types$1.arrow))\x0d\n { this.unexpected(); }\x0d\n return this.parseArrowExpression(this.startNodeAt(startPos\x2C startLoc)\x2C [id]\x2C true\x2C forInit)\x0d\n }\x0d\n }\x0d\n return id\x0d\n\x0d\n case types$1.regexp:\x0d\n var value = this.value;\x0d\n node = this.parseLiteral(value.value);\x0d\n node.regex = {pattern: value.pattern\x2C flags: value.flags};\x0d\n return node\x0d\n\x0d\n case types$1.num: case types$1.string:\x0d\n return this.parseLiteral(this.value)\x0d\n\x0d\n case types$1._null: case types$1._true: case types$1._false:\x0d\n node = this.startNode();\x0d\n node.value = this.type === types$1._null ? null : this.type === types$1._true;\x0d\n node.raw = this.type.keyword;\x0d\n this.next();\x0d\n return this.finishNode(node\x2C "Literal")\x0d\n\x0d\n case types$1.parenL:\x0d\n var start = this.start\x2C expr = this.parseParenAndDistinguishExpression(canBeArrow\x2C forInit);\x0d\n if (refDestructuringErrors) {\x0d\n if (refDestructuringErrors.parenthesizedAssign < 0 && !this.isSimpleAssignTarget(expr))\x0d\n { refDestructuringErrors.parenthesizedAssign = start; }\x0d\n if (refDestructuringErrors.parenthesizedBind < 0)\x0d\n { refDestructuringErrors.parenthesizedBind = start; }\x0d\n }\x0d\n return expr\x0d\n\x0d\n case types$1.bracketL:\x0d\n node = this.startNode();\x0d\n this.next();\x0d\n node.elements = this.parseExprList(types$1.bracketR\x2C true\x2C true\x2C refDestructuringErrors);\x0d\n return this.finishNode(node\x2C "ArrayExpression")\x0d\n\x0d\n case types$1.braceL:\x0d\n this.overrideContext(types.b_expr);\x0d\n return this.parseObj(false\x2C refDestructuringErrors)\x0d\n\x0d\n case types$1._function:\x0d\n node = this.startNode();\x0d\n this.next();\x0d\n return this.parseFunction(node\x2C 0)\x0d\n\x0d\n case types$1._class:\x0d\n return this.parseClass(this.startNode()\x2C false)\x0d\n\x0d\n case types$1._new:\x0d\n return this.parseNew()\x0d\n\x0d\n case types$1.backQuote:\x0d\n return this.parseTemplate()\x0d\n\x0d\n case types$1._import:\x0d\n if (this.options.ecmaVersion >= 11) {\x0d\n return this.parseExprImport(forNew)\x0d\n } else {\x0d\n return this.unexpected()\x0d\n }\x0d\n\x0d\n default:\x0d\n return this.parseExprAtomDefault()\x0d\n }\x0d\n };\x0d\n\x0d\n pp$5.parseExprAtomDefault = function() {\x0d\n this.unexpected();\x0d\n };\x0d\n\x0d\n pp$5.parseExprImport = function(forNew) {\x0d\n var node = this.startNode();\x0d\n\x0d\n // Consume `import` as an identifier for `import.meta`.\x0d\n // Because `this.parseIdent(true)` doesn't check escape sequences\x2C it needs the check of `this.containsEsc`.\x0d\n if (this.containsEsc) { this.raiseRecoverable(this.start\x2C "Escape sequence in keyword import"); }\x0d\n this.next();\x0d\n\x0d\n if (this.type === types$1.parenL && !forNew) {\x0d\n return this.parseDynamicImport(node)\x0d\n } else if (this.type === types$1.dot) {\x0d\n var meta = this.startNodeAt(node.start\x2C node.loc && node.loc.start);\x0d\n meta.name = "import";\x0d\n node.meta = this.finishNode(meta\x2C "Identifier");\x0d\n return this.parseImportMeta(node)\x0d\n } else {\x0d\n this.unexpected();\x0d\n }\x0d\n };\x0d\n\x0d\n pp$5.parseDynamicImport = function(node) {\x0d\n this.next(); // skip `(`\x0d\n\x0d\n // Parse node.source.\x0d\n node.source = this.parseMaybeAssign();\x0d\n\x0d\n // Verify ending.\x0d\n if (!this.eat(types$1.parenR)) {\x0d\n var errorPos = this.start;\x0d\n if (this.eat(types$1.comma) && this.eat(types$1.parenR)) {\x0d\n this.raiseRecoverable(errorPos\x2C "Trailing comma is not allowed in import()");\x0d\n } else {\x0d\n this.unexpected(errorPos);\x0d\n }\x0d\n }\x0d\n\x0d\n return this.finishNode(node\x2C "ImportExpression")\x0d\n };\x0d\n\x0d\n pp$5.parseImportMeta = function(node) {\x0d\n this.next(); // skip `.`\x0d\n\x0d\n var containsEsc = this.containsEsc;\x0d\n node.property = this.parseIdent(true);\x0d\n\x0d\n if (node.property.name !== "meta")\x0d\n { this.raiseRecoverable(node.property.start\x2C "The only valid meta property for import is 'import.meta'"); }\x0d\n if (containsEsc)\x0d\n { this.raiseRecoverable(node.start\x2C "'import.meta' must not contain escaped characters"); }\x0d\n if (this.options.sourceType !== "module" && !this.options.allowImportExportEverywhere)\x0d\n { this.raiseRecoverable(node.start\x2C "Cannot use 'import.meta' outside a module"); }\x0d\n\x0d\n return this.finishNode(node\x2C "MetaProperty")\x0d\n };\x0d\n\x0d\n pp$5.parseLiteral = function(value) {\x0d\n var node = this.startNode();\x0d\n node.value = value;\x0d\n node.raw = this.input.slice(this.start\x2C this.end);\x0d\n if (node.raw.charCodeAt(node.raw.length - 1) === 110) { node.bigint = node.raw.slice(0\x2C -1).replace(/_/g\x2C ""); }\x0d\n this.next();\x0d\n return this.finishNode(node\x2C "Literal")\x0d\n };\x0d\n\x0d\n pp$5.parseParenExpression = function() {\x0d\n this.expect(types$1.parenL);\x0d\n var val = this.parseExpression();\x0d\n this.expect(types$1.parenR);\x0d\n return val\x0d\n };\x0d\n\x0d\n pp$5.shouldParseArrow = function(exprList) {\x0d\n return !this.canInsertSemicolon()\x0d\n };\x0d\n\x0d\n pp$5.parseParenAndDistinguishExpression = function(canBeArrow\x2C forInit) {\x0d\n var startPos = this.start\x2C startLoc = this.startLoc\x2C val\x2C allowTrailingComma = this.options.ecmaVersion >= 8;\x0d\n if (this.options.ecmaVersion >= 6) {\x0d\n this.next();\x0d\n\x0d\n var innerStartPos = this.start\x2C innerStartLoc = this.startLoc;\x0d\n var exprList = []\x2C first = true\x2C lastIsComma = false;\x0d\n var refDestructuringErrors = new DestructuringErrors\x2C oldYieldPos = this.yieldPos\x2C oldAwaitPos = this.awaitPos\x2C spreadStart;\x0d\n this.yieldPos = 0;\x0d\n this.awaitPos = 0;\x0d\n // Do not save awaitIdentPos to allow checking awaits nested in parameters\x0d\n while (this.type !== types$1.parenR) {\x0d\n first ? first = false : this.expect(types$1.comma);\x0d\n if (allowTrailingComma && this.afterTrailingComma(types$1.parenR\x2C true)) {\x0d\n lastIsComma = true;\x0d\n break\x0d\n } else if (this.type === types$1.ellipsis) {\x0d\n spreadStart = this.start;\x0d\n exprList.push(this.parseParenItem(this.parseRestBinding()));\x0d\n if (this.type === types$1.comma) {\x0d\n this.raiseRecoverable(\x0d\n this.start\x2C\x0d\n "Comma is not permitted after the rest element"\x0d\n );\x0d\n }\x0d\n break\x0d\n } else {\x0d\n exprList.push(this.parseMaybeAssign(false\x2C refDestructuringErrors\x2C this.parseParenItem));\x0d\n }\x0d\n }\x0d\n var innerEndPos = this.lastTokEnd\x2C innerEndLoc = this.lastTokEndLoc;\x0d\n this.expect(types$1.parenR);\x0d\n\x0d\n if (canBeArrow && this.shouldParseArrow(exprList) && this.eat(types$1.arrow)) {\x0d\n this.checkPatternErrors(refDestructuringErrors\x2C false);\x0d\n this.checkYieldAwaitInDefaultParams();\x0d\n this.yieldPos = oldYieldPos;\x0d\n this.awaitPos = oldAwaitPos;\x0d\n return this.parseParenArrowList(startPos\x2C startLoc\x2C exprList\x2C forInit)\x0d\n }\x0d\n\x0d\n if (!exprList.length || lastIsComma) { this.unexpected(this.lastTokStart); }\x0d\n if (spreadStart) { this.unexpected(spreadStart); }\x0d\n this.checkExpressionErrors(refDestructuringErrors\x2C true);\x0d\n this.yieldPos = oldYieldPos || this.yieldPos;\x0d\n this.awaitPos = oldAwaitPos || this.awaitPos;\x0d\n\x0d\n if (exprList.length > 1) {\x0d\n val = this.startNodeAt(innerStartPos\x2C innerStartLoc);\x0d\n val.expressions = exprList;\x0d\n this.finishNodeAt(val\x2C "SequenceExpression"\x2C innerEndPos\x2C innerEndLoc);\x0d\n } else {\x0d\n val = exprList[0];\x0d\n }\x0d\n } else {\x0d\n val = this.parseParenExpression();\x0d\n }\x0d\n\x0d\n if (this.options.preserveParens) {\x0d\n var par = this.startNodeAt(startPos\x2C startLoc);\x0d\n par.expression = val;\x0d\n return this.finishNode(par\x2C "ParenthesizedExpression")\x0d\n } else {\x0d\n return val\x0d\n }\x0d\n };\x0d\n\x0d\n pp$5.parseParenItem = function(item) {\x0d\n return item\x0d\n };\x0d\n\x0d\n pp$5.parseParenArrowList = function(startPos\x2C startLoc\x2C exprList\x2C forInit) {\x0d\n return this.parseArrowExpression(this.startNodeAt(startPos\x2C startLoc)\x2C exprList\x2C false\x2C forInit)\x0d\n };\x0d\n\x0d\n // New's precedence is slightly tricky. It must allow its argument to\x0d\n // be a `[]` or dot subscript expression\x2C but not a call \u2014 at least\x2C\x0d\n // not without wrapping it in parentheses. Thus\x2C it uses the noCalls\x0d\n // argument to parseSubscripts to prevent it from consuming the\x0d\n // argument list.\x0d\n\x0d\n var empty = [];\x0d\n\x0d\n pp$5.parseNew = function() {\x0d\n if (this.containsEsc) { this.raiseRecoverable(this.start\x2C "Escape sequence in keyword new"); }\x0d\n var node = this.startNode();\x0d\n this.next();\x0d\n if (this.options.ecmaVersion >= 6 && this.type === types$1.dot) {\x0d\n var meta = this.startNodeAt(node.start\x2C node.loc && node.loc.start);\x0d\n meta.name = "new";\x0d\n node.meta = this.finishNode(meta\x2C "Identifier");\x0d\n this.next();\x0d\n var containsEsc = this.containsEsc;\x0d\n node.property = this.parseIdent(true);\x0d\n if (node.property.name !== "target")\x0d\n { this.raiseRecoverable(node.property.start\x2C "The only valid meta property for new is 'new.target'"); }\x0d\n if (containsEsc)\x0d\n { this.raiseRecoverable(node.start\x2C "'new.target' must not contain escaped characters"); }\x0d\n if (!this.allowNewDotTarget)\x0d\n { this.raiseRecoverable(node.start\x2C "'new.target' can only be used in functions and class static block"); }\x0d\n return this.finishNode(node\x2C "MetaProperty")\x0d\n }\x0d\n var startPos = this.start\x2C startLoc = this.startLoc;\x0d\n node.callee = this.parseSubscripts(this.parseExprAtom(null\x2C false\x2C true)\x2C startPos\x2C startLoc\x2C true\x2C false);\x0d\n if (this.eat(types$1.parenL)) { node.arguments = this.parseExprList(types$1.parenR\x2C this.options.ecmaVersion >= 8\x2C false); }\x0d\n else { node.arguments = empty; }\x0d\n return this.finishNode(node\x2C "NewExpression")\x0d\n };\x0d\n\x0d\n // Parse template expression.\x0d\n\x0d\n pp$5.parseTemplateElement = function(ref) {\x0d\n var isTagged = ref.isTagged;\x0d\n\x0d\n var elem = this.startNode();\x0d\n if (this.type === types$1.invalidTemplate) {\x0d\n if (!isTagged) {\x0d\n this.raiseRecoverable(this.start\x2C "Bad escape sequence in untagged template literal");\x0d\n }\x0d\n elem.value = {\x0d\n raw: this.value\x2C\x0d\n cooked: null\x0d\n };\x0d\n } else {\x0d\n elem.value = {\x0d\n raw: this.input.slice(this.start\x2C this.end).replace(/\\r\\n?/g\x2C "\\n")\x2C\x0d\n cooked: this.value\x0d\n };\x0d\n }\x0d\n this.next();\x0d\n elem.tail = this.type === types$1.backQuote;\x0d\n return this.finishNode(elem\x2C "TemplateElement")\x0d\n };\x0d\n\x0d\n pp$5.parseTemplate = function(ref) {\x0d\n if ( ref === void 0 ) ref = {};\x0d\n var isTagged = ref.isTagged; if ( isTagged === void 0 ) isTagged = false;\x0d\n\x0d\n var node = this.startNode();\x0d\n this.next();\x0d\n node.expressions = [];\x0d\n var curElt = this.parseTemplateElement({isTagged: isTagged});\x0d\n node.quasis = [curElt];\x0d\n while (!curElt.tail) {\x0d\n if (this.type === types$1.eof) { this.raise(this.pos\x2C "Unterminated template literal"); }\x0d\n this.expect(types$1.dollarBraceL);\x0d\n node.expressions.push(this.parseExpression());\x0d\n this.expect(types$1.braceR);\x0d\n node.quasis.push(curElt = this.parseTemplateElement({isTagged: isTagged}));\x0d\n }\x0d\n this.next();\x0d\n return this.finishNode(node\x2C "TemplateLiteral")\x0d\n };\x0d\n\x0d\n pp$5.isAsyncProp = function(prop) {\x0d\n return !prop.computed && prop.key.type === "Identifier" && prop.key.name === "async" &&\x0d\n (this.type === types$1.name || this.type === types$1.num || this.type === types$1.string || this.type === types$1.bracketL || this.type.keyword || (this.options.ecmaVersion >= 9 && this.type === types$1.star)) &&\x0d\n !lineBreak.test(this.input.slice(this.lastTokEnd\x2C this.start))\x0d\n };\x0d\n\x0d\n // Parse an object literal or binding pattern.\x0d\n\x0d\n pp$5.parseObj = function(isPattern\x2C refDestructuringErrors) {\x0d\n var node = this.startNode()\x2C first = true\x2C propHash = {};\x0d\n node.properties = [];\x0d\n this.next();\x0d\n while (!this.eat(types$1.braceR)) {\x0d\n if (!first) {\x0d\n this.expect(types$1.comma);\x0d\n if (this.options.ecmaVersion >= 5 && this.afterTrailingComma(types$1.braceR)) { break }\x0d\n } else { first = false; }\x0d\n\x0d\n var prop = this.parseProperty(isPattern\x2C refDestructuringErrors);\x0d\n if (!isPattern) { this.checkPropClash(prop\x2C propHash\x2C refDestructuringErrors); }\x0d\n node.properties.push(prop);\x0d\n }\x0d\n return this.finishNode(node\x2C isPattern ? "ObjectPattern" : "ObjectExpression")\x0d\n };\x0d\n\x0d\n pp$5.parseProperty = function(isPattern\x2C refDestructuringErrors) {\x0d\n var prop = this.startNode()\x2C isGenerator\x2C isAsync\x2C startPos\x2C startLoc;\x0d\n if (this.options.ecmaVersion >= 9 && this.eat(types$1.ellipsis)) {\x0d\n if (isPattern) {\x0d\n prop.argument = this.parseIdent(false);\x0d\n if (this.type === types$1.comma) {\x0d\n this.raiseRecoverable(this.start\x2C "Comma is not permitted after the rest element");\x0d\n }\x0d\n return this.finishNode(prop\x2C "RestElement")\x0d\n }\x0d\n // Parse argument.\x0d\n prop.argument = this.parseMaybeAssign(false\x2C refDestructuringErrors);\x0d\n // To disallow trailing comma via `this.toAssignable()`.\x0d\n if (this.type === types$1.comma && refDestructuringErrors && refDestructuringErrors.trailingComma < 0) {\x0d\n refDestructuringErrors.trailingComma = this.start;\x0d\n }\x0d\n // Finish\x0d\n return this.finishNode(prop\x2C "SpreadElement")\x0d\n }\x0d\n if (this.options.ecmaVersion >= 6) {\x0d\n prop.method = false;\x0d\n prop.shorthand = false;\x0d\n if (isPattern || refDestructuringErrors) {\x0d\n startPos = this.start;\x0d\n startLoc = this.startLoc;\x0d\n }\x0d\n if (!isPattern)\x0d\n { isGenerator = this.eat(types$1.star); }\x0d\n }\x0d\n var containsEsc = this.containsEsc;\x0d\n this.parsePropertyName(prop);\x0d\n if (!isPattern && !containsEsc && this.options.ecmaVersion >= 8 && !isGenerator && this.isAsyncProp(prop)) {\x0d\n isAsync = true;\x0d\n isGenerator = this.options.ecmaVersion >= 9 && this.eat(types$1.star);\x0d\n this.parsePropertyName(prop);\x0d\n } else {\x0d\n isAsync = false;\x0d\n }\x0d\n this.parsePropertyValue(prop\x2C isPattern\x2C isGenerator\x2C isAsync\x2C startPos\x2C startLoc\x2C refDestructuringErrors\x2C containsEsc);\x0d\n return this.finishNode(prop\x2C "Property")\x0d\n };\x0d\n\x0d\n pp$5.parseGetterSetter = function(prop) {\x0d\n prop.kind = prop.key.name;\x0d\n this.parsePropertyName(prop);\x0d\n prop.value = this.parseMethod(false);\x0d\n var paramCount = prop.kind === "get" ? 0 : 1;\x0d\n if (prop.value.params.length !== paramCount) {\x0d\n var start = prop.value.start;\x0d\n if (prop.kind === "get")\x0d\n { this.raiseRecoverable(start\x2C "getter should have no params"); }\x0d\n else\x0d\n { this.raiseRecoverable(start\x2C "setter should have exactly one param"); }\x0d\n } else {\x0d\n if (prop.kind === "set" && prop.value.params[0].type === "RestElement")\x0d\n { this.raiseRecoverable(prop.value.params[0].start\x2C "Setter cannot use rest params"); }\x0d\n }\x0d\n };\x0d\n\x0d\n pp$5.parsePropertyValue = function(prop\x2C isPattern\x2C isGenerator\x2C isAsync\x2C startPos\x2C startLoc\x2C refDestructuringErrors\x2C containsEsc) {\x0d\n if ((isGenerator || isAsync) && this.type === types$1.colon)\x0d\n { this.unexpected(); }\x0d\n\x0d\n if (this.eat(types$1.colon)) {\x0d\n prop.value = isPattern ? this.parseMaybeDefault(this.start\x2C this.startLoc) : this.parseMaybeAssign(false\x2C refDestructuringErrors);\x0d\n prop.kind = "init";\x0d\n } else if (this.options.ecmaVersion >= 6 && this.type === types$1.parenL) {\x0d\n if (isPattern) { this.unexpected(); }\x0d\n prop.kind = "init";\x0d\n prop.method = true;\x0d\n prop.value = this.parseMethod(isGenerator\x2C isAsync);\x0d\n } else if (!isPattern && !containsEsc &&\x0d\n this.options.ecmaVersion >= 5 && !prop.computed && prop.key.type === "Identifier" &&\x0d\n (prop.key.name === "get" || prop.key.name === "set") &&\x0d\n (this.type !== types$1.comma && this.type !== types$1.braceR && this.type !== types$1.eq)) {\x0d\n if (isGenerator || isAsync) { this.unexpected(); }\x0d\n this.parseGetterSetter(prop);\x0d\n } else if (this.options.ecmaVersion >= 6 && !prop.computed && prop.key.type === "Identifier") {\x0d\n if (isGenerator || isAsync) { this.unexpected(); }\x0d\n this.checkUnreserved(prop.key);\x0d\n if (prop.key.name === "await" && !this.awaitIdentPos)\x0d\n { this.awaitIdentPos = startPos; }\x0d\n prop.kind = "init";\x0d\n if (isPattern) {\x0d\n prop.value = this.parseMaybeDefault(startPos\x2C startLoc\x2C this.copyNode(prop.key));\x0d\n } else if (this.type === types$1.eq && refDestructuringErrors) {\x0d\n if (refDestructuringErrors.shorthandAssign < 0)\x0d\n { refDestructuringErrors.shorthandAssign = this.start; }\x0d\n prop.value = this.parseMaybeDefault(startPos\x2C startLoc\x2C this.copyNode(prop.key));\x0d\n } else {\x0d\n prop.value = this.copyNode(prop.key);\x0d\n }\x0d\n prop.shorthand = true;\x0d\n } else { this.unexpected(); }\x0d\n };\x0d\n\x0d\n pp$5.parsePropertyName = function(prop) {\x0d\n if (this.options.ecmaVersion >= 6) {\x0d\n if (this.eat(types$1.bracketL)) {\x0d\n prop.computed = true;\x0d\n prop.key = this.parseMaybeAssign();\x0d\n this.expect(types$1.bracketR);\x0d\n return prop.key\x0d\n } else {\x0d\n prop.computed = false;\x0d\n }\x0d\n }\x0d\n return prop.key = this.type === types$1.num || this.type === types$1.string ? this.parseExprAtom() : this.parseIdent(this.options.allowReserved !== "never")\x0d\n };\x0d\n\x0d\n // Initialize empty function node.\x0d\n\x0d\n pp$5.initFunction = function(node) {\x0d\n node.id = null;\x0d\n if (this.options.ecmaVersion >= 6) { node.generator = node.expression = false; }\x0d\n if (this.options.ecmaVersion >= 8) { node.async = false; }\x0d\n };\x0d\n\x0d\n // Parse object or class method.\x0d\n\x0d\n pp$5.parseMethod = function(isGenerator\x2C isAsync\x2C allowDirectSuper) {\x0d\n var node = this.startNode()\x2C oldYieldPos = this.yieldPos\x2C oldAwaitPos = this.awaitPos\x2C oldAwaitIdentPos = this.awaitIdentPos;\x0d\n\x0d\n this.initFunction(node);\x0d\n if (this.options.ecmaVersion >= 6)\x0d\n { node.generator = isGenerator; }\x0d\n if (this.options.ecmaVersion >= 8)\x0d\n { node.async = !!isAsync; }\x0d\n\x0d\n this.yieldPos = 0;\x0d\n this.awaitPos = 0;\x0d\n this.awaitIdentPos = 0;\x0d\n this.enterScope(functionFlags(isAsync\x2C node.generator) | SCOPE_SUPER | (allowDirectSuper ? SCOPE_DIRECT_SUPER : 0));\x0d\n\x0d\n this.expect(types$1.parenL);\x0d\n node.params = this.parseBindingList(types$1.parenR\x2C false\x2C this.options.ecmaVersion >= 8);\x0d\n this.checkYieldAwaitInDefaultParams();\x0d\n this.parseFunctionBody(node\x2C false\x2C true\x2C false);\x0d\n\x0d\n this.yieldPos = oldYieldPos;\x0d\n this.awaitPos = oldAwaitPos;\x0d\n this.awaitIdentPos = oldAwaitIdentPos;\x0d\n return this.finishNode(node\x2C "FunctionExpression")\x0d\n };\x0d\n\x0d\n // Parse arrow function expression with given parameters.\x0d\n\x0d\n pp$5.parseArrowExpression = function(node\x2C params\x2C isAsync\x2C forInit) {\x0d\n var oldYieldPos = this.yieldPos\x2C oldAwaitPos = this.awaitPos\x2C oldAwaitIdentPos = this.awaitIdentPos;\x0d\n\x0d\n this.enterScope(functionFlags(isAsync\x2C false) | SCOPE_ARROW);\x0d\n this.initFunction(node);\x0d\n if (this.options.ecmaVersion >= 8) { node.async = !!isAsync; }\x0d\n\x0d\n this.yieldPos = 0;\x0d\n this.awaitPos = 0;\x0d\n this.awaitIdentPos = 0;\x0d\n\x0d\n node.params = this.toAssignableList(params\x2C true);\x0d\n this.parseFunctionBody(node\x2C true\x2C false\x2C forInit);\x0d\n\x0d\n this.yieldPos = oldYieldPos;\x0d\n this.awaitPos = oldAwaitPos;\x0d\n this.awaitIdentPos = oldAwaitIdentPos;\x0d\n return this.finishNode(node\x2C "ArrowFunctionExpression")\x0d\n };\x0d\n\x0d\n // Parse function body and check parameters.\x0d\n\x0d\n pp$5.parseFunctionBody = function(node\x2C isArrowFunction\x2C isMethod\x2C forInit) {\x0d\n var isExpression = isArrowFunction && this.type !== types$1.braceL;\x0d\n var oldStrict = this.strict\x2C useStrict = false;\x0d\n\x0d\n if (isExpression) {\x0d\n node.body = this.parseMaybeAssign(forInit);\x0d\n node.expression = true;\x0d\n this.checkParams(node\x2C false);\x0d\n } else {\x0d\n var nonSimple = this.options.ecmaVersion >= 7 && !this.isSimpleParamList(node.params);\x0d\n if (!oldStrict || nonSimple) {\x0d\n useStrict = this.strictDirective(this.end);\x0d\n // If this is a strict mode function\x2C verify that argument names\x0d\n // are not repeated\x2C and it does not try to bind the words `eval`\x0d\n // or `arguments`.\x0d\n if (useStrict && nonSimple)\x0d\n { this.raiseRecoverable(node.start\x2C "Illegal 'use strict' directive in function with non-simple parameter list"); }\x0d\n }\x0d\n // Start a new scope with regard to labels and the `inFunction`\x0d\n // flag (restore them to their old value afterwards).\x0d\n var oldLabels = this.labels;\x0d\n this.labels = [];\x0d\n if (useStrict) { this.strict = true; }\x0d\n\x0d\n // Add the params to varDeclaredNames to ensure that an error is thrown\x0d\n // if a let/const declaration in the function clashes with one of the params.\x0d\n this.checkParams(node\x2C !oldStrict && !useStrict && !isArrowFunction && !isMethod && this.isSimpleParamList(node.params));\x0d\n // Ensure the function name isn't a forbidden identifier in strict mode\x2C e.g. 'eval'\x0d\n if (this.strict && node.id) { this.checkLValSimple(node.id\x2C BIND_OUTSIDE); }\x0d\n node.body = this.parseBlock(false\x2C undefined\x2C useStrict && !oldStrict);\x0d\n node.expression = false;\x0d\n this.adaptDirectivePrologue(node.body.body);\x0d\n this.labels = oldLabels;\x0d\n }\x0d\n this.exitScope();\x0d\n };\x0d\n\x0d\n pp$5.isSimpleParamList = function(params) {\x0d\n for (var i = 0\x2C list = params; i < list.length; i += 1)\x0d\n {\x0d\n var param = list[i];\x0d\n\x0d\n if (param.type !== "Identifier") { return false\x0d\n } }\x0d\n return true\x0d\n };\x0d\n\x0d\n // Checks function params for various disallowed patterns such as using "eval"\x0d\n // or "arguments" and duplicate parameters.\x0d\n\x0d\n pp$5.checkParams = function(node\x2C allowDuplicates) {\x0d\n var nameHash = Object.create(null);\x0d\n for (var i = 0\x2C list = node.params; i < list.length; i += 1)\x0d\n {\x0d\n var param = list[i];\x0d\n\x0d\n this.checkLValInnerPattern(param\x2C BIND_VAR\x2C allowDuplicates ? null : nameHash);\x0d\n }\x0d\n };\x0d\n\x0d\n // Parses a comma-separated list of expressions\x2C and returns them as\x0d\n // an array. `close` is the token type that ends the list\x2C and\x0d\n // `allowEmpty` can be turned on to allow subsequent commas with\x0d\n // nothing in between them to be parsed as `null` (which is needed\x0d\n // for array literals).\x0d\n\x0d\n pp$5.parseExprList = function(close\x2C allowTrailingComma\x2C allowEmpty\x2C refDestructuringErrors) {\x0d\n var elts = []\x2C first = true;\x0d\n while (!this.eat(close)) {\x0d\n if (!first) {\x0d\n this.expect(types$1.comma);\x0d\n if (allowTrailingComma && this.afterTrailingComma(close)) { break }\x0d\n } else { first = false; }\x0d\n\x0d\n var elt = (void 0);\x0d\n if (allowEmpty && this.type === types$1.comma)\x0d\n { elt = null; }\x0d\n else if (this.type === types$1.ellipsis) {\x0d\n elt = this.parseSpread(refDestructuringErrors);\x0d\n if (refDestructuringErrors && this.type === types$1.comma && refDestructuringErrors.trailingComma < 0)\x0d\n { refDestructuringErrors.trailingComma = this.start; }\x0d\n } else {\x0d\n elt = this.parseMaybeAssign(false\x2C refDestructuringErrors);\x0d\n }\x0d\n elts.push(elt);\x0d\n }\x0d\n return elts\x0d\n };\x0d\n\x0d\n pp$5.checkUnreserved = function(ref) {\x0d\n var start = ref.start;\x0d\n var end = ref.end;\x0d\n var name = ref.name;\x0d\n\x0d\n if (this.inGenerator && name === "yield")\x0d\n { this.raiseRecoverable(start\x2C "Cannot use 'yield' as identifier inside a generator"); }\x0d\n if (this.inAsync && name === "await")\x0d\n { this.raiseRecoverable(start\x2C "Cannot use 'await' as identifier inside an async function"); }\x0d\n if (this.currentThisScope().inClassFieldInit && name === "arguments")\x0d\n { this.raiseRecoverable(start\x2C "Cannot use 'arguments' in class field initializer"); }\x0d\n if (this.inClassStaticBlock && (name === "arguments" || name === "await"))\x0d\n { this.raise(start\x2C ("Cannot use " + name + " in class static initialization block")); }\x0d\n if (this.keywords.test(name))\x0d\n { this.raise(start\x2C ("Unexpected keyword '" + name + "'")); }\x0d\n if (this.options.ecmaVersion < 6 &&\x0d\n this.input.slice(start\x2C end).indexOf("\\\\") !== -1) { return }\x0d\n var re = this.strict ? this.reservedWordsStrict : this.reservedWords;\x0d\n if (re.test(name)) {\x0d\n if (!this.inAsync && name === "await")\x0d\n { this.raiseRecoverable(start\x2C "Cannot use keyword 'await' outside an async function"); }\x0d\n this.raiseRecoverable(start\x2C ("The keyword '" + name + "' is reserved"));\x0d\n }\x0d\n };\x0d\n\x0d\n // Parse the next token as an identifier. If `liberal` is true (used\x0d\n // when parsing properties)\x2C it will also convert keywords into\x0d\n // identifiers.\x0d\n\x0d\n pp$5.parseIdent = function(liberal) {\x0d\n var node = this.parseIdentNode();\x0d\n this.next(!!liberal);\x0d\n this.finishNode(node\x2C "Identifier");\x0d\n if (!liberal) {\x0d\n this.checkUnreserved(node);\x0d\n if (node.name === "await" && !this.awaitIdentPos)\x0d\n { this.awaitIdentPos = node.start; }\x0d\n }\x0d\n return node\x0d\n };\x0d\n\x0d\n pp$5.parseIdentNode = function() {\x0d\n var node = this.startNode();\x0d\n if (this.type === types$1.name) {\x0d\n node.name = this.value;\x0d\n } else if (this.type.keyword) {\x0d\n node.name = this.type.keyword;\x0d\n\x0d\n // To fix https://github.com/acornjs/acorn/issues/575\x0d\n // `class` and `function` keywords push new context into this.context.\x0d\n // But there is no chance to pop the context if the keyword is consumed as an identifier such as a property name.\x0d\n // If the previous token is a dot\x2C this does not apply because the context-managing code already ignored the keyword\x0d\n if ((node.name === "class" || node.name === "function") &&\x0d\n (this.lastTokEnd !== this.lastTokStart + 1 || this.input.charCodeAt(this.lastTokStart) !== 46)) {\x0d\n this.context.pop();\x0d\n }\x0d\n this.type = types$1.name;\x0d\n } else {\x0d\n this.unexpected();\x0d\n }\x0d\n return node\x0d\n };\x0d\n\x0d\n pp$5.parsePrivateIdent = function() {\x0d\n var node = this.startNode();\x0d\n if (this.type === types$1.privateId) {\x0d\n node.name = this.value;\x0d\n } else {\x0d\n this.unexpected();\x0d\n }\x0d\n this.next();\x0d\n this.finishNode(node\x2C "PrivateIdentifier");\x0d\n\x0d\n // For validating existence\x0d\n if (this.options.checkPrivateFields) {\x0d\n if (this.privateNameStack.length === 0) {\x0d\n this.raise(node.start\x2C ("Private field '#" + (node.name) + "' must be declared in an enclosing class"));\x0d\n } else {\x0d\n this.privateNameStack[this.privateNameStack.length - 1].used.push(node);\x0d\n }\x0d\n }\x0d\n\x0d\n return node\x0d\n };\x0d\n\x0d\n // Parses yield expression inside generator.\x0d\n\x0d\n pp$5.parseYield = function(forInit) {\x0d\n if (!this.yieldPos) { this.yieldPos = this.start; }\x0d\n\x0d\n var node = this.startNode();\x0d\n this.next();\x0d\n if (this.type === types$1.semi || this.canInsertSemicolon() || (this.type !== types$1.star && !this.type.startsExpr)) {\x0d\n node.delegate = false;\x0d\n node.argument = null;\x0d\n } else {\x0d\n node.delegate = this.eat(types$1.star);\x0d\n node.argument = this.parseMaybeAssign(forInit);\x0d\n }\x0d\n return this.finishNode(node\x2C "YieldExpression")\x0d\n };\x0d\n\x0d\n pp$5.parseAwait = function(forInit) {\x0d\n if (!this.awaitPos) { this.awaitPos = this.start; }\x0d\n\x0d\n var node = this.startNode();\x0d\n this.next();\x0d\n node.argument = this.parseMaybeUnary(null\x2C true\x2C false\x2C forInit);\x0d\n return this.finishNode(node\x2C "AwaitExpression")\x0d\n };\x0d\n\x0d\n var pp$4 = Parser.prototype;\x0d\n\x0d\n // This function is used to raise exceptions on parse errors. It\x0d\n // takes an offset integer (into the current `input`) to indicate\x0d\n // the location of the error\x2C attaches the position to the end\x0d\n // of the error message\x2C and then raises a `SyntaxError` with that\x0d\n // message.\x0d\n\x0d\n pp$4.raise = function(pos\x2C message) {\x0d\n var loc = getLineInfo(this.input\x2C pos);\x0d\n message += " (" + loc.line + ":" + loc.column + ")";\x0d\n var err = new SyntaxError(message);\x0d\n err.pos = pos; err.loc = loc; err.raisedAt = this.pos;\x0d\n throw err\x0d\n };\x0d\n\x0d\n pp$4.raiseRecoverable = pp$4.raise;\x0d\n\x0d\n pp$4.curPosition = function() {\x0d\n if (this.options.locations) {\x0d\n return new Position(this.curLine\x2C this.pos - this.lineStart)\x0d\n }\x0d\n };\x0d\n\x0d\n var pp$3 = Parser.prototype;\x0d\n\x0d\n var Scope = function Scope(flags) {\x0d\n this.flags = flags;\x0d\n // A list of var-declared names in the current lexical scope\x0d\n this.var = [];\x0d\n // A list of lexically-declared names in the current lexical scope\x0d\n this.lexical = [];\x0d\n // A list of lexically-declared FunctionDeclaration names in the current lexical scope\x0d\n this.functions = [];\x0d\n // A switch to disallow the identifier reference 'arguments'\x0d\n this.inClassFieldInit = false;\x0d\n };\x0d\n\x0d\n // The functions in this module keep track of declared variables in the current scope in order to detect duplicate variable names.\x0d\n\x0d\n pp$3.enterScope = function(flags) {\x0d\n this.scopeStack.push(new Scope(flags));\x0d\n };\x0d\n\x0d\n pp$3.exitScope = function() {\x0d\n this.scopeStack.pop();\x0d\n };\x0d\n\x0d\n // The spec says:\x0d\n // > At the top level of a function\x2C or script\x2C function declarations are\x0d\n // > treated like var declarations rather than like lexical declarations.\x0d\n pp$3.treatFunctionsAsVarInScope = function(scope) {\x0d\n return (scope.flags & SCOPE_FUNCTION) || !this.inModule && (scope.flags & SCOPE_TOP)\x0d\n };\x0d\n\x0d\n pp$3.declareName = function(name\x2C bindingType\x2C pos) {\x0d\n var redeclared = false;\x0d\n if (bindingType === BIND_LEXICAL) {\x0d\n var scope = this.currentScope();\x0d\n redeclared = scope.lexical.indexOf(name) > -1 || scope.functions.indexOf(name) > -1 || scope.var.indexOf(name) > -1;\x0d\n scope.lexical.push(name);\x0d\n if (this.inModule && (scope.flags & SCOPE_TOP))\x0d\n { delete this.undefinedExports[name]; }\x0d\n } else if (bindingType === BIND_SIMPLE_CATCH) {\x0d\n var scope$1 = this.currentScope();\x0d\n scope$1.lexical.push(name);\x0d\n } else if (bindingType === BIND_FUNCTION) {\x0d\n var scope$2 = this.currentScope();\x0d\n if (this.treatFunctionsAsVar)\x0d\n { redeclared = scope$2.lexical.indexOf(name) > -1; }\x0d\n else\x0d\n { redeclared = scope$2.lexical.indexOf(name) > -1 || scope$2.var.indexOf(name) > -1; }\x0d\n scope$2.functions.push(name);\x0d\n } else {\x0d\n for (var i = this.scopeStack.length - 1; i >= 0; --i) {\x0d\n var scope$3 = this.scopeStack[i];\x0d\n if (scope$3.lexical.indexOf(name) > -1 && !((scope$3.flags & SCOPE_SIMPLE_CATCH) && scope$3.lexical[0] === name) ||\x0d\n !this.treatFunctionsAsVarInScope(scope$3) && scope$3.functions.indexOf(name) > -1) {\x0d\n redeclared = true;\x0d\n break\x0d\n }\x0d\n scope$3.var.push(name);\x0d\n if (this.inModule && (scope$3.flags & SCOPE_TOP))\x0d\n { delete this.undefinedExports[name]; }\x0d\n if (scope$3.flags & SCOPE_VAR) { break }\x0d\n }\x0d\n }\x0d\n if (redeclared) { this.raiseRecoverable(pos\x2C ("Identifier '" + name + "' has already been declared")); }\x0d\n };\x0d\n\x0d\n pp$3.checkLocalExport = function(id) {\x0d\n // scope.functions must be empty as Module code is always strict.\x0d\n if (this.scopeStack[0].lexical.indexOf(id.name) === -1 &&\x0d\n this.scopeStack[0].var.indexOf(id.name) === -1) {\x0d\n this.undefinedExports[id.name] = id;\x0d\n }\x0d\n };\x0d\n\x0d\n pp$3.currentScope = function() {\x0d\n return this.scopeStack[this.scopeStack.length - 1]\x0d\n };\x0d\n\x0d\n pp$3.currentVarScope = function() {\x0d\n for (var i = this.scopeStack.length - 1;; i--) {\x0d\n var scope = this.scopeStack[i];\x0d\n if (scope.flags & SCOPE_VAR) { return scope }\x0d\n }\x0d\n };\x0d\n\x0d\n // Could be useful for `this`\x2C `new.target`\x2C `super()`\x2C `super.property`\x2C and `super[property]`.\x0d\n pp$3.currentThisScope = function() {\x0d\n for (var i = this.scopeStack.length - 1;; i--) {\x0d\n var scope = this.scopeStack[i];\x0d\n if (scope.flags & SCOPE_VAR && !(scope.flags & SCOPE_ARROW)) { return scope }\x0d\n }\x0d\n };\x0d\n\x0d\n var Node = function Node(parser\x2C pos\x2C loc) {\x0d\n this.type = "";\x0d\n this.start = pos;\x0d\n this.end = 0;\x0d\n if (parser.options.locations)\x0d\n { this.loc = new SourceLocation(parser\x2C loc); }\x0d\n if (parser.options.directSourceFile)\x0d\n { this.sourceFile = parser.options.directSourceFile; }\x0d\n if (parser.options.ranges)\x0d\n { this.range = [pos\x2C 0]; }\x0d\n };\x0d\n\x0d\n // Start an AST node\x2C attaching a start offset.\x0d\n\x0d\n var pp$2 = Parser.prototype;\x0d\n\x0d\n pp$2.startNode = function() {\x0d\n return new Node(this\x2C this.start\x2C this.startLoc)\x0d\n };\x0d\n\x0d\n pp$2.startNodeAt = function(pos\x2C loc) {\x0d\n return new Node(this\x2C pos\x2C loc)\x0d\n };\x0d\n\x0d\n // Finish an AST node\x2C adding `type` and `end` properties.\x0d\n\x0d\n function finishNodeAt(node\x2C type\x2C pos\x2C loc) {\x0d\n node.type = type;\x0d\n node.end = pos;\x0d\n if (this.options.locations)\x0d\n { node.loc.end = loc; }\x0d\n if (this.options.ranges)\x0d\n { node.range[1] = pos; }\x0d\n return node\x0d\n }\x0d\n\x0d\n pp$2.finishNode = function(node\x2C type) {\x0d\n return finishNodeAt.call(this\x2C node\x2C type\x2C this.lastTokEnd\x2C this.lastTokEndLoc)\x0d\n };\x0d\n\x0d\n // Finish node at given position\x0d\n\x0d\n pp$2.finishNodeAt = function(node\x2C type\x2C pos\x2C loc) {\x0d\n return finishNodeAt.call(this\x2C node\x2C type\x2C pos\x2C loc)\x0d\n };\x0d\n\x0d\n pp$2.copyNode = function(node) {\x0d\n var newNode = new Node(this\x2C node.start\x2C this.startLoc);\x0d\n for (var prop in node) { newNode[prop] = node[prop]; }\x0d\n return newNode\x0d\n };\x0d\n\x0d\n // This file contains Unicode properties extracted from the ECMAScript specification.\x0d\n // The lists are extracted like so:\x0d\n // $$('#table-binary-unicode-properties > figure > table > tbody > tr > td:nth-child(1) code').map(el => el.innerText)\x0d\n\x0d\n // #table-binary-unicode-properties\x0d\n var ecma9BinaryProperties = "ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS";\x0d\n var ecma10BinaryProperties = ecma9BinaryProperties + " Extended_Pictographic";\x0d\n var ecma11BinaryProperties = ecma10BinaryProperties;\x0d\n var ecma12BinaryProperties = ecma11BinaryProperties + " EBase EComp EMod EPres ExtPict";\x0d\n var ecma13BinaryProperties = ecma12BinaryProperties;\x0d\n var ecma14BinaryProperties = ecma13BinaryProperties;\x0d\n\x0d\n var unicodeBinaryProperties = {\x0d\n 9: ecma9BinaryProperties\x2C\x0d\n 10: ecma10BinaryProperties\x2C\x0d\n 11: ecma11BinaryProperties\x2C\x0d\n 12: ecma12BinaryProperties\x2C\x0d\n 13: ecma13BinaryProperties\x2C\x0d\n 14: ecma14BinaryProperties\x0d\n };\x0d\n\x0d\n // #table-binary-unicode-properties-of-strings\x0d\n var ecma14BinaryPropertiesOfStrings = "Basic_Emoji Emoji_Keycap_Sequence RGI_Emoji_Modifier_Sequence RGI_Emoji_Flag_Sequence RGI_Emoji_Tag_Sequence RGI_Emoji_ZWJ_Sequence RGI_Emoji";\x0d\n\x0d\n var unicodeBinaryPropertiesOfStrings = {\x0d\n 9: ""\x2C\x0d\n 10: ""\x2C\x0d\n 11: ""\x2C\x0d\n 12: ""\x2C\x0d\n 13: ""\x2C\x0d\n 14: ecma14BinaryPropertiesOfStrings\x0d\n };\x0d\n\x0d\n // #table-unicode-general-category-values\x0d\n var unicodeGeneralCategoryValues = "Cased_Letter LC Close_Punctuation Pe Connector_Punctuation Pc Control Cc cntrl Currency_Symbol Sc Dash_Punctuation Pd Decimal_Number Nd digit Enclosing_Mark Me Final_Punctuation Pf Format Cf Initial_Punctuation Pi Letter L Letter_Number Nl Line_Separator Zl Lowercase_Letter Ll Mark M Combining_Mark Math_Symbol Sm Modifier_Letter Lm Modifier_Symbol Sk Nonspacing_Mark Mn Number N Open_Punctuation Ps Other C Other_Letter Lo Other_Number No Other_Punctuation Po Other_Symbol So Paragraph_Separator Zp Private_Use Co Punctuation P punct Separator Z Space_Separator Zs Spacing_Mark Mc Surrogate Cs Symbol S Titlecase_Letter Lt Unassigned Cn Uppercase_Letter Lu";\x0d\n\x0d\n // #table-unicode-script-values\x0d\n var ecma9ScriptValues = "Adlam Adlm Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb";\x0d\n var ecma10ScriptValues = ecma9ScriptValues + " Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd";\x0d\n var ecma11ScriptValues = ecma10ScriptValues + " Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho";\x0d\n var ecma12ScriptValues = ecma11ScriptValues + " Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi";\x0d\n var ecma13ScriptValues = ecma12ScriptValues + " Cypro_Minoan Cpmn Old_Uyghur Ougr Tangsa Tnsa Toto Vithkuqi Vith";\x0d\n var ecma14ScriptValues = ecma13ScriptValues + " Hrkt Katakana_Or_Hiragana Kawi Nag_Mundari Nagm Unknown Zzzz";\x0d\n\x0d\n var unicodeScriptValues = {\x0d\n 9: ecma9ScriptValues\x2C\x0d\n 10: ecma10ScriptValues\x2C\x0d\n 11: ecma11ScriptValues\x2C\x0d\n 12: ecma12ScriptValues\x2C\x0d\n 13: ecma13ScriptValues\x2C\x0d\n 14: ecma14ScriptValues\x0d\n };\x0d\n\x0d\n var data = {};\x0d\n function buildUnicodeData(ecmaVersion) {\x0d\n var d = data[ecmaVersion] = {\x0d\n binary: wordsRegexp(unicodeBinaryProperties[ecmaVersion] + " " + unicodeGeneralCategoryValues)\x2C\x0d\n binaryOfStrings: wordsRegexp(unicodeBinaryPropertiesOfStrings[ecmaVersion])\x2C\x0d\n nonBinary: {\x0d\n General_Category: wordsRegexp(unicodeGeneralCategoryValues)\x2C\x0d\n Script: wordsRegexp(unicodeScriptValues[ecmaVersion])\x0d\n }\x0d\n };\x0d\n d.nonBinary.Script_Extensions = d.nonBinary.Script;\x0d\n\x0d\n d.nonBinary.gc = d.nonBinary.General_Category;\x0d\n d.nonBinary.sc = d.nonBinary.Script;\x0d\n d.nonBinary.scx = d.nonBinary.Script_Extensions;\x0d\n }\x0d\n\x0d\n for (var i = 0\x2C list = [9\x2C 10\x2C 11\x2C 12\x2C 13\x2C 14]; i < list.length; i += 1) {\x0d\n var ecmaVersion = list[i];\x0d\n\x0d\n buildUnicodeData(ecmaVersion);\x0d\n }\x0d\n\x0d\n var pp$1 = Parser.prototype;\x0d\n\x0d\n var RegExpValidationState = function RegExpValidationState(parser) {\x0d\n this.parser = parser;\x0d\n this.validFlags = "gim" + (parser.options.ecmaVersion >= 6 ? "uy" : "") + (parser.options.ecmaVersion >= 9 ? "s" : "") + (parser.options.ecmaVersion >= 13 ? "d" : "") + (parser.options.ecmaVersion >= 15 ? "v" : "");\x0d\n this.unicodeProperties = data[parser.options.ecmaVersion >= 14 ? 14 : parser.options.ecmaVersion];\x0d\n this.source = "";\x0d\n this.flags = "";\x0d\n this.start = 0;\x0d\n this.switchU = false;\x0d\n this.switchV = false;\x0d\n this.switchN = false;\x0d\n this.pos = 0;\x0d\n this.lastIntValue = 0;\x0d\n this.lastStringValue = "";\x0d\n this.lastAssertionIsQuantifiable = false;\x0d\n this.numCapturingParens = 0;\x0d\n this.maxBackReference = 0;\x0d\n this.groupNames = [];\x0d\n this.backReferenceNames = [];\x0d\n };\x0d\n\x0d\n RegExpValidationState.prototype.reset = function reset (start\x2C pattern\x2C flags) {\x0d\n var unicodeSets = flags.indexOf("v") !== -1;\x0d\n var unicode = flags.indexOf("u") !== -1;\x0d\n this.start = start | 0;\x0d\n this.source = pattern + "";\x0d\n this.flags = flags;\x0d\n if (unicodeSets && this.parser.options.ecmaVersion >= 15) {\x0d\n this.switchU = true;\x0d\n this.switchV = true;\x0d\n this.switchN = true;\x0d\n } else {\x0d\n this.switchU = unicode && this.parser.options.ecmaVersion >= 6;\x0d\n this.switchV = false;\x0d\n this.switchN = unicode && this.parser.options.ecmaVersion >= 9;\x0d\n }\x0d\n };\x0d\n\x0d\n RegExpValidationState.prototype.raise = function raise (message) {\x0d\n this.parser.raiseRecoverable(this.start\x2C ("Invalid regular expression: /" + (this.source) + "/: " + message));\x0d\n };\x0d\n\x0d\n // If u flag is given\x2C this returns the code point at the index (it combines a surrogate pair).\x0d\n // Otherwise\x2C this returns the code unit of the index (can be a part of a surrogate pair).\x0d\n RegExpValidationState.prototype.at = function at (i\x2C forceU) {\x0d\n if ( forceU === void 0 ) forceU = false;\x0d\n\x0d\n var s = this.source;\x0d\n var l = s.length;\x0d\n if (i >= l) {\x0d\n return -1\x0d\n }\x0d\n var c = s.charCodeAt(i);\x0d\n if (!(forceU || this.switchU) || c <= 0xD7FF || c >= 0xE000 || i + 1 >= l) {\x0d\n return c\x0d\n }\x0d\n var next = s.charCodeAt(i + 1);\x0d\n return next >= 0xDC00 && next <= 0xDFFF ? (c << 10) + next - 0x35FDC00 : c\x0d\n };\x0d\n\x0d\n RegExpValidationState.prototype.nextIndex = function nextIndex (i\x2C forceU) {\x0d\n if ( forceU === void 0 ) forceU = false;\x0d\n\x0d\n var s = this.source;\x0d\n var l = s.length;\x0d\n if (i >= l) {\x0d\n return l\x0d\n }\x0d\n var c = s.charCodeAt(i)\x2C next;\x0d\n if (!(forceU || this.switchU) || c <= 0xD7FF || c >= 0xE000 || i + 1 >= l ||\x0d\n (next = s.charCodeAt(i + 1)) < 0xDC00 || next > 0xDFFF) {\x0d\n return i + 1\x0d\n }\x0d\n return i + 2\x0d\n };\x0d\n\x0d\n RegExpValidationState.prototype.current = function current (forceU) {\x0d\n if ( forceU === void 0 ) forceU = false;\x0d\n\x0d\n return this.at(this.pos\x2C forceU)\x0d\n };\x0d\n\x0d\n RegExpValidationState.prototype.lookahead = function lookahead (forceU) {\x0d\n if ( forceU === void 0 ) forceU = false;\x0d\n\x0d\n return this.at(this.nextIndex(this.pos\x2C forceU)\x2C forceU)\x0d\n };\x0d\n\x0d\n RegExpValidationState.prototype.advance = function advance (forceU) {\x0d\n if ( forceU === void 0 ) forceU = false;\x0d\n\x0d\n this.pos = this.nextIndex(this.pos\x2C forceU);\x0d\n };\x0d\n\x0d\n RegExpValidationState.prototype.eat = function eat (ch\x2C forceU) {\x0d\n if ( forceU === void 0 ) forceU = false;\x0d\n\x0d\n if (this.current(forceU) === ch) {\x0d\n this.advance(forceU);\x0d\n return true\x0d\n }\x0d\n return false\x0d\n };\x0d\n\x0d\n RegExpValidationState.prototype.eatChars = function eatChars (chs\x2C forceU) {\x0d\n if ( forceU === void 0 ) forceU = false;\x0d\n\x0d\n var pos = this.pos;\x0d\n for (var i = 0\x2C list = chs; i < list.length; i += 1) {\x0d\n var ch = list[i];\x0d\n\x0d\n var current = this.at(pos\x2C forceU);\x0d\n if (current === -1 || current !== ch) {\x0d\n return false\x0d\n }\x0d\n pos = this.nextIndex(pos\x2C forceU);\x0d\n }\x0d\n this.pos = pos;\x0d\n return true\x0d\n };\x0d\n\x0d\n /**\x0d\n * Validate the flags part of a given RegExpLiteral.\x0d\n *\x0d\n * @param {RegExpValidationState} state The state to validate RegExp.\x0d\n * @returns {void}\x0d\n */\x0d\n pp$1.validateRegExpFlags = function(state) {\x0d\n var validFlags = state.validFlags;\x0d\n var flags = state.flags;\x0d\n\x0d\n var u = false;\x0d\n var v = false;\x0d\n\x0d\n for (var i = 0; i < flags.length; i++) {\x0d\n var flag = flags.charAt(i);\x0d\n if (validFlags.indexOf(flag) === -1) {\x0d\n this.raise(state.start\x2C "Invalid regular expression flag");\x0d\n }\x0d\n if (flags.indexOf(flag\x2C i + 1) > -1) {\x0d\n this.raise(state.start\x2C "Duplicate regular expression flag");\x0d\n }\x0d\n if (flag === "u") { u = true; }\x0d\n if (flag === "v") { v = true; }\x0d\n }\x0d\n if (this.options.ecmaVersion >= 15 && u && v) {\x0d\n this.raise(state.start\x2C "Invalid regular expression flag");\x0d\n }\x0d\n };\x0d\n\x0d\n /**\x0d\n * Validate the pattern part of a given RegExpLiteral.\x0d\n *\x0d\n * @param {RegExpValidationState} state The state to validate RegExp.\x0d\n * @returns {void}\x0d\n */\x0d\n pp$1.validateRegExpPattern = function(state) {\x0d\n this.regexp_pattern(state);\x0d\n\x0d\n // The goal symbol for the parse is |Pattern[~U\x2C ~N]|. If the result of\x0d\n // parsing contains a |GroupName|\x2C reparse with the goal symbol\x0d\n // |Pattern[~U\x2C +N]| and use this result instead. Throw a *SyntaxError*\x0d\n // exception if _P_ did not conform to the grammar\x2C if any elements of _P_\x0d\n // were not matched by the parse\x2C or if any Early Error conditions exist.\x0d\n if (!state.switchN && this.options.ecmaVersion >= 9 && state.groupNames.length > 0) {\x0d\n state.switchN = true;\x0d\n this.regexp_pattern(state);\x0d\n }\x0d\n };\x0d\n\x0d\n // https://www.ecma-international.org/ecma-262/8.0/#prod-Pattern\x0d\n pp$1.regexp_pattern = function(state) {\x0d\n state.pos = 0;\x0d\n state.lastIntValue = 0;\x0d\n state.lastStringValue = "";\x0d\n state.lastAssertionIsQuantifiable = false;\x0d\n state.numCapturingParens = 0;\x0d\n state.maxBackReference = 0;\x0d\n state.groupNames.length = 0;\x0d\n state.backReferenceNames.length = 0;\x0d\n\x0d\n this.regexp_disjunction(state);\x0d\n\x0d\n if (state.pos !== state.source.length) {\x0d\n // Make the same messages as V8.\x0d\n if (state.eat(0x29 /* ) */)) {\x0d\n state.raise("Unmatched ')'");\x0d\n }\x0d\n if (state.eat(0x5D /* ] */) || state.eat(0x7D /* } */)) {\x0d\n state.raise("Lone quantifier brackets");\x0d\n }\x0d\n }\x0d\n if (state.maxBackReference > state.numCapturingParens) {\x0d\n state.raise("Invalid escape");\x0d\n }\x0d\n for (var i = 0\x2C list = state.backReferenceNames; i < list.length; i += 1) {\x0d\n var name = list[i];\x0d\n\x0d\n if (state.groupNames.indexOf(name) === -1) {\x0d\n state.raise("Invalid named capture referenced");\x0d\n }\x0d\n }\x0d\n };\x0d\n\x0d\n // https://www.ecma-international.org/ecma-262/8.0/#prod-Disjunction\x0d\n pp$1.regexp_disjunction = function(state) {\x0d\n this.regexp_alternative(state);\x0d\n while (state.eat(0x7C /* | */)) {\x0d\n this.regexp_alternative(state);\x0d\n }\x0d\n\x0d\n // Make the same message as V8.\x0d\n if (this.regexp_eatQuantifier(state\x2C true)) {\x0d\n state.raise("Nothing to repeat");\x0d\n }\x0d\n if (state.eat(0x7B /* { */)) {\x0d\n state.raise("Lone quantifier brackets");\x0d\n }\x0d\n };\x0d\n\x0d\n // https://www.ecma-international.org/ecma-262/8.0/#prod-Alternative\x0d\n pp$1.regexp_alternative = function(state) {\x0d\n while (state.pos < state.source.length && this.regexp_eatTerm(state))\x0d\n { }\x0d\n };\x0d\n\x0d\n // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-Term\x0d\n pp$1.regexp_eatTerm = function(state) {\x0d\n if (this.regexp_eatAssertion(state)) {\x0d\n // Handle `QuantifiableAssertion Quantifier` alternative.\x0d\n // `state.lastAssertionIsQuantifiable` is true if the last eaten Assertion\x0d\n // is a QuantifiableAssertion.\x0d\n if (state.lastAssertionIsQuantifiable && this.regexp_eatQuantifier(state)) {\x0d\n // Make the same message as V8.\x0d\n if (state.switchU) {\x0d\n state.raise("Invalid quantifier");\x0d\n }\x0d\n }\x0d\n return true\x0d\n }\x0d\n\x0d\n if (state.switchU ? this.regexp_eatAtom(state) : this.regexp_eatExtendedAtom(state)) {\x0d\n this.regexp_eatQuantifier(state);\x0d\n return true\x0d\n }\x0d\n\x0d\n return false\x0d\n };\x0d\n\x0d\n // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-Assertion\x0d\n pp$1.regexp_eatAssertion = function(state) {\x0d\n var start = state.pos;\x0d\n state.lastAssertionIsQuantifiable = false;\x0d\n\x0d\n // ^\x2C $\x0d\n if (state.eat(0x5E /* ^ */) || state.eat(0x24 /* $ */)) {\x0d\n return true\x0d\n }\x0d\n\x0d\n // \\b \\B\x0d\n if (state.eat(0x5C /* \\ */)) {\x0d\n if (state.eat(0x42 /* B */) || state.eat(0x62 /* b */)) {\x0d\n return true\x0d\n }\x0d\n state.pos = start;\x0d\n }\x0d\n\x0d\n // Lookahead / Lookbehind\x0d\n if (state.eat(0x28 /* ( */) && state.eat(0x3F /* ? */)) {\x0d\n var lookbehind = false;\x0d\n if (this.options.ecmaVersion >= 9) {\x0d\n lookbehind = state.eat(0x3C /* < */);\x0d\n }\x0d\n if (state.eat(0x3D /* = */) || state.eat(0x21 /* ! */)) {\x0d\n this.regexp_disjunction(state);\x0d\n if (!state.eat(0x29 /* ) */)) {\x0d\n state.raise("Unterminated group");\x0d\n }\x0d\n state.lastAssertionIsQuantifiable = !lookbehind;\x0d\n return true\x0d\n }\x0d\n }\x0d\n\x0d\n state.pos = start;\x0d\n return false\x0d\n };\x0d\n\x0d\n // https://www.ecma-international.org/ecma-262/8.0/#prod-Quantifier\x0d\n pp$1.regexp_eatQuantifier = function(state\x2C noError) {\x0d\n if ( noError === void 0 ) noError = false;\x0d\n\x0d\n if (this.regexp_eatQuantifierPrefix(state\x2C noError)) {\x0d\n state.eat(0x3F /* ? */);\x0d\n return true\x0d\n }\x0d\n return false\x0d\n };\x0d\n\x0d\n // https://www.ecma-international.org/ecma-262/8.0/#prod-QuantifierPrefix\x0d\n pp$1.regexp_eatQuantifierPrefix = function(state\x2C noError) {\x0d\n return (\x0d\n state.eat(0x2A /* * */) ||\x0d\n state.eat(0x2B /* + */) ||\x0d\n state.eat(0x3F /* ? */) ||\x0d\n this.regexp_eatBracedQuantifier(state\x2C noError)\x0d\n )\x0d\n };\x0d\n pp$1.regexp_eatBracedQuantifier = function(state\x2C noError) {\x0d\n var start = state.pos;\x0d\n if (state.eat(0x7B /* { */)) {\x0d\n var min = 0\x2C max = -1;\x0d\n if (this.regexp_eatDecimalDigits(state)) {\x0d\n min = state.lastIntValue;\x0d\n if (state.eat(0x2C /* \x2C */) && this.regexp_eatDecimalDigits(state)) {\x0d\n max = state.lastIntValue;\x0d\n }\x0d\n if (state.eat(0x7D /* } */)) {\x0d\n // SyntaxError in https://www.ecma-international.org/ecma-262/8.0/#sec-term\x0d\n if (max !== -1 && max < min && !noError) {\x0d\n state.raise("numbers out of order in {} quantifier");\x0d\n }\x0d\n return true\x0d\n }\x0d\n }\x0d\n if (state.switchU && !noError) {\x0d\n state.raise("Incomplete quantifier");\x0d\n }\x0d\n state.pos = start;\x0d\n }\x0d\n return false\x0d\n };\x0d\n\x0d\n // https://www.ecma-international.org/ecma-262/8.0/#prod-Atom\x0d\n pp$1.regexp_eatAtom = function(state) {\x0d\n return (\x0d\n this.regexp_eatPatternCharacters(state) ||\x0d\n state.eat(0x2E /* . */) ||\x0d\n this.regexp_eatReverseSolidusAtomEscape(state) ||\x0d\n this.regexp_eatCharacterClass(state) ||\x0d\n this.regexp_eatUncapturingGroup(state) ||\x0d\n this.regexp_eatCapturingGroup(state)\x0d\n )\x0d\n };\x0d\n pp$1.regexp_eatReverseSolidusAtomEscape = function(state) {\x0d\n var start = state.pos;\x0d\n if (state.eat(0x5C /* \\ */)) {\x0d\n if (this.regexp_eatAtomEscape(state)) {\x0d\n return true\x0d\n }\x0d\n state.pos = start;\x0d\n }\x0d\n return false\x0d\n };\x0d\n pp$1.regexp_eatUncapturingGroup = function(state) {\x0d\n var start = state.pos;\x0d\n if (state.eat(0x28 /* ( */)) {\x0d\n if (state.eat(0x3F /* ? */) && state.eat(0x3A /* : */)) {\x0d\n this.regexp_disjunction(state);\x0d\n if (state.eat(0x29 /* ) */)) {\x0d\n return true\x0d\n }\x0d\n state.raise("Unterminated group");\x0d\n }\x0d\n state.pos = start;\x0d\n }\x0d\n return false\x0d\n };\x0d\n pp$1.regexp_eatCapturingGroup = function(state) {\x0d\n if (state.eat(0x28 /* ( */)) {\x0d\n if (this.options.ecmaVersion >= 9) {\x0d\n this.regexp_groupSpecifier(state);\x0d\n } else if (state.current() === 0x3F /* ? */) {\x0d\n state.raise("Invalid group");\x0d\n }\x0d\n this.regexp_disjunction(state);\x0d\n if (state.eat(0x29 /* ) */)) {\x0d\n state.numCapturingParens += 1;\x0d\n return true\x0d\n }\x0d\n state.raise("Unterminated group");\x0d\n }\x0d\n return false\x0d\n };\x0d\n\x0d\n // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ExtendedAtom\x0d\n pp$1.regexp_eatExtendedAtom = function(state) {\x0d\n return (\x0d\n state.eat(0x2E /* . */) ||\x0d\n this.regexp_eatReverseSolidusAtomEscape(state) ||\x0d\n this.regexp_eatCharacterClass(state) ||\x0d\n this.regexp_eatUncapturingGroup(state) ||\x0d\n this.regexp_eatCapturingGroup(state) ||\x0d\n this.regexp_eatInvalidBracedQuantifier(state) ||\x0d\n this.regexp_eatExtendedPatternCharacter(state)\x0d\n )\x0d\n };\x0d\n\x0d\n // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-InvalidBracedQuantifier\x0d\n pp$1.regexp_eatInvalidBracedQuantifier = function(state) {\x0d\n if (this.regexp_eatBracedQuantifier(state\x2C true)) {\x0d\n state.raise("Nothing to repeat");\x0d\n }\x0d\n return false\x0d\n };\x0d\n\x0d\n // https://www.ecma-international.org/ecma-262/8.0/#prod-SyntaxCharacter\x0d\n pp$1.regexp_eatSyntaxCharacter = function(state) {\x0d\n var ch = state.current();\x0d\n if (isSyntaxCharacter(ch)) {\x0d\n state.lastIntValue = ch;\x0d\n state.advance();\x0d\n return true\x0d\n }\x0d\n return false\x0d\n };\x0d\n function isSyntaxCharacter(ch) {\x0d\n return (\x0d\n ch === 0x24 /* $ */ ||\x0d\n ch >= 0x28 /* ( */ && ch <= 0x2B /* + */ ||\x0d\n ch === 0x2E /* . */ ||\x0d\n ch === 0x3F /* ? */ ||\x0d\n ch >= 0x5B /* [ */ && ch <= 0x5E /* ^ */ ||\x0d\n ch >= 0x7B /* { */ && ch <= 0x7D /* } */\x0d\n )\x0d\n }\x0d\n\x0d\n // https://www.ecma-international.org/ecma-262/8.0/#prod-PatternCharacter\x0d\n // But eat eager.\x0d\n pp$1.regexp_eatPatternCharacters = function(state) {\x0d\n var start = state.pos;\x0d\n var ch = 0;\x0d\n while ((ch = state.current()) !== -1 && !isSyntaxCharacter(ch)) {\x0d\n state.advance();\x0d\n }\x0d\n return state.pos !== start\x0d\n };\x0d\n\x0d\n // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ExtendedPatternCharacter\x0d\n pp$1.regexp_eatExtendedPatternCharacter = function(state) {\x0d\n var ch = state.current();\x0d\n if (\x0d\n ch !== -1 &&\x0d\n ch !== 0x24 /* $ */ &&\x0d\n !(ch >= 0x28 /* ( */ && ch <= 0x2B /* + */) &&\x0d\n ch !== 0x2E /* . */ &&\x0d\n ch !== 0x3F /* ? */ &&\x0d\n ch !== 0x5B /* [ */ &&\x0d\n ch !== 0x5E /* ^ */ &&\x0d\n ch !== 0x7C /* | */\x0d\n ) {\x0d\n state.advance();\x0d\n return true\x0d\n }\x0d\n return false\x0d\n };\x0d\n\x0d\n // GroupSpecifier ::\x0d\n // [empty]\x0d\n // `?` GroupName\x0d\n pp$1.regexp_groupSpecifier = function(state) {\x0d\n if (state.eat(0x3F /* ? */)) {\x0d\n if (this.regexp_eatGroupName(state)) {\x0d\n if (state.groupNames.indexOf(state.lastStringValue) !== -1) {\x0d\n state.raise("Duplicate capture group name");\x0d\n }\x0d\n state.groupNames.push(state.lastStringValue);\x0d\n return\x0d\n }\x0d\n state.raise("Invalid group");\x0d\n }\x0d\n };\x0d\n\x0d\n // GroupName ::\x0d\n // `<` RegExpIdentifierName `>`\x0d\n // Note: this updates `state.lastStringValue` property with the eaten name.\x0d\n pp$1.regexp_eatGroupName = function(state) {\x0d\n state.lastStringValue = "";\x0d\n if (state.eat(0x3C /* < */)) {\x0d\n if (this.regexp_eatRegExpIdentifierName(state) && state.eat(0x3E /* > */)) {\x0d\n return true\x0d\n }\x0d\n state.raise("Invalid capture group name");\x0d\n }\x0d\n return false\x0d\n };\x0d\n\x0d\n // RegExpIdentifierName ::\x0d\n // RegExpIdentifierStart\x0d\n // RegExpIdentifierName RegExpIdentifierPart\x0d\n // Note: this updates `state.lastStringValue` property with the eaten name.\x0d\n pp$1.regexp_eatRegExpIdentifierName = function(state) {\x0d\n state.lastStringValue = "";\x0d\n if (this.regexp_eatRegExpIdentifierStart(state)) {\x0d\n state.lastStringValue += codePointToString(state.lastIntValue);\x0d\n while (this.regexp_eatRegExpIdentifierPart(state)) {\x0d\n state.lastStringValue += codePointToString(state.lastIntValue);\x0d\n }\x0d\n return true\x0d\n }\x0d\n return false\x0d\n };\x0d\n\x0d\n // RegExpIdentifierStart ::\x0d\n // UnicodeIDStart\x0d\n // `$`\x0d\n // `_`\x0d\n // `\\` RegExpUnicodeEscapeSequence[+U]\x0d\n pp$1.regexp_eatRegExpIdentifierStart = function(state) {\x0d\n var start = state.pos;\x0d\n var forceU = this.options.ecmaVersion >= 11;\x0d\n var ch = state.current(forceU);\x0d\n state.advance(forceU);\x0d\n\x0d\n if (ch === 0x5C /* \\ */ && this.regexp_eatRegExpUnicodeEscapeSequence(state\x2C forceU)) {\x0d\n ch = state.lastIntValue;\x0d\n }\x0d\n if (isRegExpIdentifierStart(ch)) {\x0d\n state.lastIntValue = ch;\x0d\n return true\x0d\n }\x0d\n\x0d\n state.pos = start;\x0d\n return false\x0d\n };\x0d\n function isRegExpIdentifierStart(ch) {\x0d\n return isIdentifierStart(ch\x2C true) || ch === 0x24 /* $ */ || ch === 0x5F /* _ */\x0d\n }\x0d\n\x0d\n // RegExpIdentifierPart ::\x0d\n // UnicodeIDContinue\x0d\n // `$`\x0d\n // `_`\x0d\n // `\\` RegExpUnicodeEscapeSequence[+U]\x0d\n // <ZWNJ>\x0d\n // <ZWJ>\x0d\n pp$1.regexp_eatRegExpIdentifierPart = function(state) {\x0d\n var start = state.pos;\x0d\n var forceU = this.options.ecmaVersion >= 11;\x0d\n var ch = state.current(forceU);\x0d\n state.advance(forceU);\x0d\n\x0d\n if (ch === 0x5C /* \\ */ && this.regexp_eatRegExpUnicodeEscapeSequence(state\x2C forceU)) {\x0d\n ch = state.lastIntValue;\x0d\n }\x0d\n if (isRegExpIdentifierPart(ch)) {\x0d\n state.lastIntValue = ch;\x0d\n return true\x0d\n }\x0d\n\x0d\n state.pos = start;\x0d\n return false\x0d\n };\x0d\n function isRegExpIdentifierPart(ch) {\x0d\n return isIdentifierChar(ch\x2C true) || ch === 0x24 /* $ */ || ch === 0x5F /* _ */ || ch === 0x200C /* <ZWNJ> */ || ch === 0x200D /* <ZWJ> */\x0d\n }\x0d\n\x0d\n // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-AtomEscape\x0d\n pp$1.regexp_eatAtomEscape = function(state) {\x0d\n if (\x0d\n this.regexp_eatBackReference(state) ||\x0d\n this.regexp_eatCharacterClassEscape(state) ||\x0d\n this.regexp_eatCharacterEscape(state) ||\x0d\n (state.switchN && this.regexp_eatKGroupName(state))\x0d\n ) {\x0d\n return true\x0d\n }\x0d\n if (state.switchU) {\x0d\n // Make the same message as V8.\x0d\n if (state.current() === 0x63 /* c */) {\x0d\n state.raise("Invalid unicode escape");\x0d\n }\x0d\n state.raise("Invalid escape");\x0d\n }\x0d\n return false\x0d\n };\x0d\n pp$1.regexp_eatBackReference = function(state) {\x0d\n var start = state.pos;\x0d\n if (this.regexp_eatDecimalEscape(state)) {\x0d\n var n = state.lastIntValue;\x0d\n if (state.switchU) {\x0d\n // For SyntaxError in https://www.ecma-international.org/ecma-262/8.0/#sec-atomescape\x0d\n if (n > state.maxBackReference) {\x0d\n state.maxBackReference = n;\x0d\n }\x0d\n return true\x0d\n }\x0d\n if (n <= state.numCapturingParens) {\x0d\n return true\x0d\n }\x0d\n state.pos = start;\x0d\n }\x0d\n return false\x0d\n };\x0d\n pp$1.regexp_eatKGroupName = function(state) {\x0d\n if (state.eat(0x6B /* k */)) {\x0d\n if (this.regexp_eatGroupName(state)) {\x0d\n state.backReferenceNames.push(state.lastStringValue);\x0d\n return true\x0d\n }\x0d\n state.raise("Invalid named reference");\x0d\n }\x0d\n return false\x0d\n };\x0d\n\x0d\n // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-CharacterEscape\x0d\n pp$1.regexp_eatCharacterEscape = function(state) {\x0d\n return (\x0d\n this.regexp_eatControlEscape(state) ||\x0d\n this.regexp_eatCControlLetter(state) ||\x0d\n this.regexp_eatZero(state) ||\x0d\n this.regexp_eatHexEscapeSequence(state) ||\x0d\n this.regexp_eatRegExpUnicodeEscapeSequence(state\x2C false) ||\x0d\n (!state.switchU && this.regexp_eatLegacyOctalEscapeSequence(state)) ||\x0d\n this.regexp_eatIdentityEscape(state)\x0d\n )\x0d\n };\x0d\n pp$1.regexp_eatCControlLetter = function(state) {\x0d\n var start = state.pos;\x0d\n if (state.eat(0x63 /* c */)) {\x0d\n if (this.regexp_eatControlLetter(state)) {\x0d\n return true\x0d\n }\x0d\n state.pos = start;\x0d\n }\x0d\n return false\x0d\n };\x0d\n pp$1.regexp_eatZero = function(state) {\x0d\n if (state.current() === 0x30 /* 0 */ && !isDecimalDigit(state.lookahead())) {\x0d\n state.lastIntValue = 0;\x0d\n state.advance();\x0d\n return true\x0d\n }\x0d\n return false\x0d\n };\x0d\n\x0d\n // https://www.ecma-international.org/ecma-262/8.0/#prod-ControlEscape\x0d\n pp$1.regexp_eatControlEscape = function(state) {\x0d\n var ch = state.current();\x0d\n if (ch === 0x74 /* t */) {\x0d\n state.lastIntValue = 0x09; /* \\t */\x0d\n state.advance();\x0d\n return true\x0d\n }\x0d\n if (ch === 0x6E /* n */) {\x0d\n state.lastIntValue = 0x0A; /* \\n */\x0d\n state.advance();\x0d\n return true\x0d\n }\x0d\n if (ch === 0x76 /* v */) {\x0d\n state.lastIntValue = 0x0B; /* \\v */\x0d\n state.advance();\x0d\n return true\x0d\n }\x0d\n if (ch === 0x66 /* f */) {\x0d\n state.lastIntValue = 0x0C; /* \\f */\x0d\n state.advance();\x0d\n return true\x0d\n }\x0d\n if (ch === 0x72 /* r */) {\x0d\n state.lastIntValue = 0x0D; /* \\r */\x0d\n state.advance();\x0d\n return true\x0d\n }\x0d\n return false\x0d\n };\x0d\n\x0d\n // https://www.ecma-international.org/ecma-262/8.0/#prod-ControlLetter\x0d\n pp$1.regexp_eatControlLetter = function(state) {\x0d\n var ch = state.current();\x0d\n if (isControlLetter(ch)) {\x0d\n state.lastIntValue = ch % 0x20;\x0d\n state.advance();\x0d\n return true\x0d\n }\x0d\n return false\x0d\n };\x0d\n function isControlLetter(ch) {\x0d\n return (\x0d\n (ch >= 0x41 /* A */ && ch <= 0x5A /* Z */) ||\x0d\n (ch >= 0x61 /* a */ && ch <= 0x7A /* z */)\x0d\n )\x0d\n }\x0d\n\x0d\n // https://www.ecma-international.org/ecma-262/8.0/#prod-RegExpUnicodeEscapeSequence\x0d\n pp$1.regexp_eatRegExpUnicodeEscapeSequence = function(state\x2C forceU) {\x0d\n if ( forceU === void 0 ) forceU = false;\x0d\n\x0d\n var start = state.pos;\x0d\n var switchU = forceU || state.switchU;\x0d\n\x0d\n if (state.eat(0x75 /* u */)) {\x0d\n if (this.regexp_eatFixedHexDigits(state\x2C 4)) {\x0d\n var lead = state.lastIntValue;\x0d\n if (switchU && lead >= 0xD800 && lead <= 0xDBFF) {\x0d\n var leadSurrogateEnd = state.pos;\x0d\n if (state.eat(0x5C /* \\ */) && state.eat(0x75 /* u */) && this.regexp_eatFixedHexDigits(state\x2C 4)) {\x0d\n var trail = state.lastIntValue;\x0d\n if (trail >= 0xDC00 && trail <= 0xDFFF) {\x0d\n state.lastIntValue = (lead - 0xD800) * 0x400 + (trail - 0xDC00) + 0x10000;\x0d\n return true\x0d\n }\x0d\n }\x0d\n state.pos = leadSurrogateEnd;\x0d\n state.lastIntValue = lead;\x0d\n }\x0d\n return true\x0d\n }\x0d\n if (\x0d\n switchU &&\x0d\n state.eat(0x7B /* { */) &&\x0d\n this.regexp_eatHexDigits(state) &&\x0d\n state.eat(0x7D /* } */) &&\x0d\n isValidUnicode(state.lastIntValue)\x0d\n ) {\x0d\n return true\x0d\n }\x0d\n if (switchU) {\x0d\n state.raise("Invalid unicode escape");\x0d\n }\x0d\n state.pos = start;\x0d\n }\x0d\n\x0d\n return false\x0d\n };\x0d\n function isValidUnicode(ch) {\x0d\n return ch >= 0 && ch <= 0x10FFFF\x0d\n }\x0d\n\x0d\n // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-IdentityEscape\x0d\n pp$1.regexp_eatIdentityEscape = function(state) {\x0d\n if (state.switchU) {\x0d\n if (this.regexp_eatSyntaxCharacter(state)) {\x0d\n return true\x0d\n }\x0d\n if (state.eat(0x2F /* / */)) {\x0d\n state.lastIntValue = 0x2F; /* / */\x0d\n return true\x0d\n }\x0d\n return false\x0d\n }\x0d\n\x0d\n var ch = state.current();\x0d\n if (ch !== 0x63 /* c */ && (!state.switchN || ch !== 0x6B /* k */)) {\x0d\n state.lastIntValue = ch;\x0d\n state.advance();\x0d\n return true\x0d\n }\x0d\n\x0d\n return false\x0d\n };\x0d\n\x0d\n // https://www.ecma-international.org/ecma-262/8.0/#prod-DecimalEscape\x0d\n pp$1.regexp_eatDecimalEscape = function(state) {\x0d\n state.lastIntValue = 0;\x0d\n var ch = state.current();\x0d\n if (ch >= 0x31 /* 1 */ && ch <= 0x39 /* 9 */) {\x0d\n do {\x0d\n state.lastIntValue = 10 * state.lastIntValue + (ch - 0x30 /* 0 */);\x0d\n state.advance();\x0d\n } while ((ch = state.current()) >= 0x30 /* 0 */ && ch <= 0x39 /* 9 */)\x0d\n return true\x0d\n }\x0d\n return false\x0d\n };\x0d\n\x0d\n // Return values used by character set parsing methods\x2C needed to\x0d\n // forbid negation of sets that can match strings.\x0d\n var CharSetNone = 0; // Nothing parsed\x0d\n var CharSetOk = 1; // Construct parsed\x2C cannot contain strings\x0d\n var CharSetString = 2; // Construct parsed\x2C can contain strings\x0d\n\x0d\n // https://www.ecma-international.org/ecma-262/8.0/#prod-CharacterClassEscape\x0d\n pp$1.regexp_eatCharacterClassEscape = function(state) {\x0d\n var ch = state.current();\x0d\n\x0d\n if (isCharacterClassEscape(ch)) {\x0d\n state.lastIntValue = -1;\x0d\n state.advance();\x0d\n return CharSetOk\x0d\n }\x0d\n\x0d\n var negate = false;\x0d\n if (\x0d\n state.switchU &&\x0d\n this.options.ecmaVersion >= 9 &&\x0d\n ((negate = ch === 0x50 /* P */) || ch === 0x70 /* p */)\x0d\n ) {\x0d\n state.lastIntValue = -1;\x0d\n state.advance();\x0d\n var result;\x0d\n if (\x0d\n state.eat(0x7B /* { */) &&\x0d\n (result = this.regexp_eatUnicodePropertyValueExpression(state)) &&\x0d\n state.eat(0x7D /* } */)\x0d\n ) {\x0d\n if (negate && result === CharSetString) { state.raise("Invalid property name"); }\x0d\n return result\x0d\n }\x0d\n state.raise("Invalid property name");\x0d\n }\x0d\n\x0d\n return CharSetNone\x0d\n };\x0d\n\x0d\n function isCharacterClassEscape(ch) {\x0d\n return (\x0d\n ch === 0x64 /* d */ ||\x0d\n ch === 0x44 /* D */ ||\x0d\n ch === 0x73 /* s */ ||\x0d\n ch === 0x53 /* S */ ||\x0d\n ch === 0x77 /* w */ ||\x0d\n ch === 0x57 /* W */\x0d\n )\x0d\n }\x0d\n\x0d\n // UnicodePropertyValueExpression ::\x0d\n // UnicodePropertyName `=` UnicodePropertyValue\x0d\n // LoneUnicodePropertyNameOrValue\x0d\n pp$1.regexp_eatUnicodePropertyValueExpression = function(state) {\x0d\n var start = state.pos;\x0d\n\x0d\n // UnicodePropertyName `=` UnicodePropertyValue\x0d\n if (this.regexp_eatUnicodePropertyName(state) && state.eat(0x3D /* = */)) {\x0d\n var name = state.lastStringValue;\x0d\n if (this.regexp_eatUnicodePropertyValue(state)) {\x0d\n var value = state.lastStringValue;\x0d\n this.regexp_validateUnicodePropertyNameAndValue(state\x2C name\x2C value);\x0d\n return CharSetOk\x0d\n }\x0d\n }\x0d\n state.pos = start;\x0d\n\x0d\n // LoneUnicodePropertyNameOrValue\x0d\n if (this.regexp_eatLoneUnicodePropertyNameOrValue(state)) {\x0d\n var nameOrValue = state.lastStringValue;\x0d\n return this.regexp_validateUnicodePropertyNameOrValue(state\x2C nameOrValue)\x0d\n }\x0d\n return CharSetNone\x0d\n };\x0d\n\x0d\n pp$1.regexp_validateUnicodePropertyNameAndValue = function(state\x2C name\x2C value) {\x0d\n if (!hasOwn(state.unicodeProperties.nonBinary\x2C name))\x0d\n { state.raise("Invalid property name"); }\x0d\n if (!state.unicodeProperties.nonBinary[name].test(value))\x0d\n { state.raise("Invalid property value"); }\x0d\n };\x0d\n\x0d\n pp$1.regexp_validateUnicodePropertyNameOrValue = function(state\x2C nameOrValue) {\x0d\n if (state.unicodeProperties.binary.test(nameOrValue)) { return CharSetOk }\x0d\n if (state.switchV && state.unicodeProperties.binaryOfStrings.test(nameOrValue)) { return CharSetString }\x0d\n state.raise("Invalid property name");\x0d\n };\x0d\n\x0d\n // UnicodePropertyName ::\x0d\n // UnicodePropertyNameCharacters\x0d\n pp$1.regexp_eatUnicodePropertyName = function(state) {\x0d\n var ch = 0;\x0d\n state.lastStringValue = "";\x0d\n while (isUnicodePropertyNameCharacter(ch = state.current())) {\x0d\n state.lastStringValue += codePointToString(ch);\x0d\n state.advance();\x0d\n }\x0d\n return state.lastStringValue !== ""\x0d\n };\x0d\n\x0d\n function isUnicodePropertyNameCharacter(ch) {\x0d\n return isControlLetter(ch) || ch === 0x5F /* _ */\x0d\n }\x0d\n\x0d\n // UnicodePropertyValue ::\x0d\n // UnicodePropertyValueCharacters\x0d\n pp$1.regexp_eatUnicodePropertyValue = function(state) {\x0d\n var ch = 0;\x0d\n state.lastStringValue = "";\x0d\n while (isUnicodePropertyValueCharacter(ch = state.current())) {\x0d\n state.lastStringValue += codePointToString(ch);\x0d\n state.advance();\x0d\n }\x0d\n return state.lastStringValue !== ""\x0d\n };\x0d\n function isUnicodePropertyValueCharacter(ch) {\x0d\n return isUnicodePropertyNameCharacter(ch) || isDecimalDigit(ch)\x0d\n }\x0d\n\x0d\n // LoneUnicodePropertyNameOrValue ::\x0d\n // UnicodePropertyValueCharacters\x0d\n pp$1.regexp_eatLoneUnicodePropertyNameOrValue = function(state) {\x0d\n return this.regexp_eatUnicodePropertyValue(state)\x0d\n };\x0d\n\x0d\n // https://www.ecma-international.org/ecma-262/8.0/#prod-CharacterClass\x0d\n pp$1.regexp_eatCharacterClass = function(state) {\x0d\n if (state.eat(0x5B /* [ */)) {\x0d\n var negate = state.eat(0x5E /* ^ */);\x0d\n var result = this.regexp_classContents(state);\x0d\n if (!state.eat(0x5D /* ] */))\x0d\n { state.raise("Unterminated character class"); }\x0d\n if (negate && result === CharSetString)\x0d\n { state.raise("Negated character class may contain strings"); }\x0d\n return true\x0d\n }\x0d\n return false\x0d\n };\x0d\n\x0d\n // https://tc39.es/ecma262/#prod-ClassContents\x0d\n // https://www.ecma-international.org/ecma-262/8.0/#prod-ClassRanges\x0d\n pp$1.regexp_classContents = function(state) {\x0d\n if (state.current() === 0x5D /* ] */) { return CharSetOk }\x0d\n if (state.switchV) { return this.regexp_classSetExpression(state) }\x0d\n this.regexp_nonEmptyClassRanges(state);\x0d\n return CharSetOk\x0d\n };\x0d\n\x0d\n // https://www.ecma-international.org/ecma-262/8.0/#prod-NonemptyClassRanges\x0d\n // https://www.ecma-international.org/ecma-262/8.0/#prod-NonemptyClassRangesNoDash\x0d\n pp$1.regexp_nonEmptyClassRanges = function(state) {\x0d\n while (this.regexp_eatClassAtom(state)) {\x0d\n var left = state.lastIntValue;\x0d\n if (state.eat(0x2D /* - */) && this.regexp_eatClassAtom(state)) {\x0d\n var right = state.lastIntValue;\x0d\n if (state.switchU && (left === -1 || right === -1)) {\x0d\n state.raise("Invalid character class");\x0d\n }\x0d\n if (left !== -1 && right !== -1 && left > right) {\x0d\n state.raise("Range out of order in character class");\x0d\n }\x0d\n }\x0d\n }\x0d\n };\x0d\n\x0d\n // https://www.ecma-international.org/ecma-262/8.0/#prod-ClassAtom\x0d\n // https://www.ecma-international.org/ecma-262/8.0/#prod-ClassAtomNoDash\x0d\n pp$1.regexp_eatClassAtom = function(state) {\x0d\n var start = state.pos;\x0d\n\x0d\n if (state.eat(0x5C /* \\ */)) {\x0d\n if (this.regexp_eatClassEscape(state)) {\x0d\n return true\x0d\n }\x0d\n if (state.switchU) {\x0d\n // Make the same message as V8.\x0d\n var ch$1 = state.current();\x0d\n if (ch$1 === 0x63 /* c */ || isOctalDigit(ch$1)) {\x0d\n state.raise("Invalid class escape");\x0d\n }\x0d\n state.raise("Invalid escape");\x0d\n }\x0d\n state.pos = start;\x0d\n }\x0d\n\x0d\n var ch = state.current();\x0d\n if (ch !== 0x5D /* ] */) {\x0d\n state.lastIntValue = ch;\x0d\n state.advance();\x0d\n return true\x0d\n }\x0d\n\x0d\n return false\x0d\n };\x0d\n\x0d\n // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ClassEscape\x0d\n pp$1.regexp_eatClassEscape = function(state) {\x0d\n var start = state.pos;\x0d\n\x0d\n if (state.eat(0x62 /* b */)) {\x0d\n state.lastIntValue = 0x08; /* <BS> */\x0d\n return true\x0d\n }\x0d\n\x0d\n if (state.switchU && state.eat(0x2D /* - */)) {\x0d\n state.lastIntValue = 0x2D; /* - */\x0d\n return true\x0d\n }\x0d\n\x0d\n if (!state.switchU && state.eat(0x63 /* c */)) {\x0d\n if (this.regexp_eatClassControlLetter(state)) {\x0d\n return true\x0d\n }\x0d\n state.pos = start;\x0d\n }\x0d\n\x0d\n return (\x0d\n this.regexp_eatCharacterClassEscape(state) ||\x0d\n this.regexp_eatCharacterEscape(state)\x0d\n )\x0d\n };\x0d\n\x0d\n // https://tc39.es/ecma262/#prod-ClassSetExpression\x0d\n // https://tc39.es/ecma262/#prod-ClassUnion\x0d\n // https://tc39.es/ecma262/#prod-ClassIntersection\x0d\n // https://tc39.es/ecma262/#prod-ClassSubtraction\x0d\n pp$1.regexp_classSetExpression = function(state) {\x0d\n var result = CharSetOk\x2C subResult;\x0d\n if (this.regexp_eatClassSetRange(state)) ; else if (subResult = this.regexp_eatClassSetOperand(state)) {\x0d\n if (subResult === CharSetString) { result = CharSetString; }\x0d\n // https://tc39.es/ecma262/#prod-ClassIntersection\x0d\n var start = state.pos;\x0d\n while (state.eatChars([0x26\x2C 0x26] /* && */)) {\x0d\n if (\x0d\n state.current() !== 0x26 /* & */ &&\x0d\n (subResult = this.regexp_eatClassSetOperand(state))\x0d\n ) {\x0d\n if (subResult !== CharSetString) { result = CharSetOk; }\x0d\n continue\x0d\n }\x0d\n state.raise("Invalid character in character class");\x0d\n }\x0d\n if (start !== state.pos) { return result }\x0d\n // https://tc39.es/ecma262/#prod-ClassSubtraction\x0d\n while (state.eatChars([0x2D\x2C 0x2D] /* -- */)) {\x0d\n if (this.regexp_eatClassSetOperand(state)) { continue }\x0d\n state.raise("Invalid character in character class");\x0d\n }\x0d\n if (start !== state.pos) { return result }\x0d\n } else {\x0d\n state.raise("Invalid character in character class");\x0d\n }\x0d\n // https://tc39.es/ecma262/#prod-ClassUnion\x0d\n for (;;) {\x0d\n if (this.regexp_eatClassSetRange(state)) { continue }\x0d\n subResult = this.regexp_eatClassSetOperand(state);\x0d\n if (!subResult) { return result }\x0d\n if (subResult === CharSetString) { result = CharSetString; }\x0d\n }\x0d\n };\x0d\n\x0d\n // https://tc39.es/ecma262/#prod-ClassSetRange\x0d\n pp$1.regexp_eatClassSetRange = function(state) {\x0d\n var start = state.pos;\x0d\n if (this.regexp_eatClassSetCharacter(state)) {\x0d\n var left = state.lastIntValue;\x0d\n if (state.eat(0x2D /* - */) && this.regexp_eatClassSetCharacter(state)) {\x0d\n var right = state.lastIntValue;\x0d\n if (left !== -1 && right !== -1 && left > right) {\x0d\n state.raise("Range out of order in character class");\x0d\n }\x0d\n return true\x0d\n }\x0d\n state.pos = start;\x0d\n }\x0d\n return false\x0d\n };\x0d\n\x0d\n // https://tc39.es/ecma262/#prod-ClassSetOperand\x0d\n pp$1.regexp_eatClassSetOperand = function(state) {\x0d\n if (this.regexp_eatClassSetCharacter(state)) { return CharSetOk }\x0d\n return this.regexp_eatClassStringDisjunction(state) || this.regexp_eatNestedClass(state)\x0d\n };\x0d\n\x0d\n // https://tc39.es/ecma262/#prod-NestedClass\x0d\n pp$1.regexp_eatNestedClass = function(state) {\x0d\n var start = state.pos;\x0d\n if (state.eat(0x5B /* [ */)) {\x0d\n var negate = state.eat(0x5E /* ^ */);\x0d\n var result = this.regexp_classContents(state);\x0d\n if (state.eat(0x5D /* ] */)) {\x0d\n if (negate && result === CharSetString) {\x0d\n state.raise("Negated character class may contain strings");\x0d\n }\x0d\n return result\x0d\n }\x0d\n state.pos = start;\x0d\n }\x0d\n if (state.eat(0x5C /* \\ */)) {\x0d\n var result$1 = this.regexp_eatCharacterClassEscape(state);\x0d\n if (result$1) {\x0d\n return result$1\x0d\n }\x0d\n state.pos = start;\x0d\n }\x0d\n return null\x0d\n };\x0d\n\x0d\n // https://tc39.es/ecma262/#prod-ClassStringDisjunction\x0d\n pp$1.regexp_eatClassStringDisjunction = function(state) {\x0d\n var start = state.pos;\x0d\n if (state.eatChars([0x5C\x2C 0x71] /* \\q */)) {\x0d\n if (state.eat(0x7B /* { */)) {\x0d\n var result = this.regexp_classStringDisjunctionContents(state);\x0d\n if (state.eat(0x7D /* } */)) {\x0d\n return result\x0d\n }\x0d\n } else {\x0d\n // Make the same message as V8.\x0d\n state.raise("Invalid escape");\x0d\n }\x0d\n state.pos = start;\x0d\n }\x0d\n return null\x0d\n };\x0d\n\x0d\n // https://tc39.es/ecma262/#prod-ClassStringDisjunctionContents\x0d\n pp$1.regexp_classStringDisjunctionContents = function(state) {\x0d\n var result = this.regexp_classString(state);\x0d\n while (state.eat(0x7C /* | */)) {\x0d\n if (this.regexp_classString(state) === CharSetString) { result = CharSetString; }\x0d\n }\x0d\n return result\x0d\n };\x0d\n\x0d\n // https://tc39.es/ecma262/#prod-ClassString\x0d\n // https://tc39.es/ecma262/#prod-NonEmptyClassString\x0d\n pp$1.regexp_classString = function(state) {\x0d\n var count = 0;\x0d\n while (this.regexp_eatClassSetCharacter(state)) { count++; }\x0d\n return count === 1 ? CharSetOk : CharSetString\x0d\n };\x0d\n\x0d\n // https://tc39.es/ecma262/#prod-ClassSetCharacter\x0d\n pp$1.regexp_eatClassSetCharacter = function(state) {\x0d\n var start = state.pos;\x0d\n if (state.eat(0x5C /* \\ */)) {\x0d\n if (\x0d\n this.regexp_eatCharacterEscape(state) ||\x0d\n this.regexp_eatClassSetReservedPunctuator(state)\x0d\n ) {\x0d\n return true\x0d\n }\x0d\n if (state.eat(0x62 /* b */)) {\x0d\n state.lastIntValue = 0x08; /* <BS> */\x0d\n return true\x0d\n }\x0d\n state.pos = start;\x0d\n return false\x0d\n }\x0d\n var ch = state.current();\x0d\n if (ch < 0 || ch === state.lookahead() && isClassSetReservedDoublePunctuatorCharacter(ch)) { return false }\x0d\n if (isClassSetSyntaxCharacter(ch)) { return false }\x0d\n state.advance();\x0d\n state.lastIntValue = ch;\x0d\n return true\x0d\n };\x0d\n\x0d\n // https://tc39.es/ecma262/#prod-ClassSetReservedDoublePunctuator\x0d\n function isClassSetReservedDoublePunctuatorCharacter(ch) {\x0d\n return (\x0d\n ch === 0x21 /* ! */ ||\x0d\n ch >= 0x23 /* # */ && ch <= 0x26 /* & */ ||\x0d\n ch >= 0x2A /* * */ && ch <= 0x2C /* \x2C */ ||\x0d\n ch === 0x2E /* . */ ||\x0d\n ch >= 0x3A /* : */ && ch <= 0x40 /* @ */ ||\x0d\n ch === 0x5E /* ^ */ ||\x0d\n ch === 0x60 /* ` */ ||\x0d\n ch === 0x7E /* ~ */\x0d\n )\x0d\n }\x0d\n\x0d\n // https://tc39.es/ecma262/#prod-ClassSetSyntaxCharacter\x0d\n function isClassSetSyntaxCharacter(ch) {\x0d\n return (\x0d\n ch === 0x28 /* ( */ ||\x0d\n ch === 0x29 /* ) */ ||\x0d\n ch === 0x2D /* - */ ||\x0d\n ch === 0x2F /* / */ ||\x0d\n ch >= 0x5B /* [ */ && ch <= 0x5D /* ] */ ||\x0d\n ch >= 0x7B /* { */ && ch <= 0x7D /* } */\x0d\n )\x0d\n }\x0d\n\x0d\n // https://tc39.es/ecma262/#prod-ClassSetReservedPunctuator\x0d\n pp$1.regexp_eatClassSetReservedPunctuator = function(state) {\x0d\n var ch = state.current();\x0d\n if (isClassSetReservedPunctuator(ch)) {\x0d\n state.lastIntValue = ch;\x0d\n state.advance();\x0d\n return true\x0d\n }\x0d\n return false\x0d\n };\x0d\n\x0d\n // https://tc39.es/ecma262/#prod-ClassSetReservedPunctuator\x0d\n function isClassSetReservedPunctuator(ch) {\x0d\n return (\x0d\n ch === 0x21 /* ! */ ||\x0d\n ch === 0x23 /* # */ ||\x0d\n ch === 0x25 /* % */ ||\x0d\n ch === 0x26 /* & */ ||\x0d\n ch === 0x2C /* \x2C */ ||\x0d\n ch === 0x2D /* - */ ||\x0d\n ch >= 0x3A /* : */ && ch <= 0x3E /* > */ ||\x0d\n ch === 0x40 /* @ */ ||\x0d\n ch === 0x60 /* ` */ ||\x0d\n ch === 0x7E /* ~ */\x0d\n )\x0d\n }\x0d\n\x0d\n // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ClassControlLetter\x0d\n pp$1.regexp_eatClassControlLetter = function(state) {\x0d\n var ch = state.current();\x0d\n if (isDecimalDigit(ch) || ch === 0x5F /* _ */) {\x0d\n state.lastIntValue = ch % 0x20;\x0d\n state.advance();\x0d\n return true\x0d\n }\x0d\n return false\x0d\n };\x0d\n\x0d\n // https://www.ecma-international.org/ecma-262/8.0/#prod-HexEscapeSequence\x0d\n pp$1.regexp_eatHexEscapeSequence = function(state) {\x0d\n var start = state.pos;\x0d\n if (state.eat(0x78 /* x */)) {\x0d\n if (this.regexp_eatFixedHexDigits(state\x2C 2)) {\x0d\n return true\x0d\n }\x0d\n if (state.switchU) {\x0d\n state.raise("Invalid escape");\x0d\n }\x0d\n state.pos = start;\x0d\n }\x0d\n return false\x0d\n };\x0d\n\x0d\n // https://www.ecma-international.org/ecma-262/8.0/#prod-DecimalDigits\x0d\n pp$1.regexp_eatDecimalDigits = function(state) {\x0d\n var start = state.pos;\x0d\n var ch = 0;\x0d\n state.lastIntValue = 0;\x0d\n while (isDecimalDigit(ch = state.current())) {\x0d\n state.lastIntValue = 10 * state.lastIntValue + (ch - 0x30 /* 0 */);\x0d\n state.advance();\x0d\n }\x0d\n return state.pos !== start\x0d\n };\x0d\n function isDecimalDigit(ch) {\x0d\n return ch >= 0x30 /* 0 */ && ch <= 0x39 /* 9 */\x0d\n }\x0d\n\x0d\n // https://www.ecma-international.org/ecma-262/8.0/#prod-HexDigits\x0d\n pp$1.regexp_eatHexDigits = function(state) {\x0d\n var start = state.pos;\x0d\n var ch = 0;\x0d\n state.lastIntValue = 0;\x0d\n while (isHexDigit(ch = state.current())) {\x0d\n state.lastIntValue = 16 * state.lastIntValue + hexToInt(ch);\x0d\n state.advance();\x0d\n }\x0d\n return state.pos !== start\x0d\n };\x0d\n function isHexDigit(ch) {\x0d\n return (\x0d\n (ch >= 0x30 /* 0 */ && ch <= 0x39 /* 9 */) ||\x0d\n (ch >= 0x41 /* A */ && ch <= 0x46 /* F */) ||\x0d\n (ch >= 0x61 /* a */ && ch <= 0x66 /* f */)\x0d\n )\x0d\n }\x0d\n function hexToInt(ch) {\x0d\n if (ch >= 0x41 /* A */ && ch <= 0x46 /* F */) {\x0d\n return 10 + (ch - 0x41 /* A */)\x0d\n }\x0d\n if (ch >= 0x61 /* a */ && ch <= 0x66 /* f */) {\x0d\n return 10 + (ch - 0x61 /* a */)\x0d\n }\x0d\n return ch - 0x30 /* 0 */\x0d\n }\x0d\n\x0d\n // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-LegacyOctalEscapeSequence\x0d\n // Allows only 0-377(octal) i.e. 0-255(decimal).\x0d\n pp$1.regexp_eatLegacyOctalEscapeSequence = function(state) {\x0d\n if (this.regexp_eatOctalDigit(state)) {\x0d\n var n1 = state.lastIntValue;\x0d\n if (this.regexp_eatOctalDigit(state)) {\x0d\n var n2 = state.lastIntValue;\x0d\n if (n1 <= 3 && this.regexp_eatOctalDigit(state)) {\x0d\n state.lastIntValue = n1 * 64 + n2 * 8 + state.lastIntValue;\x0d\n } else {\x0d\n state.lastIntValue = n1 * 8 + n2;\x0d\n }\x0d\n } else {\x0d\n state.lastIntValue = n1;\x0d\n }\x0d\n return true\x0d\n }\x0d\n return false\x0d\n };\x0d\n\x0d\n // https://www.ecma-international.org/ecma-262/8.0/#prod-OctalDigit\x0d\n pp$1.regexp_eatOctalDigit = function(state) {\x0d\n var ch = state.current();\x0d\n if (isOctalDigit(ch)) {\x0d\n state.lastIntValue = ch - 0x30; /* 0 */\x0d\n state.advance();\x0d\n return true\x0d\n }\x0d\n state.lastIntValue = 0;\x0d\n return false\x0d\n };\x0d\n function isOctalDigit(ch) {\x0d\n return ch >= 0x30 /* 0 */ && ch <= 0x37 /* 7 */\x0d\n }\x0d\n\x0d\n // https://www.ecma-international.org/ecma-262/8.0/#prod-Hex4Digits\x0d\n // https://www.ecma-international.org/ecma-262/8.0/#prod-HexDigit\x0d\n // And HexDigit HexDigit in https://www.ecma-international.org/ecma-262/8.0/#prod-HexEscapeSequence\x0d\n pp$1.regexp_eatFixedHexDigits = function(state\x2C length) {\x0d\n var start = state.pos;\x0d\n state.lastIntValue = 0;\x0d\n for (var i = 0; i < length; ++i) {\x0d\n var ch = state.current();\x0d\n if (!isHexDigit(ch)) {\x0d\n state.pos = start;\x0d\n return false\x0d\n }\x0d\n state.lastIntValue = 16 * state.lastIntValue + hexToInt(ch);\x0d\n state.advance();\x0d\n }\x0d\n return true\x0d\n };\x0d\n\x0d\n // Object type used to represent tokens. Note that normally\x2C tokens\x0d\n // simply exist as properties on the parser object. This is only\x0d\n // used for the onToken callback and the external tokenizer.\x0d\n\x0d\n var Token = function Token(p) {\x0d\n this.type = p.type;\x0d\n this.value = p.value;\x0d\n this.start = p.start;\x0d\n this.end = p.end;\x0d\n if (p.options.locations)\x0d\n { this.loc = new SourceLocation(p\x2C p.startLoc\x2C p.endLoc); }\x0d\n if (p.options.ranges)\x0d\n { this.range = [p.start\x2C p.end]; }\x0d\n };\x0d\n\x0d\n // ## Tokenizer\x0d\n\x0d\n var pp = Parser.prototype;\x0d\n\x0d\n // Move to the next token\x0d\n\x0d\n pp.next = function(ignoreEscapeSequenceInKeyword) {\x0d\n if (!ignoreEscapeSequenceInKeyword && this.type.keyword && this.containsEsc)\x0d\n { this.raiseRecoverable(this.start\x2C "Escape sequence in keyword " + this.type.keyword); }\x0d\n if (this.options.onToken)\x0d\n { this.options.onToken(new Token(this)); }\x0d\n\x0d\n this.lastTokEnd = this.end;\x0d\n this.lastTokStart = this.start;\x0d\n this.lastTokEndLoc = this.endLoc;\x0d\n this.lastTokStartLoc = this.startLoc;\x0d\n this.nextToken();\x0d\n };\x0d\n\x0d\n pp.getToken = function() {\x0d\n this.next();\x0d\n return new Token(this)\x0d\n };\x0d\n\x0d\n // If we're in an ES6 environment\x2C make parsers iterable\x0d\n if (typeof Symbol !== "undefined")\x0d\n { pp[Symbol.iterator] = function() {\x0d\n var this$1$1 = this;\x0d\n\x0d\n return {\x0d\n next: function () {\x0d\n var token = this$1$1.getToken();\x0d\n return {\x0d\n done: token.type === types$1.eof\x2C\x0d\n value: token\x0d\n }\x0d\n }\x0d\n }\x0d\n }; }\x0d\n\x0d\n // Toggle strict mode. Re-reads the next number or string to please\x0d\n // pedantic tests (`"use strict"; 010;` should fail).\x0d\n\x0d\n // Read a single token\x2C updating the parser object's token-related\x0d\n // properties.\x0d\n\x0d\n pp.nextToken = function() {\x0d\n var curContext = this.curContext();\x0d\n if (!curContext || !curContext.preserveSpace) { this.skipSpace(); }\x0d\n\x0d\n this.start = this.pos;\x0d\n if (this.options.locations) { this.startLoc = this.curPosition(); }\x0d\n if (this.pos >= this.input.length) { return this.finishToken(types$1.eof) }\x0d\n\x0d\n if (curContext.override) { return curContext.override(this) }\x0d\n else { this.readToken(this.fullCharCodeAtPos()); }\x0d\n };\x0d\n\x0d\n pp.readToken = function(code) {\x0d\n // Identifier or keyword. '\\uXXXX' sequences are allowed in\x0d\n // identifiers\x2C so '\\' also dispatches to that.\x0d\n if (isIdentifierStart(code\x2C this.options.ecmaVersion >= 6) || code === 92 /* '\\' */)\x0d\n { return this.readWord() }\x0d\n\x0d\n return this.getTokenFromCode(code)\x0d\n };\x0d\n\x0d\n pp.fullCharCodeAtPos = function() {\x0d\n var code = this.input.charCodeAt(this.pos);\x0d\n if (code <= 0xd7ff || code >= 0xdc00) { return code }\x0d\n var next = this.input.charCodeAt(this.pos + 1);\x0d\n return next <= 0xdbff || next >= 0xe000 ? code : (code << 10) + next - 0x35fdc00\x0d\n };\x0d\n\x0d\n pp.skipBlockComment = function() {\x0d\n var startLoc = this.options.onComment && this.curPosition();\x0d\n var start = this.pos\x2C end = this.input.indexOf("*/"\x2C this.pos += 2);\x0d\n if (end === -1) { this.raise(this.pos - 2\x2C "Unterminated comment"); }\x0d\n this.pos = end + 2;\x0d\n if (this.options.locations) {\x0d\n for (var nextBreak = (void 0)\x2C pos = start; (nextBreak = nextLineBreak(this.input\x2C pos\x2C this.pos)) > -1;) {\x0d\n ++this.curLine;\x0d\n pos = this.lineStart = nextBreak;\x0d\n }\x0d\n }\x0d\n if (this.options.onComment)\x0d\n { this.options.onComment(true\x2C this.input.slice(start + 2\x2C end)\x2C start\x2C this.pos\x2C\x0d\n startLoc\x2C this.curPosition()); }\x0d\n };\x0d\n\x0d\n pp.skipLineComment = function(startSkip) {\x0d\n var start = this.pos;\x0d\n var startLoc = this.options.onComment && this.curPosition();\x0d\n var ch = this.input.charCodeAt(this.pos += startSkip);\x0d\n while (this.pos < this.input.length && !isNewLine(ch)) {\x0d\n ch = this.input.charCodeAt(++this.pos);\x0d\n }\x0d\n if (this.options.onComment)\x0d\n { this.options.onComment(false\x2C this.input.slice(start + startSkip\x2C this.pos)\x2C start\x2C this.pos\x2C\x0d\n startLoc\x2C this.curPosition()); }\x0d\n };\x0d\n\x0d\n // Called at the start of the parse and after every token. Skips\x0d\n // whitespace and comments\x2C and.\x0d\n\x0d\n pp.skipSpace = function() {\x0d\n loop: while (this.pos < this.input.length) {\x0d\n var ch = this.input.charCodeAt(this.pos);\x0d\n switch (ch) {\x0d\n case 32: case 160: // ' '\x0d\n ++this.pos;\x0d\n break\x0d\n case 13:\x0d\n if (this.input.charCodeAt(this.pos + 1) === 10) {\x0d\n ++this.pos;\x0d\n }\x0d\n case 10: case 8232: case 8233:\x0d\n ++this.pos;\x0d\n if (this.options.locations) {\x0d\n ++this.curLine;\x0d\n this.lineStart = this.pos;\x0d\n }\x0d\n break\x0d\n case 47: // '/'\x0d\n switch (this.input.charCodeAt(this.pos + 1)) {\x0d\n case 42: // '*'\x0d\n this.skipBlockComment();\x0d\n break\x0d\n case 47:\x0d\n this.skipLineComment(2);\x0d\n break\x0d\n default:\x0d\n break loop\x0d\n }\x0d\n break\x0d\n default:\x0d\n if (ch > 8 && ch < 14 || ch >= 5760 && nonASCIIwhitespace.test(String.fromCharCode(ch))) {\x0d\n ++this.pos;\x0d\n } else {\x0d\n break loop\x0d\n }\x0d\n }\x0d\n }\x0d\n };\x0d\n\x0d\n // Called at the end of every token. Sets `end`\x2C `val`\x2C and\x0d\n // maintains `context` and `exprAllowed`\x2C and skips the space after\x0d\n // the token\x2C so that the next one's `start` will point at the\x0d\n // right position.\x0d\n\x0d\n pp.finishToken = function(type\x2C val) {\x0d\n this.end = this.pos;\x0d\n if (this.options.locations) { this.endLoc = this.curPosition(); }\x0d\n var prevType = this.type;\x0d\n this.type = type;\x0d\n this.value = val;\x0d\n\x0d\n this.updateContext(prevType);\x0d\n };\x0d\n\x0d\n // ### Token reading\x0d\n\x0d\n // This is the function that is called to fetch the next token. It\x0d\n // is somewhat obscure\x2C because it works in character codes rather\x0d\n // than characters\x2C and because operator parsing has been inlined\x0d\n // into it.\x0d\n //\x0d\n // All in the name of speed.\x0d\n //\x0d\n pp.readToken_dot = function() {\x0d\n var next = this.input.charCodeAt(this.pos + 1);\x0d\n if (next >= 48 && next <= 57) { return this.readNumber(true) }\x0d\n var next2 = this.input.charCodeAt(this.pos + 2);\x0d\n if (this.options.ecmaVersion >= 6 && next === 46 && next2 === 46) { // 46 = dot '.'\x0d\n this.pos += 3;\x0d\n return this.finishToken(types$1.ellipsis)\x0d\n } else {\x0d\n ++this.pos;\x0d\n return this.finishToken(types$1.dot)\x0d\n }\x0d\n };\x0d\n\x0d\n pp.readToken_slash = function() { // '/'\x0d\n var next = this.input.charCodeAt(this.pos + 1);\x0d\n if (this.exprAllowed) { ++this.pos; return this.readRegexp() }\x0d\n if (next === 61) { return this.finishOp(types$1.assign\x2C 2) }\x0d\n return this.finishOp(types$1.slash\x2C 1)\x0d\n };\x0d\n\x0d\n pp.readToken_mult_modulo_exp = function(code) { // '%*'\x0d\n var next = this.input.charCodeAt(this.pos + 1);\x0d\n var size = 1;\x0d\n var tokentype = code === 42 ? types$1.star : types$1.modulo;\x0d\n\x0d\n // exponentiation operator ** and **=\x0d\n if (this.options.ecmaVersion >= 7 && code === 42 && next === 42) {\x0d\n ++size;\x0d\n tokentype = types$1.starstar;\x0d\n next = this.input.charCodeAt(this.pos + 2);\x0d\n }\x0d\n\x0d\n if (next === 61) { return this.finishOp(types$1.assign\x2C size + 1) }\x0d\n return this.finishOp(tokentype\x2C size)\x0d\n };\x0d\n\x0d\n pp.readToken_pipe_amp = function(code) { // '|&'\x0d\n var next = this.input.charCodeAt(this.pos + 1);\x0d\n if (next === code) {\x0d\n if (this.options.ecmaVersion >= 12) {\x0d\n var next2 = this.input.charCodeAt(this.pos + 2);\x0d\n if (next2 === 61) { return this.finishOp(types$1.assign\x2C 3) }\x0d\n }\x0d\n return this.finishOp(code === 124 ? types$1.logicalOR : types$1.logicalAND\x2C 2)\x0d\n }\x0d\n if (next === 61) { return this.finishOp(types$1.assign\x2C 2) }\x0d\n return this.finishOp(code === 124 ? types$1.bitwiseOR : types$1.bitwiseAND\x2C 1)\x0d\n };\x0d\n\x0d\n pp.readToken_caret = function() { // '^'\x0d\n var next = this.input.charCodeAt(this.pos + 1);\x0d\n if (next === 61) { return this.finishOp(types$1.assign\x2C 2) }\x0d\n return this.finishOp(types$1.bitwiseXOR\x2C 1)\x0d\n };\x0d\n\x0d\n pp.readToken_plus_min = function(code) { // '+-'\x0d\n var next = this.input.charCodeAt(this.pos + 1);\x0d\n if (next === code) {\x0d\n if (next === 45 && !this.inModule && this.input.charCodeAt(this.pos + 2) === 62 &&\x0d\n (this.lastTokEnd === 0 || lineBreak.test(this.input.slice(this.lastTokEnd\x2C this.pos)))) {\x0d\n // A `-->` line comment\x0d\n this.skipLineComment(3);\x0d\n this.skipSpace();\x0d\n return this.nextToken()\x0d\n }\x0d\n return this.finishOp(types$1.incDec\x2C 2)\x0d\n }\x0d\n if (next === 61) { return this.finishOp(types$1.assign\x2C 2) }\x0d\n return this.finishOp(types$1.plusMin\x2C 1)\x0d\n };\x0d\n\x0d\n pp.readToken_lt_gt = function(code) { // '<>'\x0d\n var next = this.input.charCodeAt(this.pos + 1);\x0d\n var size = 1;\x0d\n if (next === code) {\x0d\n size = code === 62 && this.input.charCodeAt(this.pos + 2) === 62 ? 3 : 2;\x0d\n if (this.input.charCodeAt(this.pos + size) === 61) { return this.finishOp(types$1.assign\x2C size + 1) }\x0d\n return this.finishOp(types$1.bitShift\x2C size)\x0d\n }\x0d\n if (next === 33 && code === 60 && !this.inModule && this.input.charCodeAt(this.pos + 2) === 45 &&\x0d\n this.input.charCodeAt(this.pos + 3) === 45) {\x0d\n // `<!--`\x2C an XML-style comment that should be interpreted as a line comment\x0d\n this.skipLineComment(4);\x0d\n this.skipSpace();\x0d\n return this.nextToken()\x0d\n }\x0d\n if (next === 61) { size = 2; }\x0d\n return this.finishOp(types$1.relational\x2C size)\x0d\n };\x0d\n\x0d\n pp.readToken_eq_excl = function(code) { // '=!'\x0d\n var next = this.input.charCodeAt(this.pos + 1);\x0d\n if (next === 61) { return this.finishOp(types$1.equality\x2C this.input.charCodeAt(this.pos + 2) === 61 ? 3 : 2) }\x0d\n if (code === 61 && next === 62 && this.options.ecmaVersion >= 6) { // '=>'\x0d\n this.pos += 2;\x0d\n return this.finishToken(types$1.arrow)\x0d\n }\x0d\n return this.finishOp(code === 61 ? types$1.eq : types$1.prefix\x2C 1)\x0d\n };\x0d\n\x0d\n pp.readToken_question = function() { // '?'\x0d\n var ecmaVersion = this.options.ecmaVersion;\x0d\n if (ecmaVersion >= 11) {\x0d\n var next = this.input.charCodeAt(this.pos + 1);\x0d\n if (next === 46) {\x0d\n var next2 = this.input.charCodeAt(this.pos + 2);\x0d\n if (next2 < 48 || next2 > 57) { return this.finishOp(types$1.questionDot\x2C 2) }\x0d\n }\x0d\n if (next === 63) {\x0d\n if (ecmaVersion >= 12) {\x0d\n var next2$1 = this.input.charCodeAt(this.pos + 2);\x0d\n if (next2$1 === 61) { return this.finishOp(types$1.assign\x2C 3) }\x0d\n }\x0d\n return this.finishOp(types$1.coalesce\x2C 2)\x0d\n }\x0d\n }\x0d\n return this.finishOp(types$1.question\x2C 1)\x0d\n };\x0d\n\x0d\n pp.readToken_numberSign = function() { // '#'\x0d\n var ecmaVersion = this.options.ecmaVersion;\x0d\n var code = 35; // '#'\x0d\n if (ecmaVersion >= 13) {\x0d\n ++this.pos;\x0d\n code = this.fullCharCodeAtPos();\x0d\n if (isIdentifierStart(code\x2C true) || code === 92 /* '\\' */) {\x0d\n return this.finishToken(types$1.privateId\x2C this.readWord1())\x0d\n }\x0d\n }\x0d\n\x0d\n this.raise(this.pos\x2C "Unexpected character '" + codePointToString(code) + "'");\x0d\n };\x0d\n\x0d\n pp.getTokenFromCode = function(code) {\x0d\n switch (code) {\x0d\n // The interpretation of a dot depends on whether it is followed\x0d\n // by a digit or another two dots.\x0d\n case 46: // '.'\x0d\n return this.readToken_dot()\x0d\n\x0d\n // Punctuation tokens.\x0d\n case 40: ++this.pos; return this.finishToken(types$1.parenL)\x0d\n case 41: ++this.pos; return this.finishToken(types$1.parenR)\x0d\n case 59: ++this.pos; return this.finishToken(types$1.semi)\x0d\n case 44: ++this.pos; return this.finishToken(types$1.comma)\x0d\n case 91: ++this.pos; return this.finishToken(types$1.bracketL)\x0d\n case 93: ++this.pos; return this.finishToken(types$1.bracketR)\x0d\n case 123: ++this.pos; return this.finishToken(types$1.braceL)\x0d\n case 125: ++this.pos; return this.finishToken(types$1.braceR)\x0d\n case 58: ++this.pos; return this.finishToken(types$1.colon)\x0d\n\x0d\n case 96: // '`'\x0d\n if (this.options.ecmaVersion < 6) { break }\x0d\n ++this.pos;\x0d\n return this.finishToken(types$1.backQuote)\x0d\n\x0d\n case 48: // '0'\x0d\n var next = this.input.charCodeAt(this.pos + 1);\x0d\n if (next === 120 || next === 88) { return this.readRadixNumber(16) } // '0x'\x2C '0X' - hex number\x0d\n if (this.options.ecmaVersion >= 6) {\x0d\n if (next === 111 || next === 79) { return this.readRadixNumber(8) } // '0o'\x2C '0O' - octal number\x0d\n if (next === 98 || next === 66) { return this.readRadixNumber(2) } // '0b'\x2C '0B' - binary number\x0d\n }\x0d\n\x0d\n // Anything else beginning with a digit is an integer\x2C octal\x0d\n // number\x2C or float.\x0d\n case 49: case 50: case 51: case 52: case 53: case 54: case 55: case 56: case 57: // 1-9\x0d\n return this.readNumber(false)\x0d\n\x0d\n // Quotes produce strings.\x0d\n case 34: case 39: // '"'\x2C "'"\x0d\n return this.readString(code)\x0d\n\x0d\n // Operators are parsed inline in tiny state machines. '=' (61) is\x0d\n // often referred to. `finishOp` simply skips the amount of\x0d\n // characters it is given as second argument\x2C and returns a token\x0d\n // of the type given by its first argument.\x0d\n case 47: // '/'\x0d\n return this.readToken_slash()\x0d\n\x0d\n case 37: case 42: // '%*'\x0d\n return this.readToken_mult_modulo_exp(code)\x0d\n\x0d\n case 124: case 38: // '|&'\x0d\n return this.readToken_pipe_amp(code)\x0d\n\x0d\n case 94: // '^'\x0d\n return this.readToken_caret()\x0d\n\x0d\n case 43: case 45: // '+-'\x0d\n return this.readToken_plus_min(code)\x0d\n\x0d\n case 60: case 62: // '<>'\x0d\n return this.readToken_lt_gt(code)\x0d\n\x0d\n case 61: case 33: // '=!'\x0d\n return this.readToken_eq_excl(code)\x0d\n\x0d\n case 63: // '?'\x0d\n return this.readToken_question()\x0d\n\x0d\n case 126: // '~'\x0d\n return this.finishOp(types$1.prefix\x2C 1)\x0d\n\x0d\n case 35: // '#'\x0d\n return this.readToken_numberSign()\x0d\n }\x0d\n\x0d\n this.raise(this.pos\x2C "Unexpected character '" + codePointToString(code) + "'");\x0d\n };\x0d\n\x0d\n pp.finishOp = function(type\x2C size) {\x0d\n var str = this.input.slice(this.pos\x2C this.pos + size);\x0d\n this.pos += size;\x0d\n return this.finishToken(type\x2C str)\x0d\n };\x0d\n\x0d\n pp.readRegexp = function() {\x0d\n var escaped\x2C inClass\x2C start = this.pos;\x0d\n for (;;) {\x0d\n if (this.pos >= this.input.length) { this.raise(start\x2C "Unterminated regular expression"); }\x0d\n var ch = this.input.charAt(this.pos);\x0d\n if (lineBreak.test(ch)) { this.raise(start\x2C "Unterminated regular expression"); }\x0d\n if (!escaped) {\x0d\n if (ch === "[") { inClass = true; }\x0d\n else if (ch === "]" && inClass) { inClass = false; }\x0d\n else if (ch === "/" && !inClass) { break }\x0d\n escaped = ch === "\\\\";\x0d\n } else { escaped = false; }\x0d\n ++this.pos;\x0d\n }\x0d\n var pattern = this.input.slice(start\x2C this.pos);\x0d\n ++this.pos;\x0d\n var flagsStart = this.pos;\x0d\n var flags = this.readWord1();\x0d\n if (this.containsEsc) { this.unexpected(flagsStart); }\x0d\n\x0d\n // Validate pattern\x0d\n var state = this.regexpState || (this.regexpState = new RegExpValidationState(this));\x0d\n state.reset(start\x2C pattern\x2C flags);\x0d\n this.validateRegExpFlags(state);\x0d\n this.validateRegExpPattern(state);\x0d\n\x0d\n // Create Literal#value property value.\x0d\n var value = null;\x0d\n try {\x0d\n value = new RegExp(pattern\x2C flags);\x0d\n } catch (e) {\x0d\n // ESTree requires null if it failed to instantiate RegExp object.\x0d\n // https://github.com/estree/estree/blob/a27003adf4fd7bfad44de9cef372a2eacd527b1c/es5.md#regexpliteral\x0d\n }\x0d\n\x0d\n return this.finishToken(types$1.regexp\x2C {pattern: pattern\x2C flags: flags\x2C value: value})\x0d\n };\x0d\n\x0d\n // Read an integer in the given radix. Return null if zero digits\x0d\n // were read\x2C the integer value otherwise. When `len` is given\x2C this\x0d\n // will return `null` unless the integer has exactly `len` digits.\x0d\n\x0d\n pp.readInt = function(radix\x2C len\x2C maybeLegacyOctalNumericLiteral) {\x0d\n // `len` is used for character escape sequences. In that case\x2C disallow separators.\x0d\n var allowSeparators = this.options.ecmaVersion >= 12 && len === undefined;\x0d\n\x0d\n // `maybeLegacyOctalNumericLiteral` is true if it doesn't have prefix (0x\x2C0o\x2C0b)\x0d\n // and isn't fraction part nor exponent part. In that case\x2C if the first digit\x0d\n // is zero then disallow separators.\x0d\n var isLegacyOctalNumericLiteral = maybeLegacyOctalNumericLiteral && this.input.charCodeAt(this.pos) === 48;\x0d\n\x0d\n var start = this.pos\x2C total = 0\x2C lastCode = 0;\x0d\n for (var i = 0\x2C e = len == null ? Infinity : len; i < e; ++i\x2C ++this.pos) {\x0d\n var code = this.input.charCodeAt(this.pos)\x2C val = (void 0);\x0d\n\x0d\n if (allowSeparators && code === 95) {\x0d\n if (isLegacyOctalNumericLiteral) { this.raiseRecoverable(this.pos\x2C "Numeric separator is not allowed in legacy octal numeric literals"); }\x0d\n if (lastCode === 95) { this.raiseRecoverable(this.pos\x2C "Numeric separator must be exactly one underscore"); }\x0d\n if (i === 0) { this.raiseRecoverable(this.pos\x2C "Numeric separator is not allowed at the first of digits"); }\x0d\n lastCode = code;\x0d\n continue\x0d\n }\x0d\n\x0d\n if (code >= 97) { val = code - 97 + 10; } // a\x0d\n else if (code >= 65) { val = code - 65 + 10; } // A\x0d\n else if (code >= 48 && code <= 57) { val = code - 48; } // 0-9\x0d\n else { val = Infinity; }\x0d\n if (val >= radix) { break }\x0d\n lastCode = code;\x0d\n total = total * radix + val;\x0d\n }\x0d\n\x0d\n if (allowSeparators && lastCode === 95) { this.raiseRecoverable(this.pos - 1\x2C "Numeric separator is not allowed at the last of digits"); }\x0d\n if (this.pos === start || len != null && this.pos - start !== len) { return null }\x0d\n\x0d\n return total\x0d\n };\x0d\n\x0d\n function stringToNumber(str\x2C isLegacyOctalNumericLiteral) {\x0d\n if (isLegacyOctalNumericLiteral) {\x0d\n return parseInt(str\x2C 8)\x0d\n }\x0d\n\x0d\n // `parseFloat(value)` stops parsing at the first numeric separator then returns a wrong value.\x0d\n return parseFloat(str.replace(/_/g\x2C ""))\x0d\n }\x0d\n\x0d\n function stringToBigInt(str) {\x0d\n if (typeof BigInt !== "function") {\x0d\n return null\x0d\n }\x0d\n\x0d\n // `BigInt(value)` throws syntax error if the string contains numeric separators.\x0d\n return BigInt(str.replace(/_/g\x2C ""))\x0d\n }\x0d\n\x0d\n pp.readRadixNumber = function(radix) {\x0d\n var start = this.pos;\x0d\n this.pos += 2; // 0x\x0d\n var val = this.readInt(radix);\x0d\n if (val == null) { this.raise(this.start + 2\x2C "Expected number in radix " + radix); }\x0d\n if (this.options.ecmaVersion >= 11 && this.input.charCodeAt(this.pos) === 110) {\x0d\n val = stringToBigInt(this.input.slice(start\x2C this.pos));\x0d\n ++this.pos;\x0d\n } else if (isIdentifierStart(this.fullCharCodeAtPos())) { this.raise(this.pos\x2C "Identifier directly after number"); }\x0d\n return this.finishToken(types$1.num\x2C val)\x0d\n };\x0d\n\x0d\n // Read an integer\x2C octal integer\x2C or floating-point number.\x0d\n\x0d\n pp.readNumber = function(startsWithDot) {\x0d\n var start = this.pos;\x0d\n if (!startsWithDot && this.readInt(10\x2C undefined\x2C true) === null) { this.raise(start\x2C "Invalid number"); }\x0d\n var octal = this.pos - start >= 2 && this.input.charCodeAt(start) === 48;\x0d\n if (octal && this.strict) { this.raise(start\x2C "Invalid number"); }\x0d\n var next = this.input.charCodeAt(this.pos);\x0d\n if (!octal && !startsWithDot && this.options.ecmaVersion >= 11 && next === 110) {\x0d\n var val$1 = stringToBigInt(this.input.slice(start\x2C this.pos));\x0d\n ++this.pos;\x0d\n if (isIdentifierStart(this.fullCharCodeAtPos())) { this.raise(this.pos\x2C "Identifier directly after number"); }\x0d\n return this.finishToken(types$1.num\x2C val$1)\x0d\n }\x0d\n if (octal && /[89]/.test(this.input.slice(start\x2C this.pos))) { octal = false; }\x0d\n if (next === 46 && !octal) { // '.'\x0d\n ++this.pos;\x0d\n this.readInt(10);\x0d\n next = this.input.charCodeAt(this.pos);\x0d\n }\x0d\n if ((next === 69 || next === 101) && !octal) { // 'eE'\x0d\n next = this.input.charCodeAt(++this.pos);\x0d\n if (next === 43 || next === 45) { ++this.pos; } // '+-'\x0d\n if (this.readInt(10) === null) { this.raise(start\x2C "Invalid number"); }\x0d\n }\x0d\n if (isIdentifierStart(this.fullCharCodeAtPos())) { this.raise(this.pos\x2C "Identifier directly after number"); }\x0d\n\x0d\n var val = stringToNumber(this.input.slice(start\x2C this.pos)\x2C octal);\x0d\n return this.finishToken(types$1.num\x2C val)\x0d\n };\x0d\n\x0d\n // Read a string value\x2C interpreting backslash-escapes.\x0d\n\x0d\n pp.readCodePoint = function() {\x0d\n var ch = this.input.charCodeAt(this.pos)\x2C code;\x0d\n\x0d\n if (ch === 123) { // '{'\x0d\n if (this.options.ecmaVersion < 6) { this.unexpected(); }\x0d\n var codePos = ++this.pos;\x0d\n code = this.readHexChar(this.input.indexOf("}"\x2C this.pos) - this.pos);\x0d\n ++this.pos;\x0d\n if (code > 0x10FFFF) { this.invalidStringToken(codePos\x2C "Code point out of bounds"); }\x0d\n } else {\x0d\n code = this.readHexChar(4);\x0d\n }\x0d\n return code\x0d\n };\x0d\n\x0d\n pp.readString = function(quote) {\x0d\n var out = ""\x2C chunkStart = ++this.pos;\x0d\n for (;;) {\x0d\n if (this.pos >= this.input.length) { this.raise(this.start\x2C "Unterminated string constant"); }\x0d\n var ch = this.input.charCodeAt(this.pos);\x0d\n if (ch === quote) { break }\x0d\n if (ch === 92) { // '\\'\x0d\n out += this.input.slice(chunkStart\x2C this.pos);\x0d\n out += this.readEscapedChar(false);\x0d\n chunkStart = this.pos;\x0d\n } else if (ch === 0x2028 || ch === 0x2029) {\x0d\n if (this.options.ecmaVersion < 10) { this.raise(this.start\x2C "Unterminated string constant"); }\x0d\n ++this.pos;\x0d\n if (this.options.locations) {\x0d\n this.curLine++;\x0d\n this.lineStart = this.pos;\x0d\n }\x0d\n } else {\x0d\n if (isNewLine(ch)) { this.raise(this.start\x2C "Unterminated string constant"); }\x0d\n ++this.pos;\x0d\n }\x0d\n }\x0d\n out += this.input.slice(chunkStart\x2C this.pos++);\x0d\n return this.finishToken(types$1.string\x2C out)\x0d\n };\x0d\n\x0d\n // Reads template string tokens.\x0d\n\x0d\n var INVALID_TEMPLATE_ESCAPE_ERROR = {};\x0d\n\x0d\n pp.tryReadTemplateToken = function() {\x0d\n this.inTemplateElement = true;\x0d\n try {\x0d\n this.readTmplToken();\x0d\n } catch (err) {\x0d\n if (err === INVALID_TEMPLATE_ESCAPE_ERROR) {\x0d\n this.readInvalidTemplateToken();\x0d\n } else {\x0d\n throw err\x0d\n }\x0d\n }\x0d\n\x0d\n this.inTemplateElement = false;\x0d\n };\x0d\n\x0d\n pp.invalidStringToken = function(position\x2C message) {\x0d\n if (this.inTemplateElement && this.options.ecmaVersion >= 9) {\x0d\n throw INVALID_TEMPLATE_ESCAPE_ERROR\x0d\n } else {\x0d\n this.raise(position\x2C message);\x0d\n }\x0d\n };\x0d\n\x0d\n pp.readTmplToken = function() {\x0d\n var out = ""\x2C chunkStart = this.pos;\x0d\n for (;;) {\x0d\n if (this.pos >= this.input.length) { this.raise(this.start\x2C "Unterminated template"); }\x0d\n var ch = this.input.charCodeAt(this.pos);\x0d\n if (ch === 96 || ch === 36 && this.input.charCodeAt(this.pos + 1) === 123) { // '`'\x2C '${'\x0d\n if (this.pos === this.start && (this.type === types$1.template || this.type === types$1.invalidTemplate)) {\x0d\n if (ch === 36) {\x0d\n this.pos += 2;\x0d\n return this.finishToken(types$1.dollarBraceL)\x0d\n } else {\x0d\n ++this.pos;\x0d\n return this.finishToken(types$1.backQuote)\x0d\n }\x0d\n }\x0d\n out += this.input.slice(chunkStart\x2C this.pos);\x0d\n return this.finishToken(types$1.template\x2C out)\x0d\n }\x0d\n if (ch === 92) { // '\\'\x0d\n out += this.input.slice(chunkStart\x2C this.pos);\x0d\n out += this.readEscapedChar(true);\x0d\n chunkStart = this.pos;\x0d\n } else if (isNewLine(ch)) {\x0d\n out += this.input.slice(chunkStart\x2C this.pos);\x0d\n ++this.pos;\x0d\n switch (ch) {\x0d\n case 13:\x0d\n if (this.input.charCodeAt(this.pos) === 10) { ++this.pos; }\x0d\n case 10:\x0d\n out += "\\n";\x0d\n break\x0d\n default:\x0d\n out += String.fromCharCode(ch);\x0d\n break\x0d\n }\x0d\n if (this.options.locations) {\x0d\n ++this.curLine;\x0d\n this.lineStart = this.pos;\x0d\n }\x0d\n chunkStart = this.pos;\x0d\n } else {\x0d\n ++this.pos;\x0d\n }\x0d\n }\x0d\n };\x0d\n\x0d\n // Reads a template token to search for the end\x2C without validating any escape sequences\x0d\n pp.readInvalidTemplateToken = function() {\x0d\n for (; this.pos < this.input.length; this.pos++) {\x0d\n switch (this.input[this.pos]) {\x0d\n case "\\\\":\x0d\n ++this.pos;\x0d\n break\x0d\n\x0d\n case "$":\x0d\n if (this.input[this.pos + 1] !== "{") {\x0d\n break\x0d\n }\x0d\n\x0d\n // falls through\x0d\n case "`":\x0d\n return this.finishToken(types$1.invalidTemplate\x2C this.input.slice(this.start\x2C this.pos))\x0d\n\x0d\n // no default\x0d\n }\x0d\n }\x0d\n this.raise(this.start\x2C "Unterminated template");\x0d\n };\x0d\n\x0d\n // Used to read escaped characters\x0d\n\x0d\n pp.readEscapedChar = function(inTemplate) {\x0d\n var ch = this.input.charCodeAt(++this.pos);\x0d\n ++this.pos;\x0d\n switch (ch) {\x0d\n case 110: return "\\n" // 'n' -> '\\n'\x0d\n case 114: return "\\r" // 'r' -> '\\r'\x0d\n case 120: return String.fromCharCode(this.readHexChar(2)) // 'x'\x0d\n case 117: return codePointToString(this.readCodePoint()) // 'u'\x0d\n case 116: return "\\t" // 't' -> '\\t'\x0d\n case 98: return "\\b" // 'b' -> '\\b'\x0d\n case 118: return "\\u000b" // 'v' -> '\\u000b'\x0d\n case 102: return "\\f" // 'f' -> '\\f'\x0d\n case 13: if (this.input.charCodeAt(this.pos) === 10) { ++this.pos; } // '\\r\\n'\x0d\n case 10: // ' \\n'\x0d\n if (this.options.locations) { this.lineStart = this.pos; ++this.curLine; }\x0d\n return ""\x0d\n case 56:\x0d\n case 57:\x0d\n if (this.strict) {\x0d\n this.invalidStringToken(\x0d\n this.pos - 1\x2C\x0d\n "Invalid escape sequence"\x0d\n );\x0d\n }\x0d\n if (inTemplate) {\x0d\n var codePos = this.pos - 1;\x0d\n\x0d\n this.invalidStringToken(\x0d\n codePos\x2C\x0d\n "Invalid escape sequence in template string"\x0d\n );\x0d\n }\x0d\n default:\x0d\n if (ch >= 48 && ch <= 55) {\x0d\n var octalStr = this.input.substr(this.pos - 1\x2C 3).match(/^[0-7]+/)[0];\x0d\n var octal = parseInt(octalStr\x2C 8);\x0d\n if (octal > 255) {\x0d\n octalStr = octalStr.slice(0\x2C -1);\x0d\n octal = parseInt(octalStr\x2C 8);\x0d\n }\x0d\n this.pos += octalStr.length - 1;\x0d\n ch = this.input.charCodeAt(this.pos);\x0d\n if ((octalStr !== "0" || ch === 56 || ch === 57) && (this.strict || inTemplate)) {\x0d\n this.invalidStringToken(\x0d\n this.pos - 1 - octalStr.length\x2C\x0d\n inTemplate\x0d\n ? "Octal literal in template string"\x0d\n : "Octal literal in strict mode"\x0d\n );\x0d\n }\x0d\n return String.fromCharCode(octal)\x0d\n }\x0d\n if (isNewLine(ch)) {\x0d\n // Unicode new line characters after \\ get removed from output in both\x0d\n // template literals and strings\x0d\n return ""\x0d\n }\x0d\n return String.fromCharCode(ch)\x0d\n }\x0d\n };\x0d\n\x0d\n // Used to read character escape sequences ('\\x'\x2C '\\u'\x2C '\\U').\x0d\n\x0d\n pp.readHexChar = function(len) {\x0d\n var codePos = this.pos;\x0d\n var n = this.readInt(16\x2C len);\x0d\n if (n === null) { this.invalidStringToken(codePos\x2C "Bad character escape sequence"); }\x0d\n return n\x0d\n };\x0d\n\x0d\n // Read an identifier\x2C and return it as a string. Sets `this.containsEsc`\x0d\n // to whether the word contained a '\\u' escape.\x0d\n //\x0d\n // Incrementally adds only escaped chars\x2C adding other chunks as-is\x0d\n // as a micro-optimization.\x0d\n\x0d\n pp.readWord1 = function() {\x0d\n this.containsEsc = false;\x0d\n var word = ""\x2C first = true\x2C chunkStart = this.pos;\x0d\n var astral = this.options.ecmaVersion >= 6;\x0d\n while (this.pos < this.input.length) {\x0d\n var ch = this.fullCharCodeAtPos();\x0d\n if (isIdentifierChar(ch\x2C astral)) {\x0d\n this.pos += ch <= 0xffff ? 1 : 2;\x0d\n } else if (ch === 92) { // "\\"\x0d\n this.containsEsc = true;\x0d\n word += this.input.slice(chunkStart\x2C this.pos);\x0d\n var escStart = this.pos;\x0d\n if (this.input.charCodeAt(++this.pos) !== 117) // "u"\x0d\n { this.invalidStringToken(this.pos\x2C "Expecting Unicode escape sequence \\\\uXXXX"); }\x0d\n ++this.pos;\x0d\n var esc = this.readCodePoint();\x0d\n if (!(first ? isIdentifierStart : isIdentifierChar)(esc\x2C astral))\x0d\n { this.invalidStringToken(escStart\x2C "Invalid Unicode escape"); }\x0d\n word += codePointToString(esc);\x0d\n chunkStart = this.pos;\x0d\n } else {\x0d\n break\x0d\n }\x0d\n first = false;\x0d\n }\x0d\n return word + this.input.slice(chunkStart\x2C this.pos)\x0d\n };\x0d\n\x0d\n // Read an identifier or keyword token. Will check for reserved\x0d\n // words when necessary.\x0d\n\x0d\n pp.readWord = function() {\x0d\n var word = this.readWord1();\x0d\n var type = types$1.name;\x0d\n if (this.keywords.test(word)) {\x0d\n type = keywords[word];\x0d\n }\x0d\n return this.finishToken(type\x2C word)\x0d\n };\x0d\n\x0d\n // Acorn is a tiny\x2C fast JavaScript parser written in JavaScript.\x0d\n //\x0d\n // Acorn was written by Marijn Haverbeke\x2C Ingvar Stepanyan\x2C and\x0d\n // various contributors and released under an MIT license.\x0d\n //\x0d\n // Git repositories for Acorn are available at\x0d\n //\x0d\n // http://marijnhaverbeke.nl/git/acorn\x0d\n // https://github.com/acornjs/acorn.git\x0d\n //\x0d\n // Please use the [github bug tracker][ghbt] to report issues.\x0d\n //\x0d\n // [ghbt]: https://github.com/acornjs/acorn/issues\x0d\n //\x0d\n // [walk]: util/walk.js\x0d\n\x0d\n\x0d\n var version = "8.11.3";\x0d\n\x0d\n Parser.acorn = {\x0d\n Parser: Parser\x2C\x0d\n version: version\x2C\x0d\n defaultOptions: defaultOptions\x2C\x0d\n Position: Position\x2C\x0d\n SourceLocation: SourceLocation\x2C\x0d\n getLineInfo: getLineInfo\x2C\x0d\n Node: Node\x2C\x0d\n TokenType: TokenType\x2C\x0d\n tokTypes: types$1\x2C\x0d\n keywordTypes: keywords\x2C\x0d\n TokContext: TokContext\x2C\x0d\n tokContexts: types\x2C\x0d\n isIdentifierChar: isIdentifierChar\x2C\x0d\n isIdentifierStart: isIdentifierStart\x2C\x0d\n Token: Token\x2C\x0d\n isNewLine: isNewLine\x2C\x0d\n lineBreak: lineBreak\x2C\x0d\n lineBreakG: lineBreakG\x2C\x0d\n nonASCIIwhitespace: nonASCIIwhitespace\x0d\n };\x0d\n\x0d\n // The main exported interface (under `self.acorn` when in the\x0d\n // browser) is a `parse` function that takes a code string and returns\x0d\n // an abstract syntax tree as specified by the [ESTree spec][estree].\x0d\n //\x0d\n // [estree]: https://github.com/estree/estree\x0d\n\x0d\n function parse(input\x2C options) {\x0d\n return Parser.parse(input\x2C options)\x0d\n }\x0d\n\x0d\n // This function tries to parse a single expression at a given\x0d\n // offset in a string. Useful for parsing mixed-language formats\x0d\n // that embed JavaScript expressions.\x0d\n\x0d\n function parseExpressionAt(input\x2C pos\x2C options) {\x0d\n return Parser.parseExpressionAt(input\x2C pos\x2C options)\x0d\n }\x0d\n\x0d\n // Acorn is organized as a tokenizer and a recursive-descent parser.\x0d\n // The `tokenizer` export provides an interface to the tokenizer.\x0d\n\x0d\n function tokenizer(input\x2C options) {\x0d\n return Parser.tokenizer(input\x2C options)\x0d\n }\x0d\n\x0d\n exports.Node = Node;\x0d\n exports.Parser = Parser;\x0d\n exports.Position = Position;\x0d\n exports.SourceLocation = SourceLocation;\x0d\n exports.TokContext = TokContext;\x0d\n exports.Token = Token;\x0d\n exports.TokenType = TokenType;\x0d\n exports.defaultOptions = defaultOptions;\x0d\n exports.getLineInfo = getLineInfo;\x0d\n exports.isIdentifierChar = isIdentifierChar;\x0d\n exports.isIdentifierStart = isIdentifierStart;\x0d\n exports.isNewLine = isNewLine;\x0d\n exports.keywordTypes = keywords;\x0d\n exports.lineBreak = lineBreak;\x0d\n exports.lineBreakG = lineBreakG;\x0d\n exports.nonASCIIwhitespace = nonASCIIwhitespace;\x0d\n exports.parse = parse;\x0d\n exports.parseExpressionAt = parseExpressionAt;\x0d\n exports.tokContexts = types;\x0d\n exports.tokTypes = types$1;\x0d\n exports.tokenizer = tokenizer;\x0d\n exports.version = version;\x0d\n\x0d\n}));\x0d\n
code-source-info,0x158ab323c06,116,0,237203,C0O0C4O237203,,
code-creation,JS,10,437107,0x158ab323d06,30, node:internal/deps/acorn/acorn/dist/acorn:1:1,0x158ab323b80,~
code-source-info,0x158ab323d06,116,0,237203,C0O0C13O0C23O304C29O237202,,
code-creation,JS,10,437153,0x158ab333766,8518, node:internal/deps/acorn/acorn/dist/acorn:5:20,0x158ab323c70,~
code-source-info,0x158ab333766,116,321,237198,C0O321C231O435C235O435C237O1554C241O1554C243O3686C246O6434C249O11069C253O11069C255O11550C258O11747C270O11757C277O11816C290O11865C300O11747C302O11953C307O11953C309O12039C320O12054C327O12085C334O12039C339O12039C341O12121C352O12136C359O12167C366O12193C373O12121C378O12121C380O14749C384O14749C386O15309C391O15342C396O15424C397O15424C399O15670C418O15682C440O15729C462O15779C484O15827C506O15878C525O15928C542O16004C550O16000C569O16073C586O16110C594O16106C613O16177C630O16214C638O16210C657O16281C679O16313C701O16356C723O16400C742O16442C764O16477C783O16527C805O16560C824O16608C843O16657C865O16706C887O16756C904O16811C912O16807C929O17495C937O17491C954O17564C962O17560C979O17634C987O17630C1004O17720C1012O17716C1029O17806C1046O17839C1063O17871C1080O17903C1097O17935C1114O17965C1131O18009C1148O18047C1165O18088C1173O18084C1190O18181C1207O18208C1224O18236C1241O18271C1249O18267C1266O18323C1279O18383C1291O18408C1304O18445C1316O18474C1328O18506C1340O18537C1353O18574C1359O18574C1372O18630C1385O18669C1397O18695C1403O18695C1416O18738C1429O18776C1441O18800C1458O18840C1478O18867C1500O18903C1520O18925C1540O18949C1560O18975C1569O18975C1591O19016C1611O19039C1620O19039C1642O19100C1664O19137C1686O19175C1708O19215C1730O19256C1750O19284C1772O19322C1794O19358C1816O19395C1838O19430C1847O19430C1869O19488C1878O19488C1900O19550C1909O19550C1931O19628C1940O19628C1962O19706C1971O19706C1991O15670C1993O19908C2001O19908C2003O19954C2012O19975C2028O19954C2039O20457C2047O20457C2049O20532C2057O20532C2059O20580C2067O20587C2076O20626C2084O20622C2086O20664C2094O20660C2096O20692C2104O20699C2118O20692C2120O20815C2128O20821C2142O20815C2144O20937C2152O20944C2165O20944C2175O20937C2177O21365C2185O21365C2187O21570C2191O21570C2193O21659C2197O21668C2211O21685C2219O21794C2223O21794C2225O22654C2232O22654C2234O28045C2235O28045C2237O29811C2239O29811C2241O29838C2243O29838C2245O29862C2247O29862C2249O29890C2251O29890C2253O29914C2255O29914C2257O29946C2259O29946C2261O29971C2263O29971C2265O30003C2269O30003C2271O30042C2275O30042C2277O30066C2283O30076C2293O30093C2299O30066C2301O30369C2302O30369C2304O30407C2306O30407C2308O30453C2310O30453C2312O30510C2314O30510C2316O30564C2318O30564C2320O30634C2322O30634C2324O30719C2328O30719C2330O34212C2338O34563C2342O34570C2356O34586C2364O34756C2378O34771C2386O34873C2400O34889C2408O35036C2422O35048C2430O35191C2444O35204C2452O35639C2466O35654C2474O35920C2491O35941C2499O36048C2516O36072C2524O36175C2541O36197C2549O36455C2566O36478C2574O36579C2585O36593C2593O36846C2604O36859C2612O36951C2623O36976C2631O37151C2642O37168C2650O37256C2658O37263C2672O37288C2682O37263C2694O37337C2698O37344C2707O37402C2715O37402C2717O37455C2724O37476C2732O38639C2739O38648C2747O38849C2754O38867C2762O39029C2769O39048C2777O39231C2784O39253C2792O39416C2799O39440C2807O39615C2814O39636C2822O39985C2829O40000C2837O40110C2844O40134C2852O40520C2859O40532C2867O40645C2874O40661C2882O40785C2889O40785C2891O40980C2898O41004C2906O41513C2913O41540C2921O42105C2928O42141C2936O42436C2943O42462C2951O42689C2955O42696C2964O43004C2971O43023C2979O43728C2986O43728C2988O43758C2995O43758C2997O43781C3004O43792C3012O45083C3019O45104C3027O45902C3034O45922C3042O49657C3049O49690C3057O50572C3064O50600C3072O50726C3079O50748C3087O51585C3094O51608C3102O53805C3109O53833C3117O54033C3124O54055C3132O54407C3139O54433C3147O54999C3154O55025C3162O56394C3169O56419C3177O56816C3181O56816C3183O56825C3190O56852C3198O57154C3205O57177C3213O58010C3220O58033C3228O58256C3235O58281C3243O58532C3250O58556C3258O58824C3265O58849C3273O58949C3280O58976C3288O59992C3295O60022C3303O60327C3310O60343C3318O61095C3325O61109C3333O61669C3340O61685C3348O62601C3355O62615C3363O63543C3370O63559C3378O63742C3380O63742C3382O63770C3384O63770C3386O63792C3388O63792C3390O63981C3397O64000C3405O65776C3412O65801C3420O66100C3427O66116C3435O67508C3442O67531C3450O70092C3457O70121C3465O70388C3472O70415C3480O70772C3487O70794C3495O71948C3502O71969C3510O72769C3517O72796C3525O73215C3532O73233C3540O73549C3547O73570C3555O73698C3562O73718C3570O73877C3577O73896C3585O75602C3592O75633C3600O76162C3607O76179C3615O78006C3622O78034C3630O78102C3637O78137C3645O78706C3652O78723C3660O79036C3667O79060C3675O79948C3682O79973C3690O80198C3697O80230C3705O80532C3712O80558C3720O80917C3727O80944C3735O81401C3742O81418C3750O81950C3757O81976C3765O82373C3772O82406C3780O82668C3787O82703C3795O82967C3802O82994C3810O83638C3817O83665C3825O84125C3832O84153C3840O84365C3847O84391C3855O84781C3859O84788C3868O84886C3875O84904C3883O87952C3890O87974C3898O88477C3905O88494C3913O88720C3920O88742C3928O89136C3935O89158C3943O89588C3950O89610C3958O90461C3965O90490C3973O90652C3980O90678C3988O90792C3995O90815C4003O94215C4010O94236C4018O95746C4025O95768C4033O96469C4040O96496C4048O97338C4056O97597C4074O97612C4101O97653C4128O97693C4155O97735C4182O97776C4210O97820C4221O97816C4248O97913C4275O97961C4311O98012C4347O98077C4367O97597C4369O98152C4373O98159C4382O98175C4389O98195C4397O98248C4404O98264C4412O98340C4419O98358C4427O99377C4434O99401C4442O99627C4449O99646C4457O100054C4464O100075C4472O100259C4476O100267C4490O100298C4509O100319C4519O100288C4527O100623C4531O100631C4548O100652C4556O100799C4560O100807C4577O100834C4585O100928C4589O100936C4606O100957C4614O101235C4618O101243C4635O101264C4643O101329C4647O101337C4661O101371C4680O101392C4690O101361C4698O101916C4702O101924C4719O101944C4727O102073C4731O102081C4748O102105C4756O102292C4760O102300C4777O102319C4785O102639C4789O102647C4806O102666C4814O104004C4818O104011C4827O104287C4834O104307C4842O106594C4849O106615C4857O107233C4864O107255C4872O109901C4879O109928C4887O110571C4894O110589C4902O111353C4909O111370C4917O112776C4924O112793C4932O113271C4939O113292C4947O115910C4954O115935C4962O116793C4969O116814C4977O117742C4984O117769C4992O117861C4999O117891C5007O118055C5014O118075C5022O121358C5029O121377C5037O125728C5044O125754C5052O125804C5059O125825C5067O126581C5074O126605C5082O127112C5089O127133C5097O127793C5104O127811C5112O128138C5119O128164C5127O128313C5134O128335C5142O128408C5149O128448C5157O131182C5164O131202C5172O131249C5179O131274C5187O131758C5191O131758C5193O131767C5200O131781C5208O133215C5215O133241C5223O133879C5230O133898C5238O134639C5245O134656C5253O135121C5260O135135C5268O135820C5275O135839C5283O137609C5290O137632C5298O138311C5305O138335C5313O140287C5320O140310C5328O140830C5335O140848C5343O141087C5350O141104C5358O142152C5365O142178C5373O142926C5380O142949C5388O144772C5395O144795C5403O145139C5410O145156C5418O145748C5425O145767C5433O146622C5440O146643C5448O148093C5455O148109C5463O148433C5470O148453C5478O149352C5485O149375C5493O150049C5500O150065C5508O150569C5515O150585C5523O150864C5527O150871C5537O151177C5544O151188C5552O151474C5560O151467C5568O151486C5575O151503C5583O151650C5587O151657C5597O151685C5604O151685C5606O152283C5613O152299C5621O152375C5628O152390C5636O152619C5643O152651C5651O152772C5658O152789C5666O154393C5673O154415C5681O154687C5688O154705C5696O154787C5703O154808C5711O155087C5718O155109C5726O155331C5733O155331C5735O155763C5739O155770C5749O155786C5756O155801C5764O155881C5771O155898C5779O156276C5786O156292C5794O156451C5801O156469C5809O156573C5816O156587C5824O157078C5830O158101C5834O158123C5842O158183C5844O158239C5848O158262C5856O158331C5858O158387C5860O158446C5875O158456C5890O158488C5905O158521C5920O158554C5935O158587C5950O158620C5961O158446C5963O158742C5969O158931C5984O159006C5995O158931C5997O159129C6001O159129C6003O159855C6009O161901C6013O161919C6021O162064C6025O162083C6033O162187C6037O162206C6045O162310C6049O162329C6057O162428C6061O162447C6069O162545C6084O162555C6099O162583C6114O162612C6129O162641C6144O162670C6159O162699C6170O162545C6172O162740C6173O162740C6175O163410C6178O163420C6187O163454C6195O163447C6205O163495C6207O163499C6215O163511C6223O163464C6233O163397C6241O163563C6245O163570C6255O163614C6262O163614C6264O164419C6268O164441C6285O164457C6293O165035C6297O165057C6314O165073C6322O165422C6326O165444C6343O165457C6351O165890C6355O165912C6372O165932C6380O166349C6384O166371C6401O166389C6409O166518C6413O166540C6430O166560C6438O166715C6442O166737C6459O166755C6467O166896C6471O166918C6488O166932C6496O167136C6500O167158C6517O167177C6525O167767C6532O167792C6540O168653C6547O168680C6555O169358C6562O169378C6570O170442C6577O170466C6585O170920C6592O170944C6600O171133C6607O171153C6615O171918C6622O171943C6630O172975C6637O173001C6645O173304C6652O173336C6660O173552C6667O173584C6675O174446C6682O174466C6690O174797C6697O174837C6705O175058C6712O175090C6720O175467C6727O175497C6735O176048C6742O176076C6750O176563C6757O176602C6765O176832C6772O176863C6780O177459C6787O177492C6795O177794C6802O177834C6810O178296C6817O178323C6825O178833C6832O178858C6840O179336C6847O179372C6855O179871C6862O179908C6870O180644C6877O180680C6885O181397C6892O181423C6900O181935C6907O181964C6915O182475C6922O182501C6930O182862C6937O182893C6945O183312C6952O183342C6960O183566C6967O183586C6975O183873C6982O183902C6990O184681C6997O184710C7005O185162C7012O185205C7020O186601C7027O186631C7035O187193C7042O187222C7050O187744C7051O187744C7053O187784C7055O187784C7057O187854C7059O187854C7061O187984C7068O188020C7076O189205C7083O189251C7091O189998C7098O190046C7106O190311C7113O190358C7121O190702C7128O190737C7136O191193C7143O191229C7151O191709C7158O191755C7166O191916C7173O191946C7181O192493C7188O192519C7196O192920C7203O192952C7211O193605C7218O193630C7226O194358C7233O194385C7241O195180C7248O195211C7256O196689C7263O196718C7271O197258C7278O197289C7286O197533C7293O197560C7301O198258C7308O198296C7316O198815C7323O198858C7331O199197C7338O199221C7346O199444C7353O199477C7361O201044C7368O201086C7376O201835C7383O201869C7391O202170C7398O202203C7406O202584C7413O202613C7421O203069C7428O203094C7436O203994C7443O204035C7451O204611C7458O204637C7466O205204C7473O205234C7481O205825C7488O205825C7490O206154C7494O206161C7504O206208C7511O206216C7519O206708C7526O206720C7534O206852C7546O206897C7554O206904C7571O206914C7579O207409C7586O207422C7594O207871C7601O207884C7609O208198C7616O208219C7624O208492C7631O208512C7639O209197C7646O209216C7654O209825C7661O209838C7669O211075C7676O211090C7684O211630C7691O211647C7699O212092C7706O212111C7714O212375C7721O212404C7729O212925C7736O212947C7744O213490C7751O213509C7759O213710C7766O213732C7774O214342C7781O214361C7789O215171C7796O215192C7804O215627C7811O215649C7819O216319C7826O216343C7834O216783C7841O216803C7849O219623C7856O219635C7864O219794C7871O219808C7879O221481C7886O221492C7894O223852C7901O223871C7909O224487C7916O224501C7924O226012C7931O226029C7939O226501C7946O226515C7954O227567C7955O227567C7957O227576C7964O227600C7972O227907C7979O227929C7987O228142C7994O228159C8002O229789C8009O229817C8017O230362C8024O230381C8032O232525C8039O232540C8047O232978C8054O232991C8062O234157C8069O234169C8077O234916C8083O234931C8098O234961C8108O234983C8118O235013C8128O235044C8138O235075C8148O235109C8158O235133C8168O235155C8178O235181C8188O235209C8198O235236C8208O235266C8218O235296C8228O235338C8238O235369C8248O235392C8258O235419C8268O235447C8278O235484C8288O234944C8296O236398C8298O236411C8306O236422C8308O236437C8316O236450C8318O236467C8326O236482C8328O236505C8336O236526C8338O236545C8346O236562C8348O236576C8356O236588C8358O236606C8366O236622C8368O236645C8376O236666C8378O236686C8386O236704C8388O236729C8396O236752C8398O236778C8406O236802C8408O236820C8416O236836C8418O236857C8426O236872C8428O236890C8436O236906C8438O236925C8446O236942C8448O236969C8456O236994C8458O237008C8466O237020C8468O237046C8476O237070C8478O237090C8486O237102C8488O237119C8496O237133C8498O237151C8506O237167C8508O237183C8517O237197,,
code-creation,JS,10,438859,0x158ab336606,20, node:internal/deps/acorn/acorn/dist/acorn:278:44,0x158ab324a18,~
code-source-info,0x158ab336606,116,20842,20911,C0O20850C3O20873C8O20873C16O20883C19O20909,,
code-creation,JS,10,438896,0x158ab3366a6,15, node:internal/deps/acorn/acorn/dist/acorn:274:43,0x158ab3249e0,~
code-source-info,0x158ab3366a6,116,20719,20793,C0O20737C3O20766C8O20766C14O20791,,
code-creation,JS,10,438930,0x158ab336796,87, node:internal/deps/acorn/acorn/dist/acorn:1:11,0x158ab323c38,~
code-source-info,0x158ab336796,116,10,303,C0O33C15O96C28O150C32O157C47O163C61O243C68O256C70O266C75O280C77O293C81O272C86O302,,
tick,0x7ffcc621f263,439090,1,0x7ff7b8fa3800,3,0x7ff7b99b2970,0x7ff739bc3f26,0x7ff739bc3ca1,0x158ab3152af,0x7ff739bc3feb,0x7ff739bc3ca1,0x158ab30fa20,0x7ff739bc3feb,0x7ff739bc3ca1,0x23c51978956,0x23c519693ae,0x23c51968a11,0x23c51942948
tick,0x7ff7b95e8cbe,441084,0,0x0,3,0x7ff7b9521fe0,0x158ab333908,0x158ab3367a5,0x158ab323d1d,0x7ff739bc3feb,0x7ff739bc3ca1,0x158ab3152af,0x7ff739bc3feb,0x7ff739bc3ca1,0x158ab30fa20,0x7ff739bc3feb,0x7ff739bc3ca1,0x23c51978956,0x23c519693ae,0x23c51968a11,0x23c51942948
code-creation,JS,10,441445,0x22cbe451026,102,TokenType node:internal/deps/acorn/acorn/dist/acorn:114:37,0x158ab324990,~
code-source-info,0x22cbe451026,116,14767,15183,C0O14788C4O14811C7O14829C9O14840C13O14874C17O14867C21O14913C27O14904C31O14955C37O14946C41O14993C47O14984C51O15029C57O15020C61O15065C67O15056C71O15100C77O15091C81O15132C91O15125C95O15152C96O15171C101O15182,,
code-creation,JS,10,441941,0x22cbe45dc9e,25,binop node:internal/deps/acorn/acorn/dist/acorn:129:17,0x158ab323e50,~
code-source-info,0x22cbe45dc9e,116,15204,15288,C0O15224C3O15245C10O15277C19O15231C24O15283,,
code-creation,JS,10,442144,0x22cbe45e156,40,kw node:internal/deps/acorn/acorn/dist/acorn:139:14,0x158ab323ea0,~
code-source-info,0x22cbe45e156,116,15494,15650,C0O15517C4O15543C7O15564C9O15580C13O15593C27O15617C33O15615C39O15645,,
code-creation,JS,10,442761,0x22cbe461c0e,38,TokContext node:internal/deps/acorn/acorn/dist/acorn:2271:39,0x158ab328398,~
code-source-info,0x22cbe461c0e,116,97357,97578,C0O97416C2O97427C6O97441C8O97457C10O97453C14O97470C16O97493C18O97489C22O97513C24O97527C28O97544C30O97563C32O97559C37O97577,,
code-creation,JS,10,443058,0x22cbe463506,188,buildUnicodeData node:internal/deps/acorn/acorn/dist/acorn:3785:28,0x158ab324300,~
code-source-info,0x22cbe463506,116,162772,163391,C0O162801C3O162806C16O162873C22O162887C28O162893C32O162838C48O162994C52O162950C60O163028C71O163057C87O163148C91O163117C107O162819C114O163187C119O163219C124O163229C128O163215C132O163246C137O163263C142O163273C146O163259C150O163298C155O163315C160O163325C164O163311C168O163340C173O163358C178O163368C182O163354C187O163390,,
code-creation,JS,10,443241,0x22cbe463826,65,wordsRegexp node:internal/deps/acorn/acorn/dist/acorn:284:23,0x158ab323f90,~
code-source-info,0x22cbe463826,116,20983,21107,C0O20998C5O21016C13O21053C20O21075C34O21075C40O21067C46O21094C52O21049C58O21047C64O21102,,
code-creation,Eval,10,445610,0x22cbe46b85e,5, node:internal/deps/acorn/acorn-walk/dist/walk:1:1,0x22cbe46b618,~
script-source,117,node:internal/deps/acorn/acorn-walk/dist/walk,(function (global\x2C factory) {\x0d\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\x0d\n typeof define === 'function' && define.amd ? define(['exports']\x2C factory) :\x0d\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self\x2C factory((global.acorn = global.acorn || {}\x2C global.acorn.walk = {})));\x0d\n})(this\x2C (function (exports) { 'use strict';\x0d\n\x0d\n // AST walker module for ESTree compatible trees\x0d\n\x0d\n // A simple walk is one where you simply specify callbacks to be\x0d\n // called on specific nodes. The last two arguments are optional. A\x0d\n // simple use would be\x0d\n //\x0d\n // walk.simple(myTree\x2C {\x0d\n // Expression: function(node) { ... }\x0d\n // });\x0d\n //\x0d\n // to do something with all expressions. All ESTree node types\x0d\n // can be used to identify node types\x2C as well as Expression and\x0d\n // Statement\x2C which denote categories of nodes.\x0d\n //\x0d\n // The base argument can be used to pass a custom (recursive)\x0d\n // walker\x2C and state can be used to give this walked an initial\x0d\n // state.\x0d\n\x0d\n function simple(node\x2C visitors\x2C baseVisitor\x2C state\x2C override) {\x0d\n if (!baseVisitor) { baseVisitor = base\x0d\n ; }(function c(node\x2C st\x2C override) {\x0d\n var type = override || node.type;\x0d\n baseVisitor[type](node\x2C st\x2C c);\x0d\n if (visitors[type]) { visitors[type](node\x2C st); }\x0d\n })(node\x2C state\x2C override);\x0d\n }\x0d\n\x0d\n // An ancestor walk keeps an array of ancestor nodes (including the\x0d\n // current node) and passes them to the callback as third parameter\x0d\n // (and also as state parameter when no other state is present).\x0d\n function ancestor(node\x2C visitors\x2C baseVisitor\x2C state\x2C override) {\x0d\n var ancestors = [];\x0d\n if (!baseVisitor) { baseVisitor = base\x0d\n ; }(function c(node\x2C st\x2C override) {\x0d\n var type = override || node.type;\x0d\n var isNew = node !== ancestors[ancestors.length - 1];\x0d\n if (isNew) { ancestors.push(node); }\x0d\n baseVisitor[type](node\x2C st\x2C c);\x0d\n if (visitors[type]) { visitors[type](node\x2C st || ancestors\x2C ancestors); }\x0d\n if (isNew) { ancestors.pop(); }\x0d\n })(node\x2C state\x2C override);\x0d\n }\x0d\n\x0d\n // A recursive walk is one where your functions override the default\x0d\n // walkers. They can modify and replace the state parameter that's\x0d\n // threaded through the walk\x2C and can opt how and whether to walk\x0d\n // their child nodes (by calling their third argument on these\x0d\n // nodes).\x0d\n function recursive(node\x2C state\x2C funcs\x2C baseVisitor\x2C override) {\x0d\n var visitor = funcs ? make(funcs\x2C baseVisitor || undefined) : baseVisitor\x0d\n ;(function c(node\x2C st\x2C override) {\x0d\n visitor[override || node.type](node\x2C st\x2C c);\x0d\n })(node\x2C state\x2C override);\x0d\n }\x0d\n\x0d\n function makeTest(test) {\x0d\n if (typeof test === "string")\x0d\n { return function (type) { return type === test; } }\x0d\n else if (!test)\x0d\n { return function () { return true; } }\x0d\n else\x0d\n { return test }\x0d\n }\x0d\n\x0d\n var Found = function Found(node\x2C state) { this.node = node; this.state = state; };\x0d\n\x0d\n // A full walk triggers the callback on each node\x0d\n function full(node\x2C callback\x2C baseVisitor\x2C state\x2C override) {\x0d\n if (!baseVisitor) { baseVisitor = base; }\x0d\n var last\x0d\n ;(function c(node\x2C st\x2C override) {\x0d\n var type = override || node.type;\x0d\n baseVisitor[type](node\x2C st\x2C c);\x0d\n if (last !== node) {\x0d\n callback(node\x2C st\x2C type);\x0d\n last = node;\x0d\n }\x0d\n })(node\x2C state\x2C override);\x0d\n }\x0d\n\x0d\n // An fullAncestor walk is like an ancestor walk\x2C but triggers\x0d\n // the callback on each node\x0d\n function fullAncestor(node\x2C callback\x2C baseVisitor\x2C state) {\x0d\n if (!baseVisitor) { baseVisitor = base; }\x0d\n var ancestors = []\x2C last\x0d\n ;(function c(node\x2C st\x2C override) {\x0d\n var type = override || node.type;\x0d\n var isNew = node !== ancestors[ancestors.length - 1];\x0d\n if (isNew) { ancestors.push(node); }\x0d\n baseVisitor[type](node\x2C st\x2C c);\x0d\n if (last !== node) {\x0d\n callback(node\x2C st || ancestors\x2C ancestors\x2C type);\x0d\n last = node;\x0d\n }\x0d\n if (isNew) { ancestors.pop(); }\x0d\n })(node\x2C state);\x0d\n }\x0d\n\x0d\n // Find a node with a given start\x2C end\x2C and type (all are optional\x2C\x0d\n // null can be used as wildcard). Returns a {node\x2C state} object\x2C or\x0d\n // undefined when it doesn't find a matching node.\x0d\n function findNodeAt(node\x2C start\x2C end\x2C test\x2C baseVisitor\x2C state) {\x0d\n if (!baseVisitor) { baseVisitor = base; }\x0d\n test = makeTest(test);\x0d\n try {\x0d\n (function c(node\x2C st\x2C override) {\x0d\n var type = override || node.type;\x0d\n if ((start == null || node.start <= start) &&\x0d\n (end == null || node.end >= end))\x0d\n { baseVisitor[type](node\x2C st\x2C c); }\x0d\n if ((start == null || node.start === start) &&\x0d\n (end == null || node.end === end) &&\x0d\n test(type\x2C node))\x0d\n { throw new Found(node\x2C st) }\x0d\n })(node\x2C state);\x0d\n } catch (e) {\x0d\n if (e instanceof Found) { return e }\x0d\n throw e\x0d\n }\x0d\n }\x0d\n\x0d\n // Find the innermost node of a given type that contains the given\x0d\n // position. Interface similar to findNodeAt.\x0d\n function findNodeAround(node\x2C pos\x2C test\x2C baseVisitor\x2C state) {\x0d\n test = makeTest(test);\x0d\n if (!baseVisitor) { baseVisitor = base; }\x0d\n try {\x0d\n (function c(node\x2C st\x2C override) {\x0d\n var type = override || node.type;\x0d\n if (node.start > pos || node.end < pos) { return }\x0d\n baseVisitor[type](node\x2C st\x2C c);\x0d\n if (test(type\x2C node)) { throw new Found(node\x2C st) }\x0d\n })(node\x2C state);\x0d\n } catch (e) {\x0d\n if (e instanceof Found) { return e }\x0d\n throw e\x0d\n }\x0d\n }\x0d\n\x0d\n // Find the outermost matching node after a given position.\x0d\n function findNodeAfter(node\x2C pos\x2C test\x2C baseVisitor\x2C state) {\x0d\n test = makeTest(test);\x0d\n if (!baseVisitor) { baseVisitor = base; }\x0d\n try {\x0d\n (function c(node\x2C st\x2C override) {\x0d\n if (node.end < pos) { return }\x0d\n var type = override || node.type;\x0d\n if (node.start >= pos && test(type\x2C node)) { throw new Found(node\x2C st) }\x0d\n baseVisitor[type](node\x2C st\x2C c);\x0d\n })(node\x2C state);\x0d\n } catch (e) {\x0d\n if (e instanceof Found) { return e }\x0d\n throw e\x0d\n }\x0d\n }\x0d\n\x0d\n // Find the outermost matching node before a given position.\x0d\n function findNodeBefore(node\x2C pos\x2C test\x2C baseVisitor\x2C state) {\x0d\n test = makeTest(test);\x0d\n if (!baseVisitor) { baseVisitor = base; }\x0d\n var max\x0d\n ;(function c(node\x2C st\x2C override) {\x0d\n if (node.start > pos) { return }\x0d\n var type = override || node.type;\x0d\n if (node.end <= pos && (!max || max.node.end < node.end) && test(type\x2C node))\x0d\n { max = new Found(node\x2C st); }\x0d\n baseVisitor[type](node\x2C st\x2C c);\x0d\n })(node\x2C state);\x0d\n return max\x0d\n }\x0d\n\x0d\n // Used to create a custom walker. Will fill in all missing node\x0d\n // type properties with the defaults.\x0d\n function make(funcs\x2C baseVisitor) {\x0d\n var visitor = Object.create(baseVisitor || base);\x0d\n for (var type in funcs) { visitor[type] = funcs[type]; }\x0d\n return visitor\x0d\n }\x0d\n\x0d\n function skipThrough(node\x2C st\x2C c) { c(node\x2C st); }\x0d\n function ignore(_node\x2C _st\x2C _c) {}\x0d\n\x0d\n // Node walkers.\x0d\n\x0d\n var base = {};\x0d\n\x0d\n base.Program = base.BlockStatement = base.StaticBlock = function (node\x2C st\x2C c) {\x0d\n for (var i = 0\x2C list = node.body; i < list.length; i += 1)\x0d\n {\x0d\n var stmt = list[i];\x0d\n\x0d\n c(stmt\x2C st\x2C "Statement");\x0d\n }\x0d\n };\x0d\n base.Statement = skipThrough;\x0d\n base.EmptyStatement = ignore;\x0d\n base.ExpressionStatement = base.ParenthesizedExpression = base.ChainExpression =\x0d\n function (node\x2C st\x2C c) { return c(node.expression\x2C st\x2C "Expression"); };\x0d\n base.IfStatement = function (node\x2C st\x2C c) {\x0d\n c(node.test\x2C st\x2C "Expression");\x0d\n c(node.consequent\x2C st\x2C "Statement");\x0d\n if (node.alternate) { c(node.alternate\x2C st\x2C "Statement"); }\x0d\n };\x0d\n base.LabeledStatement = function (node\x2C st\x2C c) { return c(node.body\x2C st\x2C "Statement"); };\x0d\n base.BreakStatement = base.ContinueStatement = ignore;\x0d\n base.WithStatement = function (node\x2C st\x2C c) {\x0d\n c(node.object\x2C st\x2C "Expression");\x0d\n c(node.body\x2C st\x2C "Statement");\x0d\n };\x0d\n base.SwitchStatement = function (node\x2C st\x2C c) {\x0d\n c(node.discriminant\x2C st\x2C "Expression");\x0d\n for (var i$1 = 0\x2C list$1 = node.cases; i$1 < list$1.length; i$1 += 1) {\x0d\n var cs = list$1[i$1];\x0d\n\x0d\n if (cs.test) { c(cs.test\x2C st\x2C "Expression"); }\x0d\n for (var i = 0\x2C list = cs.consequent; i < list.length; i += 1)\x0d\n {\x0d\n var cons = list[i];\x0d\n\x0d\n c(cons\x2C st\x2C "Statement");\x0d\n }\x0d\n }\x0d\n };\x0d\n base.SwitchCase = function (node\x2C st\x2C c) {\x0d\n if (node.test) { c(node.test\x2C st\x2C "Expression"); }\x0d\n for (var i = 0\x2C list = node.consequent; i < list.length; i += 1)\x0d\n {\x0d\n var cons = list[i];\x0d\n\x0d\n c(cons\x2C st\x2C "Statement");\x0d\n }\x0d\n };\x0d\n base.ReturnStatement = base.YieldExpression = base.AwaitExpression = function (node\x2C st\x2C c) {\x0d\n if (node.argument) { c(node.argument\x2C st\x2C "Expression"); }\x0d\n };\x0d\n base.ThrowStatement = base.SpreadElement =\x0d\n function (node\x2C st\x2C c) { return c(node.argument\x2C st\x2C "Expression"); };\x0d\n base.TryStatement = function (node\x2C st\x2C c) {\x0d\n c(node.block\x2C st\x2C "Statement");\x0d\n if (node.handler) { c(node.handler\x2C st); }\x0d\n if (node.finalizer) { c(node.finalizer\x2C st\x2C "Statement"); }\x0d\n };\x0d\n base.CatchClause = function (node\x2C st\x2C c) {\x0d\n if (node.param) { c(node.param\x2C st\x2C "Pattern"); }\x0d\n c(node.body\x2C st\x2C "Statement");\x0d\n };\x0d\n base.WhileStatement = base.DoWhileStatement = function (node\x2C st\x2C c) {\x0d\n c(node.test\x2C st\x2C "Expression");\x0d\n c(node.body\x2C st\x2C "Statement");\x0d\n };\x0d\n base.ForStatement = function (node\x2C st\x2C c) {\x0d\n if (node.init) { c(node.init\x2C st\x2C "ForInit"); }\x0d\n if (node.test) { c(node.test\x2C st\x2C "Expression"); }\x0d\n if (node.update) { c(node.update\x2C st\x2C "Expression"); }\x0d\n c(node.body\x2C st\x2C "Statement");\x0d\n };\x0d\n base.ForInStatement = base.ForOfStatement = function (node\x2C st\x2C c) {\x0d\n c(node.left\x2C st\x2C "ForInit");\x0d\n c(node.right\x2C st\x2C "Expression");\x0d\n c(node.body\x2C st\x2C "Statement");\x0d\n };\x0d\n base.ForInit = function (node\x2C st\x2C c) {\x0d\n if (node.type === "VariableDeclaration") { c(node\x2C st); }\x0d\n else { c(node\x2C st\x2C "Expression"); }\x0d\n };\x0d\n base.DebuggerStatement = ignore;\x0d\n\x0d\n base.FunctionDeclaration = function (node\x2C st\x2C c) { return c(node\x2C st\x2C "Function"); };\x0d\n base.VariableDeclaration = function (node\x2C st\x2C c) {\x0d\n for (var i = 0\x2C list = node.declarations; i < list.length; i += 1)\x0d\n {\x0d\n var decl = list[i];\x0d\n\x0d\n c(decl\x2C st);\x0d\n }\x0d\n };\x0d\n base.VariableDeclarator = function (node\x2C st\x2C c) {\x0d\n c(node.id\x2C st\x2C "Pattern");\x0d\n if (node.init) { c(node.init\x2C st\x2C "Expression"); }\x0d\n };\x0d\n\x0d\n base.Function = function (node\x2C st\x2C c) {\x0d\n if (node.id) { c(node.id\x2C st\x2C "Pattern"); }\x0d\n for (var i = 0\x2C list = node.params; i < list.length; i += 1)\x0d\n {\x0d\n var param = list[i];\x0d\n\x0d\n c(param\x2C st\x2C "Pattern");\x0d\n }\x0d\n c(node.body\x2C st\x2C node.expression ? "Expression" : "Statement");\x0d\n };\x0d\n\x0d\n base.Pattern = function (node\x2C st\x2C c) {\x0d\n if (node.type === "Identifier")\x0d\n { c(node\x2C st\x2C "VariablePattern"); }\x0d\n else if (node.type === "MemberExpression")\x0d\n { c(node\x2C st\x2C "MemberPattern"); }\x0d\n else\x0d\n { c(node\x2C st); }\x0d\n };\x0d\n base.VariablePattern = ignore;\x0d\n base.MemberPattern = skipThrough;\x0d\n base.RestElement = function (node\x2C st\x2C c) { return c(node.argument\x2C st\x2C "Pattern"); };\x0d\n base.ArrayPattern = function (node\x2C st\x2C c) {\x0d\n for (var i = 0\x2C list = node.elements; i < list.length; i += 1) {\x0d\n var elt = list[i];\x0d\n\x0d\n if (elt) { c(elt\x2C st\x2C "Pattern"); }\x0d\n }\x0d\n };\x0d\n base.ObjectPattern = function (node\x2C st\x2C c) {\x0d\n for (var i = 0\x2C list = node.properties; i < list.length; i += 1) {\x0d\n var prop = list[i];\x0d\n\x0d\n if (prop.type === "Property") {\x0d\n if (prop.computed) { c(prop.key\x2C st\x2C "Expression"); }\x0d\n c(prop.value\x2C st\x2C "Pattern");\x0d\n } else if (prop.type === "RestElement") {\x0d\n c(prop.argument\x2C st\x2C "Pattern");\x0d\n }\x0d\n }\x0d\n };\x0d\n\x0d\n base.Expression = skipThrough;\x0d\n base.ThisExpression = base.Super = base.MetaProperty = ignore;\x0d\n base.ArrayExpression = function (node\x2C st\x2C c) {\x0d\n for (var i = 0\x2C list = node.elements; i < list.length; i += 1) {\x0d\n var elt = list[i];\x0d\n\x0d\n if (elt) { c(elt\x2C st\x2C "Expression"); }\x0d\n }\x0d\n };\x0d\n base.ObjectExpression = function (node\x2C st\x2C c) {\x0d\n for (var i = 0\x2C list = node.properties; i < list.length; i += 1)\x0d\n {\x0d\n var prop = list[i];\x0d\n\x0d\n c(prop\x2C st);\x0d\n }\x0d\n };\x0d\n base.FunctionExpression = base.ArrowFunctionExpression = base.FunctionDeclaration;\x0d\n base.SequenceExpression = function (node\x2C st\x2C c) {\x0d\n for (var i = 0\x2C list = node.expressions; i < list.length; i += 1)\x0d\n {\x0d\n var expr = list[i];\x0d\n\x0d\n c(expr\x2C st\x2C "Expression");\x0d\n }\x0d\n };\x0d\n base.TemplateLiteral = function (node\x2C st\x2C c) {\x0d\n for (var i = 0\x2C list = node.quasis; i < list.length; i += 1)\x0d\n {\x0d\n var quasi = list[i];\x0d\n\x0d\n c(quasi\x2C st);\x0d\n }\x0d\n\x0d\n for (var i$1 = 0\x2C list$1 = node.expressions; i$1 < list$1.length; i$1 += 1)\x0d\n {\x0d\n var expr = list$1[i$1];\x0d\n\x0d\n c(expr\x2C st\x2C "Expression");\x0d\n }\x0d\n };\x0d\n base.TemplateElement = ignore;\x0d\n base.UnaryExpression = base.UpdateExpression = function (node\x2C st\x2C c) {\x0d\n c(node.argument\x2C st\x2C "Expression");\x0d\n };\x0d\n base.BinaryExpression = base.LogicalExpression = function (node\x2C st\x2C c) {\x0d\n c(node.left\x2C st\x2C "Expression");\x0d\n c(node.right\x2C st\x2C "Expression");\x0d\n };\x0d\n base.AssignmentExpression = base.AssignmentPattern = function (node\x2C st\x2C c) {\x0d\n c(node.left\x2C st\x2C "Pattern");\x0d\n c(node.right\x2C st\x2C "Expression");\x0d\n };\x0d\n base.ConditionalExpression = function (node\x2C st\x2C c) {\x0d\n c(node.test\x2C st\x2C "Expression");\x0d\n c(node.consequent\x2C st\x2C "Expression");\x0d\n c(node.alternate\x2C st\x2C "Expression");\x0d\n };\x0d\n base.NewExpression = base.CallExpression = function (node\x2C st\x2C c) {\x0d\n c(node.callee\x2C st\x2C "Expression");\x0d\n if (node.arguments)\x0d\n { for (var i = 0\x2C list = node.arguments; i < list.length; i += 1)\x0d\n {\x0d\n var arg = list[i];\x0d\n\x0d\n c(arg\x2C st\x2C "Expression");\x0d\n } }\x0d\n };\x0d\n base.MemberExpression = function (node\x2C st\x2C c) {\x0d\n c(node.object\x2C st\x2C "Expression");\x0d\n if (node.computed) { c(node.property\x2C st\x2C "Expression"); }\x0d\n };\x0d\n base.ExportNamedDeclaration = base.ExportDefaultDeclaration = function (node\x2C st\x2C c) {\x0d\n if (node.declaration)\x0d\n { c(node.declaration\x2C st\x2C node.type === "ExportNamedDeclaration" || node.declaration.id ? "Statement" : "Expression"); }\x0d\n if (node.source) { c(node.source\x2C st\x2C "Expression"); }\x0d\n };\x0d\n base.ExportAllDeclaration = function (node\x2C st\x2C c) {\x0d\n if (node.exported)\x0d\n { c(node.exported\x2C st); }\x0d\n c(node.source\x2C st\x2C "Expression");\x0d\n };\x0d\n base.ImportDeclaration = function (node\x2C st\x2C c) {\x0d\n for (var i = 0\x2C list = node.specifiers; i < list.length; i += 1)\x0d\n {\x0d\n var spec = list[i];\x0d\n\x0d\n c(spec\x2C st);\x0d\n }\x0d\n c(node.source\x2C st\x2C "Expression");\x0d\n };\x0d\n base.ImportExpression = function (node\x2C st\x2C c) {\x0d\n c(node.source\x2C st\x2C "Expression");\x0d\n };\x0d\n base.ImportSpecifier = base.ImportDefaultSpecifier = base.ImportNamespaceSpecifier = base.Identifier = base.PrivateIdentifier = base.Literal = ignore;\x0d\n\x0d\n base.TaggedTemplateExpression = function (node\x2C st\x2C c) {\x0d\n c(node.tag\x2C st\x2C "Expression");\x0d\n c(node.quasi\x2C st\x2C "Expression");\x0d\n };\x0d\n base.ClassDeclaration = base.ClassExpression = function (node\x2C st\x2C c) { return c(node\x2C st\x2C "Class"); };\x0d\n base.Class = function (node\x2C st\x2C c) {\x0d\n if (node.id) { c(node.id\x2C st\x2C "Pattern"); }\x0d\n if (node.superClass) { c(node.superClass\x2C st\x2C "Expression"); }\x0d\n c(node.body\x2C st);\x0d\n };\x0d\n base.ClassBody = function (node\x2C st\x2C c) {\x0d\n for (var i = 0\x2C list = node.body; i < list.length; i += 1)\x0d\n {\x0d\n var elt = list[i];\x0d\n\x0d\n c(elt\x2C st);\x0d\n }\x0d\n };\x0d\n base.MethodDefinition = base.PropertyDefinition = base.Property = function (node\x2C st\x2C c) {\x0d\n if (node.computed) { c(node.key\x2C st\x2C "Expression"); }\x0d\n if (node.value) { c(node.value\x2C st\x2C "Expression"); }\x0d\n };\x0d\n\x0d\n exports.ancestor = ancestor;\x0d\n exports.base = base;\x0d\n exports.findNodeAfter = findNodeAfter;\x0d\n exports.findNodeAround = findNodeAround;\x0d\n exports.findNodeAt = findNodeAt;\x0d\n exports.findNodeBefore = findNodeBefore;\x0d\n exports.full = full;\x0d\n exports.fullAncestor = fullAncestor;\x0d\n exports.make = make;\x0d\n exports.recursive = recursive;\x0d\n exports.simple = simple;\x0d\n\x0d\n}));\x0d\n
code-source-info,0x22cbe46b85e,117,0,16418,C0O0C4O16418,,
code-creation,JS,10,446483,0x22cbe46b95e,30, node:internal/deps/acorn/acorn-walk/dist/walk:1:1,0x22cbe46b7d8,~
code-source-info,0x22cbe46b95e,117,0,16418,C0O0C13O0C23O346C29O16417,,
code-creation,JS,10,446506,0x22cbe46e326,882, node:internal/deps/acorn/acorn-walk/dist/walk:5:20,0x22cbe46b8c8,~
code-source-info,0x22cbe46e326,117,363,16413,C0O363C72O2933C76O2933C78O7146C79O7146C81O7155C84O7192C89O7209C95O7190C101O7168C105O7387C110O7402C114O7420C119O7440C123O7453C126O7511C131O7532C137O7509C143O7478C147O7615C154O7632C158O7812C165O7834C169O7905C174O7950C180O7925C184O7963C191O7982C195O8093C202O8114C206O8520C213O8536C217O8776C220O8822C225O8843C231O8820C237O8797C241O8943C244O8965C249O8984C255O8963C259O9065C266O9083C270O9269C277O9286C281O9413C284O9435C289O9457C295O9433C299O9566C306O9584C310O9825C313O9847C318O9867C324O9845C328O10011C335O10024C339O10164C344O10187C348O10202C355O10227C359O10292C366O10317C370O10490C377O10514C381O10640C388O10654C392O10954C399O10967C403O11206C408O11227C412O11240C417O11259C421O11277C428O11294C432O11367C439O11385C443O11569C450O11588C454O11975C459O11991C463O12009C468O12062C474O12042C480O12029C484O12075C491O12096C495O12283C502O12305C506O12476C509O12538C514O12531C520O12500C524O12562C531O12586C535O12772C542O12793C546O13128C551O13149C555O13162C558O13185C563O13207C569O13183C573O13284C576O13308C581O13331C587O13306C591O13442C594O13470C599O13493C605O13468C609O13601C616O13628C620O13786C623O13807C628O13827C634O13805C638O14093C645O14115C649O14254C652O14284C657O14314C663O14282C667O14565C674O14591C678O14723C685O14746C689O14956C696O14978C700O15053C705O15194C711O15179C717O15154C723O15136C729O15104C735O15074C739O15209C746O15239C750O15349C753O15373C758O15394C764O15371C768O15456C775O15467C779O15643C786O15658C790O15821C793O15871C798O15885C804O15869C810O15843C814O16040C816O16057C820O16072C822O16085C826O16096C828O16118C832O16138C834O16161C838O16182C840O16201C844O16218C846O16241C850O16262C852O16275C856O16286C858O16307C862O16326C864O16339C868O16350C870O16368C874O16384C876O16399C881O16412,,
code-creation,JS,10,446698,0x22cbe46e986,109, node:internal/deps/acorn/acorn-walk/dist/walk:1:11,0x22cbe46b890,~
code-source-info,0x22cbe46e986,117,10,345,C0O33C15O96C28O150C32O157C47O163C61O243C68O256C70O266C75O303C88O294C92O323C99O334C103O272C108O344,,
code-creation,Eval,10,447500,0x22cbe472dfe,5, node:vm:1:1,0x22cbe472a00,~
script-source,118,node:vm,// Copyright Joyent\x2C Inc. and other Node contributors.\x0d\n//\x0d\n// Permission is hereby granted\x2C free of charge\x2C to any person obtaining a\x0d\n// copy of this software and associated documentation files (the\x0d\n// "Software")\x2C to deal in the Software without restriction\x2C including\x0d\n// without limitation the rights to use\x2C copy\x2C modify\x2C merge\x2C publish\x2C\x0d\n// distribute\x2C sublicense\x2C and/or sell copies of the Software\x2C and to permit\x0d\n// persons to whom the Software is furnished to do so\x2C subject to the\x0d\n// following conditions:\x0d\n//\x0d\n// The above copyright notice and this permission notice shall be included\x0d\n// in all copies or substantial portions of the Software.\x0d\n//\x0d\n// THE SOFTWARE IS PROVIDED "AS IS"\x2C WITHOUT WARRANTY OF ANY KIND\x2C EXPRESS\x0d\n// OR IMPLIED\x2C INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\x0d\n// MERCHANTABILITY\x2C FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\x0d\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM\x2C\x0d\n// DAMAGES OR OTHER LIABILITY\x2C WHETHER IN AN ACTION OF CONTRACT\x2C TORT OR\x0d\n// OTHERWISE\x2C ARISING FROM\x2C OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\x0d\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\x0d\n\x0d\n'use strict';\x0d\n\x0d\nconst {\x0d\n ArrayPrototypeForEach\x2C\x0d\n ObjectFreeze\x2C\x0d\n Symbol\x2C\x0d\n PromiseReject\x2C\x0d\n ReflectApply\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst {\x0d\n ContextifyScript\x2C\x0d\n makeContext\x2C\x0d\n constants\x2C\x0d\n measureMemory: _measureMemory\x2C\x0d\n} = internalBinding('contextify');\x0d\nconst {\x0d\n ERR_CONTEXT_NOT_INITIALIZED\x2C\x0d\n ERR_INVALID_ARG_TYPE\x2C\x0d\n} = require('internal/errors').codes;\x0d\nconst {\x0d\n validateArray\x2C\x0d\n validateBoolean\x2C\x0d\n validateBuffer\x2C\x0d\n validateInt32\x2C\x0d\n validateOneOf\x2C\x0d\n validateObject\x2C\x0d\n validateString\x2C\x0d\n validateStringArray\x2C\x0d\n validateUint32\x2C\x0d\n kValidateObjectAllowArray\x2C\x0d\n kValidateObjectAllowNullable\x2C\x0d\n} = require('internal/validators');\x0d\nconst {\x0d\n emitExperimentalWarning\x2C\x0d\n kEmptyObject\x2C\x0d\n kVmBreakFirstLineSymbol\x2C\x0d\n} = require('internal/util');\x0d\nconst {\x0d\n getHostDefinedOptionId\x2C\x0d\n internalCompileFunction\x2C\x0d\n isContext: _isContext\x2C\x0d\n registerImportModuleDynamically\x2C\x0d\n} = require('internal/vm');\x0d\nconst {\x0d\n vm_dynamic_import_main_context_default\x2C\x0d\n} = internalBinding('symbols');\x0d\nconst kParsingContext = Symbol('script parsing context');\x0d\n\x0d\n/**\x0d\n * Check if object is a context object created by vm.createContext().\x0d\n * @throws {TypeError} If object is not an object in the first place\x2C throws TypeError.\x0d\n * @param {object} object Object to check.\x0d\n * @returns {boolean}\x0d\n */\x0d\nfunction isContext(object) {\x0d\n validateObject(object\x2C 'object'\x2C kValidateObjectAllowArray);\x0d\n\x0d\n return _isContext(object);\x0d\n}\x0d\n\x0d\nclass Script extends ContextifyScript {\x0d\n constructor(code\x2C options = kEmptyObject) {\x0d\n code = `${code}`;\x0d\n if (typeof options === 'string') {\x0d\n options = { filename: options };\x0d\n } else {\x0d\n validateObject(options\x2C 'options');\x0d\n }\x0d\n\x0d\n const {\x0d\n filename = 'evalmachine.<anonymous>'\x2C\x0d\n lineOffset = 0\x2C\x0d\n columnOffset = 0\x2C\x0d\n cachedData\x2C\x0d\n produceCachedData = false\x2C\x0d\n importModuleDynamically\x2C\x0d\n [kParsingContext]: parsingContext\x2C\x0d\n } = options;\x0d\n\x0d\n validateString(filename\x2C 'options.filename');\x0d\n validateInt32(lineOffset\x2C 'options.lineOffset');\x0d\n validateInt32(columnOffset\x2C 'options.columnOffset');\x0d\n if (cachedData !== undefined) {\x0d\n validateBuffer(cachedData\x2C 'options.cachedData');\x0d\n }\x0d\n validateBoolean(produceCachedData\x2C 'options.produceCachedData');\x0d\n\x0d\n const hostDefinedOptionId =\x0d\n getHostDefinedOptionId(importModuleDynamically\x2C filename);\x0d\n // Calling `ReThrow()` on a native TryCatch does not generate a new\x0d\n // abort-on-uncaught-exception check. A dummy try/catch in JS land\x0d\n // protects against that.\x0d\n try { // eslint-disable-line no-useless-catch\x0d\n super(code\x2C\x0d\n filename\x2C\x0d\n lineOffset\x2C\x0d\n columnOffset\x2C\x0d\n cachedData\x2C\x0d\n produceCachedData\x2C\x0d\n parsingContext\x2C\x0d\n hostDefinedOptionId);\x0d\n } catch (e) {\x0d\n throw e; /* node-do-not-add-exception-line */\x0d\n }\x0d\n\x0d\n registerImportModuleDynamically(this\x2C importModuleDynamically);\x0d\n }\x0d\n\x0d\n runInThisContext(options) {\x0d\n const { breakOnSigint\x2C args } = getRunInContextArgs(null\x2C options);\x0d\n if (breakOnSigint && process.listenerCount('SIGINT') > 0) {\x0d\n return sigintHandlersWrap(super.runInContext\x2C this\x2C args);\x0d\n }\x0d\n return ReflectApply(super.runInContext\x2C this\x2C args);\x0d\n }\x0d\n\x0d\n runInContext(contextifiedObject\x2C options) {\x0d\n validateContext(contextifiedObject);\x0d\n const { breakOnSigint\x2C args } = getRunInContextArgs(\x0d\n contextifiedObject\x2C\x0d\n options\x2C\x0d\n );\x0d\n if (breakOnSigint && process.listenerCount('SIGINT') > 0) {\x0d\n return sigintHandlersWrap(super.runInContext\x2C this\x2C args);\x0d\n }\x0d\n return ReflectApply(super.runInContext\x2C this\x2C args);\x0d\n }\x0d\n\x0d\n runInNewContext(contextObject\x2C options) {\x0d\n const context = createContext(contextObject\x2C getContextOptions(options));\x0d\n return this.runInContext(context\x2C options);\x0d\n }\x0d\n}\x0d\n\x0d\nfunction validateContext(contextifiedObject) {\x0d\n if (!isContext(contextifiedObject)) {\x0d\n throw new ERR_INVALID_ARG_TYPE('contextifiedObject'\x2C 'vm.Context'\x2C\x0d\n contextifiedObject);\x0d\n }\x0d\n}\x0d\n\x0d\nfunction getRunInContextArgs(contextifiedObject\x2C options = kEmptyObject) {\x0d\n validateObject(options\x2C 'options');\x0d\n\x0d\n let timeout = options.timeout;\x0d\n if (timeout === undefined) {\x0d\n timeout = -1;\x0d\n } else {\x0d\n validateUint32(timeout\x2C 'options.timeout'\x2C true);\x0d\n }\x0d\n\x0d\n const {\x0d\n displayErrors = true\x2C\x0d\n breakOnSigint = false\x2C\x0d\n [kVmBreakFirstLineSymbol]: breakFirstLine = false\x2C\x0d\n } = options;\x0d\n\x0d\n validateBoolean(displayErrors\x2C 'options.displayErrors');\x0d\n validateBoolean(breakOnSigint\x2C 'options.breakOnSigint');\x0d\n\x0d\n return {\x0d\n breakOnSigint\x2C\x0d\n args: [\x0d\n contextifiedObject\x2C\x0d\n timeout\x2C\x0d\n displayErrors\x2C\x0d\n breakOnSigint\x2C\x0d\n breakFirstLine\x2C\x0d\n ]\x2C\x0d\n };\x0d\n}\x0d\n\x0d\nfunction getContextOptions(options) {\x0d\n if (!options)\x0d\n return {};\x0d\n const contextOptions = {\x0d\n name: options.contextName\x2C\x0d\n origin: options.contextOrigin\x2C\x0d\n codeGeneration: undefined\x2C\x0d\n microtaskMode: options.microtaskMode\x2C\x0d\n };\x0d\n if (contextOptions.name !== undefined)\x0d\n validateString(contextOptions.name\x2C 'options.contextName');\x0d\n if (contextOptions.origin !== undefined)\x0d\n validateString(contextOptions.origin\x2C 'options.contextOrigin');\x0d\n if (options.contextCodeGeneration !== undefined) {\x0d\n validateObject(options.contextCodeGeneration\x2C\x0d\n 'options.contextCodeGeneration');\x0d\n const { strings\x2C wasm } = options.contextCodeGeneration;\x0d\n if (strings !== undefined)\x0d\n validateBoolean(strings\x2C 'options.contextCodeGeneration.strings');\x0d\n if (wasm !== undefined)\x0d\n validateBoolean(wasm\x2C 'options.contextCodeGeneration.wasm');\x0d\n contextOptions.codeGeneration = { strings\x2C wasm };\x0d\n }\x0d\n if (options.microtaskMode !== undefined)\x0d\n validateString(options.microtaskMode\x2C 'options.microtaskMode');\x0d\n return contextOptions;\x0d\n}\x0d\n\x0d\nlet defaultContextNameIndex = 1;\x0d\nfunction createContext(contextObject = {}\x2C options = kEmptyObject) {\x0d\n if (isContext(contextObject)) {\x0d\n return contextObject;\x0d\n }\x0d\n\x0d\n validateObject(options\x2C 'options');\x0d\n\x0d\n const {\x0d\n name = `VM Context ${defaultContextNameIndex++}`\x2C\x0d\n origin\x2C\x0d\n codeGeneration\x2C\x0d\n microtaskMode\x2C\x0d\n importModuleDynamically\x2C\x0d\n } = options;\x0d\n\x0d\n validateString(name\x2C 'options.name');\x0d\n if (origin !== undefined)\x0d\n validateString(origin\x2C 'options.origin');\x0d\n if (codeGeneration !== undefined)\x0d\n validateObject(codeGeneration\x2C 'options.codeGeneration');\x0d\n\x0d\n let strings = true;\x0d\n let wasm = true;\x0d\n if (codeGeneration !== undefined) {\x0d\n ({ strings = true\x2C wasm = true } = codeGeneration);\x0d\n validateBoolean(strings\x2C 'options.codeGeneration.strings');\x0d\n validateBoolean(wasm\x2C 'options.codeGeneration.wasm');\x0d\n }\x0d\n\x0d\n validateOneOf(microtaskMode\x2C\x0d\n 'options.microtaskMode'\x2C\x0d\n ['afterEvaluate'\x2C undefined]);\x0d\n const microtaskQueue = (microtaskMode === 'afterEvaluate');\x0d\n\x0d\n const hostDefinedOptionId =\x0d\n getHostDefinedOptionId(importModuleDynamically\x2C name);\x0d\n\x0d\n makeContext(contextObject\x2C name\x2C origin\x2C strings\x2C wasm\x2C microtaskQueue\x2C hostDefinedOptionId);\x0d\n // Register the context scope callback after the context was initialized.\x0d\n registerImportModuleDynamically(contextObject\x2C importModuleDynamically);\x0d\n return contextObject;\x0d\n}\x0d\n\x0d\nfunction createScript(code\x2C options) {\x0d\n return new Script(code\x2C options);\x0d\n}\x0d\n\x0d\n// Remove all SIGINT listeners and re-attach them after the wrapped function\x0d\n// has executed\x2C so that caught SIGINT are handled by the listeners again.\x0d\nfunction sigintHandlersWrap(fn\x2C thisArg\x2C argsArray) {\x0d\n const sigintListeners = process.rawListeners('SIGINT');\x0d\n\x0d\n process.removeAllListeners('SIGINT');\x0d\n\x0d\n try {\x0d\n return ReflectApply(fn\x2C thisArg\x2C argsArray);\x0d\n } finally {\x0d\n // Add using the public methods so that the `newListener` handler of\x0d\n // process can re-attach the listeners.\x0d\n ArrayPrototypeForEach(sigintListeners\x2C (listener) => {\x0d\n process.addListener('SIGINT'\x2C listener);\x0d\n });\x0d\n }\x0d\n}\x0d\n\x0d\nfunction runInContext(code\x2C contextifiedObject\x2C options) {\x0d\n validateContext(contextifiedObject);\x0d\n if (typeof options === 'string') {\x0d\n options = {\x0d\n filename: options\x2C\x0d\n [kParsingContext]: contextifiedObject\x2C\x0d\n };\x0d\n } else {\x0d\n options = { ...options\x2C [kParsingContext]: contextifiedObject };\x0d\n }\x0d\n return createScript(code\x2C options)\x0d\n .runInContext(contextifiedObject\x2C options);\x0d\n}\x0d\n\x0d\nfunction runInNewContext(code\x2C contextObject\x2C options) {\x0d\n if (typeof options === 'string') {\x0d\n options = { filename: options };\x0d\n }\x0d\n contextObject = createContext(contextObject\x2C getContextOptions(options));\x0d\n options = { ...options\x2C [kParsingContext]: contextObject };\x0d\n return createScript(code\x2C options).runInNewContext(contextObject\x2C options);\x0d\n}\x0d\n\x0d\nfunction runInThisContext(code\x2C options) {\x0d\n if (typeof options === 'string') {\x0d\n options = { filename: options };\x0d\n }\x0d\n return createScript(code\x2C options).runInThisContext(options);\x0d\n}\x0d\n\x0d\nfunction compileFunction(code\x2C params\x2C options = kEmptyObject) {\x0d\n validateString(code\x2C 'code');\x0d\n if (params !== undefined) {\x0d\n validateStringArray(params\x2C 'params');\x0d\n }\x0d\n const {\x0d\n filename = ''\x2C\x0d\n columnOffset = 0\x2C\x0d\n lineOffset = 0\x2C\x0d\n cachedData = undefined\x2C\x0d\n produceCachedData = false\x2C\x0d\n parsingContext = undefined\x2C\x0d\n contextExtensions = []\x2C\x0d\n importModuleDynamically\x2C\x0d\n } = options;\x0d\n\x0d\n validateString(filename\x2C 'options.filename');\x0d\n validateInt32(columnOffset\x2C 'options.columnOffset');\x0d\n validateInt32(lineOffset\x2C 'options.lineOffset');\x0d\n if (cachedData !== undefined)\x0d\n validateBuffer(cachedData\x2C 'options.cachedData');\x0d\n validateBoolean(produceCachedData\x2C 'options.produceCachedData');\x0d\n if (parsingContext !== undefined) {\x0d\n if (\x0d\n typeof parsingContext !== 'object' ||\x0d\n parsingContext === null ||\x0d\n !isContext(parsingContext)\x0d\n ) {\x0d\n throw new ERR_INVALID_ARG_TYPE(\x0d\n 'options.parsingContext'\x2C\x0d\n 'Context'\x2C\x0d\n parsingContext\x2C\x0d\n );\x0d\n }\x0d\n }\x0d\n validateArray(contextExtensions\x2C 'options.contextExtensions');\x0d\n ArrayPrototypeForEach(contextExtensions\x2C (extension\x2C i) => {\x0d\n const name = `options.contextExtensions[${i}]`;\x0d\n validateObject(extension\x2C name\x2C kValidateObjectAllowNullable);\x0d\n });\x0d\n\x0d\n const hostDefinedOptionId =\x0d\n getHostDefinedOptionId(importModuleDynamically\x2C filename);\x0d\n\x0d\n return internalCompileFunction(\x0d\n code\x2C filename\x2C lineOffset\x2C columnOffset\x2C\x0d\n cachedData\x2C produceCachedData\x2C parsingContext\x2C contextExtensions\x2C\x0d\n params\x2C hostDefinedOptionId\x2C importModuleDynamically\x2C\x0d\n ).function;\x0d\n}\x0d\n\x0d\nconst measureMemoryModes = {\x0d\n summary: constants.measureMemory.mode.SUMMARY\x2C\x0d\n detailed: constants.measureMemory.mode.DETAILED\x2C\x0d\n};\x0d\n\x0d\nconst measureMemoryExecutions = {\x0d\n default: constants.measureMemory.execution.DEFAULT\x2C\x0d\n eager: constants.measureMemory.execution.EAGER\x2C\x0d\n};\x0d\n\x0d\nfunction measureMemory(options = kEmptyObject) {\x0d\n emitExperimentalWarning('vm.measureMemory');\x0d\n validateObject(options\x2C 'options');\x0d\n const { mode = 'summary'\x2C execution = 'default' } = options;\x0d\n validateOneOf(mode\x2C 'options.mode'\x2C ['summary'\x2C 'detailed']);\x0d\n validateOneOf(execution\x2C 'options.execution'\x2C ['default'\x2C 'eager']);\x0d\n const result = _measureMemory(measureMemoryModes[mode]\x2C\x0d\n measureMemoryExecutions[execution]);\x0d\n if (result === undefined) {\x0d\n return PromiseReject(new ERR_CONTEXT_NOT_INITIALIZED());\x0d\n }\x0d\n return result;\x0d\n}\x0d\n\x0d\nconst vmConstants = {\x0d\n __proto__: null\x2C\x0d\n USE_MAIN_CONTEXT_DEFAULT_LOADER: vm_dynamic_import_main_context_default\x2C\x0d\n};\x0d\n\x0d\nObjectFreeze(vmConstants);\x0d\n\x0d\nmodule.exports = {\x0d\n Script\x2C\x0d\n createContext\x2C\x0d\n createScript\x2C\x0d\n runInContext\x2C\x0d\n runInNewContext\x2C\x0d\n runInThisContext\x2C\x0d\n isContext\x2C\x0d\n compileFunction\x2C\x0d\n measureMemory\x2C\x0d\n constants: vmConstants\x2C\x0d\n};\x0d\n\x0d\n// The vm module is patched to include vm.Module\x2C vm.SourceTextModule\x0d\n// and vm.SyntheticModule in the pre-execution phase when\x0d\n// --experimental-vm-modules is on.\x0d\n
code-source-info,0x22cbe472dfe,118,0,13228,C0O0C4O13228,,
code-creation,JS,10,448235,0x22cbe4738c6,639, node:vm:1:1,0x22cbe472d78,~
code-source-info,0x22cbe4738c6,118,0,13228,C0O0C166O1183C172O1209C177O1226C182O1237C188O1255C194O1388C197O1388C202O1301C207O1322C213O1338C218O1367C224O1490C227O1490C232O1516C237O1431C243O1463C249O1775C252O1775C257O1536C263O1554C269O1574C275O1593C281O1611C287O1629C293O1648C299O1667C305O1691C311O1710C317O1740C323O1894C326O1894C331O1819C337O1847C343O1864C349O2051C352O2051C357O1932C363O1959C369O1998C375O2013C381O2132C384O2132C389O2087C394O2185C397O2185C401O2185C407O2611C452O2590C454O7095C456O7095C458O11851C463O11875C468O11889C473O11894C481O11926C486O11940C491O11945C501O11851C503O11994C508O12018C513O12032C518O12042C526O12071C531O12085C536O12095C546O11994C548O12717C555O12775C562O12822C566O12852C573O12874C579O12885C585O12903C591O12920C597O12937C603O12957C609O12978C615O12992C621O13012C627O13041C633O12867C638O13227,,
code-creation,Eval,10,449092,0x22cbe476146,5, node:readline:1:1,0x22cbe475e40,~
script-source,119,node:readline,// Copyright Joyent\x2C Inc. and other Node contributors.\x0d\n//\x0d\n// Permission is hereby granted\x2C free of charge\x2C to any person obtaining a\x0d\n// copy of this software and associated documentation files (the\x0d\n// "Software")\x2C to deal in the Software without restriction\x2C including\x0d\n// without limitation the rights to use\x2C copy\x2C modify\x2C merge\x2C publish\x2C\x0d\n// distribute\x2C sublicense\x2C and/or sell copies of the Software\x2C and to permit\x0d\n// persons to whom the Software is furnished to do so\x2C subject to the\x0d\n// following conditions:\x0d\n//\x0d\n// The above copyright notice and this permission notice shall be included\x0d\n// in all copies or substantial portions of the Software.\x0d\n//\x0d\n// THE SOFTWARE IS PROVIDED "AS IS"\x2C WITHOUT WARRANTY OF ANY KIND\x2C EXPRESS\x0d\n// OR IMPLIED\x2C INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\x0d\n// MERCHANTABILITY\x2C FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\x0d\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM\x2C\x0d\n// DAMAGES OR OTHER LIABILITY\x2C WHETHER IN AN ACTION OF CONTRACT\x2C TORT OR\x0d\n// OTHERWISE\x2C ARISING FROM\x2C OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\x0d\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\x0d\n\x0d\n'use strict';\x0d\n\x0d\nconst {\x0d\n DateNow\x2C\x0d\n FunctionPrototypeBind\x2C\x0d\n FunctionPrototypeCall\x2C\x0d\n ObjectDefineProperties\x2C\x0d\n ObjectSetPrototypeOf\x2C\x0d\n Promise\x2C\x0d\n PromiseReject\x2C\x0d\n StringPrototypeSlice\x2C\x0d\n SymbolDispose\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst {\x0d\n clearLine\x2C\x0d\n clearScreenDown\x2C\x0d\n cursorTo\x2C\x0d\n moveCursor\x2C\x0d\n} = require('internal/readline/callbacks');\x0d\nconst emitKeypressEvents = require('internal/readline/emitKeypressEvents');\x0d\nconst promises = require('readline/promises');\x0d\n\x0d\nconst {\x0d\n AbortError\x2C\x0d\n} = require('internal/errors');\x0d\nconst {\x0d\n inspect\x2C\x0d\n} = require('internal/util/inspect');\x0d\nconst {\x0d\n kEmptyObject\x2C\x0d\n promisify\x2C\x0d\n} = require('internal/util');\x0d\nconst { validateAbortSignal } = require('internal/validators');\x0d\n\x0d\n/**\x0d\n * @typedef {import('./stream.js').Readable} Readable\x0d\n * @typedef {import('./stream.js').Writable} Writable\x0d\n */\x0d\n\x0d\nconst {\x0d\n Interface: _Interface\x2C\x0d\n InterfaceConstructor\x2C\x0d\n kAddHistory\x2C\x0d\n kDecoder\x2C\x0d\n kDeleteLeft\x2C\x0d\n kDeleteLineLeft\x2C\x0d\n kDeleteLineRight\x2C\x0d\n kDeleteRight\x2C\x0d\n kDeleteWordLeft\x2C\x0d\n kDeleteWordRight\x2C\x0d\n kGetDisplayPos\x2C\x0d\n kHistoryNext\x2C\x0d\n kHistoryPrev\x2C\x0d\n kInsertString\x2C\x0d\n kLine\x2C\x0d\n kLine_buffer\x2C\x0d\n kMoveCursor\x2C\x0d\n kNormalWrite\x2C\x0d\n kOldPrompt\x2C\x0d\n kOnLine\x2C\x0d\n kPreviousKey\x2C\x0d\n kPrompt\x2C\x0d\n kQuestion\x2C\x0d\n kQuestionCallback\x2C\x0d\n kQuestionCancel\x2C\x0d\n kRefreshLine\x2C\x0d\n kSawKeyPress\x2C\x0d\n kSawReturnAt\x2C\x0d\n kSetRawMode\x2C\x0d\n kTabComplete\x2C\x0d\n kTabCompleter\x2C\x0d\n kTtyWrite\x2C\x0d\n kWordLeft\x2C\x0d\n kWordRight\x2C\x0d\n kWriteToOutput\x2C\x0d\n} = require('internal/readline/interface');\x0d\nlet addAbortListener;\x0d\n\x0d\nfunction Interface(input\x2C output\x2C completer\x2C terminal) {\x0d\n if (!(this instanceof Interface)) {\x0d\n return new Interface(input\x2C output\x2C completer\x2C terminal);\x0d\n }\x0d\n\x0d\n if (input?.input &&\x0d\n typeof input.completer === 'function' && input.completer.length !== 2) {\x0d\n const { completer } = input;\x0d\n input.completer = (v\x2C cb) => cb(null\x2C completer(v));\x0d\n } else if (typeof completer === 'function' && completer.length !== 2) {\x0d\n const realCompleter = completer;\x0d\n completer = (v\x2C cb) => cb(null\x2C realCompleter(v));\x0d\n }\x0d\n\x0d\n FunctionPrototypeCall(InterfaceConstructor\x2C this\x2C\x0d\n input\x2C output\x2C completer\x2C terminal);\x0d\n\x0d\n if (process.env.TERM === 'dumb') {\x0d\n this._ttyWrite = FunctionPrototypeBind(_ttyWriteDumb\x2C this);\x0d\n }\x0d\n}\x0d\n\x0d\nObjectSetPrototypeOf(Interface.prototype\x2C _Interface.prototype);\x0d\nObjectSetPrototypeOf(Interface\x2C _Interface);\x0d\n\x0d\n/**\x0d\n * Displays `query` by writing it to the `output`.\x0d\n * @param {string} query\x0d\n * @param {{ signal?: AbortSignal; }} [options]\x0d\n * @param {Function} cb\x0d\n * @returns {void}\x0d\n */\x0d\nInterface.prototype.question = function question(query\x2C options\x2C cb) {\x0d\n cb = typeof options === 'function' ? options : cb;\x0d\n if (options === null || typeof options !== 'object') {\x0d\n options = kEmptyObject;\x0d\n }\x0d\n\x0d\n if (options.signal) {\x0d\n validateAbortSignal(options.signal\x2C 'options.signal');\x0d\n if (options.signal.aborted) {\x0d\n return;\x0d\n }\x0d\n\x0d\n const onAbort = () => {\x0d\n this[kQuestionCancel]();\x0d\n };\x0d\n addAbortListener ??= require('internal/events/abort_listener').addAbortListener;\x0d\n const disposable = addAbortListener(options.signal\x2C onAbort);\x0d\n const originalCb = cb;\x0d\n cb = typeof cb === 'function' ? (answer) => {\x0d\n disposable[SymbolDispose]();\x0d\n return originalCb(answer);\x0d\n } : disposable[SymbolDispose];\x0d\n }\x0d\n\x0d\n if (typeof cb === 'function') {\x0d\n this[kQuestion](query\x2C cb);\x0d\n }\x0d\n};\x0d\nInterface.prototype.question[promisify.custom] = function question(query\x2C options) {\x0d\n if (options === null || typeof options !== 'object') {\x0d\n options = kEmptyObject;\x0d\n }\x0d\n\x0d\n if (options.signal && options.signal.aborted) {\x0d\n return PromiseReject(\x0d\n new AbortError(undefined\x2C { cause: options.signal.reason }));\x0d\n }\x0d\n\x0d\n return new Promise((resolve\x2C reject) => {\x0d\n let cb = resolve;\x0d\n\x0d\n if (options.signal) {\x0d\n const onAbort = () => {\x0d\n reject(new AbortError(undefined\x2C { cause: options.signal.reason }));\x0d\n };\x0d\n addAbortListener ??= require('internal/events/abort_listener').addAbortListener;\x0d\n const disposable = addAbortListener(options.signal\x2C onAbort);\x0d\n cb = (answer) => {\x0d\n disposable[SymbolDispose]();\x0d\n resolve(answer);\x0d\n };\x0d\n }\x0d\n\x0d\n this.question(query\x2C options\x2C cb);\x0d\n });\x0d\n};\x0d\n\x0d\n/**\x0d\n * Creates a new `readline.Interface` instance.\x0d\n * @param {Readable | {\x0d\n * input: Readable;\x0d\n * output: Writable;\x0d\n * completer?: Function;\x0d\n * terminal?: boolean;\x0d\n * history?: string[];\x0d\n * historySize?: number;\x0d\n * removeHistoryDuplicates?: boolean;\x0d\n * prompt?: string;\x0d\n * crlfDelay?: number;\x0d\n * escapeCodeTimeout?: number;\x0d\n * tabSize?: number;\x0d\n * signal?: AbortSignal;\x0d\n * }} input\x0d\n * @param {Writable} [output]\x0d\n * @param {Function} [completer]\x0d\n * @param {boolean} [terminal]\x0d\n * @returns {Interface}\x0d\n */\x0d\nfunction createInterface(input\x2C output\x2C completer\x2C terminal) {\x0d\n return new Interface(input\x2C output\x2C completer\x2C terminal);\x0d\n}\x0d\n\x0d\nObjectDefineProperties(Interface.prototype\x2C {\x0d\n // Redirect internal prototype methods to the underscore notation for backward\x0d\n // compatibility.\x0d\n [kSetRawMode]: {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n return this._setRawMode;\x0d\n }\x2C\x0d\n }\x2C\x0d\n [kOnLine]: {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n return this._onLine;\x0d\n }\x2C\x0d\n }\x2C\x0d\n [kWriteToOutput]: {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n return this._writeToOutput;\x0d\n }\x2C\x0d\n }\x2C\x0d\n [kAddHistory]: {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n return this._addHistory;\x0d\n }\x2C\x0d\n }\x2C\x0d\n [kRefreshLine]: {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n return this._refreshLine;\x0d\n }\x2C\x0d\n }\x2C\x0d\n [kNormalWrite]: {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n return this._normalWrite;\x0d\n }\x2C\x0d\n }\x2C\x0d\n [kInsertString]: {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n return this._insertString;\x0d\n }\x2C\x0d\n }\x2C\x0d\n [kTabComplete]: {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n return this._tabComplete;\x0d\n }\x2C\x0d\n }\x2C\x0d\n [kWordLeft]: {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n return this._wordLeft;\x0d\n }\x2C\x0d\n }\x2C\x0d\n [kWordRight]: {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n return this._wordRight;\x0d\n }\x2C\x0d\n }\x2C\x0d\n [kDeleteLeft]: {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n return this._deleteLeft;\x0d\n }\x2C\x0d\n }\x2C\x0d\n [kDeleteRight]: {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n return this._deleteRight;\x0d\n }\x2C\x0d\n }\x2C\x0d\n [kDeleteWordLeft]: {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n return this._deleteWordLeft;\x0d\n }\x2C\x0d\n }\x2C\x0d\n [kDeleteWordRight]: {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n return this._deleteWordRight;\x0d\n }\x2C\x0d\n }\x2C\x0d\n [kDeleteLineLeft]: {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n return this._deleteLineLeft;\x0d\n }\x2C\x0d\n }\x2C\x0d\n [kDeleteLineRight]: {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n return this._deleteLineRight;\x0d\n }\x2C\x0d\n }\x2C\x0d\n [kLine]: {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n return this._line;\x0d\n }\x2C\x0d\n }\x2C\x0d\n [kHistoryNext]: {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n return this._historyNext;\x0d\n }\x2C\x0d\n }\x2C\x0d\n [kHistoryPrev]: {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n return this._historyPrev;\x0d\n }\x2C\x0d\n }\x2C\x0d\n [kGetDisplayPos]: {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n return this._getDisplayPos;\x0d\n }\x2C\x0d\n }\x2C\x0d\n [kMoveCursor]: {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n return this._moveCursor;\x0d\n }\x2C\x0d\n }\x2C\x0d\n [kTtyWrite]: {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n return this._ttyWrite;\x0d\n }\x2C\x0d\n }\x2C\x0d\n\x0d\n // Defining proxies for the internal instance properties for backward\x0d\n // compatibility.\x0d\n _decoder: {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n return this[kDecoder];\x0d\n }\x2C\x0d\n set(value) {\x0d\n this[kDecoder] = value;\x0d\n }\x2C\x0d\n }\x2C\x0d\n _line_buffer: {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n return this[kLine_buffer];\x0d\n }\x2C\x0d\n set(value) {\x0d\n this[kLine_buffer] = value;\x0d\n }\x2C\x0d\n }\x2C\x0d\n _oldPrompt: {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n return this[kOldPrompt];\x0d\n }\x2C\x0d\n set(value) {\x0d\n this[kOldPrompt] = value;\x0d\n }\x2C\x0d\n }\x2C\x0d\n _previousKey: {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n return this[kPreviousKey];\x0d\n }\x2C\x0d\n set(value) {\x0d\n this[kPreviousKey] = value;\x0d\n }\x2C\x0d\n }\x2C\x0d\n _prompt: {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n return this[kPrompt];\x0d\n }\x2C\x0d\n set(value) {\x0d\n this[kPrompt] = value;\x0d\n }\x2C\x0d\n }\x2C\x0d\n _questionCallback: {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n return this[kQuestionCallback];\x0d\n }\x2C\x0d\n set(value) {\x0d\n this[kQuestionCallback] = value;\x0d\n }\x2C\x0d\n }\x2C\x0d\n _sawKeyPress: {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n return this[kSawKeyPress];\x0d\n }\x2C\x0d\n set(value) {\x0d\n this[kSawKeyPress] = value;\x0d\n }\x2C\x0d\n }\x2C\x0d\n _sawReturnAt: {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n return this[kSawReturnAt];\x0d\n }\x2C\x0d\n set(value) {\x0d\n this[kSawReturnAt] = value;\x0d\n }\x2C\x0d\n }\x2C\x0d\n});\x0d\n\x0d\n// Make internal methods public for backward compatibility.\x0d\nInterface.prototype._setRawMode = _Interface.prototype[kSetRawMode];\x0d\nInterface.prototype._onLine = _Interface.prototype[kOnLine];\x0d\nInterface.prototype._writeToOutput = _Interface.prototype[kWriteToOutput];\x0d\nInterface.prototype._addHistory = _Interface.prototype[kAddHistory];\x0d\nInterface.prototype._refreshLine = _Interface.prototype[kRefreshLine];\x0d\nInterface.prototype._normalWrite = _Interface.prototype[kNormalWrite];\x0d\nInterface.prototype._insertString = _Interface.prototype[kInsertString];\x0d\nInterface.prototype._tabComplete = function(lastKeypressWasTab) {\x0d\n // Overriding parent method because `this.completer` in the legacy\x0d\n // implementation takes a callback instead of being an async function.\x0d\n this.pause();\x0d\n const string = StringPrototypeSlice(this.line\x2C 0\x2C this.cursor);\x0d\n this.completer(string\x2C (err\x2C value) => {\x0d\n this.resume();\x0d\n\x0d\n if (err) {\x0d\n this._writeToOutput(`Tab completion error: ${inspect(err)}`);\x0d\n return;\x0d\n }\x0d\n\x0d\n this[kTabCompleter](lastKeypressWasTab\x2C value);\x0d\n });\x0d\n};\x0d\nInterface.prototype._wordLeft = _Interface.prototype[kWordLeft];\x0d\nInterface.prototype._wordRight = _Interface.prototype[kWordRight];\x0d\nInterface.prototype._deleteLeft = _Interface.prototype[kDeleteLeft];\x0d\nInterface.prototype._deleteRight = _Interface.prototype[kDeleteRight];\x0d\nInterface.prototype._deleteWordLeft = _Interface.prototype[kDeleteWordLeft];\x0d\nInterface.prototype._deleteWordRight = _Interface.prototype[kDeleteWordRight];\x0d\nInterface.prototype._deleteLineLeft = _Interface.prototype[kDeleteLineLeft];\x0d\nInterface.prototype._deleteLineRight = _Interface.prototype[kDeleteLineRight];\x0d\nInterface.prototype._line = _Interface.prototype[kLine];\x0d\nInterface.prototype._historyNext = _Interface.prototype[kHistoryNext];\x0d\nInterface.prototype._historyPrev = _Interface.prototype[kHistoryPrev];\x0d\nInterface.prototype._getDisplayPos = _Interface.prototype[kGetDisplayPos];\x0d\nInterface.prototype._getCursorPos = _Interface.prototype.getCursorPos;\x0d\nInterface.prototype._moveCursor = _Interface.prototype[kMoveCursor];\x0d\nInterface.prototype._ttyWrite = _Interface.prototype[kTtyWrite];\x0d\n\x0d\nfunction _ttyWriteDumb(s\x2C key) {\x0d\n key = key || kEmptyObject;\x0d\n\x0d\n if (key.name === 'escape') return;\x0d\n\x0d\n if (this[kSawReturnAt] && key.name !== 'enter')\x0d\n this[kSawReturnAt] = 0;\x0d\n\x0d\n if (key.ctrl) {\x0d\n if (key.name === 'c') {\x0d\n if (this.listenerCount('SIGINT') > 0) {\x0d\n this.emit('SIGINT');\x0d\n } else {\x0d\n // This readline instance is finished\x0d\n this.close();\x0d\n }\x0d\n\x0d\n return;\x0d\n } else if (key.name === 'd') {\x0d\n this.close();\x0d\n return;\x0d\n }\x0d\n }\x0d\n\x0d\n switch (key.name) {\x0d\n case 'return': // Carriage return\x2C i.e. \\r\x0d\n this[kSawReturnAt] = DateNow();\x0d\n this._line();\x0d\n break;\x0d\n\x0d\n case 'enter':\x0d\n // When key interval > crlfDelay\x0d\n if (this[kSawReturnAt] === 0 ||\x0d\n DateNow() - this[kSawReturnAt] > this.crlfDelay) {\x0d\n this._line();\x0d\n }\x0d\n this[kSawReturnAt] = 0;\x0d\n break;\x0d\n\x0d\n default:\x0d\n if (typeof s === 'string' && s) {\x0d\n this.line += s;\x0d\n this.cursor += s.length;\x0d\n this._writeToOutput(s);\x0d\n }\x0d\n }\x0d\n}\x0d\n\x0d\nmodule.exports = {\x0d\n Interface\x2C\x0d\n clearLine\x2C\x0d\n clearScreenDown\x2C\x0d\n createInterface\x2C\x0d\n cursorTo\x2C\x0d\n emitKeypressEvents\x2C\x0d\n moveCursor\x2C\x0d\n promises\x2C\x0d\n};\x0d\n
code-source-info,0x22cbe476146,119,0,13348,C0O0C4O13348,,
code-creation,JS,10,449951,0x22cbe477b1e,2370, node:readline:1:1,0x22cbe4760c0,~
code-source-info,0x22cbe477b1e,119,0,13348,C0O0C103O1183C109O1195C115O1221C121O1247C126O1274C131O1299C137O1311C143O1329C149O1354C155O1465C163O1465C169O1401C174O1415C179O1435C184O1448C189O1533C197O1533C202O1600C210O1600C215O1661C223O1661C229O1644C235O1715C243O1715C249O1701C255O1794C263O1794C269O1761C275O1778C280O1853C288O1853C294O1829C300O2625C308O2625C314O2032C319O2047C325O2072C330O2088C336O2101C341O2117C346O2137C351O2158C356O2175C361O2195C367O2216C373O2235C379O2252C385O2269C391O2287C397O2297C403O2314C409O2330C415O2347C421O2362C427O2374C433O2391C439O2403C445O2417C451O2439C457O2459C463O2476C469O2493C475O2510C481O2526C487O2543C493O2561C499O2575C505O2589C511O2604C517O2670C518O2670C520O3460C524O3491C530O3513C536O3460C541O3526C545O3526C550O3756C554O3766C564O3785C568O4611C572O4621C578O4631C584O4650C594O4658C598O6162C602O6195C616O6315C618O6329C624O6358C641O6416C643O6426C649O6455C666O6509C668O6526C674O6555C691O6616C693O6630C699O6659C716O6717C718O6732C724O6761C741O6820C743O6835C749O6864C766O6923C768O6939C774O6968C791O7028C793O7043C799O7072C816O7131C818O7143C824O7172C841O7228C843O7241C849O7270C866O7327C868O7341C874O7370C891O7428C893O7443C899O7472C916O7531C918O7549C924O7578C941O7640C943O7659C949O7688C966O7751C968O7769C974O7798C991O7860C993O7879C999O7908C1016O7971C1018O7979C1024O8008C1041O8060C1043O8075C1049O8104C1066O8163C1068O8178C1074O8207C1091O8266C1093O8283C1099O8312C1116O8373C1118O8387C1124O8416C1141O8474C1143O8486C1149O8515C1168O8676C1174O8705C1182O8756C1201O8831C1210O8860C1222O8915C1249O8992C1258O9021C1270O9074C1297O9151C1306O9180C1318O9235C1345O9309C1354O9338C1366O9388C1393O9467C1402O9496C1414O9556C1441O9640C1450O9669C1462O9724C1489O9803C1498O9832C1510O9887C1533O6162C1543O10018C1547O10028C1553O10063C1561O10072C1567O10050C1575O10088C1579O10098C1585O10129C1593O10138C1599O10116C1607O10150C1611O10160C1617O10198C1625O10207C1631O10185C1639O10226C1643O10236C1649O10271C1657O10280C1663O10258C1671O10296C1675O10306C1681O10342C1689O10351C1695O10329C1703O10368C1707O10378C1713O10414C1721O10423C1727O10401C1735O10440C1739O10450C1745O10487C1753O10496C1759O10474C1767O10514C1771O10524C1781O10547C1789O11048C1793O11058C1799O11091C1807O11100C1813O11078C1821O11114C1825O11124C1831O11158C1839O11167C1845O11145C1853O11182C1857O11192C1863O11227C1871O11236C1877O11214C1885O11252C1889O11262C1895O11298C1903O11307C1909O11285C1917O11324C1921O11334C1927O11373C1935O11382C1941O11360C1949O11402C1953O11412C1959O11452C1967O11461C1973O11439C1981O11482C1985O11492C1991O11531C1999O11540C2005O11518C2013O11560C2017O11570C2023O11610C2031O11619C2037O11597C2045O11640C2049O11650C2055O11679C2063O11688C2069O11666C2077O11698C2081O11708C2087O11744C2095O11753C2101O11731C2109O11770C2113O11780C2119O11816C2127O11825C2133O11803C2141O11842C2145O11852C2151O11890C2159O11899C2165O11877C2173O11918C2177O11928C2183O11965C2189O11975C2197O11952C2205O11990C2209O12000C2215O12035C2223O12044C2229O12022C2237O12060C2241O12070C2247O12103C2255O12112C2261O12090C2269O13192C2280O13214C2290O13228C2300O13242C2310O13262C2320O13282C2330O13295C2340O13318C2350O13333C2360O13207C2369O13347,,
code-creation,Eval,10,450863,0x22cbe47a1fe,5, node:internal/readline/callbacks:1:1,0x22cbe47a018,~
script-source,120,node:internal/readline/callbacks,'use strict';\x0d\n\x0d\nconst {\x0d\n NumberIsNaN\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst {\x0d\n codes: {\x0d\n ERR_INVALID_ARG_VALUE\x2C\x0d\n ERR_INVALID_CURSOR_POS\x2C\x0d\n }\x2C\x0d\n} = require('internal/errors');\x0d\n\x0d\nconst {\x0d\n validateFunction\x2C\x0d\n} = require('internal/validators');\x0d\nconst {\x0d\n CSI\x2C\x0d\n} = require('internal/readline/utils');\x0d\n\x0d\nconst {\x0d\n kClearLine\x2C\x0d\n kClearScreenDown\x2C\x0d\n kClearToLineBeginning\x2C\x0d\n kClearToLineEnd\x2C\x0d\n} = CSI;\x0d\n\x0d\n\x0d\n/**\x0d\n * moves the cursor to the x and y coordinate on the given stream\x0d\n */\x0d\n\x0d\nfunction cursorTo(stream\x2C x\x2C y\x2C callback) {\x0d\n if (callback !== undefined) {\x0d\n validateFunction(callback\x2C 'callback');\x0d\n }\x0d\n\x0d\n if (typeof y === 'function') {\x0d\n callback = y;\x0d\n y = undefined;\x0d\n }\x0d\n\x0d\n if (NumberIsNaN(x)) throw new ERR_INVALID_ARG_VALUE('x'\x2C x);\x0d\n if (NumberIsNaN(y)) throw new ERR_INVALID_ARG_VALUE('y'\x2C y);\x0d\n\x0d\n if (stream == null || (typeof x !== 'number' && typeof y !== 'number')) {\x0d\n if (typeof callback === 'function') process.nextTick(callback\x2C null);\x0d\n return true;\x0d\n }\x0d\n\x0d\n if (typeof x !== 'number') throw new ERR_INVALID_CURSOR_POS();\x0d\n\x0d\n const data = typeof y !== 'number' ? CSI`${x + 1}G` : CSI`${y + 1};${x + 1}H`;\x0d\n return stream.write(data\x2C callback);\x0d\n}\x0d\n\x0d\n/**\x0d\n * moves the cursor relative to its current location\x0d\n */\x0d\n\x0d\nfunction moveCursor(stream\x2C dx\x2C dy\x2C callback) {\x0d\n if (callback !== undefined) {\x0d\n validateFunction(callback\x2C 'callback');\x0d\n }\x0d\n\x0d\n if (stream == null || !(dx || dy)) {\x0d\n if (typeof callback === 'function') process.nextTick(callback\x2C null);\x0d\n return true;\x0d\n }\x0d\n\x0d\n let data = '';\x0d\n\x0d\n if (dx < 0) {\x0d\n data += CSI`${-dx}D`;\x0d\n } else if (dx > 0) {\x0d\n data += CSI`${dx}C`;\x0d\n }\x0d\n\x0d\n if (dy < 0) {\x0d\n data += CSI`${-dy}A`;\x0d\n } else if (dy > 0) {\x0d\n data += CSI`${dy}B`;\x0d\n }\x0d\n\x0d\n return stream.write(data\x2C callback);\x0d\n}\x0d\n\x0d\n/**\x0d\n * clears the current line the cursor is on:\x0d\n * -1 for left of the cursor\x0d\n * +1 for right of the cursor\x0d\n * 0 for the entire line\x0d\n */\x0d\n\x0d\nfunction clearLine(stream\x2C dir\x2C callback) {\x0d\n if (callback !== undefined) {\x0d\n validateFunction(callback\x2C 'callback');\x0d\n }\x0d\n\x0d\n if (stream === null || stream === undefined) {\x0d\n if (typeof callback === 'function') process.nextTick(callback\x2C null);\x0d\n return true;\x0d\n }\x0d\n\x0d\n const type =\x0d\n dir < 0 ? kClearToLineBeginning : dir > 0 ? kClearToLineEnd : kClearLine;\x0d\n return stream.write(type\x2C callback);\x0d\n}\x0d\n\x0d\n/**\x0d\n * clears the screen from the current position of the cursor down\x0d\n */\x0d\n\x0d\nfunction clearScreenDown(stream\x2C callback) {\x0d\n if (callback !== undefined) {\x0d\n validateFunction(callback\x2C 'callback');\x0d\n }\x0d\n\x0d\n if (stream === null || stream === undefined) {\x0d\n if (typeof callback === 'function') process.nextTick(callback\x2C null);\x0d\n return true;\x0d\n }\x0d\n\x0d\n return stream.write(kClearScreenDown\x2C callback);\x0d\n}\x0d\n\x0d\nmodule.exports = {\x0d\n clearLine\x2C\x0d\n clearScreenDown\x2C\x0d\n cursorTo\x2C\x0d\n moveCursor\x2C\x0d\n};\x0d\n
code-source-info,0x22cbe47a1fe,120,0,2886,C0O0C4O2886,,
code-creation,JS,10,451234,0x22cbe47a4ce,179, node:internal/readline/callbacks:1:1,0x22cbe47a178,~
code-source-info,0x22cbe47a4ce,120,0,2886,C0O0C56O28C62O150C65O150C70O80C75O87C81O115C87O215C90O215C95O192C101O269C104O269C109O259C115O403C118O319C124O334C130O355C136O381C142O2800C149O2822C155O2836C161O2856C167O2869C173O2815C178O2885,,
code-creation,Eval,10,451916,0x22cbe47afbe,5, node:internal/readline/utils:1:1,0x22cbe47adc8,~
script-source,121,node:internal/readline/utils,'use strict';\x0d\n\x0d\nconst {\x0d\n ArrayPrototypeSlice\x2C\x0d\n ArrayPrototypeSort\x2C\x0d\n RegExpPrototypeExec\x2C\x0d\n StringFromCharCode\x2C\x0d\n StringPrototypeCharCodeAt\x2C\x0d\n StringPrototypeCodePointAt\x2C\x0d\n StringPrototypeSlice\x2C\x0d\n StringPrototypeToLowerCase\x2C\x0d\n Symbol\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst kUTF16SurrogateThreshold = 0x10000; // 2 ** 16\x0d\nconst kEscape = '\\x1b';\x0d\nconst kSubstringSearch = Symbol('kSubstringSearch');\x0d\n\x0d\nfunction CSI(strings\x2C ...args) {\x0d\n let ret = `${kEscape}[`;\x0d\n for (let n = 0; n < strings.length; n++) {\x0d\n ret += strings[n];\x0d\n if (n < args.length)\x0d\n ret += args[n];\x0d\n }\x0d\n return ret;\x0d\n}\x0d\n\x0d\nCSI.kEscape = kEscape;\x0d\nCSI.kClearToLineBeginning = CSI`1K`;\x0d\nCSI.kClearToLineEnd = CSI`0K`;\x0d\nCSI.kClearLine = CSI`2K`;\x0d\nCSI.kClearScreenDown = CSI`0J`;\x0d\n\x0d\n// TODO(BridgeAR): Treat combined characters as single character\x2C i.e\x2C\x0d\n// 'a\\u0301' and '\\u0301a' (both have the same visual output).\x0d\n// Check Canonical_Combining_Class in\x0d\n// http://userguide.icu-project.org/strings/properties\x0d\nfunction charLengthLeft(str\x2C i) {\x0d\n if (i <= 0)\x0d\n return 0;\x0d\n if ((i > 1 &&\x0d\n StringPrototypeCodePointAt(str\x2C i - 2) >= kUTF16SurrogateThreshold) ||\x0d\n StringPrototypeCodePointAt(str\x2C i - 1) >= kUTF16SurrogateThreshold) {\x0d\n return 2;\x0d\n }\x0d\n return 1;\x0d\n}\x0d\n\x0d\nfunction charLengthAt(str\x2C i) {\x0d\n if (str.length <= i) {\x0d\n // Pretend to move to the right. This is necessary to autocomplete while\x0d\n // moving to the right.\x0d\n return 1;\x0d\n }\x0d\n return StringPrototypeCodePointAt(str\x2C i) >= kUTF16SurrogateThreshold ? 2 : 1;\x0d\n}\x0d\n\x0d\n/*\x0d\n Some patterns seen in terminal key escape codes\x2C derived from combos seen\x0d\n at http://www.midnight-commander.org/browser/lib/tty/key.c\x0d\n\x0d\n ESC letter\x0d\n ESC [ letter\x0d\n ESC [ modifier letter\x0d\n ESC [ 1 ; modifier letter\x0d\n ESC [ num char\x0d\n ESC [ num ; modifier char\x0d\n ESC O letter\x0d\n ESC O modifier letter\x0d\n ESC O 1 ; modifier letter\x0d\n ESC N letter\x0d\n ESC [ [ num ; modifier char\x0d\n ESC [ [ 1 ; modifier letter\x0d\n ESC ESC [ num char\x0d\n ESC ESC O letter\x0d\n\x0d\n - char is usually ~ but $ and ^ also happen with rxvt\x0d\n - modifier is 1 +\x0d\n (shift * 1) +\x0d\n (left_alt * 2) +\x0d\n (ctrl * 4) +\x0d\n (right_alt * 8)\x0d\n - two leading ESCs apparently mean the same as one leading ESC\x0d\n*/\x0d\nfunction* emitKeys(stream) {\x0d\n while (true) {\x0d\n let ch = yield;\x0d\n let s = ch;\x0d\n let escaped = false;\x0d\n const key = {\x0d\n sequence: null\x2C\x0d\n name: undefined\x2C\x0d\n ctrl: false\x2C\x0d\n meta: false\x2C\x0d\n shift: false\x2C\x0d\n };\x0d\n\x0d\n if (ch === kEscape) {\x0d\n escaped = true;\x0d\n s += (ch = yield);\x0d\n\x0d\n if (ch === kEscape) {\x0d\n s += (ch = yield);\x0d\n }\x0d\n }\x0d\n\x0d\n if (escaped && (ch === 'O' || ch === '[')) {\x0d\n // ANSI escape sequence\x0d\n let code = ch;\x0d\n let modifier = 0;\x0d\n\x0d\n if (ch === 'O') {\x0d\n // ESC O letter\x0d\n // ESC O modifier letter\x0d\n s += (ch = yield);\x0d\n\x0d\n if (ch >= '0' && ch <= '9') {\x0d\n modifier = (ch >> 0) - 1;\x0d\n s += (ch = yield);\x0d\n }\x0d\n\x0d\n code += ch;\x0d\n } else if (ch === '[') {\x0d\n // ESC [ letter\x0d\n // ESC [ modifier letter\x0d\n // ESC [ [ modifier letter\x0d\n // ESC [ [ num char\x0d\n s += (ch = yield);\x0d\n\x0d\n if (ch === '[') {\x0d\n // \\x1b[[A\x0d\n // ^--- escape codes might have a second bracket\x0d\n code += ch;\x0d\n s += (ch = yield);\x0d\n }\x0d\n\x0d\n /*\x0d\n * Here and later we try to buffer just enough data to get\x0d\n * a complete ascii sequence.\x0d\n *\x0d\n * We have basically two classes of ascii characters to process:\x0d\n *\x0d\n *\x0d\n * 1. `\\x1b[24;5~` should be parsed as { code: '[24~'\x2C modifier: 5 }\x0d\n *\x0d\n * This particular example is featuring Ctrl+F12 in xterm.\x0d\n *\x0d\n * - `;5` part is optional\x2C e.g. it could be `\\x1b[24~`\x0d\n * - first part can contain one or two digits\x0d\n * - there is also special case when there can be 3 digits\x0d\n * but without modifier. They are the case of paste bracket mode\x0d\n *\x0d\n * So the generic regexp is like /^(?:\\d\\d?(;\\d)?[~^$]|\\d{3}~)$/\x0d\n *\x0d\n *\x0d\n * 2. `\\x1b[1;5H` should be parsed as { code: '[H'\x2C modifier: 5 }\x0d\n *\x0d\n * This particular example is featuring Ctrl+Home in xterm.\x0d\n *\x0d\n * - `1;5` part is optional\x2C e.g. it could be `\\x1b[H`\x0d\n * - `1;` part is optional\x2C e.g. it could be `\\x1b[5H`\x0d\n *\x0d\n * So the generic regexp is like /^((\\d;)?\\d)?[A-Za-z]$/\x0d\n *\x0d\n */\x0d\n const cmdStart = s.length - 1;\x0d\n\x0d\n // Skip one or two leading digits\x0d\n if (ch >= '0' && ch <= '9') {\x0d\n s += (ch = yield);\x0d\n\x0d\n if (ch >= '0' && ch <= '9') {\x0d\n s += (ch = yield);\x0d\n\x0d\n if (ch >= '0' && ch <= '9') {\x0d\n s += (ch = yield);\x0d\n }\x0d\n }\x0d\n }\x0d\n\x0d\n // skip modifier\x0d\n if (ch === ';') {\x0d\n s += (ch = yield);\x0d\n\x0d\n if (ch >= '0' && ch <= '9') {\x0d\n s += yield;\x0d\n }\x0d\n }\x0d\n\x0d\n /*\x0d\n * We buffered enough data\x2C now trying to extract code\x0d\n * and modifier from it\x0d\n */\x0d\n const cmd = StringPrototypeSlice(s\x2C cmdStart);\x0d\n let match;\x0d\n\x0d\n if ((match = RegExpPrototypeExec(/^(?:(\\d\\d?)(?:;(\\d))?([~^$])|(\\d{3}~))$/\x2C cmd))) {\x0d\n if (match[4]) {\x0d\n code += match[4];\x0d\n } else {\x0d\n code += match[1] + match[3];\x0d\n modifier = (match[2] || 1) - 1;\x0d\n }\x0d\n } else if (\x0d\n (match = RegExpPrototypeExec(/^((\\d;)?(\\d))?([A-Za-z])$/\x2C cmd))\x0d\n ) {\x0d\n code += match[4];\x0d\n modifier = (match[3] || 1) - 1;\x0d\n } else {\x0d\n code += cmd;\x0d\n }\x0d\n }\x0d\n\x0d\n // Parse the key modifier\x0d\n key.ctrl = !!(modifier & 4);\x0d\n key.meta = !!(modifier & 10);\x0d\n key.shift = !!(modifier & 1);\x0d\n key.code = code;\x0d\n\x0d\n // Parse the key itself\x0d\n switch (code) {\x0d\n /* xterm/gnome ESC [ letter (with modifier) */\x0d\n case '[P': key.name = 'f1'; break;\x0d\n case '[Q': key.name = 'f2'; break;\x0d\n case '[R': key.name = 'f3'; break;\x0d\n case '[S': key.name = 'f4'; break;\x0d\n\x0d\n /* xterm/gnome ESC O letter (without modifier) */\x0d\n case 'OP': key.name = 'f1'; break;\x0d\n case 'OQ': key.name = 'f2'; break;\x0d\n case 'OR': key.name = 'f3'; break;\x0d\n case 'OS': key.name = 'f4'; break;\x0d\n\x0d\n /* xterm/rxvt ESC [ number ~ */\x0d\n case '[11~': key.name = 'f1'; break;\x0d\n case '[12~': key.name = 'f2'; break;\x0d\n case '[13~': key.name = 'f3'; break;\x0d\n case '[14~': key.name = 'f4'; break;\x0d\n\x0d\n /* paste bracket mode */\x0d\n case '[200~': key.name = 'paste-start'; break;\x0d\n case '[201~': key.name = 'paste-end'; break;\x0d\n\x0d\n /* from Cygwin and used in libuv */\x0d\n case '[[A': key.name = 'f1'; break;\x0d\n case '[[B': key.name = 'f2'; break;\x0d\n case '[[C': key.name = 'f3'; break;\x0d\n case '[[D': key.name = 'f4'; break;\x0d\n case '[[E': key.name = 'f5'; break;\x0d\n\x0d\n /* common */\x0d\n case '[15~': key.name = 'f5'; break;\x0d\n case '[17~': key.name = 'f6'; break;\x0d\n case '[18~': key.name = 'f7'; break;\x0d\n case '[19~': key.name = 'f8'; break;\x0d\n case '[20~': key.name = 'f9'; break;\x0d\n case '[21~': key.name = 'f10'; break;\x0d\n case '[23~': key.name = 'f11'; break;\x0d\n case '[24~': key.name = 'f12'; break;\x0d\n\x0d\n /* xterm ESC [ letter */\x0d\n case '[A': key.name = 'up'; break;\x0d\n case '[B': key.name = 'down'; break;\x0d\n case '[C': key.name = 'right'; break;\x0d\n case '[D': key.name = 'left'; break;\x0d\n case '[E': key.name = 'clear'; break;\x0d\n case '[F': key.name = 'end'; break;\x0d\n case '[H': key.name = 'home'; break;\x0d\n\x0d\n /* xterm/gnome ESC O letter */\x0d\n case 'OA': key.name = 'up'; break;\x0d\n case 'OB': key.name = 'down'; break;\x0d\n case 'OC': key.name = 'right'; break;\x0d\n case 'OD': key.name = 'left'; break;\x0d\n case 'OE': key.name = 'clear'; break;\x0d\n case 'OF': key.name = 'end'; break;\x0d\n case 'OH': key.name = 'home'; break;\x0d\n\x0d\n /* xterm/rxvt ESC [ number ~ */\x0d\n case '[1~': key.name = 'home'; break;\x0d\n case '[2~': key.name = 'insert'; break;\x0d\n case '[3~': key.name = 'delete'; break;\x0d\n case '[4~': key.name = 'end'; break;\x0d\n case '[5~': key.name = 'pageup'; break;\x0d\n case '[6~': key.name = 'pagedown'; break;\x0d\n\x0d\n /* putty */\x0d\n case '[[5~': key.name = 'pageup'; break;\x0d\n case '[[6~': key.name = 'pagedown'; break;\x0d\n\x0d\n /* rxvt */\x0d\n case '[7~': key.name = 'home'; break;\x0d\n case '[8~': key.name = 'end'; break;\x0d\n\x0d\n /* rxvt keys with modifiers */\x0d\n case '[a': key.name = 'up'; key.shift = true; break;\x0d\n case '[b': key.name = 'down'; key.shift = true; break;\x0d\n case '[c': key.name = 'right'; key.shift = true; break;\x0d\n case '[d': key.name = 'left'; key.shift = true; break;\x0d\n case '[e': key.name = 'clear'; key.shift = true; break;\x0d\n\x0d\n case '[2$': key.name = 'insert'; key.shift = true; break;\x0d\n case '[3$': key.name = 'delete'; key.shift = true; break;\x0d\n case '[5$': key.name = 'pageup'; key.shift = true; break;\x0d\n case '[6$': key.name = 'pagedown'; key.shift = true; break;\x0d\n case '[7$': key.name = 'home'; key.shift = true; break;\x0d\n case '[8$': key.name = 'end'; key.shift = true; break;\x0d\n\x0d\n case 'Oa': key.name = 'up'; key.ctrl = true; break;\x0d\n case 'Ob': key.name = 'down'; key.ctrl = true; break;\x0d\n case 'Oc': key.name = 'right'; key.ctrl = true; break;\x0d\n case 'Od': key.name = 'left'; key.ctrl = true; break;\x0d\n case 'Oe': key.name = 'clear'; key.ctrl = true; break;\x0d\n\x0d\n case '[2^': key.name = 'insert'; key.ctrl = true; break;\x0d\n case '[3^': key.name = 'delete'; key.ctrl = true; break;\x0d\n case '[5^': key.name = 'pageup'; key.ctrl = true; break;\x0d\n case '[6^': key.name = 'pagedown'; key.ctrl = true; break;\x0d\n case '[7^': key.name = 'home'; key.ctrl = true; break;\x0d\n case '[8^': key.name = 'end'; key.ctrl = true; break;\x0d\n\x0d\n /* misc. */\x0d\n case '[Z': key.name = 'tab'; key.shift = true; break;\x0d\n default: key.name = 'undefined'; break;\x0d\n }\x0d\n } else if (ch === '\\r') {\x0d\n // carriage return\x0d\n key.name = 'return';\x0d\n key.meta = escaped;\x0d\n } else if (ch === '\\n') {\x0d\n // Enter\x2C should have been called linefeed\x0d\n key.name = 'enter';\x0d\n key.meta = escaped;\x0d\n } else if (ch === '\\t') {\x0d\n // tab\x0d\n key.name = 'tab';\x0d\n key.meta = escaped;\x0d\n } else if (ch === '\\b' || ch === '\\x7f') {\x0d\n // backspace or ctrl+h\x0d\n key.name = 'backspace';\x0d\n key.meta = escaped;\x0d\n } else if (ch === kEscape) {\x0d\n // escape key\x0d\n key.name = 'escape';\x0d\n key.meta = escaped;\x0d\n } else if (ch === ' ') {\x0d\n key.name = 'space';\x0d\n key.meta = escaped;\x0d\n } else if (!escaped && ch <= '\\x1a') {\x0d\n // ctrl+letter\x0d\n key.name = StringFromCharCode(\x0d\n StringPrototypeCharCodeAt(ch) + StringPrototypeCharCodeAt('a') - 1\x2C\x0d\n );\x0d\n key.ctrl = true;\x0d\n } else if (RegExpPrototypeExec(/^[0-9A-Za-z]$/\x2C ch) !== null) {\x0d\n // Letter\x2C number\x2C shift+letter\x0d\n key.name = StringPrototypeToLowerCase(ch);\x0d\n key.shift = RegExpPrototypeExec(/^[A-Z]$/\x2C ch) !== null;\x0d\n key.meta = escaped;\x0d\n } else if (escaped) {\x0d\n // Escape sequence timeout\x0d\n key.name = ch.length ? undefined : 'escape';\x0d\n key.meta = true;\x0d\n }\x0d\n\x0d\n key.sequence = s;\x0d\n\x0d\n if (s.length !== 0 && (key.name !== undefined || escaped)) {\x0d\n /* Named character or sequence */\x0d\n stream.emit('keypress'\x2C escaped ? undefined : s\x2C key);\x0d\n } else if (charLengthAt(s\x2C 0) === s.length) {\x0d\n /* Single unnamed character\x2C e.g. "." */\x0d\n stream.emit('keypress'\x2C s\x2C key);\x0d\n }\x0d\n /* Unrecognized or broken escape sequence\x2C don't emit anything */\x0d\n }\x0d\n}\x0d\n\x0d\n// This runs in O(n log n).\x0d\nfunction commonPrefix(strings) {\x0d\n if (strings.length === 0) {\x0d\n return '';\x0d\n }\x0d\n if (strings.length === 1) {\x0d\n return strings[0];\x0d\n }\x0d\n const sorted = ArrayPrototypeSort(ArrayPrototypeSlice(strings));\x0d\n const min = sorted[0];\x0d\n const max = sorted[sorted.length - 1];\x0d\n for (let i = 0; i < min.length; i++) {\x0d\n if (min[i] !== max[i]) {\x0d\n return StringPrototypeSlice(min\x2C 0\x2C i);\x0d\n }\x0d\n }\x0d\n return min;\x0d\n}\x0d\n\x0d\nmodule.exports = {\x0d\n charLengthAt\x2C\x0d\n charLengthLeft\x2C\x0d\n commonPrefix\x2C\x0d\n emitKeys\x2C\x0d\n kSubstringSearch\x2C\x0d\n CSI\x2C\x0d\n};\x0d\n
code-source-info,0x22cbe47afbe,121,0,12802,C0O0C4O12802,,
code-creation,JS,10,453032,0x22cbe47b406,237, node:internal/readline/utils:1:1,0x22cbe47af38,~
code-source-info,0x22cbe47b406,121,0,12802,C0O0C61O28C67O52C73O75C79O99C85O122C91O152C97O183C103O208C109O239C114O301C120O301C122O338C124O338C126O372C129O372C134O609C136O621C140O664C144O664C148O659C152O696C156O696C160O691C164O723C168O723C172O718C176O756C180O756C184O751C188O12683C195O12705C201O12722C207O12741C213O12758C219O12771C225O12792C231O12698C236O12801,,
code-creation,JS,10,453342,0x22cbe47c496,76,CSI node:internal/readline/utils:19:13,0x22cbe47aff0,~
code-source-info,0x22cbe47c496,121,415,605,C0O415C8O449C20O480C22O495C26O485C31O515C33O529C43O552C47O545C52O567C54O578C64O504C69O467C73O591C75O602,,
code-creation,Eval,10,453671,0x22cbe47db46,5, node:internal/readline/emitKeypressEvents:1:1,0x22cbe47d950,~
script-source,122,node:internal/readline/emitKeypressEvents,'use strict';\x0d\n\x0d\nconst {\x0d\n SafeStringIterator\x2C\x0d\n Symbol\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst {\x0d\n charLengthAt\x2C\x0d\n CSI\x2C\x0d\n emitKeys\x2C\x0d\n} = require('internal/readline/utils');\x0d\nconst {\x0d\n kSawKeyPress\x2C\x0d\n} = require('internal/readline/interface');\x0d\n\x0d\nconst { clearTimeout\x2C setTimeout } = require('timers');\x0d\nconst {\x0d\n kEscape\x2C\x0d\n} = CSI;\x0d\n\x0d\nconst { StringDecoder } = require('string_decoder');\x0d\n\x0d\nconst KEYPRESS_DECODER = Symbol('keypress-decoder');\x0d\nconst ESCAPE_DECODER = Symbol('escape-decoder');\x0d\n\x0d\n// GNU readline library - keyseq-timeout is 500ms (default)\x0d\nconst ESCAPE_CODE_TIMEOUT = 500;\x0d\n\x0d\n/**\x0d\n * accepts a readable Stream instance and makes it emit "keypress" events\x0d\n */\x0d\n\x0d\nfunction emitKeypressEvents(stream\x2C iface = {}) {\x0d\n if (stream[KEYPRESS_DECODER]) return;\x0d\n\x0d\n stream[KEYPRESS_DECODER] = new StringDecoder('utf8');\x0d\n\x0d\n stream[ESCAPE_DECODER] = emitKeys(stream);\x0d\n stream[ESCAPE_DECODER].next();\x0d\n\x0d\n const triggerEscape = () => stream[ESCAPE_DECODER].next('');\x0d\n const { escapeCodeTimeout = ESCAPE_CODE_TIMEOUT } = iface;\x0d\n let timeoutId;\x0d\n\x0d\n function onData(input) {\x0d\n if (stream.listenerCount('keypress') > 0) {\x0d\n const string = stream[KEYPRESS_DECODER].write(input);\x0d\n if (string) {\x0d\n clearTimeout(timeoutId);\x0d\n\x0d\n // This supports characters of length 2.\x0d\n iface[kSawKeyPress] = charLengthAt(string\x2C 0) === string.length;\x0d\n iface.isCompletionEnabled = false;\x0d\n\x0d\n let length = 0;\x0d\n for (const character of new SafeStringIterator(string)) {\x0d\n length += character.length;\x0d\n if (length === string.length) {\x0d\n iface.isCompletionEnabled = true;\x0d\n }\x0d\n\x0d\n try {\x0d\n stream[ESCAPE_DECODER].next(character);\x0d\n // Escape letter at the tail position\x0d\n if (length === string.length && character === kEscape) {\x0d\n timeoutId = setTimeout(triggerEscape\x2C escapeCodeTimeout);\x0d\n }\x0d\n } catch (err) {\x0d\n // If the generator throws (it could happen in the `keypress`\x0d\n // event)\x2C we need to restart it.\x0d\n stream[ESCAPE_DECODER] = emitKeys(stream);\x0d\n stream[ESCAPE_DECODER].next();\x0d\n throw err;\x0d\n }\x0d\n }\x0d\n }\x0d\n } else {\x0d\n // Nobody's watching anyway\x0d\n stream.removeListener('data'\x2C onData);\x0d\n stream.on('newListener'\x2C onNewListener);\x0d\n }\x0d\n }\x0d\n\x0d\n function onNewListener(event) {\x0d\n if (event === 'keypress') {\x0d\n stream.on('data'\x2C onData);\x0d\n stream.removeListener('newListener'\x2C onNewListener);\x0d\n }\x0d\n }\x0d\n\x0d\n if (stream.listenerCount('keypress') > 0) {\x0d\n stream.on('data'\x2C onData);\x0d\n } else {\x0d\n stream.on('newListener'\x2C onNewListener);\x0d\n }\x0d\n}\x0d\n\x0d\nmodule.exports = emitKeypressEvents;\x0d\n
code-source-info,0x22cbe47db46,122,0,2762,C0O0C4O2762,,
code-creation,JS,10,453936,0x22cbe47dcd6,165, node:internal/readline/emitKeypressEvents:1:1,0x22cbe47dac0,~
code-source-info,0x22cbe47dcd6,122,0,2762,C0O0C43O28C49O51C54O131C57O131C62O91C68O108C73O116C79O198C82O198C87O179C93O278C96O278C101O249C107O263C113O309C119O357C122O357C127O339C133O412C136O412C140O412C142O464C145O464C149O464C151O582C155O582C157O2724C159O2739C164O2761,,
code-creation,Eval,10,455703,0x158ab336c86,5, node:internal/readline/interface:1:1,0x22cbe47ed58,~
script-source,123,node:internal/readline/interface,'use strict';\x0d\n\x0d\nconst {\x0d\n ArrayFrom\x2C\x0d\n ArrayPrototypeFilter\x2C\x0d\n ArrayPrototypeIndexOf\x2C\x0d\n ArrayPrototypeJoin\x2C\x0d\n ArrayPrototypeMap\x2C\x0d\n ArrayPrototypePop\x2C\x0d\n ArrayPrototypePush\x2C\x0d\n ArrayPrototypeReverse\x2C\x0d\n ArrayPrototypeSplice\x2C\x0d\n ArrayPrototypeShift\x2C\x0d\n ArrayPrototypeUnshift\x2C\x0d\n DateNow\x2C\x0d\n FunctionPrototypeCall\x2C\x0d\n MathCeil\x2C\x0d\n MathFloor\x2C\x0d\n MathMax\x2C\x0d\n MathMaxApply\x2C\x0d\n NumberIsFinite\x2C\x0d\n ObjectSetPrototypeOf\x2C\x0d\n RegExpPrototypeExec\x2C\x0d\n StringPrototypeCodePointAt\x2C\x0d\n StringPrototypeEndsWith\x2C\x0d\n StringPrototypeRepeat\x2C\x0d\n StringPrototypeSlice\x2C\x0d\n StringPrototypeStartsWith\x2C\x0d\n StringPrototypeTrim\x2C\x0d\n Symbol\x2C\x0d\n SymbolDispose\x2C\x0d\n SymbolAsyncIterator\x2C\x0d\n SafeStringIterator\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst { codes } = require('internal/errors');\x0d\n\x0d\nconst {\x0d\n ERR_INVALID_ARG_VALUE\x2C\x0d\n ERR_USE_AFTER_CLOSE\x2C\x0d\n} = codes;\x0d\nconst {\x0d\n validateAbortSignal\x2C\x0d\n validateArray\x2C\x0d\n validateNumber\x2C\x0d\n validateString\x2C\x0d\n validateUint32\x2C\x0d\n} = require('internal/validators');\x0d\nconst { kEmptyObject } = require('internal/util');\x0d\nconst {\x0d\n inspect\x2C\x0d\n getStringWidth\x2C\x0d\n stripVTControlCharacters\x2C\x0d\n} = require('internal/util/inspect');\x0d\nconst EventEmitter = require('events');\x0d\nconst { addAbortListener } = require('internal/events/abort_listener');\x0d\nconst {\x0d\n charLengthAt\x2C\x0d\n charLengthLeft\x2C\x0d\n commonPrefix\x2C\x0d\n kSubstringSearch\x2C\x0d\n} = require('internal/readline/utils');\x0d\nlet emitKeypressEvents;\x0d\nlet kFirstEventParam;\x0d\nconst {\x0d\n clearScreenDown\x2C\x0d\n cursorTo\x2C\x0d\n moveCursor\x2C\x0d\n} = require('internal/readline/callbacks');\x0d\n\x0d\nconst { StringDecoder } = require('string_decoder');\x0d\n\x0d\nconst kHistorySize = 30;\x0d\nconst kMaxUndoRedoStackSize = 2048;\x0d\nconst kMincrlfDelay = 100;\x0d\n// \\r\\n\x2C \\n\x2C or \\r followed by something other than \\n\x0d\nconst lineEnding = /\\r?\\n|\\r(?!\\n)/g;\x0d\n\x0d\nconst kLineObjectStream = Symbol('line object stream');\x0d\nconst kQuestionCancel = Symbol('kQuestionCancel');\x0d\nconst kQuestion = Symbol('kQuestion');\x0d\n\x0d\n// GNU readline library - keyseq-timeout is 500ms (default)\x0d\nconst ESCAPE_CODE_TIMEOUT = 500;\x0d\n\x0d\n// Max length of the kill ring\x0d\nconst kMaxLengthOfKillRing = 32;\x0d\n\x0d\nconst kAddHistory = Symbol('_addHistory');\x0d\nconst kBeforeEdit = Symbol('_beforeEdit');\x0d\nconst kDecoder = Symbol('_decoder');\x0d\nconst kDeleteLeft = Symbol('_deleteLeft');\x0d\nconst kDeleteLineLeft = Symbol('_deleteLineLeft');\x0d\nconst kDeleteLineRight = Symbol('_deleteLineRight');\x0d\nconst kDeleteRight = Symbol('_deleteRight');\x0d\nconst kDeleteWordLeft = Symbol('_deleteWordLeft');\x0d\nconst kDeleteWordRight = Symbol('_deleteWordRight');\x0d\nconst kGetDisplayPos = Symbol('_getDisplayPos');\x0d\nconst kHistoryNext = Symbol('_historyNext');\x0d\nconst kHistoryPrev = Symbol('_historyPrev');\x0d\nconst kInsertString = Symbol('_insertString');\x0d\nconst kLine = Symbol('_line');\x0d\nconst kLine_buffer = Symbol('_line_buffer');\x0d\nconst kKillRing = Symbol('_killRing');\x0d\nconst kKillRingCursor = Symbol('_killRingCursor');\x0d\nconst kMoveCursor = Symbol('_moveCursor');\x0d\nconst kNormalWrite = Symbol('_normalWrite');\x0d\nconst kOldPrompt = Symbol('_oldPrompt');\x0d\nconst kOnLine = Symbol('_onLine');\x0d\nconst kPreviousKey = Symbol('_previousKey');\x0d\nconst kPrompt = Symbol('_prompt');\x0d\nconst kPushToKillRing = Symbol('_pushToKillRing');\x0d\nconst kPushToUndoStack = Symbol('_pushToUndoStack');\x0d\nconst kQuestionCallback = Symbol('_questionCallback');\x0d\nconst kRedo = Symbol('_redo');\x0d\nconst kRedoStack = Symbol('_redoStack');\x0d\nconst kRefreshLine = Symbol('_refreshLine');\x0d\nconst kSawKeyPress = Symbol('_sawKeyPress');\x0d\nconst kSawReturnAt = Symbol('_sawReturnAt');\x0d\nconst kSetRawMode = Symbol('_setRawMode');\x0d\nconst kTabComplete = Symbol('_tabComplete');\x0d\nconst kTabCompleter = Symbol('_tabCompleter');\x0d\nconst kTtyWrite = Symbol('_ttyWrite');\x0d\nconst kUndo = Symbol('_undo');\x0d\nconst kUndoStack = Symbol('_undoStack');\x0d\nconst kWordLeft = Symbol('_wordLeft');\x0d\nconst kWordRight = Symbol('_wordRight');\x0d\nconst kWriteToOutput = Symbol('_writeToOutput');\x0d\nconst kYank = Symbol('_yank');\x0d\nconst kYanking = Symbol('_yanking');\x0d\nconst kYankPop = Symbol('_yankPop');\x0d\n\x0d\nfunction InterfaceConstructor(input\x2C output\x2C completer\x2C terminal) {\x0d\n this[kSawReturnAt] = 0;\x0d\n // TODO(BridgeAR): Document this property. The name is not ideal\x2C so we\x0d\n // might want to expose an alias and document that instead.\x0d\n this.isCompletionEnabled = true;\x0d\n this[kSawKeyPress] = false;\x0d\n this[kPreviousKey] = null;\x0d\n this.escapeCodeTimeout = ESCAPE_CODE_TIMEOUT;\x0d\n this.tabSize = 8;\x0d\n\x0d\n FunctionPrototypeCall(EventEmitter\x2C this);\x0d\n\x0d\n let history;\x0d\n let historySize;\x0d\n let removeHistoryDuplicates = false;\x0d\n let crlfDelay;\x0d\n let prompt = '> ';\x0d\n let signal;\x0d\n\x0d\n if (input?.input) {\x0d\n // An options object was given\x0d\n output = input.output;\x0d\n completer = input.completer;\x0d\n terminal = input.terminal;\x0d\n history = input.history;\x0d\n historySize = input.historySize;\x0d\n signal = input.signal;\x0d\n if (input.tabSize !== undefined) {\x0d\n validateUint32(input.tabSize\x2C 'tabSize'\x2C true);\x0d\n this.tabSize = input.tabSize;\x0d\n }\x0d\n removeHistoryDuplicates = input.removeHistoryDuplicates;\x0d\n if (input.prompt !== undefined) {\x0d\n prompt = input.prompt;\x0d\n }\x0d\n if (input.escapeCodeTimeout !== undefined) {\x0d\n if (NumberIsFinite(input.escapeCodeTimeout)) {\x0d\n this.escapeCodeTimeout = input.escapeCodeTimeout;\x0d\n } else {\x0d\n throw new ERR_INVALID_ARG_VALUE(\x0d\n 'input.escapeCodeTimeout'\x2C\x0d\n this.escapeCodeTimeout\x2C\x0d\n );\x0d\n }\x0d\n }\x0d\n\x0d\n if (signal) {\x0d\n validateAbortSignal(signal\x2C 'options.signal');\x0d\n }\x0d\n\x0d\n crlfDelay = input.crlfDelay;\x0d\n input = input.input;\x0d\n }\x0d\n\x0d\n if (completer !== undefined && typeof completer !== 'function') {\x0d\n throw new ERR_INVALID_ARG_VALUE('completer'\x2C completer);\x0d\n }\x0d\n\x0d\n if (history === undefined) {\x0d\n history = [];\x0d\n } else {\x0d\n validateArray(history\x2C 'history');\x0d\n }\x0d\n\x0d\n if (historySize === undefined) {\x0d\n historySize = kHistorySize;\x0d\n }\x0d\n\x0d\n validateNumber(historySize\x2C 'historySize'\x2C 0);\x0d\n\x0d\n // Backwards compat; check the isTTY prop of the output stream\x0d\n // when `terminal` was not specified\x0d\n if (terminal === undefined && !(output === null || output === undefined)) {\x0d\n terminal = !!output.isTTY;\x0d\n }\x0d\n\x0d\n const self = this;\x0d\n\x0d\n this.line = '';\x0d\n this[kSubstringSearch] = null;\x0d\n this.output = output;\x0d\n this.input = input;\x0d\n this[kUndoStack] = [];\x0d\n this[kRedoStack] = [];\x0d\n this.history = history;\x0d\n this.historySize = historySize;\x0d\n\x0d\n // The kill ring is a global list of blocks of text that were previously\x0d\n // killed (deleted). If its size exceeds kMaxLengthOfKillRing\x2C the oldest\x0d\n // element will be removed to make room for the latest deletion. With kill\x0d\n // ring\x2C users are able to recall (yank) or cycle (yank pop) among previously\x0d\n // killed texts\x2C quite similar to the behavior of Emacs.\x0d\n this[kKillRing] = [];\x0d\n this[kKillRingCursor] = 0;\x0d\n\x0d\n this.removeHistoryDuplicates = !!removeHistoryDuplicates;\x0d\n this.crlfDelay = crlfDelay ?\x0d\n MathMax(kMincrlfDelay\x2C crlfDelay) :\x0d\n kMincrlfDelay;\x0d\n this.completer = completer;\x0d\n\x0d\n this.setPrompt(prompt);\x0d\n\x0d\n this.terminal = !!terminal;\x0d\n\x0d\n\x0d\n function onerror(err) {\x0d\n self.emit('error'\x2C err);\x0d\n }\x0d\n\x0d\n function ondata(data) {\x0d\n self[kNormalWrite](data);\x0d\n }\x0d\n\x0d\n function onend() {\x0d\n if (\x0d\n typeof self[kLine_buffer] === 'string' &&\x0d\n self[kLine_buffer].length > 0\x0d\n ) {\x0d\n self.emit('line'\x2C self[kLine_buffer]);\x0d\n }\x0d\n self.close();\x0d\n }\x0d\n\x0d\n function ontermend() {\x0d\n if (typeof self.line === 'string' && self.line.length > 0) {\x0d\n self.emit('line'\x2C self.line);\x0d\n }\x0d\n self.close();\x0d\n }\x0d\n\x0d\n function onkeypress(s\x2C key) {\x0d\n self[kTtyWrite](s\x2C key);\x0d\n if (key && key.sequence) {\x0d\n // If the key.sequence is half of a surrogate pair\x0d\n // (>= 0xd800 and <= 0xdfff)\x2C refresh the line so\x0d\n // the character is displayed appropriately.\x0d\n const ch = StringPrototypeCodePointAt(key.sequence\x2C 0);\x0d\n if (ch >= 0xd800 && ch <= 0xdfff) self[kRefreshLine]();\x0d\n }\x0d\n }\x0d\n\x0d\n function onresize() {\x0d\n self[kRefreshLine]();\x0d\n }\x0d\n\x0d\n this[kLineObjectStream] = undefined;\x0d\n\x0d\n input.on('error'\x2C onerror);\x0d\n\x0d\n if (!this.terminal) {\x0d\n function onSelfCloseWithoutTerminal() {\x0d\n input.removeListener('data'\x2C ondata);\x0d\n input.removeListener('error'\x2C onerror);\x0d\n input.removeListener('end'\x2C onend);\x0d\n }\x0d\n\x0d\n input.on('data'\x2C ondata);\x0d\n input.on('end'\x2C onend);\x0d\n self.once('close'\x2C onSelfCloseWithoutTerminal);\x0d\n this[kDecoder] = new StringDecoder('utf8');\x0d\n } else {\x0d\n function onSelfCloseWithTerminal() {\x0d\n input.removeListener('keypress'\x2C onkeypress);\x0d\n input.removeListener('error'\x2C onerror);\x0d\n input.removeListener('end'\x2C ontermend);\x0d\n if (output !== null && output !== undefined) {\x0d\n output.removeListener('resize'\x2C onresize);\x0d\n }\x0d\n }\x0d\n\x0d\n emitKeypressEvents ??= require('internal/readline/emitKeypressEvents');\x0d\n emitKeypressEvents(input\x2C this);\x0d\n\x0d\n // `input` usually refers to stdin\x0d\n input.on('keypress'\x2C onkeypress);\x0d\n input.on('end'\x2C ontermend);\x0d\n\x0d\n this[kSetRawMode](true);\x0d\n this.terminal = true;\x0d\n\x0d\n // Cursor position on the line.\x0d\n this.cursor = 0;\x0d\n\x0d\n this.historyIndex = -1;\x0d\n\x0d\n if (output !== null && output !== undefined)\x0d\n output.on('resize'\x2C onresize);\x0d\n\x0d\n self.once('close'\x2C onSelfCloseWithTerminal);\x0d\n }\x0d\n\x0d\n if (signal) {\x0d\n const onAborted = () => self.close();\x0d\n if (signal.aborted) {\x0d\n process.nextTick(onAborted);\x0d\n } else {\x0d\n const disposable = addAbortListener(signal\x2C onAborted);\x0d\n self.once('close'\x2C disposable[SymbolDispose]);\x0d\n }\x0d\n }\x0d\n\x0d\n // Current line\x0d\n this.line = '';\x0d\n\x0d\n input.resume();\x0d\n}\x0d\n\x0d\nObjectSetPrototypeOf(InterfaceConstructor.prototype\x2C EventEmitter.prototype);\x0d\nObjectSetPrototypeOf(InterfaceConstructor\x2C EventEmitter);\x0d\n\x0d\nclass Interface extends InterfaceConstructor {\x0d\n // eslint-disable-next-line no-useless-constructor\x0d\n constructor(input\x2C output\x2C completer\x2C terminal) {\x0d\n super(input\x2C output\x2C completer\x2C terminal);\x0d\n }\x0d\n get columns() {\x0d\n if (this.output && this.output.columns) return this.output.columns;\x0d\n return Infinity;\x0d\n }\x0d\n\x0d\n /**\x0d\n * Sets the prompt written to the output.\x0d\n * @param {string} prompt\x0d\n * @returns {void}\x0d\n */\x0d\n setPrompt(prompt) {\x0d\n this[kPrompt] = prompt;\x0d\n }\x0d\n\x0d\n /**\x0d\n * Returns the current prompt used by `rl.prompt()`.\x0d\n * @returns {string}\x0d\n */\x0d\n getPrompt() {\x0d\n return this[kPrompt];\x0d\n }\x0d\n\x0d\n [kSetRawMode](mode) {\x0d\n const wasInRawMode = this.input.isRaw;\x0d\n\x0d\n if (typeof this.input.setRawMode === 'function') {\x0d\n this.input.setRawMode(mode);\x0d\n }\x0d\n\x0d\n return wasInRawMode;\x0d\n }\x0d\n\x0d\n /**\x0d\n * Writes the configured `prompt` to a new line in `output`.\x0d\n * @param {boolean} [preserveCursor]\x0d\n * @returns {void}\x0d\n */\x0d\n prompt(preserveCursor) {\x0d\n if (this.paused) this.resume();\x0d\n if (this.terminal && process.env.TERM !== 'dumb') {\x0d\n if (!preserveCursor) this.cursor = 0;\x0d\n this[kRefreshLine]();\x0d\n } else {\x0d\n this[kWriteToOutput](this[kPrompt]);\x0d\n }\x0d\n }\x0d\n\x0d\n [kQuestion](query\x2C cb) {\x0d\n if (this.closed) {\x0d\n throw new ERR_USE_AFTER_CLOSE('readline');\x0d\n }\x0d\n if (this[kQuestionCallback]) {\x0d\n this.prompt();\x0d\n } else {\x0d\n this[kOldPrompt] = this[kPrompt];\x0d\n this.setPrompt(query);\x0d\n this[kQuestionCallback] = cb;\x0d\n this.prompt();\x0d\n }\x0d\n }\x0d\n\x0d\n [kOnLine](line) {\x0d\n if (this[kQuestionCallback]) {\x0d\n const cb = this[kQuestionCallback];\x0d\n this[kQuestionCallback] = null;\x0d\n this.setPrompt(this[kOldPrompt]);\x0d\n cb(line);\x0d\n } else {\x0d\n this.emit('line'\x2C line);\x0d\n }\x0d\n }\x0d\n\x0d\n [kBeforeEdit](oldText\x2C oldCursor) {\x0d\n this[kPushToUndoStack](oldText\x2C oldCursor);\x0d\n }\x0d\n\x0d\n [kQuestionCancel]() {\x0d\n if (this[kQuestionCallback]) {\x0d\n this[kQuestionCallback] = null;\x0d\n this.setPrompt(this[kOldPrompt]);\x0d\n this.clearLine();\x0d\n }\x0d\n }\x0d\n\x0d\n [kWriteToOutput](stringToWrite) {\x0d\n validateString(stringToWrite\x2C 'stringToWrite');\x0d\n\x0d\n if (this.output !== null && this.output !== undefined) {\x0d\n this.output.write(stringToWrite);\x0d\n }\x0d\n }\x0d\n\x0d\n [kAddHistory]() {\x0d\n if (this.line.length === 0) return '';\x0d\n\x0d\n // If the history is disabled then return the line\x0d\n if (this.historySize === 0) return this.line;\x0d\n\x0d\n // If the trimmed line is empty then return the line\x0d\n if (StringPrototypeTrim(this.line).length === 0) return this.line;\x0d\n\x0d\n if (this.history.length === 0 || this.history[0] !== this.line) {\x0d\n if (this.removeHistoryDuplicates) {\x0d\n // Remove older history line if identical to new one\x0d\n const dupIndex = ArrayPrototypeIndexOf(this.history\x2C this.line);\x0d\n if (dupIndex !== -1) ArrayPrototypeSplice(this.history\x2C dupIndex\x2C 1);\x0d\n }\x0d\n\x0d\n ArrayPrototypeUnshift(this.history\x2C this.line);\x0d\n\x0d\n // Only store so many\x0d\n if (this.history.length > this.historySize)\x0d\n ArrayPrototypePop(this.history);\x0d\n }\x0d\n\x0d\n this.historyIndex = -1;\x0d\n\x0d\n // The listener could change the history object\x2C possibly\x0d\n // to remove the last added entry if it is sensitive and should\x0d\n // not be persisted in the history\x2C like a password\x0d\n const line = this.history[0];\x0d\n\x0d\n // Emit history event to notify listeners of update\x0d\n this.emit('history'\x2C this.history);\x0d\n\x0d\n return line;\x0d\n }\x0d\n\x0d\n [kRefreshLine]() {\x0d\n // line length\x0d\n const line = this[kPrompt] + this.line;\x0d\n const dispPos = this[kGetDisplayPos](line);\x0d\n const lineCols = dispPos.cols;\x0d\n const lineRows = dispPos.rows;\x0d\n\x0d\n // cursor position\x0d\n const cursorPos = this.getCursorPos();\x0d\n\x0d\n // First move to the bottom of the current line\x2C based on cursor pos\x0d\n const prevRows = this.prevRows || 0;\x0d\n if (prevRows > 0) {\x0d\n moveCursor(this.output\x2C 0\x2C -prevRows);\x0d\n }\x0d\n\x0d\n // Cursor to left edge.\x0d\n cursorTo(this.output\x2C 0);\x0d\n // erase data\x0d\n clearScreenDown(this.output);\x0d\n\x0d\n // Write the prompt and the current buffer content.\x0d\n this[kWriteToOutput](line);\x0d\n\x0d\n // Force terminal to allocate a new line\x0d\n if (lineCols === 0) {\x0d\n this[kWriteToOutput](' ');\x0d\n }\x0d\n\x0d\n // Move cursor to original position.\x0d\n cursorTo(this.output\x2C cursorPos.cols);\x0d\n\x0d\n const diff = lineRows - cursorPos.rows;\x0d\n if (diff > 0) {\x0d\n moveCursor(this.output\x2C 0\x2C -diff);\x0d\n }\x0d\n\x0d\n this.prevRows = cursorPos.rows;\x0d\n }\x0d\n\x0d\n /**\x0d\n * Closes the `readline.Interface` instance.\x0d\n * @returns {void}\x0d\n */\x0d\n close() {\x0d\n if (this.closed) return;\x0d\n this.pause();\x0d\n if (this.terminal) {\x0d\n this[kSetRawMode](false);\x0d\n }\x0d\n this.closed = true;\x0d\n this.emit('close');\x0d\n }\x0d\n\x0d\n /**\x0d\n * Pauses the `input` stream.\x0d\n * @returns {void | Interface}\x0d\n */\x0d\n pause() {\x0d\n if (this.paused) return;\x0d\n this.input.pause();\x0d\n this.paused = true;\x0d\n this.emit('pause');\x0d\n return this;\x0d\n }\x0d\n\x0d\n /**\x0d\n * Resumes the `input` stream if paused.\x0d\n * @returns {void | Interface}\x0d\n */\x0d\n resume() {\x0d\n if (!this.paused) return;\x0d\n this.input.resume();\x0d\n this.paused = false;\x0d\n this.emit('resume');\x0d\n return this;\x0d\n }\x0d\n\x0d\n /**\x0d\n * Writes either `data` or a `key` sequence identified by\x0d\n * `key` to the `output`.\x0d\n * @param {string} d\x0d\n * @param {{\x0d\n * ctrl?: boolean;\x0d\n * meta?: boolean;\x0d\n * shift?: boolean;\x0d\n * name?: string;\x0d\n * }} [key]\x0d\n * @returns {void}\x0d\n */\x0d\n write(d\x2C key) {\x0d\n if (this.paused) this.resume();\x0d\n if (this.terminal) {\x0d\n this[kTtyWrite](d\x2C key);\x0d\n } else {\x0d\n this[kNormalWrite](d);\x0d\n }\x0d\n }\x0d\n\x0d\n [kNormalWrite](b) {\x0d\n if (b === undefined) {\x0d\n return;\x0d\n }\x0d\n let string = this[kDecoder].write(b);\x0d\n if (\x0d\n this[kSawReturnAt] &&\x0d\n DateNow() - this[kSawReturnAt] <= this.crlfDelay\x0d\n ) {\x0d\n if (StringPrototypeCodePointAt(string) === 10) string = StringPrototypeSlice(string\x2C 1);\x0d\n this[kSawReturnAt] = 0;\x0d\n }\x0d\n\x0d\n // Run test() on the new string chunk\x2C not on the entire line buffer.\x0d\n let newPartContainsEnding = RegExpPrototypeExec(lineEnding\x2C string);\x0d\n if (newPartContainsEnding !== null) {\x0d\n if (this[kLine_buffer]) {\x0d\n string = this[kLine_buffer] + string;\x0d\n this[kLine_buffer] = null;\x0d\n lineEnding.lastIndex = 0; // Start the search from the beginning of the string.\x0d\n newPartContainsEnding = RegExpPrototypeExec(lineEnding\x2C string);\x0d\n }\x0d\n this[kSawReturnAt] = StringPrototypeEndsWith(string\x2C '\\r') ?\x0d\n DateNow() :\x0d\n 0;\x0d\n\x0d\n const indexes = [0\x2C newPartContainsEnding.index\x2C lineEnding.lastIndex];\x0d\n let nextMatch;\x0d\n while ((nextMatch = RegExpPrototypeExec(lineEnding\x2C string)) !== null) {\x0d\n ArrayPrototypePush(indexes\x2C nextMatch.index\x2C lineEnding.lastIndex);\x0d\n }\x0d\n const lastIndex = indexes.length - 1;\x0d\n // Either '' or (conceivably) the unfinished portion of the next line\x0d\n this[kLine_buffer] = StringPrototypeSlice(string\x2C indexes[lastIndex]);\x0d\n for (let i = 1; i < lastIndex; i += 2) {\x0d\n this[kOnLine](StringPrototypeSlice(string\x2C indexes[i - 1]\x2C indexes[i]));\x0d\n }\x0d\n } else if (string) {\x0d\n // No newlines this time\x2C save what we have for next time\x0d\n if (this[kLine_buffer]) {\x0d\n this[kLine_buffer] += string;\x0d\n } else {\x0d\n this[kLine_buffer] = string;\x0d\n }\x0d\n }\x0d\n }\x0d\n\x0d\n [kInsertString](c) {\x0d\n this[kBeforeEdit](this.line\x2C this.cursor);\x0d\n if (this.cursor < this.line.length) {\x0d\n const beg = StringPrototypeSlice(this.line\x2C 0\x2C this.cursor);\x0d\n const end = StringPrototypeSlice(\x0d\n this.line\x2C\x0d\n this.cursor\x2C\x0d\n this.line.length\x2C\x0d\n );\x0d\n this.line = beg + c + end;\x0d\n this.cursor += c.length;\x0d\n this[kRefreshLine]();\x0d\n } else {\x0d\n const oldPos = this.getCursorPos();\x0d\n this.line += c;\x0d\n this.cursor += c.length;\x0d\n const newPos = this.getCursorPos();\x0d\n\x0d\n if (oldPos.rows < newPos.rows) {\x0d\n this[kRefreshLine]();\x0d\n } else {\x0d\n this[kWriteToOutput](c);\x0d\n }\x0d\n }\x0d\n }\x0d\n\x0d\n async [kTabComplete](lastKeypressWasTab) {\x0d\n this.pause();\x0d\n const string = StringPrototypeSlice(this.line\x2C 0\x2C this.cursor);\x0d\n let value;\x0d\n try {\x0d\n value = await this.completer(string);\x0d\n } catch (err) {\x0d\n this[kWriteToOutput](`Tab completion error: ${inspect(err)}`);\x0d\n return;\x0d\n } finally {\x0d\n this.resume();\x0d\n }\x0d\n this[kTabCompleter](lastKeypressWasTab\x2C value);\x0d\n }\x0d\n\x0d\n [kTabCompleter](lastKeypressWasTab\x2C { 0: completions\x2C 1: completeOn }) {\x0d\n // Result and the text that was completed.\x0d\n\x0d\n if (!completions || completions.length === 0) {\x0d\n return;\x0d\n }\x0d\n\x0d\n // If there is a common prefix to all matches\x2C then apply that portion.\x0d\n const prefix = commonPrefix(\x0d\n ArrayPrototypeFilter(completions\x2C (e) => e !== '')\x2C\x0d\n );\x0d\n if (StringPrototypeStartsWith(prefix\x2C completeOn) &&\x0d\n prefix.length > completeOn.length) {\x0d\n this[kInsertString](StringPrototypeSlice(prefix\x2C completeOn.length));\x0d\n return;\x0d\n } else if (!StringPrototypeStartsWith(completeOn\x2C prefix)) {\x0d\n this.line = StringPrototypeSlice(this.line\x2C\x0d\n 0\x2C\x0d\n this.cursor - completeOn.length) +\x0d\n prefix +\x0d\n StringPrototypeSlice(this.line\x2C\x0d\n this.cursor\x2C\x0d\n this.line.length);\x0d\n this.cursor = this.cursor - completeOn.length + prefix.length;\x0d\n this[kRefreshLine]();\x0d\n return;\x0d\n }\x0d\n\x0d\n if (!lastKeypressWasTab) {\x0d\n return;\x0d\n }\x0d\n\x0d\n this[kBeforeEdit](this.line\x2C this.cursor);\x0d\n\x0d\n // Apply/show completions.\x0d\n const completionsWidth = ArrayPrototypeMap(completions\x2C (e) =>\x0d\n getStringWidth(e)\x2C\x0d\n );\x0d\n const width = MathMaxApply(completionsWidth) + 2; // 2 space padding\x0d\n let maxColumns = MathFloor(this.columns / width) || 1;\x0d\n if (maxColumns === Infinity) {\x0d\n maxColumns = 1;\x0d\n }\x0d\n let output = '\\r\\n';\x0d\n let lineIndex = 0;\x0d\n let whitespace = 0;\x0d\n for (let i = 0; i < completions.length; i++) {\x0d\n const completion = completions[i];\x0d\n if (completion === '' || lineIndex === maxColumns) {\x0d\n output += '\\r\\n';\x0d\n lineIndex = 0;\x0d\n whitespace = 0;\x0d\n } else {\x0d\n output += StringPrototypeRepeat(' '\x2C whitespace);\x0d\n }\x0d\n if (completion !== '') {\x0d\n output += completion;\x0d\n whitespace = width - completionsWidth[i];\x0d\n lineIndex++;\x0d\n } else {\x0d\n output += '\\r\\n';\x0d\n }\x0d\n }\x0d\n if (lineIndex !== 0) {\x0d\n output += '\\r\\n\\r\\n';\x0d\n }\x0d\n this[kWriteToOutput](output);\x0d\n this[kRefreshLine]();\x0d\n }\x0d\n\x0d\n [kWordLeft]() {\x0d\n if (this.cursor > 0) {\x0d\n // Reverse the string and match a word near beginning\x0d\n // to avoid quadratic time complexity\x0d\n const leading = StringPrototypeSlice(this.line\x2C 0\x2C this.cursor);\x0d\n const reversed = ArrayPrototypeJoin(\x0d\n ArrayPrototypeReverse(ArrayFrom(leading))\x2C\x0d\n ''\x2C\x0d\n );\x0d\n const match = RegExpPrototypeExec(/^\\s*(?:[^\\w\\s]+|\\w+)?/\x2C reversed);\x0d\n this[kMoveCursor](-match[0].length);\x0d\n }\x0d\n }\x0d\n\x0d\n [kWordRight]() {\x0d\n if (this.cursor < this.line.length) {\x0d\n const trailing = StringPrototypeSlice(this.line\x2C this.cursor);\x0d\n const match = RegExpPrototypeExec(/^(?:\\s+|[^\\w\\s]+|\\w+)\\s*/\x2C trailing);\x0d\n this[kMoveCursor](match[0].length);\x0d\n }\x0d\n }\x0d\n\x0d\n [kDeleteLeft]() {\x0d\n if (this.cursor > 0 && this.line.length > 0) {\x0d\n this[kBeforeEdit](this.line\x2C this.cursor);\x0d\n // The number of UTF-16 units comprising the character to the left\x0d\n const charSize = charLengthLeft(this.line\x2C this.cursor);\x0d\n this.line =\x0d\n StringPrototypeSlice(this.line\x2C 0\x2C this.cursor - charSize) +\x0d\n StringPrototypeSlice(this.line\x2C this.cursor\x2C this.line.length);\x0d\n\x0d\n this.cursor -= charSize;\x0d\n this[kRefreshLine]();\x0d\n }\x0d\n }\x0d\n\x0d\n [kDeleteRight]() {\x0d\n if (this.cursor < this.line.length) {\x0d\n this[kBeforeEdit](this.line\x2C this.cursor);\x0d\n // The number of UTF-16 units comprising the character to the left\x0d\n const charSize = charLengthAt(this.line\x2C this.cursor);\x0d\n this.line =\x0d\n StringPrototypeSlice(this.line\x2C 0\x2C this.cursor) +\x0d\n StringPrototypeSlice(\x0d\n this.line\x2C\x0d\n this.cursor + charSize\x2C\x0d\n this.line.length\x2C\x0d\n );\x0d\n this[kRefreshLine]();\x0d\n }\x0d\n }\x0d\n\x0d\n [kDeleteWordLeft]() {\x0d\n if (this.cursor > 0) {\x0d\n this[kBeforeEdit](this.line\x2C this.cursor);\x0d\n // Reverse the string and match a word near beginning\x0d\n // to avoid quadratic time complexity\x0d\n let leading = StringPrototypeSlice(this.line\x2C 0\x2C this.cursor);\x0d\n const reversed = ArrayPrototypeJoin(\x0d\n ArrayPrototypeReverse(ArrayFrom(leading))\x2C\x0d\n ''\x2C\x0d\n );\x0d\n const match = RegExpPrototypeExec(/^\\s*(?:[^\\w\\s]+|\\w+)?/\x2C reversed);\x0d\n leading = StringPrototypeSlice(\x0d\n leading\x2C\x0d\n 0\x2C\x0d\n leading.length - match[0].length\x2C\x0d\n );\x0d\n this.line =\x0d\n leading +\x0d\n StringPrototypeSlice(this.line\x2C this.cursor\x2C this.line.length);\x0d\n this.cursor = leading.length;\x0d\n this[kRefreshLine]();\x0d\n }\x0d\n }\x0d\n\x0d\n [kDeleteWordRight]() {\x0d\n if (this.cursor < this.line.length) {\x0d\n this[kBeforeEdit](this.line\x2C this.cursor);\x0d\n const trailing = StringPrototypeSlice(this.line\x2C this.cursor);\x0d\n const match = RegExpPrototypeExec(/^(?:\\s+|\\W+|\\w+)\\s*/\x2C trailing);\x0d\n this.line =\x0d\n StringPrototypeSlice(this.line\x2C 0\x2C this.cursor) +\x0d\n StringPrototypeSlice(trailing\x2C match[0].length);\x0d\n this[kRefreshLine]();\x0d\n }\x0d\n }\x0d\n\x0d\n [kDeleteLineLeft]() {\x0d\n this[kBeforeEdit](this.line\x2C this.cursor);\x0d\n const del = StringPrototypeSlice(this.line\x2C 0\x2C this.cursor);\x0d\n this.line = StringPrototypeSlice(this.line\x2C this.cursor);\x0d\n this.cursor = 0;\x0d\n this[kPushToKillRing](del);\x0d\n this[kRefreshLine]();\x0d\n }\x0d\n\x0d\n [kDeleteLineRight]() {\x0d\n this[kBeforeEdit](this.line\x2C this.cursor);\x0d\n const del = StringPrototypeSlice(this.line\x2C this.cursor);\x0d\n this.line = StringPrototypeSlice(this.line\x2C 0\x2C this.cursor);\x0d\n this[kPushToKillRing](del);\x0d\n this[kRefreshLine]();\x0d\n }\x0d\n\x0d\n [kPushToKillRing](del) {\x0d\n if (!del || del === this[kKillRing][0]) return;\x0d\n ArrayPrototypeUnshift(this[kKillRing]\x2C del);\x0d\n this[kKillRingCursor] = 0;\x0d\n while (this[kKillRing].length > kMaxLengthOfKillRing)\x0d\n ArrayPrototypePop(this[kKillRing]);\x0d\n }\x0d\n\x0d\n [kYank]() {\x0d\n if (this[kKillRing].length > 0) {\x0d\n this[kYanking] = true;\x0d\n this[kInsertString](this[kKillRing][this[kKillRingCursor]]);\x0d\n }\x0d\n }\x0d\n\x0d\n [kYankPop]() {\x0d\n if (!this[kYanking]) {\x0d\n return;\x0d\n }\x0d\n if (this[kKillRing].length > 1) {\x0d\n const lastYank = this[kKillRing][this[kKillRingCursor]];\x0d\n this[kKillRingCursor]++;\x0d\n if (this[kKillRingCursor] >= this[kKillRing].length) {\x0d\n this[kKillRingCursor] = 0;\x0d\n }\x0d\n const currentYank = this[kKillRing][this[kKillRingCursor]];\x0d\n const head =\x0d\n StringPrototypeSlice(this.line\x2C 0\x2C this.cursor - lastYank.length);\x0d\n const tail =\x0d\n StringPrototypeSlice(this.line\x2C this.cursor);\x0d\n this.line = head + currentYank + tail;\x0d\n this.cursor = head.length + currentYank.length;\x0d\n this[kRefreshLine]();\x0d\n }\x0d\n }\x0d\n\x0d\n clearLine() {\x0d\n this[kMoveCursor](+Infinity);\x0d\n this[kWriteToOutput]('\\r\\n');\x0d\n this.line = '';\x0d\n this.cursor = 0;\x0d\n this.prevRows = 0;\x0d\n }\x0d\n\x0d\n [kLine]() {\x0d\n const line = this[kAddHistory]();\x0d\n this[kUndoStack] = [];\x0d\n this[kRedoStack] = [];\x0d\n this.clearLine();\x0d\n this[kOnLine](line);\x0d\n }\x0d\n\x0d\n [kPushToUndoStack](text\x2C cursor) {\x0d\n if (ArrayPrototypePush(this[kUndoStack]\x2C { text\x2C cursor }) >\x0d\n kMaxUndoRedoStackSize) {\x0d\n ArrayPrototypeShift(this[kUndoStack]);\x0d\n }\x0d\n }\x0d\n\x0d\n [kUndo]() {\x0d\n if (this[kUndoStack].length <= 0) return;\x0d\n\x0d\n ArrayPrototypePush(\x0d\n this[kRedoStack]\x2C\x0d\n { text: this.line\x2C cursor: this.cursor }\x2C\x0d\n );\x0d\n\x0d\n const entry = ArrayPrototypePop(this[kUndoStack]);\x0d\n this.line = entry.text;\x0d\n this.cursor = entry.cursor;\x0d\n\x0d\n this[kRefreshLine]();\x0d\n }\x0d\n\x0d\n [kRedo]() {\x0d\n if (this[kRedoStack].length <= 0) return;\x0d\n\x0d\n ArrayPrototypePush(\x0d\n this[kUndoStack]\x2C\x0d\n { text: this.line\x2C cursor: this.cursor }\x2C\x0d\n );\x0d\n\x0d\n const entry = ArrayPrototypePop(this[kRedoStack]);\x0d\n this.line = entry.text;\x0d\n this.cursor = entry.cursor;\x0d\n\x0d\n this[kRefreshLine]();\x0d\n }\x0d\n\x0d\n // TODO(BridgeAR): Add underscores to the search part and a red background in\x0d\n // case no match is found. This should only be the visual part and not the\x0d\n // actual line content!\x0d\n // TODO(BridgeAR): In case the substring based search is active and the end is\x0d\n // reached\x2C show a comment how to search the history as before. E.g.\x2C using\x0d\n // <ctrl> + N. Only show this after two/three UPs or DOWNs\x2C not on the first\x0d\n // one.\x0d\n [kHistoryNext]() {\x0d\n if (this.historyIndex >= 0) {\x0d\n this[kBeforeEdit](this.line\x2C this.cursor);\x0d\n const search = this[kSubstringSearch] || '';\x0d\n let index = this.historyIndex - 1;\x0d\n while (\x0d\n index >= 0 &&\x0d\n (!StringPrototypeStartsWith(this.history[index]\x2C search) ||\x0d\n this.line === this.history[index])\x0d\n ) {\x0d\n index--;\x0d\n }\x0d\n if (index === -1) {\x0d\n this.line = search;\x0d\n } else {\x0d\n this.line = this.history[index];\x0d\n }\x0d\n this.historyIndex = index;\x0d\n this.cursor = this.line.length; // Set cursor to end of line.\x0d\n this[kRefreshLine]();\x0d\n }\x0d\n }\x0d\n\x0d\n [kHistoryPrev]() {\x0d\n if (this.historyIndex < this.history.length && this.history.length) {\x0d\n this[kBeforeEdit](this.line\x2C this.cursor);\x0d\n const search = this[kSubstringSearch] || '';\x0d\n let index = this.historyIndex + 1;\x0d\n while (\x0d\n index < this.history.length &&\x0d\n (!StringPrototypeStartsWith(this.history[index]\x2C search) ||\x0d\n this.line === this.history[index])\x0d\n ) {\x0d\n index++;\x0d\n }\x0d\n if (index === this.history.length) {\x0d\n this.line = search;\x0d\n } else {\x0d\n this.line = this.history[index];\x0d\n }\x0d\n this.historyIndex = index;\x0d\n this.cursor = this.line.length; // Set cursor to end of line.\x0d\n this[kRefreshLine]();\x0d\n }\x0d\n }\x0d\n\x0d\n // Returns the last character's display position of the given string\x0d\n [kGetDisplayPos](str) {\x0d\n let offset = 0;\x0d\n const col = this.columns;\x0d\n let rows = 0;\x0d\n str = stripVTControlCharacters(str);\x0d\n for (const char of new SafeStringIterator(str)) {\x0d\n if (char === '\\n') {\x0d\n // Rows must be incremented by 1 even if offset = 0 or col = +Infinity.\x0d\n rows += MathCeil(offset / col) || 1;\x0d\n offset = 0;\x0d\n continue;\x0d\n }\x0d\n // Tabs must be aligned by an offset of the tab size.\x0d\n if (char === '\\t') {\x0d\n offset += this.tabSize - (offset % this.tabSize);\x0d\n continue;\x0d\n }\x0d\n const width = getStringWidth(char\x2C false /* stripVTControlCharacters */);\x0d\n if (width === 0 || width === 1) {\x0d\n offset += width;\x0d\n } else {\x0d\n // width === 2\x0d\n if ((offset + 1) % col === 0) {\x0d\n offset++;\x0d\n }\x0d\n offset += 2;\x0d\n }\x0d\n }\x0d\n const cols = offset % col;\x0d\n rows += (offset - cols) / col;\x0d\n return { cols\x2C rows };\x0d\n }\x0d\n\x0d\n /**\x0d\n * Returns the real position of the cursor in relation\x0d\n * to the input prompt + string.\x0d\n * @returns {{\x0d\n * rows: number;\x0d\n * cols: number;\x0d\n * }}\x0d\n */\x0d\n getCursorPos() {\x0d\n const strBeforeCursor =\x0d\n this[kPrompt] + StringPrototypeSlice(this.line\x2C 0\x2C this.cursor);\x0d\n return this[kGetDisplayPos](strBeforeCursor);\x0d\n }\x0d\n\x0d\n // This function moves cursor dx places to the right\x0d\n // (-dx for left) and refreshes the line if it is needed.\x0d\n [kMoveCursor](dx) {\x0d\n if (dx === 0) {\x0d\n return;\x0d\n }\x0d\n const oldPos = this.getCursorPos();\x0d\n this.cursor += dx;\x0d\n\x0d\n // Bounds check\x0d\n if (this.cursor < 0) {\x0d\n this.cursor = 0;\x0d\n } else if (this.cursor > this.line.length) {\x0d\n this.cursor = this.line.length;\x0d\n }\x0d\n\x0d\n const newPos = this.getCursorPos();\x0d\n\x0d\n // Check if cursor stayed on the line.\x0d\n if (oldPos.rows === newPos.rows) {\x0d\n const diffWidth = newPos.cols - oldPos.cols;\x0d\n moveCursor(this.output\x2C diffWidth\x2C 0);\x0d\n } else {\x0d\n this[kRefreshLine]();\x0d\n }\x0d\n }\x0d\n\x0d\n // Handle a write from the tty\x0d\n [kTtyWrite](s\x2C key) {\x0d\n const previousKey = this[kPreviousKey];\x0d\n key = key || kEmptyObject;\x0d\n this[kPreviousKey] = key;\x0d\n\x0d\n if (!key.meta || key.name !== 'y') {\x0d\n // Reset yanking state unless we are doing yank pop.\x0d\n this[kYanking] = false;\x0d\n }\x0d\n\x0d\n // Activate or deactivate substring search.\x0d\n if (\x0d\n (key.name === 'up' || key.name === 'down') &&\x0d\n !key.ctrl &&\x0d\n !key.meta &&\x0d\n !key.shift\x0d\n ) {\x0d\n if (this[kSubstringSearch] === null) {\x0d\n this[kSubstringSearch] = StringPrototypeSlice(\x0d\n this.line\x2C\x0d\n 0\x2C\x0d\n this.cursor\x2C\x0d\n );\x0d\n }\x0d\n } else if (this[kSubstringSearch] !== null) {\x0d\n this[kSubstringSearch] = null;\x0d\n // Reset the index in case there's no match.\x0d\n if (this.history.length === this.historyIndex) {\x0d\n this.historyIndex = -1;\x0d\n }\x0d\n }\x0d\n\x0d\n // Undo & Redo\x0d\n if (typeof key.sequence === 'string') {\x0d\n switch (StringPrototypeCodePointAt(key.sequence\x2C 0)) {\x0d\n case 0x1f:\x0d\n this[kUndo]();\x0d\n return;\x0d\n case 0x1e:\x0d\n this[kRedo]();\x0d\n return;\x0d\n default:\x0d\n break;\x0d\n }\x0d\n }\x0d\n\x0d\n // Ignore escape key\x2C fixes\x0d\n // https://github.com/nodejs/node-v0.x-archive/issues/2876.\x0d\n if (key.name === 'escape') return;\x0d\n\x0d\n if (key.ctrl && key.shift) {\x0d\n /* Control and shift pressed */\x0d\n switch (key.name) {\x0d\n // TODO(BridgeAR): The transmitted escape sequence is `\\b` and that is\x0d\n // identical to <ctrl>-h. It should have a unique escape sequence.\x0d\n case 'backspace':\x0d\n this[kDeleteLineLeft]();\x0d\n break;\x0d\n\x0d\n case 'delete':\x0d\n this[kDeleteLineRight]();\x0d\n break;\x0d\n }\x0d\n } else if (key.ctrl) {\x0d\n /* Control key pressed */\x0d\n\x0d\n switch (key.name) {\x0d\n case 'c':\x0d\n if (this.listenerCount('SIGINT') > 0) {\x0d\n this.emit('SIGINT');\x0d\n } else {\x0d\n // This readline instance is finished\x0d\n this.close();\x0d\n }\x0d\n break;\x0d\n\x0d\n case 'h': // delete left\x0d\n this[kDeleteLeft]();\x0d\n break;\x0d\n\x0d\n case 'd': // delete right or EOF\x0d\n if (this.cursor === 0 && this.line.length === 0) {\x0d\n // This readline instance is finished\x0d\n this.close();\x0d\n } else if (this.cursor < this.line.length) {\x0d\n this[kDeleteRight]();\x0d\n }\x0d\n break;\x0d\n\x0d\n case 'u': // Delete from current to start of line\x0d\n this[kDeleteLineLeft]();\x0d\n break;\x0d\n\x0d\n case 'k': // Delete from current to end of line\x0d\n this[kDeleteLineRight]();\x0d\n break;\x0d\n\x0d\n case 'a': // Go to the start of the line\x0d\n this[kMoveCursor](-Infinity);\x0d\n break;\x0d\n\x0d\n case 'e': // Go to the end of the line\x0d\n this[kMoveCursor](+Infinity);\x0d\n break;\x0d\n\x0d\n case 'b': // back one character\x0d\n this[kMoveCursor](-charLengthLeft(this.line\x2C this.cursor));\x0d\n break;\x0d\n\x0d\n case 'f': // Forward one character\x0d\n this[kMoveCursor](+charLengthAt(this.line\x2C this.cursor));\x0d\n break;\x0d\n\x0d\n case 'l': // Clear the whole screen\x0d\n cursorTo(this.output\x2C 0\x2C 0);\x0d\n clearScreenDown(this.output);\x0d\n this[kRefreshLine]();\x0d\n break;\x0d\n\x0d\n case 'n': // next history item\x0d\n this[kHistoryNext]();\x0d\n break;\x0d\n\x0d\n case 'p': // Previous history item\x0d\n this[kHistoryPrev]();\x0d\n break;\x0d\n\x0d\n case 'y': // Yank killed string\x0d\n this[kYank]();\x0d\n break;\x0d\n\x0d\n case 'z':\x0d\n if (process.platform === 'win32') break;\x0d\n if (this.listenerCount('SIGTSTP') > 0) {\x0d\n this.emit('SIGTSTP');\x0d\n } else {\x0d\n process.once('SIGCONT'\x2C () => {\x0d\n // Don't raise events if stream has already been abandoned.\x0d\n if (!this.paused) {\x0d\n // Stream must be paused and resumed after SIGCONT to catch\x0d\n // SIGINT\x2C SIGTSTP\x2C and EOF.\x0d\n this.pause();\x0d\n this.emit('SIGCONT');\x0d\n }\x0d\n // Explicitly re-enable "raw mode" and move the cursor to\x0d\n // the correct position.\x0d\n // See https://github.com/joyent/node/issues/3295.\x0d\n this[kSetRawMode](true);\x0d\n this[kRefreshLine]();\x0d\n });\x0d\n this[kSetRawMode](false);\x0d\n process.kill(process.pid\x2C 'SIGTSTP');\x0d\n }\x0d\n break;\x0d\n\x0d\n case 'w': // Delete backwards to a word boundary\x0d\n // TODO(BridgeAR): The transmitted escape sequence is `\\b` and that is\x0d\n // identical to <ctrl>-h. It should have a unique escape sequence.\x0d\n // Falls through\x0d\n case 'backspace':\x0d\n this[kDeleteWordLeft]();\x0d\n break;\x0d\n\x0d\n case 'delete': // Delete forward to a word boundary\x0d\n this[kDeleteWordRight]();\x0d\n break;\x0d\n\x0d\n case 'left':\x0d\n this[kWordLeft]();\x0d\n break;\x0d\n\x0d\n case 'right':\x0d\n this[kWordRight]();\x0d\n break;\x0d\n }\x0d\n } else if (key.meta) {\x0d\n /* Meta key pressed */\x0d\n\x0d\n switch (key.name) {\x0d\n case 'b': // backward word\x0d\n this[kWordLeft]();\x0d\n break;\x0d\n\x0d\n case 'f': // forward word\x0d\n this[kWordRight]();\x0d\n break;\x0d\n\x0d\n case 'd': // delete forward word\x0d\n case 'delete':\x0d\n this[kDeleteWordRight]();\x0d\n break;\x0d\n\x0d\n case 'backspace': // Delete backwards to a word boundary\x0d\n this[kDeleteWordLeft]();\x0d\n break;\x0d\n\x0d\n case 'y': // Doing yank pop\x0d\n this[kYankPop]();\x0d\n break;\x0d\n }\x0d\n } else {\x0d\n /* No modifier keys used */\x0d\n\x0d\n // \\r bookkeeping is only relevant if a \\n comes right after.\x0d\n if (this[kSawReturnAt] && key.name !== 'enter') this[kSawReturnAt] = 0;\x0d\n\x0d\n switch (key.name) {\x0d\n case 'return': // Carriage return\x2C i.e. \\r\x0d\n this[kSawReturnAt] = DateNow();\x0d\n this[kLine]();\x0d\n break;\x0d\n\x0d\n case 'enter':\x0d\n // When key interval > crlfDelay\x0d\n if (\x0d\n this[kSawReturnAt] === 0 ||\x0d\n DateNow() - this[kSawReturnAt] > this.crlfDelay\x0d\n ) {\x0d\n this[kLine]();\x0d\n }\x0d\n this[kSawReturnAt] = 0;\x0d\n break;\x0d\n\x0d\n case 'backspace':\x0d\n this[kDeleteLeft]();\x0d\n break;\x0d\n\x0d\n case 'delete':\x0d\n this[kDeleteRight]();\x0d\n break;\x0d\n\x0d\n case 'left':\x0d\n // Obtain the code point to the left\x0d\n this[kMoveCursor](-charLengthLeft(this.line\x2C this.cursor));\x0d\n break;\x0d\n\x0d\n case 'right':\x0d\n this[kMoveCursor](+charLengthAt(this.line\x2C this.cursor));\x0d\n break;\x0d\n\x0d\n case 'home':\x0d\n this[kMoveCursor](-Infinity);\x0d\n break;\x0d\n\x0d\n case 'end':\x0d\n this[kMoveCursor](+Infinity);\x0d\n break;\x0d\n\x0d\n case 'up':\x0d\n this[kHistoryPrev]();\x0d\n break;\x0d\n\x0d\n case 'down':\x0d\n this[kHistoryNext]();\x0d\n break;\x0d\n\x0d\n case 'tab':\x0d\n // If tab completion enabled\x2C do that...\x0d\n if (\x0d\n typeof this.completer === 'function' &&\x0d\n this.isCompletionEnabled\x0d\n ) {\x0d\n const lastKeypressWasTab =\x0d\n previousKey && previousKey.name === 'tab';\x0d\n this[kTabComplete](lastKeypressWasTab);\x0d\n break;\x0d\n }\x0d\n // falls through\x0d\n default:\x0d\n if (typeof s === 'string' && s) {\x0d\n // Erase state of previous searches.\x0d\n lineEnding.lastIndex = 0;\x0d\n let nextMatch;\x0d\n // Keep track of the end of the last match.\x0d\n let lastIndex = 0;\x0d\n while ((nextMatch = RegExpPrototypeExec(lineEnding\x2C s)) !== null) {\x0d\n this[kInsertString](StringPrototypeSlice(s\x2C lastIndex\x2C nextMatch.index));\x0d\n ({ lastIndex } = lineEnding);\x0d\n this[kLine]();\x0d\n // Restore lastIndex as the call to kLine could have mutated it.\x0d\n lineEnding.lastIndex = lastIndex;\x0d\n }\x0d\n // This ensures that the last line is written if it doesn't end in a newline.\x0d\n // Note that the last line may be the first line\x2C in which case this still works.\x0d\n this[kInsertString](StringPrototypeSlice(s\x2C lastIndex));\x0d\n }\x0d\n }\x0d\n }\x0d\n }\x0d\n\x0d\n /**\x0d\n * Creates an `AsyncIterator` object that iterates through\x0d\n * each line in the input stream as a string.\x0d\n * @typedef {{\x0d\n * [Symbol.asyncIterator]: () => InterfaceAsyncIterator\x2C\x0d\n * next: () => Promise<string>\x0d\n * }} InterfaceAsyncIterator\x0d\n * @returns {InterfaceAsyncIterator}\x0d\n */\x0d\n [SymbolAsyncIterator]() {\x0d\n if (this[kLineObjectStream] === undefined) {\x0d\n kFirstEventParam ??= require('internal/events/symbols').kFirstEventParam;\x0d\n this[kLineObjectStream] = EventEmitter.on(\x0d\n this\x2C 'line'\x2C {\x0d\n close: ['close']\x2C\x0d\n highWaterMark: 1024\x2C\x0d\n [kFirstEventParam]: true\x2C\x0d\n });\x0d\n }\x0d\n return this[kLineObjectStream];\x0d\n }\x0d\n}\x0d\n\x0d\nmodule.exports = {\x0d\n Interface\x2C\x0d\n InterfaceConstructor\x2C\x0d\n kAddHistory\x2C\x0d\n kDecoder\x2C\x0d\n kDeleteLeft\x2C\x0d\n kDeleteLineLeft\x2C\x0d\n kDeleteLineRight\x2C\x0d\n kDeleteRight\x2C\x0d\n kDeleteWordLeft\x2C\x0d\n kDeleteWordRight\x2C\x0d\n kGetDisplayPos\x2C\x0d\n kHistoryNext\x2C\x0d\n kHistoryPrev\x2C\x0d\n kInsertString\x2C\x0d\n kLine\x2C\x0d\n kLine_buffer\x2C\x0d\n kMoveCursor\x2C\x0d\n kNormalWrite\x2C\x0d\n kOldPrompt\x2C\x0d\n kOnLine\x2C\x0d\n kPreviousKey\x2C\x0d\n kPrompt\x2C\x0d\n kQuestion\x2C\x0d\n kQuestionCallback\x2C\x0d\n kQuestionCancel\x2C\x0d\n kRefreshLine\x2C\x0d\n kSawKeyPress\x2C\x0d\n kSawReturnAt\x2C\x0d\n kSetRawMode\x2C\x0d\n kTabComplete\x2C\x0d\n kTabCompleter\x2C\x0d\n kTtyWrite\x2C\x0d\n kWordLeft\x2C\x0d\n kWordRight\x2C\x0d\n kWriteToOutput\x2C\x0d\n};\x0d\n
code-source-info,0x158ab336c86,123,0,40495,C0O0C4O40495,,
tick,0x7ff7b943cab6,458992,1,0x7ff7b8fa3800,3,0x7ff7b99b2970,0x7ff739bc3f26,0x7ff739bc3ca1,0x22cbe47dd28,0x7ff739bc3feb,0x7ff739bc3ca1,0x22cbe477be3,0x7ff739bc3feb,0x7ff739bc3ca1,0x158ab31534f,0x7ff739bc3feb,0x7ff739bc3ca1,0x158ab30fa20,0x7ff739bc3feb,0x7ff739bc3ca1,0x23c51978956,0x23c519693ae,0x23c51968a11,0x23c51942948
code-creation,JS,10,459171,0x158ab33986e,1903, node:internal/readline/interface:1:1,0x158ab336c00,~
code-source-info,0x158ab33986e,123,0,40495,C0O0C318O28C324O42C330O67C336O93C342O116C348O138C354O160C360O183C366O209C372O234C378O258C384O284C390O296C396O322C402O335C408O349C414O361C420O378C426O397C431O422C437O446C443O477C449O505C455O531C461O556C467O586C473O610C478O621C484O639C489O663C495O722C501O722C506O712C511O764C517O790C523O936C529O936C534O835C540O859C546O877C552O896C558O915C564O994C570O994C575O977C581O1094C587O1094C592O1032C598O1044C604O1063C610O1150C616O1150C620O1150C622O1199C628O1199C633O1178C639O1330C645O1330C650O1254C656O1271C662O1290C668O1307C674O1371C675O1371C677O1396C678O1396C680O1476C686O1476C691O1426C697O1446C703O1459C709O1545C715O1545C720O1527C726O1596C728O1596C730O1631C734O1631C736O1660C738O1660C740O1741C745O1741C747O1789C750O1789C754O1789C756O1844C759O1844C764O1890C767O1890C772O2003C776O2003C778O2072C780O2072C782O2099C785O2099C789O2099C791O2143C794O2143C798O2143C800O2184C803O2184C807O2184C809O2225C812O2225C816O2225C818O2273C821O2273C825O2273C827O2326C830O2326C834O2326C836O2376C839O2376C843O2376C845O2425C848O2425C852O2425C854O2478C857O2478C861O2478C863O2530C866O2530C870O2530C872O2578C875O2578C879O2578C881O2624C884O2624C888O2624C890O2671C893O2671C897O2671C899O2711C902O2711C906O2711C908O2750C911O2750C915O2750C917O2793C920O2793C924O2793C926O2839C929O2839C933O2839C935O2887C938O2887C942O2887C944O2932C947O2932C951O2932C953O2976C956O2976C960O2976C962O3015C965O3015C969O3015C971O3056C974O3056C978O3056C980O3097C983O3097C987O3097C989O3141C992O3141C996O3141C998O3194C1001O3194C1005O3194C1007O3249C1010O3249C1014O3249C1016O3293C1019O3293C1023O3293C1025O3330C1028O3330C1032O3330C1034O3374C1037O3374C1041O3374C1043O3420C1046O3420C1050O3420C1052O3466C1055O3466C1059O3466C1061O3511C1064O3511C1068O3511C1070O3556C1073O3556C1077O3556C1079O3603C1082O3603C1086O3603C1088O3647C1091O3647C1095O3647C1097O3683C1100O3683C1104O3683C1106O3720C1109O3720C1113O3720C1115O3761C1118O3761C1122O3761C1124O3802C1127O3802C1131O3802C1133O3848C1136O3848C1140O3848C1142O3889C1145O3889C1149O3889C1151O3924C1154O3924C1158O3924C1160O3962C1163O3962C1167O3962C1169O9729C1177O9753C1182O9687C1187O9766C1190O9766C1195O9851C1218O10473C1232O11086C1244O11411C1254O11668C1262O11763C1274O11943C1284O12152C1294O13370C1328O15603C1338O17388C1348O18093C1358O18505C1368O20788C1378O21267C1388O21537C1398O22037C1408O22538C1418O23326C1428O23769C1438O24060C1448O24330C1458O24602C1468O24768C1484O25629C1494O25795C1504O25993C1514O26320C1524O27085C1534O27746C1544O28553C1560O30007C1570O30627C1578O39484C1604O39881C1611O39903C1617O39917C1623O39942C1629O39958C1635O39971C1641O39987C1647O40007C1653O40028C1659O40045C1665O40065C1671O40086C1677O40105C1683O40122C1689O40139C1695O40157C1701O40167C1707O40184C1713O40200C1723O40217C1733O40232C1743O40244C1753O40261C1763O40273C1773O40287C1783O40309C1793O40329C1803O40346C1813O40363C1823O40380C1833O40396C1843O40413C1853O40431C1863O40445C1873O40459C1883O40474C1893O39896C1902O40494,,
code-creation,Eval,10,460641,0x158ab33e92e,5, node:readline/promises:1:1,0x158ab33e748,~
script-source,124,node:readline/promises,'use strict';\x0d\n\x0d\nconst {\x0d\n Promise\x2C\x0d\n SymbolDispose\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst {\x0d\n Readline\x2C\x0d\n} = require('internal/readline/promises');\x0d\n\x0d\nconst {\x0d\n Interface: _Interface\x2C\x0d\n kQuestion\x2C\x0d\n kQuestionCancel\x2C\x0d\n} = require('internal/readline/interface');\x0d\n\x0d\nconst {\x0d\n AbortError\x2C\x0d\n} = require('internal/errors');\x0d\nconst { validateAbortSignal } = require('internal/validators');\x0d\n\x0d\nconst {\x0d\n kEmptyObject\x2C\x0d\n} = require('internal/util');\x0d\nlet addAbortListener;\x0d\n\x0d\nclass Interface extends _Interface {\x0d\n // eslint-disable-next-line no-useless-constructor\x0d\n constructor(input\x2C output\x2C completer\x2C terminal) {\x0d\n super(input\x2C output\x2C completer\x2C terminal);\x0d\n }\x0d\n question(query\x2C options = kEmptyObject) {\x0d\n return new Promise((resolve\x2C reject) => {\x0d\n let cb = resolve;\x0d\n\x0d\n if (options?.signal) {\x0d\n validateAbortSignal(options.signal\x2C 'options.signal');\x0d\n if (options.signal.aborted) {\x0d\n return reject(\x0d\n new AbortError(undefined\x2C { cause: options.signal.reason }));\x0d\n }\x0d\n\x0d\n const onAbort = () => {\x0d\n this[kQuestionCancel]();\x0d\n reject(new AbortError(undefined\x2C { cause: options.signal.reason }));\x0d\n };\x0d\n addAbortListener ??= require('internal/events/abort_listener').addAbortListener;\x0d\n const disposable = addAbortListener(options.signal\x2C onAbort);\x0d\n\x0d\n cb = (answer) => {\x0d\n disposable[SymbolDispose]();\x0d\n resolve(answer);\x0d\n };\x0d\n }\x0d\n\x0d\n this[kQuestion](query\x2C cb);\x0d\n });\x0d\n }\x0d\n}\x0d\n\x0d\nfunction createInterface(input\x2C output\x2C completer\x2C terminal) {\x0d\n return new Interface(input\x2C output\x2C completer\x2C terminal);\x0d\n}\x0d\n\x0d\nmodule.exports = {\x0d\n Interface\x2C\x0d\n Readline\x2C\x0d\n createInterface\x2C\x0d\n};\x0d\n
code-source-info,0x158ab33e92e,124,0,1728,C0O0C4O1728,,
code-creation,JS,10,460840,0x158ab33ecde,210, node:readline/promises:1:1,0x158ab33e8a8,~
code-source-info,0x158ab33ecde,124,0,1728,C0O0C41O28C47O40C53O102C59O102C64O87C69O217C75O217C80O166C85O181C91O195C97O288C103O288C108O271C114O349C120O349C125O325C131O414C137O414C142O395C148O445C149O445C151O490C177O466C179O1657C186O1679C192O1693C198O1706C204O1672C209O1727,,
new,MemoryChunk,0x2d4ae600000,262144
code-creation,Eval,10,461435,0x158ab33f596,5, node:internal/readline/promises:1:1,0x158ab33f2c8,~
script-source,125,node:internal/readline/promises,'use strict';\x0d\n\x0d\nconst {\x0d\n ArrayPrototypeJoin\x2C\x0d\n ArrayPrototypePush\x2C\x0d\n Promise\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst { CSI } = require('internal/readline/utils');\x0d\nconst { validateBoolean\x2C validateInteger } = require('internal/validators');\x0d\nconst { isWritable } = require('internal/streams/utils');\x0d\nconst { codes: { ERR_INVALID_ARG_TYPE } } = require('internal/errors');\x0d\n\x0d\nconst {\x0d\n kClearToLineBeginning\x2C\x0d\n kClearToLineEnd\x2C\x0d\n kClearLine\x2C\x0d\n kClearScreenDown\x2C\x0d\n} = CSI;\x0d\n\x0d\nclass Readline {\x0d\n #autoCommit = false;\x0d\n #stream;\x0d\n #todo = [];\x0d\n\x0d\n constructor(stream\x2C options = undefined) {\x0d\n if (!isWritable(stream))\x0d\n throw new ERR_INVALID_ARG_TYPE('stream'\x2C 'Writable'\x2C stream);\x0d\n this.#stream = stream;\x0d\n if (options?.autoCommit != null) {\x0d\n validateBoolean(options.autoCommit\x2C 'options.autoCommit');\x0d\n this.#autoCommit = options.autoCommit;\x0d\n }\x0d\n }\x0d\n\x0d\n /**\x0d\n * Moves the cursor to the x and y coordinate on the given stream.\x0d\n * @param {integer} x\x0d\n * @param {integer} [y]\x0d\n * @returns {Readline} this\x0d\n */\x0d\n cursorTo(x\x2C y = undefined) {\x0d\n validateInteger(x\x2C 'x');\x0d\n if (y != null) validateInteger(y\x2C 'y');\x0d\n\x0d\n const data = y == null ? CSI`${x + 1}G` : CSI`${y + 1};${x + 1}H`;\x0d\n if (this.#autoCommit) process.nextTick(() => this.#stream.write(data));\x0d\n else ArrayPrototypePush(this.#todo\x2C data);\x0d\n\x0d\n return this;\x0d\n }\x0d\n\x0d\n /**\x0d\n * Moves the cursor relative to its current location.\x0d\n * @param {integer} dx\x0d\n * @param {integer} dy\x0d\n * @returns {Readline} this\x0d\n */\x0d\n moveCursor(dx\x2C dy) {\x0d\n if (dx || dy) {\x0d\n validateInteger(dx\x2C 'dx');\x0d\n validateInteger(dy\x2C 'dy');\x0d\n\x0d\n let data = '';\x0d\n\x0d\n if (dx < 0) {\x0d\n data += CSI`${-dx}D`;\x0d\n } else if (dx > 0) {\x0d\n data += CSI`${dx}C`;\x0d\n }\x0d\n\x0d\n if (dy < 0) {\x0d\n data += CSI`${-dy}A`;\x0d\n } else if (dy > 0) {\x0d\n data += CSI`${dy}B`;\x0d\n }\x0d\n if (this.#autoCommit) process.nextTick(() => this.#stream.write(data));\x0d\n else ArrayPrototypePush(this.#todo\x2C data);\x0d\n }\x0d\n return this;\x0d\n }\x0d\n\x0d\n /**\x0d\n * Clears the current line the cursor is on.\x0d\n * @param {-1|0|1} dir Direction to clear:\x0d\n * -1 for left of the cursor\x0d\n * +1 for right of the cursor\x0d\n * 0 for the entire line\x0d\n * @returns {Readline} this\x0d\n */\x0d\n clearLine(dir) {\x0d\n validateInteger(dir\x2C 'dir'\x2C -1\x2C 1);\x0d\n\x0d\n const data =\x0d\n dir < 0 ? kClearToLineBeginning :\x0d\n dir > 0 ? kClearToLineEnd :\x0d\n kClearLine;\x0d\n if (this.#autoCommit) process.nextTick(() => this.#stream.write(data));\x0d\n else ArrayPrototypePush(this.#todo\x2C data);\x0d\n return this;\x0d\n }\x0d\n\x0d\n /**\x0d\n * Clears the screen from the current position of the cursor down.\x0d\n * @returns {Readline} this\x0d\n */\x0d\n clearScreenDown() {\x0d\n if (this.#autoCommit) {\x0d\n process.nextTick(() => this.#stream.write(kClearScreenDown));\x0d\n } else {\x0d\n ArrayPrototypePush(this.#todo\x2C kClearScreenDown);\x0d\n }\x0d\n return this;\x0d\n }\x0d\n\x0d\n /**\x0d\n * Sends all the pending actions to the associated `stream` and clears the\x0d\n * internal list of pending actions.\x0d\n * @returns {Promise<void>} Resolves when all pending actions have been\x0d\n * flushed to the associated `stream`.\x0d\n */\x0d\n commit() {\x0d\n return new Promise((resolve) => {\x0d\n this.#stream.write(ArrayPrototypeJoin(this.#todo\x2C '')\x2C resolve);\x0d\n this.#todo = [];\x0d\n });\x0d\n }\x0d\n\x0d\n /**\x0d\n * Clears the internal list of pending actions without sending it to the\x0d\n * associated `stream`.\x0d\n * @returns {Readline} this\x0d\n */\x0d\n rollback() {\x0d\n this.#todo = [];\x0d\n return this;\x0d\n }\x0d\n}\x0d\n\x0d\nmodule.exports = {\x0d\n Readline\x2C\x0d\n};\x0d\n
code-source-info,0x158ab33f596,125,0,3651,C0O0C4O3651,,
code-creation,JS,10,461723,0x158ab33fb7e,280, node:internal/readline/promises:1:1,0x158ab33f510,~
code-source-info,0x158ab33fb7e,125,0,3651,C0O0C45O28C51O51C57O74C63O120C66O120C71O112C77O202C80O202C85O165C91O182C97O258C100O258C105O243C111O338C114O338C119O309C124O311C130O464C133O380C139O406C145O426C151O441C261O3614C268O3636C274O3629C279O3650,,
code-creation,JS,10,461780,0x158ab33fd56,30,<instance_members_initializer> node:internal/readline/promises:21:1,0x158ab33f7f8,~
code-source-info,0x158ab33fd56,125,472,3610,C3O506C13O516C21O536C29O3610,,
code-creation,Eval,10,462235,0x2d4ae602e0e,5, node:console:1:1,0x2d4ae602cc8,~
script-source,126,node:console,// Copyright Joyent\x2C Inc. and other Node contributors.\x0d\n//\x0d\n// Permission is hereby granted\x2C free of charge\x2C to any person obtaining a\x0d\n// copy of this software and associated documentation files (the\x0d\n// "Software")\x2C to deal in the Software without restriction\x2C including\x0d\n// without limitation the rights to use\x2C copy\x2C modify\x2C merge\x2C publish\x2C\x0d\n// distribute\x2C sublicense\x2C and/or sell copies of the Software\x2C and to permit\x0d\n// persons to whom the Software is furnished to do so\x2C subject to the\x0d\n// following conditions:\x0d\n//\x0d\n// The above copyright notice and this permission notice shall be included\x0d\n// in all copies or substantial portions of the Software.\x0d\n//\x0d\n// THE SOFTWARE IS PROVIDED "AS IS"\x2C WITHOUT WARRANTY OF ANY KIND\x2C EXPRESS\x0d\n// OR IMPLIED\x2C INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\x0d\n// MERCHANTABILITY\x2C FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\x0d\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM\x2C\x0d\n// DAMAGES OR OTHER LIABILITY\x2C WHETHER IN AN ACTION OF CONTRACT\x2C TORT OR\x0d\n// OTHERWISE\x2C ARISING FROM\x2C OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\x0d\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\x0d\n\x0d\n'use strict';\x0d\n\x0d\nmodule.exports = require('internal/console/global');\x0d\n
code-source-info,0x2d4ae602e0e,126,0,1226,C0O0C4O1226,,
code-creation,JS,10,462389,0x2d4ae602e96,13, node:console:1:1,0x2d4ae602d88,~
code-source-info,0x2d4ae602e96,126,0,1226,C0O1172C3O1189C7O1187C12O1225,,
code-creation,JS,10,462756,0x2d4ae603076,15, node:repl:133:3,0x158ab313e20,~
code-source-info,0x2d4ae603076,115,4180,4221,C0O4187C8O4188C14O4221,,
code-creation,JS,11,462836,0x7ff739bc57c0,172, node:repl:133:3,0x158ab313e20,^
code-source-info,0x7ff739bc57c0,115,4180,4221,,,
code-creation,JS,11,462882,0x7ff739bc5880,284,makeBitMapDescriptor node:internal/streams/readable:127:30,0x77b20ec230,^
code-source-info,0x7ff739bc5880,97,3888,4090,,,
code-creation,JS,11,462924,0x7ff739bc59c0,284,makeBitMapDescriptor node:internal/streams/writable:126:30,0x381e1302d00,^
code-source-info,0x7ff739bc59c0,102,3968,4170,,,
code-creation,JS,11,462973,0x7ff739bc5b00,992,getDeprecationWarningEmitter node:internal/util:102:38,0x39e2db47620,^
code-source-info,0x7ff739bc5b00,16,2539,3172,,,
code-creation,JS,11,463027,0x7ff739bc5f00,264,protoGetter node:net:868:21,0x23c5197f3a8,^
code-source-info,0x7ff739bc5f00,86,23758,23927,,,
code-creation,JS,11,463065,0x7ff739bc6040,108,get node:net:2367:6,0x77b20ca628,^
code-source-info,0x7ff739bc6040,86,68427,68455,,,
code-creation,JS,11,463104,0x7ff739bc60c0,356,set node:internal/streams/readable:131:8,0x77b20fb070,^
code-source-info,0x7ff739bc60c0,97,3991,4080,,,
code-creation,JS,11,463149,0x7ff739bc6240,356,set node:internal/streams/writable:130:8,0x381e1309578,^
code-source-info,0x7ff739bc6240,102,4071,4160,,,
code-creation,JS,11,463193,0x7ff739bc63c0,272,hideStackFrames node:internal/errors:535:25,0x14d495bf098,^
code-source-info,0x7ff739bc63c0,10,15215,15499,,,
code-creation,JS,11,463229,0x7ff739bc6500,156,checkListener node:events:275:23,0x39e2db51490,^
code-source-info,0x7ff739bc6500,23,8393,8451,,,
code-creation,JS,11,463272,0x7ff739bc65c0,880,TokenType node:internal/deps/acorn/acorn/dist/acorn:114:37,0x158ab324990,^
code-source-info,0x7ff739bc65c0,116,14767,15183,,,
code-creation,JS,11,463309,0x7ff739bc6940,168,binop node:internal/deps/acorn/acorn/dist/acorn:129:17,0x158ab323e50,^
code-source-info,0x7ff739bc6940,116,15204,15288,,,
code-creation,JS,11,463347,0x7ff739bc6a00,216,kw node:internal/deps/acorn/acorn/dist/acorn:139:14,0x158ab323ea0,^
code-source-info,0x7ff739bc6a00,116,15494,15650,,,
code-creation,JS,11,463387,0x7ff739bc6b00,332,TokContext node:internal/deps/acorn/acorn/dist/acorn:2271:39,0x158ab328398,^
code-source-info,0x7ff739bc6b00,116,97357,97578,,,
code-creation,JS,11,463429,0x7ff739bc6c80,372,wordsRegexp node:internal/deps/acorn/acorn/dist/acorn:284:23,0x158ab323f90,^
code-source-info,0x7ff739bc6c80,116,20983,21107,,,
code-creation,JS,10,463509,0x2d4ae6074a6,10, node:repl:136:17,0x158ab313e70,~
code-source-info,0x2d4ae6074a6,115,4294,4316,C0O4303C5O4311C9O4316,,
code-creation,JS,10,463582,0x2d4ae6075ce,19,getSchemeOnlyModuleNames node:internal/bootstrap/realm:326:34,0x14d495bba38,~
code-source-info,0x2d4ae6075ce,9,10744,10797,C0O10754C11O10771C14O10761C18O10792,,
code-creation,JS,10,463661,0x2d4ae6076ce,26, node:repl:139:3,0x158ab313ec0,~
code-source-info,0x2d4ae6076ce,115,4391,4456,C0O4400C7O4419C15O4450C20O4400C25O4456,,
code-creation,Eval,10,464541,0x2d4ae60806e,5, node:domain:1:1,0x2d4ae607d08,~
script-source,127,node:domain,// Copyright Joyent\x2C Inc. and other Node contributors.\x0d\n//\x0d\n// Permission is hereby granted\x2C free of charge\x2C to any person obtaining a\x0d\n// copy of this software and associated documentation files (the\x0d\n// "Software")\x2C to deal in the Software without restriction\x2C including\x0d\n// without limitation the rights to use\x2C copy\x2C modify\x2C merge\x2C publish\x2C\x0d\n// distribute\x2C sublicense\x2C and/or sell copies of the Software\x2C and to permit\x0d\n// persons to whom the Software is furnished to do so\x2C subject to the\x0d\n// following conditions:\x0d\n//\x0d\n// The above copyright notice and this permission notice shall be included\x0d\n// in all copies or substantial portions of the Software.\x0d\n//\x0d\n// THE SOFTWARE IS PROVIDED "AS IS"\x2C WITHOUT WARRANTY OF ANY KIND\x2C EXPRESS\x0d\n// OR IMPLIED\x2C INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\x0d\n// MERCHANTABILITY\x2C FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\x0d\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM\x2C\x0d\n// DAMAGES OR OTHER LIABILITY\x2C WHETHER IN AN ACTION OF CONTRACT\x2C TORT OR\x0d\n// OTHERWISE\x2C ARISING FROM\x2C OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\x0d\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\x0d\n\x0d\n'use strict';\x0d\n\x0d\n// WARNING: THIS MODULE IS PENDING DEPRECATION.\x0d\n//\x0d\n// No new pull requests targeting this module will be accepted\x0d\n// unless they address existing\x2C critical bugs.\x0d\n\x0d\nconst {\x0d\n ArrayPrototypeEvery\x2C\x0d\n ArrayPrototypeIndexOf\x2C\x0d\n ArrayPrototypeLastIndexOf\x2C\x0d\n ArrayPrototypePush\x2C\x0d\n ArrayPrototypeSlice\x2C\x0d\n ArrayPrototypeSplice\x2C\x0d\n Error\x2C\x0d\n FunctionPrototypeCall\x2C\x0d\n ObjectDefineProperty\x2C\x0d\n Promise\x2C\x0d\n ReflectApply\x2C\x0d\n SafeMap\x2C\x0d\n SafeWeakMap\x2C\x0d\n Symbol\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst EventEmitter = require('events');\x0d\nconst {\x0d\n ERR_DOMAIN_CALLBACK_NOT_AVAILABLE\x2C\x0d\n ERR_DOMAIN_CANNOT_SET_UNCAUGHT_EXCEPTION_CAPTURE\x2C\x0d\n ERR_UNHANDLED_ERROR\x2C\x0d\n} = require('internal/errors').codes;\x0d\nconst { createHook } = require('async_hooks');\x0d\nconst { useDomainTrampoline } = require('internal/async_hooks');\x0d\n\x0d\nconst kWeak = Symbol('kWeak');\x0d\nconst { WeakReference } = require('internal/util');\x0d\n\x0d\n// Overwrite process.domain with a getter/setter that will allow for more\x0d\n// effective optimizations\x0d\nconst _domain = [null];\x0d\nObjectDefineProperty(process\x2C 'domain'\x2C {\x0d\n __proto__: null\x2C\x0d\n enumerable: true\x2C\x0d\n get: function() {\x0d\n return _domain[0];\x0d\n }\x2C\x0d\n set: function(arg) {\x0d\n return _domain[0] = arg;\x0d\n }\x2C\x0d\n});\x0d\n\x0d\nconst vmPromises = new SafeWeakMap();\x0d\nconst pairing = new SafeMap();\x0d\nconst asyncHook = createHook({\x0d\n init(asyncId\x2C type\x2C triggerAsyncId\x2C resource) {\x0d\n if (process.domain !== null && process.domain !== undefined) {\x0d\n // If this operation is created while in a domain\x2C let's mark it\x0d\n pairing.set(asyncId\x2C process.domain[kWeak]);\x0d\n // Promises from other contexts\x2C such as with the VM module\x2C should not\x0d\n // have a domain property as it can be used to escape the sandbox.\x0d\n if (type !== 'PROMISE' || resource instanceof Promise) {\x0d\n ObjectDefineProperty(resource\x2C 'domain'\x2C {\x0d\n __proto__: null\x2C\x0d\n configurable: true\x2C\x0d\n enumerable: false\x2C\x0d\n value: process.domain\x2C\x0d\n writable: true\x2C\x0d\n });\x0d\n // Because promises from other contexts don't get a domain field\x2C\x0d\n // the domain needs to be held alive another way. Stuffing it in a\x0d\n // weakmap connected to the promise lifetime can fix that.\x0d\n } else {\x0d\n vmPromises.set(resource\x2C process.domain);\x0d\n }\x0d\n }\x0d\n }\x2C\x0d\n before(asyncId) {\x0d\n const current = pairing.get(asyncId);\x0d\n if (current !== undefined) { // Enter domain for this cb\x0d\n // We will get the domain through current.get()\x2C because the resource\x0d\n // object's .domain property makes sure it is not garbage collected.\x0d\n // However\x2C we do need to make the reference to the domain non-weak\x2C\x0d\n // so that it cannot be garbage collected before the after() hook.\x0d\n current.incRef();\x0d\n current.get().enter();\x0d\n }\x0d\n }\x2C\x0d\n after(asyncId) {\x0d\n const current = pairing.get(asyncId);\x0d\n if (current !== undefined) { // Exit domain for this cb\x0d\n const domain = current.get();\x0d\n current.decRef();\x0d\n domain.exit();\x0d\n }\x0d\n }\x2C\x0d\n destroy(asyncId) {\x0d\n pairing.delete(asyncId); // cleaning up\x0d\n }\x2C\x0d\n});\x0d\n\x0d\n// When domains are in use\x2C they claim full ownership of the\x0d\n// uncaught exception capture callback.\x0d\nif (process.hasUncaughtExceptionCaptureCallback()) {\x0d\n throw new ERR_DOMAIN_CALLBACK_NOT_AVAILABLE();\x0d\n}\x0d\n\x0d\n// Get the stack trace at the point where `domain` was required.\x0d\n// eslint-disable-next-line no-restricted-syntax\x0d\nconst domainRequireStack = new Error('require(`domain`) at this point').stack;\x0d\n\x0d\nconst { setUncaughtExceptionCaptureCallback } = process;\x0d\nprocess.setUncaughtExceptionCaptureCallback = function(fn) {\x0d\n const err = new ERR_DOMAIN_CANNOT_SET_UNCAUGHT_EXCEPTION_CAPTURE();\x0d\n err.stack = err.stack + '\\n' + '-'.repeat(40) + '\\n' + domainRequireStack;\x0d\n throw err;\x0d\n};\x0d\n\x0d\n\x0d\nlet sendMakeCallbackDeprecation = false;\x0d\nfunction emitMakeCallbackDeprecation({ target\x2C method }) {\x0d\n if (!sendMakeCallbackDeprecation) {\x0d\n process.emitWarning(\x0d\n 'Using a domain property in MakeCallback is deprecated. Use the ' +\x0d\n 'async_context variant of MakeCallback or the AsyncResource class ' +\x0d\n 'instead. ' +\x0d\n `(Triggered by calling ${method?.name || '<anonymous>'} ` +\x0d\n `on ${target?.constructor?.name}.)`\x2C\x0d\n 'DeprecationWarning'\x2C 'DEP0097');\x0d\n sendMakeCallbackDeprecation = true;\x0d\n }\x0d\n}\x0d\n\x0d\nfunction topLevelDomainCallback(cb\x2C ...args) {\x0d\n const domain = this.domain;\x0d\n if (exports.active && domain)\x0d\n emitMakeCallbackDeprecation({ target: this\x2C method: cb });\x0d\n\x0d\n if (domain)\x0d\n domain.enter();\x0d\n const ret = ReflectApply(cb\x2C this\x2C args);\x0d\n if (domain)\x0d\n domain.exit();\x0d\n\x0d\n return ret;\x0d\n}\x0d\n\x0d\n// It's possible to enter one domain while already inside\x0d\n// another one. The stack is each entered domain.\x0d\nlet stack = [];\x0d\nexports._stack = stack;\x0d\nuseDomainTrampoline(topLevelDomainCallback);\x0d\n\x0d\nfunction updateExceptionCapture() {\x0d\n if (ArrayPrototypeEvery(stack\x2C\x0d\n (domain) => domain.listenerCount('error') === 0)) {\x0d\n setUncaughtExceptionCaptureCallback(null);\x0d\n } else {\x0d\n setUncaughtExceptionCaptureCallback(null);\x0d\n setUncaughtExceptionCaptureCallback((er) => {\x0d\n return process.domain._errorHandler(er);\x0d\n });\x0d\n }\x0d\n}\x0d\n\x0d\n\x0d\nprocess.on('newListener'\x2C (name\x2C listener) => {\x0d\n if (name === 'uncaughtException' &&\x0d\n listener !== domainUncaughtExceptionClear) {\x0d\n // Make sure the first listener for `uncaughtException` always clears\x0d\n // the domain stack.\x0d\n process.removeListener(name\x2C domainUncaughtExceptionClear);\x0d\n process.prependListener(name\x2C domainUncaughtExceptionClear);\x0d\n }\x0d\n});\x0d\n\x0d\nprocess.on('removeListener'\x2C (name\x2C listener) => {\x0d\n if (name === 'uncaughtException' &&\x0d\n listener !== domainUncaughtExceptionClear) {\x0d\n // If the domain listener would be the only remaining one\x2C remove it.\x0d\n const listeners = process.listeners('uncaughtException');\x0d\n if (listeners.length === 1 && listeners[0] === domainUncaughtExceptionClear)\x0d\n process.removeListener(name\x2C domainUncaughtExceptionClear);\x0d\n }\x0d\n});\x0d\n\x0d\nfunction domainUncaughtExceptionClear() {\x0d\n stack.length = 0;\x0d\n exports.active = process.domain = null;\x0d\n updateExceptionCapture();\x0d\n}\x0d\n\x0d\n\x0d\nclass Domain extends EventEmitter {\x0d\n constructor() {\x0d\n super();\x0d\n\x0d\n this.members = [];\x0d\n this[kWeak] = new WeakReference(this);\x0d\n asyncHook.enable();\x0d\n\x0d\n this.on('removeListener'\x2C updateExceptionCapture);\x0d\n this.on('newListener'\x2C updateExceptionCapture);\x0d\n }\x0d\n}\x0d\n\x0d\nexports.Domain = Domain;\x0d\n\x0d\nexports.create = exports.createDomain = function createDomain() {\x0d\n return new Domain();\x0d\n};\x0d\n\x0d\n// The active domain is always the one that we're currently in.\x0d\nexports.active = null;\x0d\nDomain.prototype.members = undefined;\x0d\n\x0d\n// Called by process._fatalException in case an error was thrown.\x0d\nDomain.prototype._errorHandler = function(er) {\x0d\n let caught = false;\x0d\n\x0d\n if ((typeof er === 'object' && er !== null) || typeof er === 'function') {\x0d\n ObjectDefineProperty(er\x2C 'domain'\x2C {\x0d\n __proto__: null\x2C\x0d\n configurable: true\x2C\x0d\n enumerable: false\x2C\x0d\n value: this\x2C\x0d\n writable: true\x2C\x0d\n });\x0d\n er.domainThrown = true;\x0d\n }\x0d\n // Pop all adjacent duplicates of the currently active domain from the stack.\x0d\n // This is done to prevent a domain's error handler to run within the context\x0d\n // of itself\x2C and re-entering itself recursively handler as a result of an\x0d\n // exception thrown in its context.\x0d\n while (exports.active === this) {\x0d\n this.exit();\x0d\n }\x0d\n\x0d\n // The top-level domain-handler is handled separately.\x0d\n //\x0d\n // The reason is that if V8 was passed a command line option\x0d\n // asking it to abort on an uncaught exception (currently\x0d\n // "--abort-on-uncaught-exception")\x2C we want an uncaught exception\x0d\n // in the top-level domain error handler to make the\x0d\n // process abort. Using try/catch here would always make V8 think\x0d\n // that these exceptions are caught\x2C and thus would prevent it from\x0d\n // aborting in these cases.\x0d\n if (stack.length === 0) {\x0d\n // If there's no error handler\x2C do not emit an 'error' event\x0d\n // as this would throw an error\x2C make the process exit\x2C and thus\x0d\n // prevent the process 'uncaughtException' event from being emitted\x0d\n // if a listener is set.\x0d\n if (EventEmitter.listenerCount(this\x2C 'error') > 0) {\x0d\n // Clear the uncaughtExceptionCaptureCallback so that we know that\x2C since\x0d\n // the top-level domain is not active anymore\x2C it would be ok to abort on\x0d\n // an uncaught exception at this point\x0d\n setUncaughtExceptionCaptureCallback(null);\x0d\n try {\x0d\n caught = this.emit('error'\x2C er);\x0d\n } finally {\x0d\n updateExceptionCapture();\x0d\n }\x0d\n }\x0d\n } else {\x0d\n // Wrap this in a try/catch so we don't get infinite throwing\x0d\n try {\x0d\n // One of three things will happen here.\x0d\n //\x0d\n // 1. There is a handler\x2C caught = true\x0d\n // 2. There is no handler\x2C caught = false\x0d\n // 3. It throws\x2C caught = false\x0d\n //\x0d\n // If caught is false after this\x2C then there's no need to exit()\x0d\n // the domain\x2C because we're going to crash the process anyway.\x0d\n caught = this.emit('error'\x2C er);\x0d\n } catch (er2) {\x0d\n // The domain error handler threw! oh no!\x0d\n // See if another domain can catch THIS error\x2C\x0d\n // or else crash on the original one.\x0d\n updateExceptionCapture();\x0d\n if (stack.length) {\x0d\n exports.active = process.domain = stack[stack.length - 1];\x0d\n caught = process.domain._errorHandler(er2);\x0d\n } else {\x0d\n // Pass on to the next exception handler.\x0d\n throw er2;\x0d\n }\x0d\n }\x0d\n }\x0d\n\x0d\n // Exit all domains on the stack. Uncaught exceptions end the\x0d\n // current tick and no domains should be left on the stack\x0d\n // between ticks.\x0d\n domainUncaughtExceptionClear();\x0d\n\x0d\n return caught;\x0d\n};\x0d\n\x0d\n\x0d\nDomain.prototype.enter = function() {\x0d\n // Note that this might be a no-op\x2C but we still need\x0d\n // to push it onto the stack so that we can pop it later.\x0d\n exports.active = process.domain = this;\x0d\n ArrayPrototypePush(stack\x2C this);\x0d\n updateExceptionCapture();\x0d\n};\x0d\n\x0d\n\x0d\nDomain.prototype.exit = function() {\x0d\n // Don't do anything if this domain is not on the stack.\x0d\n const index = ArrayPrototypeLastIndexOf(stack\x2C this);\x0d\n if (index === -1) return;\x0d\n\x0d\n // Exit all domains until this one.\x0d\n ArrayPrototypeSplice(stack\x2C index);\x0d\n\x0d\n exports.active = stack.length === 0 ? undefined : stack[stack.length - 1];\x0d\n process.domain = exports.active;\x0d\n updateExceptionCapture();\x0d\n};\x0d\n\x0d\n\x0d\n// note: this works for timers as well.\x0d\nDomain.prototype.add = function(ee) {\x0d\n // If the domain is already added\x2C then nothing left to do.\x0d\n if (ee.domain === this)\x0d\n return;\x0d\n\x0d\n // Has a domain already - remove it first.\x0d\n if (ee.domain)\x0d\n ee.domain.remove(ee);\x0d\n\x0d\n // Check for circular Domain->Domain links.\x0d\n // They cause big issues.\x0d\n //\x0d\n // For example:\x0d\n // var d = domain.create();\x0d\n // var e = domain.create();\x0d\n // d.add(e);\x0d\n // e.add(d);\x0d\n // e.emit('error'\x2C er); // RangeError\x2C stack overflow!\x0d\n if (this.domain && (ee instanceof Domain)) {\x0d\n for (let d = this.domain; d; d = d.domain) {\x0d\n if (ee === d) return;\x0d\n }\x0d\n }\x0d\n\x0d\n ObjectDefineProperty(ee\x2C 'domain'\x2C {\x0d\n __proto__: null\x2C\x0d\n configurable: true\x2C\x0d\n enumerable: false\x2C\x0d\n value: this\x2C\x0d\n writable: true\x2C\x0d\n });\x0d\n ArrayPrototypePush(this.members\x2C ee);\x0d\n};\x0d\n\x0d\n\x0d\nDomain.prototype.remove = function(ee) {\x0d\n ee.domain = null;\x0d\n const index = ArrayPrototypeIndexOf(this.members\x2C ee);\x0d\n if (index !== -1)\x0d\n ArrayPrototypeSplice(this.members\x2C index\x2C 1);\x0d\n};\x0d\n\x0d\n\x0d\nDomain.prototype.run = function(fn) {\x0d\n this.enter();\x0d\n const ret = ReflectApply(fn\x2C this\x2C ArrayPrototypeSlice(arguments\x2C 1));\x0d\n this.exit();\x0d\n\x0d\n return ret;\x0d\n};\x0d\n\x0d\n\x0d\nfunction intercepted(_this\x2C self\x2C cb\x2C fnargs) {\x0d\n if (fnargs[0] && fnargs[0] instanceof Error) {\x0d\n const er = fnargs[0];\x0d\n er.domainBound = cb;\x0d\n er.domainThrown = false;\x0d\n ObjectDefineProperty(er\x2C 'domain'\x2C {\x0d\n __proto__: null\x2C\x0d\n configurable: true\x2C\x0d\n enumerable: false\x2C\x0d\n value: self\x2C\x0d\n writable: true\x2C\x0d\n });\x0d\n self.emit('error'\x2C er);\x0d\n return;\x0d\n }\x0d\n\x0d\n self.enter();\x0d\n const ret = ReflectApply(cb\x2C _this\x2C ArrayPrototypeSlice(fnargs\x2C 1));\x0d\n self.exit();\x0d\n\x0d\n return ret;\x0d\n}\x0d\n\x0d\n\x0d\nDomain.prototype.intercept = function(cb) {\x0d\n const self = this;\x0d\n\x0d\n function runIntercepted() {\x0d\n return intercepted(this\x2C self\x2C cb\x2C arguments);\x0d\n }\x0d\n\x0d\n return runIntercepted;\x0d\n};\x0d\n\x0d\n\x0d\nfunction bound(_this\x2C self\x2C cb\x2C fnargs) {\x0d\n self.enter();\x0d\n const ret = ReflectApply(cb\x2C _this\x2C fnargs);\x0d\n self.exit();\x0d\n\x0d\n return ret;\x0d\n}\x0d\n\x0d\n\x0d\nDomain.prototype.bind = function(cb) {\x0d\n const self = this;\x0d\n\x0d\n function runBound() {\x0d\n return bound(this\x2C self\x2C cb\x2C arguments);\x0d\n }\x0d\n\x0d\n ObjectDefineProperty(runBound\x2C 'domain'\x2C {\x0d\n __proto__: null\x2C\x0d\n configurable: true\x2C\x0d\n enumerable: false\x2C\x0d\n value: this\x2C\x0d\n writable: true\x2C\x0d\n });\x0d\n\x0d\n return runBound;\x0d\n};\x0d\n\x0d\n// Override EventEmitter methods to make it domain-aware.\x0d\nEventEmitter.usingDomains = true;\x0d\n\x0d\nconst eventInit = EventEmitter.init;\x0d\nEventEmitter.init = function(opts) {\x0d\n ObjectDefineProperty(this\x2C 'domain'\x2C {\x0d\n __proto__: null\x2C\x0d\n configurable: true\x2C\x0d\n enumerable: false\x2C\x0d\n value: null\x2C\x0d\n writable: true\x2C\x0d\n });\x0d\n if (exports.active && !(this instanceof exports.Domain)) {\x0d\n this.domain = exports.active;\x0d\n }\x0d\n\x0d\n return FunctionPrototypeCall(eventInit\x2C this\x2C opts);\x0d\n};\x0d\n\x0d\nconst eventEmit = EventEmitter.prototype.emit;\x0d\nEventEmitter.prototype.emit = function emit(...args) {\x0d\n const domain = this.domain;\x0d\n\x0d\n const type = args[0];\x0d\n const shouldEmitError = type === 'error' &&\x0d\n this.listenerCount(type) > 0;\x0d\n\x0d\n // Just call original `emit` if current EE instance has `error`\x0d\n // handler\x2C there's no active domain or this is process\x0d\n if (shouldEmitError || domain === null || domain === undefined ||\x0d\n this === process) {\x0d\n return ReflectApply(eventEmit\x2C this\x2C args);\x0d\n }\x0d\n\x0d\n if (type === 'error') {\x0d\n const er = args.length > 1 && args[1] ?\x0d\n args[1] : new ERR_UNHANDLED_ERROR();\x0d\n\x0d\n if (typeof er === 'object') {\x0d\n er.domainEmitter = this;\x0d\n ObjectDefineProperty(er\x2C 'domain'\x2C {\x0d\n __proto__: null\x2C\x0d\n configurable: true\x2C\x0d\n enumerable: false\x2C\x0d\n value: domain\x2C\x0d\n writable: true\x2C\x0d\n });\x0d\n er.domainThrown = false;\x0d\n }\x0d\n\x0d\n // Remove the current domain (and its duplicates) from the domains stack and\x0d\n // set the active domain to its parent (if any) so that the domain's error\x0d\n // handler doesn't run in its own context. This prevents any event emitter\x0d\n // created or any exception thrown in that error handler from recursively\x0d\n // executing that error handler.\x0d\n const origDomainsStack = ArrayPrototypeSlice(stack);\x0d\n const origActiveDomain = process.domain;\x0d\n\x0d\n // Travel the domains stack from top to bottom to find the first domain\x0d\n // instance that is not a duplicate of the current active domain.\x0d\n let idx = stack.length - 1;\x0d\n while (idx > -1 && process.domain === stack[idx]) {\x0d\n --idx;\x0d\n }\x0d\n\x0d\n // Change the stack to not contain the current active domain\x2C and only the\x0d\n // domains above it on the stack.\x0d\n if (idx < 0) {\x0d\n stack.length = 0;\x0d\n } else {\x0d\n ArrayPrototypeSplice(stack\x2C idx + 1);\x0d\n }\x0d\n\x0d\n // Change the current active domain\x0d\n if (stack.length > 0) {\x0d\n exports.active = process.domain = stack[stack.length - 1];\x0d\n } else {\x0d\n exports.active = process.domain = null;\x0d\n }\x0d\n\x0d\n updateExceptionCapture();\x0d\n\x0d\n domain.emit('error'\x2C er);\x0d\n\x0d\n // Now that the domain's error handler has completed\x2C restore the domains\x0d\n // stack and the active domain to their original values.\x0d\n exports._stack = stack = origDomainsStack;\x0d\n exports.active = process.domain = origActiveDomain;\x0d\n updateExceptionCapture();\x0d\n\x0d\n return false;\x0d\n }\x0d\n\x0d\n domain.enter();\x0d\n const ret = ReflectApply(eventEmit\x2C this\x2C args);\x0d\n domain.exit();\x0d\n\x0d\n return ret;\x0d\n};\x0d\n
code-source-info,0x2d4ae60806e,127,0,17268,C0O0C4O17268,,
code-creation,JS,10,466103,0x2d4ae609136,785, node:domain:1:1,0x2d4ae607fe8,~
code-source-info,0x2d4ae609136,127,0,17268,C0O0C129O1351C135O1375C141O1401C147O1431C153O1454C159O1478C165O1503C171O1513C177O1539C183O1564C189O1576C195O1593C200O1605C205O1621C210O1671C213O1671C217O1671C219O1819C222O1819C227O1845C232O1702C237O1740C243O1793C249O1877C252O1877C257O1862C262O1934C265O1934C270O1910C275O1984C278O1984C282O1984C284O2028C287O2028C292O2010C298O2176C302O2176C304O2185C313O2206C318O2276C326O2327C334O2185C339O2406C341O2406C346O2406C348O2442C350O2442C355O2442C357O2476C362O2492C370O3469C378O3966C386O4187C394O2476C398O2476C400O4368C403O4380C408O4380C414O4424C416O4430C421O4424C422O4620C430O4620C436O4665C440O4620C442O4723C445O4683C451O4733C458O4777C462O5000C463O5000C465O5947C467O5947C469O5952C474O5967C478O5977C482O6403C485O6411C498O6411C504O6787C507O6795C520O6795C529O7393C547O7372C549O7658C554O7673C558O7686C561O7703C566O7724C572O7701C576O7848C580O7863C584O7872C587O7879C593O7897C597O7980C600O7987C609O8011C613O11022C616O11029C625O11045C629O11295C632O11302C641O11317C645O11753C648O11760C657O11774C661O12590C664O12597C673O12614C677O12791C680O12798C689O12812C693O13493C696O13500C705O13520C709O13834C712O13841C721O13856C725O14226C729O14252C733O14281C736O14294C740O14281C742O14301C749O14319C753O14682C756O14695C761O14705C765O14682C767O14712C770O14725C779O14740C784O17267,,
code-creation,JS,10,466650,0x2d4ae60acfe,12,hasUncaughtExceptionCaptureCallback node:internal/process/execution:161:45,0x39e2db69550,~
script-source,40,node:internal/process/execution,'use strict';\x0d\n\x0d\nconst {\x0d\n Symbol\x2C\x0d\n RegExpPrototypeExec\x2C\x0d\n globalThis\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst path = require('path');\x0d\n\x0d\nconst {\x0d\n codes: {\x0d\n ERR_INVALID_ARG_TYPE\x2C\x0d\n ERR_UNCAUGHT_EXCEPTION_CAPTURE_ALREADY_SET\x2C\x0d\n ERR_EVAL_ESM_CANNOT_PRINT\x2C\x0d\n }\x2C\x0d\n} = require('internal/errors');\x0d\nconst { pathToFileURL } = require('internal/url');\x0d\nconst { exitCodes: { kGenericUserError } } = internalBinding('errors');\x0d\n\x0d\nconst {\x0d\n executionAsyncId\x2C\x0d\n clearDefaultTriggerAsyncId\x2C\x0d\n clearAsyncIdStack\x2C\x0d\n hasAsyncIdStack\x2C\x0d\n afterHooksExist\x2C\x0d\n emitAfter\x2C\x0d\n popAsyncContext\x2C\x0d\n} = require('internal/async_hooks');\x0d\nconst { containsModuleSyntax } = internalBinding('contextify');\x0d\nconst { getOptionValue } = require('internal/options');\x0d\nconst {\x0d\n makeContextifyScript\x2C runScriptInThisContext\x2C\x0d\n} = require('internal/vm');\x0d\n// shouldAbortOnUncaughtToggle is a typed array for faster\x0d\n// communication with JS.\x0d\nconst { shouldAbortOnUncaughtToggle } = internalBinding('util');\x0d\n\x0d\nfunction tryGetCwd() {\x0d\n try {\x0d\n return process.cwd();\x0d\n } catch {\x0d\n // getcwd(3) can fail if the current working directory has been deleted.\x0d\n // Fall back to the directory name of the (absolute) executable path.\x0d\n // It's not really correct but what are the alternatives?\x0d\n return path.dirname(process.execPath);\x0d\n }\x0d\n}\x0d\n\x0d\nlet evalIndex = 0;\x0d\nfunction getEvalModuleUrl() {\x0d\n return pathToFileURL(`${process.cwd()}/[eval${++evalIndex}]`).href;\x0d\n}\x0d\n\x0d\n/**\x0d\n * Evaluate an ESM entry point and return the promise that gets fulfilled after\x0d\n * it finishes evaluation.\x0d\n * @param {string} source Source code the ESM\x0d\n * @param {boolean} print Whether the result should be printed.\x0d\n * @returns {Promise}\x0d\n */\x0d\nfunction evalModuleEntryPoint(source\x2C print) {\x0d\n if (print) {\x0d\n throw new ERR_EVAL_ESM_CANNOT_PRINT();\x0d\n }\x0d\n RegExpPrototypeExec(/^/\x2C ''); // Necessary to reset RegExp statics before user code runs.\x0d\n return require('internal/modules/run_main').runEntryPointWithESMLoader(\x0d\n (loader) => loader.eval(source\x2C getEvalModuleUrl()\x2C true)\x2C\x0d\n );\x0d\n}\x0d\n\x0d\nfunction evalScript(name\x2C body\x2C breakFirstLine\x2C print\x2C shouldLoadESM = false) {\x0d\n const CJSModule = require('internal/modules/cjs/loader').Module;\x0d\n\x0d\n const cwd = tryGetCwd();\x0d\n const origModule = globalThis.module; // Set e.g. when called from the REPL.\x0d\n\x0d\n const module = new CJSModule(name);\x0d\n module.filename = path.join(cwd\x2C name);\x0d\n module.paths = CJSModule._nodeModulePaths(cwd);\x0d\n\x0d\n const baseUrl = pathToFileURL(module.filename).href;\x0d\n\x0d\n if (getOptionValue('--experimental-detect-module') &&\x0d\n getOptionValue('--input-type') === '' && getOptionValue('--experimental-default-type') === '' &&\x0d\n containsModuleSyntax(body\x2C name)) {\x0d\n return evalModuleEntryPoint(body\x2C print);\x0d\n }\x0d\n\x0d\n const runScript = () => {\x0d\n // Create wrapper for cache entry\x0d\n const script = `\x0d\n globalThis.module = module;\x0d\n globalThis.exports = exports;\x0d\n globalThis.__dirname = __dirname;\x0d\n globalThis.require = require;\x0d\n return (main) => main();\x0d\n `;\x0d\n globalThis.__filename = name;\x0d\n RegExpPrototypeExec(/^/\x2C ''); // Necessary to reset RegExp statics before user code runs.\x0d\n const result = module._compile(script\x2C `${name}-wrapper`)(() => {\x0d\n const hostDefinedOptionId = Symbol(name);\x0d\n async function importModuleDynamically(specifier\x2C _\x2C importAttributes) {\x0d\n const cascadedLoader = require('internal/modules/esm/loader').getOrInitializeCascadedLoader();\x0d\n return cascadedLoader.import(specifier\x2C baseUrl\x2C importAttributes);\x0d\n }\x0d\n const script = makeContextifyScript(\x0d\n body\x2C // code\x0d\n name\x2C // filename\x2C\x0d\n 0\x2C // lineOffset\x0d\n 0\x2C // columnOffset\x2C\x0d\n undefined\x2C // cachedData\x0d\n false\x2C // produceCachedData\x0d\n undefined\x2C // parsingContext\x0d\n hostDefinedOptionId\x2C // hostDefinedOptionId\x0d\n importModuleDynamically\x2C // importModuleDynamically\x0d\n );\x0d\n return runScriptInThisContext(script\x2C true\x2C !!breakFirstLine);\x0d\n });\x0d\n if (print) {\x0d\n const { log } = require('internal/console/global');\x0d\n log(result);\x0d\n }\x0d\n\x0d\n if (origModule !== undefined)\x0d\n globalThis.module = origModule;\x0d\n };\x0d\n\x0d\n if (shouldLoadESM) {\x0d\n require('internal/modules/run_main').runEntryPointWithESMLoader(runScript);\x0d\n return;\x0d\n }\x0d\n runScript();\x0d\n}\x0d\n\x0d\nconst exceptionHandlerState = {\x0d\n captureFn: null\x2C\x0d\n reportFlag: false\x2C\x0d\n};\x0d\n\x0d\nfunction setUncaughtExceptionCaptureCallback(fn) {\x0d\n if (fn === null) {\x0d\n exceptionHandlerState.captureFn = fn;\x0d\n shouldAbortOnUncaughtToggle[0] = 1;\x0d\n process.report.reportOnUncaughtException = exceptionHandlerState.reportFlag;\x0d\n return;\x0d\n }\x0d\n if (typeof fn !== 'function') {\x0d\n throw new ERR_INVALID_ARG_TYPE('fn'\x2C ['Function'\x2C 'null']\x2C fn);\x0d\n }\x0d\n if (exceptionHandlerState.captureFn !== null) {\x0d\n throw new ERR_UNCAUGHT_EXCEPTION_CAPTURE_ALREADY_SET();\x0d\n }\x0d\n exceptionHandlerState.captureFn = fn;\x0d\n shouldAbortOnUncaughtToggle[0] = 0;\x0d\n exceptionHandlerState.reportFlag =\x0d\n process.report.reportOnUncaughtException === true;\x0d\n process.report.reportOnUncaughtException = false;\x0d\n}\x0d\n\x0d\nfunction hasUncaughtExceptionCaptureCallback() {\x0d\n return exceptionHandlerState.captureFn !== null;\x0d\n}\x0d\n\x0d\nfunction noop() {}\x0d\n\x0d\n// XXX(joyeecheung): for some reason this cannot be defined at the top-level\x0d\n// and exported to be written to process._fatalException\x2C it has to be\x0d\n// returned as an *anonymous function* wrapped inside a factory function\x2C\x0d\n// otherwise it breaks the test-timers.setInterval async hooks test -\x0d\n// this may indicate that node::errors::TriggerUncaughtException() should\x0d\n// fix up the callback scope before calling into process._fatalException\x2C\x0d\n// or this function should take extra care of the async hooks before it\x0d\n// schedules a setImmediate.\x0d\nfunction createOnGlobalUncaughtException() {\x0d\n // The C++ land node::errors::TriggerUncaughtException() will\x0d\n // exit the process if it returns false\x2C and continue execution if it\x0d\n // returns true (which indicates that the exception is handled by the user).\x0d\n return (er\x2C fromPromise) => {\x0d\n // It's possible that defaultTriggerAsyncId was set for a constructor\x0d\n // call that threw and was never cleared. So clear it now.\x0d\n clearDefaultTriggerAsyncId();\x0d\n\x0d\n const type = fromPromise ? 'unhandledRejection' : 'uncaughtException';\x0d\n process.emit('uncaughtExceptionMonitor'\x2C er\x2C type);\x0d\n if (exceptionHandlerState.captureFn !== null) {\x0d\n exceptionHandlerState.captureFn(er);\x0d\n } else if (!process.emit('uncaughtException'\x2C er\x2C type)) {\x0d\n // If someone handled it\x2C then great. Otherwise\x2C die in C++ land\x0d\n // since that means that we'll exit the process\x2C emit the 'exit' event.\x0d\n try {\x0d\n if (!process._exiting) {\x0d\n process._exiting = true;\x0d\n process.exitCode = kGenericUserError;\x0d\n process.emit('exit'\x2C kGenericUserError);\x0d\n }\x0d\n } catch {\x0d\n // Nothing to be done about it at this point.\x0d\n }\x0d\n return false;\x0d\n }\x0d\n\x0d\n // If we handled an error\x2C then make sure any ticks get processed\x0d\n // by ensuring that the next Immediate cycle isn't empty.\x0d\n require('timers').setImmediate(noop);\x0d\n\x0d\n // Emit the after() hooks now that the exception has been handled.\x0d\n if (afterHooksExist()) {\x0d\n do {\x0d\n const asyncId = executionAsyncId();\x0d\n if (asyncId === 0)\x0d\n popAsyncContext(0);\x0d\n else\x0d\n emitAfter(asyncId);\x0d\n } while (hasAsyncIdStack());\x0d\n }\x0d\n // And completely empty the id stack\x2C including anything that may be\x0d\n // cached on the native side.\x0d\n clearAsyncIdStack();\x0d\n\x0d\n return true;\x0d\n };\x0d\n}\x0d\n\x0d\nfunction readStdin(callback) {\x0d\n process.stdin.setEncoding('utf8');\x0d\n\x0d\n let code = '';\x0d\n process.stdin.on('data'\x2C (d) => {\x0d\n code += d;\x0d\n });\x0d\n\x0d\n process.stdin.on('end'\x2C () => {\x0d\n callback(code);\x0d\n });\x0d\n}\x0d\n\x0d\nmodule.exports = {\x0d\n readStdin\x2C\x0d\n tryGetCwd\x2C\x0d\n evalModuleEntryPoint\x2C\x0d\n evalScript\x2C\x0d\n onGlobalUncaughtException: createOnGlobalUncaughtException()\x2C\x0d\n setUncaughtExceptionCaptureCallback\x2C\x0d\n hasUncaughtExceptionCaptureCallback\x2C\x0d\n};\x0d\n
code-source-info,0x2d4ae60acfe,40,5339,5398,C0O5347C5O5376C10O5386C11O5395,,
code-creation,JS,10,467659,0x2d4ae60b6be,130,prepareStackTraceCallback node:internal/errors:131:35,0x14d495bd1a0,~
code-source-info,0x2d4ae60b6be,10,3852,4975,C0O3994C5O4017C10O4017C17O4046C22O4065C27O4065C33O4082C38O4101C43O4107C48O4128C53O4144C54O4353C61O4358C72O4419C77O4425C82O4425C88O4457C89O4685C94O4713C102O4754C107O4778C112O4778C118O4810C119O4925C124O4932C129O4972,,
code-creation,JS,10,467765,0x2d4ae60b856,11,ErrorPrepareStackTrace node:internal/errors:162:32,0x14d495bd1f0,~
code-source-info,0x2d4ae60b856,10,5076,5146,C0O5096C5O5103C10O5143,,
code-creation,JS,10,467861,0x2d4ae60b9de,104,defaultPrepareStackTrace node:internal/errors:95:34,0x14d495bc5f0,~
code-source-info,0x2d4ae60b9de,10,2429,2879,C0O2558C2O2574C9O2591C14O2631C26O2646C41O2662C52O2690C57O2704C62O2753C68O2760C73O2774C75O2793C76O2802C88O2835C94O2835C103O2876,,
code-creation,JS,10,468098,0x2d4ae60cef6,10,useDomainTrampoline node:internal/async_hooks:114:29,0x39e2db44418,~
code-source-info,0x2d4ae60cef6,14,5249,5277,C0O5259C2O5269C9O5276,,
code-creation,JS,10,468221,0x2d4ae60d036,50, node:domain:186:27,0x2d4ae608560,~
code-source-info,0x2d4ae60d036,127,6429,6781,C0O6454C2O6463C9O6506C14O6648C17O6656C25O6656C31O6713C34O6721C42O6721C49O6780,,
code-creation,Eval,10,469382,0x2d4ae60e43e,5, node:internal/repl/utils:1:1,0x2d4ae60e0d8,~
script-source,128,node:internal/repl/utils,'use strict';\x0d\n\x0d\nconst {\x0d\n ArrayPrototypeFilter\x2C\x0d\n ArrayPrototypeIncludes\x2C\x0d\n ArrayPrototypeMap\x2C\x0d\n Boolean\x2C\x0d\n FunctionPrototypeBind\x2C\x0d\n MathMin\x2C\x0d\n RegExpPrototypeExec\x2C\x0d\n SafeSet\x2C\x0d\n SafeStringIterator\x2C\x0d\n StringPrototypeEndsWith\x2C\x0d\n StringPrototypeIndexOf\x2C\x0d\n StringPrototypeLastIndexOf\x2C\x0d\n StringPrototypeReplaceAll\x2C\x0d\n StringPrototypeSlice\x2C\x0d\n StringPrototypeStartsWith\x2C\x0d\n StringPrototypeToLowerCase\x2C\x0d\n StringPrototypeTrim\x2C\x0d\n Symbol\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst { tokTypes: tt\x2C Parser: AcornParser } =\x0d\n require('internal/deps/acorn/acorn/dist/acorn');\x0d\n\x0d\nconst { sendInspectorCommand } = require('internal/util/inspector');\x0d\n\x0d\nconst {\x0d\n ERR_INSPECTOR_NOT_AVAILABLE\x2C\x0d\n} = require('internal/errors').codes;\x0d\n\x0d\nconst {\x0d\n clearLine\x2C\x0d\n clearScreenDown\x2C\x0d\n cursorTo\x2C\x0d\n moveCursor\x2C\x0d\n} = require('internal/readline/callbacks');\x0d\n\x0d\nconst {\x0d\n commonPrefix\x2C\x0d\n kSubstringSearch\x2C\x0d\n} = require('internal/readline/utils');\x0d\n\x0d\nconst {\x0d\n getStringWidth\x2C\x0d\n inspect\x2C\x0d\n} = require('internal/util/inspect');\x0d\n\x0d\nlet debug = require('internal/util/debuglog').debuglog('repl'\x2C (fn) => {\x0d\n debug = fn;\x0d\n});\x0d\n\x0d\nconst previewOptions = {\x0d\n colors: false\x2C\x0d\n depth: 1\x2C\x0d\n showHidden: false\x2C\x0d\n};\x0d\n\x0d\nconst REPL_MODE_STRICT = Symbol('repl-strict');\x0d\n\x0d\n// If the error is that we've unexpectedly ended the input\x2C\x0d\n// then let the user try to recover by adding more input.\x0d\n// Note: `e` (the original exception) is not used by the current implementation\x2C\x0d\n// but may be needed in the future.\x0d\nfunction isRecoverableError(e\x2C code) {\x0d\n // For similar reasons as `defaultEval`\x2C wrap expressions starting with a\x0d\n // curly brace with parenthesis. Note: only the open parenthesis is added\x0d\n // here as the point is to test for potentially valid but incomplete\x0d\n // expressions.\x0d\n if (RegExpPrototypeExec(/^\\s*\\{/\x2C code) !== null &&\x0d\n isRecoverableError(e\x2C `(${code}`))\x0d\n return true;\x0d\n\x0d\n let recoverable = false;\x0d\n\x0d\n // Determine if the point of any error raised is at the end of the input.\x0d\n // There are two cases to consider:\x0d\n //\x0d\n // 1. Any error raised after we have encountered the 'eof' token.\x0d\n // This prevents us from declaring partial tokens (like '2e') as\x0d\n // recoverable.\x0d\n //\x0d\n // 2. Three cases where tokens can legally span lines. This is\x0d\n // template\x2C comment\x2C and strings with a backslash at the end of\x0d\n // the line\x2C indicating a continuation. Note that we need to look\x0d\n // for the specific errors of 'unterminated' kind (not\x2C for example\x2C\x0d\n // a syntax error in a ${} expression in a template)\x2C and the only\x0d\n // way to do that currently is to look at the message. Should Acorn\x0d\n // change these messages in the future\x2C this will lead to a test\x0d\n // failure\x2C indicating that this code needs to be updated.\x0d\n //\x0d\n const RecoverableParser = AcornParser\x0d\n .extend(\x0d\n (Parser) => {\x0d\n return class extends Parser {\x0d\n // eslint-disable-next-line no-useless-constructor\x0d\n constructor(options\x2C input\x2C startPos) {\x0d\n super(options\x2C input\x2C startPos);\x0d\n }\x0d\n nextToken() {\x0d\n super.nextToken();\x0d\n if (this.type === tt.eof)\x0d\n recoverable = true;\x0d\n }\x0d\n raise(pos\x2C message) {\x0d\n switch (message) {\x0d\n case 'Unterminated template':\x0d\n case 'Unterminated comment':\x0d\n recoverable = true;\x0d\n break;\x0d\n\x0d\n case 'Unterminated string constant': {\x0d\n const token = StringPrototypeSlice(this.input\x2C\x0d\n this.lastTokStart\x2C this.pos);\x0d\n // See https://www.ecma-international.org/ecma-262/#sec-line-terminators\x0d\n if (RegExpPrototypeExec(/\\\\(?:\\r\\n?|\\n|\\u2028|\\u2029)$/\x2C\x0d\n token) !== null) {\x0d\n recoverable = true;\x0d\n }\x0d\n }\x0d\n }\x0d\n super.raise(pos\x2C message);\x0d\n }\x0d\n };\x0d\n }\x2C\x0d\n );\x0d\n\x0d\n // Try to parse the code with acorn. If the parse fails\x2C ignore the acorn\x0d\n // error and return the recoverable status.\x0d\n try {\x0d\n RecoverableParser.parse(code\x2C { ecmaVersion: 'latest' });\x0d\n\x0d\n // Odd case: the underlying JS engine (V8\x2C Chakra) rejected this input\x0d\n // but Acorn detected no issue. Presume that additional text won't\x0d\n // address this issue.\x0d\n return false;\x0d\n } catch {\x0d\n return recoverable;\x0d\n }\x0d\n}\x0d\n\x0d\nfunction setupPreview(repl\x2C contextSymbol\x2C bufferSymbol\x2C active) {\x0d\n // Simple terminals can't handle previews.\x0d\n if (process.env.TERM === 'dumb' || !active) {\x0d\n return { showPreview() {}\x2C clearPreview() {} };\x0d\n }\x0d\n\x0d\n let inputPreview = null;\x0d\n\x0d\n let previewCompletionCounter = 0;\x0d\n let completionPreview = null;\x0d\n\x0d\n let hasCompletions = false;\x0d\n\x0d\n let wrapped = false;\x0d\n\x0d\n let escaped = null;\x0d\n\x0d\n function getPreviewPos() {\x0d\n const displayPos = repl._getDisplayPos(`${repl.getPrompt()}${repl.line}`);\x0d\n const cursorPos = repl.line.length !== repl.cursor ?\x0d\n repl.getCursorPos() :\x0d\n displayPos;\x0d\n return { displayPos\x2C cursorPos };\x0d\n }\x0d\n\x0d\n function isCursorAtInputEnd() {\x0d\n const { cursorPos\x2C displayPos } = getPreviewPos();\x0d\n return cursorPos.rows === displayPos.rows &&\x0d\n cursorPos.cols === displayPos.cols;\x0d\n }\x0d\n\x0d\n const clearPreview = (key) => {\x0d\n if (inputPreview !== null) {\x0d\n const { displayPos\x2C cursorPos } = getPreviewPos();\x0d\n const rows = displayPos.rows - cursorPos.rows + 1;\x0d\n moveCursor(repl.output\x2C 0\x2C rows);\x0d\n clearLine(repl.output);\x0d\n moveCursor(repl.output\x2C 0\x2C -rows);\x0d\n inputPreview = null;\x0d\n }\x0d\n if (completionPreview !== null) {\x0d\n // Prevent cursor moves if not necessary!\x0d\n const move = repl.line.length !== repl.cursor;\x0d\n let pos\x2C rows;\x0d\n if (move) {\x0d\n pos = getPreviewPos();\x0d\n cursorTo(repl.output\x2C pos.displayPos.cols);\x0d\n rows = pos.displayPos.rows - pos.cursorPos.rows;\x0d\n moveCursor(repl.output\x2C 0\x2C rows);\x0d\n }\x0d\n const totalLine = `${repl.getPrompt()}${repl.line}${completionPreview}`;\x0d\n const newPos = repl._getDisplayPos(totalLine);\x0d\n // Minimize work for the terminal. It is enough to clear the right part of\x0d\n // the current line in case the preview is visible on a single line.\x0d\n if (newPos.rows === 0 || (pos && pos.displayPos.rows === newPos.rows)) {\x0d\n clearLine(repl.output\x2C 1);\x0d\n } else {\x0d\n clearScreenDown(repl.output);\x0d\n }\x0d\n if (move) {\x0d\n cursorTo(repl.output\x2C pos.cursorPos.cols);\x0d\n moveCursor(repl.output\x2C 0\x2C -rows);\x0d\n }\x0d\n if (!key.ctrl && !key.shift) {\x0d\n if (key.name === 'escape') {\x0d\n if (escaped === null && key.meta) {\x0d\n escaped = repl.line;\x0d\n }\x0d\n } else if ((key.name === 'return' || key.name === 'enter') &&\x0d\n !key.meta &&\x0d\n escaped !== repl.line &&\x0d\n isCursorAtInputEnd()) {\x0d\n repl._insertString(completionPreview);\x0d\n }\x0d\n }\x0d\n completionPreview = null;\x0d\n }\x0d\n if (escaped !== repl.line) {\x0d\n escaped = null;\x0d\n }\x0d\n };\x0d\n\x0d\n function showCompletionPreview(line\x2C insertPreview) {\x0d\n previewCompletionCounter++;\x0d\n\x0d\n const count = previewCompletionCounter;\x0d\n\x0d\n repl.completer(line\x2C (error\x2C data) => {\x0d\n // Tab completion might be async and the result might already be outdated.\x0d\n if (count !== previewCompletionCounter) {\x0d\n return;\x0d\n }\x0d\n\x0d\n if (error) {\x0d\n debug('Error while generating completion preview'\x2C error);\x0d\n return;\x0d\n }\x0d\n\x0d\n // Result and the text that was completed.\x0d\n const { 0: rawCompletions\x2C 1: completeOn } = data;\x0d\n\x0d\n if (!rawCompletions || rawCompletions.length === 0) {\x0d\n return;\x0d\n }\x0d\n\x0d\n hasCompletions = true;\x0d\n\x0d\n // If there is a common prefix to all matches\x2C then apply that portion.\x0d\n const completions = ArrayPrototypeFilter(rawCompletions\x2C Boolean);\x0d\n const prefix = commonPrefix(completions);\x0d\n\x0d\n // No common prefix found.\x0d\n if (prefix.length <= completeOn.length) {\x0d\n return;\x0d\n }\x0d\n\x0d\n const suffix = StringPrototypeSlice(prefix\x2C completeOn.length);\x0d\n\x0d\n if (insertPreview) {\x0d\n repl._insertString(suffix);\x0d\n return;\x0d\n }\x0d\n\x0d\n completionPreview = suffix;\x0d\n\x0d\n const result = repl.useColors ?\x0d\n `\\u001b[90m${suffix}\\u001b[39m` :\x0d\n ` // ${suffix}`;\x0d\n\x0d\n const { cursorPos\x2C displayPos } = getPreviewPos();\x0d\n if (repl.line.length !== repl.cursor) {\x0d\n cursorTo(repl.output\x2C displayPos.cols);\x0d\n moveCursor(repl.output\x2C 0\x2C displayPos.rows - cursorPos.rows);\x0d\n }\x0d\n repl.output.write(result);\x0d\n cursorTo(repl.output\x2C cursorPos.cols);\x0d\n const totalLine = `${repl.getPrompt()}${repl.line}${suffix}`;\x0d\n const newPos = repl._getDisplayPos(totalLine);\x0d\n const rows = newPos.rows - cursorPos.rows - (newPos.cols === 0 ? 1 : 0);\x0d\n moveCursor(repl.output\x2C 0\x2C -rows);\x0d\n });\x0d\n }\x0d\n\x0d\n function isInStrictMode(repl) {\x0d\n return repl.replMode === REPL_MODE_STRICT || ArrayPrototypeIncludes(\x0d\n ArrayPrototypeMap(process.execArgv\x2C\x0d\n (e) => StringPrototypeReplaceAll(\x0d\n StringPrototypeToLowerCase(e)\x2C\x0d\n '_'\x2C\x0d\n '-'\x2C\x0d\n ))\x2C\x0d\n '--use-strict');\x0d\n }\x0d\n\x0d\n // This returns a code preview for arbitrary input code.\x0d\n function getInputPreview(input\x2C callback) {\x0d\n // For similar reasons as `defaultEval`\x2C wrap expressions starting with a\x0d\n // curly brace with parenthesis.\x0d\n if (StringPrototypeStartsWith(input\x2C '{') &&\x0d\n !StringPrototypeEndsWith(input\x2C ';') && !wrapped) {\x0d\n input = `(${input})`;\x0d\n wrapped = true;\x0d\n }\x0d\n sendInspectorCommand((session) => {\x0d\n session.post('Runtime.evaluate'\x2C {\x0d\n expression: input\x2C\x0d\n throwOnSideEffect: true\x2C\x0d\n timeout: 333\x2C\x0d\n contextId: repl[contextSymbol]\x2C\x0d\n }\x2C (error\x2C preview) => {\x0d\n if (error) {\x0d\n callback(error);\x0d\n return;\x0d\n }\x0d\n const { result } = preview;\x0d\n if (result.value !== undefined) {\x0d\n callback(null\x2C inspect(result.value\x2C previewOptions));\x0d\n // Ignore EvalErrors\x2C SyntaxErrors and ReferenceErrors. It is not clear\x0d\n // where they came from and if they are recoverable or not. Other errors\x0d\n // may be inspected.\x0d\n } else if (preview.exceptionDetails &&\x0d\n (result.className === 'EvalError' ||\x0d\n result.className === 'SyntaxError' ||\x0d\n // Report ReferenceError in case the strict mode is active\x0d\n // for input that has no completions.\x0d\n (result.className === 'ReferenceError' &&\x0d\n (hasCompletions || !isInStrictMode(repl))))) {\x0d\n callback(null\x2C null);\x0d\n } else if (result.objectId) {\x0d\n // The writer options might change and have influence on the inspect\x0d\n // output. The user might change e.g.\x2C `showProxy`\x2C `getters` or\x0d\n // `showHidden`. Use `inspect` instead of `JSON.stringify` to keep\x0d\n // `Infinity` and similar intact.\x0d\n const inspectOptions = inspect({\x0d\n ...repl.writer.options\x2C\x0d\n colors: false\x2C\x0d\n depth: 1\x2C\x0d\n compact: true\x2C\x0d\n breakLength: Infinity\x2C\x0d\n }\x2C previewOptions);\x0d\n session.post('Runtime.callFunctionOn'\x2C {\x0d\n functionDeclaration:\x0d\n `(v) =>\x0d\n Reflect\x0d\n .getOwnPropertyDescriptor(globalThis\x2C 'util')\x0d\n .get().inspect(v\x2C ${inspectOptions})`\x2C\x0d\n objectId: result.objectId\x2C\x0d\n arguments: [result]\x2C\x0d\n }\x2C (error\x2C preview) => {\x0d\n if (error) {\x0d\n callback(error);\x0d\n } else {\x0d\n callback(null\x2C preview.result.value);\x0d\n }\x0d\n });\x0d\n } else {\x0d\n // Either not serializable or undefined.\x0d\n callback(null\x2C result.unserializableValue || result.type);\x0d\n }\x0d\n });\x0d\n }\x2C () => callback(new ERR_INSPECTOR_NOT_AVAILABLE()));\x0d\n }\x0d\n\x0d\n const showPreview = (showCompletion = true) => {\x0d\n // Prevent duplicated previews after a refresh.\x0d\n if (inputPreview !== null || !repl.isCompletionEnabled || !process.features.inspector) {\x0d\n return;\x0d\n }\x0d\n\x0d\n const line = StringPrototypeTrim(repl.line);\x0d\n\x0d\n // Do not preview in case the line only contains whitespace.\x0d\n if (line === '') {\x0d\n return;\x0d\n }\x0d\n\x0d\n hasCompletions = false;\x0d\n\x0d\n // Add the autocompletion preview.\x0d\n if (showCompletion) {\x0d\n const insertPreview = false;\x0d\n showCompletionPreview(repl.line\x2C insertPreview);\x0d\n }\x0d\n\x0d\n // Do not preview if the command is buffered.\x0d\n if (repl[bufferSymbol]) {\x0d\n return;\x0d\n }\x0d\n\x0d\n const inputPreviewCallback = (error\x2C inspected) => {\x0d\n if (inspected == null) {\x0d\n return;\x0d\n }\x0d\n\x0d\n wrapped = false;\x0d\n\x0d\n // Ignore the output if the value is identical to the current line.\x0d\n if (line === inspected) {\x0d\n return;\x0d\n }\x0d\n\x0d\n if (error) {\x0d\n debug('Error while generating preview'\x2C error);\x0d\n return;\x0d\n }\x0d\n // Do not preview `undefined` if colors are deactivated or explicitly\x0d\n // requested.\x0d\n if (inspected === 'undefined' &&\x0d\n (!repl.useColors || repl.ignoreUndefined)) {\x0d\n return;\x0d\n }\x0d\n\x0d\n inputPreview = inspected;\x0d\n\x0d\n // Limit the output to maximum 250 characters. Otherwise it becomes a)\x0d\n // difficult to read and b) non terminal REPLs would visualize the whole\x0d\n // output.\x0d\n let maxColumns = MathMin(repl.columns\x2C 250);\x0d\n\x0d\n // Support unicode characters of width other than one by checking the\x0d\n // actual width.\x0d\n if (inspected.length * 2 >= maxColumns &&\x0d\n getStringWidth(inspected) > maxColumns) {\x0d\n maxColumns -= 4 + (repl.useColors ? 0 : 3);\x0d\n let res = '';\x0d\n for (const char of new SafeStringIterator(inspected)) {\x0d\n maxColumns -= getStringWidth(char);\x0d\n if (maxColumns < 0)\x0d\n break;\x0d\n res += char;\x0d\n }\x0d\n inspected = `${res}...`;\x0d\n }\x0d\n\x0d\n // Line breaks are very rare and probably only occur in case of error\x0d\n // messages with line breaks.\x0d\n const lineBreakPos = StringPrototypeIndexOf(inspected\x2C '\\n');\x0d\n if (lineBreakPos !== -1) {\x0d\n inspected = `${StringPrototypeSlice(inspected\x2C 0\x2C lineBreakPos)}`;\x0d\n }\x0d\n\x0d\n const result = repl.useColors ?\x0d\n `\\u001b[90m${inspected}\\u001b[39m` :\x0d\n `// ${inspected}`;\x0d\n\x0d\n const { cursorPos\x2C displayPos } = getPreviewPos();\x0d\n const rows = displayPos.rows - cursorPos.rows;\x0d\n moveCursor(repl.output\x2C 0\x2C rows);\x0d\n repl.output.write(`\\n${result}`);\x0d\n cursorTo(repl.output\x2C cursorPos.cols);\x0d\n moveCursor(repl.output\x2C 0\x2C -rows - 1);\x0d\n };\x0d\n\x0d\n let previewLine = line;\x0d\n\x0d\n if (completionPreview !== null &&\x0d\n isCursorAtInputEnd() &&\x0d\n escaped !== repl.line) {\x0d\n previewLine += completionPreview;\x0d\n }\x0d\n\x0d\n getInputPreview(previewLine\x2C inputPreviewCallback);\x0d\n if (wrapped) {\x0d\n getInputPreview(previewLine\x2C inputPreviewCallback);\x0d\n }\x0d\n wrapped = false;\x0d\n };\x0d\n\x0d\n // -------------------------------------------------------------------------//\x0d\n // Replace multiple interface functions. This is required to fully support //\x0d\n // previews without changing readlines behavior. //\x0d\n // -------------------------------------------------------------------------//\x0d\n\x0d\n // Refresh prints the whole screen again and the preview will be removed\x0d\n // during that procedure. Print the preview again. This also makes sure\x0d\n // the preview is always correct after resizing the terminal window.\x0d\n const originalRefresh = FunctionPrototypeBind(repl._refreshLine\x2C repl);\x0d\n repl._refreshLine = () => {\x0d\n inputPreview = null;\x0d\n originalRefresh();\x0d\n showPreview();\x0d\n };\x0d\n\x0d\n let insertCompletionPreview = true;\x0d\n // Insert the longest common suffix of the current input in case the user\x0d\n // moves to the right while already being at the current input end.\x0d\n const originalMoveCursor = FunctionPrototypeBind(repl._moveCursor\x2C repl);\x0d\n repl._moveCursor = (dx) => {\x0d\n const currentCursor = repl.cursor;\x0d\n originalMoveCursor(dx);\x0d\n if (currentCursor + dx > repl.line.length &&\x0d\n typeof repl.completer === 'function' &&\x0d\n insertCompletionPreview) {\x0d\n const insertPreview = true;\x0d\n showCompletionPreview(repl.line\x2C insertPreview);\x0d\n }\x0d\n };\x0d\n\x0d\n // This is the only function that interferes with the completion insertion.\x0d\n // Monkey patch it to prevent inserting the completion when it shouldn't be.\x0d\n const originalClearLine = FunctionPrototypeBind(repl.clearLine\x2C repl);\x0d\n repl.clearLine = () => {\x0d\n insertCompletionPreview = false;\x0d\n originalClearLine();\x0d\n insertCompletionPreview = true;\x0d\n };\x0d\n\x0d\n return { showPreview\x2C clearPreview };\x0d\n}\x0d\n\x0d\nfunction setupReverseSearch(repl) {\x0d\n // Simple terminals can't use reverse search.\x0d\n if (process.env.TERM === 'dumb') {\x0d\n return { reverseSearch() { return false; } };\x0d\n }\x0d\n\x0d\n const alreadyMatched = new SafeSet();\x0d\n const labels = {\x0d\n r: 'bck-i-search: '\x2C\x0d\n s: 'fwd-i-search: '\x2C\x0d\n };\x0d\n let isInReverseSearch = false;\x0d\n let historyIndex = -1;\x0d\n let input = '';\x0d\n let cursor = -1;\x0d\n let dir = 'r';\x0d\n let lastMatch = -1;\x0d\n let lastCursor = -1;\x0d\n let promptPos;\x0d\n\x0d\n function checkAndSetDirectionKey(keyName) {\x0d\n if (!labels[keyName]) {\x0d\n return false;\x0d\n }\x0d\n if (dir !== keyName) {\x0d\n // Reset the already matched set in case the direction is changed. That\x0d\n // way it's possible to find those entries again.\x0d\n alreadyMatched.clear();\x0d\n dir = keyName;\x0d\n }\x0d\n return true;\x0d\n }\x0d\n\x0d\n function goToNextHistoryIndex() {\x0d\n // Ignore this entry for further searches and continue to the next\x0d\n // history entry.\x0d\n alreadyMatched.add(repl.history[historyIndex]);\x0d\n historyIndex += dir === 'r' ? 1 : -1;\x0d\n cursor = -1;\x0d\n }\x0d\n\x0d\n function search() {\x0d\n // Just print an empty line in case the user removed the search parameter.\x0d\n if (input === '') {\x0d\n print(repl.line\x2C `${labels[dir]}_`);\x0d\n return;\x0d\n }\x0d\n // Fix the bounds in case the direction has changed in the meanwhile.\x0d\n if (dir === 'r') {\x0d\n if (historyIndex < 0) {\x0d\n historyIndex = 0;\x0d\n }\x0d\n } else if (historyIndex >= repl.history.length) {\x0d\n historyIndex = repl.history.length - 1;\x0d\n }\x0d\n // Check the history entries until a match is found.\x0d\n while (historyIndex >= 0 && historyIndex < repl.history.length) {\x0d\n let entry = repl.history[historyIndex];\x0d\n // Visualize all potential matches only once.\x0d\n if (alreadyMatched.has(entry)) {\x0d\n historyIndex += dir === 'r' ? 1 : -1;\x0d\n continue;\x0d\n }\x0d\n // Match the next entry either from the start or from the end\x2C depending\x0d\n // on the current direction.\x0d\n if (dir === 'r') {\x0d\n // Update the cursor in case it's necessary.\x0d\n if (cursor === -1) {\x0d\n cursor = entry.length;\x0d\n }\x0d\n cursor = StringPrototypeLastIndexOf(entry\x2C input\x2C cursor - 1);\x0d\n } else {\x0d\n cursor = StringPrototypeIndexOf(entry\x2C input\x2C cursor + 1);\x0d\n }\x0d\n // Match not found.\x0d\n if (cursor === -1) {\x0d\n goToNextHistoryIndex();\x0d\n // Match found.\x0d\n } else {\x0d\n if (repl.useColors) {\x0d\n const start = StringPrototypeSlice(entry\x2C 0\x2C cursor);\x0d\n const end = StringPrototypeSlice(entry\x2C cursor + input.length);\x0d\n entry = `${start}\\x1B[4m${input}\\x1B[24m${end}`;\x0d\n }\x0d\n print(entry\x2C `${labels[dir]}${input}_`\x2C cursor);\x0d\n lastMatch = historyIndex;\x0d\n lastCursor = cursor;\x0d\n // Explicitly go to the next history item in case no further matches are\x0d\n // possible with the current entry.\x0d\n if ((dir === 'r' && cursor === 0) ||\x0d\n (dir === 's' && entry.length === cursor + input.length)) {\x0d\n goToNextHistoryIndex();\x0d\n }\x0d\n return;\x0d\n }\x0d\n }\x0d\n print(repl.line\x2C `failed-${labels[dir]}${input}_`);\x0d\n }\x0d\n\x0d\n function print(outputLine\x2C inputLine\x2C cursor = repl.cursor) {\x0d\n // TODO(BridgeAR): Resizing the terminal window hides the overlay. To fix\x0d\n // that\x2C readline must be aware of this information. It's probably best to\x0d\n // add a couple of properties to readline that allow to do the following:\x0d\n // 1. Add arbitrary data to the end of the current line while not counting\x0d\n // towards the line. This would be useful for the completion previews.\x0d\n // 2. Add arbitrary extra lines that do not count towards the regular line.\x0d\n // This would be useful for both\x2C the input preview and the reverse\x0d\n // search. It might be combined with the first part?\x0d\n // 3. Add arbitrary input that is "on top" of the current line. That is\x0d\n // useful for the reverse search.\x0d\n // 4. To trigger the line refresh\x2C functions should be used to pass through\x0d\n // the information. Alternatively\x2C getters and setters could be used.\x0d\n // That might even be more elegant.\x0d\n // The data would then be accounted for when calling `_refreshLine()`.\x0d\n // This function would then look similar to:\x0d\n // repl.overlay(outputLine);\x0d\n // repl.addTrailingLine(inputLine);\x0d\n // repl.setCursor(cursor);\x0d\n // More potential improvements: use something similar to stream.cork().\x0d\n // Multiple cursor moves on the same tick could be prevented in case all\x0d\n // writes from the same tick are combined and the cursor is moved at the\x0d\n // tick end instead of after each operation.\x0d\n let rows = 0;\x0d\n if (lastMatch !== -1) {\x0d\n const line = StringPrototypeSlice(repl.history[lastMatch]\x2C 0\x2C lastCursor);\x0d\n rows = repl._getDisplayPos(`${repl.getPrompt()}${line}`).rows;\x0d\n cursorTo(repl.output\x2C promptPos.cols);\x0d\n } else if (isInReverseSearch && repl.line !== '') {\x0d\n rows = repl.getCursorPos().rows;\x0d\n cursorTo(repl.output\x2C promptPos.cols);\x0d\n }\x0d\n if (rows !== 0)\x0d\n moveCursor(repl.output\x2C 0\x2C -rows);\x0d\n\x0d\n if (isInReverseSearch) {\x0d\n clearScreenDown(repl.output);\x0d\n repl.output.write(`${outputLine}\\n${inputLine}`);\x0d\n } else {\x0d\n repl.output.write(`\\n${inputLine}`);\x0d\n }\x0d\n\x0d\n lastMatch = -1;\x0d\n\x0d\n // To know exactly how many rows we have to move the cursor back we need the\x0d\n // cursor rows\x2C the output rows and the input rows.\x0d\n const prompt = repl.getPrompt();\x0d\n const cursorLine = prompt + StringPrototypeSlice(outputLine\x2C 0\x2C cursor);\x0d\n const cursorPos = repl._getDisplayPos(cursorLine);\x0d\n const outputPos = repl._getDisplayPos(`${prompt}${outputLine}`);\x0d\n const inputPos = repl._getDisplayPos(inputLine);\x0d\n const inputRows = inputPos.rows - (inputPos.cols === 0 ? 1 : 0);\x0d\n\x0d\n rows = -1 - inputRows - (outputPos.rows - cursorPos.rows);\x0d\n\x0d\n moveCursor(repl.output\x2C 0\x2C rows);\x0d\n cursorTo(repl.output\x2C cursorPos.cols);\x0d\n }\x0d\n\x0d\n function reset(string) {\x0d\n isInReverseSearch = string !== undefined;\x0d\n\x0d\n // In case the reverse search ends and a history entry is found\x2C reset the\x0d\n // line to the found entry.\x0d\n if (!isInReverseSearch) {\x0d\n if (lastMatch !== -1) {\x0d\n repl.line = repl.history[lastMatch];\x0d\n repl.cursor = lastCursor;\x0d\n repl.historyIndex = lastMatch;\x0d\n }\x0d\n\x0d\n lastMatch = -1;\x0d\n\x0d\n // Clear screen and write the current repl.line before exiting.\x0d\n cursorTo(repl.output\x2C promptPos.cols);\x0d\n moveCursor(repl.output\x2C 0\x2C promptPos.rows);\x0d\n clearScreenDown(repl.output);\x0d\n if (repl.line !== '') {\x0d\n repl.output.write(repl.line);\x0d\n if (repl.line.length !== repl.cursor) {\x0d\n const { cols\x2C rows } = repl.getCursorPos();\x0d\n cursorTo(repl.output\x2C cols);\x0d\n moveCursor(repl.output\x2C 0\x2C rows);\x0d\n }\x0d\n }\x0d\n }\x0d\n\x0d\n input = string || '';\x0d\n cursor = -1;\x0d\n historyIndex = repl.historyIndex;\x0d\n alreadyMatched.clear();\x0d\n }\x0d\n\x0d\n function reverseSearch(string\x2C key) {\x0d\n if (!isInReverseSearch) {\x0d\n if (key.ctrl && checkAndSetDirectionKey(key.name)) {\x0d\n historyIndex = repl.historyIndex;\x0d\n promptPos = repl._getDisplayPos(`${repl.getPrompt()}`);\x0d\n print(repl.line\x2C `${labels[dir]}_`);\x0d\n isInReverseSearch = true;\x0d\n }\x0d\n } else if (key.ctrl && checkAndSetDirectionKey(key.name)) {\x0d\n search();\x0d\n } else if (key.name === 'backspace' ||\x0d\n (key.ctrl && (key.name === 'h' || key.name === 'w'))) {\x0d\n reset(StringPrototypeSlice(input\x2C 0\x2C input.length - 1));\x0d\n search();\x0d\n // Special handle <ctrl> + c and escape. Those should only cancel the\x0d\n // reverse search. The original line is visible afterwards again.\x0d\n } else if ((key.ctrl && key.name === 'c') || key.name === 'escape') {\x0d\n lastMatch = -1;\x0d\n reset();\x0d\n return true;\x0d\n // End search in case either enter is pressed or if any non-reverse-search\x0d\n // key (combination) is pressed.\x0d\n } else if (key.ctrl ||\x0d\n key.meta ||\x0d\n key.name === 'return' ||\x0d\n key.name === 'enter' ||\x0d\n typeof string !== 'string' ||\x0d\n string === '') {\x0d\n reset();\x0d\n repl[kSubstringSearch] = '';\x0d\n } else {\x0d\n reset(`${input}${string}`);\x0d\n search();\x0d\n }\x0d\n return isInReverseSearch;\x0d\n }\x0d\n\x0d\n return { reverseSearch };\x0d\n}\x0d\n\x0d\nmodule.exports = {\x0d\n REPL_MODE_SLOPPY: Symbol('repl-sloppy')\x2C\x0d\n REPL_MODE_STRICT\x2C\x0d\n isRecoverableError\x2C\x0d\n kStandaloneREPL: Symbol('kStandaloneREPL')\x2C\x0d\n setupPreview\x2C\x0d\n setupReverseSearch\x2C\x0d\n};\x0d\n
code-source-info,0x2d4ae60e43e,128,0,25987,C0O0C4O25987,,
code-creation,JS,10,471540,0x2d4ae60e97e,456, node:internal/repl/utils:1:1,0x2d4ae60e3b8,~
code-source-info,0x2d4ae60e97e,128,0,25987,C0O0C121O28C127O53C133O80C139O102C145O114C151O140C157O152C163O176C169O188C175O211C181O239C187O266C193O297C199O327C205O352C211O382C217O413C223O437C228O515C231O515C236O484C242O496C248O600C251O600C256O575C262O684C265O684C270O710C275O650C281O796C284O796C289O732C295O746C301O766C307O779C313O890C316O890C321O850C327O867C333O973C336O973C341O940C347O959C353O1022C356O1022C361O1055C374O1056C380O1022C382O1129C386O1129C388O1216C391O1216C395O1216C397O25788C405O25828C415O25854C421O25875C428O25915C438O25945C444O25962C450O25803C455O25986,,
code-creation,Eval,10,472133,0x2d4ae610d3e,5, node:internal/repl/history:1:1,0x2d4ae610af8,~
script-source,129,node:internal/repl/history,'use strict';\x0d\n\x0d\nconst {\x0d\n ArrayPrototypeJoin\x2C\x0d\n Boolean\x2C\x0d\n FunctionPrototype\x2C\x0d\n RegExpPrototypeSymbolSplit\x2C\x0d\n StringPrototypeTrim\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst { Interface } = require('readline');\x0d\nconst path = require('path');\x0d\nconst fs = require('fs');\x0d\nconst os = require('os');\x0d\nlet debug = require('internal/util/debuglog').debuglog('repl'\x2C (fn) => {\x0d\n debug = fn;\x0d\n});\x0d\nconst permission = require('internal/process/permission');\x0d\nconst { clearTimeout\x2C setTimeout } = require('timers');\x0d\n\x0d\nconst noop = FunctionPrototype;\x0d\n\x0d\n// XXX(chrisdickinson): The 15ms debounce value is somewhat arbitrary.\x0d\n// The debounce is to guard against code pasted into the REPL.\x0d\nconst kDebounceHistoryMS = 15;\x0d\n\x0d\nmodule.exports = setupHistory;\x0d\n\x0d\nfunction _writeToOutput(repl\x2C message) {\x0d\n repl._writeToOutput(message);\x0d\n repl._refreshLine();\x0d\n}\x0d\n\x0d\nfunction setupHistory(repl\x2C historyPath\x2C ready) {\x0d\n // Empty string disables persistent history\x0d\n if (typeof historyPath === 'string')\x0d\n historyPath = StringPrototypeTrim(historyPath);\x0d\n\x0d\n if (historyPath === '') {\x0d\n repl._historyPrev = _replHistoryMessage;\x0d\n return ready(null\x2C repl);\x0d\n }\x0d\n\x0d\n if (!historyPath) {\x0d\n try {\x0d\n historyPath = path.join(os.homedir()\x2C '.node_repl_history');\x0d\n } catch (err) {\x0d\n _writeToOutput(repl\x2C '\\nError: Could not get the home directory.\\n' +\x0d\n 'REPL session history will not be persisted.\\n');\x0d\n\x0d\n debug(err.stack);\x0d\n repl._historyPrev = _replHistoryMessage;\x0d\n return ready(null\x2C repl);\x0d\n }\x0d\n }\x0d\n\x0d\n if (permission.isEnabled() && permission.has('fs.write'\x2C historyPath) === false) {\x0d\n _writeToOutput(repl\x2C '\\nAccess to FileSystemWrite is restricted.\\n' +\x0d\n 'REPL session history will not be persisted.\\n');\x0d\n return ready(null\x2C repl);\x0d\n }\x0d\n\x0d\n let timer = null;\x0d\n let writing = false;\x0d\n let pending = false;\x0d\n repl.pause();\x0d\n // History files are conventionally not readable by others:\x0d\n // https://github.com/nodejs/node/issues/3392\x0d\n // https://github.com/nodejs/node/pull/3394\x0d\n fs.open(historyPath\x2C 'a+'\x2C 0o0600\x2C oninit);\x0d\n\x0d\n function oninit(err\x2C hnd) {\x0d\n if (err) {\x0d\n // Cannot open history file.\x0d\n // Don't crash\x2C just don't persist history.\x0d\n _writeToOutput(repl\x2C '\\nError: Could not open history file.\\n' +\x0d\n 'REPL session history will not be persisted.\\n');\x0d\n debug(err.stack);\x0d\n\x0d\n repl._historyPrev = _replHistoryMessage;\x0d\n repl.resume();\x0d\n return ready(null\x2C repl);\x0d\n }\x0d\n fs.close(hnd\x2C onclose);\x0d\n }\x0d\n\x0d\n function onclose(err) {\x0d\n if (err) {\x0d\n return ready(err);\x0d\n }\x0d\n fs.readFile(historyPath\x2C 'utf8'\x2C onread);\x0d\n }\x0d\n\x0d\n function onread(err\x2C data) {\x0d\n if (err) {\x0d\n return ready(err);\x0d\n }\x0d\n\x0d\n if (data) {\x0d\n repl.history = RegExpPrototypeSymbolSplit(/[\\n\\r]+/\x2C data\x2C repl.historySize);\x0d\n } else {\x0d\n repl.history = [];\x0d\n }\x0d\n\x0d\n fs.open(historyPath\x2C 'r+'\x2C onhandle);\x0d\n }\x0d\n\x0d\n function onhandle(err\x2C hnd) {\x0d\n if (err) {\x0d\n return ready(err);\x0d\n }\x0d\n fs.ftruncate(hnd\x2C 0\x2C (err) => {\x0d\n repl._historyHandle = hnd;\x0d\n repl.on('line'\x2C online);\x0d\n repl.once('exit'\x2C onexit);\x0d\n\x0d\n // Reading the file data out erases it\x0d\n repl.once('flushHistory'\x2C function() {\x0d\n repl.resume();\x0d\n ready(null\x2C repl);\x0d\n });\x0d\n flushHistory();\x0d\n });\x0d\n }\x0d\n\x0d\n // ------ history listeners ------\x0d\n function online(line) {\x0d\n repl._flushing = true;\x0d\n\x0d\n if (timer) {\x0d\n clearTimeout(timer);\x0d\n }\x0d\n\x0d\n timer = setTimeout(flushHistory\x2C kDebounceHistoryMS);\x0d\n }\x0d\n\x0d\n function flushHistory() {\x0d\n timer = null;\x0d\n if (writing) {\x0d\n pending = true;\x0d\n return;\x0d\n }\x0d\n writing = true;\x0d\n const historyData = ArrayPrototypeJoin(repl.history\x2C os.EOL);\x0d\n fs.write(repl._historyHandle\x2C historyData\x2C 0\x2C 'utf8'\x2C onwritten);\x0d\n }\x0d\n\x0d\n function onwritten(err\x2C data) {\x0d\n writing = false;\x0d\n if (pending) {\x0d\n pending = false;\x0d\n online();\x0d\n } else {\x0d\n repl._flushing = Boolean(timer);\x0d\n if (!repl._flushing) {\x0d\n repl.emit('flushHistory');\x0d\n }\x0d\n }\x0d\n }\x0d\n\x0d\n function onexit() {\x0d\n if (repl._flushing) {\x0d\n repl.once('flushHistory'\x2C onexit);\x0d\n return;\x0d\n }\x0d\n repl.off('line'\x2C online);\x0d\n fs.close(repl._historyHandle\x2C noop);\x0d\n }\x0d\n}\x0d\n\x0d\nfunction _replHistoryMessage() {\x0d\n if (this.history.length === 0) {\x0d\n _writeToOutput(\x0d\n this\x2C\x0d\n '\\nPersistent history support disabled. ' +\x0d\n 'Set the NODE_REPL_HISTORY environment\\nvariable to ' +\x0d\n 'a valid\x2C user-writable path to enable.\\n'\x2C\x0d\n );\x0d\n }\x0d\n this._historyPrev = Interface.prototype._historyPrev;\x0d\n return this._historyPrev();\x0d\n}\x0d\n
code-source-info,0x2d4ae610d3e,129,0,4673,C0O0C4O4673,,
code-creation,JS,10,472899,0x2d4ae61102e,208, node:internal/repl/history:1:1,0x2d4ae610cb8,~
code-source-info,0x2d4ae61102e,129,0,4673,C0O0C64O28C70O51C76O63C81O85C87O116C93O180C96O180C101O166C107O215C110O215C114O215C116O244C119O244C123O244C125O271C128O271C132O271C134O299C137O299C142O332C155O333C161O299C163O400C166O400C170O400C172O478C175O478C180O449C186O463C192O513C194O513C196O698C198O698C200O705C202O720C207O4672,,
tick,0x7ffcc621f25f,473217,1,0x7ff7b8fa3800,3,0x7ff7b99b2970,0x7ff739bc3f26,0x7ff739bc3ca1,0x158ab315502,0x7ff739bc3feb,0x7ff739bc3ca1,0x158ab30fa20,0x7ff739bc3feb,0x7ff739bc3ca1,0x23c51978956,0x23c519693ae,0x23c51968a11,0x23c51942948
code-creation,Eval,10,473751,0x2d4ae611be6,5, node:internal/modules/esm/formats:1:1,0x2d4ae611a40,~
script-source,130,node:internal/modules/esm/formats,'use strict';\x0d\n\x0d\nconst { RegExpPrototypeExec } = primordials;\x0d\nconst { getOptionValue } = require('internal/options');\x0d\nconst { getValidatedPath } = require('internal/fs/utils');\x0d\nconst pathModule = require('path');\x0d\nconst fsBindings = internalBinding('fs');\x0d\nconst { fs: fsConstants } = internalBinding('constants');\x0d\n\x0d\nconst experimentalWasmModules = getOptionValue('--experimental-wasm-modules');\x0d\n\x0d\nconst extensionFormatMap = {\x0d\n '__proto__': null\x2C\x0d\n '.cjs': 'commonjs'\x2C\x0d\n '.js': 'module'\x2C\x0d\n '.json': 'json'\x2C\x0d\n '.mjs': 'module'\x2C\x0d\n};\x0d\n\x0d\nif (experimentalWasmModules) {\x0d\n extensionFormatMap['.wasm'] = 'wasm';\x0d\n}\x0d\n\x0d\n/**\x0d\n * @param {string} mime\x0d\n * @returns {string | null}\x0d\n */\x0d\nfunction mimeToFormat(mime) {\x0d\n if (\x0d\n RegExpPrototypeExec(\x0d\n /^\\s*(text|application)\\/javascript\\s*(;\\s*charset=utf-?8\\s*)?$/i\x2C\x0d\n mime\x2C\x0d\n ) !== null\x0d\n ) { return 'module'; }\x0d\n if (mime === 'application/json') { return 'json'; }\x0d\n if (experimentalWasmModules && mime === 'application/wasm') { return 'wasm'; }\x0d\n return null;\x0d\n}\x0d\n\x0d\n/**\x0d\n * For extensionless files in a `module` package scope\x2C or a default `module` scope enabled by the\x0d\n * `--experimental-default-type` flag\x2C we check the file contents to disambiguate between ES module JavaScript and Wasm.\x0d\n * We do this by taking advantage of the fact that all Wasm files start with the header `0x00 0x61 0x73 0x6d` (`_asm`).\x0d\n * @param {URL} url\x0d\n */\x0d\nfunction getFormatOfExtensionlessFile(url) {\x0d\n if (!experimentalWasmModules) { return 'module'; }\x0d\n\x0d\n const path = pathModule.toNamespacedPath(getValidatedPath(url));\x0d\n\x0d\n switch (fsBindings.getFormatOfExtensionlessFile(path)) {\x0d\n case fsConstants.EXTENSIONLESS_FORMAT_WASM:\x0d\n return 'wasm';\x0d\n default:\x0d\n return 'module';\x0d\n }\x0d\n}\x0d\n\x0d\nmodule.exports = {\x0d\n extensionFormatMap\x2C\x0d\n getFormatOfExtensionlessFile\x2C\x0d\n mimeToFormat\x2C\x0d\n};\x0d\n
code-source-info,0x2d4ae611be6,130,0,1861,C0O0C4O1861,,
code-creation,JS,10,474122,0x2d4ae611e3e,153, node:internal/modules/esm/formats:1:1,0x2d4ae611b60,~
code-source-info,0x2d4ae611e3e,130,0,1861,C0O0C33O25C39O90C42O90C47O71C52O149C55O149C60O128C66O199C69O199C73O199C75O236C78O236C82O236C84O288C87O288C92O272C98O353C101O353C105O353C107O430C112O545C116O579C118O607C122O1764C129O1786C135O1809C141O1842C147O1779C152O1860,,
code-creation,JS,10,474473,0x2d4ae61256e,82,runInNewContext node:vm:303:25,0x22cbe4730b0,~
code-source-info,0x2d4ae61256e,118,9649,9984,C0O9685C6O9725C13O9747C22O9766C28O9811C33O9782C40O9843C47O9868C53O9886C61O9906C64O9913C70O9940C75O9941C81O9981,,
code-creation,JS,10,474670,0x2d4ae613676,214,getContextOptions node:vm:195:27,0x22cbe472f20,~
code-source-info,0x2d4ae613676,118,5993,7061,C0O6008C4O6027C5O6037C6O6064C11O6085C19O6119C28O6155C32O6194C43O6237C49O6262C54O6292C62O6262C67O6344C73O6371C78O6401C86O6371C91O6450C97O6494C102O6517C110O6494C115O6633C120O6607C125O6616C130O6661C134O6695C142O6695C147O6767C151O6798C159O6798C164O6864C171O6898C177O6907C183O6894C187O6935C193O6969C198O6992C206O6969C211O7036C213O7058,,
code-creation,JS,10,474918,0x2d4ae613a9e,295,createContext node:vm:224:23,0x22cbe472f70,~
code-source-info,0x2d4ae613a9e,118,7121,8492,C4O7121C16O7152C23O7171C26O7175C32O7208C34O7229C35O7240C43O7240C48O7294C62O7301C72O7338C85O7349C90O7362C95O7383C100O7403C105O7449C113O7449C118O7490C122O7521C130O7521C135O7566C139O7605C147O7605C152O7682C154O7702C156O7711C160O7755C171O7771C179O7809C187O7809C192O7874C200O7874C205O7938C213O7952C222O8044C229O7938C234O8083C236O8098C240O8158C245O8158C251O8218C277O8218C282O8392C287O8392C292O8468C294O8489,,
code-creation,JS,10,475061,0x2d4ae613d36,31,isContext node:vm:77:19,0x22cbe472e30,~
code-source-info,0x2d4ae613d36,118,2477,2586,C0O2491C10O2524C16O2491C21O2557C26O2564C30O2583,,
code-creation,JS,10,475165,0x2d4ae613e36,10,isContext node:internal/vm:39:19,0x39e2db69890,~
script-source,41,node:internal/vm,'use strict';\x0d\n\x0d\nconst {\x0d\n ReflectApply\x2C\x0d\n Symbol\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst {\x0d\n ContextifyScript\x2C\x0d\n compileFunction\x2C\x0d\n} = internalBinding('contextify');\x0d\nconst {\x0d\n runInContext\x2C\x0d\n} = ContextifyScript.prototype;\x0d\nconst {\x0d\n vm_dynamic_import_default_internal\x2C\x0d\n vm_dynamic_import_main_context_default\x2C\x0d\n vm_dynamic_import_no_callback\x2C\x0d\n vm_dynamic_import_missing_flag\x2C\x0d\n} = internalBinding('symbols');\x0d\nconst {\x0d\n validateFunction\x2C\x0d\n} = require('internal/validators');\x0d\n\x0d\nconst {\x0d\n getOptionValue\x2C\x0d\n} = require('internal/options');\x0d\nconst {\x0d\n privateSymbols: {\x0d\n contextify_context_private_symbol\x2C\x0d\n }\x2C\x0d\n} = internalBinding('util');\x0d\n\x0d\n/**\x0d\n * Checks if the given object is a context object.\x0d\n * @param {object} object - The object to check.\x0d\n * @returns {boolean} - Returns true if the object is a context object\x2C else false.\x0d\n */\x0d\nfunction isContext(object) {\x0d\n return object[contextify_context_private_symbol] !== undefined;\x0d\n}\x0d\n\x0d\n/**\x0d\n * Retrieves the host-defined option ID based on the provided importModuleDynamically and hint.\x0d\n * @param {import('internal/modules/esm/utils').ImportModuleDynamicallyCallback | undefined} importModuleDynamically -\x0d\n * The importModuleDynamically function or undefined.\x0d\n * @param {string} hint - The hint for the option ID.\x0d\n * @returns {symbol | import('internal/modules/esm/utils').ImportModuleDynamicallyCallback} - The host-defined option\x0d\n * ID.\x0d\n */\x0d\nfunction getHostDefinedOptionId(importModuleDynamically\x2C hint) {\x0d\n if (importModuleDynamically === vm_dynamic_import_main_context_default ||\x0d\n importModuleDynamically === vm_dynamic_import_default_internal) {\x0d\n return importModuleDynamically;\x0d\n }\x0d\n\x0d\n if (importModuleDynamically !== undefined) {\x0d\n // Check that it's either undefined or a function before we pass\x0d\n // it into the native constructor.\x0d\n validateFunction(importModuleDynamically\x2C\x0d\n 'options.importModuleDynamically');\x0d\n }\x0d\n if (importModuleDynamically === undefined) {\x0d\n // We need a default host defined options that are the same for all\x0d\n // scripts not needing custom module callbacks so that the isolate\x0d\n // compilation cache can be hit.\x0d\n return vm_dynamic_import_no_callback;\x0d\n }\x0d\n // We should've thrown here immediately when we introduced\x0d\n // --experimental-vm-modules and importModuleDynamically\x2C but since\x0d\n // users are already using this callback to throw a similar error\x2C\x0d\n // we also defer the error to the time when an actual import() is called\x0d\n // to avoid breaking them. To ensure that the isolate compilation\x0d\n // cache can still be hit\x2C use a constant sentinel symbol here.\x0d\n if (!getOptionValue('--experimental-vm-modules')) {\x0d\n return vm_dynamic_import_missing_flag;\x0d\n }\x0d\n\x0d\n return Symbol(hint);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Registers a dynamically imported module for customization.\x0d\n * @param {string} referrer - The path of the referrer module.\x0d\n * @param {import('internal/modules/esm/utils').ImportModuleDynamicallyCallback} importModuleDynamically - The\x0d\n * dynamically imported module function to be registered.\x0d\n */\x0d\nfunction registerImportModuleDynamically(referrer\x2C importModuleDynamically) {\x0d\n // If it's undefined or certain known symbol\x2C there's no customization so\x0d\n // no need to register anything.\x0d\n if (importModuleDynamically === undefined ||\x0d\n importModuleDynamically === vm_dynamic_import_main_context_default ||\x0d\n importModuleDynamically === vm_dynamic_import_default_internal) {\x0d\n return;\x0d\n }\x0d\n const { importModuleDynamicallyWrap } = require('internal/vm/module');\x0d\n const { registerModule } = require('internal/modules/esm/utils');\x0d\n registerModule(referrer\x2C {\x0d\n __proto__: null\x2C\x0d\n importModuleDynamically:\x0d\n importModuleDynamicallyWrap(importModuleDynamically)\x2C\x0d\n });\x0d\n}\x0d\n\x0d\n/**\x0d\n * Compiles a function from the given code string.\x0d\n * @param {string} code - The code string to compile.\x0d\n * @param {string} filename - The filename to use for the compiled function.\x0d\n * @param {number} lineOffset - The line offset to use for the compiled function.\x0d\n * @param {number} columnOffset - The column offset to use for the compiled function.\x0d\n * @param {Buffer} [cachedData=undefined] - The cached data to use for the compiled function.\x0d\n * @param {boolean} produceCachedData - Whether to produce cached data for the compiled function.\x0d\n * @param {ReturnType<import('vm').createContext} [parsingContext=undefined] - The parsing context to use for the\x0d\n * compiled function.\x0d\n * @param {object[]} [contextExtensions=[]] - An array of context extensions to use for the compiled function.\x0d\n * @param {string[]} [params] - An optional array of parameter names for the compiled function.\x0d\n * @param {symbol} hostDefinedOptionId - A symbol referenced by the field `host_defined_option_symbol`.\x0d\n * @param {import('internal/modules/esm/utils').ImportModuleDynamicallyCallback} [importModuleDynamically] -\x0d\n * A function to use for dynamically importing modules.\x0d\n * @returns {object} An object containing the compiled function and any associated data.\x0d\n * @throws {TypeError} If any of the arguments are of the wrong type.\x0d\n * @throws {ERR_INVALID_ARG_TYPE} If the parsing context is not a valid context object.\x0d\n */\x0d\nfunction internalCompileFunction(\x0d\n code\x2C filename\x2C lineOffset\x2C columnOffset\x2C\x0d\n cachedData\x2C produceCachedData\x2C parsingContext\x2C contextExtensions\x2C\x0d\n params\x2C hostDefinedOptionId\x2C importModuleDynamically) {\x0d\n const result = compileFunction(\x0d\n code\x2C\x0d\n filename\x2C\x0d\n lineOffset\x2C\x0d\n columnOffset\x2C\x0d\n cachedData\x2C\x0d\n produceCachedData\x2C\x0d\n parsingContext\x2C\x0d\n contextExtensions\x2C\x0d\n params\x2C\x0d\n hostDefinedOptionId\x2C\x0d\n );\x0d\n\x0d\n if (produceCachedData) {\x0d\n result.function.cachedDataProduced = result.cachedDataProduced;\x0d\n }\x0d\n\x0d\n if (result.cachedData) {\x0d\n result.function.cachedData = result.cachedData;\x0d\n }\x0d\n\x0d\n if (typeof result.cachedDataRejected === 'boolean') {\x0d\n result.function.cachedDataRejected = result.cachedDataRejected;\x0d\n }\x0d\n\x0d\n registerImportModuleDynamically(result.function\x2C importModuleDynamically);\x0d\n\x0d\n return result;\x0d\n}\x0d\n\x0d\n/**\x0d\n * Creates a contextify script.\x0d\n * @param {string} code - The code of the script.\x0d\n * @param {string} filename - The filename of the script.\x0d\n * @param {number} lineOffset - The line offset of the script.\x0d\n * @param {number} columnOffset - The column offset of the script.\x0d\n * @param {Buffer} cachedData - The cached data of the script.\x0d\n * @param {boolean} produceCachedData - Indicates whether to produce cached data.\x0d\n * @param {object} parsingContext - The parsing context of the script.\x0d\n * @param {number} hostDefinedOptionId - The host-defined option ID.\x0d\n * @param {boolean} importModuleDynamically - Indicates whether to import modules dynamically.\x0d\n * @returns {ContextifyScript} The created contextify script.\x0d\n */\x0d\nfunction makeContextifyScript(code\x2C\x0d\n filename\x2C\x0d\n lineOffset\x2C\x0d\n columnOffset\x2C\x0d\n cachedData\x2C\x0d\n produceCachedData\x2C\x0d\n parsingContext\x2C\x0d\n hostDefinedOptionId\x2C\x0d\n importModuleDynamically) {\x0d\n let script;\x0d\n // Calling `ReThrow()` on a native TryCatch does not generate a new\x0d\n // abort-on-uncaught-exception check. A dummy try/catch in JS land\x0d\n // protects against that.\x0d\n try { // eslint-disable-line no-useless-catch\x0d\n script = new ContextifyScript(code\x2C\x0d\n filename\x2C\x0d\n lineOffset\x2C\x0d\n columnOffset\x2C\x0d\n cachedData\x2C\x0d\n produceCachedData\x2C\x0d\n parsingContext\x2C\x0d\n hostDefinedOptionId);\x0d\n } catch (e) {\x0d\n throw e; /* node-do-not-add-exception-line */\x0d\n }\x0d\n\x0d\n registerImportModuleDynamically(script\x2C importModuleDynamically);\x0d\n return script;\x0d\n}\x0d\n\x0d\n/**\x0d\n * Runs a script in the current context.\x0d\n * Internal version of `vm.Script.prototype.runInThisContext()` which skips argument validation.\x0d\n * @param {ReturnType<makeContextifyScript>} script - The script to run.\x0d\n * @param {boolean} displayErrors - Whether to display errors.\x0d\n * @param {boolean} breakOnFirstLine - Whether to break on the first line.\x0d\n */\x0d\nfunction runScriptInThisContext(script\x2C displayErrors\x2C breakOnFirstLine) {\x0d\n return ReflectApply(\x0d\n runInContext\x2C\x0d\n script\x2C\x0d\n [\x0d\n null\x2C // sandbox - use current context\x0d\n -1\x2C // timeout\x0d\n displayErrors\x2C // displayErrors\x0d\n false\x2C // breakOnSigint\x0d\n breakOnFirstLine\x2C // breakOnFirstLine\x0d\n ]\x2C\x0d\n );\x0d\n}\x0d\n\x0d\nmodule.exports = {\x0d\n getHostDefinedOptionId\x2C\x0d\n internalCompileFunction\x2C\x0d\n isContext\x2C\x0d\n makeContextifyScript\x2C\x0d\n registerImportModuleDynamically\x2C\x0d\n runScriptInThisContext\x2C\x0d\n};\x0d\n
code-source-info,0x2d4ae613e36,41,866,946,C0O880C2O894C4O893C8O929C9O943,,
code-creation,JS,10,476097,0x2d4ae614726,75, node:internal/validators:197:39,0x39e2db45ef0,~
code-source-info,0x2d4ae614726,15,5547,5889,C0O5576C5O5581C12O5642C19O5669C22O5687C27O5669C36O5642C42O5793C47O5812C51O5828C67O5834C72O5828C74O5888,,
code-creation,JS,10,476240,0x2d4ae61491e,76,getHostDefinedOptionId node:internal/vm:51:32,0x39e2db69a08,~
code-source-info,0x2d4ae61491e,41,1445,2767,C0O1482C2O1514C4O1510C11O1591C13O1587C18O1634C20O1665C21O1676C25O1836C33O1836C38O1944C42O2177C46O2214C47O2638C55O2643C61O2695C65O2733C66O2744C71O2751C75O2764,,
code-creation,JS,10,477576,0x2d4ae638796,76,registerImportModuleDynamically node:internal/vm:88:41,0x39e2db69a58,~
code-source-info,0x2d4ae638796,41,3119,3781,C0O3273C6O3353C8O3349C15O3430C17O3426C22O3473C23O3480C24O3529C30O3529C35O3497C40O3590C46O3590C51O3571C56O3647C61O3718C69O3632C75O3780,,
code-creation,JS,10,477723,0x2d4ae63892e,19,createScript node:vm:267:22,0x22cbe472fc0,~
code-source-info,0x2d4ae63892e,118,8517,8574,C0O8538C13O8545C18O8571,,
code-creation,JS,10,477909,0x2d4ae638c46,313,Script node:vm:84:14,0x22cbe4731f0,~
code-source-info,0x2d4ae638c46,118,2644,4132,C14O2661C21O2682C25O2705C31O2747C38O2769C49O2801C59O2801C64O2866C76O2911C84O2934C92O2959C97O2978C105O3012C114O3045C124O3104C134O3104C139O3155C149O3155C154O3209C164O3209C169O3267C173O3306C183O3306C188O3368C198O3368C203O3477C210O3477C219O3770C264O3770C291O4004C293O4004C294O4064C304O4064C312O4131,,
code-creation,JS,10,478096,0x2d4ae638f2e,155, node:internal/validators:114:3,0x39e2db45cc8,~
code-source-info,0x2d4ae638f2e,15,3158,3632,C36O3301C42O3341C58O3347C63O3341C64O3408C69O3413C75O3446C91O3452C96O3446C97O3513C99O3523C106O3538C111O3554C121O3593C134O3606C147O3560C152O3554C154O3631,,
code-creation,Script,10,478225,0x2d4ae639236,20, evalmachine.<anonymous>:1:1,0x2d4ae639160,~
script-source,131,evalmachine.<anonymous>,Object.getOwnPropertyNames(globalThis)
code-source-info,0x2d4ae639236,131,0,38,C0O0C4O7C9O27C13O7C19O38,,
code-creation,JS,10,478376,0x2d4ae63944e,33,runInNewContext node:vm:151:18,0x22cbe4732e0,~
code-source-info,0x2d4ae63944e,118,4861,5020,C0O4909C10O4938C15O4909C21O4984C26O4984C32O5015,,
code-creation,JS,10,478502,0x2d4ae639696,109,runInContext node:vm:139:15,0x22cbe473290,~
code-source-info,0x2d4ae639696,118,4457,4840,C0O4494C5O4494C9O4568C14O4568C20O4544C25O4559C30O4645C39O4674C47O4674C54O4698C59O4712C66O4744C77O4719C82O4770C83O4783C92O4809C103O4790C108O4835,,
code-creation,JS,10,478593,0x2d4ae639836,33,validateContext node:vm:157:25,0x22cbe472e80,~
code-source-info,0x2d4ae639836,118,5051,5251,C0O5077C3O5082C9O5120C25O5126C30O5120C32O5250,,
code-creation,JS,10,478717,0x2d4ae639a9e,188,getRunInContextArgs node:vm:164:29,0x22cbe472ed0,~
code-source-info,0x2d4ae639a9e,118,5283,5963,C9O5314C16O5333C24O5333C29O5396C34O5408C36O5442C41O5473C54O5473C59O5546C70O5573C80O5602C93O5673C101O5673C106O5733C114O5733C119O5795C126O5809C130O5835C139O5844C148O5871C157O5887C166O5909C175O5931C187O5960,,
code-creation,JS,10,478975,0x2d4ae639e26,40,wrappedCwd node:internal/bootstrap/switches/does_own_process_state:142:20,0x3b02004b10,~
script-source,73,node:internal/bootstrap/switches/does_own_process_state,'use strict';\x0d\n\x0d\nconst credentials = internalBinding('credentials');\x0d\nconst rawMethods = internalBinding('process_methods');\x0d\nconst {\x0d\n namespace: {\x0d\n addDeserializeCallback\x2C\x0d\n addSerializeCallback\x2C\x0d\n isBuildingSnapshot\x2C\x0d\n }\x2C\x0d\n} = require('internal/v8/startup_snapshot');\x0d\n\x0d\nprocess.abort = rawMethods.abort;\x0d\nprocess.umask = wrappedUmask;\x0d\nprocess.chdir = wrappedChdir;\x0d\nprocess.cwd = wrappedCwd;\x0d\n\x0d\nif (credentials.implementsPosixCredentials) {\x0d\n const wrapped = wrapPosixCredentialSetters(credentials);\x0d\n\x0d\n process.initgroups = wrapped.initgroups;\x0d\n process.setgroups = wrapped.setgroups;\x0d\n process.setegid = wrapped.setegid;\x0d\n process.seteuid = wrapped.seteuid;\x0d\n process.setgid = wrapped.setgid;\x0d\n process.setuid = wrapped.setuid;\x0d\n}\x0d\n\x0d\n// ---- keep the attachment of the wrappers above so that it's easier to ----\x0d\n// ---- compare the setups side-by-side -----\x0d\n\x0d\nconst {\x0d\n parseFileMode\x2C\x0d\n validateArray\x2C\x0d\n validateString\x2C\x0d\n} = require('internal/validators');\x0d\n\x0d\nfunction wrapPosixCredentialSetters(credentials) {\x0d\n const {\x0d\n codes: {\x0d\n ERR_INVALID_ARG_TYPE\x2C\x0d\n ERR_UNKNOWN_CREDENTIAL\x2C\x0d\n }\x2C\x0d\n } = require('internal/errors');\x0d\n const {\x0d\n validateUint32\x2C\x0d\n } = require('internal/validators');\x0d\n\x0d\n const {\x0d\n initgroups: _initgroups\x2C\x0d\n setgroups: _setgroups\x2C\x0d\n setegid: _setegid\x2C\x0d\n seteuid: _seteuid\x2C\x0d\n setgid: _setgid\x2C\x0d\n setuid: _setuid\x2C\x0d\n } = credentials;\x0d\n\x0d\n function initgroups(user\x2C extraGroup) {\x0d\n validateId(user\x2C 'user');\x0d\n validateId(extraGroup\x2C 'extraGroup');\x0d\n // Result is 0 on success\x2C 1 if user is unknown\x2C 2 if group is unknown.\x0d\n const result = _initgroups(user\x2C extraGroup);\x0d\n if (result === 1) {\x0d\n throw new ERR_UNKNOWN_CREDENTIAL('User'\x2C user);\x0d\n } else if (result === 2) {\x0d\n throw new ERR_UNKNOWN_CREDENTIAL('Group'\x2C extraGroup);\x0d\n }\x0d\n }\x0d\n\x0d\n function setgroups(groups) {\x0d\n validateArray(groups\x2C 'groups');\x0d\n for (let i = 0; i < groups.length; i++) {\x0d\n validateId(groups[i]\x2C `groups[${i}]`);\x0d\n }\x0d\n // Result is 0 on success. A positive integer indicates that the\x0d\n // corresponding group was not found.\x0d\n const result = _setgroups(groups);\x0d\n if (result > 0) {\x0d\n throw new ERR_UNKNOWN_CREDENTIAL('Group'\x2C groups[result - 1]);\x0d\n }\x0d\n }\x0d\n\x0d\n function wrapIdSetter(type\x2C method) {\x0d\n return function(id) {\x0d\n validateId(id\x2C 'id');\x0d\n if (typeof id === 'number') id >>>= 0;\x0d\n // Result is 0 on success\x2C 1 if credential is unknown.\x0d\n const result = method(id);\x0d\n if (result === 1) {\x0d\n throw new ERR_UNKNOWN_CREDENTIAL(type\x2C id);\x0d\n }\x0d\n };\x0d\n }\x0d\n\x0d\n function validateId(id\x2C name) {\x0d\n if (typeof id === 'number') {\x0d\n validateUint32(id\x2C name);\x0d\n } else if (typeof id !== 'string') {\x0d\n throw new ERR_INVALID_ARG_TYPE(name\x2C ['number'\x2C 'string']\x2C id);\x0d\n }\x0d\n }\x0d\n\x0d\n return {\x0d\n initgroups\x2C\x0d\n setgroups\x2C\x0d\n setegid: wrapIdSetter('Group'\x2C _setegid)\x2C\x0d\n seteuid: wrapIdSetter('User'\x2C _seteuid)\x2C\x0d\n setgid: wrapIdSetter('Group'\x2C _setgid)\x2C\x0d\n setuid: wrapIdSetter('User'\x2C _setuid)\x2C\x0d\n };\x0d\n}\x0d\n\x0d\n// Cache the working directory to prevent lots of lookups. If the working\x0d\n// directory is changed by `chdir`\x2C it'll be updated.\x0d\nlet cachedCwd = '';\x0d\n\x0d\nif (isBuildingSnapshot()) {\x0d\n // Reset the cwd on both serialization and deserialization so it's fine\x0d\n // for process.cwd() to be accessed inside of serialization callbacks.\x0d\n addSerializeCallback(() => {\x0d\n cachedCwd = '';\x0d\n addDeserializeCallback(() => {\x0d\n cachedCwd = '';\x0d\n });\x0d\n });\x0d\n}\x0d\n\x0d\nfunction wrappedChdir(directory) {\x0d\n validateString(directory\x2C 'directory');\x0d\n rawMethods.chdir(directory);\x0d\n // Mark cache that it requires an update.\x0d\n cachedCwd = '';\x0d\n}\x0d\n\x0d\nfunction wrappedUmask(mask) {\x0d\n if (mask !== undefined) {\x0d\n mask = parseFileMode(mask\x2C 'mask');\x0d\n }\x0d\n return rawMethods.umask(mask);\x0d\n}\x0d\n\x0d\nfunction wrappedCwd() {\x0d\n if (cachedCwd === '')\x0d\n cachedCwd = rawMethods.cwd();\x0d\n return cachedCwd;\x0d\n}\x0d\n
code-source-info,0x2d4ae639e26,73,3941,4029,C0O3949C7O3963C12O3976C17O3999C22O3999C29O3986C35O4009C39O4026,,
code-creation,JS,10,479837,0x2d4ae63a4ae,252,Module._nodeModulePaths node:internal/modules/cjs/loader:797:37,0x39e2db7f008,~
code-source-info,0x2d4ae63a4ae,65,24974,26577,C0O25031C5O25043C10O25043C17O25383C22O25424C26O25431C30O25387C38O25451C40O25436C47O25483C50O25520C54O25527C58O25483C66O25536C68O25532C73O25557C82O25570C91O25588C92O25646C95O25673C99O25680C103O25689C105O25704C110O25714C111O25714C116O25747C121O25747C127O26086C129O26099C131O26095C138O26142C140O26138C147O26184C149O26180C154O26207C156O26217C158O26213C163O26237C170O26290C181O26290C189O26326C193O26237C198O26380C201O26399C205O26420C207O26426C212O26445C219O26456C225O26460C230O26483C237O26517C240O25722C245O25655C249O26559C251O26572,,
code-creation,JS,10,480059,0x2d4ae63a926,5,get node:internal/util/inspect:371:6,0x39e2db4e3f0,~
code-source-info,0x2d4ae63a926,21,11540,11584,C0O11550C4O11579,,
code-creation,JS,10,480432,0x2d4ae63bc16,299,createRepl node:internal/repl:15:20,0x158ab30f900,~
code-source-info,0x2d4ae63bc16,114,295,1265,C0O316C6O355C9O371C12O392C19O407C24O425C33O453C42O476C51O506C62O520C69O537C74O560C79O541C85O586C86O600C90O627C96O650C103O685C106O690C116O725C119O730C127O759C132O774C137O774C142O787C147O788C151O754C154O664C158O816C164O847C166O863C169O868C173O861C177O916C182O927C187O916C192O955C197O960C204O1000C209O1012C211O1029C217O1061C221O1078C225O1109C230O1114C235O1114C241O1143C246O1154C251O1169C260O1188C265O1195C270O1210C280O1223C282O1234C291O1210C298O1264,,
code-creation,JS,10,480652,0x2d4ae63c04e,29,start node:repl:1068:15,0x158ab313910,~
code-source-info,0x2d4ae63c04e,115,36087,36246,C0O36154C23O36161C28O36243,,
code-creation,JS,10,481275,0x2d4ae63d42e,1652,REPLServer node:repl:258:20,0x158ab313798,~
code-source-info,0x2d4ae63d42e,115,8477,35829,C0O8477C79O8649C86O8660C91O8691C116O8698C121O8909C122O8924C123O8924C125O8936C135O9031C139O9039C141O9061C144O9078C153O9096C159O9109C162O9125C168O9136C171O9156C177O9172C180O9198C186O9220C189O9237C195O9250C198O9269C206O9296C207O9304C209O9320C212O9333C221O9351C227O9422C231O9518C237O9691C240O9714C248O9705C252O9736C255O9760C263O9751C267O9788C270O9800C276O9831C282O9858C287O9865C291O9848C295O9880C301O9909C307O9897C311O9924C314O9936C323O9956C329O10049C336O10069C342O10092C347O10069C351O10067C355O10191C358O10199C367O10225C376O10259C386O10270C388O10283C410O10359C418O10387C431O10490C438O10387C457O10618C465O10646C478O10758C485O10646C500O10283C505O10944C527O11021C535O11049C548O11153C555O11049C574O11282C582O11310C595O11423C602O11310C617O10944C622O11612C628O11654C634O11642C638O11683C644O11710C650O11698C654O11724C660O11747C670O11757C673O11764C678O11764C682O11737C686O11777C691O11796C693O11792C697O11810C702O11835C704O11831C708O11855C713O11871C720O11890C725O11898C729O11869C733O11919C737O11943C741O11955C745O11965C749O11981C753O12008C757O12020C761O12035C765O12051C771O12086C777O12074C781O12108C785O12124C789O12190C796O12195C800O12207C804O12225C807O12234C815O12255C817O12403C824O12409C829O12403C830O12455C837O12467C839O12466C844O12647C849O12654C856O12667C862O12685C870O12943C875O12951C888O12951C894O13598C900O13615C908O13633C915O13643C923O13652C928O13643C933O13693C937O13693C939O13750C941O13750C943O13796C955O13811C968O13821C981O13831C994O13841C1007O13891C1017O13901C1030O13911C1043O13921C1053O13851C1059O13971C1066O13931C1072O13796C1077O13796C1079O13989C1087O14037C1089O14037C1091O14134C1093O14134C1095O14154C1096O14154C1098O23517C1101O23534C1106O23542C1111O23542C1116O23527C1120O23560C1123O23565C1128O23573C1141O23573C1147O27661C1150O27666C1155O27666C1159O27851C1170O27864C1191O27904C1202O27932C1213O27964C1221O27977C1228O28011C1239O28047C1249O28065C1259O27851C1264O28086C1267O28091C1272O28091C1276O28112C1283O28126C1287O28152C1295O28152C1299O28234C1305O28256C1316O28273C1321O28281C1325O28246C1329O28294C1332O28303C1341O28314C1343O28310C1348O28374C1355O28381C1363O28403C1367O28396C1371O28421C1378O28433C1380O28432C1385O28460C1396O28481C1407O28543C1415O28606C1423O28460C1428O29025C1431O29030C1444O29030C1450O29209C1451O29209C1453O29234C1454O29234C1456O29275C1463O29275C1468O29275C1470O29293C1473O29298C1486O29298C1492O30051C1495O30056C1508O30056C1514O33428C1517O33433C1530O33433C1536O33842C1546O33842C1551O33824C1557O33925C1571O33955C1578O33972C1584O33925C1590O33886C1596O33905C1602O34097C1612O34124C1620O34097C1625O34097C1627O34145C1634O34160C1638O35805C1641O35810C1646O35810C1651O35828,,
code-creation,JS,10,482162,0x2d4ae63e366,202,Interface node:readline:101:19,0x22cbe476178,~
code-source-info,0x2d4ae63e366,119,2709,3456,C0O2751C2O2762C7O2792C24O2799C29O2849C30O2860C37O2869C46O2900C54O2934C59O2944C66O2951C78O2973C84O2999C88O3015C96O3062C102O3111C109O3118C121O3154C123O3154C125O3170C133O3231C140O3253C158O3231C163O3348C166O3360C171O3364C178O3369C183O3388C185O3405C191O3405C196O3403C201O3455,,
new,MemoryChunk,0x22fbed80000,262144
code-creation,JS,10,482534,0x2d4ae63f606,52,Interface node:internal/readline/interface:346:14,0x158ab336d68,~
code-source-info,0x2d4ae63f606,123,9942,10033,C3O9986C36O9986C51O10032,,
code-creation,JS,10,482932,0x22fbed84456,1049,InterfaceConstructor node:internal/readline/interface:133:30,0x158ab336cb8,~
code-source-info,0x22fbed84456,123,4014,9683,C0O4014C52O4056C56O4061C60O4075C64O4221C65O4246C69O4257C73O4262C77O4276C81O4288C85O4293C89O4307C93O4318C97O4343C99O4341C103O4367C105O4380C109O4390C120O4412C123O4390C128O4442C130O4458C132O4504C134O4518C136O4545C139O4558C141O4571C146O4580C155O4632C158O4647C162O4639C164O4660C167O4678C173O4694C176O4711C182O4726C185O4742C190O4756C193O4776C198O4794C201O4809C206O4822C209O4832C215O4864C225O4885C235O4864C240O4919C243O4940C247O4932C251O4961C254O4993C259O5023C262O5033C268O5064C271O5079C276O5099C279O5109C285O5151C295O5176C300O5155C306O5207C309O5238C313O5230C319O5282C329O5369C336O5288C341O5282C342O5423C346O5444C356O5444C361O5505C364O5523C369O5539C372O5553C376O5545C378O5570C388O5641C403O5647C408O5641C409O5708C413O5742C418O5773C428O5773C433O5818C437O5856C444O5894C459O5894C464O6053C476O6134C479O6154C487O6184C489O6184C491O6195C493O6205C497O6214C501O6219C505O6237C509O6248C511O6260C515O6273C517O6284C521O6296C525O6301C530O6313C534O6322C538O6327C543O6339C547O6348C549O6361C553O6375C555O6392C559O6784C563O6789C568O6800C572O6809C576O6814C580O6831C584O6841C586O6874C588O6870C592O6902C597O6919C603O6936C610O6944C613O6936C624O6977C626O6917C630O6995C632O7010C636O7033C641O7033C646O7057C648O7075C650O7071C654O8052C658O8057C662O8076C666O8094C669O8100C680O8100C686O8137C697O8343C700O8349C711O8349C717O8374C720O8380C731O8380C737O8403C740O8408C748O8408C754O8456C758O8461C765O8477C773O8473C778O8471C789O8830C807O8853C816O8849C824O8907C834O8907C839O8987C842O8993C853O8993C859O9026C862O9032C873O9032C879O9061C883O9066C885O9065C891O9078C896O9091C897O9105C901O9157C902O9169C906O9181C908O9199C912O9212C920O9264C923O9271C934O9271C940O9302C943O9307C951O9307C957O9357C961O9394C966O9430C972O9448C977O9456C982O9456C989O9517C996O9517C1002O9561C1005O9566C1017O9591C1019O9590C1023O9566C1029O9644C1031O9654C1035O9665C1038O9671C1043O9671C1048O9682,,
code-creation,JS,10,483515,0x22fbed8508e,525,getStdin node:internal/bootstrap/switches/is_main_thread:191:18,0x39e2db7b0f8,~
code-source-info,0x22fbed8508e,60,5326,7890,C0O5326C11O5334C19O5345C25O5358C26O5373C28O5381C35O5389C70O5450C78O5450C83O5489C90O5481C100O5479C108O5512C110O5566C118O5566C123O5603C137O5626C143O5596C153O5594C161O5658C163O5730C171O5730C176O5995C181O6007C192O6026C197O6034C204O6037C209O6072C224O6108C234O6064C244O6062C254O6256C266O6280C272O6248C282O6246C290O6449C297O6455C303O6476C307O6491C309O6648C317O6648C322O6635C327O6674C332O6697C342O6682C352O6680C360O6718C367O6724C374O6724C379O6805C388O6814C392O6977C399O6987C409O6998C412O7004C417O7012C423O7029C430O7035C436O7051C440O7065C447O7071C453O7094C457O7108C464O7114C469O7122C474O7122C478O7321C485O7327C498O7327C504O7645C514O7645C518O7874C524O7887,,
code-creation,JS,10,484050,0x22fbed8558e,150,ReadStream node:tty:47:20,0x23c5197a960,~
code-source-info,0x22fbed8558e,85,1708,2179,C0O1727C2O1738C7O1767C18O1774C23O1802C24O1806C26O1813C32O1818C38O1831C43O1841C50O1847C55O1841C56O1888C58O1907C71O1907C77O1936C83O1963C90O1969C95O1963C96O2009C101O2013C106O2020C118O2077C128O2114C132O2020C138O2135C139O2146C143O2158C144O2169C149O2178,,
code-creation,JS,10,484612,0x22fbed85d26,75,EventEmitter.init node:domain:461:29,0x2d4ae608b40,~
code-source-info,0x22fbed85d26,127,14329,14659,C0O14341C16O14341C21O14500C24O14512C33O14548C37O14529C42O14564C45O14586C49O14576C53O14604C60O14633C69O14611C74O14656,,
code-creation,JS,10,485070,0x22fbed86886,11,createDomain node:domain:228:62,0x2d4ae608650,~
code-source-info,0x22fbed86886,127,7747,7778,C0O7755C5O7762C10O7775,,
code-creation,JS,10,485168,0x22fbed869a6,130,Domain node:domain:214:14,0x2d4ae608600,~
code-source-info,0x22fbed869a6,127,7422,7651,C3O7432C24O7432C36O7448C41O7461C45O7472C50O7477C55O7490C63O7486C68O7484C72O7516C77O7526C82O7526C86O7543C89O7548C100O7548C106O7599C109O7604C120O7604C129O7650,,
code-creation,JS,10,485429,0x22fbed86fa6,317,enable node:async_hooks:94:9,0x39e2db67cb0,~
script-source,38,node:async_hooks,'use strict';\x0d\n\x0d\nconst {\x0d\n ArrayPrototypeIncludes\x2C\x0d\n ArrayPrototypeIndexOf\x2C\x0d\n ArrayPrototypePush\x2C\x0d\n ArrayPrototypeSplice\x2C\x0d\n ArrayPrototypeUnshift\x2C\x0d\n FunctionPrototypeBind\x2C\x0d\n NumberIsSafeInteger\x2C\x0d\n ObjectDefineProperties\x2C\x0d\n ObjectIs\x2C\x0d\n ReflectApply\x2C\x0d\n Symbol\x2C\x0d\n ObjectFreeze\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst {\x0d\n ERR_ASYNC_CALLBACK\x2C\x0d\n ERR_ASYNC_TYPE\x2C\x0d\n ERR_INVALID_ASYNC_ID\x2C\x0d\n} = require('internal/errors').codes;\x0d\nconst {\x0d\n deprecate\x2C\x0d\n kEmptyObject\x2C\x0d\n} = require('internal/util');\x0d\nconst {\x0d\n validateFunction\x2C\x0d\n validateString\x2C\x0d\n} = require('internal/validators');\x0d\nconst internal_async_hooks = require('internal/async_hooks');\x0d\n\x0d\n// Get functions\x0d\n// For userland AsyncResources\x2C make sure to emit a destroy event when the\x0d\n// resource gets gced.\x0d\nconst { registerDestroyHook } = internal_async_hooks;\x0d\nconst {\x0d\n asyncWrap\x2C\x0d\n executionAsyncId\x2C\x0d\n triggerAsyncId\x2C\x0d\n // Private API\x0d\n hasAsyncIdStack\x2C\x0d\n getHookArrays\x2C\x0d\n enableHooks\x2C\x0d\n disableHooks\x2C\x0d\n updatePromiseHookMode\x2C\x0d\n executionAsyncResource\x2C\x0d\n // Internal Embedder API\x0d\n newAsyncId\x2C\x0d\n getDefaultTriggerAsyncId\x2C\x0d\n emitInit\x2C\x0d\n emitBefore\x2C\x0d\n emitAfter\x2C\x0d\n emitDestroy\x2C\x0d\n enabledHooksExist\x2C\x0d\n initHooksExist\x2C\x0d\n destroyHooksExist\x2C\x0d\n} = internal_async_hooks;\x0d\n\x0d\n// Get symbols\x0d\nconst {\x0d\n async_id_symbol\x2C trigger_async_id_symbol\x2C\x0d\n init_symbol\x2C before_symbol\x2C after_symbol\x2C destroy_symbol\x2C\x0d\n promise_resolve_symbol\x2C\x0d\n} = internal_async_hooks.symbols;\x0d\n\x0d\n// Get constants\x0d\nconst {\x0d\n kInit\x2C kBefore\x2C kAfter\x2C kDestroy\x2C kTotals\x2C kPromiseResolve\x2C\x0d\n} = internal_async_hooks.constants;\x0d\n\x0d\n// Listener API //\x0d\n\x0d\nclass AsyncHook {\x0d\n constructor({ init\x2C before\x2C after\x2C destroy\x2C promiseResolve }) {\x0d\n if (init !== undefined && typeof init !== 'function')\x0d\n throw new ERR_ASYNC_CALLBACK('hook.init');\x0d\n if (before !== undefined && typeof before !== 'function')\x0d\n throw new ERR_ASYNC_CALLBACK('hook.before');\x0d\n if (after !== undefined && typeof after !== 'function')\x0d\n throw new ERR_ASYNC_CALLBACK('hook.after');\x0d\n if (destroy !== undefined && typeof destroy !== 'function')\x0d\n throw new ERR_ASYNC_CALLBACK('hook.destroy');\x0d\n if (promiseResolve !== undefined && typeof promiseResolve !== 'function')\x0d\n throw new ERR_ASYNC_CALLBACK('hook.promiseResolve');\x0d\n\x0d\n this[init_symbol] = init;\x0d\n this[before_symbol] = before;\x0d\n this[after_symbol] = after;\x0d\n this[destroy_symbol] = destroy;\x0d\n this[promise_resolve_symbol] = promiseResolve;\x0d\n }\x0d\n\x0d\n enable() {\x0d\n // The set of callbacks for a hook should be the same regardless of whether\x0d\n // enable()/disable() are run during their execution. The following\x0d\n // references are reassigned to the tmp arrays if a hook is currently being\x0d\n // processed.\x0d\n const { 0: hooks_array\x2C 1: hook_fields } = getHookArrays();\x0d\n\x0d\n // Each hook is only allowed to be added once.\x0d\n if (ArrayPrototypeIncludes(hooks_array\x2C this))\x0d\n return this;\x0d\n\x0d\n const prev_kTotals = hook_fields[kTotals];\x0d\n\x0d\n // createHook() has already enforced that the callbacks are all functions\x2C\x0d\n // so here simply increment the count of whether each callbacks exists or\x0d\n // not.\x0d\n hook_fields[kTotals] = hook_fields[kInit] += +!!this[init_symbol];\x0d\n hook_fields[kTotals] += hook_fields[kBefore] += +!!this[before_symbol];\x0d\n hook_fields[kTotals] += hook_fields[kAfter] += +!!this[after_symbol];\x0d\n hook_fields[kTotals] += hook_fields[kDestroy] += +!!this[destroy_symbol];\x0d\n hook_fields[kTotals] +=\x0d\n hook_fields[kPromiseResolve] += +!!this[promise_resolve_symbol];\x0d\n ArrayPrototypePush(hooks_array\x2C this);\x0d\n\x0d\n if (prev_kTotals === 0 && hook_fields[kTotals] > 0) {\x0d\n enableHooks();\x0d\n }\x0d\n\x0d\n updatePromiseHookMode();\x0d\n\x0d\n return this;\x0d\n }\x0d\n\x0d\n disable() {\x0d\n const { 0: hooks_array\x2C 1: hook_fields } = getHookArrays();\x0d\n\x0d\n const index = ArrayPrototypeIndexOf(hooks_array\x2C this);\x0d\n if (index === -1)\x0d\n return this;\x0d\n\x0d\n const prev_kTotals = hook_fields[kTotals];\x0d\n\x0d\n hook_fields[kTotals] = hook_fields[kInit] -= +!!this[init_symbol];\x0d\n hook_fields[kTotals] += hook_fields[kBefore] -= +!!this[before_symbol];\x0d\n hook_fields[kTotals] += hook_fields[kAfter] -= +!!this[after_symbol];\x0d\n hook_fields[kTotals] += hook_fields[kDestroy] -= +!!this[destroy_symbol];\x0d\n hook_fields[kTotals] +=\x0d\n hook_fields[kPromiseResolve] -= +!!this[promise_resolve_symbol];\x0d\n ArrayPrototypeSplice(hooks_array\x2C index\x2C 1);\x0d\n\x0d\n if (prev_kTotals > 0 && hook_fields[kTotals] === 0) {\x0d\n disableHooks();\x0d\n }\x0d\n\x0d\n return this;\x0d\n }\x0d\n}\x0d\n\x0d\n\x0d\nfunction createHook(fns) {\x0d\n return new AsyncHook(fns);\x0d\n}\x0d\n\x0d\n\x0d\n// Embedder API //\x0d\n\x0d\nconst destroyedSymbol = Symbol('destroyed');\x0d\n\x0d\nclass AsyncResource {\x0d\n constructor(type\x2C opts = kEmptyObject) {\x0d\n validateString(type\x2C 'type');\x0d\n\x0d\n let triggerAsyncId = opts;\x0d\n let requireManualDestroy = false;\x0d\n if (typeof opts !== 'number') {\x0d\n triggerAsyncId = opts.triggerAsyncId === undefined ?\x0d\n getDefaultTriggerAsyncId() : opts.triggerAsyncId;\x0d\n requireManualDestroy = !!opts.requireManualDestroy;\x0d\n }\x0d\n\x0d\n // Unlike emitInitScript\x2C AsyncResource doesn't supports null as the\x0d\n // triggerAsyncId.\x0d\n if (!NumberIsSafeInteger(triggerAsyncId) || triggerAsyncId < -1) {\x0d\n throw new ERR_INVALID_ASYNC_ID('triggerAsyncId'\x2C triggerAsyncId);\x0d\n }\x0d\n\x0d\n const asyncId = newAsyncId();\x0d\n this[async_id_symbol] = asyncId;\x0d\n this[trigger_async_id_symbol] = triggerAsyncId;\x0d\n\x0d\n if (initHooksExist()) {\x0d\n if (enabledHooksExist() && type.length === 0) {\x0d\n throw new ERR_ASYNC_TYPE(type);\x0d\n }\x0d\n\x0d\n emitInit(asyncId\x2C type\x2C triggerAsyncId\x2C this);\x0d\n }\x0d\n\x0d\n if (!requireManualDestroy && destroyHooksExist()) {\x0d\n // This prop name (destroyed) has to be synchronized with C++\x0d\n const destroyed = { destroyed: false };\x0d\n this[destroyedSymbol] = destroyed;\x0d\n registerDestroyHook(this\x2C asyncId\x2C destroyed);\x0d\n }\x0d\n }\x0d\n\x0d\n runInAsyncScope(fn\x2C thisArg\x2C ...args) {\x0d\n const asyncId = this[async_id_symbol];\x0d\n emitBefore(asyncId\x2C this[trigger_async_id_symbol]\x2C this);\x0d\n\x0d\n try {\x0d\n const ret =\x0d\n ReflectApply(fn\x2C thisArg\x2C args);\x0d\n\x0d\n return ret;\x0d\n } finally {\x0d\n if (hasAsyncIdStack())\x0d\n emitAfter(asyncId);\x0d\n }\x0d\n }\x0d\n\x0d\n emitDestroy() {\x0d\n if (this[destroyedSymbol] !== undefined) {\x0d\n this[destroyedSymbol].destroyed = true;\x0d\n }\x0d\n emitDestroy(this[async_id_symbol]);\x0d\n return this;\x0d\n }\x0d\n\x0d\n asyncId() {\x0d\n return this[async_id_symbol];\x0d\n }\x0d\n\x0d\n triggerAsyncId() {\x0d\n return this[trigger_async_id_symbol];\x0d\n }\x0d\n\x0d\n bind(fn\x2C thisArg) {\x0d\n validateFunction(fn\x2C 'fn');\x0d\n let bound;\x0d\n if (thisArg === undefined) {\x0d\n const resource = this;\x0d\n bound = function(...args) {\x0d\n ArrayPrototypeUnshift(args\x2C fn\x2C this);\x0d\n return ReflectApply(resource.runInAsyncScope\x2C resource\x2C args);\x0d\n };\x0d\n } else {\x0d\n bound = FunctionPrototypeBind(this.runInAsyncScope\x2C this\x2C fn\x2C thisArg);\x0d\n }\x0d\n let self = this;\x0d\n ObjectDefineProperties(bound\x2C {\x0d\n 'length': {\x0d\n __proto__: null\x2C\x0d\n configurable: true\x2C\x0d\n enumerable: false\x2C\x0d\n value: fn.length\x2C\x0d\n writable: false\x2C\x0d\n }\x2C\x0d\n 'asyncResource': {\x0d\n __proto__: null\x2C\x0d\n configurable: true\x2C\x0d\n enumerable: true\x2C\x0d\n get: deprecate(function() {\x0d\n return self;\x0d\n }\x2C 'The asyncResource property on bound functions is deprecated'\x2C 'DEP0172')\x2C\x0d\n set: deprecate(function(val) {\x0d\n self = val;\x0d\n }\x2C 'The asyncResource property on bound functions is deprecated'\x2C 'DEP0172')\x2C\x0d\n }\x2C\x0d\n });\x0d\n return bound;\x0d\n }\x0d\n\x0d\n static bind(fn\x2C type\x2C thisArg) {\x0d\n type = type || fn.name;\x0d\n return (new AsyncResource(type || 'bound-anonymous-fn')).bind(fn\x2C thisArg);\x0d\n }\x0d\n}\x0d\n\x0d\nconst storageList = [];\x0d\nconst storageHook = createHook({\x0d\n init(asyncId\x2C type\x2C triggerAsyncId\x2C resource) {\x0d\n const currentResource = executionAsyncResource();\x0d\n // Value of currentResource is always a non null object\x0d\n for (let i = 0; i < storageList.length; ++i) {\x0d\n storageList[i]._propagate(resource\x2C currentResource\x2C type);\x0d\n }\x0d\n }\x2C\x0d\n});\x0d\n\x0d\nclass AsyncLocalStorage {\x0d\n constructor() {\x0d\n this.kResourceStore = Symbol('kResourceStore');\x0d\n this.enabled = false;\x0d\n }\x0d\n\x0d\n static bind(fn) {\x0d\n return AsyncResource.bind(fn);\x0d\n }\x0d\n\x0d\n static snapshot() {\x0d\n return AsyncLocalStorage.bind((cb\x2C ...args) => cb(...args));\x0d\n }\x0d\n\x0d\n disable() {\x0d\n if (this.enabled) {\x0d\n this.enabled = false;\x0d\n // If this.enabled\x2C the instance must be in storageList\x0d\n ArrayPrototypeSplice(storageList\x2C\x0d\n ArrayPrototypeIndexOf(storageList\x2C this)\x2C 1);\x0d\n if (storageList.length === 0) {\x0d\n storageHook.disable();\x0d\n }\x0d\n }\x0d\n }\x0d\n\x0d\n _enable() {\x0d\n if (!this.enabled) {\x0d\n this.enabled = true;\x0d\n ArrayPrototypePush(storageList\x2C this);\x0d\n storageHook.enable();\x0d\n }\x0d\n }\x0d\n\x0d\n // Propagate the context from a parent resource to a child one\x0d\n _propagate(resource\x2C triggerResource\x2C type) {\x0d\n const store = triggerResource[this.kResourceStore];\x0d\n if (this.enabled) {\x0d\n resource[this.kResourceStore] = store;\x0d\n }\x0d\n }\x0d\n\x0d\n enterWith(store) {\x0d\n this._enable();\x0d\n const resource = executionAsyncResource();\x0d\n resource[this.kResourceStore] = store;\x0d\n }\x0d\n\x0d\n run(store\x2C callback\x2C ...args) {\x0d\n // Avoid creation of an AsyncResource if store is already active\x0d\n if (ObjectIs(store\x2C this.getStore())) {\x0d\n return ReflectApply(callback\x2C null\x2C args);\x0d\n }\x0d\n\x0d\n this._enable();\x0d\n\x0d\n const resource = executionAsyncResource();\x0d\n const oldStore = resource[this.kResourceStore];\x0d\n\x0d\n resource[this.kResourceStore] = store;\x0d\n\x0d\n try {\x0d\n return ReflectApply(callback\x2C null\x2C args);\x0d\n } finally {\x0d\n resource[this.kResourceStore] = oldStore;\x0d\n }\x0d\n }\x0d\n\x0d\n exit(callback\x2C ...args) {\x0d\n if (!this.enabled) {\x0d\n return ReflectApply(callback\x2C null\x2C args);\x0d\n }\x0d\n this.disable();\x0d\n try {\x0d\n return ReflectApply(callback\x2C null\x2C args);\x0d\n } finally {\x0d\n this._enable();\x0d\n }\x0d\n }\x0d\n\x0d\n getStore() {\x0d\n if (this.enabled) {\x0d\n const resource = executionAsyncResource();\x0d\n return resource[this.kResourceStore];\x0d\n }\x0d\n }\x0d\n}\x0d\n\x0d\n// Placing all exports down here because the exported classes won't export\x0d\n// otherwise.\x0d\nmodule.exports = {\x0d\n // Public API\x0d\n AsyncLocalStorage\x2C\x0d\n createHook\x2C\x0d\n executionAsyncId\x2C\x0d\n triggerAsyncId\x2C\x0d\n executionAsyncResource\x2C\x0d\n asyncWrapProviders: ObjectFreeze({ __proto__: null\x2C ...asyncWrap.Providers })\x2C\x0d\n // Embedder API\x0d\n AsyncResource\x2C\x0d\n};\x0d\n
code-source-info,0x22fbed86fa6,38,2475,3745,C0O2782C5O2782C11O2750C18O2766C22O2858C27O2862C34O2912C36O2924C37O2953C39O2965C41O2964C45O3154C47O3166C52O3189C61O3207C63O3206C68O3199C74O3196C80O3175C84O3226C86O3238C95O3262C104O3282C106O3281C111O3274C117O3271C126O3247C130O3303C132O3315C141O3339C150O3358C152O3357C157O3350C163O3347C172O3324C176O3378C178O3390C187O3414C196O3435C198O3434C203O3427C209O3424C218O3399C222O3457C224O3469C233O3502C242O3530C244O3529C249O3522C255O3519C264O3478C268O3560C273O3560C278O3606C279O3623C286O3644C288O3643C293O3653C298O3667C303O3667C306O3696C311O3696C314O3728C316O3740,,
code-creation,JS,10,486522,0x22fbed87f2e,106,getHookArrays node:internal/async_hooks:266:23,0x39e2db44b60,~
code-source-info,0x22fbed87f2e,14,10182,10660,C0O10190C5O10207C11O10218C16O10230C25O10238C28O10251C41O10258C49O10277C50O10535C55O10552C61O10577C64O10577C67O10600C76O10608C79O10621C92O10632C95O10645C105O10657,,
code-creation,JS,10,486626,0x22fbed880a6,34,enableHooks node:internal/async_hooks:368:21,0x39e2db44ed0,~
code-source-info,0x22fbed880a6,14,13604,13694,C0O13612C7O13630C16O13638C20O13649C28O13649C33O13693,,
code-creation,JS,10,486757,0x22fbed882b6,137,updatePromiseHookMode node:internal/async_hooks:375:31,0x39e2db44f20,~
code-source-info,0x22fbed882b6,14,13750,14316,C0O13758C4O13774C10O13789C12O13802C15O13806C20O13831C23O13842C37O13935C40O13939C45O13967C48O14003C54O14024C59O14024C62O14067C68O14067C73O14136C85O14160C91O14183C97O14214C104O14246C117O14296C121O14136C129O14121C136O14315,,
code-creation,JS,10,486850,0x22fbed88456,13,destroyHooksExist node:internal/async_hooks:486:27,0x39e2db452e0,~
code-source-info,0x22fbed88456,14,16849,16886,C0O16857C5O16873C8O16864C12O16883,,
code-creation,Eval,10,487194,0x22fbed889f6,5, node:internal/promise_hooks:1:1,0x22fbed88760,~
script-source,132,node:internal/promise_hooks,'use strict';\x0d\n\x0d\nconst {\x0d\n ArrayPrototypeIndexOf\x2C\x0d\n ArrayPrototypeSlice\x2C\x0d\n ArrayPrototypeSplice\x2C\x0d\n ArrayPrototypePush\x2C\x0d\n FunctionPrototypeBind\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst { setPromiseHooks } = internalBinding('async_wrap');\x0d\nconst { triggerUncaughtException } = internalBinding('errors');\x0d\n\x0d\nconst { kEmptyObject } = require('internal/util');\x0d\nconst { validatePlainFunction } = require('internal/validators');\x0d\n\x0d\nconst hooks = {\x0d\n init: []\x2C\x0d\n before: []\x2C\x0d\n after: []\x2C\x0d\n settled: []\x2C\x0d\n};\x0d\n\x0d\nfunction initAll(promise\x2C parent) {\x0d\n const hookSet = ArrayPrototypeSlice(hooks.init);\x0d\n const exceptions = [];\x0d\n\x0d\n for (let i = 0; i < hookSet.length; i++) {\x0d\n const init = hookSet[i];\x0d\n try {\x0d\n init(promise\x2C parent);\x0d\n } catch (err) {\x0d\n ArrayPrototypePush(exceptions\x2C err);\x0d\n }\x0d\n }\x0d\n\x0d\n // Triggering exceptions is deferred to allow other hooks to complete\x0d\n for (let i = 0; i < exceptions.length; i++) {\x0d\n const err = exceptions[i];\x0d\n triggerUncaughtException(err\x2C false);\x0d\n }\x0d\n}\x0d\n\x0d\nfunction makeRunHook(list) {\x0d\n return (promise) => {\x0d\n const hookSet = ArrayPrototypeSlice(list);\x0d\n const exceptions = [];\x0d\n\x0d\n for (let i = 0; i < hookSet.length; i++) {\x0d\n const hook = hookSet[i];\x0d\n try {\x0d\n hook(promise);\x0d\n } catch (err) {\x0d\n ArrayPrototypePush(exceptions\x2C err);\x0d\n }\x0d\n }\x0d\n\x0d\n // Triggering exceptions is deferred to allow other hooks to complete\x0d\n for (let i = 0; i < exceptions.length; i++) {\x0d\n const err = exceptions[i];\x0d\n triggerUncaughtException(err\x2C false);\x0d\n }\x0d\n };\x0d\n}\x0d\n\x0d\nconst beforeAll = makeRunHook(hooks.before);\x0d\nconst afterAll = makeRunHook(hooks.after);\x0d\nconst settledAll = makeRunHook(hooks.settled);\x0d\n\x0d\nfunction maybeFastPath(list\x2C runAll) {\x0d\n return list.length > 1 ? runAll : list[0];\x0d\n}\x0d\n\x0d\nfunction update() {\x0d\n const init = maybeFastPath(hooks.init\x2C initAll);\x0d\n const before = maybeFastPath(hooks.before\x2C beforeAll);\x0d\n const after = maybeFastPath(hooks.after\x2C afterAll);\x0d\n const settled = maybeFastPath(hooks.settled\x2C settledAll);\x0d\n setPromiseHooks(init\x2C before\x2C after\x2C settled);\x0d\n}\x0d\n\x0d\nfunction stop(list\x2C hook) {\x0d\n const index = ArrayPrototypeIndexOf(list\x2C hook);\x0d\n if (index >= 0) {\x0d\n ArrayPrototypeSplice(list\x2C index\x2C 1);\x0d\n update();\x0d\n }\x0d\n}\x0d\n\x0d\nfunction makeUseHook(name) {\x0d\n const list = hooks[name];\x0d\n return (hook) => {\x0d\n validatePlainFunction(hook\x2C `${name}Hook`);\x0d\n ArrayPrototypePush(list\x2C hook);\x0d\n update();\x0d\n return FunctionPrototypeBind(stop\x2C null\x2C list\x2C hook);\x0d\n };\x0d\n}\x0d\n\x0d\nconst onInit = makeUseHook('init');\x0d\nconst onBefore = makeUseHook('before');\x0d\nconst onAfter = makeUseHook('after');\x0d\nconst onSettled = makeUseHook('settled');\x0d\n\x0d\nfunction createHook({ init\x2C before\x2C after\x2C settled } = kEmptyObject) {\x0d\n const hooks = [];\x0d\n\x0d\n if (init) ArrayPrototypePush(hooks\x2C onInit(init));\x0d\n if (before) ArrayPrototypePush(hooks\x2C onBefore(before));\x0d\n if (after) ArrayPrototypePush(hooks\x2C onAfter(after));\x0d\n if (settled) ArrayPrototypePush(hooks\x2C onSettled(settled));\x0d\n\x0d\n return () => {\x0d\n for (const stop of hooks) {\x0d\n stop();\x0d\n }\x0d\n };\x0d\n}\x0d\n\x0d\nmodule.exports = {\x0d\n createHook\x2C\x0d\n onInit\x2C\x0d\n onBefore\x2C\x0d\n onAfter\x2C\x0d\n onSettled\x2C\x0d\n};\x0d\n
code-source-info,0x22fbed889f6,132,0,3200,C0O0C4O3200,,
code-creation,JS,10,487522,0x22fbed88ec6,308, node:internal/promise_hooks:1:1,0x22fbed88970,~
code-source-info,0x22fbed88ec6,132,0,3200,C0O0C95O28C101O54C107O78C113O103C119O126C125O198C128O198C133O178C139O267C142O267C147O238C153O322C156O322C161O305C167O383C170O383C175O357C181O432C185O432C187O1597C190O1615C195O1597C199O1597C201O1642C204O1660C209O1642C213O1642C215O1688C218O1706C223O1688C227O1688C229O2549C232O2549C236O2549C238O2588C241O2588C245O2588C247O2628C250O2628C254O2628C256O2669C259O2669C263O2669C265O3111C272O3133C278O3148C284O3159C290O3172C296O3184C302O3126C307O3199,,
tick,0x7ffcc62142f0,487922,0,0x0,2,0x7ff7b9533060,0x22fbed88f89,0x7ff739bc3feb,0x7ff739bc3ca1,0x22fbed882fa,0x22fbed870dd,0x22fbed869f8,0x22fbed8688b,0x2d4ae63d6d4,0x2d4ae63c065,0x2d4ae63bd01,0x23c5197896d,0x23c519693ae,0x23c51968a11,0x23c51942948
code-creation,JS,10,488065,0x22fbed89766,14,makeRunHook node:internal/promise_hooks:44:21,0x22fbed88a78,~
code-source-info,0x22fbed89766,132,1039,1575,C0O1039C9O1051C13O1572,,
code-creation,JS,10,488246,0x22fbed89d16,31,makeUseHook node:internal/promise_hooks:90:21,0x22fbed88bb8,~
code-source-info,0x22fbed89d16,132,2302,2530,C0O2302C12O2327C21O2332C24O2327C26O2343C30O2527,,
code-creation,JS,10,488433,0x22fbed8a076,13,promiseResolveHooksExist node:internal/async_hooks:490:34,0x39e2db45330,~
code-source-info,0x22fbed8a076,14,16923,16967,C0O16931C5O16947C8O16938C12O16964,,
code-creation,JS,10,488599,0x22fbed8a23e,173,createHook node:internal/promise_hooks:105:20,0x22fbed88c08,~
code-source-info,0x22fbed8a23e,132,2715,3107,C6O2751C13O2718C18O2724C23O2732C28O2739C40O2784C42O2784C44O2793C48O2803C62O2829C65O2829C70O2803C75O2847C79O2859C93O2885C96O2885C101O2859C106O2907C110O2918C124O2944C127O2944C132O2918C137O2964C141O2977C155O3003C158O3003C163O2977C168O3029C172O3104,,
code-creation,JS,10,488818,0x22fbed8a45e,75, node:internal/promise_hooks:92:10,0x22fbed89c68,~
code-source-info,0x22fbed8a45e,132,2350,2526,C0O2367C9O2398C17O2367C22O2416C31O2435C34O2416C39O2453C44O2453C47O2468C63O2509C69O2475C74O2521,,
code-creation,JS,10,488978,0x22fbed8a5a6,41, node:internal/validators:471:47,0x39e2db46438,~
code-source-info,0x22fbed8a5a6,15,13892,14037,C0O13914C8O13949C11O13949C17O13978C33O13984C38O13978C40O14036,,
code-creation,JS,10,489154,0x22fbed8a6ee,118,update node:internal/promise_hooks:74:16,0x22fbed88b18,~
code-source-info,0x22fbed8a6ee,132,1825,2108,C0O1846C5O1860C8O1866C16O1846C22O1900C27O1914C30O1920C37O1928C40O1900C46O1957C51O1971C54O1977C61O1984C64O1957C70O2014C75O2028C78O2034C85O2043C88O2014C94O2059C111O2059C117O2107,,
code-creation,JS,10,489331,0x22fbed8a86e,21,maybeFastPath node:internal/promise_hooks:70:23,0x22fbed88ac8,~
code-source-info,0x22fbed8a86e,132,1741,1806,C0O1773C7O1780C17O1799C20O1803,,
code-creation,JS,10,489718,0x22fbed8ae0e,53,Domain.bind node:domain:439:33,0x2d4ae608a90,~
code-source-info,0x22fbed8ae0e,127,13866,14162,C0O13866C17O13889C19O13889C21O13978C31O13999C38O14104C45O13978C50O14143C52O14159,,
code-creation,JS,10,490150,0x22fbed8b126,452,emit node:domain:477:44,0x2d4ae608bc8,~
code-source-info,0x22fbed8b126,127,14755,17265,C0O14755C3O14790C8O14816C9O14820C13O14852C15O14857C20O14904C25O14904C32O14924C36O15060C48O15138C53O15158C60O15178C69O15165C74O15201C75O15212C77O15221C82O15257C89O15264C96O15275C103O15292C110O15302C113O15298C119O15332C123O15369C125O15386C129O15401C137O15422C144O15537C151O15401C156O15588C157O15604C161O16011C168O16031C171O16011C176O16069C179O16077C184O16250C189O16256C193O16263C197O16289C199O16284C207O16300C214O16311C219O16316C222O16307C227O16332C232O16273C236O16472C237O16480C242O16494C248O16507C254O16533C261O16554C266O16565C270O16533C275O16626C280O16636C286O16643C291O16657C299O16691C304O16697C307O16703C311O16710C314O16696C318O16689C324O16672C330O16737C338O16769C344O16752C348O16791C351O16791C354O16831C362O16831C368O16998C373O17021C379O17013C383O17046C391O17078C397O17061C401O17103C404O17103C407O17136C408O17149C409O17167C414O17167C418O17191C425O17204C434O17191C440O17238C445O17238C449O17251C451O17262,,
code-creation,JS,10,490437,0x22fbed8b586,62,updateExceptionCapture node:domain:173:32,0x2d4ae608140,~
code-source-info,0x22fbed8b586,127,6056,6397,C0O6064C7O6088C15O6068C22O6179C29O6179C35O6239C42O6239C46O6287C56O6287C61O6396,,
code-creation,JS,10,490572,0x22fbed8b7ae,166,setUncaughtExceptionCaptureCallback node:internal/process/execution:141:45,0x39e2db69500,~
code-source-info,0x22fbed8b7ae,40,4623,5291,C0O4633C4O4657C11O4689C15O4700C24O4731C28O4741C31O4749C38O4784C41O4806C45O4782C49O4823C50O4830C51O4839C57O4876C75O4882C80O4876C81O4948C86O4974C92O5001C97O5007C102O5001C103O5065C110O5097C114O5106C122O5137C126O5145C134O5193C139O5200C147O5178C151O5239C154O5247C160O5280C165O5290,,
code-creation,JS,10,490727,0x22fbed8b986,17,get node:internal/process/pre_execution:405:8,0x23c51954070,~
code-source-info,0x22fbed8b986,68,13076,13171,C0O13107C6O13107C11O13096C16O13164,,
code-creation,Eval,10,491098,0x22fbed8bea6,5, node:internal/process/report:1:1,0x22fbed8bca0,~
script-source,133,node:internal/process/report,'use strict';\x0d\nconst {\x0d\n ERR_SYNTHETIC\x2C\x0d\n} = require('internal/errors').codes;\x0d\nconst { getValidatedPath } = require('internal/fs/utils');\x0d\nconst {\x0d\n validateBoolean\x2C\x0d\n validateObject\x2C\x0d\n validateSignalName\x2C\x0d\n validateString\x2C\x0d\n} = require('internal/validators');\x0d\nconst nr = internalBinding('report');\x0d\nconst {\x0d\n JSONParse\x2C\x0d\n} = primordials;\x0d\nconst report = {\x0d\n writeReport(file\x2C err) {\x0d\n if (typeof file === 'object' && file !== null) {\x0d\n err = file;\x0d\n file = undefined;\x0d\n } else if (file !== undefined) {\x0d\n validateString(file\x2C 'file');\x0d\n file = getValidatedPath(file);\x0d\n }\x0d\n\x0d\n if (err === undefined) {\x0d\n err = new ERR_SYNTHETIC();\x0d\n } else {\x0d\n validateObject(err\x2C 'err');\x0d\n }\x0d\n\x0d\n return nr.writeReport('JavaScript API'\x2C 'API'\x2C file\x2C err);\x0d\n }\x2C\x0d\n getReport(err) {\x0d\n if (err === undefined)\x0d\n err = new ERR_SYNTHETIC();\x0d\n else\x0d\n validateObject(err\x2C 'err');\x0d\n\x0d\n return JSONParse(nr.getReport(err));\x0d\n }\x2C\x0d\n get directory() {\x0d\n return nr.getDirectory();\x0d\n }\x2C\x0d\n set directory(dir) {\x0d\n validateString(dir\x2C 'directory');\x0d\n nr.setDirectory(dir);\x0d\n }\x2C\x0d\n get filename() {\x0d\n return nr.getFilename();\x0d\n }\x2C\x0d\n set filename(name) {\x0d\n validateString(name\x2C 'filename');\x0d\n nr.setFilename(name);\x0d\n }\x2C\x0d\n get compact() {\x0d\n return nr.getCompact();\x0d\n }\x2C\x0d\n set compact(b) {\x0d\n validateBoolean(b\x2C 'compact');\x0d\n nr.setCompact(b);\x0d\n }\x2C\x0d\n get excludeNetwork() {\x0d\n return nr.getExcludeNetwork();\x0d\n }\x2C\x0d\n set excludeNetwork(b) {\x0d\n validateBoolean(b\x2C 'excludeNetwork');\x0d\n nr.setExcludeNetwork(b);\x0d\n }\x2C\x0d\n get signal() {\x0d\n return nr.getSignal();\x0d\n }\x2C\x0d\n set signal(sig) {\x0d\n validateSignalName(sig\x2C 'signal');\x0d\n removeSignalHandler();\x0d\n addSignalHandler(sig);\x0d\n nr.setSignal(sig);\x0d\n }\x2C\x0d\n get reportOnFatalError() {\x0d\n return nr.shouldReportOnFatalError();\x0d\n }\x2C\x0d\n set reportOnFatalError(trigger) {\x0d\n validateBoolean(trigger\x2C 'trigger');\x0d\n\x0d\n nr.setReportOnFatalError(trigger);\x0d\n }\x2C\x0d\n get reportOnSignal() {\x0d\n return nr.shouldReportOnSignal();\x0d\n }\x2C\x0d\n set reportOnSignal(trigger) {\x0d\n validateBoolean(trigger\x2C 'trigger');\x0d\n\x0d\n nr.setReportOnSignal(trigger);\x0d\n removeSignalHandler();\x0d\n addSignalHandler();\x0d\n }\x2C\x0d\n get reportOnUncaughtException() {\x0d\n return nr.shouldReportOnUncaughtException();\x0d\n }\x2C\x0d\n set reportOnUncaughtException(trigger) {\x0d\n validateBoolean(trigger\x2C 'trigger');\x0d\n\x0d\n nr.setReportOnUncaughtException(trigger);\x0d\n }\x2C\x0d\n};\x0d\n\x0d\nfunction addSignalHandler(sig) {\x0d\n if (nr.shouldReportOnSignal()) {\x0d\n if (typeof sig !== 'string')\x0d\n sig = nr.getSignal();\x0d\n\x0d\n process.on(sig\x2C signalHandler);\x0d\n }\x0d\n}\x0d\n\x0d\nfunction removeSignalHandler() {\x0d\n const sig = nr.getSignal();\x0d\n\x0d\n if (sig)\x0d\n process.removeListener(sig\x2C signalHandler);\x0d\n}\x0d\n\x0d\nfunction signalHandler(sig) {\x0d\n nr.writeReport(sig\x2C 'Signal'\x2C null\x2C '');\x0d\n}\x0d\n\x0d\nmodule.exports = {\x0d\n addSignalHandler\x2C\x0d\n report\x2C\x0d\n};\x0d\n
code-source-info,0x22fbed8bea6,133,0,2941,C0O0C4O2941,,
code-creation,JS,10,491390,0x22fbed8caee,343, node:internal/process/report:1:1,0x22fbed8be20,~
code-source-info,0x22fbed8caee,133,0,2941,C0O0C51O46C54O46C59O72C64O26C70O110C73O110C78O89C84O235C87O235C92O152C98O172C104O191C110O214C116O279C119O279C123O279C125O318C131O363C136O368C144O808C318O2885C325O2907C331O2928C337O2900C342O2940,,
code-creation,JS,10,491804,0x22fbed8f316,30,set reportOnUncaughtException node:internal/process/report:100:32,0x22fbed8c768,~
code-source-info,0x22fbed8f316,133,2374,2481,C0O2391C8O2391C13O2435C18O2438C23O2438C29O2480,,
code-creation,JS,10,491880,0x22fbed8f846,13,clearBufferedCommand node:repl:1077:74,0x158ab314050,~
code-source-info,0x22fbed8f846,115,36442,36487,C0O36450C2O36455C7O36479C12O36486,,
code-creation,JS,10,492117,0x22fbed8feee,177, node:internal/validators:175:40,0x39e2db45ea0,~
code-source-info,0x22fbed8feee,15,4891,5348,C19O4935C25O4971C41O4977C46O4971C47O5031C54O5057C66O5089C83O5137C86O5137C92O5165C110O5236C136O5268C151O5312C169O5171C174O5165C176O5347,,
code-creation,JS,10,492284,0x22fbed904b6,49,setPrompt node:repl:1205:52,0x158ab3142a0,~
code-source-info,0x22fbed904b6,115,40234,40344,C0O40248C2O40268C6O40281C13O40294C16O40304C21O40314C35O40332C42O40281C48O40343,,
code-creation,JS,10,492359,0x22fbed9060e,13,setPrompt node:internal/readline/interface:359:12,0x158ab336e28,~
code-source-info,0x22fbed9060e,123,10277,10321,C0O10293C2O10298C7O10307C12O10320,,
code-creation,JS,10,492522,0x22fbed909de,261,emitKeypressEvents node:internal/readline/emitKeypressEvents:34:28,0x22cbe47db78,~
code-source-info,0x22fbed909de,122,704,2720,C0O704C51O730C60O741C62O740C67O760C68O767C69O773C78O780C85O804C93O800C98O798C102O832C111O839C118O857C126O857C130O855C134O878C143O885C145O884C149O901C154O901C158O936C162O936C164O1030C169O986C179O1006C183O1044C184O1044C186O2579C191O2590C199O2590C206O2616C211O2628C216O2635C227O2635C235O2672C240O2679C251O2679C260O2719,,
code-creation,JS,10,492696,0x22fbed90fee,71,StringDecoder node:string_decoder:81:23,0x77b20f8980,~
code-source-info,0x22fbed90fee,100,2735,2916,C0O2751C3O2767C7O2765C11O2799C13O2804C18O2822C21O2829C28O2835C31O2829C36O2820C40O2846C42O2851C44O2850C50O2867C55O2885C58O2903C62O2897C65O2883C70O2915,,
code-creation,JS,10,492799,0x22fbed916de,67,normalizeEncoding node:string_decoder:65:27,0x77b20f8930,~
code-source-info,0x22fbed916de,100,2262,2494,C0O2286C5O2286C10O2314C12O2345C17O2356C24O2371C26O2367C33O2386C36O2393C41O2393C48O2417C55O2423C60O2417C61O2459C63O2470C64O2479C66O2491,,
code-creation,JS,10,492884,0x22fbed9181e,30,normalizeEncoding node:internal/util:202:27,0x39e2db47dc0,~
code-source-info,0x22fbed9181e,16,5603,5711,C0O5614C7O5637C14O5655C19O5668C21O5682C22O5686C25O5693C29O5708,,
code-creation,JS,10,493000,0x22fbed91a1e,87,alloc node:buffer:388:30,0x39e2db559d8,~
code-source-info,0x22fbed91a1e,25,11541,11806,C0O11569C12O11601C18O11569C23O11617C28O11648C34O11662C39O11686C44O11686C49O11717C54O11748C68O11724C73O11766C74O11775C81O11782C86O11803,,
code-creation,JS,10,493993,0x22fbed92e2e,2831,emitKeys node:internal/readline/utils:86:19,0x22cbe47b0e0,~
code-source-info,0x22fbed92e2e,121,2316,12217,C10O2316C15O2316C35O2316C41O2359C49O2359C69O2359C76O2379C79O2402C81O2426C87O2464C94O2551C96O2562C98O2558C103O2580C105O2603C109O2614C116O2614C136O2614C145O2612C149O2631C151O2642C153O2638C158O2662C162O2673C169O2673C189O2673C198O2671C202O2704C208O2723C215O2737C220O2798C223O2824C225O2836C227O2843C232O2922C236O2933C243O2933C263O2933C272O2931C276O2952C278O2959C285O2972C290O2993C292O3008C295O3014C299O3030C303O3041C310O3041C330O3041C339O3039C343O3071C345O3079C354O3097C356O3104C361O3248C365O3259C372O3259C392O3259C401O3257C405O3278C407O3285C412O3394C414O3402C421O3417C425O3428C432O3428C452O3428C461O3426C465O4655C469O4662C473O4721C475O4728C482O4741C487O4762C491O4773C498O4773C518O4773C527O4771C531O4794C533O4801C540O4814C545O4837C549O4848C556O4848C576O4848C585O4846C589O4871C591O4878C598O4891C603O4916C607O4927C614O4927C634O4927C643O4925C647O5011C649O5018C654O5040C658O5051C665O5051C685O5051C694O5049C698O5072C700O5079C707O5092C712O5115C716O5120C723O5120C743O5120C753O5296C758O5296C764O5344C766O5362C777O5375C783O5373C785O5458C787O5467C792O5487C794O5500C806O5538C808O5551C814O5562C817O5555C827O5580C829O5597C836O5607C842O5641C853O5666C859O5664C861O5745C863O5758C873O5774C875O5791C882O5801C888O5835C890O5843C897O5910C899O5933C904O5919C908O5946C910O5969C915O5955C919O5983C921O6007C926O5993C930O6020C932O6029C936O6077C1459O6169C1461O6178C1465O6186C1467O6213C1469O6222C1473O6230C1475O6257C1477O6266C1481O6274C1483O6301C1485O6310C1489O6318C1491O6406C1493O6415C1497O6423C1499O6450C1501O6459C1505O6467C1507O6494C1509O6503C1513O6511C1515O6538C1517O6547C1521O6555C1523O6627C1525O6636C1529O6644C1531O6673C1533O6682C1537O6690C1539O6719C1541O6728C1545O6736C1547O6765C1549O6774C1553O6782C1555O6848C1557O6857C1561O6874C1563O6904C1565O6913C1569O6928C1571O7003C1573O7012C1577O7020C1579O7048C1581O7057C1585O7065C1587O7093C1589O7102C1593O7110C1595O7138C1597O7147C1601O7155C1603O7183C1605O7192C1609O7200C1611O7253C1613O7262C1617O7270C1619O7299C1621O7308C1625O7316C1627O7345C1629O7354C1633O7362C1635O7391C1637O7400C1641O7408C1643O7437C1645O7446C1649O7454C1651O7483C1653O7492C1657O7501C1659O7530C1661O7539C1665O7548C1667O7577C1669O7586C1673O7595C1675O7658C1677O7667C1681O7675C1683O7702C1685O7711C1689O7721C1691O7748C1693O7757C1697O7768C1699O7795C1701O7804C1705O7814C1707O7841C1711O7850C1715O7861C1719O7888C1723O7897C1727O7906C1731O7933C1735O7942C1739O7952C1743O8021C1745O8030C1749O8038C1751O8065C1753O8074C1757O8084C1761O8111C1763O8120C1767O8131C1771O8158C1773O8167C1777O8177C1781O8204C1785O8213C1789O8224C1793O8251C1797O8260C1801O8269C1805O8296C1809O8305C1813O8315C1817O8386C1821O8395C1825O8405C1829O8433C1833O8442C1837O8454C1841O8482C1845O8491C1849O8503C1853O8531C1857O8540C1861O8549C1865O8577C1869O8586C1873O8598C1877O8626C1881O8635C1885O8649C1889O8701C1893O8710C1897O8722C1901O8751C1905O8760C1909O8774C1913O8824C1917O8833C1921O8843C1925O8871C1929O8880C1933O8889C1937O8958C1939O8967C1943O8975C1944O8985C1948O8993C1952O9020C1954O9029C1958O9039C1959O9049C1963O9057C1967O9084C1969O9093C1973O9104C1974O9114C1978O9122C1982O9149C1984O9158C1988O9168C1989O9178C1993O9186C1997O9213C2001O9222C2005O9233C2006O9243C2010O9251C2014O9281C2018O9290C2022O9302C2023O9312C2027O9320C2031O9348C2035O9357C2039O9369C2040O9379C2044O9387C2048O9415C2052O9424C2056O9436C2057O9446C2061O9454C2065O9482C2069O9491C2073O9505C2074O9515C2078O9523C2082O9551C2086O9560C2090O9570C2091O9580C2095O9588C2099O9616C2103O9625C2107O9634C2108O9644C2112O9652C2114O9681C2116O9690C2120O9698C2121O9707C2125O9715C2129O9742C2131O9751C2135O9761C2136O9770C2140O9778C2144O9805C2146O9814C2150O9825C2151O9834C2155O9842C2159O9869C2161O9878C2165O9888C2166O9897C2170O9905C2174O9932C2178O9941C2182O9952C2183O9961C2187O9969C2191O9999C2195O10008C2199O10020C2200O10029C2204O10037C2208O10065C2212O10074C2216O10086C2217O10095C2221O10103C2225O10131C2229O10140C2233O10152C2234O10161C2238O10169C2242O10197C2246O10206C2250O10220C2251O10229C2255O10237C2259O10265C2263O10274C2267O10284C2268O10293C2272O10301C2276O10329C2280O10338C2284O10347C2285O10356C2289O10364C2293O10414C2297O10423C2301O10432C2302O10442C2306O10450C2310O10475C2314O10484C2318O10499C2324O10527C2328O10534C2335O10579C2339O10588C2343O10607C2345O10616C2353O10639C2357O10646C2364O10715C2368O10724C2372O10742C2374O10751C2382O10774C2386O10781C2393O10814C2397O10823C2401O10839C2403O10848C2411O10871C2415O10878C2426O10893C2433O10944C2437O10953C2441O10975C2443O10984C2451O11007C2453O11018C2455O11014C2462O11057C2466O11066C2470O11085C2472O11094C2480O11117C2484O11124C2491O11142C2495O11151C2499O11169C2501O11178C2509O11201C2519O11220C2526O11262C2528O11273C2535O11302C2540O11302C2547O11334C2557O11334C2561O11332C2564O11365C2568O11273C2572O11271C2576O11387C2577O11396C2585O11416C2599O11420C2608O11519C2610O11530C2615O11530C2619O11528C2623O11569C2625O11581C2637O11581C2643O11616C2644O11579C2648O11633C2650O11642C2658O11665C2664O11735C2684O11730C2688O11773C2689O11782C2693O11804C2695O11817C2703O11835C2709O11842C2716O11856C2726O11878C2730O11945C2749O11962C2764O11945C2773O12005C2778O12009C2784O12034C2788O12028C2795O12106C2818O12106C2823O2330,,
code-creation,JS,10,495015,0x22fbed94016,57,onNewListener node:internal/readline/emitKeypressEvents:85:25,0x22fbed90868,~
code-source-info,0x22fbed94016,122,2425,2573,C0O2440C2O2450C7O2475C14O2482C25O2482C31O2509C38O2516C49O2516C56O2572,,
code-creation,JS,10,495134,0x22fbed9416e,70,Socket.resume node:net:759:35,0x77b20c95e0,~
code-source-info,0x22fbed9416e,86,20903,21085,C0O20911C2O20920C4O20919C9O20938C15O20957C21O20981C26O20989C32O21005C35O21005C39O21033C44O21047C49O21054C54O21064C59O21071C64O21071C69O21082,,
code-creation,JS,10,495252,0x22fbed942ee,178,Readable.resume node:internal/streams/readable:1225:37,0x77b20ed838,~
code-source-info,0x22fbed942ee,97,39715,40230,C0O39742C5O39761C7O39772C9O39771C15O39782C17O39780C22O39792C27O39806C35O39806C39O39944C41O39950C50O39961C55O39958C59O39979C61O39990C63O39989C69O40000C71O39998C76O40020C81O40036C83O40042C92O40053C97O40050C103O40084C105O40090C114O40102C116O40101C121O40098C125O40124C128O40124C133O40153C135O40159C144O40170C149O40167C153O40185C155O40191C164O40203C166O40202C171O40199C175O40215C177O40227,,
code-creation,JS,10,495400,0x22fbed944e6,89,logger node:internal/util/debuglog:100:18,0x39e2db50200,~
code-source-info,0x22fbed944e6,22,3064,3265,C0O3064C3O3097C24O3122C30O3139C34O3129C38O3144C39O3160C45O3177C51O3186C55O3167C60O3191C61O3208C65O3215C72O3228C77O3224C83O3215C88O3253,,
code-creation,JS,10,495517,0x22fbed9464e,140,debug node:internal/util/debuglog:81:15,0x39e2db50160,~
code-source-info,0x22fbed9464e,22,2533,2939,C0O2533C3O2553C6O2553C9O2664C16O2685C22O2672C30O2670C36O2705C42O2742C47O2745C50O2742C54O2771C75O2796C81O2813C85O2803C89O2818C90O2834C96O2851C102O2860C106O2841C111O2865C112O2882C116O2889C123O2902C128O2898C134O2889C139O2927,,
code-creation,JS,10,495611,0x22fbed947fe,41,init node:internal/util/debuglog:77:16,0x39e2db50110,~
code-source-info,0x22fbed947fe,22,2431,2517,C0O2441C10O2447C14O2445C16O2485C26O2495C33O2493C40O2516,,
code-creation,JS,10,495687,0x22fbed948ee,2,testEnabled node:internal/util/debuglog:31:19,0x23c51953970,~
code-source-info,0x22fbed948ee,22,988,999,C0O994C1O999,,
code-creation,JS,10,495788,0x22fbed94a66,116,debuglogImpl node:internal/util/debuglog:54:22,0x39e2db4fec8,~
code-source-info,0x22fbed94a66,22,1607,2160,C0O1607C9O1627C18O1641C23O1669C34O1703C39O1711C43O1703C45O1723C55O1723C59O1756C71O1767C75O1772C83O2095C97O2113C99O2111C103O2134C112O2151C115O2157,,
code-creation,JS,10,495872,0x22fbed94c1e,10, node:internal/streams/readable:53:66,0x77b20ecc10,~
code-source-info,0x22fbed94c1e,97,1894,1921,C0O1907C2O1913C9O1920,,
code-creation,JS,10,495916,0x22fbed94cce,2,noop node:internal/util/debuglog:46:14,0x39e2db4fe28,~
code-source-info,0x22fbed94cce,22,1449,1457,C1O1456,,
code-creation,JS,10,495982,0x22fbed94d96,66,resume node:internal/streams/readable:1245:16,0x77b20ec8c0,~
code-source-info,0x22fbed94d96,97,40250,40413,C0O40271C2O40282C4O40281C10O40292C12O40290C17O40310C22O40324C24O40330C33O40341C38O40338C42O40364C45O40372C59O40372C65O40412,,
code-creation,JS,10,496108,0x22fbed94ece,50,emitInitScript node:internal/async_hooks:495:24,0x39e2db45380,~
code-source-info,0x22fbed94ece,14,16996,17392,C0O17202C5O17216C8O17207C14O17229C15O17236C16O17242C20O17278C23O17295C28O17333C43O17333C49O17391,,
code-creation,JS,10,496242,0x22fbed9507e,230,emitInitNative node:internal/async_hooks:192:24,0x39e2db44ac0,~
code-source-info,0x22fbed9507e,14,7591,8730,C0O7638C12O7662C16O7671C19O7682C31O8024C33O8029C35O8031C38O8044C43O8050C47O8029C52O8072C57O8096C64O8101C70O8105C72O8104C79O8145C84O8158C91O8163C97O8167C99O8166C115O8179C120O8059C125O8011C142O8294C150O8294C168O8329C180O8353C195O8624C200O8641C206O8652C213O8661C216O8674C222O8701C225O8701C229O8729,,
code-creation,JS,10,496378,0x22fbed952b6,29,lookupPublicResource node:internal/async_hooks:177:30,0x39e2db44a70,~
code-source-info,0x22fbed952b6,14,7042,7370,C0O7058C10O7113C12O7129C13O7256C15O7265C17O7264C21O7286C23O7325C25O7347C26O7351C28O7367,,
code-creation,JS,10,496512,0x22fbed9545e,126,init node:domain:75:7,0x2d4ae608390,~
code-source-info,0x22fbed9545e,127,2496,3464,C0O2545C3O2557C12O2584C18O2687C23O2695C31O2716C38O2723C40O2722C44O2695C50O2892C52O2901C59O2938C61O2927C66O2958C74O2979C82O3116C93O2958C100O3402C105O3413C113O3435C118O3413C125O3463,,
code-creation,JS,10,496607,0x22fbed955e6,10,get node:domain:64:16,0x2d4ae608280,~
code-source-info,0x22fbed955e6,127,2284,2317,C0O2294C6O2308C9O2312,,
code-creation,JS,10,496725,0x22fbed9570e,5,get node:readline:220:8,0x22cbe476308,~
code-source-info,0x22fbed9570e,119,6361,6404,C0O6385C4O6397,,
code-creation,JS,10,496801,0x22fbed957f6,41, node:internal/readline/interface:371:16,0x158ab336ec8,~
code-source-info,0x22fbed957f6,123,10485,10671,C0O10525C5O10531C10O10561C15O10567C23O10608C28O10614C33O10614C38O10646C40O10666,,
code-creation,JS,10,496922,0x22fbed9593e,79,ReadStream.setRawMode node:tty:73:43,0x23c5197aa00,~
code-source-info,0x22fbed9593e,85,2341,2563,C0O2353C6O2388C13O2395C18O2397C27O2418C29O2439C39O2457C42O2464C55O2453C61O2439C67O2505C69O2517C70O2526C72O2537C76O2548C78O2560,,
code-creation,JS,10,497475,0x22fbed95fa6,179,REPLServer.resetContext node:repl:1151:45,0x158ab314180,~
code-source-info,0x22fbed95fa6,115,38594,39632,C0O38594C9O38602C12O38622C17O38622C21O38615C25O38642C29O38666C33O38678C37O38705C41O38760C46O38771C50O38780C53O38785C60O38797C64O38808C74O38834C87O38907C95O38934C103O38808C108O39156C118O39182C131O39260C139O39292C147O39156C152O39596C155O39601C166O39620C171O39601C178O39631,,
code-creation,JS,10,497733,0x22fbed9658e,291,REPLServer.createContext node:repl:1095:46,0x158ab3140f0,~
code-source-info,0x22fbed9658e,115,36904,38545,C0O36904C12O36916C13O36916C15O36928C18O36937C24O36955C30O36963C34O36994C51O36994C56O37344C67O37366C74O37392C77O37366C87O37344C92O37802C97O37817C101O37850C111O37867C118O37850C124O37881C137O37902C144O38012C148O37881C153O38060C165O38060C171O38088C175O38107C178O38117C190O38147C193O38117C199O38105C203O38167C216O38188C223O38289C227O38167C232O38311C245O38332C254O38434C257O38434C265O38311C270O38479C283O38479C288O38527C290O38542,,
code-creation,JS,10,497940,0x22fbed9697e,213,Module node:internal/modules/cjs/loader:288:16,0x39e2db7e848,~
code-source-info,0x22fbed9697e,65,8394,9149,C14O8417C16O8425C20O8434C22O8446C25O8451C30O8451C35O8444C39O8467C52O8467C57O8507C59O8512C64O8527C68O8540C79O8540C84O8580C85O8594C89O8605C90O8617C94O8629C96O8643C100O8656C102O8687C107O8687C113O8695C121O8710C123O8749C128O8749C133O8794C138O8794C144O8892C154O8924C157O8924C166O8892C171O9010C176O9030C186O9052C189O9052C195O9010C200O9099C202O9104C207O9128C212O9148,,
code-creation,JS,10,498253,0x22fbed96d0e,453,dirname node:path:681:10,0x39e2db64408,~
code-source-info,0x22fbed96d0e,33,22069,24697,C0O22083C8O22083C13O22135C18O22148C19O22156C24O22170C26O22181C27O22201C30O22223C32O22244C39O22244C45O22287C47O22295C52O22417C55O22424C67O22459C68O22502C71O22506C77O22568C81O22599C86O22619C92O22619C98O22603C104O22730C107O22753C108O22828C110O22822C120O22864C123O22864C129O22848C135O22914C140O22813C144O22939C146O22945C153O22956C158O23002C163O23084C165O23078C175O23121C178O23121C184O23105C190O23173C195O23069C199O23202C201O23208C208O23219C213O23269C218O23359C220O23353C230O23399C233O23399C239O23383C245O23453C250O23344C254O23486C256O23492C261O23563C263O23575C264O23604C266O23610C271O23840C273O23861C280O23955C283O23959C291O24004C297O24004C305O24043C307O24039C312O24064C314O24087C324O24110C330O24110C336O24094C349O24162C350O24204C353O24232C355O24256C357O24260C361O24267C363O24267C368O24292C373O24312C376O24312C382O24296C388O24360C392O24392C397O24412C401O24503C403O24280C408O24243C412O24548C414O24556C419O24573C421O24585C426O24602C428O24613C429O24623C434O24650C447O24657C452O24692,,
code-creation,JS,10,498510,0x22fbed9716e,28,setOwnProperty node:internal/util:732:24,0x39e2db496c0,~
code-source-info,0x22fbed9716e,16,20557,20732,C0O20580C5O20613C12O20695C22O20587C27O20729,,
code-creation,JS,10,498636,0x22fbed9733e,45,updateChildren node:internal/modules/cjs/loader:255:24,0x39e2db7e758,~
code-source-info,0x22fbed9733e,65,7380,7564,C0O7424C7O7430C15O7445C19O7463C23O7471C26O7471C33O7520C38O7520C44O7563,,
code-creation,JS,10,498730,0x22fbed97536,40, node:internal/util:803:18,0x39e2db49a18,~
code-source-info,0x22fbed97536,16,22905,23031,C0O22915C10O22951C13O22959C19O22957C25O22981C29O22993C35O23013C39O23026,,
code-creation,JS,10,498807,0x22fbed9764e,28, node:internal/modules/cjs/loader:160:3,0x39e2db7d0e0,~
code-source-info,0x22fbed9764e,65,4762,4853,C0O4769C8O4769C20O4811C27O4853,,
code-creation,JS,10,498979,0x22fbed979a6,345,Module._resolveLookupPaths node:internal/modules/cjs/loader:895:38,0x39e2db7f098,~
code-source-info,0x22fbed979a6,65,28138,29458,C0O28161C5O28179C10O28179C17O28218C25O28218C30O28263C31O28275C32O28322C39O28326C47O28360C52O28387C59O28394C66O28408C72O28408C80O28442C87O28460C93O28460C101O28494C108O28514C114O28527C120O28527C128O28561C133O28615C135O28627C142O28637C149O28644C158O28663C165O28691C168O28671C173O28712C178O28753C183O28712C190O28782C195O28817C209O28817C214O28882C220O28889C230O28908C231O28959C235O28982C241O28996C247O29170C252O29184C266O29184C271O29240C273O29257C274O29268C282O29335C290O29268C295O29363C304O29364C307O29369C312O29384C317O29369C329O29399C337O29399C342O29438C344O29455,,
code-creation,JS,10,499176,0x22fbed97cbe,77,normalizeRequirableId node:internal/bootstrap/realm:301:31,0x14d495bb948,~
code-source-info,0x22fbed97cbe,9,9988,10323,C0O10000C10O10004C17O10074C27O10074C33O10110C38O10128C43O10128C50O10175C52O10195C55O10217C60O10235C65O10235C72O10276C74O10286C75O10301C76O10318,,
code-creation,JS,10,499265,0x22fbed97e06,18,canBeRequiredWithoutScheme node:internal/bootstrap/realm:297:36,0x14d495bb8f8,~
code-source-info,0x22fbed97e06,9,9884,9954,C0O9896C7O9941C12O9941C17O9949,,
code-creation,JS,10,499382,0x22fbed98026,10, node:internal/modules/cjs/loader:395:66,0x39e2db7ebb8,~
code-source-info,0x22fbed98026,65,11219,11246,C0O11232C2O11238C9O11245,,
code-creation,JS,10,499556,0x22fbed98436,215,makeRequireFunction node:internal/modules/helpers:130:29,0x39e2db6b3f8,~
code-source-info,0x22fbed98436,44,4069,6657,C0O4069C22O4130C27O4130C30O4130C32O4147C37O4155C46O4190C64O4196C69O4190C70O4292C72O4304C92O4337C97O4341C108O4357C112O4337C114O4385C119O4385C122O4385C124O4418C130O4427C136O4456C145O5640C150O6142C152O6158C156O6420C158O6434C162O6448C177O6488C185O6448C190O6557C193O6585C197O6576C201O6603C204O6626C208O6617C212O6639C214O6654,,
code-creation,JS,10,499684,0x22fbed986e6,35,lazyModule node:internal/modules/helpers:113:20,0x39e2db6b3a8,~
code-source-info,0x22fbed986e6,44,3341,3438,C0O3349C12O3370C17O3408C24O3357C30O3420C34O3435,,
code-creation,JS,10,499854,0x22fbed98c3e,63,addBuiltinLibsToObject node:internal/modules/helpers:234:32,0x39e2db6b4d8,~
code-source-info,0x22fbed98c3e,44,7348,9334,C0O7348C12O7458C20O7458C25O7496C30O7516C35O7754C37O7754C42O7754C44O7788C51O7810C56O7788C62O9333,,
code-creation,JS,10,500016,0x22fbed98f46,123, node:internal/modules/helpers:244:41,0x22fbed98b78,~
code-source-info,0x22fbed98f46,44,7826,9329,C0O7826C12O7978C25O7982C36O8031C45O8031C56O8078C67O8078C74O8132C75O8139C76O8455C80O8455C82O8639C97O8668C102O8712C112O9254C116O8639C122O9328,,
code-creation,JS,10,500465,0x22fbed9a6b6,219,defineDefaultCommands node:repl:1734:31,0x158ab313d20,~
code-source-info,0x22fbed9a6b6,115,58761,62172,C0O58778C13O58873C21O58778C27O58975C29O59001C35O59019C40O59071C43O59142C58O59178C62O59205C70O59142C76O59430C89O59495C97O59430C103O59554C116O59629C124O59554C130O60299C143O60409C151O60299C157O60933C170O61026C178O60933C184O61906C190O61928C203O61995C211O61928C218O62171,,
code-creation,JS,10,500611,0x22fbed9ad16,55,REPLServer.defineCommand node:repl:1632:46,0x158ab314410,~
code-source-info,0x22fbed9ad16,115,55479,55661,C0O55499C6O55537C13O55553C24O55577C29O55598C37O55577C42O55634C49O55652C54O55660,,
code-creation,JS,10,500915,0x22fbed9b39e,176,setupReverseSearch node:internal/repl/utils:513:28,0x2d4ae60e5b8,~
code-source-info,0x22fbed9b39e,128,17290,25784,C0O17290C74O17351C79O17363C84O17367C91O17372C96O17391C101O17400C111O17436C112O17470C119O17470C124O17470C126O17503C130O17503C132O17590C133O17590C135O17619C137O17619C139O17638C141O17638C143O17658C145O17658C147O17675C149O17675C151O17699C153O17699C155O17723C157O17723C159O17734C160O17734C162O25756C169O25765C175O25781,,
code-creation,JS,10,501428,0x22fbed9d62e,290,setupPreview node:internal/repl/utils:143:22,0x2d4ae60e4f8,~
code-source-info,0x22fbed9d62e,128,4524,17259,C0O4524C80O4619C85O4631C90O4635C97O4640C104O4655C106O4670C111O4679C119O4697C129O4717C130O4747C131O4747C133O4789C134O4789C136O4819C137O4819C139O4851C140O4851C142O4877C143O4877C145O4903C146O4903C148O5393C153O12365C157O12365C159O16083C169O16110C177O16083C182O16083C184O16134C191O16152C195O16273C196O16273C198O16457C208O16484C216O16457C221O16457C223O16507C230O16524C234O17034C244O17061C252O17034C257O17034C259O17082C266O17097C270O17219C277O17228C283O17241C289O17256,,
code-creation,JS,10,501687,0x22fbed9dda6,138,REPLServer.displayPrompt node:repl:1190:46,0x158ab314210,~
code-source-info,0x22fbed9dda6,115,39682,40118,C0O39722C5O39741C7O39750C9O39749C13O39774C19O39789C22O39827C27O39833C32O39839C38O39853C43O39859C48O39865C52O39872C59O39903C67O39903C73O39942C75O39961C85O40023C92O40036C95O40046C100O40056C114O40074C121O40023C126O40092C131O40092C137O40117,,
code-creation,JS,10,501843,0x22fbed9df8e,87,prompt node:internal/readline/interface:386:9,0x158ab336f18,~
code-source-info,0x22fbed9df8e,123,10823,11079,C0O10856C6O10869C11O10869C15O10893C24O10913C29O10917C36O10922C41O10943C45O10964C46O10976C50O10988C52O10993C54O10992C58O11006C64O11031C66O11036C68O11035C74O11057C76O11056C80O11051C86O11078,,
code-creation,JS,10,501948,0x22fbed9e0ee,5,get node:readline:244:8,0x22cbe476448,~
code-source-info,0x22fbed9e0ee,119,6764,6808,C0O6788C4O6801,,
code-creation,JS,10,502006,0x22fbed9e1d6,28,repl._refreshLine node:internal/repl/utils:480:23,0x22fbed9d308,~
code-source-info,0x22fbed9e1d6,128,16154,16236,C0O16167C4O16180C10O16193C15O16193C18O16217C23O16217C27O16235,,
code-creation,JS,10,502175,0x22fbed9e336,218, node:internal/readline/interface:477:17,0x158ab337148,~
code-source-info,0x22fbed9e336,123,13383,14412,C0O13426C2O13431C4O13430C8O13447C12O13440C16O13474C18O13479C20O13478C24O13494C30O13532C35O13568C40O13628C45O13628C50O13747C58O13767C59O13780C64O13794C69O13810C78O13821C81O13794C86O13876C91O13890C98O13876C103O13926C108O13947C113O13926C117O14020C119O14025C121O14024C125O14040C130O14101C131O14114C136O14130C138O14135C140O14134C147O14150C152O14213C157O14227C162O14245C167O14213C172O14293C176O14281C180O14304C181O14313C186O14327C191O14343C200O14354C203O14327C208O14402C212O14390C217O14411,,
code-creation,JS,10,502341,0x22fbed9e56e,5,get node:readline:334:8,0x22cbe4768f8,~
code-source-info,0x22fbed9e56e,119,8315,8361,C0O8339C4O8354,,
code-creation,JS,10,502502,0x22fbed9e71e,326, node:internal/readline/interface:982:19,0x158ab3379b8,~
code-source-info,0x22fbed9e71e,123,28568,29523,C0O28594C2O28619C7O28644C9O28652C14O28658C20O28713C27O28713C50O28705C78O28705C81O28751C83O28760C88O28862C90O28870C95O28886C100O28870C115O28908C117O28929C119O29016C121O29025C126O29061C131O29086C135O29079C138O29069C148O29105C150O29145C158O29145C164O29212C165O29222C172O29237C177O29255C179O29265C188O29321C190O29333C196O29338C201O29344C206O29364C211O29394C217O28694C282O29441C284O29448C288O29460C290O29476C296O29484C306O29496C313O29505C319O29511C325O29518,,
code-creation,JS,10,502645,0x22fbed9e9ee,31,get columns node:internal/readline/interface:349:14,0x158ab336dd8,~
code-source-info,0x22fbed9e9ee,123,10048,10152,C0O10067C6O10082C11O10089C17O10110C22O10117C26O10125C27O10131C30O10147,,
code-creation,JS,10,502721,0x22fbed9eb0e,35,stripVTControlCharacters node:internal/util/inspect:2417:34,0x39e2db4f978,~
code-source-info,0x22fbed9eb0e,21,83862,83960,C0O83873C8O83873C13O83906C20O83942C29O83913C34O83957,,
code-creation,JS,10,503112,0x22fbed9f0ee,142,getStringWidth node:internal/util/inspect:2330:43,0x39e2db4f8f0,~
code-source-info,0x22fbed9f0ee,21,80723,81308,C13O80775C15O80785C19O80818C24O80824C29O80880C31O80891C35O80885C40O81075C45O81075C51O81097C53O81106C58O81125C60O81134C63O81138C72O81153C79O81178C82O81178C91O81153C97O81138C109O81226C111O81249C113O81263C130O80900C135O80867C139O81290C141O81303,,
tick,0x7ff7b9603e86,503421,0,0x0,3,0x7ff7b9533060,0x22fbed9e363,0x22fbed9e1e5,0x22fbed9dfc8,0x22fbed9de29,0x2d4ae63da9c,0x2d4ae63c065,0x2d4ae63bd01,0x23c5197896d,0x23c519693ae,0x23c51968a11,0x23c51942948
code-creation,JS,10,503526,0x22fbed9f33e,48,getCursorPos node:internal/readline/interface:1023:15,0x158ab337a08,~
code-source-info,0x22fbed9f33e,123,29722,29883,C0O29763C2O29768C4O29767C10O29779C13O29805C20O29819C25O29779C30O29777C34O29833C36O29845C38O29844C42O29860C47O29878,,
code-creation,RegExp,3,503877,0x7ff739bc6e40,3260,[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)|(?:(?:\\d{1\x2C4}(?:;\\d{0\x2C4})*)?[\\dA-PR-TZcf-ntqry=><~]))
code-creation,JS,10,504197,0x22fbed9f91e,214,cursorTo node:internal/readline/callbacks:33:18,0x22cbe47a230,~
code-source-info,0x22fbed9f91e,120,509,1200,C0O539C4O574C12O574C17O624C23O660C26O679C29O704C34O708C40O724C53O730C58O724C59O768C64O772C70O788C83O794C88O788C89O834C106O913C112O949C115O957C122O957C128O988C129O1000C130O1011C136O1038C141O1044C146O1038C147O1092C155O1116C158O1119C164O1124C168O1119C177O1133C180O1136C186O1141C192O1150C196O1136C202O1175C207O1175C213O1197,,
code-creation,JS,10,504891,0x22fbed9ffde,66,clearScreenDown node:internal/readline/callbacks:114:25,0x22cbe47a320,~
code-source-info,0x22fbed9ffde,120,2486,2796,C0O2510C4O2545C12O2545C17O2595C25O2647C31O2683C34O2691C41O2691C47O2722C48O2734C49O2759C56O2765C59O2759C65O2793,,
code-creation,JS,10,509498,0x22fbeda010e,5,get node:readline:232:8,0x22cbe4763a8,~
code-source-info,0x22fbeda010e,119,6558,6604,C0O6582C4O6597,,
code-creation,JS,10,509626,0x22fbeda01fe,42, node:internal/readline/interface:433:19,0x158ab3370a8,~
code-source-info,0x22fbeda01fe,123,11958,12145,C0O11981C8O11981C13O12045C19O12069C25O12105C30O12112C35O12112C41O12144,,
code-creation,JS,10,510831,0x22fbeda0436,251,showPreview node:internal/repl/utils:366:23,0x22fbed9d2b8,~
code-source-info,0x22fbeda0436,128,12365,15499,C10O12365C17O12452C30O12487C41O12519C46O12528C52O12548C53O12555C54O12583C66O12608C71O12583C75O12583C77O12688C82O12697C87O12714C88O12721C89O12736C95O12751C103O12807C107O12858C109O12872C119O12899C124O12872C129O12986C138O12994C143O13019C144O13026C145O13070C150O15166C153O15179C166O15222C175O15255C183O15272C187O15263C192O15287C196O15302C205O15335C210O15335C215O15392C223O15414C228O15414C233O15478C239O15486C250O15498,,
code-creation,JS,10,511052,0x22fbeda069e,21,setupHistory node:repl:1073:58,0x158ab314000,~
code-source-info,0x22fbeda069e,115,36307,36364,C0O36330C14O36330C20O36363,,
code-creation,JS,10,511380,0x22fbeda0d46,402,setupHistory node:internal/repl/history:34:22,0x2d4ae610dc0,~
code-source-info,0x22fbeda0d46,129,864,4296,C0O864C73O943C79O985C89O999C93O997C95O1038C100O1054C105O1069C112O1087C116O1115C124O1122C129O1140C130O1151C137O1189C144O1208C153O1213C156O1216C161O1216C169O1208C175O1201C190O1278C205O1346C209O1278C214O1416C224O1426C229O1416C233O1441C242O1459C246O1489C258O1496C263O1514C264O1532C271O1547C276O1547C286O1562C289O1573C300O1573C312O1620C325O1688C329O1620C334O1752C342O1759C347O1777C348O1800C349O1800C351O1823C352O1823C354O1847C355O1847C357O1857C360O1862C365O1862C369O2033C376O2036C395O2036C401O4295,,
code-creation,JS,11,511577,0x7ff739bc7b40,568,wrappedFn node:internal/errors:536:21,0x14d495bf1c0,^
code-source-info,0x7ff739bc7b40,10,15243,15438,,,
code-creation,JS,11,511621,0x7ff739bc7dc0,76, node:repl:136:17,0x158ab313e70,^
code-source-info,0x7ff739bc7dc0,115,4294,4316,,,
code-creation,JS,11,511664,0x7ff739bc7e40,128,addListener node:events:610:58,0x39e2db526e8,^
code-source-info,0x7ff739bc7e40,23,18467,18541,,,
code-creation,JS,11,511717,0x7ff739bc7f00,392,isWindowsDeviceRoot node:path:68:29,0x39e2db64098,^
code-source-info,0x7ff739bc7f00,33,2211,2356,,,
code-creation,JS,11,511793,0x7ff739bc80c0,2032,Module._nodeModulePaths node:internal/modules/cjs/loader:797:37,0x39e2db7f008,^
code-source-info,0x7ff739bc80c0,65,24974,26577,,,
code-creation,JS,11,511839,0x7ff739bc88c0,152,maybeFastPath node:internal/promise_hooks:70:23,0x22fbed88ac8,^
code-source-info,0x7ff739bc88c0,132,1741,1806,,,
code-creation,JS,11,511895,0x7ff739bc8980,1012, node:internal/modules/helpers:244:41,0x22fbed98b78,^
code-source-info,0x7ff739bc8980,44,7826,9329,,,
code-creation,JS,11,511944,0x7ff739bc8dc0,276, node:internal/validators:458:42,0x39e2db46300,^
code-source-info,0x7ff739bc8dc0,15,13548,13667,,,
code-creation,JS,10,512036,0x22fbeda1c0e,35,checkError node:os:64:45,0x381e133e188,~
code-source-info,0x22fbeda1c0e,113,2167,2338,C0O2189C2O2210C5O2210C10O2224C12O2256C19O2283C26O2262C31O2256C32O2322C34O2333,,
code-creation,JS,10,512350,0x22fbeda1db6,301,join node:path:449:7,0x39e2db64318,~
code-source-info,0x22fbeda1db6,33,14383,16589,C0O14383C3O14409C9O14416C14O14430C16O14441C17O14453C19O14470C21O14499C23O14511C27O14504C32O14545C34O14549C38O14561C46O14561C51O14605C57O14612C62O14628C66O14665C76O14716C81O14731C92O14521C97O14486C101O14761C105O14794C107O14805C108O15596C110O15624C112O15632C117O15652C122O15652C128O15636C134O15703C139O15751C144O15766C146O15779C156O15813C162O15813C168O15797C174O15866C179O15889C181O15902C186O15920C191O15940C197O15940C203O15924C209O15995C216O16096C218O16163C222O16280C226O16271C236O16320C239O16320C245O16304C251O16379C256O16253C260O16451C262O16466C267O16481C272O16495C275O16495C285O16553C290O16566C295O16566C300O16584,,
code-creation,JS,10,512811,0x22fbeda20c6,625,normalize node:path:332:12,0x39e2db64278,~
code-source-info,0x22fbeda20c6,33,10648,13802,C0O10662C8O10662C13O10714C18O10727C19O10735C24O10749C26O10760C27O10780C29O10792C31O10822C33O10847C40O10847C46O10918C48O10926C53O11035C56O11042C68O11083C69O11096C72O11100C78O11288C80O11316C85O11336C91O11336C97O11320C103O11447C106O11470C107O11545C109O11539C119O11581C122O11581C128O11565C134O11631C139O11530C143O11656C145O11662C152O11673C157O11714C171O11714C177O11785C182O11867C184O11861C194O11904C197O11904C203O11888C209O11956C214O11852C218O11985C220O11991C227O12002C232O12052C237O12142C239O12136C249O12182C252O12182C258O12166C264O12236C269O12127C273O12269C275O12275C280O12467C285O12481C298O12495C301O12495C316O12532C317O12561C319O12567C324O12649C329O12682C342O12696C354O12696C364O12750C371O12827C376O12861C379O12865C387O12910C393O12910C401O12949C403O12945C408O13001C421O13010C427O13051C430O13071C432O13079C442O13102C448O13102C454O13086C460O13241C462O13269C465O13316C467O13324C477O13355C480O13355C488O13416C496O13339C506O13478C512O13485C519O13495C521O13514C524O13540C530O13547C540O13579C545O13615C549O13579C555O13563C561O13629C570O13648C574O13683C583O13708C591O13722C592O13735C598O13758C608O13769C616O13781C620O13790C624O13797,,
code-creation,JS,10,513128,0x22fbeda255e,43,isEnabled node:internal/process/permission:14:12,0x39e2db73ea0,~
script-source,51,node:internal/process/permission,'use strict';\x0d\n\x0d\nconst {\x0d\n ObjectFreeze\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst permission = internalBinding('permission');\x0d\nconst { validateString } = require('internal/validators');\x0d\n\x0d\nlet experimentalPermission;\x0d\n\x0d\nmodule.exports = ObjectFreeze({\x0d\n __proto__: null\x2C\x0d\n isEnabled() {\x0d\n if (experimentalPermission === undefined) {\x0d\n const { getOptionValue } = require('internal/options');\x0d\n experimentalPermission = getOptionValue('--experimental-permission');\x0d\n }\x0d\n return experimentalPermission;\x0d\n }\x2C\x0d\n has(scope\x2C reference) {\x0d\n validateString(scope\x2C 'scope');\x0d\n if (reference != null) {\x0d\n // TODO: add support for WHATWG URLs and Uint8Arrays.\x0d\n validateString(reference\x2C 'reference');\x0d\n }\x0d\n\x0d\n return permission.has(scope\x2C reference);\x0d\n }\x2C\x0d\n});\x0d\n
code-source-info,0x22fbeda255e,51,271,512,C0O281C6O359C12O359C17O340C22O395C25O420C32O418C38O477C42O507,,
code-creation,JS,10,513351,0x22fbeda278e,43,pause node:internal/readline/interface:535:8,0x158ab3371e8,~
code-source-info,0x22fbeda278e,123,14773,14905,C0O14792C6O14800C7O14807C8O14818C13O14824C18O14824C22O14838C23O14850C27O14868C35O14868C40O14888C42O14900,,
code-creation,JS,10,513484,0x22fbeda2916,125,Socket.pause node:net:745:34,0x77b20c9558,~
code-source-info,0x22fbeda2916,86,20521,20862,C0O20529C2O20538C4O20537C9O20556C15O20575C21O20598C26O20606C32O20627C38O20643C42O20667C48O20704C53O20712C58O20712C63O20731C65O20754C72O20766C83O20762C89O20754C94O20811C99O20825C104O20832C109O20842C114O20848C119O20848C124O20859,,
code-creation,JS,10,513640,0x22fbeda2b16,148,Readable.pause node:internal/streams/readable:1265:36,0x77b20ed8c0,~
code-source-info,0x22fbeda2b16,97,40781,41096,C0O40808C5O40827C13O40827C17O40851C19O40862C21O40861C27O40873C32O40887C34O40885C37O40870C43O40902C45O40898C50O40922C58O40922C62O40943C64O40949C73O40960C78O40957C82O40978C84O40984C93O40996C95O40995C100O40992C104O41016C112O41016C117O41039C119O41045C128O41056C133O41069C135O41067C141O41053C145O41081C147O41093,,
code-creation,JS,10,513793,0x22fbeda2cce,20, node:internal/bootstrap/switches/is_main_thread:260:21,0x22fbed84d78,~
code-source-info,0x22fbeda2cce,60,7339,7383,C0O7352C5O7360C13O7360C19O7382,,
code-creation,JS,10,514420,0x22fbeda2e7e,158,open node:fs:539:14,0x39e2db6d8e8,~
script-source,45,node:fs,// Copyright Joyent\x2C Inc. and other Node contributors.\x0d\n//\x0d\n// Permission is hereby granted\x2C free of charge\x2C to any person obtaining a\x0d\n// copy of this software and associated documentation files (the\x0d\n// "Software")\x2C to deal in the Software without restriction\x2C including\x0d\n// without limitation the rights to use\x2C copy\x2C modify\x2C merge\x2C publish\x2C\x0d\n// distribute\x2C sublicense\x2C and/or sell copies of the Software\x2C and to permit\x0d\n// persons to whom the Software is furnished to do so\x2C subject to the\x0d\n// following conditions:\x0d\n//\x0d\n// The above copyright notice and this permission notice shall be included\x0d\n// in all copies or substantial portions of the Software.\x0d\n//\x0d\n// THE SOFTWARE IS PROVIDED "AS IS"\x2C WITHOUT WARRANTY OF ANY KIND\x2C EXPRESS\x0d\n// OR IMPLIED\x2C INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\x0d\n// MERCHANTABILITY\x2C FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\x0d\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM\x2C\x0d\n// DAMAGES OR OTHER LIABILITY\x2C WHETHER IN AN ACTION OF CONTRACT\x2C TORT OR\x0d\n// OTHERWISE\x2C ARISING FROM\x2C OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\x0d\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\x0d\n\x0d\n// Maintainers\x2C keep in mind that ES1-style octal literals (`0666`) are not\x0d\n// allowed in strict mode. Use ES6-style octal literals instead (`0o666`).\x0d\n\x0d\n'use strict';\x0d\n\x0d\nconst {\x0d\n ArrayPrototypePush\x2C\x0d\n BigIntPrototypeToString\x2C\x0d\n Boolean\x2C\x0d\n MathMax\x2C\x0d\n Number\x2C\x0d\n ObjectDefineProperties\x2C\x0d\n ObjectDefineProperty\x2C\x0d\n Promise\x2C\x0d\n PromiseResolve\x2C\x0d\n ReflectApply\x2C\x0d\n SafeMap\x2C\x0d\n SafeSet\x2C\x0d\n StringPrototypeCharCodeAt\x2C\x0d\n StringPrototypeIndexOf\x2C\x0d\n StringPrototypeSlice\x2C\x0d\n uncurryThis\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst { fs: constants } = internalBinding('constants');\x0d\nconst {\x0d\n S_IFIFO\x2C\x0d\n S_IFLNK\x2C\x0d\n S_IFMT\x2C\x0d\n S_IFREG\x2C\x0d\n S_IFSOCK\x2C\x0d\n F_OK\x2C\x0d\n R_OK\x2C\x0d\n W_OK\x2C\x0d\n X_OK\x2C\x0d\n O_WRONLY\x2C\x0d\n O_SYMLINK\x2C\x0d\n} = constants;\x0d\n\x0d\nconst pathModule = require('path');\x0d\nconst { isAbsolute } = pathModule;\x0d\nconst { isArrayBufferView } = require('internal/util/types');\x0d\n\x0d\nconst binding = internalBinding('fs');\x0d\n\x0d\nconst { createBlobFromFilePath } = require('internal/blob');\x0d\n\x0d\nconst { Buffer } = require('buffer');\x0d\nconst { isBuffer: BufferIsBuffer } = Buffer;\x0d\nconst BufferToString = uncurryThis(Buffer.prototype.toString);\x0d\nconst {\x0d\n aggregateTwoErrors\x2C\x0d\n codes: {\x0d\n ERR_ACCESS_DENIED\x2C\x0d\n ERR_FS_FILE_TOO_LARGE\x2C\x0d\n ERR_INVALID_ARG_VALUE\x2C\x0d\n }\x2C\x0d\n AbortError\x2C\x0d\n UVException\x2C\x0d\n} = require('internal/errors');\x0d\n\x0d\nconst {\x0d\n FSReqCallback\x2C\x0d\n statValues\x2C\x0d\n} = binding;\x0d\nconst { toPathIfFileURL } = require('internal/url');\x0d\nconst {\x0d\n customPromisifyArgs: kCustomPromisifyArgsSymbol\x2C\x0d\n kEmptyObject\x2C\x0d\n promisify: {\x0d\n custom: kCustomPromisifiedSymbol\x2C\x0d\n }\x2C\x0d\n SideEffectFreeRegExpPrototypeExec\x2C\x0d\n defineLazyProperties\x2C\x0d\n} = require('internal/util');\x0d\nconst {\x0d\n constants: {\x0d\n kIoMaxLength\x2C\x0d\n kMaxUserId\x2C\x0d\n }\x2C\x0d\n copyObject\x2C\x0d\n Dirent\x2C\x0d\n emitRecursiveRmdirWarning\x2C\x0d\n getDirent\x2C\x0d\n getDirents\x2C\x0d\n getOptions\x2C\x0d\n getValidatedFd\x2C\x0d\n getValidatedPath\x2C\x0d\n handleErrorFromBinding\x2C\x0d\n preprocessSymlinkDestination\x2C\x0d\n Stats\x2C\x0d\n getStatFsFromBinding\x2C\x0d\n getStatsFromBinding\x2C\x0d\n realpathCacheKey\x2C\x0d\n stringToFlags\x2C\x0d\n stringToSymlinkType\x2C\x0d\n toUnixTimestamp\x2C\x0d\n validateBufferArray\x2C\x0d\n validateCpOptions\x2C\x0d\n validateOffsetLengthRead\x2C\x0d\n validateOffsetLengthWrite\x2C\x0d\n validatePath\x2C\x0d\n validatePosition\x2C\x0d\n validateRmOptions\x2C\x0d\n validateRmOptionsSync\x2C\x0d\n validateRmdirOptions\x2C\x0d\n validateStringAfterArrayBufferView\x2C\x0d\n warnOnNonPortableTemplate\x2C\x0d\n} = require('internal/fs/utils');\x0d\nconst {\x0d\n CHAR_FORWARD_SLASH\x2C\x0d\n CHAR_BACKWARD_SLASH\x2C\x0d\n} = require('internal/constants');\x0d\nconst {\x0d\n isInt32\x2C\x0d\n parseFileMode\x2C\x0d\n validateBoolean\x2C\x0d\n validateBuffer\x2C\x0d\n validateEncoding\x2C\x0d\n validateFunction\x2C\x0d\n validateInteger\x2C\x0d\n validateObject\x2C\x0d\n validateString\x2C\x0d\n kValidateObjectAllowNullable\x2C\x0d\n} = require('internal/validators');\x0d\n\x0d\nconst permission = require('internal/process/permission');\x0d\n\x0d\nlet truncateWarn = true;\x0d\nlet fs;\x0d\n\x0d\n// Lazy loaded\x0d\nlet cpFn;\x0d\nlet cpSyncFn;\x0d\nlet promises = null;\x0d\nlet ReadStream;\x0d\nlet WriteStream;\x0d\nlet rimraf;\x0d\nlet rimrafSync;\x0d\nlet kResistStopPropagation;\x0d\n\x0d\n// These have to be separate because of how graceful-fs happens to do it's\x0d\n// monkeypatching.\x0d\nlet FileReadStream;\x0d\nlet FileWriteStream;\x0d\n\x0d\nconst isWindows = process.platform === 'win32';\x0d\nconst isOSX = process.platform === 'darwin';\x0d\n\x0d\nfunction showTruncateDeprecation() {\x0d\n if (truncateWarn) {\x0d\n process.emitWarning(\x0d\n 'Using fs.truncate with a file descriptor is deprecated. Please use ' +\x0d\n 'fs.ftruncate with a file descriptor instead.'\x2C\x0d\n 'DeprecationWarning'\x2C 'DEP0081');\x0d\n truncateWarn = false;\x0d\n }\x0d\n}\x0d\n\x0d\n// Ensure that callbacks run in the global context. Only use this function\x0d\n// for callbacks that are passed to the binding layer\x2C callbacks that are\x0d\n// invoked from JS already run in the proper scope.\x0d\nfunction makeCallback(cb) {\x0d\n validateFunction(cb\x2C 'cb');\x0d\n\x0d\n return (...args) => ReflectApply(cb\x2C this\x2C args);\x0d\n}\x0d\n\x0d\n// Special case of `makeCallback()` that is specific to async `*stat()` calls as\x0d\n// an optimization\x2C since the data passed back to the callback needs to be\x0d\n// transformed anyway.\x0d\nfunction makeStatsCallback(cb) {\x0d\n validateFunction(cb\x2C 'cb');\x0d\n\x0d\n return (err\x2C stats) => {\x0d\n if (err) return cb(err);\x0d\n cb(err\x2C getStatsFromBinding(stats));\x0d\n };\x0d\n}\x0d\n\x0d\nconst isFd = isInt32;\x0d\n\x0d\nfunction isFileType(stats\x2C fileType) {\x0d\n // Use stats array directly to avoid creating an fs.Stats instance just for\x0d\n // our internal use.\x0d\n let mode = stats[1];\x0d\n if (typeof mode === 'bigint')\x0d\n mode = Number(mode);\x0d\n return (mode & S_IFMT) === fileType;\x0d\n}\x0d\n\x0d\n/**\x0d\n * Tests a user's permissions for the file or directory\x0d\n * specified by `path`.\x0d\n * @param {string | Buffer | URL} path\x0d\n * @param {number} [mode]\x0d\n * @param {(err?: Error) => any} callback\x0d\n * @returns {void}\x0d\n */\x0d\nfunction access(path\x2C mode\x2C callback) {\x0d\n if (typeof mode === 'function') {\x0d\n callback = mode;\x0d\n mode = F_OK;\x0d\n }\x0d\n\x0d\n path = getValidatedPath(path);\x0d\n callback = makeCallback(callback);\x0d\n\x0d\n const req = new FSReqCallback();\x0d\n req.oncomplete = callback;\x0d\n binding.access(pathModule.toNamespacedPath(path)\x2C mode\x2C req);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Synchronously tests a user's permissions for the file or\x0d\n * directory specified by `path`.\x0d\n * @param {string | Buffer | URL} path\x0d\n * @param {number} [mode]\x0d\n * @returns {void}\x0d\n */\x0d\nfunction accessSync(path\x2C mode) {\x0d\n path = getValidatedPath(path);\x0d\n binding.access(pathModule.toNamespacedPath(path)\x2C mode);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Tests whether or not the given path exists.\x0d\n * @param {string | Buffer | URL} path\x0d\n * @param {(exists?: boolean) => any} callback\x0d\n * @returns {void}\x0d\n */\x0d\nfunction exists(path\x2C callback) {\x0d\n validateFunction(callback\x2C 'cb');\x0d\n\x0d\n function suppressedCallback(err) {\x0d\n callback(err ? false : true);\x0d\n }\x0d\n\x0d\n try {\x0d\n fs.access(path\x2C F_OK\x2C suppressedCallback);\x0d\n } catch {\x0d\n return callback(false);\x0d\n }\x0d\n}\x0d\n\x0d\nObjectDefineProperty(exists\x2C kCustomPromisifiedSymbol\x2C {\x0d\n __proto__: null\x2C\x0d\n value: function exists(path) { // eslint-disable-line func-name-matching\x0d\n return new Promise((resolve) => fs.exists(path\x2C resolve));\x0d\n }\x2C\x0d\n});\x0d\n\x0d\n// fs.existsSync never throws\x2C it only returns true or false.\x0d\n// Since fs.existsSync never throws\x2C users have established\x0d\n// the expectation that passing invalid arguments to it\x2C even like\x0d\n// fs.existsSync()\x2C would only get a false in return\x2C so we cannot signal\x0d\n// validation errors to users properly out of compatibility concerns.\x0d\n// TODO(joyeecheung): deprecate the never-throw-on-invalid-arguments behavior\x0d\n/**\x0d\n * Synchronously tests whether or not the given path exists.\x0d\n * @param {string | Buffer | URL} path\x0d\n * @returns {boolean}\x0d\n */\x0d\nfunction existsSync(path) {\x0d\n try {\x0d\n path = getValidatedPath(path);\x0d\n } catch {\x0d\n return false;\x0d\n }\x0d\n\x0d\n return binding.existsSync(pathModule.toNamespacedPath(path));\x0d\n}\x0d\n\x0d\nfunction readFileAfterOpen(err\x2C fd) {\x0d\n const context = this.context;\x0d\n\x0d\n if (err) {\x0d\n context.callback(err);\x0d\n return;\x0d\n }\x0d\n\x0d\n context.fd = fd;\x0d\n\x0d\n const req = new FSReqCallback();\x0d\n req.oncomplete = readFileAfterStat;\x0d\n req.context = context;\x0d\n binding.fstat(fd\x2C false\x2C req);\x0d\n}\x0d\n\x0d\nfunction readFileAfterStat(err\x2C stats) {\x0d\n const context = this.context;\x0d\n\x0d\n if (err)\x0d\n return context.close(err);\x0d\n\x0d\n // TODO(BridgeAR): Check if allocating a smaller chunk is better performance\x0d\n // wise\x2C similar to the promise based version (less peak memory and chunked\x0d\n // stringify operations vs multiple C++/JS boundary crossings).\x0d\n const size = context.size = isFileType(stats\x2C S_IFREG) ? stats[8] : 0;\x0d\n\x0d\n if (size > kIoMaxLength) {\x0d\n err = new ERR_FS_FILE_TOO_LARGE(size);\x0d\n return context.close(err);\x0d\n }\x0d\n\x0d\n try {\x0d\n if (size === 0) {\x0d\n // TODO(BridgeAR): If an encoding is set\x2C use the StringDecoder to concat\x0d\n // the result and reuse the buffer instead of allocating a new one.\x0d\n context.buffers = [];\x0d\n } else {\x0d\n context.buffer = Buffer.allocUnsafeSlow(size);\x0d\n }\x0d\n } catch (err) {\x0d\n return context.close(err);\x0d\n }\x0d\n context.read();\x0d\n}\x0d\n\x0d\nfunction checkAborted(signal\x2C callback) {\x0d\n if (signal?.aborted) {\x0d\n callback(new AbortError(undefined\x2C { cause: signal?.reason }));\x0d\n return true;\x0d\n }\x0d\n return false;\x0d\n}\x0d\n\x0d\n/**\x0d\n * Asynchronously reads the entire contents of a file.\x0d\n * @param {string | Buffer | URL | number} path\x0d\n * @param {{\x0d\n * encoding?: string | null;\x0d\n * flag?: string;\x0d\n * signal?: AbortSignal;\x0d\n * } | string} [options]\x0d\n * @param {(\x0d\n * err?: Error\x2C\x0d\n * data?: string | Buffer\x0d\n * ) => any} callback\x0d\n * @returns {void}\x0d\n */\x0d\nfunction readFile(path\x2C options\x2C callback) {\x0d\n callback ||= options;\x0d\n validateFunction(callback\x2C 'cb');\x0d\n options = getOptions(options\x2C { flag: 'r' });\x0d\n const ReadFileContext = require('internal/fs/read/context');\x0d\n const context = new ReadFileContext(callback\x2C options.encoding);\x0d\n context.isUserFd = isFd(path); // File descriptor ownership\x0d\n\x0d\n if (options.signal) {\x0d\n context.signal = options.signal;\x0d\n }\x0d\n if (context.isUserFd) {\x0d\n process.nextTick(function tick(context) {\x0d\n ReflectApply(readFileAfterOpen\x2C { context }\x2C [null\x2C path]);\x0d\n }\x2C context);\x0d\n return;\x0d\n }\x0d\n\x0d\n if (checkAborted(options.signal\x2C callback))\x0d\n return;\x0d\n\x0d\n const flagsNumber = stringToFlags(options.flag\x2C 'options.flag');\x0d\n path = getValidatedPath(path);\x0d\n\x0d\n const req = new FSReqCallback();\x0d\n req.context = context;\x0d\n req.oncomplete = readFileAfterOpen;\x0d\n binding.open(pathModule.toNamespacedPath(path)\x2C\x0d\n flagsNumber\x2C\x0d\n 0o666\x2C\x0d\n req);\x0d\n}\x0d\n\x0d\nfunction tryStatSync(fd\x2C isUserFd) {\x0d\n const stats = binding.fstat(fd\x2C false\x2C undefined\x2C true /* shouldNotThrow */);\x0d\n if (stats === undefined && !isUserFd) {\x0d\n fs.closeSync(fd);\x0d\n throw new UVException();\x0d\n }\x0d\n return stats;\x0d\n}\x0d\n\x0d\nfunction tryCreateBuffer(size\x2C fd\x2C isUserFd) {\x0d\n let threw = true;\x0d\n let buffer;\x0d\n try {\x0d\n if (size > kIoMaxLength) {\x0d\n throw new ERR_FS_FILE_TOO_LARGE(size);\x0d\n }\x0d\n buffer = Buffer.allocUnsafe(size);\x0d\n threw = false;\x0d\n } finally {\x0d\n if (threw && !isUserFd) fs.closeSync(fd);\x0d\n }\x0d\n return buffer;\x0d\n}\x0d\n\x0d\nfunction tryReadSync(fd\x2C isUserFd\x2C buffer\x2C pos\x2C len) {\x0d\n let threw = true;\x0d\n let bytesRead;\x0d\n try {\x0d\n bytesRead = fs.readSync(fd\x2C buffer\x2C pos\x2C len);\x0d\n threw = false;\x0d\n } finally {\x0d\n if (threw && !isUserFd) fs.closeSync(fd);\x0d\n }\x0d\n return bytesRead;\x0d\n}\x0d\n\x0d\n/**\x0d\n * Synchronously reads the entire contents of a file.\x0d\n * @param {string | Buffer | URL | number} path\x0d\n * @param {{\x0d\n * encoding?: string | null;\x0d\n * flag?: string;\x0d\n * }} [options]\x0d\n * @returns {string | Buffer}\x0d\n */\x0d\nfunction readFileSync(path\x2C options) {\x0d\n options = getOptions(options\x2C { flag: 'r' });\x0d\n\x0d\n if (options.encoding === 'utf8' || options.encoding === 'utf-8') {\x0d\n if (!isInt32(path)) {\x0d\n path = pathModule.toNamespacedPath(getValidatedPath(path));\x0d\n }\x0d\n return binding.readFileUtf8(path\x2C stringToFlags(options.flag));\x0d\n }\x0d\n\x0d\n const isUserFd = isFd(path); // File descriptor ownership\x0d\n const fd = isUserFd ? path : fs.openSync(path\x2C options.flag\x2C 0o666);\x0d\n\x0d\n const stats = tryStatSync(fd\x2C isUserFd);\x0d\n const size = isFileType(stats\x2C S_IFREG) ? stats[8] : 0;\x0d\n let pos = 0;\x0d\n let buffer; // Single buffer with file data\x0d\n let buffers; // List for when size is unknown\x0d\n\x0d\n if (size === 0) {\x0d\n buffers = [];\x0d\n } else {\x0d\n buffer = tryCreateBuffer(size\x2C fd\x2C isUserFd);\x0d\n }\x0d\n\x0d\n let bytesRead;\x0d\n\x0d\n if (size !== 0) {\x0d\n do {\x0d\n bytesRead = tryReadSync(fd\x2C isUserFd\x2C buffer\x2C pos\x2C size - pos);\x0d\n pos += bytesRead;\x0d\n } while (bytesRead !== 0 && pos < size);\x0d\n } else {\x0d\n do {\x0d\n // The kernel lies about many files.\x0d\n // Go ahead and try to read some bytes.\x0d\n buffer = Buffer.allocUnsafe(8192);\x0d\n bytesRead = tryReadSync(fd\x2C isUserFd\x2C buffer\x2C 0\x2C 8192);\x0d\n if (bytesRead !== 0) {\x0d\n ArrayPrototypePush(buffers\x2C buffer.slice(0\x2C bytesRead));\x0d\n }\x0d\n pos += bytesRead;\x0d\n } while (bytesRead !== 0);\x0d\n }\x0d\n\x0d\n if (!isUserFd)\x0d\n fs.closeSync(fd);\x0d\n\x0d\n if (size === 0) {\x0d\n // Data was collected into the buffers list.\x0d\n buffer = Buffer.concat(buffers\x2C pos);\x0d\n } else if (pos < size) {\x0d\n buffer = buffer.slice(0\x2C pos);\x0d\n }\x0d\n\x0d\n if (options.encoding) buffer = buffer.toString(options.encoding);\x0d\n return buffer;\x0d\n}\x0d\n\x0d\nfunction defaultCloseCallback(err) {\x0d\n if (err != null) throw err;\x0d\n}\x0d\n\x0d\n/**\x0d\n * Closes the file descriptor.\x0d\n * @param {number} fd\x0d\n * @param {(err?: Error) => any} [callback]\x0d\n * @returns {void}\x0d\n */\x0d\nfunction close(fd\x2C callback = defaultCloseCallback) {\x0d\n if (callback !== defaultCloseCallback)\x0d\n callback = makeCallback(callback);\x0d\n\x0d\n const req = new FSReqCallback();\x0d\n req.oncomplete = callback;\x0d\n binding.close(fd\x2C req);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Synchronously closes the file descriptor.\x0d\n * @param {number} fd\x0d\n * @returns {void}\x0d\n */\x0d\nfunction closeSync(fd) {\x0d\n binding.close(fd);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Asynchronously opens a file.\x0d\n * @param {string | Buffer | URL} path\x0d\n * @param {string | number} [flags]\x0d\n * @param {string | number} [mode]\x0d\n * @param {(\x0d\n * err?: Error\x2C\x0d\n * fd?: number\x0d\n * ) => any} callback\x0d\n * @returns {void}\x0d\n */\x0d\nfunction open(path\x2C flags\x2C mode\x2C callback) {\x0d\n path = getValidatedPath(path);\x0d\n if (arguments.length < 3) {\x0d\n callback = flags;\x0d\n flags = 'r';\x0d\n mode = 0o666;\x0d\n } else if (typeof mode === 'function') {\x0d\n callback = mode;\x0d\n mode = 0o666;\x0d\n } else {\x0d\n mode = parseFileMode(mode\x2C 'mode'\x2C 0o666);\x0d\n }\x0d\n const flagsNumber = stringToFlags(flags);\x0d\n callback = makeCallback(callback);\x0d\n\x0d\n const req = new FSReqCallback();\x0d\n req.oncomplete = callback;\x0d\n\x0d\n binding.open(pathModule.toNamespacedPath(path)\x2C\x0d\n flagsNumber\x2C\x0d\n mode\x2C\x0d\n req);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Synchronously opens a file.\x0d\n * @param {string | Buffer | URL} path\x0d\n * @param {string | number} [flags]\x0d\n * @param {string | number} [mode]\x0d\n * @returns {number}\x0d\n */\x0d\nfunction openSync(path\x2C flags\x2C mode) {\x0d\n path = getValidatedPath(path);\x0d\n\x0d\n return binding.open(\x0d\n pathModule.toNamespacedPath(path)\x2C\x0d\n stringToFlags(flags)\x2C\x0d\n parseFileMode(mode\x2C 'mode'\x2C 0o666)\x2C\x0d\n );\x0d\n}\x0d\n\x0d\n/**\x0d\n * @param {string | Buffer | URL } path\x0d\n * @param {{\x0d\n * type?: string;\x0d\n * }} [options]\x0d\n * @returns {Promise<Blob>}\x0d\n */\x0d\nfunction openAsBlob(path\x2C options = kEmptyObject) {\x0d\n validateObject(options\x2C 'options');\x0d\n const type = options.type || '';\x0d\n validateString(type\x2C 'options.type');\x0d\n // The underlying implementation here returns the Blob synchronously for now.\x0d\n // To give ourselves flexibility to maybe return the Blob asynchronously\x2C\x0d\n // this API returns a Promise.\x0d\n path = getValidatedPath(path);\x0d\n return PromiseResolve(createBlobFromFilePath(pathModule.toNamespacedPath(path)\x2C { type }));\x0d\n}\x0d\n\x0d\n/**\x0d\n * Reads file from the specified `fd` (file descriptor).\x0d\n * @param {number} fd\x0d\n * @param {Buffer | TypedArray | DataView} buffer\x0d\n * @param {number | {\x0d\n * offset?: number;\x0d\n * length?: number;\x0d\n * position?: number | bigint | null;\x0d\n * }} [offsetOrOptions]\x0d\n * @param {number} length\x0d\n * @param {number | bigint | null} position\x0d\n * @param {(\x0d\n * err?: Error\x2C\x0d\n * bytesRead?: number\x2C\x0d\n * buffer?: Buffer\x0d\n * ) => any} callback\x0d\n * @returns {void}\x0d\n */\x0d\nfunction read(fd\x2C buffer\x2C offsetOrOptions\x2C length\x2C position\x2C callback) {\x0d\n fd = getValidatedFd(fd);\x0d\n\x0d\n let offset = offsetOrOptions;\x0d\n let params = null;\x0d\n if (arguments.length <= 4) {\x0d\n if (arguments.length === 4) {\x0d\n // This is fs.read(fd\x2C buffer\x2C options\x2C callback)\x0d\n validateObject(offsetOrOptions\x2C 'options'\x2C kValidateObjectAllowNullable);\x0d\n callback = length;\x0d\n params = offsetOrOptions;\x0d\n } else if (arguments.length === 3) {\x0d\n // This is fs.read(fd\x2C bufferOrParams\x2C callback)\x0d\n if (!isArrayBufferView(buffer)) {\x0d\n // This is fs.read(fd\x2C params\x2C callback)\x0d\n params = buffer;\x0d\n ({ buffer = Buffer.alloc(16384) } = params ?? kEmptyObject);\x0d\n }\x0d\n callback = offsetOrOptions;\x0d\n } else {\x0d\n // This is fs.read(fd\x2C callback)\x0d\n callback = buffer;\x0d\n buffer = Buffer.alloc(16384);\x0d\n }\x0d\n\x0d\n if (params !== undefined) {\x0d\n validateObject(params\x2C 'options'\x2C kValidateObjectAllowNullable);\x0d\n }\x0d\n ({\x0d\n offset = 0\x2C\x0d\n length = buffer?.byteLength - offset\x2C\x0d\n position = null\x2C\x0d\n } = params ?? kEmptyObject);\x0d\n }\x0d\n\x0d\n validateBuffer(buffer);\x0d\n validateFunction(callback\x2C 'cb');\x0d\n\x0d\n if (offset == null) {\x0d\n offset = 0;\x0d\n } else {\x0d\n validateInteger(offset\x2C 'offset'\x2C 0);\x0d\n }\x0d\n\x0d\n length |= 0;\x0d\n\x0d\n if (length === 0) {\x0d\n return process.nextTick(function tick() {\x0d\n callback(null\x2C 0\x2C buffer);\x0d\n });\x0d\n }\x0d\n\x0d\n if (buffer.byteLength === 0) {\x0d\n throw new ERR_INVALID_ARG_VALUE('buffer'\x2C buffer\x2C\x0d\n 'is empty and cannot be written');\x0d\n }\x0d\n\x0d\n validateOffsetLengthRead(offset\x2C length\x2C buffer.byteLength);\x0d\n\x0d\n if (position == null)\x0d\n position = -1;\x0d\n\x0d\n validatePosition(position\x2C 'position');\x0d\n\x0d\n function wrapper(err\x2C bytesRead) {\x0d\n // Retain a reference to buffer so that it can't be GC'ed too soon.\x0d\n callback(err\x2C bytesRead || 0\x2C buffer);\x0d\n }\x0d\n\x0d\n const req = new FSReqCallback();\x0d\n req.oncomplete = wrapper;\x0d\n\x0d\n binding.read(fd\x2C buffer\x2C offset\x2C length\x2C position\x2C req);\x0d\n}\x0d\n\x0d\nObjectDefineProperty(read\x2C kCustomPromisifyArgsSymbol\x2C\x0d\n { __proto__: null\x2C value: ['bytesRead'\x2C 'buffer']\x2C enumerable: false });\x0d\n\x0d\n/**\x0d\n * Synchronously reads the file from the\x0d\n * specified `fd` (file descriptor).\x0d\n * @param {number} fd\x0d\n * @param {Buffer | TypedArray | DataView} buffer\x0d\n * @param {number | {\x0d\n * offset?: number;\x0d\n * length?: number;\x0d\n * position?: number | bigint | null;\x0d\n * }} [offsetOrOptions]\x0d\n * @param {number} [length]\x0d\n * @param {number} [position]\x0d\n * @returns {number}\x0d\n */\x0d\nfunction readSync(fd\x2C buffer\x2C offsetOrOptions\x2C length\x2C position) {\x0d\n fd = getValidatedFd(fd);\x0d\n\x0d\n validateBuffer(buffer);\x0d\n\x0d\n let offset = offsetOrOptions;\x0d\n if (arguments.length <= 3 || typeof offsetOrOptions === 'object') {\x0d\n if (offsetOrOptions !== undefined) {\x0d\n validateObject(offsetOrOptions\x2C 'options'\x2C kValidateObjectAllowNullable);\x0d\n }\x0d\n\x0d\n ({\x0d\n offset = 0\x2C\x0d\n length = buffer.byteLength - offset\x2C\x0d\n position = null\x2C\x0d\n } = offsetOrOptions ?? kEmptyObject);\x0d\n }\x0d\n\x0d\n if (offset === undefined) {\x0d\n offset = 0;\x0d\n } else {\x0d\n validateInteger(offset\x2C 'offset'\x2C 0);\x0d\n }\x0d\n\x0d\n length |= 0;\x0d\n\x0d\n if (length === 0) {\x0d\n return 0;\x0d\n }\x0d\n\x0d\n if (buffer.byteLength === 0) {\x0d\n throw new ERR_INVALID_ARG_VALUE('buffer'\x2C buffer\x2C\x0d\n 'is empty and cannot be written');\x0d\n }\x0d\n\x0d\n validateOffsetLengthRead(offset\x2C length\x2C buffer.byteLength);\x0d\n\x0d\n if (position == null)\x0d\n position = -1;\x0d\n\x0d\n validatePosition(position\x2C 'position');\x0d\n\x0d\n return binding.read(fd\x2C buffer\x2C offset\x2C length\x2C position);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Reads file from the specified `fd` (file descriptor)\x0d\n * and writes to an array of `ArrayBufferView`s.\x0d\n * @param {number} fd\x0d\n * @param {ArrayBufferView[]} buffers\x0d\n * @param {number | null} [position]\x0d\n * @param {(\x0d\n * err?: Error\x2C\x0d\n * bytesRead?: number\x2C\x0d\n * buffers?: ArrayBufferView[];\x0d\n * ) => any} callback\x0d\n * @returns {void}\x0d\n */\x0d\nfunction readv(fd\x2C buffers\x2C position\x2C callback) {\x0d\n function wrapper(err\x2C read) {\x0d\n callback(err\x2C read || 0\x2C buffers);\x0d\n }\x0d\n\x0d\n fd = getValidatedFd(fd);\x0d\n validateBufferArray(buffers);\x0d\n callback ||= position;\x0d\n validateFunction(callback\x2C 'cb');\x0d\n\x0d\n const req = new FSReqCallback();\x0d\n req.oncomplete = wrapper;\x0d\n\x0d\n if (typeof position !== 'number')\x0d\n position = null;\x0d\n\x0d\n binding.readBuffers(fd\x2C buffers\x2C position\x2C req);\x0d\n}\x0d\n\x0d\nObjectDefineProperty(readv\x2C kCustomPromisifyArgsSymbol\x2C\x0d\n { __proto__: null\x2C value: ['bytesRead'\x2C 'buffers']\x2C enumerable: false });\x0d\n\x0d\n/**\x0d\n * Synchronously reads file from the\x0d\n * specified `fd` (file descriptor) and writes to an array\x0d\n * of `ArrayBufferView`s.\x0d\n * @param {number} fd\x0d\n * @param {ArrayBufferView[]} buffers\x0d\n * @param {number | null} [position]\x0d\n * @returns {number}\x0d\n */\x0d\nfunction readvSync(fd\x2C buffers\x2C position) {\x0d\n fd = getValidatedFd(fd);\x0d\n validateBufferArray(buffers);\x0d\n\x0d\n if (typeof position !== 'number')\x0d\n position = null;\x0d\n\x0d\n return binding.readBuffers(fd\x2C buffers\x2C position);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Writes `buffer` to the specified `fd` (file descriptor).\x0d\n * @param {number} fd\x0d\n * @param {Buffer | TypedArray | DataView | string} buffer\x0d\n * @param {number | object} [offsetOrOptions]\x0d\n * @param {number} [length]\x0d\n * @param {number | null} [position]\x0d\n * @param {(\x0d\n * err?: Error\x2C\x0d\n * bytesWritten?: number;\x0d\n * buffer?: Buffer | TypedArray | DataView\x0d\n * ) => any} callback\x0d\n * @returns {void}\x0d\n */\x0d\nfunction write(fd\x2C buffer\x2C offsetOrOptions\x2C length\x2C position\x2C callback) {\x0d\n function wrapper(err\x2C written) {\x0d\n // Retain a reference to buffer so that it can't be GC'ed too soon.\x0d\n callback(err\x2C written || 0\x2C buffer);\x0d\n }\x0d\n\x0d\n fd = getValidatedFd(fd);\x0d\n\x0d\n let offset = offsetOrOptions;\x0d\n if (isArrayBufferView(buffer)) {\x0d\n callback ||= position || length || offset;\x0d\n validateFunction(callback\x2C 'cb');\x0d\n\x0d\n if (typeof offset === 'object') {\x0d\n ({\x0d\n offset = 0\x2C\x0d\n length = buffer.byteLength - offset\x2C\x0d\n position = null\x2C\x0d\n } = offsetOrOptions ?? kEmptyObject);\x0d\n }\x0d\n\x0d\n if (offset == null || typeof offset === 'function') {\x0d\n offset = 0;\x0d\n } else {\x0d\n validateInteger(offset\x2C 'offset'\x2C 0);\x0d\n }\x0d\n if (typeof length !== 'number')\x0d\n length = buffer.byteLength - offset;\x0d\n if (typeof position !== 'number')\x0d\n position = null;\x0d\n validateOffsetLengthWrite(offset\x2C length\x2C buffer.byteLength);\x0d\n\x0d\n const req = new FSReqCallback();\x0d\n req.oncomplete = wrapper;\x0d\n binding.writeBuffer(fd\x2C buffer\x2C offset\x2C length\x2C position\x2C req);\x0d\n return;\x0d\n }\x0d\n\x0d\n validateStringAfterArrayBufferView(buffer\x2C 'buffer');\x0d\n\x0d\n if (typeof position !== 'function') {\x0d\n if (typeof offset === 'function') {\x0d\n position = offset;\x0d\n offset = null;\x0d\n } else {\x0d\n position = length;\x0d\n }\x0d\n length = 'utf8';\x0d\n }\x0d\n\x0d\n const str = buffer;\x0d\n validateEncoding(str\x2C length);\x0d\n callback = position;\x0d\n validateFunction(callback\x2C 'cb');\x0d\n\x0d\n const req = new FSReqCallback();\x0d\n req.oncomplete = wrapper;\x0d\n binding.writeString(fd\x2C str\x2C offset\x2C length\x2C req);\x0d\n}\x0d\n\x0d\nObjectDefineProperty(write\x2C kCustomPromisifyArgsSymbol\x2C\x0d\n { __proto__: null\x2C value: ['bytesWritten'\x2C 'buffer']\x2C enumerable: false });\x0d\n\x0d\n/**\x0d\n * Synchronously writes `buffer` to the\x0d\n * specified `fd` (file descriptor).\x0d\n * @param {number} fd\x0d\n * @param {Buffer | TypedArray | DataView | string} buffer\x0d\n * @param {{\x0d\n * offset?: number;\x0d\n * length?: number;\x0d\n * position?: number | null;\x0d\n * }} [offsetOrOptions]\x0d\n * @returns {number}\x0d\n */\x0d\nfunction writeSync(fd\x2C buffer\x2C offsetOrOptions\x2C length\x2C position) {\x0d\n fd = getValidatedFd(fd);\x0d\n const ctx = {};\x0d\n let result;\x0d\n\x0d\n let offset = offsetOrOptions;\x0d\n if (isArrayBufferView(buffer)) {\x0d\n if (typeof offset === 'object') {\x0d\n ({\x0d\n offset = 0\x2C\x0d\n length = buffer.byteLength - offset\x2C\x0d\n position = null\x2C\x0d\n } = offsetOrOptions ?? kEmptyObject);\x0d\n }\x0d\n if (position === undefined)\x0d\n position = null;\x0d\n if (offset == null) {\x0d\n offset = 0;\x0d\n } else {\x0d\n validateInteger(offset\x2C 'offset'\x2C 0);\x0d\n }\x0d\n if (typeof length !== 'number')\x0d\n length = buffer.byteLength - offset;\x0d\n validateOffsetLengthWrite(offset\x2C length\x2C buffer.byteLength);\x0d\n result = binding.writeBuffer(fd\x2C buffer\x2C offset\x2C length\x2C position\x2C\x0d\n undefined\x2C ctx);\x0d\n } else {\x0d\n validateStringAfterArrayBufferView(buffer\x2C 'buffer');\x0d\n validateEncoding(buffer\x2C length);\x0d\n\x0d\n if (offset === undefined)\x0d\n offset = null;\x0d\n result = binding.writeString(fd\x2C buffer\x2C offset\x2C length\x2C\x0d\n undefined\x2C ctx);\x0d\n }\x0d\n handleErrorFromBinding(ctx);\x0d\n return result;\x0d\n}\x0d\n\x0d\n/**\x0d\n * Writes an array of `ArrayBufferView`s to the\x0d\n * specified `fd` (file descriptor).\x0d\n * @param {number} fd\x0d\n * @param {ArrayBufferView[]} buffers\x0d\n * @param {number | null} [position]\x0d\n * @param {(\x0d\n * err?: Error\x2C\x0d\n * bytesWritten?: number\x2C\x0d\n * buffers?: ArrayBufferView[]\x0d\n * ) => any} callback\x0d\n * @returns {void}\x0d\n */\x0d\nfunction writev(fd\x2C buffers\x2C position\x2C callback) {\x0d\n function wrapper(err\x2C written) {\x0d\n callback(err\x2C written || 0\x2C buffers);\x0d\n }\x0d\n\x0d\n fd = getValidatedFd(fd);\x0d\n validateBufferArray(buffers);\x0d\n callback ||= position;\x0d\n validateFunction(callback\x2C 'cb');\x0d\n\x0d\n if (buffers.length === 0) {\x0d\n process.nextTick(callback\x2C null\x2C 0\x2C buffers);\x0d\n return;\x0d\n }\x0d\n\x0d\n const req = new FSReqCallback();\x0d\n req.oncomplete = wrapper;\x0d\n\x0d\n if (typeof position !== 'number')\x0d\n position = null;\x0d\n\x0d\n binding.writeBuffers(fd\x2C buffers\x2C position\x2C req);\x0d\n}\x0d\n\x0d\nObjectDefineProperty(writev\x2C kCustomPromisifyArgsSymbol\x2C {\x0d\n __proto__: null\x2C\x0d\n value: ['bytesWritten'\x2C 'buffer']\x2C\x0d\n enumerable: false\x2C\x0d\n});\x0d\n\x0d\n/**\x0d\n * Synchronously writes an array of `ArrayBufferView`s\x0d\n * to the specified `fd` (file descriptor).\x0d\n * @param {number} fd\x0d\n * @param {ArrayBufferView[]} buffers\x0d\n * @param {number | null} [position]\x0d\n * @returns {number}\x0d\n */\x0d\nfunction writevSync(fd\x2C buffers\x2C position) {\x0d\n fd = getValidatedFd(fd);\x0d\n validateBufferArray(buffers);\x0d\n\x0d\n if (buffers.length === 0) {\x0d\n return 0;\x0d\n }\x0d\n\x0d\n if (typeof position !== 'number')\x0d\n position = null;\x0d\n\x0d\n return binding.writeBuffers(fd\x2C buffers\x2C position);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Asynchronously renames file at `oldPath` to\x0d\n * the pathname provided as `newPath`.\x0d\n * @param {string | Buffer | URL} oldPath\x0d\n * @param {string | Buffer | URL} newPath\x0d\n * @param {(err?: Error) => any} callback\x0d\n * @returns {void}\x0d\n */\x0d\nfunction rename(oldPath\x2C newPath\x2C callback) {\x0d\n callback = makeCallback(callback);\x0d\n oldPath = getValidatedPath(oldPath\x2C 'oldPath');\x0d\n newPath = getValidatedPath(newPath\x2C 'newPath');\x0d\n const req = new FSReqCallback();\x0d\n req.oncomplete = callback;\x0d\n binding.rename(pathModule.toNamespacedPath(oldPath)\x2C\x0d\n pathModule.toNamespacedPath(newPath)\x2C\x0d\n req);\x0d\n}\x0d\n\x0d\n\x0d\n/**\x0d\n * Synchronously renames file at `oldPath` to\x0d\n * the pathname provided as `newPath`.\x0d\n * @param {string | Buffer | URL} oldPath\x0d\n * @param {string | Buffer | URL} newPath\x0d\n * @returns {void}\x0d\n */\x0d\nfunction renameSync(oldPath\x2C newPath) {\x0d\n oldPath = getValidatedPath(oldPath\x2C 'oldPath');\x0d\n newPath = getValidatedPath(newPath\x2C 'newPath');\x0d\n binding.rename(\x0d\n pathModule.toNamespacedPath(oldPath)\x2C\x0d\n pathModule.toNamespacedPath(newPath)\x2C\x0d\n );\x0d\n}\x0d\n\x0d\n/**\x0d\n * Truncates the file.\x0d\n * @param {string | Buffer | URL} path\x0d\n * @param {number} [len]\x0d\n * @param {(err?: Error) => any} callback\x0d\n * @returns {void}\x0d\n */\x0d\nfunction truncate(path\x2C len\x2C callback) {\x0d\n if (typeof path === 'number') {\x0d\n showTruncateDeprecation();\x0d\n return fs.ftruncate(path\x2C len\x2C callback);\x0d\n }\x0d\n if (typeof len === 'function') {\x0d\n callback = len;\x0d\n len = 0;\x0d\n } else if (len === undefined) {\x0d\n len = 0;\x0d\n }\x0d\n\x0d\n validateInteger(len\x2C 'len');\x0d\n len = MathMax(0\x2C len);\x0d\n validateFunction(callback\x2C 'cb');\x0d\n fs.open(path\x2C 'r+'\x2C (er\x2C fd) => {\x0d\n if (er) return callback(er);\x0d\n const req = new FSReqCallback();\x0d\n req.oncomplete = function oncomplete(er) {\x0d\n fs.close(fd\x2C (er2) => {\x0d\n callback(aggregateTwoErrors(er2\x2C er));\x0d\n });\x0d\n };\x0d\n binding.ftruncate(fd\x2C len\x2C req);\x0d\n });\x0d\n}\x0d\n\x0d\n/**\x0d\n * Synchronously truncates the file.\x0d\n * @param {string | Buffer | URL} path\x0d\n * @param {number} [len]\x0d\n * @returns {void}\x0d\n */\x0d\nfunction truncateSync(path\x2C len) {\x0d\n if (typeof path === 'number') {\x0d\n // legacy\x0d\n showTruncateDeprecation();\x0d\n return fs.ftruncateSync(path\x2C len);\x0d\n }\x0d\n if (len === undefined) {\x0d\n len = 0;\x0d\n }\x0d\n // Allow error to be thrown\x2C but still close fd.\x0d\n const fd = fs.openSync(path\x2C 'r+');\x0d\n let ret;\x0d\n\x0d\n try {\x0d\n ret = fs.ftruncateSync(fd\x2C len);\x0d\n } finally {\x0d\n fs.closeSync(fd);\x0d\n }\x0d\n return ret;\x0d\n}\x0d\n\x0d\n/**\x0d\n * Truncates the file descriptor.\x0d\n * @param {number} fd\x0d\n * @param {number} [len]\x0d\n * @param {(err?: Error) => any} callback\x0d\n * @returns {void}\x0d\n */\x0d\nfunction ftruncate(fd\x2C len = 0\x2C callback) {\x0d\n if (typeof len === 'function') {\x0d\n callback = len;\x0d\n len = 0;\x0d\n }\x0d\n validateInteger(len\x2C 'len');\x0d\n len = MathMax(0\x2C len);\x0d\n callback = makeCallback(callback);\x0d\n\x0d\n const req = new FSReqCallback();\x0d\n req.oncomplete = callback;\x0d\n binding.ftruncate(fd\x2C len\x2C req);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Synchronously truncates the file descriptor.\x0d\n * @param {number} fd\x0d\n * @param {number} [len]\x0d\n * @returns {void}\x0d\n */\x0d\nfunction ftruncateSync(fd\x2C len = 0) {\x0d\n validateInteger(len\x2C 'len');\x0d\n len = MathMax(0\x2C len);\x0d\n binding.ftruncate(fd\x2C len);\x0d\n}\x0d\n\x0d\nfunction lazyLoadCp() {\x0d\n if (cpFn === undefined) {\x0d\n ({ cpFn } = require('internal/fs/cp/cp'));\x0d\n cpFn = require('util').callbackify(cpFn);\x0d\n ({ cpSyncFn } = require('internal/fs/cp/cp-sync'));\x0d\n }\x0d\n}\x0d\n\x0d\nfunction lazyLoadRimraf() {\x0d\n if (rimraf === undefined)\x0d\n ({ rimraf\x2C rimrafSync } = require('internal/fs/rimraf'));\x0d\n}\x0d\n\x0d\n/**\x0d\n * Asynchronously removes a directory.\x0d\n * @param {string | Buffer | URL} path\x0d\n * @param {{\x0d\n * maxRetries?: number;\x0d\n * recursive?: boolean;\x0d\n * retryDelay?: number;\x0d\n * }} [options]\x0d\n * @param {(err?: Error) => any} callback\x0d\n * @returns {void}\x0d\n */\x0d\nfunction rmdir(path\x2C options\x2C callback) {\x0d\n if (typeof options === 'function') {\x0d\n callback = options;\x0d\n options = undefined;\x0d\n }\x0d\n\x0d\n callback = makeCallback(callback);\x0d\n path = pathModule.toNamespacedPath(getValidatedPath(path));\x0d\n\x0d\n if (options?.recursive) {\x0d\n emitRecursiveRmdirWarning();\x0d\n validateRmOptions(\x0d\n path\x2C\x0d\n { ...options\x2C force: false }\x2C\x0d\n true\x2C\x0d\n (err\x2C options) => {\x0d\n if (err === false) {\x0d\n const req = new FSReqCallback();\x0d\n req.oncomplete = callback;\x0d\n binding.rmdir(path\x2C req);\x0d\n return;\x0d\n }\x0d\n if (err) {\x0d\n return callback(err);\x0d\n }\x0d\n\x0d\n lazyLoadRimraf();\x0d\n rimraf(path\x2C options\x2C callback);\x0d\n });\x0d\n } else {\x0d\n validateRmdirOptions(options);\x0d\n const req = new FSReqCallback();\x0d\n req.oncomplete = callback;\x0d\n binding.rmdir(path\x2C req);\x0d\n }\x0d\n}\x0d\n\x0d\n/**\x0d\n * Synchronously removes a directory.\x0d\n * @param {string | Buffer | URL} path\x0d\n * @param {{\x0d\n * maxRetries?: number;\x0d\n * recursive?: boolean;\x0d\n * retryDelay?: number;\x0d\n * }} [options]\x0d\n * @returns {void}\x0d\n */\x0d\nfunction rmdirSync(path\x2C options) {\x0d\n path = getValidatedPath(path);\x0d\n\x0d\n if (options?.recursive) {\x0d\n emitRecursiveRmdirWarning();\x0d\n options = validateRmOptionsSync(path\x2C { ...options\x2C force: false }\x2C true);\x0d\n if (options !== false) {\x0d\n lazyLoadRimraf();\x0d\n return rimrafSync(pathModule.toNamespacedPath(path)\x2C options);\x0d\n }\x0d\n } else {\x0d\n validateRmdirOptions(options);\x0d\n }\x0d\n\x0d\n binding.rmdir(pathModule.toNamespacedPath(path));\x0d\n}\x0d\n\x0d\n/**\x0d\n * Asynchronously removes files and\x0d\n * directories (modeled on the standard POSIX `rm` utility).\x0d\n * @param {string | Buffer | URL} path\x0d\n * @param {{\x0d\n * force?: boolean;\x0d\n * maxRetries?: number;\x0d\n * recursive?: boolean;\x0d\n * retryDelay?: number;\x0d\n * }} [options]\x0d\n * @param {(err?: Error) => any} callback\x0d\n * @returns {void}\x0d\n */\x0d\nfunction rm(path\x2C options\x2C callback) {\x0d\n if (typeof options === 'function') {\x0d\n callback = options;\x0d\n options = undefined;\x0d\n }\x0d\n path = getValidatedPath(path);\x0d\n\x0d\n validateRmOptions(path\x2C options\x2C false\x2C (err\x2C options) => {\x0d\n if (err) {\x0d\n return callback(err);\x0d\n }\x0d\n lazyLoadRimraf();\x0d\n return rimraf(pathModule.toNamespacedPath(path)\x2C options\x2C callback);\x0d\n });\x0d\n}\x0d\n\x0d\n/**\x0d\n * Synchronously removes files and\x0d\n * directories (modeled on the standard POSIX `rm` utility).\x0d\n * @param {string | Buffer | URL} path\x0d\n * @param {{\x0d\n * force?: boolean;\x0d\n * maxRetries?: number;\x0d\n * recursive?: boolean;\x0d\n * retryDelay?: number;\x0d\n * }} [options]\x0d\n * @returns {void}\x0d\n */\x0d\nfunction rmSync(path\x2C options) {\x0d\n path = getValidatedPath(path);\x0d\n options = validateRmOptionsSync(path\x2C options\x2C false);\x0d\n\x0d\n lazyLoadRimraf();\x0d\n return rimrafSync(pathModule.toNamespacedPath(path)\x2C options);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Forces all currently queued I/O operations associated\x0d\n * with the file to the operating system's synchronized\x0d\n * I/O completion state.\x0d\n * @param {number} fd\x0d\n * @param {(err?: Error) => any} callback\x0d\n * @returns {void}\x0d\n */\x0d\nfunction fdatasync(fd\x2C callback) {\x0d\n const req = new FSReqCallback();\x0d\n req.oncomplete = makeCallback(callback);\x0d\n binding.fdatasync(fd\x2C req);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Synchronously forces all currently queued I/O operations\x0d\n * associated with the file to the operating\x0d\n * system's synchronized I/O completion state.\x0d\n * @param {number} fd\x0d\n * @returns {void}\x0d\n */\x0d\nfunction fdatasyncSync(fd) {\x0d\n binding.fdatasync(fd);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Requests for all data for the open file descriptor\x0d\n * to be flushed to the storage device.\x0d\n * @param {number} fd\x0d\n * @param {(err?: Error) => any} callback\x0d\n * @returns {void}\x0d\n */\x0d\nfunction fsync(fd\x2C callback) {\x0d\n const req = new FSReqCallback();\x0d\n req.oncomplete = makeCallback(callback);\x0d\n binding.fsync(fd\x2C req);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Synchronously requests for all data for the open\x0d\n * file descriptor to be flushed to the storage device.\x0d\n * @param {number} fd\x0d\n * @returns {void}\x0d\n */\x0d\nfunction fsyncSync(fd) {\x0d\n binding.fsync(fd);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Asynchronously creates a directory.\x0d\n * @param {string | Buffer | URL} path\x0d\n * @param {{\x0d\n * recursive?: boolean;\x0d\n * mode?: string | number;\x0d\n * } | number} [options]\x0d\n * @param {(err?: Error) => any} callback\x0d\n * @returns {void}\x0d\n */\x0d\nfunction mkdir(path\x2C options\x2C callback) {\x0d\n let mode = 0o777;\x0d\n let recursive = false;\x0d\n if (typeof options === 'function') {\x0d\n callback = options;\x0d\n } else if (typeof options === 'number' || typeof options === 'string') {\x0d\n mode = options;\x0d\n } else if (options) {\x0d\n if (options.recursive !== undefined)\x0d\n recursive = options.recursive;\x0d\n if (options.mode !== undefined)\x0d\n mode = options.mode;\x0d\n }\x0d\n callback = makeCallback(callback);\x0d\n path = getValidatedPath(path);\x0d\n\x0d\n validateBoolean(recursive\x2C 'options.recursive');\x0d\n\x0d\n const req = new FSReqCallback();\x0d\n req.oncomplete = callback;\x0d\n binding.mkdir(pathModule.toNamespacedPath(path)\x2C\x0d\n parseFileMode(mode\x2C 'mode')\x2C recursive\x2C req);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Synchronously creates a directory.\x0d\n * @param {string | Buffer | URL} path\x0d\n * @param {{\x0d\n * recursive?: boolean;\x0d\n * mode?: string | number;\x0d\n * } | number} [options]\x0d\n * @returns {string | void}\x0d\n */\x0d\nfunction mkdirSync(path\x2C options) {\x0d\n let mode = 0o777;\x0d\n let recursive = false;\x0d\n if (typeof options === 'number' || typeof options === 'string') {\x0d\n mode = options;\x0d\n } else if (options) {\x0d\n if (options.recursive !== undefined)\x0d\n recursive = options.recursive;\x0d\n if (options.mode !== undefined)\x0d\n mode = options.mode;\x0d\n }\x0d\n path = getValidatedPath(path);\x0d\n validateBoolean(recursive\x2C 'options.recursive');\x0d\n\x0d\n const result = binding.mkdir(\x0d\n pathModule.toNamespacedPath(path)\x2C\x0d\n parseFileMode(mode\x2C 'mode')\x2C\x0d\n recursive\x2C\x0d\n );\x0d\n\x0d\n if (recursive) {\x0d\n return result;\x0d\n }\x0d\n}\x0d\n\x0d\n/**\x0d\n * An iterative algorithm for reading the entire contents of the `basePath` directory.\x0d\n * This function does not validate `basePath` as a directory. It is passed directly to\x0d\n * `binding.readdir`.\x0d\n * @param {string} basePath\x0d\n * @param {{ encoding: string\x2C withFileTypes: boolean }} options\x0d\n * @returns {string[] | Dirent[]}\x0d\n */\x0d\nfunction readdirSyncRecursive(basePath\x2C options) {\x0d\n const withFileTypes = Boolean(options.withFileTypes);\x0d\n const encoding = options.encoding;\x0d\n\x0d\n const readdirResults = [];\x0d\n const pathsQueue = [basePath];\x0d\n\x0d\n function read(path) {\x0d\n const readdirResult = binding.readdir(\x0d\n pathModule.toNamespacedPath(path)\x2C\x0d\n encoding\x2C\x0d\n withFileTypes\x2C\x0d\n );\x0d\n\x0d\n if (readdirResult === undefined) {\x0d\n return;\x0d\n }\x0d\n\x0d\n if (withFileTypes) {\x0d\n // Calling `readdir` with `withFileTypes=true`\x2C the result is an array of arrays.\x0d\n // The first array is the names\x2C and the second array is the types.\x0d\n // They are guaranteed to be the same length; hence\x2C setting `length` to the length\x0d\n // of the first array within the result.\x0d\n const length = readdirResult[0].length;\x0d\n for (let i = 0; i < length; i++) {\x0d\n const dirent = getDirent(path\x2C readdirResult[0][i]\x2C readdirResult[1][i]);\x0d\n ArrayPrototypePush(readdirResults\x2C dirent);\x0d\n if (dirent.isDirectory()) {\x0d\n ArrayPrototypePush(pathsQueue\x2C pathModule.join(dirent.parentPath\x2C dirent.name));\x0d\n }\x0d\n }\x0d\n } else {\x0d\n for (let i = 0; i < readdirResult.length; i++) {\x0d\n const resultPath = pathModule.join(path\x2C readdirResult[i]);\x0d\n const relativeResultPath = pathModule.relative(basePath\x2C resultPath);\x0d\n const stat = binding.internalModuleStat(resultPath);\x0d\n ArrayPrototypePush(readdirResults\x2C relativeResultPath);\x0d\n // 1 indicates directory\x0d\n if (stat === 1) {\x0d\n ArrayPrototypePush(pathsQueue\x2C resultPath);\x0d\n }\x0d\n }\x0d\n }\x0d\n }\x0d\n\x0d\n for (let i = 0; i < pathsQueue.length; i++) {\x0d\n read(pathsQueue[i]);\x0d\n }\x0d\n\x0d\n return readdirResults;\x0d\n}\x0d\n\x0d\n/**\x0d\n * Reads the contents of a directory.\x0d\n * @param {string | Buffer | URL} path\x0d\n * @param {string | {\x0d\n * encoding?: string;\x0d\n * withFileTypes?: boolean;\x0d\n * recursive?: boolean;\x0d\n * }} [options]\x0d\n * @param {(\x0d\n * err?: Error\x2C\x0d\n * files?: string[] | Buffer[] | Dirent[];\x0d\n * ) => any} callback\x0d\n * @returns {void}\x0d\n */\x0d\nfunction readdir(path\x2C options\x2C callback) {\x0d\n callback = makeCallback(typeof options === 'function' ? options : callback);\x0d\n options = getOptions(options);\x0d\n path = getValidatedPath(path);\x0d\n if (options.recursive != null) {\x0d\n validateBoolean(options.recursive\x2C 'options.recursive');\x0d\n }\x0d\n\x0d\n if (options.recursive) {\x0d\n callback(null\x2C readdirSyncRecursive(path\x2C options));\x0d\n return;\x0d\n }\x0d\n\x0d\n const req = new FSReqCallback();\x0d\n if (!options.withFileTypes) {\x0d\n req.oncomplete = callback;\x0d\n } else {\x0d\n req.oncomplete = (err\x2C result) => {\x0d\n if (err) {\x0d\n callback(err);\x0d\n return;\x0d\n }\x0d\n getDirents(path\x2C result\x2C callback);\x0d\n };\x0d\n }\x0d\n binding.readdir(pathModule.toNamespacedPath(path)\x2C options.encoding\x2C\x0d\n !!options.withFileTypes\x2C req);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Synchronously reads the contents of a directory.\x0d\n * @param {string | Buffer | URL} path\x0d\n * @param {string | {\x0d\n * encoding?: string;\x0d\n * withFileTypes?: boolean;\x0d\n * recursive?: boolean;\x0d\n * }} [options]\x0d\n * @returns {string | Buffer[] | Dirent[]}\x0d\n */\x0d\nfunction readdirSync(path\x2C options) {\x0d\n options = getOptions(options);\x0d\n path = getValidatedPath(path);\x0d\n if (options.recursive != null) {\x0d\n validateBoolean(options.recursive\x2C 'options.recursive');\x0d\n }\x0d\n\x0d\n if (options.recursive) {\x0d\n return readdirSyncRecursive(path\x2C options);\x0d\n }\x0d\n\x0d\n const result = binding.readdir(\x0d\n pathModule.toNamespacedPath(path)\x2C\x0d\n options.encoding\x2C\x0d\n !!options.withFileTypes\x2C\x0d\n );\x0d\n\x0d\n return result !== undefined && options.withFileTypes ? getDirents(path\x2C result) : result;\x0d\n}\x0d\n\x0d\n/**\x0d\n * Invokes the callback with the `fs.Stats`\x0d\n * for the file descriptor.\x0d\n * @param {number} fd\x0d\n * @param {{ bigint?: boolean; }} [options]\x0d\n * @param {(\x0d\n * err?: Error\x2C\x0d\n * stats?: Stats\x0d\n * ) => any} callback\x0d\n * @returns {void}\x0d\n */\x0d\nfunction fstat(fd\x2C options = { bigint: false }\x2C callback) {\x0d\n if (typeof options === 'function') {\x0d\n callback = options;\x0d\n options = kEmptyObject;\x0d\n }\x0d\n callback = makeStatsCallback(callback);\x0d\n\x0d\n const req = new FSReqCallback(options.bigint);\x0d\n req.oncomplete = callback;\x0d\n binding.fstat(fd\x2C options.bigint\x2C req);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Retrieves the `fs.Stats` for the symbolic link\x0d\n * referred to by the `path`.\x0d\n * @param {string | Buffer | URL} path\x0d\n * @param {{ bigint?: boolean; }} [options]\x0d\n * @param {(\x0d\n * err?: Error\x2C\x0d\n * stats?: Stats\x0d\n * ) => any} callback\x0d\n * @returns {void}\x0d\n */\x0d\nfunction lstat(path\x2C options = { bigint: false }\x2C callback) {\x0d\n if (typeof options === 'function') {\x0d\n callback = options;\x0d\n options = kEmptyObject;\x0d\n }\x0d\n callback = makeStatsCallback(callback);\x0d\n path = getValidatedPath(path);\x0d\n if (permission.isEnabled() && !permission.has('fs.read'\x2C path)) {\x0d\n callback(new ERR_ACCESS_DENIED('Access to this API has been restricted'\x2C 'FileSystemRead'\x2C path));\x0d\n return;\x0d\n }\x0d\n\x0d\n const req = new FSReqCallback(options.bigint);\x0d\n req.oncomplete = callback;\x0d\n binding.lstat(pathModule.toNamespacedPath(path)\x2C options.bigint\x2C req);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Asynchronously gets the stats of a file.\x0d\n * @param {string | Buffer | URL} path\x0d\n * @param {{ bigint?: boolean; }} [options]\x0d\n * @param {(\x0d\n * err?: Error\x2C\x0d\n * stats?: Stats\x0d\n * ) => any} callback\x0d\n * @returns {void}\x0d\n */\x0d\nfunction stat(path\x2C options = { bigint: false }\x2C callback) {\x0d\n if (typeof options === 'function') {\x0d\n callback = options;\x0d\n options = kEmptyObject;\x0d\n }\x0d\n callback = makeStatsCallback(callback);\x0d\n path = getValidatedPath(path);\x0d\n\x0d\n const req = new FSReqCallback(options.bigint);\x0d\n req.oncomplete = callback;\x0d\n binding.stat(pathModule.toNamespacedPath(path)\x2C options.bigint\x2C req);\x0d\n}\x0d\n\x0d\nfunction statfs(path\x2C options = { bigint: false }\x2C callback) {\x0d\n if (typeof options === 'function') {\x0d\n callback = options;\x0d\n options = kEmptyObject;\x0d\n }\x0d\n validateFunction(callback\x2C 'cb');\x0d\n path = getValidatedPath(path);\x0d\n const req = new FSReqCallback(options.bigint);\x0d\n req.oncomplete = (err\x2C stats) => {\x0d\n if (err) {\x0d\n return callback(err);\x0d\n }\x0d\n\x0d\n callback(err\x2C getStatFsFromBinding(stats));\x0d\n };\x0d\n binding.statfs(pathModule.toNamespacedPath(path)\x2C options.bigint\x2C req);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Synchronously retrieves the `fs.Stats` for\x0d\n * the file descriptor.\x0d\n * @param {number} fd\x0d\n * @param {{\x0d\n * bigint?: boolean;\x0d\n * }} [options]\x0d\n * @returns {Stats | undefined}\x0d\n */\x0d\nfunction fstatSync(fd\x2C options = { bigint: false }) {\x0d\n const stats = binding.fstat(fd\x2C options.bigint\x2C undefined\x2C false);\x0d\n if (stats === undefined) {\x0d\n return;\x0d\n }\x0d\n return getStatsFromBinding(stats);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Synchronously retrieves the `fs.Stats` for\x0d\n * the symbolic link referred to by the `path`.\x0d\n * @param {string | Buffer | URL} path\x0d\n * @param {{\x0d\n * bigint?: boolean;\x0d\n * throwIfNoEntry?: boolean;\x0d\n * }} [options]\x0d\n * @returns {Stats | undefined}\x0d\n */\x0d\nfunction lstatSync(path\x2C options = { bigint: false\x2C throwIfNoEntry: true }) {\x0d\n path = getValidatedPath(path);\x0d\n if (permission.isEnabled() && !permission.has('fs.read'\x2C path)) {\x0d\n throw new ERR_ACCESS_DENIED('Access to this API has been restricted'\x2C 'FileSystemRead'\x2C path);\x0d\n }\x0d\n const stats = binding.lstat(\x0d\n pathModule.toNamespacedPath(path)\x2C\x0d\n options.bigint\x2C\x0d\n undefined\x2C\x0d\n options.throwIfNoEntry\x2C\x0d\n );\x0d\n\x0d\n if (stats === undefined) {\x0d\n return;\x0d\n }\x0d\n return getStatsFromBinding(stats);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Synchronously retrieves the `fs.Stats`\x0d\n * for the `path`.\x0d\n * @param {string | Buffer | URL} path\x0d\n * @param {{\x0d\n * bigint?: boolean;\x0d\n * throwIfNoEntry?: boolean;\x0d\n * }} [options]\x0d\n * @returns {Stats}\x0d\n */\x0d\nfunction statSync(path\x2C options = { bigint: false\x2C throwIfNoEntry: true }) {\x0d\n path = getValidatedPath(path);\x0d\n const stats = binding.stat(\x0d\n pathModule.toNamespacedPath(path)\x2C\x0d\n options.bigint\x2C\x0d\n undefined\x2C\x0d\n options.throwIfNoEntry\x2C\x0d\n );\x0d\n if (stats === undefined) {\x0d\n return undefined;\x0d\n }\x0d\n return getStatsFromBinding(stats);\x0d\n}\x0d\n\x0d\nfunction statfsSync(path\x2C options = { bigint: false }) {\x0d\n path = getValidatedPath(path);\x0d\n const stats = binding.statfs(pathModule.toNamespacedPath(path)\x2C options.bigint);\x0d\n return getStatFsFromBinding(stats);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Reads the contents of a symbolic link\x0d\n * referred to by `path`.\x0d\n * @param {string | Buffer | URL} path\x0d\n * @param {{ encoding?: string; } | string} [options]\x0d\n * @param {(\x0d\n * err?: Error\x2C\x0d\n * linkString?: string | Buffer\x0d\n * ) => any} callback\x0d\n * @returns {void}\x0d\n */\x0d\nfunction readlink(path\x2C options\x2C callback) {\x0d\n callback = makeCallback(typeof options === 'function' ? options : callback);\x0d\n options = getOptions(options);\x0d\n path = getValidatedPath(path\x2C 'oldPath');\x0d\n const req = new FSReqCallback();\x0d\n req.oncomplete = callback;\x0d\n binding.readlink(pathModule.toNamespacedPath(path)\x2C options.encoding\x2C req);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Synchronously reads the contents of a symbolic link\x0d\n * referred to by `path`.\x0d\n * @param {string | Buffer | URL} path\x0d\n * @param {{ encoding?: string; } | string} [options]\x0d\n * @returns {string | Buffer}\x0d\n */\x0d\nfunction readlinkSync(path\x2C options) {\x0d\n options = getOptions(options);\x0d\n path = getValidatedPath(path\x2C 'oldPath');\x0d\n return binding.readlink(\x0d\n pathModule.toNamespacedPath(path)\x2C\x0d\n options.encoding\x2C\x0d\n );\x0d\n}\x0d\n\x0d\n/**\x0d\n * Creates the link called `path` pointing to `target`.\x0d\n * @param {string | Buffer | URL} target\x0d\n * @param {string | Buffer | URL} path\x0d\n * @param {string | null} [type_]\x0d\n * @param {(err?: Error) => any} callback_\x0d\n * @returns {void}\x0d\n */\x0d\nfunction symlink(target\x2C path\x2C type_\x2C callback_) {\x0d\n const type = (typeof type_ === 'string' ? type_ : null);\x0d\n const callback = makeCallback(arguments[arguments.length - 1]);\x0d\n\x0d\n if (permission.isEnabled()) {\x0d\n // The permission model's security guarantees fall apart in the presence of\x0d\n // relative symbolic links. Thus\x2C we have to prevent their creation.\x0d\n if (BufferIsBuffer(target)) {\x0d\n if (!isAbsolute(BufferToString(target))) {\x0d\n callback(new ERR_ACCESS_DENIED('relative symbolic link target'));\x0d\n return;\x0d\n }\x0d\n } else if (typeof target !== 'string' || !isAbsolute(toPathIfFileURL(target))) {\x0d\n callback(new ERR_ACCESS_DENIED('relative symbolic link target'));\x0d\n return;\x0d\n }\x0d\n }\x0d\n\x0d\n target = getValidatedPath(target\x2C 'target');\x0d\n path = getValidatedPath(path);\x0d\n\x0d\n if (isWindows && type === null) {\x0d\n let absoluteTarget;\x0d\n try {\x0d\n // Symlinks targets can be relative to the newly created path.\x0d\n // Calculate absolute file name of the symlink target\x2C and check\x0d\n // if it is a directory. Ignore resolve error to keep symlink\x0d\n // errors consistent between platforms if invalid path is\x0d\n // provided.\x0d\n absoluteTarget = pathModule.resolve(path\x2C '..'\x2C target);\x0d\n } catch {\x0d\n // Continue regardless of error.\x0d\n }\x0d\n if (absoluteTarget !== undefined) {\x0d\n stat(absoluteTarget\x2C (err\x2C stat) => {\x0d\n const resolvedType = !err && stat.isDirectory() ? 'dir' : 'file';\x0d\n const resolvedFlags = stringToSymlinkType(resolvedType);\x0d\n const destination = preprocessSymlinkDestination(target\x2C\x0d\n resolvedType\x2C\x0d\n path);\x0d\n\x0d\n const req = new FSReqCallback();\x0d\n req.oncomplete = callback;\x0d\n binding.symlink(destination\x2C\x0d\n pathModule.toNamespacedPath(path)\x2C resolvedFlags\x2C req);\x0d\n });\x0d\n return;\x0d\n }\x0d\n }\x0d\n\x0d\n const destination = preprocessSymlinkDestination(target\x2C type\x2C path);\x0d\n\x0d\n const flags = stringToSymlinkType(type);\x0d\n const req = new FSReqCallback();\x0d\n req.oncomplete = callback;\x0d\n binding.symlink(destination\x2C pathModule.toNamespacedPath(path)\x2C flags\x2C req);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Synchronously creates the link called `path`\x0d\n * pointing to `target`.\x0d\n * @param {string | Buffer | URL} target\x0d\n * @param {string | Buffer | URL} path\x0d\n * @param {string | null} [type]\x0d\n * @returns {void}\x0d\n */\x0d\nfunction symlinkSync(target\x2C path\x2C type) {\x0d\n type = (typeof type === 'string' ? type : null);\x0d\n if (isWindows && type === null) {\x0d\n const absoluteTarget = pathModule.resolve(`${path}`\x2C '..'\x2C `${target}`);\x0d\n if (statSync(absoluteTarget\x2C { throwIfNoEntry: false })?.isDirectory()) {\x0d\n type = 'dir';\x0d\n }\x0d\n }\x0d\n\x0d\n if (permission.isEnabled()) {\x0d\n // The permission model's security guarantees fall apart in the presence of\x0d\n // relative symbolic links. Thus\x2C we have to prevent their creation.\x0d\n if (BufferIsBuffer(target)) {\x0d\n if (!isAbsolute(BufferToString(target))) {\x0d\n throw new ERR_ACCESS_DENIED('relative symbolic link target');\x0d\n }\x0d\n } else if (typeof target !== 'string' || !isAbsolute(toPathIfFileURL(target))) {\x0d\n throw new ERR_ACCESS_DENIED('relative symbolic link target');\x0d\n }\x0d\n }\x0d\n\x0d\n target = getValidatedPath(target\x2C 'target');\x0d\n path = getValidatedPath(path);\x0d\n\x0d\n binding.symlink(\x0d\n preprocessSymlinkDestination(target\x2C type\x2C path)\x2C\x0d\n pathModule.toNamespacedPath(path)\x2C\x0d\n stringToSymlinkType(type)\x2C\x0d\n );\x0d\n}\x0d\n\x0d\n/**\x0d\n * Creates a new link from the `existingPath`\x0d\n * to the `newPath`.\x0d\n * @param {string | Buffer | URL} existingPath\x0d\n * @param {string | Buffer | URL} newPath\x0d\n * @param {(err?: Error) => any} callback\x0d\n * @returns {void}\x0d\n */\x0d\nfunction link(existingPath\x2C newPath\x2C callback) {\x0d\n callback = makeCallback(callback);\x0d\n\x0d\n existingPath = getValidatedPath(existingPath\x2C 'existingPath');\x0d\n newPath = getValidatedPath(newPath\x2C 'newPath');\x0d\n\x0d\n const req = new FSReqCallback();\x0d\n req.oncomplete = callback;\x0d\n\x0d\n binding.link(pathModule.toNamespacedPath(existingPath)\x2C\x0d\n pathModule.toNamespacedPath(newPath)\x2C\x0d\n req);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Synchronously creates a new link from the `existingPath`\x0d\n * to the `newPath`.\x0d\n * @param {string | Buffer | URL} existingPath\x0d\n * @param {string | Buffer | URL} newPath\x0d\n * @returns {void}\x0d\n */\x0d\nfunction linkSync(existingPath\x2C newPath) {\x0d\n existingPath = getValidatedPath(existingPath\x2C 'existingPath');\x0d\n newPath = getValidatedPath(newPath\x2C 'newPath');\x0d\n\x0d\n binding.link(\x0d\n pathModule.toNamespacedPath(existingPath)\x2C\x0d\n pathModule.toNamespacedPath(newPath)\x2C\x0d\n );\x0d\n}\x0d\n\x0d\n/**\x0d\n * Asynchronously removes a file or symbolic link.\x0d\n * @param {string | Buffer | URL} path\x0d\n * @param {(err?: Error) => any} callback\x0d\n * @returns {void}\x0d\n */\x0d\nfunction unlink(path\x2C callback) {\x0d\n callback = makeCallback(callback);\x0d\n path = getValidatedPath(path);\x0d\n const req = new FSReqCallback();\x0d\n req.oncomplete = callback;\x0d\n binding.unlink(pathModule.toNamespacedPath(path)\x2C req);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Synchronously removes a file or symbolic link.\x0d\n * @param {string | Buffer | URL} path\x0d\n * @returns {void}\x0d\n */\x0d\nfunction unlinkSync(path) {\x0d\n path = pathModule.toNamespacedPath(getValidatedPath(path));\x0d\n binding.unlink(path);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Sets the permissions on the file.\x0d\n * @param {number} fd\x0d\n * @param {string | number} mode\x0d\n * @param {(err?: Error) => any} callback\x0d\n * @returns {void}\x0d\n */\x0d\nfunction fchmod(fd\x2C mode\x2C callback) {\x0d\n mode = parseFileMode(mode\x2C 'mode');\x0d\n callback = makeCallback(callback);\x0d\n\x0d\n if (permission.isEnabled()) {\x0d\n callback(new ERR_ACCESS_DENIED('fchmod API is disabled when Permission Model is enabled.'));\x0d\n return;\x0d\n }\x0d\n\x0d\n const req = new FSReqCallback();\x0d\n req.oncomplete = callback;\x0d\n binding.fchmod(fd\x2C mode\x2C req);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Synchronously sets the permissions on the file.\x0d\n * @param {number} fd\x0d\n * @param {string | number} mode\x0d\n * @returns {void}\x0d\n */\x0d\nfunction fchmodSync(fd\x2C mode) {\x0d\n if (permission.isEnabled()) {\x0d\n throw new ERR_ACCESS_DENIED('fchmod API is disabled when Permission Model is enabled.');\x0d\n }\x0d\n binding.fchmod(\x0d\n fd\x2C\x0d\n parseFileMode(mode\x2C 'mode')\x2C\x0d\n );\x0d\n}\x0d\n\x0d\n/**\x0d\n * Changes the permissions on a symbolic link.\x0d\n * @param {string | Buffer | URL} path\x0d\n * @param {number} mode\x0d\n * @param {(err?: Error) => any} callback\x0d\n * @returns {void}\x0d\n */\x0d\nfunction lchmod(path\x2C mode\x2C callback) {\x0d\n validateFunction(callback\x2C 'cb');\x0d\n mode = parseFileMode(mode\x2C 'mode');\x0d\n fs.open(path\x2C O_WRONLY | O_SYMLINK\x2C (err\x2C fd) => {\x0d\n if (err) {\x0d\n callback(err);\x0d\n return;\x0d\n }\x0d\n // Prefer to return the chmod error\x2C if one occurs\x2C\x0d\n // but still try to close\x2C and report closing errors if they occur.\x0d\n fs.fchmod(fd\x2C mode\x2C (err) => {\x0d\n fs.close(fd\x2C (err2) => {\x0d\n callback(aggregateTwoErrors(err2\x2C err));\x0d\n });\x0d\n });\x0d\n });\x0d\n}\x0d\n\x0d\n/**\x0d\n * Synchronously changes the permissions on a symbolic link.\x0d\n * @param {string | Buffer | URL} path\x0d\n * @param {number} mode\x0d\n * @returns {void}\x0d\n */\x0d\nfunction lchmodSync(path\x2C mode) {\x0d\n const fd = fs.openSync(path\x2C O_WRONLY | O_SYMLINK);\x0d\n\x0d\n // Prefer to return the chmod error\x2C if one occurs\x2C\x0d\n // but still try to close\x2C and report closing errors if they occur.\x0d\n let ret;\x0d\n try {\x0d\n ret = fs.fchmodSync(fd\x2C mode);\x0d\n } finally {\x0d\n fs.closeSync(fd);\x0d\n }\x0d\n return ret;\x0d\n}\x0d\n\x0d\n/**\x0d\n * Asynchronously changes the permissions of a file.\x0d\n * @param {string | Buffer | URL} path\x0d\n * @param {string | number} mode\x0d\n * @param {(err?: Error) => any} callback\x0d\n * @returns {void}\x0d\n */\x0d\nfunction chmod(path\x2C mode\x2C callback) {\x0d\n path = getValidatedPath(path);\x0d\n mode = parseFileMode(mode\x2C 'mode');\x0d\n callback = makeCallback(callback);\x0d\n\x0d\n const req = new FSReqCallback();\x0d\n req.oncomplete = callback;\x0d\n binding.chmod(pathModule.toNamespacedPath(path)\x2C mode\x2C req);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Synchronously changes the permissions of a file.\x0d\n * @param {string | Buffer | URL} path\x0d\n * @param {string | number} mode\x0d\n * @returns {void}\x0d\n */\x0d\nfunction chmodSync(path\x2C mode) {\x0d\n path = getValidatedPath(path);\x0d\n mode = parseFileMode(mode\x2C 'mode');\x0d\n\x0d\n binding.chmod(\x0d\n pathModule.toNamespacedPath(path)\x2C\x0d\n mode\x2C\x0d\n );\x0d\n}\x0d\n\x0d\n/**\x0d\n * Sets the owner of the symbolic link.\x0d\n * @param {string | Buffer | URL} path\x0d\n * @param {number} uid\x0d\n * @param {number} gid\x0d\n * @param {(err?: Error) => any} callback\x0d\n * @returns {void}\x0d\n */\x0d\nfunction lchown(path\x2C uid\x2C gid\x2C callback) {\x0d\n callback = makeCallback(callback);\x0d\n path = getValidatedPath(path);\x0d\n validateInteger(uid\x2C 'uid'\x2C -1\x2C kMaxUserId);\x0d\n validateInteger(gid\x2C 'gid'\x2C -1\x2C kMaxUserId);\x0d\n const req = new FSReqCallback();\x0d\n req.oncomplete = callback;\x0d\n binding.lchown(pathModule.toNamespacedPath(path)\x2C uid\x2C gid\x2C req);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Synchronously sets the owner of the symbolic link.\x0d\n * @param {string | Buffer | URL} path\x0d\n * @param {number} uid\x0d\n * @param {number} gid\x0d\n * @returns {void}\x0d\n */\x0d\nfunction lchownSync(path\x2C uid\x2C gid) {\x0d\n path = getValidatedPath(path);\x0d\n validateInteger(uid\x2C 'uid'\x2C -1\x2C kMaxUserId);\x0d\n validateInteger(gid\x2C 'gid'\x2C -1\x2C kMaxUserId);\x0d\n binding.lchown(\x0d\n pathModule.toNamespacedPath(path)\x2C\x0d\n uid\x2C\x0d\n gid\x2C\x0d\n );\x0d\n}\x0d\n\x0d\n/**\x0d\n * Sets the owner of the file.\x0d\n * @param {number} fd\x0d\n * @param {number} uid\x0d\n * @param {number} gid\x0d\n * @param {(err?: Error) => any} callback\x0d\n * @returns {void}\x0d\n */\x0d\nfunction fchown(fd\x2C uid\x2C gid\x2C callback) {\x0d\n validateInteger(uid\x2C 'uid'\x2C -1\x2C kMaxUserId);\x0d\n validateInteger(gid\x2C 'gid'\x2C -1\x2C kMaxUserId);\x0d\n callback = makeCallback(callback);\x0d\n if (permission.isEnabled()) {\x0d\n callback(new ERR_ACCESS_DENIED('fchown API is disabled when Permission Model is enabled.'));\x0d\n return;\x0d\n }\x0d\n\x0d\n const req = new FSReqCallback();\x0d\n req.oncomplete = callback;\x0d\n binding.fchown(fd\x2C uid\x2C gid\x2C req);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Synchronously sets the owner of the file.\x0d\n * @param {number} fd\x0d\n * @param {number} uid\x0d\n * @param {number} gid\x0d\n * @returns {void}\x0d\n */\x0d\nfunction fchownSync(fd\x2C uid\x2C gid) {\x0d\n validateInteger(uid\x2C 'uid'\x2C -1\x2C kMaxUserId);\x0d\n validateInteger(gid\x2C 'gid'\x2C -1\x2C kMaxUserId);\x0d\n if (permission.isEnabled()) {\x0d\n throw new ERR_ACCESS_DENIED('fchown API is disabled when Permission Model is enabled.');\x0d\n }\x0d\n\x0d\n binding.fchown(fd\x2C uid\x2C gid);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Asynchronously changes the owner and group\x0d\n * of a file.\x0d\n * @param {string | Buffer | URL} path\x0d\n * @param {number} uid\x0d\n * @param {number} gid\x0d\n * @param {(err?: Error) => any} callback\x0d\n * @returns {void}\x0d\n */\x0d\nfunction chown(path\x2C uid\x2C gid\x2C callback) {\x0d\n callback = makeCallback(callback);\x0d\n path = getValidatedPath(path);\x0d\n validateInteger(uid\x2C 'uid'\x2C -1\x2C kMaxUserId);\x0d\n validateInteger(gid\x2C 'gid'\x2C -1\x2C kMaxUserId);\x0d\n\x0d\n const req = new FSReqCallback();\x0d\n req.oncomplete = callback;\x0d\n binding.chown(pathModule.toNamespacedPath(path)\x2C uid\x2C gid\x2C req);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Synchronously changes the owner and group\x0d\n * of a file.\x0d\n * @param {string | Buffer | URL} path\x0d\n * @param {number} uid\x0d\n * @param {number} gid\x0d\n * @returns {void}\x0d\n */\x0d\nfunction chownSync(path\x2C uid\x2C gid) {\x0d\n path = getValidatedPath(path);\x0d\n validateInteger(uid\x2C 'uid'\x2C -1\x2C kMaxUserId);\x0d\n validateInteger(gid\x2C 'gid'\x2C -1\x2C kMaxUserId);\x0d\n binding.chown(\x0d\n pathModule.toNamespacedPath(path)\x2C\x0d\n uid\x2C\x0d\n gid\x2C\x0d\n );\x0d\n}\x0d\n\x0d\n/**\x0d\n * Changes the file system timestamps of the object\x0d\n * referenced by `path`.\x0d\n * @param {string | Buffer | URL} path\x0d\n * @param {number | string | Date} atime\x0d\n * @param {number | string | Date} mtime\x0d\n * @param {(err?: Error) => any} callback\x0d\n * @returns {void}\x0d\n */\x0d\nfunction utimes(path\x2C atime\x2C mtime\x2C callback) {\x0d\n callback = makeCallback(callback);\x0d\n path = getValidatedPath(path);\x0d\n\x0d\n const req = new FSReqCallback();\x0d\n req.oncomplete = callback;\x0d\n binding.utimes(pathModule.toNamespacedPath(path)\x2C\x0d\n toUnixTimestamp(atime)\x2C\x0d\n toUnixTimestamp(mtime)\x2C\x0d\n req);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Synchronously changes the file system timestamps\x0d\n * of the object referenced by `path`.\x0d\n * @param {string | Buffer | URL} path\x0d\n * @param {number | string | Date} atime\x0d\n * @param {number | string | Date} mtime\x0d\n * @returns {void}\x0d\n */\x0d\nfunction utimesSync(path\x2C atime\x2C mtime) {\x0d\n path = getValidatedPath(path);\x0d\n binding.utimes(\x0d\n pathModule.toNamespacedPath(path)\x2C\x0d\n toUnixTimestamp(atime)\x2C\x0d\n toUnixTimestamp(mtime)\x2C\x0d\n );\x0d\n}\x0d\n\x0d\n/**\x0d\n * Changes the file system timestamps of the object\x0d\n * referenced by the supplied `fd` (file descriptor).\x0d\n * @param {number} fd\x0d\n * @param {number | string | Date} atime\x0d\n * @param {number | string | Date} mtime\x0d\n * @param {(err?: Error) => any} callback\x0d\n * @returns {void}\x0d\n */\x0d\nfunction futimes(fd\x2C atime\x2C mtime\x2C callback) {\x0d\n atime = toUnixTimestamp(atime\x2C 'atime');\x0d\n mtime = toUnixTimestamp(mtime\x2C 'mtime');\x0d\n callback = makeCallback(callback);\x0d\n\x0d\n const req = new FSReqCallback();\x0d\n req.oncomplete = callback;\x0d\n binding.futimes(fd\x2C atime\x2C mtime\x2C req);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Synchronously changes the file system timestamps\x0d\n * of the object referenced by the\x0d\n * supplied `fd` (file descriptor).\x0d\n * @param {number} fd\x0d\n * @param {number | string | Date} atime\x0d\n * @param {number | string | Date} mtime\x0d\n * @returns {void}\x0d\n */\x0d\nfunction futimesSync(fd\x2C atime\x2C mtime) {\x0d\n binding.futimes(\x0d\n fd\x2C\x0d\n toUnixTimestamp(atime\x2C 'atime')\x2C\x0d\n toUnixTimestamp(mtime\x2C 'mtime')\x2C\x0d\n );\x0d\n}\x0d\n\x0d\n/**\x0d\n * Changes the access and modification times of\x0d\n * a file in the same way as `fs.utimes()`.\x0d\n * @param {string | Buffer | URL} path\x0d\n * @param {number | string | Date} atime\x0d\n * @param {number | string | Date} mtime\x0d\n * @param {(err?: Error) => any} callback\x0d\n * @returns {void}\x0d\n */\x0d\nfunction lutimes(path\x2C atime\x2C mtime\x2C callback) {\x0d\n callback = makeCallback(callback);\x0d\n path = getValidatedPath(path);\x0d\n\x0d\n const req = new FSReqCallback();\x0d\n req.oncomplete = callback;\x0d\n binding.lutimes(pathModule.toNamespacedPath(path)\x2C\x0d\n toUnixTimestamp(atime)\x2C\x0d\n toUnixTimestamp(mtime)\x2C\x0d\n req);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Synchronously changes the access and modification\x0d\n * times of a file in the same way as `fs.utimesSync()`.\x0d\n * @param {string | Buffer | URL} path\x0d\n * @param {number | string | Date} atime\x0d\n * @param {number | string | Date} mtime\x0d\n * @returns {void}\x0d\n */\x0d\nfunction lutimesSync(path\x2C atime\x2C mtime) {\x0d\n path = getValidatedPath(path);\x0d\n binding.lutimes(\x0d\n pathModule.toNamespacedPath(path)\x2C\x0d\n toUnixTimestamp(atime)\x2C\x0d\n toUnixTimestamp(mtime)\x2C\x0d\n );\x0d\n}\x0d\n\x0d\nfunction writeAll(fd\x2C isUserFd\x2C buffer\x2C offset\x2C length\x2C signal\x2C flush\x2C callback) {\x0d\n if (signal?.aborted) {\x0d\n const abortError = new AbortError(undefined\x2C { cause: signal?.reason });\x0d\n if (isUserFd) {\x0d\n callback(abortError);\x0d\n } else {\x0d\n fs.close(fd\x2C (err) => {\x0d\n callback(aggregateTwoErrors(err\x2C abortError));\x0d\n });\x0d\n }\x0d\n return;\x0d\n }\x0d\n // write(fd\x2C buffer\x2C offset\x2C length\x2C position\x2C callback)\x0d\n fs.write(fd\x2C buffer\x2C offset\x2C length\x2C null\x2C (writeErr\x2C written) => {\x0d\n if (writeErr) {\x0d\n if (isUserFd) {\x0d\n callback(writeErr);\x0d\n } else {\x0d\n fs.close(fd\x2C (err) => {\x0d\n callback(aggregateTwoErrors(err\x2C writeErr));\x0d\n });\x0d\n }\x0d\n } else if (written === length) {\x0d\n if (!flush) {\x0d\n if (isUserFd) {\x0d\n callback(null);\x0d\n } else {\x0d\n fs.close(fd\x2C callback);\x0d\n }\x0d\n } else {\x0d\n fs.fsync(fd\x2C (syncErr) => {\x0d\n if (syncErr) {\x0d\n if (isUserFd) {\x0d\n callback(syncErr);\x0d\n } else {\x0d\n fs.close(fd\x2C (err) => {\x0d\n callback(aggregateTwoErrors(err\x2C syncErr));\x0d\n });\x0d\n }\x0d\n } else if (isUserFd) {\x0d\n callback(null);\x0d\n } else {\x0d\n fs.close(fd\x2C callback);\x0d\n }\x0d\n });\x0d\n }\x0d\n } else {\x0d\n offset += written;\x0d\n length -= written;\x0d\n writeAll(fd\x2C isUserFd\x2C buffer\x2C offset\x2C length\x2C signal\x2C flush\x2C callback);\x0d\n }\x0d\n });\x0d\n}\x0d\n\x0d\n/**\x0d\n * Asynchronously writes data to the file.\x0d\n * @param {string | Buffer | URL | number} path\x0d\n * @param {string | Buffer | TypedArray | DataView} data\x0d\n * @param {{\x0d\n * encoding?: string | null;\x0d\n * mode?: number;\x0d\n * flag?: string;\x0d\n * signal?: AbortSignal;\x0d\n * flush?: boolean;\x0d\n * } | string} [options]\x0d\n * @param {(err?: Error) => any} callback\x0d\n * @returns {void}\x0d\n */\x0d\nfunction writeFile(path\x2C data\x2C options\x2C callback) {\x0d\n callback ||= options;\x0d\n validateFunction(callback\x2C 'cb');\x0d\n options = getOptions(options\x2C {\x0d\n encoding: 'utf8'\x2C\x0d\n mode: 0o666\x2C\x0d\n flag: 'w'\x2C\x0d\n flush: false\x2C\x0d\n });\x0d\n const flag = options.flag || 'w';\x0d\n const flush = options.flush ?? false;\x0d\n\x0d\n validateBoolean(flush\x2C 'options.flush');\x0d\n\x0d\n if (!isArrayBufferView(data)) {\x0d\n validateStringAfterArrayBufferView(data\x2C 'data');\x0d\n data = Buffer.from(data\x2C options.encoding || 'utf8');\x0d\n }\x0d\n\x0d\n if (isFd(path)) {\x0d\n const isUserFd = true;\x0d\n const signal = options.signal;\x0d\n writeAll(path\x2C isUserFd\x2C data\x2C 0\x2C data.byteLength\x2C signal\x2C flush\x2C callback);\x0d\n return;\x0d\n }\x0d\n\x0d\n if (checkAborted(options.signal\x2C callback))\x0d\n return;\x0d\n\x0d\n fs.open(path\x2C flag\x2C options.mode\x2C (openErr\x2C fd) => {\x0d\n if (openErr) {\x0d\n callback(openErr);\x0d\n } else {\x0d\n const isUserFd = false;\x0d\n const signal = options.signal;\x0d\n writeAll(fd\x2C isUserFd\x2C data\x2C 0\x2C data.byteLength\x2C signal\x2C flush\x2C callback);\x0d\n }\x0d\n });\x0d\n}\x0d\n\x0d\n/**\x0d\n * Synchronously writes data to the file.\x0d\n * @param {string | Buffer | URL | number} path\x0d\n * @param {string | Buffer | TypedArray | DataView} data\x0d\n * @param {{\x0d\n * encoding?: string | null;\x0d\n * mode?: number;\x0d\n * flag?: string;\x0d\n * flush?: boolean;\x0d\n * } | string} [options]\x0d\n * @returns {void}\x0d\n */\x0d\nfunction writeFileSync(path\x2C data\x2C options) {\x0d\n options = getOptions(options\x2C {\x0d\n encoding: 'utf8'\x2C\x0d\n mode: 0o666\x2C\x0d\n flag: 'w'\x2C\x0d\n flush: false\x2C\x0d\n });\x0d\n\x0d\n const flush = options.flush ?? false;\x0d\n\x0d\n validateBoolean(flush\x2C 'options.flush');\x0d\n\x0d\n const flag = options.flag || 'w';\x0d\n\x0d\n // C++ fast path for string data and UTF8 encoding\x0d\n if (typeof data === 'string' && (options.encoding === 'utf8' || options.encoding === 'utf-8')) {\x0d\n if (!isInt32(path)) {\x0d\n path = pathModule.toNamespacedPath(getValidatedPath(path));\x0d\n }\x0d\n\x0d\n return binding.writeFileUtf8(\x0d\n path\x2C data\x2C\x0d\n stringToFlags(flag)\x2C\x0d\n parseFileMode(options.mode\x2C 'mode'\x2C 0o666)\x2C\x0d\n );\x0d\n }\x0d\n\x0d\n if (!isArrayBufferView(data)) {\x0d\n validateStringAfterArrayBufferView(data\x2C 'data');\x0d\n data = Buffer.from(data\x2C options.encoding || 'utf8');\x0d\n }\x0d\n\x0d\n const isUserFd = isFd(path); // File descriptor ownership\x0d\n const fd = isUserFd ? path : fs.openSync(path\x2C flag\x2C options.mode);\x0d\n\x0d\n let offset = 0;\x0d\n let length = data.byteLength;\x0d\n try {\x0d\n while (length > 0) {\x0d\n const written = fs.writeSync(fd\x2C data\x2C offset\x2C length);\x0d\n offset += written;\x0d\n length -= written;\x0d\n }\x0d\n\x0d\n if (flush) {\x0d\n fs.fsyncSync(fd);\x0d\n }\x0d\n } finally {\x0d\n if (!isUserFd) fs.closeSync(fd);\x0d\n }\x0d\n}\x0d\n\x0d\n/**\x0d\n * Asynchronously appends data to a file.\x0d\n * @param {string | Buffer | URL | number} path\x0d\n * @param {string | Buffer} data\x0d\n * @param {{\x0d\n * encoding?: string | null;\x0d\n * mode?: number;\x0d\n * flag?: string;\x0d\n * flush?: boolean;\x0d\n * } | string} [options]\x0d\n * @param {(err?: Error) => any} callback\x0d\n * @returns {void}\x0d\n */\x0d\nfunction appendFile(path\x2C data\x2C options\x2C callback) {\x0d\n callback ||= options;\x0d\n validateFunction(callback\x2C 'cb');\x0d\n options = getOptions(options\x2C { encoding: 'utf8'\x2C mode: 0o666\x2C flag: 'a' });\x0d\n\x0d\n // Don't make changes directly on options object\x0d\n options = copyObject(options);\x0d\n\x0d\n // Force append behavior when using a supplied file descriptor\x0d\n if (!options.flag || isFd(path))\x0d\n options.flag = 'a';\x0d\n\x0d\n fs.writeFile(path\x2C data\x2C options\x2C callback);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Synchronously appends data to a file.\x0d\n * @param {string | Buffer | URL | number} path\x0d\n * @param {string | Buffer} data\x0d\n * @param {{\x0d\n * encoding?: string | null;\x0d\n * mode?: number;\x0d\n * flag?: string;\x0d\n * } | string} [options]\x0d\n * @returns {void}\x0d\n */\x0d\nfunction appendFileSync(path\x2C data\x2C options) {\x0d\n options = getOptions(options\x2C { encoding: 'utf8'\x2C mode: 0o666\x2C flag: 'a' });\x0d\n\x0d\n // Don't make changes directly on options object\x0d\n options = copyObject(options);\x0d\n\x0d\n // Force append behavior when using a supplied file descriptor\x0d\n if (!options.flag || isFd(path))\x0d\n options.flag = 'a';\x0d\n\x0d\n fs.writeFileSync(path\x2C data\x2C options);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Watches for the changes on `filename`.\x0d\n * @param {string | Buffer | URL} filename\x0d\n * @param {string | {\x0d\n * persistent?: boolean;\x0d\n * recursive?: boolean;\x0d\n * encoding?: string;\x0d\n * signal?: AbortSignal;\x0d\n * }} [options]\x0d\n * @param {(\x0d\n * eventType?: string\x2C\x0d\n * filename?: string | Buffer\x0d\n * ) => any} [listener]\x0d\n * @returns {watchers.FSWatcher}\x0d\n */\x0d\nfunction watch(filename\x2C options\x2C listener) {\x0d\n if (typeof options === 'function') {\x0d\n listener = options;\x0d\n }\x0d\n options = getOptions(options);\x0d\n\x0d\n // Don't make changes directly on options object\x0d\n options = copyObject(options);\x0d\n\x0d\n if (options.persistent === undefined) options.persistent = true;\x0d\n if (options.recursive === undefined) options.recursive = false;\x0d\n\x0d\n let watcher;\x0d\n const watchers = require('internal/fs/watchers');\x0d\n const path = getValidatedPath(filename);\x0d\n // TODO(anonrig): Remove non-native watcher when/if libuv supports recursive.\x0d\n // As of November 2022\x2C libuv does not support recursive file watch on all platforms\x2C\x0d\n // e.g. Linux due to the limitations of inotify.\x0d\n if (options.recursive && !isOSX && !isWindows) {\x0d\n const nonNativeWatcher = require('internal/fs/recursive_watch');\x0d\n watcher = new nonNativeWatcher.FSWatcher(options);\x0d\n watcher[watchers.kFSWatchStart](path);\x0d\n } else {\x0d\n watcher = new watchers.FSWatcher();\x0d\n watcher[watchers.kFSWatchStart](path\x2C\x0d\n options.persistent\x2C\x0d\n options.recursive\x2C\x0d\n options.encoding);\x0d\n }\x0d\n\x0d\n if (listener) {\x0d\n watcher.addListener('change'\x2C listener);\x0d\n }\x0d\n if (options.signal) {\x0d\n if (options.signal.aborted) {\x0d\n process.nextTick(() => watcher.close());\x0d\n } else {\x0d\n const listener = () => watcher.close();\x0d\n kResistStopPropagation ??= require('internal/event_target').kResistStopPropagation;\x0d\n options.signal.addEventListener('abort'\x2C listener\x2C { __proto__: null\x2C [kResistStopPropagation]: true });\x0d\n watcher.once('close'\x2C () => {\x0d\n options.signal.removeEventListener('abort'\x2C listener);\x0d\n });\x0d\n }\x0d\n }\x0d\n\x0d\n return watcher;\x0d\n}\x0d\n\x0d\n\x0d\nconst statWatchers = new SafeMap();\x0d\n\x0d\n/**\x0d\n * Watches for changes on `filename`.\x0d\n * @param {string | Buffer | URL} filename\x0d\n * @param {{\x0d\n * bigint?: boolean;\x0d\n * persistent?: boolean;\x0d\n * interval?: number;\x0d\n * }} [options]\x0d\n * @param {(\x0d\n * current?: Stats\x2C\x0d\n * previous?: Stats\x0d\n * ) => any} listener\x0d\n * @returns {watchers.StatWatcher}\x0d\n */\x0d\nfunction watchFile(filename\x2C options\x2C listener) {\x0d\n filename = getValidatedPath(filename);\x0d\n filename = pathModule.resolve(filename);\x0d\n let stat;\x0d\n\x0d\n if (options === null || typeof options !== 'object') {\x0d\n listener = options;\x0d\n options = null;\x0d\n }\x0d\n\x0d\n options = {\x0d\n // Poll interval in milliseconds. 5007 is what libev used to use. It's\x0d\n // a little on the slow side but let's stick with it for now to keep\x0d\n // behavioral changes to a minimum.\x0d\n interval: 5007\x2C\x0d\n persistent: true\x2C\x0d\n ...options\x2C\x0d\n };\x0d\n\x0d\n validateFunction(listener\x2C 'listener');\x0d\n\x0d\n stat = statWatchers.get(filename);\x0d\n const watchers = require('internal/fs/watchers');\x0d\n if (stat === undefined) {\x0d\n stat = new watchers.StatWatcher(options.bigint);\x0d\n stat[watchers.kFSStatWatcherStart](filename\x2C\x0d\n options.persistent\x2C options.interval);\x0d\n statWatchers.set(filename\x2C stat);\x0d\n } else {\x0d\n stat[watchers.kFSStatWatcherAddOrCleanRef]('add');\x0d\n }\x0d\n\x0d\n stat.addListener('change'\x2C listener);\x0d\n return stat;\x0d\n}\x0d\n\x0d\n/**\x0d\n * Stops watching for changes on `filename`.\x0d\n * @param {string | Buffer | URL} filename\x0d\n * @param {() => any} [listener]\x0d\n * @returns {void}\x0d\n */\x0d\nfunction unwatchFile(filename\x2C listener) {\x0d\n filename = getValidatedPath(filename);\x0d\n filename = pathModule.resolve(filename);\x0d\n const stat = statWatchers.get(filename);\x0d\n\x0d\n if (stat === undefined) return;\x0d\n const watchers = require('internal/fs/watchers');\x0d\n if (typeof listener === 'function') {\x0d\n const beforeListenerCount = stat.listenerCount('change');\x0d\n stat.removeListener('change'\x2C listener);\x0d\n if (stat.listenerCount('change') < beforeListenerCount)\x0d\n stat[watchers.kFSStatWatcherAddOrCleanRef]('clean');\x0d\n } else {\x0d\n stat.removeAllListeners('change');\x0d\n stat[watchers.kFSStatWatcherAddOrCleanRef]('cleanAll');\x0d\n }\x0d\n\x0d\n if (stat.listenerCount('change') === 0) {\x0d\n stat.stop();\x0d\n statWatchers.delete(filename);\x0d\n }\x0d\n}\x0d\n\x0d\n\x0d\nlet splitRoot;\x0d\nif (isWindows) {\x0d\n // Regex to find the device root on Windows (e.g. 'c:\\\\')\x2C including trailing\x0d\n // slash.\x0d\n const splitRootRe = /^(?:[a-zA-Z]:|[\\\\/]{2}[^\\\\/]+[\\\\/][^\\\\/]+)?[\\\\/]*/;\x0d\n splitRoot = function splitRoot(str) {\x0d\n return SideEffectFreeRegExpPrototypeExec(splitRootRe\x2C str)[0];\x0d\n };\x0d\n} else {\x0d\n splitRoot = function splitRoot(str) {\x0d\n for (let i = 0; i < str.length; ++i) {\x0d\n if (StringPrototypeCharCodeAt(str\x2C i) !== CHAR_FORWARD_SLASH)\x0d\n return StringPrototypeSlice(str\x2C 0\x2C i);\x0d\n }\x0d\n return str;\x0d\n };\x0d\n}\x0d\n\x0d\nfunction encodeRealpathResult(result\x2C options) {\x0d\n if (!options || !options.encoding || options.encoding === 'utf8')\x0d\n return result;\x0d\n const asBuffer = Buffer.from(result);\x0d\n if (options.encoding === 'buffer') {\x0d\n return asBuffer;\x0d\n }\x0d\n return asBuffer.toString(options.encoding);\x0d\n}\x0d\n\x0d\n// Finds the next portion of a (partial) path\x2C up to the next path delimiter\x0d\nlet nextPart;\x0d\nif (isWindows) {\x0d\n nextPart = function nextPart(p\x2C i) {\x0d\n for (; i < p.length; ++i) {\x0d\n const ch = StringPrototypeCharCodeAt(p\x2C i);\x0d\n\x0d\n // Check for a separator character\x0d\n if (ch === CHAR_BACKWARD_SLASH || ch === CHAR_FORWARD_SLASH)\x0d\n return i;\x0d\n }\x0d\n return -1;\x0d\n };\x0d\n} else {\x0d\n nextPart = function nextPart(p\x2C i) {\x0d\n return StringPrototypeIndexOf(p\x2C '/'\x2C i);\x0d\n };\x0d\n}\x0d\n\x0d\n/**\x0d\n * Returns the resolved pathname.\x0d\n * @param {string | Buffer | URL} p\x0d\n * @param {string | { encoding?: string | null; }} [options]\x0d\n * @returns {string | Buffer}\x0d\n */\x0d\nfunction realpathSync(p\x2C options) {\x0d\n options = getOptions(options);\x0d\n p = toPathIfFileURL(p);\x0d\n if (typeof p !== 'string') {\x0d\n p += '';\x0d\n }\x0d\n validatePath(p);\x0d\n p = pathModule.resolve(p);\x0d\n\x0d\n const cache = options[realpathCacheKey];\x0d\n const maybeCachedResult = cache?.get(p);\x0d\n if (maybeCachedResult) {\x0d\n return maybeCachedResult;\x0d\n }\x0d\n\x0d\n const seenLinks = new SafeMap();\x0d\n const knownHard = new SafeSet();\x0d\n const original = p;\x0d\n\x0d\n // Current character position in p\x0d\n let pos;\x0d\n // The partial path so far\x2C including a trailing slash if any\x0d\n let current;\x0d\n // The partial path without a trailing slash (except when pointing at a root)\x0d\n let base;\x0d\n // The partial path scanned in the previous round\x2C with slash\x0d\n let previous;\x0d\n\x0d\n // Skip over roots\x0d\n current = base = splitRoot(p);\x0d\n pos = current.length;\x0d\n\x0d\n // On windows\x2C check that the root exists. On unix there is no need.\x0d\n if (isWindows) {\x0d\n const out = binding.lstat(pathModule.toNamespacedPath(base)\x2C false\x2C undefined\x2C true /* throwIfNoEntry */);\x0d\n if (out === undefined) {\x0d\n return;\x0d\n }\x0d\n knownHard.add(base);\x0d\n }\x0d\n\x0d\n // Walk down the path\x2C swapping out linked path parts for their real\x0d\n // values\x0d\n // NB: p.length changes.\x0d\n while (pos < p.length) {\x0d\n // find the next part\x0d\n const result = nextPart(p\x2C pos);\x0d\n previous = current;\x0d\n if (result === -1) {\x0d\n const last = StringPrototypeSlice(p\x2C pos);\x0d\n current += last;\x0d\n base = previous + last;\x0d\n pos = p.length;\x0d\n } else {\x0d\n current += StringPrototypeSlice(p\x2C pos\x2C result + 1);\x0d\n base = previous + StringPrototypeSlice(p\x2C pos\x2C result);\x0d\n pos = result + 1;\x0d\n }\x0d\n\x0d\n // Continue if not a symlink\x2C break if a pipe/socket\x0d\n if (knownHard.has(base) || cache?.get(base) === base) {\x0d\n if (isFileType(statValues\x2C S_IFIFO) ||\x0d\n isFileType(statValues\x2C S_IFSOCK)) {\x0d\n break;\x0d\n }\x0d\n continue;\x0d\n }\x0d\n\x0d\n let resolvedLink;\x0d\n const maybeCachedResolved = cache?.get(base);\x0d\n if (maybeCachedResolved) {\x0d\n resolvedLink = maybeCachedResolved;\x0d\n } else {\x0d\n // Use stats array directly to avoid creating an fs.Stats instance just\x0d\n // for our internal use.\x0d\n\x0d\n const baseLong = pathModule.toNamespacedPath(base);\x0d\n const stats = binding.lstat(baseLong\x2C true\x2C undefined\x2C true /* throwIfNoEntry */);\x0d\n if (stats === undefined) {\x0d\n return;\x0d\n }\x0d\n\x0d\n if (!isFileType(stats\x2C S_IFLNK)) {\x0d\n knownHard.add(base);\x0d\n cache?.set(base\x2C base);\x0d\n continue;\x0d\n }\x0d\n\x0d\n // Read the link if it wasn't read before\x0d\n // dev/ino always return 0 on windows\x2C so skip the check.\x0d\n let linkTarget = null;\x0d\n let id;\x0d\n if (!isWindows) {\x0d\n const dev = BigIntPrototypeToString(stats[0]\x2C 32);\x0d\n const ino = BigIntPrototypeToString(stats[7]\x2C 32);\x0d\n id = `${dev}:${ino}`;\x0d\n if (seenLinks.has(id)) {\x0d\n linkTarget = seenLinks.get(id);\x0d\n }\x0d\n }\x0d\n if (linkTarget === null) {\x0d\n binding.stat(baseLong\x2C false\x2C undefined\x2C true);\x0d\n linkTarget = binding.readlink(baseLong\x2C undefined);\x0d\n }\x0d\n resolvedLink = pathModule.resolve(previous\x2C linkTarget);\x0d\n\x0d\n cache?.set(base\x2C resolvedLink);\x0d\n if (!isWindows) seenLinks.set(id\x2C linkTarget);\x0d\n }\x0d\n\x0d\n // Resolve the link\x2C then start over\x0d\n p = pathModule.resolve(resolvedLink\x2C StringPrototypeSlice(p\x2C pos));\x0d\n\x0d\n // Skip over roots\x0d\n current = base = splitRoot(p);\x0d\n pos = current.length;\x0d\n\x0d\n // On windows\x2C check that the root exists. On unix there is no need.\x0d\n if (isWindows && !knownHard.has(base)) {\x0d\n const out = binding.lstat(pathModule.toNamespacedPath(base)\x2C false\x2C undefined\x2C true /* throwIfNoEntry */);\x0d\n if (out === undefined) {\x0d\n return;\x0d\n }\x0d\n knownHard.add(base);\x0d\n }\x0d\n }\x0d\n\x0d\n cache?.set(original\x2C p);\x0d\n return encodeRealpathResult(p\x2C options);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Returns the resolved pathname.\x0d\n * @param {string | Buffer | URL} path\x0d\n * @param {string | { encoding?: string; }} [options]\x0d\n * @returns {string | Buffer}\x0d\n */\x0d\nrealpathSync.native = (path\x2C options) => {\x0d\n options = getOptions(options);\x0d\n path = getValidatedPath(path);\x0d\n return binding.realpath(\x0d\n pathModule.toNamespacedPath(path)\x2C\x0d\n options.encoding\x2C\x0d\n );\x0d\n};\x0d\n\x0d\n/**\x0d\n * Asynchronously computes the canonical pathname by\x0d\n * resolving `.`\x2C `..` and symbolic links.\x0d\n * @param {string | Buffer | URL} p\x0d\n * @param {string | { encoding?: string; }} [options]\x0d\n * @param {(\x0d\n * err?: Error\x2C\x0d\n * resolvedPath?: string | Buffer\x0d\n * ) => any} callback\x0d\n * @returns {void}\x0d\n */\x0d\nfunction realpath(p\x2C options\x2C callback) {\x0d\n if (typeof options === 'function') {\x0d\n callback = options;\x0d\n } else {\x0d\n validateFunction(callback\x2C 'cb');\x0d\n }\x0d\n options = getOptions(options);\x0d\n p = toPathIfFileURL(p);\x0d\n\x0d\n if (typeof p !== 'string') {\x0d\n p += '';\x0d\n }\x0d\n validatePath(p);\x0d\n p = pathModule.resolve(p);\x0d\n\x0d\n const seenLinks = new SafeMap();\x0d\n const knownHard = new SafeSet();\x0d\n\x0d\n // Current character position in p\x0d\n let pos;\x0d\n // The partial path so far\x2C including a trailing slash if any\x0d\n let current;\x0d\n // The partial path without a trailing slash (except when pointing at a root)\x0d\n let base;\x0d\n // The partial path scanned in the previous round\x2C with slash\x0d\n let previous;\x0d\n\x0d\n current = base = splitRoot(p);\x0d\n pos = current.length;\x0d\n\x0d\n // On windows\x2C check that the root exists. On unix there is no need.\x0d\n if (isWindows && !knownHard.has(base)) {\x0d\n fs.lstat(base\x2C (err\x2C stats) => {\x0d\n if (err) return callback(err);\x0d\n knownHard.add(base);\x0d\n LOOP();\x0d\n });\x0d\n } else {\x0d\n process.nextTick(LOOP);\x0d\n }\x0d\n\x0d\n // Walk down the path\x2C swapping out linked path parts for their real\x0d\n // values\x0d\n function LOOP() {\x0d\n // Stop if scanned past end of path\x0d\n if (pos >= p.length) {\x0d\n return callback(null\x2C encodeRealpathResult(p\x2C options));\x0d\n }\x0d\n\x0d\n // find the next part\x0d\n const result = nextPart(p\x2C pos);\x0d\n previous = current;\x0d\n if (result === -1) {\x0d\n const last = StringPrototypeSlice(p\x2C pos);\x0d\n current += last;\x0d\n base = previous + last;\x0d\n pos = p.length;\x0d\n } else {\x0d\n current += StringPrototypeSlice(p\x2C pos\x2C result + 1);\x0d\n base = previous + StringPrototypeSlice(p\x2C pos\x2C result);\x0d\n pos = result + 1;\x0d\n }\x0d\n\x0d\n // Continue if not a symlink\x2C break if a pipe/socket\x0d\n if (knownHard.has(base)) {\x0d\n if (isFileType(statValues\x2C S_IFIFO) ||\x0d\n isFileType(statValues\x2C S_IFSOCK)) {\x0d\n return callback(null\x2C encodeRealpathResult(p\x2C options));\x0d\n }\x0d\n return process.nextTick(LOOP);\x0d\n }\x0d\n\x0d\n return fs.lstat(base\x2C { bigint: true }\x2C gotStat);\x0d\n }\x0d\n\x0d\n function gotStat(err\x2C stats) {\x0d\n if (err) return callback(err);\x0d\n\x0d\n // If not a symlink\x2C skip to the next path part\x0d\n if (!stats.isSymbolicLink()) {\x0d\n knownHard.add(base);\x0d\n return process.nextTick(LOOP);\x0d\n }\x0d\n\x0d\n // Stat & read the link if not read before.\x0d\n // Call `gotTarget()` as soon as the link target is known.\x0d\n // `dev`/`ino` always return 0 on windows\x2C so skip the check.\x0d\n let id;\x0d\n if (!isWindows) {\x0d\n const dev = BigIntPrototypeToString(stats.dev\x2C 32);\x0d\n const ino = BigIntPrototypeToString(stats.ino\x2C 32);\x0d\n id = `${dev}:${ino}`;\x0d\n if (seenLinks.has(id)) {\x0d\n return gotTarget(null\x2C seenLinks.get(id));\x0d\n }\x0d\n }\x0d\n fs.stat(base\x2C (err) => {\x0d\n if (err) return callback(err);\x0d\n\x0d\n fs.readlink(base\x2C (err\x2C target) => {\x0d\n if (!isWindows) seenLinks.set(id\x2C target);\x0d\n gotTarget(err\x2C target);\x0d\n });\x0d\n });\x0d\n }\x0d\n\x0d\n function gotTarget(err\x2C target) {\x0d\n if (err) return callback(err);\x0d\n\x0d\n gotResolvedLink(pathModule.resolve(previous\x2C target));\x0d\n }\x0d\n\x0d\n function gotResolvedLink(resolvedLink) {\x0d\n // Resolve the link\x2C then start over\x0d\n p = pathModule.resolve(resolvedLink\x2C StringPrototypeSlice(p\x2C pos));\x0d\n current = base = splitRoot(p);\x0d\n pos = current.length;\x0d\n\x0d\n // On windows\x2C check that the root exists. On unix there is no need.\x0d\n if (isWindows && !knownHard.has(base)) {\x0d\n fs.lstat(base\x2C (err) => {\x0d\n if (err) return callback(err);\x0d\n knownHard.add(base);\x0d\n LOOP();\x0d\n });\x0d\n } else {\x0d\n process.nextTick(LOOP);\x0d\n }\x0d\n }\x0d\n}\x0d\n\x0d\n/**\x0d\n * Asynchronously computes the canonical pathname by\x0d\n * resolving `.`\x2C `..` and symbolic links.\x0d\n * @param {string | Buffer | URL} path\x0d\n * @param {string | { encoding?: string; }} [options]\x0d\n * @param {(\x0d\n * err?: Error\x2C\x0d\n * resolvedPath?: string | Buffer\x0d\n * ) => any} callback\x0d\n * @returns {void}\x0d\n */\x0d\nrealpath.native = (path\x2C options\x2C callback) => {\x0d\n callback = makeCallback(callback || options);\x0d\n options = getOptions(options);\x0d\n path = getValidatedPath(path);\x0d\n const req = new FSReqCallback();\x0d\n req.oncomplete = callback;\x0d\n binding.realpath(pathModule.toNamespacedPath(path)\x2C options.encoding\x2C req);\x0d\n};\x0d\n\x0d\n/**\x0d\n * Creates a unique temporary directory.\x0d\n * @param {string | Buffer | URL} prefix\x0d\n * @param {string | { encoding?: string; }} [options]\x0d\n * @param {(\x0d\n * err?: Error\x2C\x0d\n * directory?: string\x0d\n * ) => any} callback\x0d\n * @returns {void}\x0d\n */\x0d\nfunction mkdtemp(prefix\x2C options\x2C callback) {\x0d\n callback = makeCallback(typeof options === 'function' ? options : callback);\x0d\n options = getOptions(options);\x0d\n\x0d\n prefix = getValidatedPath(prefix\x2C 'prefix');\x0d\n warnOnNonPortableTemplate(prefix);\x0d\n\x0d\n const req = new FSReqCallback();\x0d\n req.oncomplete = callback;\x0d\n binding.mkdtemp(prefix\x2C options.encoding\x2C req);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Synchronously creates a unique temporary directory.\x0d\n * @param {string | Buffer | URL} prefix\x0d\n * @param {string | { encoding?: string; }} [options]\x0d\n * @returns {string}\x0d\n */\x0d\nfunction mkdtempSync(prefix\x2C options) {\x0d\n options = getOptions(options);\x0d\n\x0d\n prefix = getValidatedPath(prefix\x2C 'prefix');\x0d\n warnOnNonPortableTemplate(prefix);\x0d\n return binding.mkdtemp(prefix\x2C options.encoding);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Asynchronously copies `src` to `dest`. By\x0d\n * default\x2C `dest` is overwritten if it already exists.\x0d\n * @param {string | Buffer | URL} src\x0d\n * @param {string | Buffer | URL} dest\x0d\n * @param {number} [mode]\x0d\n * @param {(err?: Error) => any} callback\x0d\n * @returns {void}\x0d\n */\x0d\nfunction copyFile(src\x2C dest\x2C mode\x2C callback) {\x0d\n if (typeof mode === 'function') {\x0d\n callback = mode;\x0d\n mode = 0;\x0d\n }\x0d\n\x0d\n src = getValidatedPath(src\x2C 'src');\x0d\n dest = getValidatedPath(dest\x2C 'dest');\x0d\n\x0d\n src = pathModule.toNamespacedPath(src);\x0d\n dest = pathModule.toNamespacedPath(dest);\x0d\n callback = makeCallback(callback);\x0d\n\x0d\n const req = new FSReqCallback();\x0d\n req.oncomplete = callback;\x0d\n binding.copyFile(src\x2C dest\x2C mode\x2C req);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Synchronously copies `src` to `dest`. By\x0d\n * default\x2C `dest` is overwritten if it already exists.\x0d\n * @param {string | Buffer | URL} src\x0d\n * @param {string | Buffer | URL} dest\x0d\n * @param {number} [mode]\x0d\n * @returns {void}\x0d\n */\x0d\nfunction copyFileSync(src\x2C dest\x2C mode) {\x0d\n src = getValidatedPath(src\x2C 'src');\x0d\n dest = getValidatedPath(dest\x2C 'dest');\x0d\n\x0d\n binding.copyFile(\x0d\n pathModule.toNamespacedPath(src)\x2C\x0d\n pathModule.toNamespacedPath(dest)\x2C\x0d\n mode\x2C\x0d\n );\x0d\n}\x0d\n\x0d\n/**\x0d\n * Asynchronously copies `src` to `dest`. `src` can be a file\x2C directory\x2C or\x0d\n * symlink. The contents of directories will be copied recursively.\x0d\n * @param {string | URL} src\x0d\n * @param {string | URL} dest\x0d\n * @param {object} [options]\x0d\n * @param {(err?: Error) => any} callback\x0d\n * @returns {void}\x0d\n */\x0d\nfunction cp(src\x2C dest\x2C options\x2C callback) {\x0d\n if (typeof options === 'function') {\x0d\n callback = options;\x0d\n options = undefined;\x0d\n }\x0d\n callback = makeCallback(callback);\x0d\n options = validateCpOptions(options);\x0d\n src = pathModule.toNamespacedPath(getValidatedPath(src\x2C 'src'));\x0d\n dest = pathModule.toNamespacedPath(getValidatedPath(dest\x2C 'dest'));\x0d\n lazyLoadCp();\x0d\n cpFn(src\x2C dest\x2C options\x2C callback);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Synchronously copies `src` to `dest`. `src` can be a file\x2C directory\x2C or\x0d\n * symlink. The contents of directories will be copied recursively.\x0d\n * @param {string | URL} src\x0d\n * @param {string | URL} dest\x0d\n * @param {object} [options]\x0d\n * @returns {void}\x0d\n */\x0d\nfunction cpSync(src\x2C dest\x2C options) {\x0d\n options = validateCpOptions(options);\x0d\n src = pathModule.toNamespacedPath(getValidatedPath(src\x2C 'src'));\x0d\n dest = pathModule.toNamespacedPath(getValidatedPath(dest\x2C 'dest'));\x0d\n lazyLoadCp();\x0d\n cpSyncFn(src\x2C dest\x2C options);\x0d\n}\x0d\n\x0d\nfunction lazyLoadStreams() {\x0d\n if (!ReadStream) {\x0d\n ({ ReadStream\x2C WriteStream } = require('internal/fs/streams'));\x0d\n FileReadStream = ReadStream;\x0d\n FileWriteStream = WriteStream;\x0d\n }\x0d\n}\x0d\n\x0d\n/**\x0d\n * Creates a readable stream with a default `highWaterMark`\x0d\n * of 64 KiB.\x0d\n * @param {string | Buffer | URL} path\x0d\n * @param {string | {\x0d\n * flags?: string;\x0d\n * encoding?: string;\x0d\n * fd?: number | FileHandle;\x0d\n * mode?: number;\x0d\n * autoClose?: boolean;\x0d\n * emitClose?: boolean;\x0d\n * start: number;\x0d\n * end?: number;\x0d\n * highWaterMark?: number;\x0d\n * fs?: object | null;\x0d\n * signal?: AbortSignal | null;\x0d\n * }} [options]\x0d\n * @returns {ReadStream}\x0d\n */\x0d\nfunction createReadStream(path\x2C options) {\x0d\n lazyLoadStreams();\x0d\n return new ReadStream(path\x2C options);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Creates a write stream.\x0d\n * @param {string | Buffer | URL} path\x0d\n * @param {string | {\x0d\n * flags?: string;\x0d\n * encoding?: string;\x0d\n * fd?: number | FileHandle;\x0d\n * mode?: number;\x0d\n * autoClose?: boolean;\x0d\n * emitClose?: boolean;\x0d\n * start: number;\x0d\n * fs?: object | null;\x0d\n * signal?: AbortSignal | null;\x0d\n * highWaterMark?: number;\x0d\n * flush?: boolean;\x0d\n * }} [options]\x0d\n * @returns {WriteStream}\x0d\n */\x0d\nfunction createWriteStream(path\x2C options) {\x0d\n lazyLoadStreams();\x0d\n return new WriteStream(path\x2C options);\x0d\n}\x0d\n\x0d\nmodule.exports = fs = {\x0d\n appendFile\x2C\x0d\n appendFileSync\x2C\x0d\n access\x2C\x0d\n accessSync\x2C\x0d\n chown\x2C\x0d\n chownSync\x2C\x0d\n chmod\x2C\x0d\n chmodSync\x2C\x0d\n close\x2C\x0d\n closeSync\x2C\x0d\n copyFile\x2C\x0d\n copyFileSync\x2C\x0d\n cp\x2C\x0d\n cpSync\x2C\x0d\n createReadStream\x2C\x0d\n createWriteStream\x2C\x0d\n exists\x2C\x0d\n existsSync\x2C\x0d\n fchown\x2C\x0d\n fchownSync\x2C\x0d\n fchmod\x2C\x0d\n fchmodSync\x2C\x0d\n fdatasync\x2C\x0d\n fdatasyncSync\x2C\x0d\n fstat\x2C\x0d\n fstatSync\x2C\x0d\n fsync\x2C\x0d\n fsyncSync\x2C\x0d\n ftruncate\x2C\x0d\n ftruncateSync\x2C\x0d\n futimes\x2C\x0d\n futimesSync\x2C\x0d\n lchown\x2C\x0d\n lchownSync\x2C\x0d\n lchmod: constants.O_SYMLINK !== undefined ? lchmod : undefined\x2C\x0d\n lchmodSync: constants.O_SYMLINK !== undefined ? lchmodSync : undefined\x2C\x0d\n link\x2C\x0d\n linkSync\x2C\x0d\n lstat\x2C\x0d\n lstatSync\x2C\x0d\n lutimes\x2C\x0d\n lutimesSync\x2C\x0d\n mkdir\x2C\x0d\n mkdirSync\x2C\x0d\n mkdtemp\x2C\x0d\n mkdtempSync\x2C\x0d\n open\x2C\x0d\n openSync\x2C\x0d\n openAsBlob\x2C\x0d\n readdir\x2C\x0d\n readdirSync\x2C\x0d\n read\x2C\x0d\n readSync\x2C\x0d\n readv\x2C\x0d\n readvSync\x2C\x0d\n readFile\x2C\x0d\n readFileSync\x2C\x0d\n readlink\x2C\x0d\n readlinkSync\x2C\x0d\n realpath\x2C\x0d\n realpathSync\x2C\x0d\n rename\x2C\x0d\n renameSync\x2C\x0d\n rm\x2C\x0d\n rmSync\x2C\x0d\n rmdir\x2C\x0d\n rmdirSync\x2C\x0d\n stat\x2C\x0d\n statfs\x2C\x0d\n statSync\x2C\x0d\n statfsSync\x2C\x0d\n symlink\x2C\x0d\n symlinkSync\x2C\x0d\n truncate\x2C\x0d\n truncateSync\x2C\x0d\n unwatchFile\x2C\x0d\n unlink\x2C\x0d\n unlinkSync\x2C\x0d\n utimes\x2C\x0d\n utimesSync\x2C\x0d\n watch\x2C\x0d\n watchFile\x2C\x0d\n writeFile\x2C\x0d\n writeFileSync\x2C\x0d\n write\x2C\x0d\n writeSync\x2C\x0d\n writev\x2C\x0d\n writevSync\x2C\x0d\n Dirent\x2C\x0d\n Stats\x2C\x0d\n\x0d\n get ReadStream() {\x0d\n lazyLoadStreams();\x0d\n return ReadStream;\x0d\n }\x2C\x0d\n\x0d\n set ReadStream(val) {\x0d\n ReadStream = val;\x0d\n }\x2C\x0d\n\x0d\n get WriteStream() {\x0d\n lazyLoadStreams();\x0d\n return WriteStream;\x0d\n }\x2C\x0d\n\x0d\n set WriteStream(val) {\x0d\n WriteStream = val;\x0d\n }\x2C\x0d\n\x0d\n // Legacy names... these have to be separate because of how graceful-fs\x0d\n // (and possibly other) modules monkey patch the values.\x0d\n get FileReadStream() {\x0d\n lazyLoadStreams();\x0d\n return FileReadStream;\x0d\n }\x2C\x0d\n\x0d\n set FileReadStream(val) {\x0d\n FileReadStream = val;\x0d\n }\x2C\x0d\n\x0d\n get FileWriteStream() {\x0d\n lazyLoadStreams();\x0d\n return FileWriteStream;\x0d\n }\x2C\x0d\n\x0d\n set FileWriteStream(val) {\x0d\n FileWriteStream = val;\x0d\n }\x2C\x0d\n\x0d\n // For tests\x0d\n _toUnixTimestamp: toUnixTimestamp\x2C\x0d\n};\x0d\n\x0d\ndefineLazyProperties(\x0d\n fs\x2C\x0d\n 'internal/fs/dir'\x2C\x0d\n ['Dir'\x2C 'opendir'\x2C 'opendirSync']\x2C\x0d\n);\x0d\n\x0d\nObjectDefineProperties(fs\x2C {\x0d\n F_OK: { __proto__: null\x2C enumerable: true\x2C value: F_OK || 0 }\x2C\x0d\n R_OK: { __proto__: null\x2C enumerable: true\x2C value: R_OK || 0 }\x2C\x0d\n W_OK: { __proto__: null\x2C enumerable: true\x2C value: W_OK || 0 }\x2C\x0d\n X_OK: { __proto__: null\x2C enumerable: true\x2C value: X_OK || 0 }\x2C\x0d\n constants: {\x0d\n __proto__: null\x2C\x0d\n configurable: false\x2C\x0d\n enumerable: true\x2C\x0d\n value: constants\x2C\x0d\n }\x2C\x0d\n promises: {\x0d\n __proto__: null\x2C\x0d\n configurable: true\x2C\x0d\n enumerable: true\x2C\x0d\n get() {\x0d\n promises ??= require('internal/fs/promises').exports;\x0d\n return promises;\x0d\n }\x2C\x0d\n }\x2C\x0d\n});\x0d\n
code-source-info,0x22fbeda2e7e,45,14291,14877,C0O14291C2O14326C7O14333C13O14374C20O14381C25O14393C28O14416C32O14434C40O14458C46O14497C49O14519C57O14550C73O14557C80O14621C85O14621C90O14646C93O14657C99O14698C104O14698C110O14722C112O14737C116O14754C121O14762C128O14767C131O14778C136O14778C151O14762C157O14876,,
tick,0x7ffcc621f23f,524494,0,0x0,3,0x7ff7b9533060,0x22fbeda0ed1,0x22fbeda06ac,0x2d4ae63bd39,0x23c5197896d,0x23c519693ae,0x23c51968a11,0x23c51942948
code-creation,JS,10,524762,0x22fbeda9776,37, node:internal/fs/utils:693:42,0x39e2db5f7f0,~
script-source,29,node:internal/fs/utils,'use strict';\x0d\n\x0d\nconst {\x0d\n ArrayIsArray\x2C\x0d\n BigInt\x2C\x0d\n Date\x2C\x0d\n DateNow\x2C\x0d\n DatePrototypeGetTime\x2C\x0d\n ErrorCaptureStackTrace\x2C\x0d\n FunctionPrototypeCall\x2C\x0d\n Number\x2C\x0d\n NumberIsFinite\x2C\x0d\n MathMin\x2C\x0d\n MathRound\x2C\x0d\n ObjectIs\x2C\x0d\n ObjectSetPrototypeOf\x2C\x0d\n ReflectApply\x2C\x0d\n ReflectOwnKeys\x2C\x0d\n RegExpPrototypeSymbolReplace\x2C\x0d\n StringPrototypeEndsWith\x2C\x0d\n StringPrototypeIncludes\x2C\x0d\n Symbol\x2C\x0d\n TypedArrayPrototypeAt\x2C\x0d\n TypedArrayPrototypeIncludes\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst { Buffer } = require('buffer');\x0d\nconst {\x0d\n codes: {\x0d\n ERR_FS_EISDIR\x2C\x0d\n ERR_FS_INVALID_SYMLINK_TYPE\x2C\x0d\n ERR_INCOMPATIBLE_OPTION_PAIR\x2C\x0d\n ERR_INVALID_ARG_TYPE\x2C\x0d\n ERR_INVALID_ARG_VALUE\x2C\x0d\n ERR_OUT_OF_RANGE\x2C\x0d\n }\x2C\x0d\n hideStackFrames\x2C\x0d\n UVException\x2C\x0d\n} = require('internal/errors');\x0d\nconst {\x0d\n isArrayBufferView\x2C\x0d\n isBigInt64Array\x2C\x0d\n isDate\x2C\x0d\n isUint8Array\x2C\x0d\n} = require('internal/util/types');\x0d\nconst {\x0d\n kEmptyObject\x2C\x0d\n once\x2C\x0d\n} = require('internal/util');\x0d\nconst { toPathIfFileURL } = require('internal/url');\x0d\nconst {\x0d\n validateAbortSignal\x2C\x0d\n validateBoolean\x2C\x0d\n validateFunction\x2C\x0d\n validateInt32\x2C\x0d\n validateInteger\x2C\x0d\n validateObject\x2C\x0d\n validateUint32\x2C\x0d\n} = require('internal/validators');\x0d\nconst pathModule = require('path');\x0d\nconst kType = Symbol('type');\x0d\nconst kStats = Symbol('stats');\x0d\nconst assert = require('internal/assert');\x0d\n\x0d\nconst {\x0d\n fs: {\x0d\n F_OK = 0\x2C\x0d\n W_OK = 0\x2C\x0d\n R_OK = 0\x2C\x0d\n X_OK = 0\x2C\x0d\n COPYFILE_EXCL\x2C\x0d\n COPYFILE_FICLONE\x2C\x0d\n COPYFILE_FICLONE_FORCE\x2C\x0d\n O_APPEND\x2C\x0d\n O_CREAT\x2C\x0d\n O_EXCL\x2C\x0d\n O_RDONLY\x2C\x0d\n O_RDWR\x2C\x0d\n O_SYNC\x2C\x0d\n O_TRUNC\x2C\x0d\n O_WRONLY\x2C\x0d\n S_IFBLK\x2C\x0d\n S_IFCHR\x2C\x0d\n S_IFDIR\x2C\x0d\n S_IFIFO\x2C\x0d\n S_IFLNK\x2C\x0d\n S_IFMT\x2C\x0d\n S_IFREG\x2C\x0d\n S_IFSOCK\x2C\x0d\n UV_FS_SYMLINK_DIR\x2C\x0d\n UV_FS_SYMLINK_JUNCTION\x2C\x0d\n UV_DIRENT_UNKNOWN\x2C\x0d\n UV_DIRENT_FILE\x2C\x0d\n UV_DIRENT_DIR\x2C\x0d\n UV_DIRENT_LINK\x2C\x0d\n UV_DIRENT_FIFO\x2C\x0d\n UV_DIRENT_SOCKET\x2C\x0d\n UV_DIRENT_CHAR\x2C\x0d\n UV_DIRENT_BLOCK\x2C\x0d\n }\x2C\x0d\n os: {\x0d\n errno: {\x0d\n EISDIR\x2C\x0d\n }\x2C\x0d\n }\x2C\x0d\n} = internalBinding('constants');\x0d\n\x0d\n// The access modes can be any of F_OK\x2C R_OK\x2C W_OK or X_OK. Some might not be\x0d\n// available on specific systems. They can be used in combination as well\x0d\n// (F_OK | R_OK | W_OK | X_OK).\x0d\nconst kMinimumAccessMode = MathMin(F_OK\x2C W_OK\x2C R_OK\x2C X_OK);\x0d\nconst kMaximumAccessMode = F_OK | W_OK | R_OK | X_OK;\x0d\n\x0d\nconst kDefaultCopyMode = 0;\x0d\n// The copy modes can be any of COPYFILE_EXCL\x2C COPYFILE_FICLONE or\x0d\n// COPYFILE_FICLONE_FORCE. They can be used in combination as well\x0d\n// (COPYFILE_EXCL | COPYFILE_FICLONE | COPYFILE_FICLONE_FORCE).\x0d\nconst kMinimumCopyMode = MathMin(\x0d\n kDefaultCopyMode\x2C\x0d\n COPYFILE_EXCL\x2C\x0d\n COPYFILE_FICLONE\x2C\x0d\n COPYFILE_FICLONE_FORCE\x2C\x0d\n);\x0d\nconst kMaximumCopyMode = COPYFILE_EXCL |\x0d\n COPYFILE_FICLONE |\x0d\n COPYFILE_FICLONE_FORCE;\x0d\n\x0d\n// Most platforms don't allow reads or writes >= 2 GiB.\x0d\n// See https://github.com/libuv/libuv/pull/1501.\x0d\nconst kIoMaxLength = 2 ** 31 - 1;\x0d\n\x0d\n// Use 64kb in case the file type is not a regular file and thus do not know the\x0d\n// actual file size. Increasing the value further results in more frequent over\x0d\n// allocation for small files and consumes CPU time and memory that should be\x0d\n// used else wise.\x0d\n// Use up to 512kb per read otherwise to partition reading big files to prevent\x0d\n// blocking other threads in case the available threads are all in use.\x0d\nconst kReadFileUnknownBufferLength = 64 * 1024;\x0d\nconst kReadFileBufferLength = 512 * 1024;\x0d\n\x0d\nconst kWriteFileMaxChunkSize = 512 * 1024;\x0d\n\x0d\nconst kMaxUserId = 2 ** 32 - 1;\x0d\n\x0d\nconst isWindows = process.platform === 'win32';\x0d\n\x0d\nlet fs;\x0d\nfunction lazyLoadFs() {\x0d\n if (!fs) {\x0d\n fs = require('fs');\x0d\n }\x0d\n return fs;\x0d\n}\x0d\n\x0d\nfunction assertEncoding(encoding) {\x0d\n if (encoding && !Buffer.isEncoding(encoding)) {\x0d\n const reason = 'is invalid encoding';\x0d\n throw new ERR_INVALID_ARG_VALUE(encoding\x2C 'encoding'\x2C reason);\x0d\n }\x0d\n}\x0d\n\x0d\nclass Dirent {\x0d\n constructor(name\x2C type\x2C path) {\x0d\n this.name = name;\x0d\n this.parentPath = path;\x0d\n this.path = path;\x0d\n this[kType] = type;\x0d\n }\x0d\n\x0d\n isDirectory() {\x0d\n return this[kType] === UV_DIRENT_DIR;\x0d\n }\x0d\n\x0d\n isFile() {\x0d\n return this[kType] === UV_DIRENT_FILE;\x0d\n }\x0d\n\x0d\n isBlockDevice() {\x0d\n return this[kType] === UV_DIRENT_BLOCK;\x0d\n }\x0d\n\x0d\n isCharacterDevice() {\x0d\n return this[kType] === UV_DIRENT_CHAR;\x0d\n }\x0d\n\x0d\n isSymbolicLink() {\x0d\n return this[kType] === UV_DIRENT_LINK;\x0d\n }\x0d\n\x0d\n isFIFO() {\x0d\n return this[kType] === UV_DIRENT_FIFO;\x0d\n }\x0d\n\x0d\n isSocket() {\x0d\n return this[kType] === UV_DIRENT_SOCKET;\x0d\n }\x0d\n}\x0d\n\x0d\nclass DirentFromStats extends Dirent {\x0d\n constructor(name\x2C stats\x2C path) {\x0d\n super(name\x2C null\x2C path);\x0d\n this[kStats] = stats;\x0d\n }\x0d\n}\x0d\n\x0d\nfor (const name of ReflectOwnKeys(Dirent.prototype)) {\x0d\n if (name === 'constructor') {\x0d\n continue;\x0d\n }\x0d\n DirentFromStats.prototype[name] = function() {\x0d\n return this[kStats][name]();\x0d\n };\x0d\n}\x0d\n\x0d\nfunction copyObject(source) {\x0d\n const target = {};\x0d\n for (const key in source)\x0d\n target[key] = source[key];\x0d\n return target;\x0d\n}\x0d\n\x0d\nconst bufferSep = Buffer.from(pathModule.sep);\x0d\n\x0d\nfunction join(path\x2C name) {\x0d\n if ((typeof path === 'string' || isUint8Array(path)) &&\x0d\n name === undefined) {\x0d\n return path;\x0d\n }\x0d\n\x0d\n if (typeof path === 'string' && isUint8Array(name)) {\x0d\n const pathBuffer = Buffer.from(pathModule.join(path\x2C pathModule.sep));\x0d\n return Buffer.concat([pathBuffer\x2C name]);\x0d\n }\x0d\n\x0d\n if (typeof path === 'string' && typeof name === 'string') {\x0d\n return pathModule.join(path\x2C name);\x0d\n }\x0d\n\x0d\n if (isUint8Array(path) && isUint8Array(name)) {\x0d\n return Buffer.concat([path\x2C bufferSep\x2C name]);\x0d\n }\x0d\n\x0d\n throw new ERR_INVALID_ARG_TYPE(\x0d\n 'path'\x2C ['string'\x2C 'Buffer']\x2C path);\x0d\n}\x0d\n\x0d\nfunction getDirents(path\x2C { 0: names\x2C 1: types }\x2C callback) {\x0d\n let i;\x0d\n if (typeof callback === 'function') {\x0d\n const len = names.length;\x0d\n let toFinish = 0;\x0d\n callback = once(callback);\x0d\n for (i = 0; i < len; i++) {\x0d\n const type = types[i];\x0d\n if (type === UV_DIRENT_UNKNOWN) {\x0d\n const name = names[i];\x0d\n const idx = i;\x0d\n toFinish++;\x0d\n let filepath;\x0d\n try {\x0d\n filepath = join(path\x2C name);\x0d\n } catch (err) {\x0d\n callback(err);\x0d\n return;\x0d\n }\x0d\n lazyLoadFs().lstat(filepath\x2C (err\x2C stats) => {\x0d\n if (err) {\x0d\n callback(err);\x0d\n return;\x0d\n }\x0d\n names[idx] = new DirentFromStats(name\x2C stats\x2C path);\x0d\n if (--toFinish === 0) {\x0d\n callback(null\x2C names);\x0d\n }\x0d\n });\x0d\n } else {\x0d\n names[i] = new Dirent(names[i]\x2C types[i]\x2C path);\x0d\n }\x0d\n }\x0d\n if (toFinish === 0) {\x0d\n callback(null\x2C names);\x0d\n }\x0d\n } else {\x0d\n const len = names.length;\x0d\n for (i = 0; i < len; i++) {\x0d\n names[i] = getDirent(path\x2C names[i]\x2C types[i]);\x0d\n }\x0d\n return names;\x0d\n }\x0d\n}\x0d\n\x0d\nfunction getDirent(path\x2C name\x2C type\x2C callback) {\x0d\n if (typeof callback === 'function') {\x0d\n if (type === UV_DIRENT_UNKNOWN) {\x0d\n let filepath;\x0d\n try {\x0d\n filepath = join(path\x2C name);\x0d\n } catch (err) {\x0d\n callback(err);\x0d\n return;\x0d\n }\x0d\n lazyLoadFs().lstat(filepath\x2C (err\x2C stats) => {\x0d\n if (err) {\x0d\n callback(err);\x0d\n return;\x0d\n }\x0d\n callback(null\x2C new DirentFromStats(name\x2C stats\x2C filepath));\x0d\n });\x0d\n } else {\x0d\n callback(null\x2C new Dirent(name\x2C type\x2C path));\x0d\n }\x0d\n } else if (type === UV_DIRENT_UNKNOWN) {\x0d\n const filepath = join(path\x2C name);\x0d\n const stats = lazyLoadFs().lstatSync(filepath);\x0d\n return new DirentFromStats(name\x2C stats\x2C path);\x0d\n } else {\x0d\n return new Dirent(name\x2C type\x2C path);\x0d\n }\x0d\n}\x0d\n\x0d\nfunction getOptions(options\x2C defaultOptions = kEmptyObject) {\x0d\n if (options == null || typeof options === 'function') {\x0d\n return defaultOptions;\x0d\n }\x0d\n\x0d\n if (typeof options === 'string') {\x0d\n defaultOptions = { ...defaultOptions };\x0d\n defaultOptions.encoding = options;\x0d\n options = defaultOptions;\x0d\n } else if (typeof options !== 'object') {\x0d\n throw new ERR_INVALID_ARG_TYPE('options'\x2C ['string'\x2C 'Object']\x2C options);\x0d\n }\x0d\n\x0d\n if (options.encoding !== 'buffer')\x0d\n assertEncoding(options.encoding);\x0d\n\x0d\n if (options.signal !== undefined) {\x0d\n validateAbortSignal(options.signal\x2C 'options.signal');\x0d\n }\x0d\n\x0d\n return options;\x0d\n}\x0d\n\x0d\n/**\x0d\n * @param {InternalFSBinding.FSSyncContext} ctx\x0d\n */\x0d\nfunction handleErrorFromBinding(ctx) {\x0d\n if (ctx.errno !== undefined) { // libuv error numbers\x0d\n const err = new UVException(ctx);\x0d\n ErrorCaptureStackTrace(err\x2C handleErrorFromBinding);\x0d\n throw err;\x0d\n }\x0d\n if (ctx.error !== undefined) { // Errors created in C++ land.\x0d\n // TODO(joyeecheung): currently\x2C ctx.error are encoding errors\x0d\n // usually caused by memory problems. We need to figure out proper error\x0d\n // code(s) for this.\x0d\n ErrorCaptureStackTrace(ctx.error\x2C handleErrorFromBinding);\x0d\n throw ctx.error;\x0d\n }\x0d\n}\x0d\n\x0d\nfunction preprocessSymlinkDestination(path\x2C type\x2C linkPath) {\x0d\n if (!isWindows) {\x0d\n // No preprocessing is needed on Unix.\x0d\n return path;\x0d\n }\x0d\n path = '' + path;\x0d\n if (type === 'junction') {\x0d\n // Junctions paths need to be absolute and \\\\?\\-prefixed.\x0d\n // A relative target is relative to the link's parent directory.\x0d\n path = pathModule.resolve(linkPath\x2C '..'\x2C path);\x0d\n return pathModule.toNamespacedPath(path);\x0d\n }\x0d\n if (pathModule.isAbsolute(path)) {\x0d\n // If the path is absolute\x2C use the \\\\?\\-prefix to enable long filenames\x0d\n return pathModule.toNamespacedPath(path);\x0d\n }\x0d\n // Windows symlinks don't tolerate forward slashes.\x0d\n return RegExpPrototypeSymbolReplace(/\\//g\x2C path\x2C '\\\\');\x0d\n}\x0d\n\x0d\n// Constructor for file stats.\x0d\nfunction StatsBase(dev\x2C mode\x2C nlink\x2C uid\x2C gid\x2C rdev\x2C blksize\x2C\x0d\n ino\x2C size\x2C blocks) {\x0d\n this.dev = dev;\x0d\n this.mode = mode;\x0d\n this.nlink = nlink;\x0d\n this.uid = uid;\x0d\n this.gid = gid;\x0d\n this.rdev = rdev;\x0d\n this.blksize = blksize;\x0d\n this.ino = ino;\x0d\n this.size = size;\x0d\n this.blocks = blocks;\x0d\n}\x0d\n\x0d\nStatsBase.prototype.isDirectory = function() {\x0d\n return this._checkModeProperty(S_IFDIR);\x0d\n};\x0d\n\x0d\nStatsBase.prototype.isFile = function() {\x0d\n return this._checkModeProperty(S_IFREG);\x0d\n};\x0d\n\x0d\nStatsBase.prototype.isBlockDevice = function() {\x0d\n return this._checkModeProperty(S_IFBLK);\x0d\n};\x0d\n\x0d\nStatsBase.prototype.isCharacterDevice = function() {\x0d\n return this._checkModeProperty(S_IFCHR);\x0d\n};\x0d\n\x0d\nStatsBase.prototype.isSymbolicLink = function() {\x0d\n return this._checkModeProperty(S_IFLNK);\x0d\n};\x0d\n\x0d\nStatsBase.prototype.isFIFO = function() {\x0d\n return this._checkModeProperty(S_IFIFO);\x0d\n};\x0d\n\x0d\nStatsBase.prototype.isSocket = function() {\x0d\n return this._checkModeProperty(S_IFSOCK);\x0d\n};\x0d\n\x0d\nconst kNsPerMsBigInt = 10n ** 6n;\x0d\nconst kNsPerSecBigInt = 10n ** 9n;\x0d\nconst kMsPerSec = 10 ** 3;\x0d\nconst kNsPerMs = 10 ** 6;\x0d\nfunction msFromTimeSpec(sec\x2C nsec) {\x0d\n return sec * kMsPerSec + nsec / kNsPerMs;\x0d\n}\x0d\n\x0d\nfunction nsFromTimeSpecBigInt(sec\x2C nsec) {\x0d\n return sec * kNsPerSecBigInt + nsec;\x0d\n}\x0d\n\x0d\n// The Date constructor performs Math.floor() on the absolute value\x0d\n// of the timestamp: https://tc39.es/ecma262/#sec-timeclip\x0d\n// Since there may be a precision loss when the timestamp is\x0d\n// converted to a floating point number\x2C we manually round\x0d\n// the timestamp here before passing it to Date().\x0d\n// Refs: https://github.com/nodejs/node/pull/12607\x0d\n// Refs: https://github.com/nodejs/node/pull/43714\x0d\nfunction dateFromMs(ms) {\x0d\n // Coercing to number\x2C ms can be bigint\x0d\n return new Date(MathRound(Number(ms)));\x0d\n}\x0d\n\x0d\nfunction BigIntStats(dev\x2C mode\x2C nlink\x2C uid\x2C gid\x2C rdev\x2C blksize\x2C\x0d\n ino\x2C size\x2C blocks\x2C\x0d\n atimeNs\x2C mtimeNs\x2C ctimeNs\x2C birthtimeNs) {\x0d\n ReflectApply(StatsBase\x2C this\x2C [dev\x2C mode\x2C nlink\x2C uid\x2C gid\x2C rdev\x2C blksize\x2C\x0d\n ino\x2C size\x2C blocks]);\x0d\n\x0d\n this.atimeMs = atimeNs / kNsPerMsBigInt;\x0d\n this.mtimeMs = mtimeNs / kNsPerMsBigInt;\x0d\n this.ctimeMs = ctimeNs / kNsPerMsBigInt;\x0d\n this.birthtimeMs = birthtimeNs / kNsPerMsBigInt;\x0d\n this.atimeNs = atimeNs;\x0d\n this.mtimeNs = mtimeNs;\x0d\n this.ctimeNs = ctimeNs;\x0d\n this.birthtimeNs = birthtimeNs;\x0d\n this.atime = dateFromMs(this.atimeMs);\x0d\n this.mtime = dateFromMs(this.mtimeMs);\x0d\n this.ctime = dateFromMs(this.ctimeMs);\x0d\n this.birthtime = dateFromMs(this.birthtimeMs);\x0d\n}\x0d\n\x0d\nObjectSetPrototypeOf(BigIntStats.prototype\x2C StatsBase.prototype);\x0d\nObjectSetPrototypeOf(BigIntStats\x2C StatsBase);\x0d\n\x0d\nBigIntStats.prototype._checkModeProperty = function(property) {\x0d\n if (isWindows && (property === S_IFIFO || property === S_IFBLK ||\x0d\n property === S_IFSOCK)) {\x0d\n return false; // Some types are not available on Windows\x0d\n }\x0d\n return (this.mode & BigInt(S_IFMT)) === BigInt(property);\x0d\n};\x0d\n\x0d\nfunction Stats(dev\x2C mode\x2C nlink\x2C uid\x2C gid\x2C rdev\x2C blksize\x2C\x0d\n ino\x2C size\x2C blocks\x2C\x0d\n atimeMs\x2C mtimeMs\x2C ctimeMs\x2C birthtimeMs) {\x0d\n FunctionPrototypeCall(StatsBase\x2C this\x2C dev\x2C mode\x2C nlink\x2C uid\x2C gid\x2C rdev\x2C\x0d\n blksize\x2C ino\x2C size\x2C blocks);\x0d\n this.atimeMs = atimeMs;\x0d\n this.mtimeMs = mtimeMs;\x0d\n this.ctimeMs = ctimeMs;\x0d\n this.birthtimeMs = birthtimeMs;\x0d\n this.atime = dateFromMs(atimeMs);\x0d\n this.mtime = dateFromMs(mtimeMs);\x0d\n this.ctime = dateFromMs(ctimeMs);\x0d\n this.birthtime = dateFromMs(birthtimeMs);\x0d\n}\x0d\n\x0d\nObjectSetPrototypeOf(Stats.prototype\x2C StatsBase.prototype);\x0d\nObjectSetPrototypeOf(Stats\x2C StatsBase);\x0d\n\x0d\n// HACK: Workaround for https://github.com/standard-things/esm/issues/821.\x0d\n// TODO(ronag): Remove this as soon as `esm` publishes a fixed version.\x0d\nStats.prototype.isFile = StatsBase.prototype.isFile;\x0d\n\x0d\nStats.prototype._checkModeProperty = function(property) {\x0d\n if (isWindows && (property === S_IFIFO || property === S_IFBLK ||\x0d\n property === S_IFSOCK)) {\x0d\n return false; // Some types are not available on Windows\x0d\n }\x0d\n return (this.mode & S_IFMT) === property;\x0d\n};\x0d\n\x0d\n/**\x0d\n * @param {Float64Array | BigInt64Array} stats\x0d\n * @param {number} offset\x0d\n * @returns {BigIntStats | Stats}\x0d\n */\x0d\nfunction getStatsFromBinding(stats\x2C offset = 0) {\x0d\n if (isBigInt64Array(stats)) {\x0d\n return new BigIntStats(\x0d\n stats[0 + offset]\x2C stats[1 + offset]\x2C stats[2 + offset]\x2C\x0d\n stats[3 + offset]\x2C stats[4 + offset]\x2C stats[5 + offset]\x2C\x0d\n stats[6 + offset]\x2C stats[7 + offset]\x2C stats[8 + offset]\x2C\x0d\n stats[9 + offset]\x2C\x0d\n nsFromTimeSpecBigInt(stats[10 + offset]\x2C stats[11 + offset])\x2C\x0d\n nsFromTimeSpecBigInt(stats[12 + offset]\x2C stats[13 + offset])\x2C\x0d\n nsFromTimeSpecBigInt(stats[14 + offset]\x2C stats[15 + offset])\x2C\x0d\n nsFromTimeSpecBigInt(stats[16 + offset]\x2C stats[17 + offset])\x2C\x0d\n );\x0d\n }\x0d\n return new Stats(\x0d\n stats[0 + offset]\x2C stats[1 + offset]\x2C stats[2 + offset]\x2C\x0d\n stats[3 + offset]\x2C stats[4 + offset]\x2C stats[5 + offset]\x2C\x0d\n stats[6 + offset]\x2C stats[7 + offset]\x2C stats[8 + offset]\x2C\x0d\n stats[9 + offset]\x2C\x0d\n msFromTimeSpec(stats[10 + offset]\x2C stats[11 + offset])\x2C\x0d\n msFromTimeSpec(stats[12 + offset]\x2C stats[13 + offset])\x2C\x0d\n msFromTimeSpec(stats[14 + offset]\x2C stats[15 + offset])\x2C\x0d\n msFromTimeSpec(stats[16 + offset]\x2C stats[17 + offset])\x2C\x0d\n );\x0d\n}\x0d\n\x0d\nclass StatFs {\x0d\n constructor(type\x2C bsize\x2C blocks\x2C bfree\x2C bavail\x2C files\x2C ffree) {\x0d\n this.type = type;\x0d\n this.bsize = bsize;\x0d\n this.blocks = blocks;\x0d\n this.bfree = bfree;\x0d\n this.bavail = bavail;\x0d\n this.files = files;\x0d\n this.ffree = ffree;\x0d\n }\x0d\n}\x0d\n\x0d\nfunction getStatFsFromBinding(stats) {\x0d\n return new StatFs(\x0d\n stats[0]\x2C stats[1]\x2C stats[2]\x2C stats[3]\x2C stats[4]\x2C stats[5]\x2C stats[6]\x2C\x0d\n );\x0d\n}\x0d\n\x0d\nfunction stringToFlags(flags\x2C name = 'flags') {\x0d\n if (typeof flags === 'number') {\x0d\n validateInt32(flags\x2C name);\x0d\n return flags;\x0d\n }\x0d\n\x0d\n if (flags == null) {\x0d\n return O_RDONLY;\x0d\n }\x0d\n\x0d\n switch (flags) {\x0d\n case 'r' : return O_RDONLY;\x0d\n case 'rs' : // Fall through.\x0d\n case 'sr' : return O_RDONLY | O_SYNC;\x0d\n case 'r+' : return O_RDWR;\x0d\n case 'rs+' : // Fall through.\x0d\n case 'sr+' : return O_RDWR | O_SYNC;\x0d\n\x0d\n case 'w' : return O_TRUNC | O_CREAT | O_WRONLY;\x0d\n case 'wx' : // Fall through.\x0d\n case 'xw' : return O_TRUNC | O_CREAT | O_WRONLY | O_EXCL;\x0d\n\x0d\n case 'w+' : return O_TRUNC | O_CREAT | O_RDWR;\x0d\n case 'wx+': // Fall through.\x0d\n case 'xw+': return O_TRUNC | O_CREAT | O_RDWR | O_EXCL;\x0d\n\x0d\n case 'a' : return O_APPEND | O_CREAT | O_WRONLY;\x0d\n case 'ax' : // Fall through.\x0d\n case 'xa' : return O_APPEND | O_CREAT | O_WRONLY | O_EXCL;\x0d\n case 'as' : // Fall through.\x0d\n case 'sa' : return O_APPEND | O_CREAT | O_WRONLY | O_SYNC;\x0d\n\x0d\n case 'a+' : return O_APPEND | O_CREAT | O_RDWR;\x0d\n case 'ax+': // Fall through.\x0d\n case 'xa+': return O_APPEND | O_CREAT | O_RDWR | O_EXCL;\x0d\n case 'as+': // Fall through.\x0d\n case 'sa+': return O_APPEND | O_CREAT | O_RDWR | O_SYNC;\x0d\n }\x0d\n\x0d\n throw new ERR_INVALID_ARG_VALUE('flags'\x2C flags);\x0d\n}\x0d\n\x0d\nconst stringToSymlinkType = hideStackFrames((type) => {\x0d\n let flags = 0;\x0d\n if (typeof type === 'string') {\x0d\n switch (type) {\x0d\n case 'dir':\x0d\n flags |= UV_FS_SYMLINK_DIR;\x0d\n break;\x0d\n case 'junction':\x0d\n flags |= UV_FS_SYMLINK_JUNCTION;\x0d\n break;\x0d\n case 'file':\x0d\n break;\x0d\n default:\x0d\n throw new ERR_FS_INVALID_SYMLINK_TYPE(type);\x0d\n }\x0d\n }\x0d\n return flags;\x0d\n});\x0d\n\x0d\n// converts Date or number to a fractional UNIX timestamp\x0d\nfunction toUnixTimestamp(time\x2C name = 'time') {\x0d\n // eslint-disable-next-line eqeqeq\x0d\n if (typeof time === 'string' && +time == time) {\x0d\n return +time;\x0d\n }\x0d\n if (NumberIsFinite(time)) {\x0d\n if (time < 0) {\x0d\n return DateNow() / 1000;\x0d\n }\x0d\n return time;\x0d\n }\x0d\n if (isDate(time)) {\x0d\n // Convert to 123.456 UNIX timestamp\x0d\n return DatePrototypeGetTime(time) / 1000;\x0d\n }\x0d\n throw new ERR_INVALID_ARG_TYPE(name\x2C ['Date'\x2C 'Time in seconds']\x2C time);\x0d\n}\x0d\n\x0d\nconst validateOffsetLengthRead = hideStackFrames(\x0d\n (offset\x2C length\x2C bufferLength) => {\x0d\n if (offset < 0) {\x0d\n throw new ERR_OUT_OF_RANGE.HideStackFramesError('offset'\x2C '>= 0'\x2C offset);\x0d\n }\x0d\n if (length < 0) {\x0d\n throw new ERR_OUT_OF_RANGE.HideStackFramesError('length'\x2C '>= 0'\x2C length);\x0d\n }\x0d\n if (offset + length > bufferLength) {\x0d\n throw new ERR_OUT_OF_RANGE.HideStackFramesError('length'\x2C\x0d\n `<= ${bufferLength - offset}`\x2C length);\x0d\n }\x0d\n }\x2C\x0d\n);\x0d\n\x0d\nconst validateOffsetLengthWrite = hideStackFrames(\x0d\n (offset\x2C length\x2C byteLength) => {\x0d\n if (offset > byteLength) {\x0d\n throw new ERR_OUT_OF_RANGE.HideStackFramesError('offset'\x2C `<= ${byteLength}`\x2C offset);\x0d\n }\x0d\n\x0d\n if (length > byteLength - offset) {\x0d\n throw new ERR_OUT_OF_RANGE.HideStackFramesError('length'\x2C `<= ${byteLength - offset}`\x2C length);\x0d\n }\x0d\n\x0d\n if (length < 0) {\x0d\n throw new ERR_OUT_OF_RANGE.HideStackFramesError('length'\x2C '>= 0'\x2C length);\x0d\n }\x0d\n\x0d\n validateInt32.withoutStackTrace(length\x2C 'length'\x2C 0);\x0d\n }\x2C\x0d\n);\x0d\n\x0d\nconst validatePath = hideStackFrames((path\x2C propName = 'path') => {\x0d\n if (typeof path !== 'string' && !isUint8Array(path)) {\x0d\n throw new ERR_INVALID_ARG_TYPE.HideStackFramesError(propName\x2C ['string'\x2C 'Buffer'\x2C 'URL']\x2C path);\x0d\n }\x0d\n\x0d\n const pathIsString = typeof path === 'string';\x0d\n const pathIsUint8Array = isUint8Array(path);\x0d\n\x0d\n // We can only perform meaningful checks on strings and Uint8Arrays.\x0d\n if ((!pathIsString && !pathIsUint8Array) ||\x0d\n (pathIsString && !StringPrototypeIncludes(path\x2C '\\u0000')) ||\x0d\n (pathIsUint8Array && !TypedArrayPrototypeIncludes(path\x2C 0))) {\x0d\n return;\x0d\n }\x0d\n\x0d\n throw new ERR_INVALID_ARG_VALUE.HideStackFramesError(\x0d\n propName\x2C\x0d\n path\x2C\x0d\n 'must be a string\x2C Uint8Array\x2C or URL without null bytes'\x2C\x0d\n );\x0d\n});\x0d\n\x0d\nconst getValidatedPath = hideStackFrames((fileURLOrPath\x2C propName = 'path') => {\x0d\n const path = toPathIfFileURL(fileURLOrPath);\x0d\n validatePath(path\x2C propName);\x0d\n return path;\x0d\n});\x0d\n\x0d\nconst getValidatedFd = hideStackFrames((fd\x2C propName = 'fd') => {\x0d\n if (ObjectIs(fd\x2C -0)) {\x0d\n return 0;\x0d\n }\x0d\n\x0d\n validateInt32(fd\x2C propName\x2C 0);\x0d\n\x0d\n return fd;\x0d\n});\x0d\n\x0d\nconst validateBufferArray = hideStackFrames((buffers\x2C propName = 'buffers') => {\x0d\n if (!ArrayIsArray(buffers))\x0d\n throw new ERR_INVALID_ARG_TYPE.HideStackFramesError(propName\x2C 'ArrayBufferView[]'\x2C buffers);\x0d\n\x0d\n for (let i = 0; i < buffers.length; i++) {\x0d\n if (!isArrayBufferView(buffers[i]))\x0d\n throw new ERR_INVALID_ARG_TYPE.HideStackFramesError(propName\x2C 'ArrayBufferView[]'\x2C buffers);\x0d\n }\x0d\n\x0d\n return buffers;\x0d\n});\x0d\n\x0d\nlet nonPortableTemplateWarn = true;\x0d\n\x0d\nfunction warnOnNonPortableTemplate(template) {\x0d\n // Template strings passed to the mkdtemp() family of functions should not\x0d\n // end with 'X' because they are handled inconsistently across platforms.\x0d\n if (nonPortableTemplateWarn &&\x0d\n ((typeof template === 'string' && StringPrototypeEndsWith(template\x2C 'X')) ||\x0d\n (typeof template !== 'string' && TypedArrayPrototypeAt(template\x2C -1) === 0x58))) {\x0d\n process.emitWarning('mkdtemp() templates ending with X are not portable. ' +\x0d\n 'For details see: https://nodejs.org/api/fs.html');\x0d\n nonPortableTemplateWarn = false;\x0d\n }\x0d\n}\x0d\n\x0d\nconst defaultCpOptions = {\x0d\n dereference: false\x2C\x0d\n errorOnExist: false\x2C\x0d\n filter: undefined\x2C\x0d\n force: true\x2C\x0d\n preserveTimestamps: false\x2C\x0d\n recursive: false\x2C\x0d\n verbatimSymlinks: false\x2C\x0d\n};\x0d\n\x0d\nconst defaultRmOptions = {\x0d\n recursive: false\x2C\x0d\n force: false\x2C\x0d\n retryDelay: 100\x2C\x0d\n maxRetries: 0\x2C\x0d\n};\x0d\n\x0d\nconst defaultRmdirOptions = {\x0d\n retryDelay: 100\x2C\x0d\n maxRetries: 0\x2C\x0d\n recursive: false\x2C\x0d\n};\x0d\n\x0d\nconst validateCpOptions = hideStackFrames((options) => {\x0d\n if (options === undefined)\x0d\n return { ...defaultCpOptions };\x0d\n validateObject(options\x2C 'options');\x0d\n options = { ...defaultCpOptions\x2C ...options };\x0d\n validateBoolean(options.dereference\x2C 'options.dereference');\x0d\n validateBoolean(options.errorOnExist\x2C 'options.errorOnExist');\x0d\n validateBoolean(options.force\x2C 'options.force');\x0d\n validateBoolean(options.preserveTimestamps\x2C 'options.preserveTimestamps');\x0d\n validateBoolean(options.recursive\x2C 'options.recursive');\x0d\n validateBoolean(options.verbatimSymlinks\x2C 'options.verbatimSymlinks');\x0d\n options.mode = getValidMode(options.mode\x2C 'copyFile');\x0d\n if (options.dereference === true && options.verbatimSymlinks === true) {\x0d\n throw new ERR_INCOMPATIBLE_OPTION_PAIR.HideStackFramesError('dereference'\x2C 'verbatimSymlinks');\x0d\n }\x0d\n if (options.filter !== undefined) {\x0d\n validateFunction(options.filter\x2C 'options.filter');\x0d\n }\x0d\n return options;\x0d\n});\x0d\n\x0d\nconst validateRmOptions = hideStackFrames((path\x2C options\x2C expectDir\x2C cb) => {\x0d\n options = validateRmdirOptions(options\x2C defaultRmOptions);\x0d\n validateBoolean(options.force\x2C 'options.force');\x0d\n\x0d\n lazyLoadFs().lstat(path\x2C (err\x2C stats) => {\x0d\n if (err) {\x0d\n if (options.force && err.code === 'ENOENT') {\x0d\n return cb(null\x2C options);\x0d\n }\x0d\n return cb(err\x2C options);\x0d\n }\x0d\n\x0d\n if (expectDir && !stats.isDirectory()) {\x0d\n return cb(false);\x0d\n }\x0d\n\x0d\n if (stats.isDirectory() && !options.recursive) {\x0d\n const err = new ERR_FS_EISDIR.HideStackFramesError({\x0d\n code: 'EISDIR'\x2C\x0d\n message: 'is a directory'\x2C\x0d\n path\x2C\x0d\n syscall: 'rm'\x2C\x0d\n errno: EISDIR\x2C\x0d\n });\x0d\n\x0d\n return cb(err);\x0d\n }\x0d\n return cb(null\x2C options);\x0d\n });\x0d\n});\x0d\n\x0d\nconst validateRmOptionsSync = hideStackFrames((path\x2C options\x2C expectDir) => {\x0d\n options = validateRmdirOptions.withoutStackTrace(options\x2C defaultRmOptions);\x0d\n validateBoolean.withoutStackTrace(options.force\x2C 'options.force');\x0d\n\x0d\n if (!options.force || expectDir || !options.recursive) {\x0d\n const isDirectory = lazyLoadFs()\x0d\n .lstatSync(path\x2C { throwIfNoEntry: !options.force })?.isDirectory();\x0d\n\x0d\n if (expectDir && !isDirectory) {\x0d\n return false;\x0d\n }\x0d\n\x0d\n if (isDirectory && !options.recursive) {\x0d\n throw new ERR_FS_EISDIR.HideStackFramesError({\x0d\n code: 'EISDIR'\x2C\x0d\n message: 'is a directory'\x2C\x0d\n path\x2C\x0d\n syscall: 'rm'\x2C\x0d\n errno: EISDIR\x2C\x0d\n });\x0d\n }\x0d\n }\x0d\n\x0d\n return options;\x0d\n});\x0d\n\x0d\nlet recursiveRmdirWarned;\x0d\nfunction emitRecursiveRmdirWarning() {\x0d\n if (recursiveRmdirWarned === undefined) {\x0d\n // TODO(joyeecheung): use getOptionValue('--no-deprecation') instead.\x0d\n recursiveRmdirWarned = process.noDeprecation;\x0d\n }\x0d\n if (!recursiveRmdirWarned) {\x0d\n process.emitWarning(\x0d\n 'In future versions of Node.js\x2C fs.rmdir(path\x2C { recursive: true }) ' +\x0d\n 'will be removed. Use fs.rm(path\x2C { recursive: true }) instead'\x2C\x0d\n 'DeprecationWarning'\x2C\x0d\n 'DEP0147'\x2C\x0d\n );\x0d\n recursiveRmdirWarned = true;\x0d\n }\x0d\n}\x0d\n\x0d\nconst validateRmdirOptions = hideStackFrames(\x0d\n (options\x2C defaults = defaultRmdirOptions) => {\x0d\n if (options === undefined)\x0d\n return defaults;\x0d\n validateObject.withoutStackTrace(options\x2C 'options');\x0d\n\x0d\n options = { ...defaults\x2C ...options };\x0d\n\x0d\n validateBoolean.withoutStackTrace(options.recursive\x2C 'options.recursive');\x0d\n validateInt32.withoutStackTrace(options.retryDelay\x2C 'options.retryDelay'\x2C 0);\x0d\n validateUint32.withoutStackTrace(options.maxRetries\x2C 'options.maxRetries');\x0d\n\x0d\n return options;\x0d\n });\x0d\n\x0d\nconst getValidMode = hideStackFrames((mode\x2C type) => {\x0d\n let min = kMinimumAccessMode;\x0d\n let max = kMaximumAccessMode;\x0d\n let def = F_OK;\x0d\n if (type === 'copyFile') {\x0d\n min = kMinimumCopyMode;\x0d\n max = kMaximumCopyMode;\x0d\n def = mode || kDefaultCopyMode;\x0d\n } else {\x0d\n assert(type === 'access');\x0d\n }\x0d\n if (mode == null) {\x0d\n return def;\x0d\n }\x0d\n validateInteger.withoutStackTrace(mode\x2C 'mode'\x2C min\x2C max);\x0d\n return mode;\x0d\n});\x0d\n\x0d\nconst validateStringAfterArrayBufferView = hideStackFrames((buffer\x2C name) => {\x0d\n if (typeof buffer !== 'string') {\x0d\n throw new ERR_INVALID_ARG_TYPE.HideStackFramesError(\x0d\n name\x2C\x0d\n ['string'\x2C 'Buffer'\x2C 'TypedArray'\x2C 'DataView']\x2C\x0d\n buffer\x2C\x0d\n );\x0d\n }\x0d\n});\x0d\n\x0d\nconst validatePosition = hideStackFrames((position\x2C name) => {\x0d\n if (typeof position === 'number') {\x0d\n validateInteger.withoutStackTrace(position\x2C name\x2C -1);\x0d\n } else if (typeof position === 'bigint') {\x0d\n if (!(position >= -(2n ** 63n) && position <= 2n ** 63n - 1n)) {\x0d\n throw new ERR_OUT_OF_RANGE.HideStackFramesError(name\x2C\x0d\n `>= ${-(2n ** 63n)} && <= ${2n ** 63n - 1n}`\x2C\x0d\n position);\x0d\n }\x0d\n } else {\x0d\n throw new ERR_INVALID_ARG_TYPE.HideStackFramesError(name\x2C ['integer'\x2C 'bigint']\x2C position);\x0d\n }\x0d\n});\x0d\n\x0d\nmodule.exports = {\x0d\n constants: {\x0d\n kIoMaxLength\x2C\x0d\n kMaxUserId\x2C\x0d\n kReadFileBufferLength\x2C\x0d\n kReadFileUnknownBufferLength\x2C\x0d\n kWriteFileMaxChunkSize\x2C\x0d\n }\x2C\x0d\n assertEncoding\x2C\x0d\n BigIntStats\x2C // for testing\x0d\n copyObject\x2C\x0d\n Dirent\x2C\x0d\n emitRecursiveRmdirWarning\x2C\x0d\n getDirent\x2C\x0d\n getDirents\x2C\x0d\n getOptions\x2C\x0d\n getValidatedFd\x2C\x0d\n getValidatedPath\x2C\x0d\n handleErrorFromBinding\x2C\x0d\n preprocessSymlinkDestination\x2C\x0d\n realpathCacheKey: Symbol('realpathCacheKey')\x2C\x0d\n getStatFsFromBinding\x2C\x0d\n getStatsFromBinding\x2C\x0d\n stringToFlags\x2C\x0d\n stringToSymlinkType\x2C\x0d\n Stats\x2C\x0d\n toUnixTimestamp\x2C\x0d\n validateBufferArray\x2C\x0d\n validateCpOptions\x2C\x0d\n validateOffsetLengthRead\x2C\x0d\n validateOffsetLengthWrite\x2C\x0d\n validatePath\x2C\x0d\n validatePosition\x2C\x0d\n validateRmOptions\x2C\x0d\n validateRmOptionsSync\x2C\x0d\n validateRmdirOptions\x2C\x0d\n validateStringAfterArrayBufferView\x2C\x0d\n warnOnNonPortableTemplate\x2C\x0d\n};\x0d\n
code-source-info,0x22fbeda9776,29,19733,19872,C14O19789C19O19789C24O19824C29O19824C34O19857C36O19869,,
code-creation,JS,10,527680,0x22fbedab61e,20,toPathIfFileURL node:internal/url:1553:25,0x39e2db63738,~
script-source,30,node:internal/url,'use strict';\x0d\n\x0d\nconst {\x0d\n Array\x2C\x0d\n ArrayIsArray\x2C\x0d\n ArrayPrototypeJoin\x2C\x0d\n ArrayPrototypeMap\x2C\x0d\n ArrayPrototypePush\x2C\x0d\n ArrayPrototypeReduce\x2C\x0d\n ArrayPrototypeSlice\x2C\x0d\n Boolean\x2C\x0d\n Int8Array\x2C\x0d\n IteratorPrototype\x2C\x0d\n Number\x2C\x0d\n ObjectDefineProperties\x2C\x0d\n ObjectSetPrototypeOf\x2C\x0d\n ReflectGetOwnPropertyDescriptor\x2C\x0d\n ReflectOwnKeys\x2C\x0d\n RegExpPrototypeSymbolReplace\x2C\x0d\n SafeMap\x2C\x0d\n SafeSet\x2C\x0d\n StringPrototypeCharAt\x2C\x0d\n StringPrototypeCharCodeAt\x2C\x0d\n StringPrototypeCodePointAt\x2C\x0d\n StringPrototypeIncludes\x2C\x0d\n StringPrototypeIndexOf\x2C\x0d\n StringPrototypeSlice\x2C\x0d\n StringPrototypeStartsWith\x2C\x0d\n StringPrototypeToWellFormed\x2C\x0d\n Symbol\x2C\x0d\n SymbolIterator\x2C\x0d\n SymbolToStringTag\x2C\x0d\n decodeURIComponent\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst { inspect } = require('internal/util/inspect');\x0d\nconst {\x0d\n encodeStr\x2C\x0d\n hexTable\x2C\x0d\n isHexTable\x2C\x0d\n} = require('internal/querystring');\x0d\n\x0d\nconst {\x0d\n getConstructorOf\x2C\x0d\n removeColors\x2C\x0d\n kEnumerableProperty\x2C\x0d\n kEmptyObject\x2C\x0d\n SideEffectFreeRegExpPrototypeSymbolReplace\x2C\x0d\n} = require('internal/util');\x0d\n\x0d\nconst {\x0d\n codes: {\x0d\n ERR_ARG_NOT_ITERABLE\x2C\x0d\n ERR_INVALID_ARG_TYPE\x2C\x0d\n ERR_INVALID_ARG_VALUE\x2C\x0d\n ERR_INVALID_FILE_URL_HOST\x2C\x0d\n ERR_INVALID_FILE_URL_PATH\x2C\x0d\n ERR_INVALID_THIS\x2C\x0d\n ERR_INVALID_TUPLE\x2C\x0d\n ERR_INVALID_URL\x2C\x0d\n ERR_INVALID_URL_SCHEME\x2C\x0d\n ERR_MISSING_ARGS\x2C\x0d\n ERR_NO_CRYPTO\x2C\x0d\n }\x2C\x0d\n} = require('internal/errors');\x0d\nconst {\x0d\n CHAR_AMPERSAND\x2C\x0d\n CHAR_BACKWARD_SLASH\x2C\x0d\n CHAR_EQUAL\x2C\x0d\n CHAR_FORWARD_SLASH\x2C\x0d\n CHAR_LOWERCASE_A\x2C\x0d\n CHAR_LOWERCASE_Z\x2C\x0d\n CHAR_PERCENT\x2C\x0d\n CHAR_PLUS\x2C\x0d\n} = require('internal/constants');\x0d\nconst path = require('path');\x0d\n\x0d\nconst {\x0d\n validateFunction\x2C\x0d\n} = require('internal/validators');\x0d\n\x0d\nconst querystring = require('querystring');\x0d\n\x0d\nconst { platform } = process;\x0d\nconst isWindows = platform === 'win32';\x0d\n\x0d\nconst bindingUrl = internalBinding('url');\x0d\n\x0d\nconst FORWARD_SLASH = /\\//g;\x0d\n\x0d\nconst contextForInspect = Symbol('context');\x0d\n\x0d\n// `unsafeProtocol`\x2C `hostlessProtocol` and `slashedProtocol` is\x0d\n// deliberately moved to `internal/url` rather than `url`.\x0d\n// Workers does not bootstrap URL module. Therefore\x2C `SafeSet`\x0d\n// is not initialized on bootstrap. This case breaks the\x0d\n// test-require-delete-array-iterator test.\x0d\n\x0d\n// Protocols that can allow "unsafe" and "unwise" chars.\x0d\nconst unsafeProtocol = new SafeSet([\x0d\n 'javascript'\x2C\x0d\n 'javascript:'\x2C\x0d\n]);\x0d\n// Protocols that never have a hostname.\x0d\nconst hostlessProtocol = new SafeSet([\x0d\n 'javascript'\x2C\x0d\n 'javascript:'\x2C\x0d\n]);\x0d\n// Protocols that always contain a // bit.\x0d\nconst slashedProtocol = new SafeSet([\x0d\n 'http'\x2C\x0d\n 'http:'\x2C\x0d\n 'https'\x2C\x0d\n 'https:'\x2C\x0d\n 'ftp'\x2C\x0d\n 'ftp:'\x2C\x0d\n 'gopher'\x2C\x0d\n 'gopher:'\x2C\x0d\n 'file'\x2C\x0d\n 'file:'\x2C\x0d\n 'ws'\x2C\x0d\n 'ws:'\x2C\x0d\n 'wss'\x2C\x0d\n 'wss:'\x2C\x0d\n]);\x0d\n\x0d\nconst updateActions = {\x0d\n kProtocol: 0\x2C\x0d\n kHost: 1\x2C\x0d\n kHostname: 2\x2C\x0d\n kPort: 3\x2C\x0d\n kUsername: 4\x2C\x0d\n kPassword: 5\x2C\x0d\n kPathname: 6\x2C\x0d\n kSearch: 7\x2C\x0d\n kHash: 8\x2C\x0d\n kHref: 9\x2C\x0d\n};\x0d\nlet blob;\x0d\nlet cryptoRandom;\x0d\n\x0d\nfunction lazyBlob() {\x0d\n blob ??= require('internal/blob');\x0d\n return blob;\x0d\n}\x0d\n\x0d\nfunction lazyCryptoRandom() {\x0d\n try {\x0d\n cryptoRandom ??= require('internal/crypto/random');\x0d\n } catch {\x0d\n // If Node.js built without crypto support\x2C we'll fall\x0d\n // through here and handle it later.\x0d\n }\x0d\n return cryptoRandom;\x0d\n}\x0d\n\x0d\n// This class provides the internal state of a URL object. An instance of this\x0d\n// class is stored in every URL object and is accessed internally by setters\x0d\n// and getters. It roughly corresponds to the concept of a URL record in the\x0d\n// URL Standard\x2C with a few differences. It is also the object transported to\x0d\n// the C++ binding.\x0d\n// Refs: https://url.spec.whatwg.org/#concept-url\x0d\nclass URLContext {\x0d\n // This is the maximum value uint32_t can get.\x0d\n // Ada uses uint32_t(-1) for declaring omitted values.\x0d\n static #omitted = 4294967295;\x0d\n\x0d\n href = '';\x0d\n protocol_end = 0;\x0d\n username_end = 0;\x0d\n host_start = 0;\x0d\n host_end = 0;\x0d\n pathname_start = 0;\x0d\n search_start = 0;\x0d\n hash_start = 0;\x0d\n port = 0;\x0d\n /**\x0d\n * Refers to `ada::scheme::type`\x0d\n *\x0d\n * enum type : uint8_t {\x0d\n * HTTP = 0\x2C\x0d\n * NOT_SPECIAL = 1\x2C\x0d\n * HTTPS = 2\x2C\x0d\n * WS = 3\x2C\x0d\n * FTP = 4\x2C\x0d\n * WSS = 5\x2C\x0d\n * FILE = 6\x0d\n * };\x0d\n * @type {number}\x0d\n */\x0d\n scheme_type = 1;\x0d\n\x0d\n get hasPort() {\x0d\n return this.port !== URLContext.#omitted;\x0d\n }\x0d\n\x0d\n get hasSearch() {\x0d\n return this.search_start !== URLContext.#omitted;\x0d\n }\x0d\n\x0d\n get hasHash() {\x0d\n return this.hash_start !== URLContext.#omitted;\x0d\n }\x0d\n}\x0d\n\x0d\nlet setURLSearchParamsModified;\x0d\nlet setURLSearchParamsContext;\x0d\nlet getURLSearchParamsList;\x0d\nlet setURLSearchParams;\x0d\n\x0d\nclass URLSearchParamsIterator {\x0d\n #target;\x0d\n #kind;\x0d\n #index;\x0d\n\x0d\n // https://heycam.github.io/webidl/#dfn-default-iterator-object\x0d\n constructor(target\x2C kind) {\x0d\n this.#target = target;\x0d\n this.#kind = kind;\x0d\n this.#index = 0;\x0d\n }\x0d\n\x0d\n next() {\x0d\n if (typeof this !== 'object' || this === null || !(#target in this))\x0d\n throw new ERR_INVALID_THIS('URLSearchParamsIterator');\x0d\n\x0d\n const index = this.#index;\x0d\n const values = getURLSearchParamsList(this.#target);\x0d\n const len = values.length;\x0d\n if (index >= len) {\x0d\n return {\x0d\n value: undefined\x2C\x0d\n done: true\x2C\x0d\n };\x0d\n }\x0d\n\x0d\n const name = values[index];\x0d\n const value = values[index + 1];\x0d\n this.#index = index + 2;\x0d\n\x0d\n let result;\x0d\n if (this.#kind === 'key') {\x0d\n result = name;\x0d\n } else if (this.#kind === 'value') {\x0d\n result = value;\x0d\n } else {\x0d\n result = [name\x2C value];\x0d\n }\x0d\n\x0d\n return {\x0d\n value: result\x2C\x0d\n done: false\x2C\x0d\n };\x0d\n }\x0d\n\x0d\n [inspect.custom](recurseTimes\x2C ctx) {\x0d\n if (!this || typeof this !== 'object' || !(#target in this))\x0d\n throw new ERR_INVALID_THIS('URLSearchParamsIterator');\x0d\n\x0d\n if (typeof recurseTimes === 'number' && recurseTimes < 0)\x0d\n return ctx.stylize('[Object]'\x2C 'special');\x0d\n\x0d\n const innerOpts = { ...ctx };\x0d\n if (recurseTimes !== null) {\x0d\n innerOpts.depth = recurseTimes - 1;\x0d\n }\x0d\n const index = this.#index;\x0d\n const values = getURLSearchParamsList(this.#target);\x0d\n const output = ArrayPrototypeReduce(\x0d\n ArrayPrototypeSlice(values\x2C index)\x2C\x0d\n (prev\x2C cur\x2C i) => {\x0d\n const key = i % 2 === 0;\x0d\n if (this.#kind === 'key' && key) {\x0d\n ArrayPrototypePush(prev\x2C cur);\x0d\n } else if (this.#kind === 'value' && !key) {\x0d\n ArrayPrototypePush(prev\x2C cur);\x0d\n } else if (this.#kind === 'key+value' && !key) {\x0d\n ArrayPrototypePush(prev\x2C [values[index + i - 1]\x2C cur]);\x0d\n }\x0d\n return prev;\x0d\n }\x2C\x0d\n []\x2C\x0d\n );\x0d\n const breakLn = StringPrototypeIncludes(inspect(output\x2C innerOpts)\x2C '\\n');\x0d\n const outputStrs = ArrayPrototypeMap(output\x2C (p) => inspect(p\x2C innerOpts));\x0d\n let outputStr;\x0d\n if (breakLn) {\x0d\n outputStr = `\\n ${ArrayPrototypeJoin(outputStrs\x2C '\x2C\\n ')}`;\x0d\n } else {\x0d\n outputStr = ` ${ArrayPrototypeJoin(outputStrs\x2C '\x2C ')}`;\x0d\n }\x0d\n return `${this[SymbolToStringTag]} {${outputStr} }`;\x0d\n }\x0d\n}\x0d\n\x0d\n// https://heycam.github.io/webidl/#dfn-iterator-prototype-object\x0d\ndelete URLSearchParamsIterator.prototype.constructor;\x0d\nObjectSetPrototypeOf(URLSearchParamsIterator.prototype\x2C IteratorPrototype);\x0d\n\x0d\nObjectDefineProperties(URLSearchParamsIterator.prototype\x2C {\x0d\n [SymbolToStringTag]: { __proto__: null\x2C configurable: true\x2C value: 'URLSearchParams Iterator' }\x2C\x0d\n next: kEnumerableProperty\x2C\x0d\n});\x0d\n\x0d\n\x0d\nclass URLSearchParams {\x0d\n #searchParams = [];\x0d\n\x0d\n // "associated url object"\x0d\n #context;\x0d\n\x0d\n static {\x0d\n setURLSearchParamsContext = (obj\x2C ctx) => {\x0d\n obj.#context = ctx;\x0d\n };\x0d\n getURLSearchParamsList = (obj) => obj.#searchParams;\x0d\n setURLSearchParams = (obj\x2C query) => {\x0d\n if (query === undefined) {\x0d\n obj.#searchParams = [];\x0d\n } else {\x0d\n obj.#searchParams = parseParams(query);\x0d\n }\x0d\n };\x0d\n }\x0d\n\x0d\n // URL Standard says the default value is ''\x2C but as undefined and '' have\x0d\n // the same result\x2C undefined is used to prevent unnecessary parsing.\x0d\n // Default parameter is necessary to keep URLSearchParams.length === 0 in\x0d\n // accordance with Web IDL spec.\x0d\n constructor(init = undefined) {\x0d\n if (init == null) {\x0d\n // Do nothing\x0d\n } else if (typeof init === 'object' || typeof init === 'function') {\x0d\n const method = init[SymbolIterator];\x0d\n if (method === this[SymbolIterator] && #searchParams in init) {\x0d\n // While the spec does not have this branch\x2C we can use it as a\x0d\n // shortcut to avoid having to go through the costly generic iterator.\x0d\n const childParams = init.#searchParams;\x0d\n this.#searchParams = childParams.slice();\x0d\n } else if (method != null) {\x0d\n // Sequence<sequence<USVString>>\x0d\n if (typeof method !== 'function') {\x0d\n throw new ERR_ARG_NOT_ITERABLE('Query pairs');\x0d\n }\x0d\n\x0d\n // The following implementation differs from the URL specification:\x0d\n // Sequences must first be converted from ECMAScript objects before\x0d\n // and operations are done on them\x2C and the operation of converting\x0d\n // the sequences would first exhaust the iterators. If the iterator\x0d\n // returns something invalid in the middle\x2C whether it would be called\x0d\n // after that would be an observable change to the users.\x0d\n // Exhausting the iterator and later converting them to USVString comes\x0d\n // with a significant cost (~40-80%). In order optimize URLSearchParams\x0d\n // creation duration\x2C Node.js merges the iteration and converting\x0d\n // iterations into a single iteration.\x0d\n for (const pair of init) {\x0d\n if (pair == null) {\x0d\n throw new ERR_INVALID_TUPLE('Each query pair'\x2C '[name\x2C value]');\x0d\n } else if (ArrayIsArray(pair)) {\x0d\n // If innerSequence's size is not 2\x2C then throw a TypeError.\x0d\n if (pair.length !== 2) {\x0d\n throw new ERR_INVALID_TUPLE('Each query pair'\x2C '[name\x2C value]');\x0d\n }\x0d\n // Append (innerSequence[0]\x2C innerSequence[1]) to query's list.\x0d\n ArrayPrototypePush(\x0d\n this.#searchParams\x2C\x0d\n StringPrototypeToWellFormed(`${pair[0]}`)\x2C\x0d\n StringPrototypeToWellFormed(`${pair[1]}`)\x2C\x0d\n );\x0d\n } else {\x0d\n if (((typeof pair !== 'object' && typeof pair !== 'function') ||\x0d\n typeof pair[SymbolIterator] !== 'function')) {\x0d\n throw new ERR_INVALID_TUPLE('Each query pair'\x2C '[name\x2C value]');\x0d\n }\x0d\n\x0d\n let length = 0;\x0d\n\x0d\n for (const element of pair) {\x0d\n length++;\x0d\n ArrayPrototypePush(this.#searchParams\x2C StringPrototypeToWellFormed(`${element}`));\x0d\n }\x0d\n\x0d\n // If innerSequence's size is not 2\x2C then throw a TypeError.\x0d\n if (length !== 2) {\x0d\n throw new ERR_INVALID_TUPLE('Each query pair'\x2C '[name\x2C value]');\x0d\n }\x0d\n }\x0d\n }\x0d\n } else {\x0d\n // Record<USVString\x2C USVString>\x0d\n // Need to use reflection APIs for full spec compliance.\x0d\n const visited = new SafeMap();\x0d\n const keys = ReflectOwnKeys(init);\x0d\n for (let i = 0; i < keys.length; i++) {\x0d\n const key = keys[i];\x0d\n const desc = ReflectGetOwnPropertyDescriptor(init\x2C key);\x0d\n if (desc !== undefined && desc.enumerable) {\x0d\n const typedKey = StringPrototypeToWellFormed(key);\x0d\n const typedValue = StringPrototypeToWellFormed(`${init[key]}`);\x0d\n\x0d\n // Two different keys may become the same USVString after normalization.\x0d\n // In that case\x2C we retain the later one. Refer to WPT.\x0d\n const keyIdx = visited.get(typedKey);\x0d\n if (keyIdx !== undefined) {\x0d\n this.#searchParams[keyIdx] = typedValue;\x0d\n } else {\x0d\n visited.set(typedKey\x2C ArrayPrototypePush(this.#searchParams\x2C\x0d\n typedKey\x2C\x0d\n typedValue) - 1);\x0d\n }\x0d\n }\x0d\n }\x0d\n }\x0d\n } else {\x0d\n // https://url.spec.whatwg.org/#dom-urlsearchparams-urlsearchparams\x0d\n init = StringPrototypeToWellFormed(`${init}`);\x0d\n this.#searchParams = init ? parseParams(init) : [];\x0d\n }\x0d\n }\x0d\n\x0d\n [inspect.custom](recurseTimes\x2C ctx) {\x0d\n if (typeof this !== 'object' || this === null || !(#searchParams in this))\x0d\n throw new ERR_INVALID_THIS('URLSearchParams');\x0d\n\x0d\n if (typeof recurseTimes === 'number' && recurseTimes < 0)\x0d\n return ctx.stylize('[Object]'\x2C 'special');\x0d\n\x0d\n const separator = '\x2C ';\x0d\n const innerOpts = { ...ctx };\x0d\n if (recurseTimes !== null) {\x0d\n innerOpts.depth = recurseTimes - 1;\x0d\n }\x0d\n const innerInspect = (v) => inspect(v\x2C innerOpts);\x0d\n\x0d\n const list = this.#searchParams;\x0d\n const output = [];\x0d\n for (let i = 0; i < list.length; i += 2)\x0d\n ArrayPrototypePush(\x0d\n output\x2C\x0d\n `${innerInspect(list[i])} => ${innerInspect(list[i + 1])}`);\x0d\n\x0d\n const length = ArrayPrototypeReduce(\x0d\n output\x2C\x0d\n (prev\x2C cur) => prev + removeColors(cur).length + separator.length\x2C\x0d\n -separator.length\x2C\x0d\n );\x0d\n if (length > ctx.breakLength) {\x0d\n return `${this.constructor.name} {\\n` +\x0d\n ` ${ArrayPrototypeJoin(output\x2C '\x2C\\n ')} }`;\x0d\n } else if (output.length) {\x0d\n return `${this.constructor.name} { ` +\x0d\n `${ArrayPrototypeJoin(output\x2C separator)} }`;\x0d\n }\x0d\n return `${this.constructor.name} {}`;\x0d\n }\x0d\n\x0d\n get size() {\x0d\n if (typeof this !== 'object' || this === null || !(#searchParams in this))\x0d\n throw new ERR_INVALID_THIS('URLSearchParams');\x0d\n return this.#searchParams.length / 2;\x0d\n }\x0d\n\x0d\n append(name\x2C value) {\x0d\n if (typeof this !== 'object' || this === null || !(#searchParams in this))\x0d\n throw new ERR_INVALID_THIS('URLSearchParams');\x0d\n\x0d\n if (arguments.length < 2) {\x0d\n throw new ERR_MISSING_ARGS('name'\x2C 'value');\x0d\n }\x0d\n\x0d\n name = StringPrototypeToWellFormed(`${name}`);\x0d\n value = StringPrototypeToWellFormed(`${value}`);\x0d\n ArrayPrototypePush(this.#searchParams\x2C name\x2C value);\x0d\n\x0d\n if (this.#context) {\x0d\n setURLSearchParamsModified(this.#context);\x0d\n }\x0d\n }\x0d\n\x0d\n delete(name\x2C value = undefined) {\x0d\n if (typeof this !== 'object' || this === null || !(#searchParams in this))\x0d\n throw new ERR_INVALID_THIS('URLSearchParams');\x0d\n\x0d\n if (arguments.length < 1) {\x0d\n throw new ERR_MISSING_ARGS('name');\x0d\n }\x0d\n\x0d\n const list = this.#searchParams;\x0d\n name = StringPrototypeToWellFormed(`${name}`);\x0d\n\x0d\n if (value !== undefined) {\x0d\n value = StringPrototypeToWellFormed(`${value}`);\x0d\n for (let i = 0; i < list.length;) {\x0d\n if (list[i] === name && list[i + 1] === value) {\x0d\n list.splice(i\x2C 2);\x0d\n } else {\x0d\n i += 2;\x0d\n }\x0d\n }\x0d\n } else {\x0d\n for (let i = 0; i < list.length;) {\x0d\n if (list[i] === name) {\x0d\n list.splice(i\x2C 2);\x0d\n } else {\x0d\n i += 2;\x0d\n }\x0d\n }\x0d\n }\x0d\n\x0d\n if (this.#context) {\x0d\n setURLSearchParamsModified(this.#context);\x0d\n }\x0d\n }\x0d\n\x0d\n get(name) {\x0d\n if (typeof this !== 'object' || this === null || !(#searchParams in this))\x0d\n throw new ERR_INVALID_THIS('URLSearchParams');\x0d\n\x0d\n if (arguments.length < 1) {\x0d\n throw new ERR_MISSING_ARGS('name');\x0d\n }\x0d\n\x0d\n const list = this.#searchParams;\x0d\n name = StringPrototypeToWellFormed(`${name}`);\x0d\n for (let i = 0; i < list.length; i += 2) {\x0d\n if (list[i] === name) {\x0d\n return list[i + 1];\x0d\n }\x0d\n }\x0d\n return null;\x0d\n }\x0d\n\x0d\n getAll(name) {\x0d\n if (typeof this !== 'object' || this === null || !(#searchParams in this))\x0d\n throw new ERR_INVALID_THIS('URLSearchParams');\x0d\n\x0d\n if (arguments.length < 1) {\x0d\n throw new ERR_MISSING_ARGS('name');\x0d\n }\x0d\n\x0d\n const list = this.#searchParams;\x0d\n const values = [];\x0d\n name = StringPrototypeToWellFormed(`${name}`);\x0d\n for (let i = 0; i < list.length; i += 2) {\x0d\n if (list[i] === name) {\x0d\n values.push(list[i + 1]);\x0d\n }\x0d\n }\x0d\n return values;\x0d\n }\x0d\n\x0d\n has(name\x2C value = undefined) {\x0d\n if (typeof this !== 'object' || this === null || !(#searchParams in this))\x0d\n throw new ERR_INVALID_THIS('URLSearchParams');\x0d\n\x0d\n if (arguments.length < 1) {\x0d\n throw new ERR_MISSING_ARGS('name');\x0d\n }\x0d\n\x0d\n const list = this.#searchParams;\x0d\n name = StringPrototypeToWellFormed(`${name}`);\x0d\n\x0d\n if (value !== undefined) {\x0d\n value = StringPrototypeToWellFormed(`${value}`);\x0d\n }\x0d\n\x0d\n for (let i = 0; i < list.length; i += 2) {\x0d\n if (list[i] === name) {\x0d\n if (value === undefined || list[i + 1] === value) {\x0d\n return true;\x0d\n }\x0d\n }\x0d\n }\x0d\n\x0d\n return false;\x0d\n }\x0d\n\x0d\n set(name\x2C value) {\x0d\n if (typeof this !== 'object' || this === null || !(#searchParams in this))\x0d\n throw new ERR_INVALID_THIS('URLSearchParams');\x0d\n\x0d\n if (arguments.length < 2) {\x0d\n throw new ERR_MISSING_ARGS('name'\x2C 'value');\x0d\n }\x0d\n\x0d\n const list = this.#searchParams;\x0d\n name = StringPrototypeToWellFormed(`${name}`);\x0d\n value = StringPrototypeToWellFormed(`${value}`);\x0d\n\x0d\n // If there are any name-value pairs whose name is `name`\x2C in `list`\x2C set\x0d\n // the value of the first such name-value pair to `value` and remove the\x0d\n // others.\x0d\n let found = false;\x0d\n for (let i = 0; i < list.length;) {\x0d\n const cur = list[i];\x0d\n if (cur === name) {\x0d\n if (!found) {\x0d\n list[i + 1] = value;\x0d\n found = true;\x0d\n i += 2;\x0d\n } else {\x0d\n list.splice(i\x2C 2);\x0d\n }\x0d\n } else {\x0d\n i += 2;\x0d\n }\x0d\n }\x0d\n\x0d\n // Otherwise\x2C append a new name-value pair whose name is `name` and value\x0d\n // is `value`\x2C to `list`.\x0d\n if (!found) {\x0d\n ArrayPrototypePush(list\x2C name\x2C value);\x0d\n }\x0d\n\x0d\n if (this.#context) {\x0d\n setURLSearchParamsModified(this.#context);\x0d\n }\x0d\n }\x0d\n\x0d\n sort() {\x0d\n if (typeof this !== 'object' || this === null || !(#searchParams in this))\x0d\n throw new ERR_INVALID_THIS('URLSearchParams');\x0d\n\x0d\n const a = this.#searchParams;\x0d\n const len = a.length;\x0d\n\x0d\n if (len <= 2) {\x0d\n // Nothing needs to be done.\x0d\n } else if (len < 100) {\x0d\n // 100 is found through testing.\x0d\n // Simple stable in-place insertion sort\x0d\n // Derived from v8/src/js/array.js\x0d\n for (let i = 2; i < len; i += 2) {\x0d\n const curKey = a[i];\x0d\n const curVal = a[i + 1];\x0d\n let j;\x0d\n for (j = i - 2; j >= 0; j -= 2) {\x0d\n if (a[j] > curKey) {\x0d\n a[j + 2] = a[j];\x0d\n a[j + 3] = a[j + 1];\x0d\n } else {\x0d\n break;\x0d\n }\x0d\n }\x0d\n a[j + 2] = curKey;\x0d\n a[j + 3] = curVal;\x0d\n }\x0d\n } else {\x0d\n // Bottom-up iterative stable merge sort\x0d\n const lBuffer = new Array(len);\x0d\n const rBuffer = new Array(len);\x0d\n for (let step = 2; step < len; step *= 2) {\x0d\n for (let start = 0; start < len - 2; start += 2 * step) {\x0d\n const mid = start + step;\x0d\n let end = mid + step;\x0d\n end = end < len ? end : len;\x0d\n if (mid > end)\x0d\n continue;\x0d\n merge(a\x2C start\x2C mid\x2C end\x2C lBuffer\x2C rBuffer);\x0d\n }\x0d\n }\x0d\n }\x0d\n\x0d\n if (this.#context) {\x0d\n setURLSearchParamsModified(this.#context);\x0d\n }\x0d\n }\x0d\n\x0d\n // https://heycam.github.io/webidl/#es-iterators\x0d\n // Define entries here rather than [Symbol.iterator] as the function name\x0d\n // must be set to `entries`.\x0d\n entries() {\x0d\n if (typeof this !== 'object' || this === null || !(#searchParams in this))\x0d\n throw new ERR_INVALID_THIS('URLSearchParams');\x0d\n\x0d\n return new URLSearchParamsIterator(this\x2C 'key+value');\x0d\n }\x0d\n\x0d\n forEach(callback\x2C thisArg = undefined) {\x0d\n if (typeof this !== 'object' || this === null || !(#searchParams in this))\x0d\n throw new ERR_INVALID_THIS('URLSearchParams');\x0d\n\x0d\n validateFunction(callback\x2C 'callback');\x0d\n\x0d\n let list = this.#searchParams;\x0d\n\x0d\n let i = 0;\x0d\n while (i < list.length) {\x0d\n const key = list[i];\x0d\n const value = list[i + 1];\x0d\n callback.call(thisArg\x2C value\x2C key\x2C this);\x0d\n // In case the URL object's `search` is updated\x0d\n list = this.#searchParams;\x0d\n i += 2;\x0d\n }\x0d\n }\x0d\n\x0d\n // https://heycam.github.io/webidl/#es-iterable\x0d\n keys() {\x0d\n if (typeof this !== 'object' || this === null || !(#searchParams in this))\x0d\n throw new ERR_INVALID_THIS('URLSearchParams');\x0d\n\x0d\n return new URLSearchParamsIterator(this\x2C 'key');\x0d\n }\x0d\n\x0d\n values() {\x0d\n if (typeof this !== 'object' || this === null || !(#searchParams in this))\x0d\n throw new ERR_INVALID_THIS('URLSearchParams');\x0d\n\x0d\n return new URLSearchParamsIterator(this\x2C 'value');\x0d\n }\x0d\n\x0d\n // https://heycam.github.io/webidl/#es-stringifier\x0d\n // https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior\x0d\n toString() {\x0d\n if (typeof this !== 'object' || this === null || !(#searchParams in this))\x0d\n throw new ERR_INVALID_THIS('URLSearchParams');\x0d\n\x0d\n return serializeParams(this.#searchParams);\x0d\n }\x0d\n}\x0d\n\x0d\nObjectDefineProperties(URLSearchParams.prototype\x2C {\x0d\n append: kEnumerableProperty\x2C\x0d\n delete: kEnumerableProperty\x2C\x0d\n get: kEnumerableProperty\x2C\x0d\n getAll: kEnumerableProperty\x2C\x0d\n has: kEnumerableProperty\x2C\x0d\n set: kEnumerableProperty\x2C\x0d\n size: kEnumerableProperty\x2C\x0d\n sort: kEnumerableProperty\x2C\x0d\n entries: kEnumerableProperty\x2C\x0d\n forEach: kEnumerableProperty\x2C\x0d\n keys: kEnumerableProperty\x2C\x0d\n values: kEnumerableProperty\x2C\x0d\n toString: kEnumerableProperty\x2C\x0d\n [SymbolToStringTag]: { __proto__: null\x2C configurable: true\x2C value: 'URLSearchParams' }\x2C\x0d\n\x0d\n // https://heycam.github.io/webidl/#es-iterable-entries\x0d\n [SymbolIterator]: {\x0d\n __proto__: null\x2C\x0d\n configurable: true\x2C\x0d\n writable: true\x2C\x0d\n value: URLSearchParams.prototype.entries\x2C\x0d\n }\x2C\x0d\n});\x0d\n\x0d\n/**\x0d\n * Checks if a value has the shape of a WHATWG URL object.\x0d\n *\x0d\n * Using a symbol or instanceof would not be able to recognize URL objects\x0d\n * coming from other implementations (e.g. in Electron)\x2C so instead we are\x0d\n * checking some well known properties for a lack of a better test.\x0d\n *\x0d\n * We use `href` and `protocol` as they are the only properties that are\x0d\n * easy to retrieve and calculate due to the lazy nature of the getters.\x0d\n *\x0d\n * We check for `auth` and `path` attribute to distinguish legacy url instance with\x0d\n * WHATWG URL instance.\x0d\n * @param {*} self\x0d\n * @returns {self is URL}\x0d\n */\x0d\nfunction isURL(self) {\x0d\n return Boolean(self?.href && self.protocol && self.auth === undefined && self.path === undefined);\x0d\n}\x0d\n\x0d\nclass URL {\x0d\n #context = new URLContext();\x0d\n #searchParams;\x0d\n #searchParamsModified;\x0d\n\x0d\n static {\x0d\n setURLSearchParamsModified = (obj) => {\x0d\n // When URLSearchParams changes\x2C we lazily update URL on the next read/write for performance.\x0d\n obj.#searchParamsModified = true;\x0d\n\x0d\n // If URL has an existing search\x2C remove it without cascading back to URLSearchParams.\x0d\n // Do this to avoid any internal confusion about whether URLSearchParams or URL is up-to-date.\x0d\n if (obj.#context.hasSearch) {\x0d\n obj.#updateContext(bindingUrl.update(obj.#context.href\x2C updateActions.kSearch\x2C ''));\x0d\n }\x0d\n };\x0d\n }\x0d\n\x0d\n constructor(input\x2C base = undefined) {\x0d\n if (arguments.length === 0) {\x0d\n throw new ERR_MISSING_ARGS('url');\x0d\n }\x0d\n\x0d\n // StringPrototypeToWellFormed is not needed.\x0d\n input = `${input}`;\x0d\n\x0d\n if (base !== undefined) {\x0d\n base = `${base}`;\x0d\n }\x0d\n\x0d\n this.#updateContext(bindingUrl.parse(input\x2C base));\x0d\n }\x0d\n\x0d\n [inspect.custom](depth\x2C opts) {\x0d\n if (typeof depth === 'number' && depth < 0)\x0d\n return this;\x0d\n\x0d\n const constructor = getConstructorOf(this) || URL;\x0d\n const obj = { __proto__: { constructor } };\x0d\n\x0d\n obj.href = this.href;\x0d\n obj.origin = this.origin;\x0d\n obj.protocol = this.protocol;\x0d\n obj.username = this.username;\x0d\n obj.password = this.password;\x0d\n obj.host = this.host;\x0d\n obj.hostname = this.hostname;\x0d\n obj.port = this.port;\x0d\n obj.pathname = this.pathname;\x0d\n obj.search = this.search;\x0d\n obj.searchParams = this.searchParams;\x0d\n obj.hash = this.hash;\x0d\n\x0d\n if (opts.showHidden) {\x0d\n obj[contextForInspect] = this.#context;\x0d\n }\x0d\n\x0d\n return `${constructor.name} ${inspect(obj\x2C opts)}`;\x0d\n }\x0d\n\x0d\n #getSearchFromContext() {\x0d\n if (!this.#context.hasSearch) return '';\x0d\n let endsAt = this.#context.href.length;\x0d\n if (this.#context.hasHash) endsAt = this.#context.hash_start;\x0d\n if (endsAt - this.#context.search_start <= 1) return '';\x0d\n return StringPrototypeSlice(this.#context.href\x2C this.#context.search_start\x2C endsAt);\x0d\n }\x0d\n\x0d\n #getSearchFromParams() {\x0d\n if (!this.#searchParams?.size) return '';\x0d\n return `?${this.#searchParams}`;\x0d\n }\x0d\n\x0d\n #ensureSearchParamsUpdated() {\x0d\n // URL is updated lazily to greatly improve performance when URLSearchParams is updated repeatedly.\x0d\n // If URLSearchParams has been modified\x2C reflect that back into URL\x2C without cascading back.\x0d\n if (this.#searchParamsModified) {\x0d\n this.#searchParamsModified = false;\x0d\n this.#updateContext(bindingUrl.update(this.#context.href\x2C updateActions.kSearch\x2C this.#getSearchFromParams()));\x0d\n }\x0d\n }\x0d\n\x0d\n /**\x0d\n * Update the internal context state for URL.\x0d\n * @param {string} href New href string from `bindingUrl.update`.\x0d\n * @param {boolean} [shouldUpdateSearchParams] If the update has potential to update search params (href/search).\x0d\n */\x0d\n #updateContext(href\x2C shouldUpdateSearchParams = false) {\x0d\n const previousSearch = shouldUpdateSearchParams && this.#searchParams &&\x0d\n (this.#searchParamsModified ? this.#getSearchFromParams() : this.#getSearchFromContext());\x0d\n\x0d\n this.#context.href = href;\x0d\n\x0d\n const {\x0d\n 0: protocol_end\x2C\x0d\n 1: username_end\x2C\x0d\n 2: host_start\x2C\x0d\n 3: host_end\x2C\x0d\n 4: port\x2C\x0d\n 5: pathname_start\x2C\x0d\n 6: search_start\x2C\x0d\n 7: hash_start\x2C\x0d\n 8: scheme_type\x2C\x0d\n } = bindingUrl.urlComponents;\x0d\n\x0d\n this.#context.protocol_end = protocol_end;\x0d\n this.#context.username_end = username_end;\x0d\n this.#context.host_start = host_start;\x0d\n this.#context.host_end = host_end;\x0d\n this.#context.port = port;\x0d\n this.#context.pathname_start = pathname_start;\x0d\n this.#context.search_start = search_start;\x0d\n this.#context.hash_start = hash_start;\x0d\n this.#context.scheme_type = scheme_type;\x0d\n\x0d\n if (this.#searchParams) {\x0d\n // If the search string has updated\x2C URL becomes the source of truth\x2C and we update URLSearchParams.\x0d\n // Only do this when we're expecting it to have changed\x2C otherwise a change to hash etc.\x0d\n // would incorrectly compare the URLSearchParams state to the empty URL search state.\x0d\n if (shouldUpdateSearchParams) {\x0d\n const currentSearch = this.#getSearchFromContext();\x0d\n if (previousSearch !== currentSearch) {\x0d\n setURLSearchParams(this.#searchParams\x2C currentSearch);\x0d\n this.#searchParamsModified = false;\x0d\n }\x0d\n }\x0d\n\x0d\n // If we have a URLSearchParams\x2C ensure that URL is up-to-date with any modification to it.\x0d\n this.#ensureSearchParamsUpdated();\x0d\n }\x0d\n }\x0d\n\x0d\n toString() {\x0d\n // Updates to URLSearchParams are lazily propagated to URL\x2C so we need to check we're in sync.\x0d\n this.#ensureSearchParamsUpdated();\x0d\n return this.#context.href;\x0d\n }\x0d\n\x0d\n get href() {\x0d\n // Updates to URLSearchParams are lazily propagated to URL\x2C so we need to check we're in sync.\x0d\n this.#ensureSearchParamsUpdated();\x0d\n return this.#context.href;\x0d\n }\x0d\n\x0d\n set href(value) {\x0d\n value = `${value}`;\x0d\n const href = bindingUrl.update(this.#context.href\x2C updateActions.kHref\x2C value);\x0d\n if (!href) { throw new ERR_INVALID_URL(value); }\x0d\n this.#updateContext(href\x2C true);\x0d\n }\x0d\n\x0d\n // readonly\x0d\n get origin() {\x0d\n const protocol = StringPrototypeSlice(this.#context.href\x2C 0\x2C this.#context.protocol_end);\x0d\n\x0d\n // Check if scheme_type is not `NOT_SPECIAL`\x0d\n if (this.#context.scheme_type !== 1) {\x0d\n // Check if scheme_type is `FILE`\x0d\n if (this.#context.scheme_type === 6) {\x0d\n return 'null';\x0d\n }\x0d\n return `${protocol}//${this.host}`;\x0d\n }\x0d\n\x0d\n if (protocol === 'blob:') {\x0d\n const path = this.pathname;\x0d\n if (path.length > 0) {\x0d\n try {\x0d\n const out = new URL(path);\x0d\n // Only return origin of scheme is `http` or `https`\x0d\n // Otherwise return a new opaque origin (null).\x0d\n if (out.#context.scheme_type === 0 || out.#context.scheme_type === 2) {\x0d\n return `${out.protocol}//${out.host}`;\x0d\n }\x0d\n } catch {\x0d\n // Do nothing.\x0d\n }\x0d\n }\x0d\n }\x0d\n\x0d\n return 'null';\x0d\n }\x0d\n\x0d\n get protocol() {\x0d\n return StringPrototypeSlice(this.#context.href\x2C 0\x2C this.#context.protocol_end);\x0d\n }\x0d\n\x0d\n set protocol(value) {\x0d\n const href = bindingUrl.update(this.#context.href\x2C updateActions.kProtocol\x2C `${value}`);\x0d\n if (href) {\x0d\n this.#updateContext(href);\x0d\n }\x0d\n }\x0d\n\x0d\n get username() {\x0d\n if (this.#context.protocol_end + 2 < this.#context.username_end) {\x0d\n return StringPrototypeSlice(this.#context.href\x2C this.#context.protocol_end + 2\x2C this.#context.username_end);\x0d\n }\x0d\n return '';\x0d\n }\x0d\n\x0d\n set username(value) {\x0d\n const href = bindingUrl.update(this.#context.href\x2C updateActions.kUsername\x2C `${value}`);\x0d\n if (href) {\x0d\n this.#updateContext(href);\x0d\n }\x0d\n }\x0d\n\x0d\n get password() {\x0d\n if (this.#context.host_start - this.#context.username_end > 0) {\x0d\n return StringPrototypeSlice(this.#context.href\x2C this.#context.username_end + 1\x2C this.#context.host_start);\x0d\n }\x0d\n return '';\x0d\n }\x0d\n\x0d\n set password(value) {\x0d\n const href = bindingUrl.update(this.#context.href\x2C updateActions.kPassword\x2C `${value}`);\x0d\n if (href) {\x0d\n this.#updateContext(href);\x0d\n }\x0d\n }\x0d\n\x0d\n get host() {\x0d\n let startsAt = this.#context.host_start;\x0d\n if (this.#context.href[startsAt] === '@') {\x0d\n startsAt++;\x0d\n }\x0d\n // If we have an empty host\x2C then the space between components.host_end and\x0d\n // components.pathname_start may be occupied by /.\x0d\n if (startsAt === this.#context.host_end) {\x0d\n return '';\x0d\n }\x0d\n return StringPrototypeSlice(this.#context.href\x2C startsAt\x2C this.#context.pathname_start);\x0d\n }\x0d\n\x0d\n set host(value) {\x0d\n const href = bindingUrl.update(this.#context.href\x2C updateActions.kHost\x2C `${value}`);\x0d\n if (href) {\x0d\n this.#updateContext(href);\x0d\n }\x0d\n }\x0d\n\x0d\n get hostname() {\x0d\n let startsAt = this.#context.host_start;\x0d\n // host_start might be "@" if the URL has credentials\x0d\n if (this.#context.href[startsAt] === '@') {\x0d\n startsAt++;\x0d\n }\x0d\n return StringPrototypeSlice(this.#context.href\x2C startsAt\x2C this.#context.host_end);\x0d\n }\x0d\n\x0d\n set hostname(value) {\x0d\n const href = bindingUrl.update(this.#context.href\x2C updateActions.kHostname\x2C `${value}`);\x0d\n if (href) {\x0d\n this.#updateContext(href);\x0d\n }\x0d\n }\x0d\n\x0d\n get port() {\x0d\n if (this.#context.hasPort) {\x0d\n return `${this.#context.port}`;\x0d\n }\x0d\n return '';\x0d\n }\x0d\n\x0d\n set port(value) {\x0d\n const href = bindingUrl.update(this.#context.href\x2C updateActions.kPort\x2C `${value}`);\x0d\n if (href) {\x0d\n this.#updateContext(href);\x0d\n }\x0d\n }\x0d\n\x0d\n get pathname() {\x0d\n let endsAt;\x0d\n if (this.#context.hasSearch) {\x0d\n endsAt = this.#context.search_start;\x0d\n } else if (this.#context.hasHash) {\x0d\n endsAt = this.#context.hash_start;\x0d\n }\x0d\n return StringPrototypeSlice(this.#context.href\x2C this.#context.pathname_start\x2C endsAt);\x0d\n }\x0d\n\x0d\n set pathname(value) {\x0d\n const href = bindingUrl.update(this.#context.href\x2C updateActions.kPathname\x2C `${value}`);\x0d\n if (href) {\x0d\n this.#updateContext(href);\x0d\n }\x0d\n }\x0d\n\x0d\n get search() {\x0d\n // Updates to URLSearchParams are lazily propagated to URL\x2C so we need to check we're in sync.\x0d\n this.#ensureSearchParamsUpdated();\x0d\n return this.#getSearchFromContext();\x0d\n }\x0d\n\x0d\n set search(value) {\x0d\n const href = bindingUrl.update(this.#context.href\x2C updateActions.kSearch\x2C StringPrototypeToWellFormed(`${value}`));\x0d\n if (href) {\x0d\n this.#updateContext(href\x2C true);\x0d\n }\x0d\n }\x0d\n\x0d\n // readonly\x0d\n get searchParams() {\x0d\n // Create URLSearchParams on demand to greatly improve the URL performance.\x0d\n if (this.#searchParams == null) {\x0d\n this.#searchParams = new URLSearchParams(this.#getSearchFromContext());\x0d\n setURLSearchParamsContext(this.#searchParams\x2C this);\x0d\n this.#searchParamsModified = false;\x0d\n }\x0d\n return this.#searchParams;\x0d\n }\x0d\n\x0d\n get hash() {\x0d\n if (!this.#context.hasHash || (this.#context.href.length - this.#context.hash_start <= 1)) {\x0d\n return '';\x0d\n }\x0d\n return StringPrototypeSlice(this.#context.href\x2C this.#context.hash_start);\x0d\n }\x0d\n\x0d\n set hash(value) {\x0d\n const href = bindingUrl.update(this.#context.href\x2C updateActions.kHash\x2C `${value}`);\x0d\n if (href) {\x0d\n this.#updateContext(href);\x0d\n }\x0d\n }\x0d\n\x0d\n toJSON() {\x0d\n // Updates to URLSearchParams are lazily propagated to URL\x2C so we need to check we're in sync.\x0d\n this.#ensureSearchParamsUpdated();\x0d\n return this.#context.href;\x0d\n }\x0d\n\x0d\n static canParse(url\x2C base = undefined) {\x0d\n if (arguments.length === 0) {\x0d\n throw new ERR_MISSING_ARGS('url');\x0d\n }\x0d\n\x0d\n url = `${url}`;\x0d\n\x0d\n if (base !== undefined) {\x0d\n return bindingUrl.canParse(url\x2C `${base}`);\x0d\n }\x0d\n\x0d\n // It is important to differentiate the canParse call statements\x0d\n // since they resolve into different v8 fast api overloads.\x0d\n return bindingUrl.canParse(url);\x0d\n }\x0d\n}\x0d\n\x0d\nObjectDefineProperties(URL.prototype\x2C {\x0d\n [SymbolToStringTag]: { __proto__: null\x2C configurable: true\x2C value: 'URL' }\x2C\x0d\n toString: kEnumerableProperty\x2C\x0d\n href: kEnumerableProperty\x2C\x0d\n origin: kEnumerableProperty\x2C\x0d\n protocol: kEnumerableProperty\x2C\x0d\n username: kEnumerableProperty\x2C\x0d\n password: kEnumerableProperty\x2C\x0d\n host: kEnumerableProperty\x2C\x0d\n hostname: kEnumerableProperty\x2C\x0d\n port: kEnumerableProperty\x2C\x0d\n pathname: kEnumerableProperty\x2C\x0d\n search: kEnumerableProperty\x2C\x0d\n searchParams: kEnumerableProperty\x2C\x0d\n hash: kEnumerableProperty\x2C\x0d\n toJSON: kEnumerableProperty\x2C\x0d\n});\x0d\n\x0d\nObjectDefineProperties(URL\x2C {\x0d\n canParse: {\x0d\n __proto__: null\x2C\x0d\n configurable: true\x2C\x0d\n writable: true\x2C\x0d\n enumerable: true\x2C\x0d\n }\x2C\x0d\n});\x0d\n\x0d\nfunction installObjectURLMethods() {\x0d\n const bindingBlob = internalBinding('blob');\x0d\n\x0d\n function createObjectURL(obj) {\x0d\n const cryptoRandom = lazyCryptoRandom();\x0d\n if (cryptoRandom === undefined)\x0d\n throw new ERR_NO_CRYPTO();\x0d\n\x0d\n const blob = lazyBlob();\x0d\n if (!blob.isBlob(obj))\x0d\n throw new ERR_INVALID_ARG_TYPE('obj'\x2C 'Blob'\x2C obj);\x0d\n\x0d\n const id = cryptoRandom.randomUUID();\x0d\n\x0d\n bindingBlob.storeDataObject(id\x2C obj[blob.kHandle]\x2C obj.size\x2C obj.type);\x0d\n\x0d\n return `blob:nodedata:${id}`;\x0d\n }\x0d\n\x0d\n function revokeObjectURL(url) {\x0d\n if (arguments.length === 0) {\x0d\n throw new ERR_MISSING_ARGS('url');\x0d\n }\x0d\n\x0d\n bindingBlob.revokeObjectURL(`${url}`);\x0d\n }\x0d\n\x0d\n ObjectDefineProperties(URL\x2C {\x0d\n createObjectURL: {\x0d\n __proto__: null\x2C\x0d\n configurable: true\x2C\x0d\n writable: true\x2C\x0d\n enumerable: true\x2C\x0d\n value: createObjectURL\x2C\x0d\n }\x2C\x0d\n revokeObjectURL: {\x0d\n __proto__: null\x2C\x0d\n configurable: true\x2C\x0d\n writable: true\x2C\x0d\n enumerable: true\x2C\x0d\n value: revokeObjectURL\x2C\x0d\n }\x2C\x0d\n });\x0d\n}\x0d\n\x0d\n// application/x-www-form-urlencoded parser\x0d\n// Ref: https://url.spec.whatwg.org/#concept-urlencoded-parser\x0d\nfunction parseParams(qs) {\x0d\n const out = [];\x0d\n let seenSep = false;\x0d\n let buf = '';\x0d\n let encoded = false;\x0d\n let encodeCheck = 0;\x0d\n let i = qs[0] === '?' ? 1 : 0;\x0d\n let pairStart = i;\x0d\n let lastPos = i;\x0d\n for (; i < qs.length; ++i) {\x0d\n const code = StringPrototypeCharCodeAt(qs\x2C i);\x0d\n\x0d\n // Try matching key/value pair separator\x0d\n if (code === CHAR_AMPERSAND) {\x0d\n if (pairStart === i) {\x0d\n // We saw an empty substring between pair separators\x0d\n lastPos = pairStart = i + 1;\x0d\n continue;\x0d\n }\x0d\n\x0d\n if (lastPos < i)\x0d\n buf += qs.slice(lastPos\x2C i);\x0d\n if (encoded)\x0d\n buf = querystring.unescape(buf);\x0d\n out.push(buf);\x0d\n\x0d\n // If `buf` is the key\x2C add an empty value.\x0d\n if (!seenSep)\x0d\n out.push('');\x0d\n\x0d\n seenSep = false;\x0d\n buf = '';\x0d\n encoded = false;\x0d\n encodeCheck = 0;\x0d\n lastPos = pairStart = i + 1;\x0d\n continue;\x0d\n }\x0d\n\x0d\n // Try matching key/value separator (e.g. '=') if we haven't already\x0d\n if (!seenSep && code === CHAR_EQUAL) {\x0d\n // Key/value separator match!\x0d\n if (lastPos < i)\x0d\n buf += qs.slice(lastPos\x2C i);\x0d\n if (encoded)\x0d\n buf = querystring.unescape(buf);\x0d\n out.push(buf);\x0d\n\x0d\n seenSep = true;\x0d\n buf = '';\x0d\n encoded = false;\x0d\n encodeCheck = 0;\x0d\n lastPos = i + 1;\x0d\n continue;\x0d\n }\x0d\n\x0d\n // Handle + and percent decoding.\x0d\n if (code === CHAR_PLUS) {\x0d\n if (lastPos < i)\x0d\n buf += StringPrototypeSlice(qs\x2C lastPos\x2C i);\x0d\n buf += ' ';\x0d\n lastPos = i + 1;\x0d\n } else if (!encoded) {\x0d\n // Try to match an (valid) encoded byte (once) to minimize unnecessary\x0d\n // calls to string decoding functions\x0d\n if (code === CHAR_PERCENT) {\x0d\n encodeCheck = 1;\x0d\n } else if (encodeCheck > 0) {\x0d\n if (isHexTable[code] === 1) {\x0d\n if (++encodeCheck === 3) {\x0d\n encoded = true;\x0d\n }\x0d\n } else {\x0d\n encodeCheck = 0;\x0d\n }\x0d\n }\x0d\n }\x0d\n }\x0d\n\x0d\n // Deal with any leftover key or value data\x0d\n\x0d\n // There is a trailing &. No more processing is needed.\x0d\n if (pairStart === i)\x0d\n return out;\x0d\n\x0d\n if (lastPos < i)\x0d\n buf += StringPrototypeSlice(qs\x2C lastPos\x2C i);\x0d\n if (encoded)\x0d\n buf = querystring.unescape(buf);\x0d\n ArrayPrototypePush(out\x2C buf);\x0d\n\x0d\n // If `buf` is the key\x2C add an empty value.\x0d\n if (!seenSep)\x0d\n ArrayPrototypePush(out\x2C '');\x0d\n\x0d\n return out;\x0d\n}\x0d\n\x0d\n// Adapted from querystring's implementation.\x0d\n// Ref: https://url.spec.whatwg.org/#concept-urlencoded-byte-serializer\x0d\nconst noEscape = new Int8Array([\x0d\n/*\x0d\n 0\x2C 1\x2C 2\x2C 3\x2C 4\x2C 5\x2C 6\x2C 7\x2C 8\x2C 9\x2C A\x2C B\x2C C\x2C D\x2C E\x2C F\x0d\n*/\x0d\n 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C // 0x00 - 0x0F\x0d\n 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C // 0x10 - 0x1F\x0d\n 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C 1\x2C 0\x2C 0\x2C 1\x2C 1\x2C 0\x2C // 0x20 - 0x2F\x0d\n 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C // 0x30 - 0x3F\x0d\n 0\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C // 0x40 - 0x4F\x0d\n 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 0\x2C 0\x2C 0\x2C 0\x2C 1\x2C // 0x50 - 0x5F\x0d\n 0\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C // 0x60 - 0x6F\x0d\n 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C // 0x70 - 0x7F\x0d\n]);\x0d\n\x0d\n// Special version of hexTable that uses `+` for U+0020 SPACE.\x0d\nconst paramHexTable = hexTable.slice();\x0d\nparamHexTable[0x20] = '+';\x0d\n\x0d\n// application/x-www-form-urlencoded serializer\x0d\n// Ref: https://url.spec.whatwg.org/#concept-urlencoded-serializer\x0d\nfunction serializeParams(array) {\x0d\n const len = array.length;\x0d\n if (len === 0)\x0d\n return '';\x0d\n\x0d\n const firstEncodedParam = encodeStr(array[0]\x2C noEscape\x2C paramHexTable);\x0d\n const firstEncodedValue = encodeStr(array[1]\x2C noEscape\x2C paramHexTable);\x0d\n let output = `${firstEncodedParam}=${firstEncodedValue}`;\x0d\n\x0d\n for (let i = 2; i < len; i += 2) {\x0d\n const encodedParam = encodeStr(array[i]\x2C noEscape\x2C paramHexTable);\x0d\n const encodedValue = encodeStr(array[i + 1]\x2C noEscape\x2C paramHexTable);\x0d\n output += `&${encodedParam}=${encodedValue}`;\x0d\n }\x0d\n\x0d\n return output;\x0d\n}\x0d\n\x0d\n// for merge sort\x0d\nfunction merge(out\x2C start\x2C mid\x2C end\x2C lBuffer\x2C rBuffer) {\x0d\n const sizeLeft = mid - start;\x0d\n const sizeRight = end - mid;\x0d\n let l\x2C r\x2C o;\x0d\n\x0d\n for (l = 0; l < sizeLeft; l++)\x0d\n lBuffer[l] = out[start + l];\x0d\n for (r = 0; r < sizeRight; r++)\x0d\n rBuffer[r] = out[mid + r];\x0d\n\x0d\n l = 0;\x0d\n r = 0;\x0d\n o = start;\x0d\n while (l < sizeLeft && r < sizeRight) {\x0d\n if (lBuffer[l] <= rBuffer[r]) {\x0d\n out[o++] = lBuffer[l++];\x0d\n out[o++] = lBuffer[l++];\x0d\n } else {\x0d\n out[o++] = rBuffer[r++];\x0d\n out[o++] = rBuffer[r++];\x0d\n }\x0d\n }\x0d\n while (l < sizeLeft)\x0d\n out[o++] = lBuffer[l++];\x0d\n while (r < sizeRight)\x0d\n out[o++] = rBuffer[r++];\x0d\n}\x0d\n\x0d\nfunction domainToASCII(domain) {\x0d\n if (arguments.length < 1)\x0d\n throw new ERR_MISSING_ARGS('domain');\x0d\n\x0d\n // StringPrototypeToWellFormed is not needed.\x0d\n return bindingUrl.domainToASCII(`${domain}`);\x0d\n}\x0d\n\x0d\nfunction domainToUnicode(domain) {\x0d\n if (arguments.length < 1)\x0d\n throw new ERR_MISSING_ARGS('domain');\x0d\n\x0d\n // StringPrototypeToWellFormed is not needed.\x0d\n return bindingUrl.domainToUnicode(`${domain}`);\x0d\n}\x0d\n\x0d\n/**\x0d\n * Utility function that converts a URL object into an ordinary options object\x0d\n * as expected by the `http.request` and `https.request` APIs.\x0d\n * @param {URL} url\x0d\n * @returns {Record<string\x2C unknown>}\x0d\n */\x0d\nfunction urlToHttpOptions(url) {\x0d\n const { hostname\x2C pathname\x2C port\x2C username\x2C password\x2C search } = url;\x0d\n const options = {\x0d\n __proto__: null\x2C\x0d\n ...url\x2C // In case the url object was extended by the user.\x0d\n protocol: url.protocol\x2C\x0d\n hostname: hostname && StringPrototypeStartsWith(hostname\x2C '[') ?\x0d\n StringPrototypeSlice(hostname\x2C 1\x2C -1) :\x0d\n hostname\x2C\x0d\n hash: url.hash\x2C\x0d\n search: search\x2C\x0d\n pathname: pathname\x2C\x0d\n path: `${pathname || ''}${search || ''}`\x2C\x0d\n href: url.href\x2C\x0d\n };\x0d\n if (port !== '') {\x0d\n options.port = Number(port);\x0d\n }\x0d\n if (username || password) {\x0d\n options.auth = `${decodeURIComponent(username)}:${decodeURIComponent(password)}`;\x0d\n }\x0d\n return options;\x0d\n}\x0d\n\x0d\nfunction getPathFromURLWin32(url) {\x0d\n const hostname = url.hostname;\x0d\n let pathname = url.pathname;\x0d\n for (let n = 0; n < pathname.length; n++) {\x0d\n if (pathname[n] === '%') {\x0d\n const third = StringPrototypeCodePointAt(pathname\x2C n + 2) | 0x20;\x0d\n if ((pathname[n + 1] === '2' && third === 102) || // 2f 2F /\x0d\n (pathname[n + 1] === '5' && third === 99)) { // 5c 5C \\\x0d\n throw new ERR_INVALID_FILE_URL_PATH(\x0d\n 'must not include encoded \\\\ or / characters'\x2C\x0d\n );\x0d\n }\x0d\n }\x0d\n }\x0d\n pathname = SideEffectFreeRegExpPrototypeSymbolReplace(FORWARD_SLASH\x2C pathname\x2C '\\\\');\x0d\n pathname = decodeURIComponent(pathname);\x0d\n if (hostname !== '') {\x0d\n // If hostname is set\x2C then we have a UNC path\x0d\n // Pass the hostname through domainToUnicode just in case\x0d\n // it is an IDN using punycode encoding. We do not need to worry\x0d\n // about percent encoding because the URL parser will have\x0d\n // already taken care of that for us. Note that this only\x0d\n // causes IDNs with an appropriate `xn--` prefix to be decoded.\x0d\n return `\\\\\\\\${domainToUnicode(hostname)}${pathname}`;\x0d\n }\x0d\n // Otherwise\x2C it's a local path that requires a drive letter\x0d\n const letter = StringPrototypeCodePointAt(pathname\x2C 1) | 0x20;\x0d\n const sep = StringPrototypeCharAt(pathname\x2C 2);\x0d\n if (letter < CHAR_LOWERCASE_A || letter > CHAR_LOWERCASE_Z || // a..z A..Z\x0d\n (sep !== ':')) {\x0d\n throw new ERR_INVALID_FILE_URL_PATH('must be absolute');\x0d\n }\x0d\n return StringPrototypeSlice(pathname\x2C 1);\x0d\n}\x0d\n\x0d\nfunction getPathFromURLPosix(url) {\x0d\n if (url.hostname !== '') {\x0d\n throw new ERR_INVALID_FILE_URL_HOST(platform);\x0d\n }\x0d\n const pathname = url.pathname;\x0d\n for (let n = 0; n < pathname.length; n++) {\x0d\n if (pathname[n] === '%') {\x0d\n const third = StringPrototypeCodePointAt(pathname\x2C n + 2) | 0x20;\x0d\n if (pathname[n + 1] === '2' && third === 102) {\x0d\n throw new ERR_INVALID_FILE_URL_PATH(\x0d\n 'must not include encoded / characters'\x2C\x0d\n );\x0d\n }\x0d\n }\x0d\n }\x0d\n return decodeURIComponent(pathname);\x0d\n}\x0d\n\x0d\nfunction fileURLToPath(path\x2C options = kEmptyObject) {\x0d\n const windows = options?.windows;\x0d\n if (typeof path === 'string')\x0d\n path = new URL(path);\x0d\n else if (!isURL(path))\x0d\n throw new ERR_INVALID_ARG_TYPE('path'\x2C ['string'\x2C 'URL']\x2C path);\x0d\n if (path.protocol !== 'file:')\x0d\n throw new ERR_INVALID_URL_SCHEME('file');\x0d\n return (windows ?? isWindows) ? getPathFromURLWin32(path) : getPathFromURLPosix(path);\x0d\n}\x0d\n\x0d\n// The following characters are percent-encoded when converting from file path\x0d\n// to URL:\x0d\n// - %: The percent character is the only character not encoded by the\x0d\n// `pathname` setter.\x0d\n// - \\: Backslash is encoded on non-windows platforms since it's a valid\x0d\n// character but the `pathname` setters replaces it by a forward slash.\x0d\n// - LF: The newline character is stripped out by the `pathname` setter.\x0d\n// (See whatwg/url#419)\x0d\n// - CR: The carriage return character is also stripped out by the `pathname`\x0d\n// setter.\x0d\n// - TAB: The tab character is also stripped out by the `pathname` setter.\x0d\nconst percentRegEx = /%/g;\x0d\nconst backslashRegEx = /\\\\/g;\x0d\nconst newlineRegEx = /\\n/g;\x0d\nconst carriageReturnRegEx = /\\r/g;\x0d\nconst tabRegEx = /\\t/g;\x0d\nconst questionRegex = /\\?/g;\x0d\nconst hashRegex = /#/g;\x0d\n\x0d\nfunction encodePathChars(filepath\x2C options = kEmptyObject) {\x0d\n const windows = options?.windows;\x0d\n if (StringPrototypeIndexOf(filepath\x2C '%') !== -1)\x0d\n filepath = RegExpPrototypeSymbolReplace(percentRegEx\x2C filepath\x2C '%25');\x0d\n // In posix\x2C backslash is a valid character in paths:\x0d\n if (!(windows ?? isWindows) && StringPrototypeIndexOf(filepath\x2C '\\\\') !== -1)\x0d\n filepath = RegExpPrototypeSymbolReplace(backslashRegEx\x2C filepath\x2C '%5C');\x0d\n if (StringPrototypeIndexOf(filepath\x2C '\\n') !== -1)\x0d\n filepath = RegExpPrototypeSymbolReplace(newlineRegEx\x2C filepath\x2C '%0A');\x0d\n if (StringPrototypeIndexOf(filepath\x2C '\\r') !== -1)\x0d\n filepath = RegExpPrototypeSymbolReplace(carriageReturnRegEx\x2C filepath\x2C '%0D');\x0d\n if (StringPrototypeIndexOf(filepath\x2C '\\t') !== -1)\x0d\n filepath = RegExpPrototypeSymbolReplace(tabRegEx\x2C filepath\x2C '%09');\x0d\n return filepath;\x0d\n}\x0d\n\x0d\nfunction pathToFileURL(filepath\x2C options = kEmptyObject) {\x0d\n const windows = options?.windows;\x0d\n if ((windows ?? isWindows) && StringPrototypeStartsWith(filepath\x2C '\\\\\\\\')) {\x0d\n const outURL = new URL('file://');\x0d\n // UNC path format: \\\\server\\share\\resource\x0d\n const hostnameEndIndex = StringPrototypeIndexOf(filepath\x2C '\\\\'\x2C 2);\x0d\n if (hostnameEndIndex === -1) {\x0d\n throw new ERR_INVALID_ARG_VALUE(\x0d\n 'path'\x2C\x0d\n filepath\x2C\x0d\n 'Missing UNC resource path'\x2C\x0d\n );\x0d\n }\x0d\n if (hostnameEndIndex === 2) {\x0d\n throw new ERR_INVALID_ARG_VALUE(\x0d\n 'path'\x2C\x0d\n filepath\x2C\x0d\n 'Empty UNC servername'\x2C\x0d\n );\x0d\n }\x0d\n const hostname = StringPrototypeSlice(filepath\x2C 2\x2C hostnameEndIndex);\x0d\n outURL.hostname = domainToASCII(hostname);\x0d\n outURL.pathname = encodePathChars(\x0d\n RegExpPrototypeSymbolReplace(backslashRegEx\x2C StringPrototypeSlice(filepath\x2C hostnameEndIndex)\x2C '/')\x2C\x0d\n { windows }\x2C\x0d\n );\x0d\n return outURL;\x0d\n }\x0d\n let resolved = (windows ?? isWindows) ? path.win32.resolve(filepath) : path.posix.resolve(filepath);\x0d\n // path.resolve strips trailing slashes so we must add them back\x0d\n const filePathLast = StringPrototypeCharCodeAt(filepath\x2C\x0d\n filepath.length - 1);\x0d\n if ((filePathLast === CHAR_FORWARD_SLASH ||\x0d\n ((windows ?? isWindows) && filePathLast === CHAR_BACKWARD_SLASH)) &&\x0d\n resolved[resolved.length - 1] !== path.sep)\x0d\n resolved += '/';\x0d\n\x0d\n // Call encodePathChars first to avoid encoding % again for ? and #.\x0d\n resolved = encodePathChars(resolved\x2C { windows });\x0d\n\x0d\n // Question and hash character should be included in pathname.\x0d\n // Therefore\x2C encoding is required to eliminate parsing them in different states.\x0d\n // This is done as an optimization to not creating a URL instance and\x0d\n // later triggering pathname setter\x2C which impacts performance\x0d\n if (StringPrototypeIndexOf(resolved\x2C '?') !== -1)\x0d\n resolved = RegExpPrototypeSymbolReplace(questionRegex\x2C resolved\x2C '%3F');\x0d\n if (StringPrototypeIndexOf(resolved\x2C '#') !== -1)\x0d\n resolved = RegExpPrototypeSymbolReplace(hashRegex\x2C resolved\x2C '%23');\x0d\n return new URL(`file://${resolved}`);\x0d\n}\x0d\n\x0d\nfunction toPathIfFileURL(fileURLOrPath) {\x0d\n if (!isURL(fileURLOrPath))\x0d\n return fileURLOrPath;\x0d\n return fileURLToPath(fileURLOrPath);\x0d\n}\x0d\n\x0d\n/**\x0d\n * This util takes a string containing a URL and return the URL origin\x2C\x0d\n * its meant to avoid calls to `new URL` constructor.\x0d\n * @param {string} url\x0d\n * @returns {URL['origin']}\x0d\n */\x0d\nfunction getURLOrigin(url) {\x0d\n return bindingUrl.getOrigin(url);\x0d\n}\x0d\n\x0d\nmodule.exports = {\x0d\n fileURLToPath\x2C\x0d\n pathToFileURL\x2C\x0d\n toPathIfFileURL\x2C\x0d\n installObjectURLMethods\x2C\x0d\n URL\x2C\x0d\n URLSearchParams\x2C\x0d\n domainToASCII\x2C\x0d\n domainToUnicode\x2C\x0d\n urlToHttpOptions\x2C\x0d\n encodeStr\x2C\x0d\n isURL\x2C\x0d\n\x0d\n urlUpdateActions: updateActions\x2C\x0d\n getURLOrigin\x2C\x0d\n unsafeProtocol\x2C\x0d\n hostlessProtocol\x2C\x0d\n slashedProtocol\x2C\x0d\n};\x0d\n
code-source-info,0x22fbedab61e,30,48036,48153,C0O48057C3O48062C9O48089C11O48110C12O48114C15O48121C19O48150,,
code-creation,JS,10,532001,0x22fbedae8fe,45,isURL node:internal/url:763:15,0x39e2db62178,~
code-source-info,0x22fbedae8fe,30,22513,22626,C0O22525C12O22544C21O22559C27O22576C34O22603C40O22532C44O22623,,
code-creation,JS,10,532177,0x22fbedaeb1e,149, node:internal/fs/utils:671:38,0x39e2db5f7a0,~
code-source-info,0x22fbedaeb1e,29,18954,19686,C14O18988C22O19021C25O19021C31O19048C36O19079C41O19100C54O19054C59O19048C60O19177C65O19231C70O19231C75O19328C81O19351C85O19380C89O19397C95O19397C104O19449C108O19470C113O19470C120O19516C121O19523C122O19534C127O19566C143O19540C148O19534,,
code-creation,JS,10,532333,0x22fbedaecce,16,isUint8Array node:internal/util/types:13:22,0x39e2db4a5f0,~
script-source,18,node:internal/util/types,'use strict';\x0d\n\x0d\nconst {\x0d\n ArrayBufferIsView\x2C\x0d\n ObjectDefineProperties\x2C\x0d\n TypedArrayPrototypeGetSymbolToStringTag\x2C\x0d\n} = primordials;\x0d\n\x0d\nfunction isTypedArray(value) {\x0d\n return TypedArrayPrototypeGetSymbolToStringTag(value) !== undefined;\x0d\n}\x0d\n\x0d\nfunction isUint8Array(value) {\x0d\n return TypedArrayPrototypeGetSymbolToStringTag(value) === 'Uint8Array';\x0d\n}\x0d\n\x0d\nfunction isUint8ClampedArray(value) {\x0d\n return TypedArrayPrototypeGetSymbolToStringTag(value) === 'Uint8ClampedArray';\x0d\n}\x0d\n\x0d\nfunction isUint16Array(value) {\x0d\n return TypedArrayPrototypeGetSymbolToStringTag(value) === 'Uint16Array';\x0d\n}\x0d\n\x0d\nfunction isUint32Array(value) {\x0d\n return TypedArrayPrototypeGetSymbolToStringTag(value) === 'Uint32Array';\x0d\n}\x0d\n\x0d\nfunction isInt8Array(value) {\x0d\n return TypedArrayPrototypeGetSymbolToStringTag(value) === 'Int8Array';\x0d\n}\x0d\n\x0d\nfunction isInt16Array(value) {\x0d\n return TypedArrayPrototypeGetSymbolToStringTag(value) === 'Int16Array';\x0d\n}\x0d\n\x0d\nfunction isInt32Array(value) {\x0d\n return TypedArrayPrototypeGetSymbolToStringTag(value) === 'Int32Array';\x0d\n}\x0d\n\x0d\nfunction isFloat32Array(value) {\x0d\n return TypedArrayPrototypeGetSymbolToStringTag(value) === 'Float32Array';\x0d\n}\x0d\n\x0d\nfunction isFloat64Array(value) {\x0d\n return TypedArrayPrototypeGetSymbolToStringTag(value) === 'Float64Array';\x0d\n}\x0d\n\x0d\nfunction isBigInt64Array(value) {\x0d\n return TypedArrayPrototypeGetSymbolToStringTag(value) === 'BigInt64Array';\x0d\n}\x0d\n\x0d\nfunction isBigUint64Array(value) {\x0d\n return TypedArrayPrototypeGetSymbolToStringTag(value) === 'BigUint64Array';\x0d\n}\x0d\n\x0d\nmodule.exports = {\x0d\n ...internalBinding('types')\x2C\x0d\n isArrayBufferView: ArrayBufferIsView\x2C\x0d\n isTypedArray\x2C\x0d\n isUint8Array\x2C\x0d\n isUint8ClampedArray\x2C\x0d\n isUint16Array\x2C\x0d\n isUint32Array\x2C\x0d\n isInt8Array\x2C\x0d\n isInt16Array\x2C\x0d\n isInt32Array\x2C\x0d\n isFloat32Array\x2C\x0d\n isFloat64Array\x2C\x0d\n isBigInt64Array\x2C\x0d\n isBigUint64Array\x2C\x0d\n};\x0d\n\x0d\nlet isCryptoKey;\x0d\nlet isKeyObject;\x0d\n\x0d\nObjectDefineProperties(module.exports\x2C {\x0d\n isKeyObject: {\x0d\n __proto__: null\x2C\x0d\n configurable: false\x2C\x0d\n enumerable: true\x2C\x0d\n value(obj) {\x0d\n if (!process.versions.openssl) {\x0d\n return false;\x0d\n }\x0d\n\x0d\n if (!isKeyObject) {\x0d\n ({ isKeyObject } = require('internal/crypto/keys'));\x0d\n }\x0d\n\x0d\n return isKeyObject(obj);\x0d\n }\x2C\x0d\n }\x2C\x0d\n isCryptoKey: {\x0d\n __proto__: null\x2C\x0d\n configurable: false\x2C\x0d\n enumerable: true\x2C\x0d\n value(obj) {\x0d\n if (!process.versions.openssl) {\x0d\n return false;\x0d\n }\x0d\n\x0d\n if (!isCryptoKey) {\x0d\n ({ isCryptoKey } = require('internal/crypto/keys'));\x0d\n }\x0d\n\x0d\n return isCryptoKey(obj);\x0d\n }\x2C\x0d\n }\x2C\x0d\n});\x0d\n
code-source-info,0x22fbedaecce,18,269,356,C0O282C5O289C12O336C15O353,,
code-creation,JS,10,532673,0x22fbedaf17e,86,parseFileMode node:internal/validators:69:23,0x39e2db45c28,~
code-source-info,0x22fbedaf17e,15,1953,2253,C0O1977C11O1995C17O2033C24O2057C27O2037C34O2093C41O2138C52O2099C57O2093C58O2161C66O2169C73O2205C78O2205C83O2237C85O2250,,
code-creation,JS,10,532804,0x22fbedaf326,148, node:internal/validators:137:40,0x39e2db45d18,~
code-source-info,0x22fbedaf326,15,3875,4320,C16O3915C22O3953C38O3959C43O3953C44O4016C49O4021C55O4052C71O4058C76O4052C77O4127C87O4189C90O4207C92O4217C99O4232C104O4246C114O4285C127O4298C140O4252C145O4246C147O4319,,
code-creation,JS,10,532963,0x22fbedaf776,515,stringToFlags node:internal/fs/utils:558:23,0x39e2db5f610,~
code-source-info,0x22fbedaf776,29,15580,16854,C14O15609C20O15647C25O15647C30O15680C32O15693C33O15704C38O15730C42O15746C43O15757C202O15790C206O15806C207O15858C214O15876C216O15874C219O15883C220O15901C224O15915C225O15969C232O15985C234O15983C237O15992C238O16011C245O16028C247O16026C253O16038C255O16036C258O16047C259O16099C266O16116C268O16114C274O16126C276O16124C282O16137C284O16135C287O16144C288O16164C295O16181C297O16179C303O16191C305O16189C308O16198C309O16250C316O16267C318O16265C324O16277C326O16275C332O16286C334O16284C337O16293C338O16312C345O16330C347O16328C353O16340C355O16338C358O16349C359O16401C366O16419C368O16417C374O16429C376O16427C382O16440C384O16438C387O16447C388O16499C395O16517C397O16515C403O16527C405O16525C411O16538C413O16536C416O16545C417O16565C424O16583C426O16581C432O16593C434O16591C437O16600C438O16652C445O16670C447O16668C453O16680C455O16678C461O16689C463O16687C466O16696C467O16748C474O16766C476O16764C482O16776C484O16774C490O16785C492O16783C495O16792C496O16803C509O16809C514O16803,,
code-creation,JS,10,533194,0x22fbedafbae,36,makeCallback node:fs:184:22,0x39e2db6d2a8,~
code-source-info,0x22fbedafbae,45,4895,4990,C0O4895C13O4905C26O4905C31O4938C35O4987,,
code-creation,JS,10,533397,0x22fbedafe8e,232,toNamespacedPath node:path:646:19,0x39e2db643b8,~
code-source-info,0x22fbedafe8e,33,20867,21990,C0O20933C6O20970C12O20977C17O20991C19O21003C20O21032C25O21038C30O21038C36O21077C43O21084C48O21097C50O21109C51O21117C58O21121C66O21168C68O21164C73O21226C81O21230C89O21277C91O21273C96O21322C104O21322C110O21375C112O21388C114O21384C121O21419C123O21415C128O21519C133O21541C139O21541C148O21581C151O21614C156O21646C161O21646C167O21626C175O21700C181O21700C189O21747C191O21743C198O21768C204O21768C212O21815C214O21811C219O21918C224O21935C228O21950C229O21965C231O21985,,
tick,0x7ffcc628d5e4,534140,1,0x7ff7b8f72250,6,0x7ff7b99b2970,0x22fbeda2f15,0x22fbeda0ed1,0x22fbeda06ac,0x2d4ae63bd39,0x23c5197896d,0x23c519693ae,0x23c51968a11,0x23c51942948
code-creation,JS,10,534640,0x22fbedb00ae,18,promiseInitHookWithDestroyTracking node:internal/async_hooks:327:44,0x39e2db44d40,~
code-source-info,0x22fbedb00ae,14,12324,12420,C0O12347C3O12347C8O12384C11O12384C17O12419,,
code-creation,JS,10,534773,0x22fbedb01a6,46,promiseInitHook node:internal/async_hooks:320:25,0x39e2db44cf0,~
code-source-info,0x22fbedb01a6,14,12052,12277,C0O12075C3O12075C8O12125C10O12133C12O12132C16O12177C18O12185C20O12184C24O12214C39O12214C45O12276,,
code-creation,JS,10,534881,0x22fbedb02c6,59,trackPromise node:internal/async_hooks:306:22,0x39e2db44ca0,~
code-source-info,0x22fbedb02c6,14,11603,12024,C0O11626C2O11638C4O11637C9O11663C10O11670C11O11854C18O11863C27O11894C31O11927C33O11935C39O11954C42O11952C46O11971C48O11979C53O12004C58O12023,,
code-creation,JS,10,535035,0x22fbedb03fe,44,getOrSetAsyncId node:internal/async_hooks:421:25,0x39e2db45060,~
code-source-info,0x22fbedb03fe,14,15065,15237,C0O15079C7O15121C10O15083C17O15146C19O15160C21O15159C24O15177C25O15188C27O15202C33O15221C37O15219C43O15234,,
code-creation,JS,10,535192,0x22fbedb060e,28,destroyTracking node:internal/async_hooks:332:25,0x39e2db44d90,~
code-source-info,0x22fbedb060e,14,12448,12591,C0O12471C3O12471C8O12521C10O12529C12O12528C16O12550C21O12550C27O12590,,
code-creation,JS,10,535602,0x22fbedb07b6,320,processTicksAndRejections node:internal/process/task_queues:67:35,0x39e2db65678,~
code-source-info,0x22fbedb07b6,35,1545,2522,C0O1557C2O1606C7O1597C12O1597C19O1641C21O1646C23O1645C27O1671C34O1696C36O1695C46O1671C54O1775C59O1803C65O1836C70O1895C75O1925C110O1956C111O1969C115O1956C119O1975C121O2003C122O2016C128O2025C132O2003C137O2031C139O2059C140O2072C146O2081C152O2090C156O2059C161O2096C163O2124C164O2137C170O2146C176O2155C182O2164C186O2124C191O2170C193O2199C198O2199C215O2270C220O2274C225O2306C230O2306C245O2346C250O2346C256O2378C261O2378C264O2424C269O2414C274O2414C282O2427C285O2427C290O1566C298O2459C303O2459C307O2490C314O2490C319O2521,,
code-creation,JS,10,535851,0x22fbedb0a86,48,shift node:internal/fixed_queue:108:8,0x39e2db67378,~
code-source-info,0x22fbedb0a86,37,4061,4320,C0O4089C5O4118C10O4118C15O4141C20O4141C26O4159C32O4260C36O4253C40O4273C41O4283C45O4303C47O4315,,
code-creation,JS,10,535958,0x22fbedb0bce,54,shift node:internal/fixed_queue:80:8,0x39e2db67118,~
code-source-info,0x22fbedb0bce,37,3379,3596,C0O3411C5O3421C9O3415C13O3435C15O3470C16O3482C17O3493C22O3503C28O3511C32O3549C36O3556C42O3563C44O3561C47O3541C51O3575C53O3591,,
code-creation,JS,10,536115,0x22fbedb0d06,42,emitBeforeScript node:internal/async_hooks:509:26,0x39e2db453d0,~
code-source-info,0x22fbedb0d06,14,17423,17579,C0O17464C12O17464C17O17522C22O17535C25O17526C31O17550C36O17550C41O17578,,
code-creation,JS,10,536278,0x22fbedb0e56,180,pushAsyncContext node:internal/async_hooks:539:26,0x39e2db45510,~
code-source-info,0x22fbedb0e56,14,18097,18652,C0O18153C7O18171C9O18170C13O18189C20O18223C24O18238C26O18249C32O18256C35O18267C40O18283C44O18253C49O18296C54O18303C59O18346C60O18350C65O18361C72O18384C78O18391C83O18407C85O18406C88O18389C92O18430C97O18441C104O18464C107O18468C113O18475C118O18491C120O18490C123O18473C127O18512C134O18530C142O18543C146O18550C153O18566C158O18585C162O18599C169O18615C174O18632C179O18651,,
code-creation,JS,10,536539,0x22fbedb10ce,205,emitHook node:internal/async_hooks:225:18,0x39e2db44b10,~
code-source-info,0x22fbedb10ce,14,8852,9850,C0O8875C12O8899C22O9220C24O9225C26O9227C29O9240C34O9246C38O9225C43O9268C48O9292C55O9297C61O9300C68O9336C73O9349C80O9354C86O9357C90O9365C95O9255C100O9207C117O9414C125O9414C143O9449C155O9473C170O9744C175O9761C181O9772C188O9781C191O9794C197O9821C200O9821C204O9849,,
code-creation,JS,10,536685,0x22fbedb12de,48,before node:domain:97:9,0x2d4ae6083e0,~
code-source-info,0x22fbedb12de,127,3475,3961,C0O3508C5O3516C10O3516C16O3535C18O3910C23O3910C27O3935C32O3935C37O3940C42O3941C47O3960,,
code-creation,JS,10,536786,0x22fbedb142e,73,afterWriteTick node:internal/streams/writable:691:24,0x381e1302ff8,~
code-source-info,0x22fbedb142e,102,21892,22060,C0O21895C5O21903C10O21910C15O21917C20O21928C22O21934C31O21946C33O21945C38O21942C42O21970C44O21976C48O22002C52O22013C67O22020C72O22057,,
code-creation,JS,10,536931,0x22fbedb15ae,214,afterWrite node:internal/streams/writable:697:20,0x381e1303048,~
code-source-info,0x22fbedb15ae,102,22083,22593,C0O22115C2O22121C11O22133C13O22132C18O22129C22O22176C24O22183C26O22182C32O22194C37O22204C39O22202C45O22217C47O22215C50O22191C56O22234C58O22230C63O22254C69O22261C73O22271C75O22293C77O22299C86O22311C88O22310C93O22307C97O22335C105O22335C110O22375C120O22375C125O22387C131O22402C135O22411C137O22411C141O22360C145O22431C147O22442C149O22441C155O22452C157O22450C162O22464C167O22478C170O22478C174O22508C176O22519C178O22518C184O22529C186O22527C191O22538C196O22552C207O22552C213O22592,,
code-creation,JS,10,537176,0x22fbedb180e,87, node:internal/console/constructor:365:10,0x39e2db763a8,~
code-source-info,0x22fbedb180e,54,11239,12073,C0O11460C7O11477C9O11473C17O11506C26O11525C31O11539C35O11567C40O11582C46O11984C54O11984C61O12007C66O12032C79O12032C86O12072,,
code-creation,JS,10,537289,0x22fbedb196e,39,emitDestroyScript node:internal/async_hooks:525:27,0x39e2db45470,~
code-source-info,0x22fbedb196e,14,17742,17931,C0O17831C5O17845C8O17836C15O17866C20O17877C21O17884C22O17888C27O17899C32O17899C38O17930,,
code-creation,JS,10,537363,0x22fbedb1a86,32,emitAfterScript node:internal/async_hooks:517:25,0x39e2db45420,~
code-source-info,0x22fbedb1a86,14,17609,17710,C0O17624C5O17637C8O17628C14O17651C19O17651C23O17682C26O17682C31O17709,,
code-creation,JS,10,537448,0x22fbedb1b9e,48,after node:domain:108:8,0x2d4ae608430,~
code-source-info,0x22fbedb1b9e,127,3971,4182,C0O4004C5O4012C10O4012C16O4031C18O4117C23O4117C28O4139C33O4139C37O4163C42O4163C47O4181,,
code-creation,JS,10,537572,0x22fbedb1d26,167,popAsyncContext node:internal/async_hooks:553:25,0x39e2db45560,~
code-source-info,0x22fbedb1d26,14,18745,19347,C0O18780C7O18798C9O18797C13O18816C14O18832C19O18839C20O18852C21O18858C24O18862C31O18885C36O18901C38O18900C44O18920C49O19004C54O19011C58O19037C59O19063C61O19075C65O19083C72O19099C77O19120C80O19131C87O19149C90O19146C93O19118C97O19163C104O19179C109O19198C112O19209C119O19227C122O19236C125O19224C128O19196C132O19245C137O19271C142O19271C146O19281C153O19299C158O19313C162O19326C163O19340C166O19344,,
code-creation,JS,10,537701,0x22fbedb1f06,13,enabledHooksExist node:internal/async_hooks:474:27,0x39e2db451f0,~
code-source-info,0x22fbedb1f06,14,16660,16695,C0O16668C5O16684C8O16675C12O16692,,
code-creation,JS,10,537843,0x22fbedb2026,158,resume_ node:internal/streams/readable:1252:17,0x77b20ec910,~
code-source-info,0x22fbedb2026,97,40433,40742,C0O40454C10O40477C12O40476C18O40487C20O40485C25O40497C30O40454C35O40508C37O40519C39O40518C45O40529C47O40527C52O40539C57O40560C64O40560C69O40579C71O40585C80O40597C82O40596C87O40593C91O40625C99O40625C104O40644C107O40644C111O40661C113O40672C115O40671C121O40683C126O40694C128O40692C131O40680C137O40709C139O40705C144O40731C151O40731C157O40741,,
code-creation,JS,10,537973,0x22fbedb222e,71,Socket.read node:net:768:33,0x77b20c9668,~
code-source-info,0x22fbedb222e,86,21124,21308,C0O21133C2O21142C4O21141C9O21160C15O21179C21O21203C26O21211C32O21227C35O21227C39O21255C44O21269C49O21276C54O21286C59O21291C64O21291C70O21305,,
code-creation,JS,10,538291,0x22fbedb2586,932,Readable.read node:internal/streams/readable:645:35,0x77b20ed400,~
code-source-info,0x22fbedb2586,97,20030,24836,C0O20039C8O20039C13O20189C17O20217C24O20236C29O20241C35O20268C43O20272C50O20322C55O20355C58O20450C62O20442C67O20470C70O20492C74O20490C78O20525C79O20531C84O20543C86O20549C95O20561C97O20560C102O20557C106O20757C107O20763C114O20786C116O20785C122O20796C124O20794C129O20811C134O20835C140O20849C145O20872C150O20888C154O20879C159O20919C165O20926C172O20949C174O20948C180O20959C182O20957C187O20967C192O20982C200O20982C204O21026C210O21033C217O21049C219O21048C225O21059C227O21057C232O21067C237O21081C240O21081C246O21117C249O21117C253O21142C254O21154C255O21165C258O21169C265O21261C266O21267C273O21283C275O21282C281O21293C283O21291C288O21301C293O21325C299O21332C304O21346C307O21346C311O21370C312O21382C313O22532C315O22539C317O22538C323O22549C325O22547C330O22564C335O22574C343O22574C348O22698C354O22705C359O22720C366O22727C370O22739C374O22731C379O22761C381O22781C389O22781C394O23048C396O23059C398O23058C404O23070C409O23081C411O23079C417O23090C419O23088C425O23103C427O23101C433O23114C435O23112C438O23067C444O23133C446O23129C451O23154C453O23175C461O23175C468O23234C472O23253C480O23253C484O23276C486O23282C495O23293C500O23304C502O23302C508O23290C512O23400C518O23407C523O23421C525O23427C534O23438C539O23435C546O23512C551O23524C556O23512C574O23568C584O23568C591O23607C593O23613C602O23625C604O23624C609O23621C613O23789C615O23800C617O23799C623O23810C625O23808C630O23820C635O23834C638O23838C645O23881C647O23889C648O23895C653O23905C656O23911C664O23944C666O23961C670O23986C672O23992C679O24009C684O24025C688O24016C698O24041C706O24000C710O24065C715O24089C722O24105C725O24102C729O24113C731O24124C733O24123C739O24134C741O24132C746O24152C751O24174C756O24192C761O24192C767O24222C768O24246C772O24281C778O24288C783O24423C785O24434C787O24433C793O24444C795O24442C800O24452C805O24466C807O24472C816O24483C821O24480C825O24581C827O24591C834O24607C836O24606C842O24617C844O24615C849O24625C854O24639C857O24639C861O24668C867O24695C869O24694C875O24706C880O24722C882O24720C885O24703C890O24738C895O24752C897O24758C906O24769C911O24766C915O24793C923O24793C929O24822C931O24833,,
code-creation,JS,10,538686,0x22fbedb2c56,170,howMuchToRead node:internal/streams/readable:628:23,0x77b20ec5c8,~
code-source-info,0x22fbedb2c56,97,19449,19922,C0O19465C1O19471C6O19486C12O19493C19O19509C21O19508C27O19519C29O19517C34O19527C39O19540C40O19549C41O19553C43O19564C45O19563C51O19574C53O19572C58O19587C63O19599C65O19608C66O19612C71O19616C77O19679C79O19690C81O19689C87O19700C89O19698C94O19710C99O19725C105O19753C110O19766C114O19759C118O19779C122O19786C123O19805C127O19812C128O19836C132O19827C137O19849C139O19858C140O19862C142O19876C144O19875C150O19886C152O19884C157O19894C162O19908C169O19919,,
code-creation,JS,10,538857,0x22fbedb2fce,141,Socket._read node:net:707:34,0x77b20c93b8,~
code-source-info,0x22fbedb2fce,86,19565,19889,C0O19565C13O19574C32O19631C45O19669C52O19574C57O19689C60O19698C69O19718C75O19734C85O19734C89O19775C92O19780C105O19780C113O19828C116O19838C121O19846C127O19862C135O19862C140O19888,,
code-creation,JS,10,538983,0x22fbedb31a6,10, node:net:46:63,0x23c5197fc48,~
code-source-info,0x22fbedb31a6,86,1729,1756,C0O1742C2O1748C9O1755,,
code-creation,JS,10,539071,0x22fbedb32ce,70,tryReadStart node:net:697:22,0x23c5197f308,~
code-source-info,0x22fbedb32ce,86,19226,19462,C0O19282C8O19282C12O19327C18O19343C22O19373C27O19381C32O19381C37O19397C39O19418C46O19430C57O19426C63O19418C69O19461,,
code-creation,JS,10,539379,0x22fbedb3436,56,flow node:internal/streams/readable:1278:14,0x77b20ec960,~
code-source-info,0x22fbedb3436,97,41114,41256,C0O41149C5O41168C13O41168C17O41226C19O41200C21O41199C27O41210C29O41208C34O41220C39O41236C44O41236C50O41186C55O41255,,
code-creation,JS,10,539515,0x22fbedb358e,103,onpause node:internal/bootstrap/switches/is_main_thread:264:19,0x22fbed84cd8,~
code-source-info,0x22fbedb358e,60,7407,7639,C0O7417C7O7428C13O7444C14O7451C15O7457C22O7467C27O7475C37O7487C40O7493C46O7519C53O7525C59O7548C63O7564C70O7570C76O7586C80O7602C87O7608C92O7616C97O7616C102O7638,,
code-creation,JS,10,539632,0x22fbedb36fe,10,get node:internal/streams/readable:1469:18,0x77b20edeb0,~
code-source-info,0x22fbedb36fe,97,45838,45892,C0O45862C5O45877C9O45885,,
code-creation,JS,10,539745,0x22fbedb37ee,47,get node:internal/streams/readable:243:8,0x77b20ecf30,~
code-source-info,0x22fbedb37ee,97,7780,7882,C0O7792C2O7805C4O7804C10O7815C12O7813C17O7828C24O7842C26O7841C32O7852C34O7850C39O7862C46O7875,,
code-creation,JS,10,541882,0x22fbedb390e,42,promiseBeforeHook node:internal/async_hooks:338:27,0x39e2db44de0,~
code-source-info,0x22fbedb390e,14,12621,12811,C0O12636C3O12636C7O12678C9O12686C11O12685C15O12725C17O12733C19O12732C23O12762C35O12762C41O12810,,
code-creation,JS,10,542136,0x22fbedb3a2e,40, node:internal/process/promises:58:32,0x39e2db66090,~
script-source,36,node:internal/process/promises,'use strict';\x0d\n\x0d\nconst {\x0d\n ArrayPrototypePush\x2C\x0d\n ArrayPrototypeShift\x2C\x0d\n Error\x2C\x0d\n ObjectPrototypeHasOwnProperty\x2C\x0d\n SafeMap\x2C\x0d\n SafeWeakMap\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst {\x0d\n tickInfo\x2C\x0d\n promiseRejectEvents: {\x0d\n kPromiseRejectWithNoHandler\x2C\x0d\n kPromiseHandlerAddedAfterReject\x2C\x0d\n kPromiseRejectAfterResolved\x2C\x0d\n kPromiseResolveAfterResolved\x2C\x0d\n }\x2C\x0d\n setPromiseRejectCallback\x2C\x0d\n} = internalBinding('task_queue');\x0d\n\x0d\nconst { deprecate } = require('internal/util');\x0d\n\x0d\nconst {\x0d\n noSideEffectsToString\x2C\x0d\n triggerUncaughtException\x2C\x0d\n exitCodes: { kGenericUserError }\x2C\x0d\n} = internalBinding('errors');\x0d\n\x0d\nconst {\x0d\n pushAsyncContext\x2C\x0d\n popAsyncContext\x2C\x0d\n symbols: {\x0d\n async_id_symbol: kAsyncIdSymbol\x2C\x0d\n trigger_async_id_symbol: kTriggerAsyncIdSymbol\x2C\x0d\n }\x2C\x0d\n} = require('internal/async_hooks');\x0d\nconst { isErrorStackTraceLimitWritable } = require('internal/errors');\x0d\n\x0d\n// *Must* match Environment::TickInfo::Fields in src/env.h.\x0d\nconst kHasRejectionToWarn = 1;\x0d\n\x0d\n// By default true because in cases where process is not a global\x0d\n// it is not possible to determine if the user has added a listener\x0d\n// to the process object.\x0d\nlet hasMultipleResolvesListener = true;\x0d\n\x0d\nif (process.on) {\x0d\n hasMultipleResolvesListener = process.listenerCount('multipleResolves') !== 0;\x0d\n\x0d\n process.on('newListener'\x2C (eventName) => {\x0d\n if (eventName === 'multipleResolves') {\x0d\n hasMultipleResolvesListener = true;\x0d\n }\x0d\n });\x0d\n\x0d\n process.on('removeListener'\x2C (eventName) => {\x0d\n if (eventName === 'multipleResolves') {\x0d\n hasMultipleResolvesListener = process.listenerCount('multipleResolves') !== 0;\x0d\n }\x0d\n });\x0d\n}\x0d\n\x0d\n/**\x0d\n * Errors & Warnings\x0d\n */\x0d\n\x0d\nclass UnhandledPromiseRejection extends Error {\x0d\n code = 'ERR_UNHANDLED_REJECTION';\x0d\n name = 'UnhandledPromiseRejection';\x0d\n /**\x0d\n * @param {Error} reason\x0d\n */\x0d\n constructor(reason) {\x0d\n super('This error originated either by throwing inside of an ' +\x0d\n 'async function without a catch block\x2C or by rejecting a promise which ' +\x0d\n 'was not handled with .catch(). The promise rejected with the reason "' +\x0d\n noSideEffectsToString(reason) + '".');\x0d\n }\x0d\n}\x0d\n\x0d\nclass UnhandledPromiseRejectionWarning extends Error {\x0d\n name = 'UnhandledPromiseRejectionWarning';\x0d\n /**\x0d\n * @param {number} uid\x0d\n */\x0d\n constructor(uid) {\x0d\n const message = 'Unhandled promise rejection. This error originated either by ' +\x0d\n 'throwing inside of an async function without a catch block\x2C ' +\x0d\n 'or by rejecting a promise which was not handled with .catch(). ' +\x0d\n 'To terminate the node process on unhandled promise ' +\x0d\n 'rejection\x2C use the CLI flag `--unhandled-rejections=strict` (see ' +\x0d\n 'https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). ' +\x0d\n `(rejection id: ${uid})`;\x0d\n\x0d\n // UnhandledPromiseRejectionWarning will get the stack trace from the\x0d\n // reason\x2C so we can disable the stack trace limit temporarily for better\x0d\n // performance.\x0d\n if (isErrorStackTraceLimitWritable()) {\x0d\n const stackTraceLimit = Error.stackTraceLimit;\x0d\n Error.stackTraceLimit = 0;\x0d\n super(message);\x0d\n Error.stackTraceLimit = stackTraceLimit;\x0d\n } else {\x0d\n super(message);\x0d\n }\x0d\n }\x0d\n}\x0d\n\x0d\nclass PromiseRejectionHandledWarning extends Error {\x0d\n name = 'PromiseRejectionHandledWarning';\x0d\n\x0d\n /**\x0d\n * @param {number} uid\x0d\n */\x0d\n constructor(uid) {\x0d\n super(`Promise rejection was handled asynchronously (rejection id: ${uid})`);\x0d\n this.id = uid;\x0d\n }\x0d\n}\x0d\n\x0d\n/**\x0d\n * @typedef PromiseInfo\x0d\n * @property {*} reason the reason for the rejection\x0d\n * @property {number} uid the unique id of the promise\x0d\n * @property {boolean} warned whether the rejection has been warned\x0d\n * @property {object} [domain] the domain the promise was created in\x0d\n */\x0d\n\x0d\n/**\x0d\n * @type {WeakMap<Promise\x2C PromiseInfo>}\x0d\n */\x0d\nconst maybeUnhandledPromises = new SafeWeakMap();\x0d\n\x0d\n/**\x0d\n * Using a Mp causes the promise to be referenced at least for one tick.\x0d\n * @type {Map<Promise\x2C PromiseInfo>}\x0d\n */\x0d\nlet pendingUnhandledRejections = new SafeMap();\x0d\n\x0d\n/**\x0d\n * @type {Array<{promise: Promise\x2C warning: Error}>}\x0d\n */\x0d\nconst asyncHandledRejections = [];\x0d\n\x0d\n/**\x0d\n * @type {number}\x0d\n */\x0d\nlet lastPromiseId = 0;\x0d\n\x0d\n/**\x0d\n * @param {boolean} value\x0d\n */\x0d\nfunction setHasRejectionToWarn(value) {\x0d\n tickInfo[kHasRejectionToWarn] = value ? 1 : 0;\x0d\n}\x0d\n\x0d\n/**\x0d\n * @returns {boolean}\x0d\n */\x0d\nfunction hasRejectionToWarn() {\x0d\n return tickInfo[kHasRejectionToWarn] === 1;\x0d\n}\x0d\n\x0d\n/**\x0d\n * @param {string|Error} obj\x0d\n * @returns {obj is Error}\x0d\n */\x0d\nfunction isErrorLike(obj) {\x0d\n return typeof obj === 'object' &&\x0d\n obj !== null &&\x0d\n ObjectPrototypeHasOwnProperty(obj\x2C 'stack');\x0d\n}\x0d\n\x0d\n/**\x0d\n * @param {0|1|2|3} type\x0d\n * @param {Promise} promise\x0d\n * @param {Error} reason\x0d\n */\x0d\nfunction promiseRejectHandler(type\x2C promise\x2C reason) {\x0d\n if (unhandledRejectionsMode === undefined) {\x0d\n unhandledRejectionsMode = getUnhandledRejectionsMode();\x0d\n }\x0d\n switch (type) {\x0d\n case kPromiseRejectWithNoHandler: // 0\x0d\n unhandledRejection(promise\x2C reason);\x0d\n break;\x0d\n case kPromiseHandlerAddedAfterReject: // 1\x0d\n handledRejection(promise);\x0d\n break;\x0d\n case kPromiseRejectAfterResolved: // 2\x0d\n if (hasMultipleResolvesListener) {\x0d\n resolveErrorReject(promise\x2C reason);\x0d\n }\x0d\n break;\x0d\n case kPromiseResolveAfterResolved: // 3\x0d\n if (hasMultipleResolvesListener) {\x0d\n resolveErrorResolve(promise\x2C reason);\x0d\n }\x0d\n break;\x0d\n }\x0d\n}\x0d\n\x0d\nconst multipleResolvesDeprecate = deprecate(\x0d\n () => {}\x2C\x0d\n 'The multipleResolves event has been deprecated.'\x2C\x0d\n 'DEP0160'\x2C\x0d\n);\x0d\n\x0d\n/**\x0d\n * @param {Promise} promise\x0d\n * @param {Error} reason\x0d\n */\x0d\nfunction resolveErrorResolve(promise\x2C reason) {\x0d\n // We have to wrap this in a next tick. Otherwise the error could be caught by\x0d\n // the executed promise.\x0d\n process.nextTick(() => {\x0d\n // Emit the multipleResolves event.\x0d\n // This is a deprecated event\x2C so we have to check if it's being listened to.\x0d\n if (process.emit('multipleResolves'\x2C 'resolve'\x2C promise\x2C reason)) {\x0d\n // If the event is being listened to\x2C emit a deprecation warning.\x0d\n multipleResolvesDeprecate();\x0d\n }\x0d\n });\x0d\n}\x0d\n\x0d\n/**\x0d\n * @param {Promise} promise\x0d\n * @param {Error} reason\x0d\n */\x0d\nfunction resolveErrorReject(promise\x2C reason) {\x0d\n // We have to wrap this in a next tick. Otherwise the error could be caught by\x0d\n // the executed promise.\x0d\n process.nextTick(() => {\x0d\n if (process.emit('multipleResolves'\x2C 'reject'\x2C promise\x2C reason)) {\x0d\n multipleResolvesDeprecate();\x0d\n }\x0d\n });\x0d\n}\x0d\n\x0d\n/**\x0d\n * @param {Promise} promise\x0d\n * @param {PromiseInfo} promiseInfo\x0d\n * @returns {boolean}\x0d\n */\x0d\nconst emitUnhandledRejection = (promise\x2C promiseInfo) => {\x0d\n return promiseInfo.domain ?\x0d\n promiseInfo.domain.emit('error'\x2C promiseInfo.reason) :\x0d\n process.emit('unhandledRejection'\x2C promiseInfo.reason\x2C promise);\x0d\n};\x0d\n\x0d\n/**\x0d\n * @param {Promise} promise\x0d\n * @param {Error} reason\x0d\n */\x0d\nfunction unhandledRejection(promise\x2C reason) {\x0d\n pendingUnhandledRejections.set(promise\x2C {\x0d\n reason\x2C\x0d\n uid: ++lastPromiseId\x2C\x0d\n warned: false\x2C\x0d\n domain: process.domain\x2C\x0d\n });\x0d\n setHasRejectionToWarn(true);\x0d\n}\x0d\n\x0d\n/**\x0d\n * @param {Promise} promise\x0d\n */\x0d\nfunction handledRejection(promise) {\x0d\n if (pendingUnhandledRejections.has(promise)) {\x0d\n pendingUnhandledRejections.delete(promise);\x0d\n return;\x0d\n }\x0d\n const promiseInfo = maybeUnhandledPromises.get(promise);\x0d\n if (promiseInfo !== undefined) {\x0d\n maybeUnhandledPromises.delete(promise);\x0d\n if (promiseInfo.warned) {\x0d\n // Generate the warning object early to get a good stack trace.\x0d\n const warning = new PromiseRejectionHandledWarning(promiseInfo.uid);\x0d\n ArrayPrototypePush(asyncHandledRejections\x2C { promise\x2C warning });\x0d\n setHasRejectionToWarn(true);\x0d\n }\x0d\n }\x0d\n}\x0d\n\x0d\nconst unhandledRejectionErrName = UnhandledPromiseRejectionWarning.name;\x0d\n\x0d\n/**\x0d\n * @param {PromiseInfo} promiseInfo\x0d\n */\x0d\nfunction emitUnhandledRejectionWarning(promiseInfo) {\x0d\n const warning = new UnhandledPromiseRejectionWarning(promiseInfo.uid);\x0d\n const reason = promiseInfo.reason;\x0d\n try {\x0d\n if (isErrorLike(reason)) {\x0d\n warning.stack = reason.stack;\x0d\n process.emitWarning(reason.stack\x2C unhandledRejectionErrName);\x0d\n } else {\x0d\n process.emitWarning(\x0d\n noSideEffectsToString(reason)\x2C unhandledRejectionErrName);\x0d\n }\x0d\n } catch {\x0d\n try {\x0d\n process.emitWarning(\x0d\n noSideEffectsToString(reason)\x2C unhandledRejectionErrName);\x0d\n } catch {\x0d\n // Ignore.\x0d\n }\x0d\n }\x0d\n\x0d\n process.emitWarning(warning);\x0d\n}\x0d\n\x0d\n/**\x0d\n * @callback UnhandledRejectionsModeHandler\x0d\n * @param {Promise} promise\x0d\n * @param {PromiseInfo} promiseInfo\x0d\n * @param {number} [promiseAsyncId]\x0d\n * @returns {boolean}\x0d\n */\x0d\n\x0d\n/**\x0d\n * The mode of unhandled rejections.\x0d\n * @type {UnhandledRejectionsModeHandler}\x0d\n */\x0d\nlet unhandledRejectionsMode;\x0d\n\x0d\n/**\x0d\n * --unhandled-rejections=strict:\x0d\n * Emit 'uncaughtException'. If it's not handled\x2C print the error to stderr\x0d\n * and exit the process.\x0d\n * Otherwise\x2C emit 'unhandledRejection'. If 'unhandledRejection' is not\x0d\n * handled\x2C emit 'UnhandledPromiseRejectionWarning'.\x0d\n * @type {UnhandledRejectionsModeHandler}\x0d\n */\x0d\nfunction strictUnhandledRejectionsMode(promise\x2C promiseInfo\x2C promiseAsyncId) {\x0d\n const reason = promiseInfo.reason;\x0d\n const err = isErrorLike(reason) ?\x0d\n reason : new UnhandledPromiseRejection(reason);\x0d\n // This destroys the async stack\x2C don't clear it after\x0d\n triggerUncaughtException(err\x2C true /* fromPromise */);\x0d\n if (promiseAsyncId === undefined) {\x0d\n pushAsyncContext(\x0d\n promise[kAsyncIdSymbol]\x2C\x0d\n promise[kTriggerAsyncIdSymbol]\x2C\x0d\n promise\x2C\x0d\n );\x0d\n }\x0d\n const handled = emitUnhandledRejection(promise\x2C promiseInfo);\x0d\n if (!handled) emitUnhandledRejectionWarning(promiseInfo);\x0d\n return true;\x0d\n}\x0d\n\x0d\n/**\x0d\n * --unhandled-rejections=none:\x0d\n * Emit 'unhandledRejection'\x2C but do not emit any warning.\x0d\n * @type {UnhandledRejectionsModeHandler}\x0d\n */\x0d\nfunction ignoreUnhandledRejectionsMode(promise\x2C promiseInfo) {\x0d\n emitUnhandledRejection(promise\x2C promiseInfo);\x0d\n return true;\x0d\n}\x0d\n\x0d\n/**\x0d\n * --unhandled-rejections=warn:\x0d\n * Emit 'unhandledRejection'\x2C then emit 'UnhandledPromiseRejectionWarning'.\x0d\n * @type {UnhandledRejectionsModeHandler}\x0d\n */\x0d\nfunction alwaysWarnUnhandledRejectionsMode(promise\x2C promiseInfo) {\x0d\n emitUnhandledRejection(promise\x2C promiseInfo);\x0d\n emitUnhandledRejectionWarning(promiseInfo);\x0d\n return true;\x0d\n}\x0d\n\x0d\n/**\x0d\n * --unhandled-rejections=throw:\x0d\n * Emit 'unhandledRejection'\x2C if it's unhandled\x2C emit\x0d\n * 'uncaughtException'. If it's not handled\x2C print the error to stderr\x0d\n * and exit the process.\x0d\n * @type {UnhandledRejectionsModeHandler}\x0d\n */\x0d\nfunction throwUnhandledRejectionsMode(promise\x2C promiseInfo) {\x0d\n const reason = promiseInfo.reason;\x0d\n const handled = emitUnhandledRejection(promise\x2C promiseInfo);\x0d\n if (!handled) {\x0d\n const err = isErrorLike(reason) ?\x0d\n reason :\x0d\n new UnhandledPromiseRejection(reason);\x0d\n // This destroys the async stack\x2C don't clear it after\x0d\n triggerUncaughtException(err\x2C true /* fromPromise */);\x0d\n return false;\x0d\n }\x0d\n return true;\x0d\n}\x0d\n\x0d\n/**\x0d\n * --unhandled-rejections=warn-with-error-code:\x0d\n * Emit 'unhandledRejection'\x2C if it's unhandled\x2C emit\x0d\n * 'UnhandledPromiseRejectionWarning'\x2C then set process exit code to 1.\x0d\n * @type {UnhandledRejectionsModeHandler}\x0d\n */\x0d\nfunction warnWithErrorCodeUnhandledRejectionsMode(promise\x2C promiseInfo) {\x0d\n const handled = emitUnhandledRejection(promise\x2C promiseInfo);\x0d\n if (!handled) {\x0d\n emitUnhandledRejectionWarning(promiseInfo);\x0d\n process.exitCode = kGenericUserError;\x0d\n }\x0d\n return true;\x0d\n}\x0d\n\x0d\n/**\x0d\n * @returns {UnhandledRejectionsModeHandler}\x0d\n */\x0d\nfunction getUnhandledRejectionsMode() {\x0d\n const { getOptionValue } = require('internal/options');\x0d\n switch (getOptionValue('--unhandled-rejections')) {\x0d\n case 'none':\x0d\n return ignoreUnhandledRejectionsMode;\x0d\n case 'warn':\x0d\n return alwaysWarnUnhandledRejectionsMode;\x0d\n case 'strict':\x0d\n return strictUnhandledRejectionsMode;\x0d\n case 'throw':\x0d\n return throwUnhandledRejectionsMode;\x0d\n case 'warn-with-error-code':\x0d\n return warnWithErrorCodeUnhandledRejectionsMode;\x0d\n default:\x0d\n return throwUnhandledRejectionsMode;\x0d\n }\x0d\n}\x0d\n\x0d\n// If this method returns true\x2C we've executed user code or triggered\x0d\n// a warning to be emitted which requires the microtask and next tick\x0d\n// queues to be drained again.\x0d\nfunction processPromiseRejections() {\x0d\n let maybeScheduledTicksOrMicrotasks = asyncHandledRejections.length > 0;\x0d\n\x0d\n while (asyncHandledRejections.length !== 0) {\x0d\n const { promise\x2C warning } = ArrayPrototypeShift(asyncHandledRejections);\x0d\n if (!process.emit('rejectionHandled'\x2C promise)) {\x0d\n process.emitWarning(warning);\x0d\n }\x0d\n }\x0d\n\x0d\n let needPop = true;\x0d\n let promiseAsyncId;\x0d\n\x0d\n const pending = pendingUnhandledRejections;\x0d\n pendingUnhandledRejections = new SafeMap();\x0d\n\x0d\n for (const { 0: promise\x2C 1: promiseInfo } of pending.entries()) {\x0d\n maybeUnhandledPromises.set(promise\x2C promiseInfo);\x0d\n\x0d\n promiseInfo.warned = true;\x0d\n\x0d\n // We need to check if async_hooks are enabled\x0d\n // don't use enabledHooksExist as a Promise could\x0d\n // come from a vm.* context and not have an async id\x0d\n promiseAsyncId = promise[kAsyncIdSymbol];\x0d\n if (promiseAsyncId !== undefined) {\x0d\n pushAsyncContext(\x0d\n promiseAsyncId\x2C\x0d\n promise[kTriggerAsyncIdSymbol]\x2C\x0d\n promise\x2C\x0d\n );\x0d\n }\x0d\n\x0d\n try {\x0d\n needPop = unhandledRejectionsMode(promise\x2C promiseInfo\x2C promiseAsyncId);\x0d\n } finally {\x0d\n needPop &&\x0d\n promiseAsyncId !== undefined &&\x0d\n popAsyncContext(promiseAsyncId);\x0d\n }\x0d\n maybeScheduledTicksOrMicrotasks = true;\x0d\n }\x0d\n return maybeScheduledTicksOrMicrotasks ||\x0d\n pendingUnhandledRejections.size !== 0;\x0d\n}\x0d\n\x0d\nfunction listenForRejections() {\x0d\n setPromiseRejectCallback(promiseRejectHandler);\x0d\n}\x0d\n\x0d\nmodule.exports = {\x0d\n hasRejectionToWarn\x2C\x0d\n setHasRejectionToWarn\x2C\x0d\n listenForRejections\x2C\x0d\n processPromiseRejections\x2C\x0d\n};\x0d\n
code-source-info,0x22fbedb3a2e,36,1471,1630,C0O1493C2O1507C7O1540C10O1578C18O1578C25O1612C32O1568C39O1629,,
code-creation,JS,10,543360,0x22fbedb4ac6,64,stopListeningIfSignal node:internal/process/signal:43:31,0x39e2db7c208,~
script-source,62,node:internal/process/signal,'use strict';\x0d\n\x0d\nconst {\x0d\n FunctionPrototypeBind\x2C\x0d\n SafeMap\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst {\x0d\n ErrnoException\x2C\x0d\n} = require('internal/errors');\x0d\n\x0d\nconst { signals } = internalBinding('constants').os;\x0d\n\x0d\nlet Signal;\x0d\nconst signalWraps = new SafeMap();\x0d\n\x0d\nfunction isSignal(event) {\x0d\n return typeof event === 'string' && signals[event] !== undefined;\x0d\n}\x0d\n\x0d\n// Detect presence of a listener for the special signal types\x0d\nfunction startListeningIfSignal(type) {\x0d\n if (isSignal(type) && !signalWraps.has(type)) {\x0d\n if (Signal === undefined)\x0d\n Signal = internalBinding('signal_wrap').Signal;\x0d\n const wrap = new Signal();\x0d\n\x0d\n wrap.unref();\x0d\n\x0d\n wrap.onsignal = FunctionPrototypeBind(process.emit\x2C process\x2C type\x2C type);\x0d\n\x0d\n const signum = signals[type];\x0d\n const err = wrap.start(signum);\x0d\n if (err) {\x0d\n wrap.close();\x0d\n throw new ErrnoException(err\x2C 'uv_signal_start');\x0d\n }\x0d\n\x0d\n signalWraps.set(type\x2C wrap);\x0d\n }\x0d\n}\x0d\n\x0d\nfunction stopListeningIfSignal(type) {\x0d\n const wrap = signalWraps.get(type);\x0d\n if (wrap !== undefined && process.listenerCount(type) === 0) {\x0d\n wrap.close();\x0d\n signalWraps.delete(type);\x0d\n }\x0d\n}\x0d\n\x0d\nmodule.exports = {\x0d\n startListeningIfSignal\x2C\x0d\n stopListeningIfSignal\x2C\x0d\n};\x0d\n
code-source-info,0x22fbedb4ac6,62,982,1153,C0O1007C5O1019C10O1019C16O1033C21O1067C26O1067C33O1087C38O1106C43O1106C47O1120C52O1132C57O1138C63O1152,,
code-creation,JS,10,543571,0x22fbedb4dd6,74, node:domain:196:30,0x2d4ae6085b0,~
code-source-info,0x22fbedb4dd6,127,6816,7223,C0O6841C2O6850C9O6893C14O7027C17O7035C25O7035C31O7086C38O7093C44O7111C50O7115C55O7156C58O7164C66O7164C73O7222,,
code-creation,JS,10,543664,0x22fbedb4f26,58,promiseAfterHook node:internal/async_hooks:345:26,0x39e2db44e30,~
code-source-info,0x22fbedb4f26,14,12840,13396,C0O12855C3O12855C7O12897C9O12905C11O12904C15O12926C20O12939C23O12930C29O12955C34O12955C38O12989C41O13005C44O13001C49O13363C52O13363C57O13395,,
code-creation,JS,10,543751,0x22fbedb505e,13,executionAsyncId node:internal/async_hooks:571:26,0x39e2db455b0,~
code-source-info,0x22fbedb505e,14,19378,19431,C0O19386C7O19409C9O19408C12O19428,,
code-creation,JS,10,544019,0x22fbedb52e6,417,processPromiseRejections node:internal/process/promises:436:34,0x39e2db66a98,~
code-source-info,0x22fbedb52e6,36,12505,13865,C0O12551C5O12574C11O12581C15O12628C20O12621C26O12628C31O12671C38O12691C41O12671C46O12650C51O12659C56O12721C59O12734C67O12734C75O12778C78O12786C83O12786C88O12591C92O12839C94O12852C96O12889C101O12920C106O12949C114O12947C120O13022C125O13022C147O13009C177O13009C180O12985C188O12997C192O13040C198O13063C204O13063C210O13097C211O13116C215O13296C217O13321C219O13320C223O13343C225O13386C233O13446C235O13445C246O13386C254O13525C269O13535C289O13533C290O13622C299O13655C304O13679C308O13679C327O13724C329O12969C397O13772C403O13824C406O13851C412O13856C416O13862,,
code-creation,JS,10,544266,0x22fbedb5786,25,setHasRejectionToWarn node:internal/process/promises:155:31,0x39e2db66548,~
code-source-info,0x22fbedb5786,36,4281,4343,C0O4294C7O4303C12O4326C19O4324C24O4342,,
new,MemoryChunk,0x2ee9bf80000,262144
new,MemoryChunk,0xcbd5a00000,262144
new,MemoryChunk,0x835a840000,262144
new,MemoryChunk,0xbd6fd80000,262144
code-creation,JS,10,545579,0x22fbedb58c6,173,callbackTrampoline node:internal/async_hooks:118:28,0x39e2db44930,~
code-source-info,0x22fbedb58c6,14,5308,5850,C0O5308C14O5360C21O5378C23O5377C26O5392C30O5400C37O5433C41O5450C42O5462C52O5480C55O5471C61O5495C66O5495C70O5531C72O5542C73O5554C86O5608C91O5608C96O5626C101O5645C106O5645C115O5693C120O5693C127O5722C128O5734C138O5752C141O5743C147O5766C152O5766C156O5797C161O5823C166O5823C170O5833C172O5847,,
code-creation,JS,10,545726,0x22fbedb5bc6,25, node:fs:187:10,0x22fbedafaf8,~
code-source-info,0x22fbedb5bc6,45,4945,4986,C0O4945C3O4958C19O4958C24O4986,,
code-creation,JS,10,545817,0x22fbedb5d26,102,oninit node:internal/repl/history:72:18,0x22fbeda0960,~
code-source-info,0x22fbedb5d26,129,2097,2514,C0O2115C4O2220C17O2283C21O2220C26O2351C33O2361C38O2351C42O2378C49O2396C53O2426C56O2431C61O2431C65O2448C73O2455C78O2473C79O2486C86O2489C94O2489C101O2513,,
code-creation,JS,10,545921,0x22fbedb5ea6,64,close node:fs:510:15,0x39e2db6d848,~
code-source-info,0x22fbedb5ea6,45,13651,13870,C14O13694C16O13707C21O13738C24O13749C29O13790C34O13790C40O13814C42O13829C46O13844C51O13852C56O13852C63O13869,,
code-creation,JS,10,546086,0x22fbedb601e,17,destroy node:domain:116:10,0x2d4ae608480,~
code-source-info,0x22fbedb601e,127,4194,4255,C0O4211C5O4219C10O4225C16O4254,,
code-creation,JS,10,546459,0x22fbedb6116,40,onclose node:internal/repl/history:87:19,0x22fbeda09b0,~
code-source-info,0x22fbedb6116,129,2536,2644,C0O2549C4O2567C7O2574C11O2585C12O2598C19O2601C33O2601C39O2643,,
code-creation,JS,10,546676,0x22fbedb63ee,276,readFile node:fs:363:18,0x39e2db6d640,~
code-source-info,0x22fbedb63ee,45,9682,10659,C0O9682C9O9713C18O9738C28O9738C33O9775C40O9796C45O9785C52O9848C60O9848C65O9942C75O9904C81O9956C85O9975C91O9975C95O9973C99O10033C105O10073C109O10063C113O10101C119O10118C124O10126C134O10126C140O10250C141O10257C142O10268C147O10293C152O10272C159O10317C160O10324C161O10350C168O10372C176O10350C182O10398C192O10405C196O10403C198O10446C205O10446C211O10470C213O10482C217O10496C221O10511C225O10535C232O10543C241O10548C244O10559C252O10559C269O10543C275O10658,,
code-creation,JS,10,546894,0x22fbedb674e,135,getOptions node:internal/fs/utils:321:20,0x39e2db5ed50,~
code-source-info,0x22fbedb674e,29,7730,8358,C9O7757C16O7776C27O7837C29O7859C30O7870C36O7910C41O7955C43O7979C47O7995C54O8031C60O8071C78O8077C83O8071C84O8167C91O8176C96O8195C99O8218C104O8195C108O8246C114O8275C119O8303C127O8275C132O8340C134O8355,,
code-creation,JS,10,547020,0x22fbedb69be,48,assertEncoding node:internal/fs/utils:155:24,0x39e2db5e828,~
code-source-info,0x22fbedb69be,29,3734,3916,C0O3750C6O3767C9O3774C14O3774C21O3818C24O3846C40O3852C45O3846C47O3915,,
code-creation,JS,10,547094,0x22fbedb6ad6,30,isEncoding node:buffer:557:40,0x39e2db56118,~
code-source-info,0x22fbedb6ad6,25,16119,16254,C0O16135C6O16183C12O16190C20O16209C23O16209C28O16237C29O16251,,
code-creation,Eval,10,547395,0x22fbedb6eae,5, node:internal/fs/read/context:1:1,0x22fbedb6c88,~
script-source,134,node:internal/fs/read/context,'use strict';\x0d\n\x0d\nconst {\x0d\n ArrayPrototypePush\x2C\x0d\n MathMin\x2C\x0d\n ReflectApply\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst {\x0d\n constants: {\x0d\n kReadFileBufferLength\x2C\x0d\n kReadFileUnknownBufferLength\x2C\x0d\n }\x2C\x0d\n} = require('internal/fs/utils');\x0d\n\x0d\nconst { Buffer } = require('buffer');\x0d\n\x0d\nconst { FSReqCallback\x2C close\x2C read } = internalBinding('fs');\x0d\n\x0d\nconst {\x0d\n AbortError\x2C\x0d\n aggregateTwoErrors\x2C\x0d\n} = require('internal/errors');\x0d\n\x0d\nfunction readFileAfterRead(err\x2C bytesRead) {\x0d\n const context = this.context;\x0d\n\x0d\n if (err)\x0d\n return context.close(err);\x0d\n\x0d\n context.pos += bytesRead;\x0d\n\x0d\n if (context.pos === context.size || bytesRead === 0) {\x0d\n context.close();\x0d\n } else {\x0d\n if (context.size === 0) {\x0d\n // Unknown size\x2C just read until we don't get bytes.\x0d\n const buffer = bytesRead === kReadFileUnknownBufferLength ?\x0d\n context.buffer : context.buffer.slice(0\x2C bytesRead);\x0d\n ArrayPrototypePush(context.buffers\x2C buffer);\x0d\n }\x0d\n context.read();\x0d\n }\x0d\n}\x0d\n\x0d\nfunction readFileAfterClose(err) {\x0d\n const context = this.context;\x0d\n const callback = context.callback;\x0d\n let buffer = null;\x0d\n\x0d\n if (context.err || err)\x0d\n return callback(aggregateTwoErrors(err\x2C context.err));\x0d\n\x0d\n try {\x0d\n if (context.size === 0)\x0d\n buffer = Buffer.concat(context.buffers\x2C context.pos);\x0d\n else if (context.pos < context.size)\x0d\n buffer = context.buffer.slice(0\x2C context.pos);\x0d\n else\x0d\n buffer = context.buffer;\x0d\n\x0d\n if (context.encoding)\x0d\n buffer = buffer.toString(context.encoding);\x0d\n } catch (err) {\x0d\n return callback(err);\x0d\n }\x0d\n\x0d\n callback(null\x2C buffer);\x0d\n}\x0d\n\x0d\nclass ReadFileContext {\x0d\n constructor(callback\x2C encoding) {\x0d\n this.fd = undefined;\x0d\n this.isUserFd = undefined;\x0d\n this.size = 0;\x0d\n this.callback = callback;\x0d\n this.buffers = null;\x0d\n this.buffer = null;\x0d\n this.pos = 0;\x0d\n this.encoding = encoding;\x0d\n this.err = null;\x0d\n this.signal = undefined;\x0d\n }\x0d\n\x0d\n read() {\x0d\n let buffer;\x0d\n let offset;\x0d\n let length;\x0d\n\x0d\n if (this.signal?.aborted) {\x0d\n return this.close(\x0d\n new AbortError(undefined\x2C { cause: this.signal?.reason }));\x0d\n }\x0d\n if (this.size === 0) {\x0d\n buffer = Buffer.allocUnsafeSlow(kReadFileUnknownBufferLength);\x0d\n offset = 0;\x0d\n length = kReadFileUnknownBufferLength;\x0d\n this.buffer = buffer;\x0d\n } else {\x0d\n buffer = this.buffer;\x0d\n offset = this.pos;\x0d\n length = MathMin(kReadFileBufferLength\x2C this.size - this.pos);\x0d\n }\x0d\n\x0d\n const req = new FSReqCallback();\x0d\n req.oncomplete = readFileAfterRead;\x0d\n req.context = this;\x0d\n\x0d\n read(this.fd\x2C buffer\x2C offset\x2C length\x2C -1\x2C req);\x0d\n }\x0d\n\x0d\n close(err) {\x0d\n if (this.isUserFd) {\x0d\n process.nextTick(function tick(context) {\x0d\n ReflectApply(readFileAfterClose\x2C { context }\x2C [null]);\x0d\n }\x2C this);\x0d\n return;\x0d\n }\x0d\n\x0d\n const req = new FSReqCallback();\x0d\n req.oncomplete = readFileAfterClose;\x0d\n req.context = this;\x0d\n this.err = err;\x0d\n\x0d\n close(this.fd\x2C req);\x0d\n }\x0d\n}\x0d\n\x0d\nmodule.exports = ReadFileContext;\x0d\n
code-source-info,0x22fbedb6eae,134,0,3031,C0O0C4O3031,,
code-creation,JS,10,547716,0x22fbedb7306,196, node:internal/fs/read/context:1:1,0x22fbedb6e28,~
code-source-info,0x22fbedb7306,134,0,3031,C0O0C54O28C60O51C66O63C72O196C75O196C80O120C85O127C91O155C97O248C100O248C105O237C111O309C114O309C119O278C125O293C131O300C137O386C140O386C145O346C151O361C188O2996C190O3011C195O3030,,
code-creation,JS,10,547945,0x22fbedb7aee,54,ReadFileContext node:internal/fs/read/context:72:14,0x22fbedb6f80,~
code-source-info,0x22fbedb7aee,134,1637,1926,C0O1665C1O1673C5O1691C6O1705C10O1723C11O1733C15O1743C17O1757C21O1774C22O1787C26O1800C27O1812C31O1825C32O1834C36O1844C38O1858C42O1875C43O1884C47O1897C48O1909C53O1925,,
code-creation,JS,10,548065,0x22fbedb838e,9,isInt32 node:internal/validators:43:17,0x39e2db45910,~
code-source-info,0x22fbedb838e,15,1127,1172,C0O1140C2O1164C5O1153C8O1169,,
code-creation,JS,10,548149,0x22fbedb84b6,65,checkAborted node:fs:341:22,0x39e2db6d5f0,~
code-source-info,0x22fbedb84b6,45,9158,9316,C0O9182C7O9192C16O9210C18O9223C23O9234C38O9260C51O9219C57O9210C61O9279C62O9291C63O9300C64O9313,,
code-creation,JS,10,548910,0x22fbedb86de,75,readFileAfterOpen node:fs:295:27,0x39e2db6d550,~
code-source-info,0x22fbedb86de,45,7955,8223,C0O7991C5O8005C9O8029C14O8029C19O8049C20O8056C21O8067C23O8078C27O8101C32O8101C38O8125C40O8140C44O8164C46O8176C50O8190C55O8198C68O8198C74O8222,,
code-creation,JS,10,549421,0x22fbedb896e,162,readFileAfterStat node:fs:311:27,0x39e2db6d5a0,~
code-source-info,0x22fbedb896e,45,8253,9133,C0O8292C5O8306C9O8335C14O8335C19O8346C20O8591C25O8624C28O8606C40O8640C47O8604C54O8654C56O8665C58O8663C63O8686C70O8692C77O8745C82O8745C87O8756C91O8778C92O8787C97O8959C99O8975C105O9002C107O9019C110O9026C115O9026C120O9017C137O9095C145O9095C150O9106C151O9123C156O9123C161O9132,,
code-creation,JS,10,549571,0x22fbedb8b56,34,isFileType node:fs:204:20,0x39e2db6d348,~
code-source-info,0x22fbedb8b56,45,5398,5646,C0O5535C2O5540C6O5548C10O5583C15O5590C20O5607C22O5622C24O5620C30O5630C33O5643,,
code-creation,JS,10,549751,0x22fbedb8f5e,215,read node:internal/fs/read/context:85:7,0x22fbedb6fd0,~
code-source-info,0x22fbedb8f5e,134,1936,2632,C0O1950C2O1967C4O1984C6O2008C13O2014C22O2046C29O2066C34O2077C39O2102C49O2108C62O2062C68O2046C73O2121C74O2143C80O2148C85O2164C90O2180C97O2196C100O2180C106O2234C108O2253C113O2299C115O2311C121O2356C126O2385C131O2397C138O2414C141O2442C146O2454C150O2447C154O2406C160O2486C165O2486C171O2512C173O2527C177O2553C179O2565C183O2580C188O2590C208O2580C214O2631,,
tick,0x7ffcc628d664,550007,0,0x0,3,0x7ff7b9533060,0x22fbedb8a0a,0x22fbedb593e
code-creation,JS,10,550097,0x22fbedb918e,33,allocUnsafeSlow node:buffer:411:50,0x39e2db55a78,~
code-source-info,0x22fbedb918e,25,12368,12463,C0O12380C12O12412C18O12380C23O12428C28O12435C32O12460,,
code-creation,JS,10,550527,0x22fbedb9466,136,readFileAfterRead node:internal/fs/read/context:25:27,0x22fbedb6ee0,~
code-source-info,0x22fbedb9466,134,443,973,C0O486C5O500C9O529C14O529C19O540C20O546C27O561C30O558C34O589C39O605C43O593C49O623C54O645C59O645C65O683C71O688C76O779C78O793C80O789C85O841C91O858C96O865C103O865C110O893C115O920C120O893C125O958C130O958C135O972,,
code-creation,JS,10,550701,0x22fbedb969e,73,close node:internal/fs/read/context:112:8,0x22fbedb7020,~
code-source-info,0x22fbedb969e,134,2643,2989,C0O2665C6O2684C9O2692C19O2692C25O2814C26O2821C27O2848C32O2848C38O2874C40O2889C44O2916C46O2928C50O2941C52O2950C56O2964C61O2975C66O2964C72O2988,,
code-creation,JS,10,551173,0x22fbedb98ee,183,readFileAfterClose node:internal/fs/read/context:46:28,0x22fbedb6f30,~
code-source-info,0x22fbedb98ee,134,1004,1595,C0O1036C5O1073C10O1099C12O1122C20O1129C22O1139C24O1155C27O1187C32O1155C38O1146C42O1193C46O1222C52O1227C57O1241C62O1257C67O1272C72O1289C77O1257C86O1317C91O1331C95O1321C100O1361C105O1368C112O1385C117O1368C126O1425C131O1452C137O1485C142O1502C147O1485C156O1476C166O1537C169O1544C173O1558C174O1569C176O1569C182O1594,,
code-creation,JS,10,551476,0x22fbedb9b86,259,concat node:buffer:563:32,0x39e2db56168,~
code-source-info,0x22fbedb9b86,25,16338,17509,C0O16358C8O16358C13O16401C19O16408C24O16420C29O16427C34O16444C35O16450C39O16483C42O16513C44O16525C48O16518C53O16547C55O16555C59O16559C65O16578C67O16592C71O16596C83O16534C88O16500C94O16637C102O16637C107O16696C110O16703C115O16703C121O16737C123O16756C125O16768C129O16761C134O16800C136O16804C140O16814C145O16819C151O16978C161O17027C179O17063C185O16984C190O16978C191O17081C196O17125C210O17088C219O16777C224O16743C228O17214C230O17222C235O17433C251O17433C256O17492C258O17506,,
code-creation,JS,10,551672,0x22fbedb9e5e,95, node:internal/validators:299:39,0x39e2db46030,~
code-source-info,0x22fbedb9e5e,15,8847,9133,C16O8884C21O8889C27O8917C43O8923C48O8917C49O8989C56O8996C61O9031C66O9054C71O9072C87O9078C92O9072C94O9132,,
code-creation,JS,10,551888,0x22fbedb9fe6,162,toString node:buffer:811:46,0x39e2db57a58,~
code-source-info,0x22fbedb9fe6,25,24761,25353,C0O24761C2O24803C8O24810C13O24836C20O24854C25O24836C31O24862C32O24890C37O24903C38O24913C43O24924C48O24943C50O24953C55O24966C57O24976C58O24990C65O25007C71O25036C76O25048C83O25072C90O25087C92O25095C97O25110C99O25120C100O25126C104O25171C109O25171C115O25193C116O25211C119O25211C124O25240C126O25268C133O25274C138O25268C139O25326C156O25326C161O25350,,
code-creation,JS,10,552109,0x22fbedba1e6,91,onread node:internal/repl/history:94:18,0x22fbeda0a00,~
code-source-info,0x22fbedba1e6,129,2665,2928,C0O2684C4O2702C7O2709C11O2720C12O2735C16O2754C23O2769C35O2818C43O2769C48O2767C54O2853C59O2866C63O2886C70O2889C84O2889C90O2927,,
code-creation,JS,10,553287,0x22fbedba41e,52,onhandle node:internal/repl/history:108:20,0x22fbeda0a50,~
code-source-info,0x22fbedba41e,129,2951,3343,C0O2951C9O2969C13O2987C18O2994C22O3005C23O3018C30O3021C40O3031C45O3021C51O3342,,
code-creation,JS,10,553462,0x22fbedba596,104,ftruncate node:fs:1104:19,0x39e2db6de68,~
code-source-info,0x22fbedba596,45,29436,29740,C16O29465C22O29503C25O29524C27O29541C35O29541C40O29573C47O29579C53O29599C56O29610C61O29651C66O29651C72O29675C74O29690C78O29705C83O29713C97O29713C103O29739,,
code-creation,JS,10,553621,0x22fbedba73e,151, node:internal/validators:93:3,0x39e2db45c78,~
code-source-info,0x22fbedba73e,15,2512,2900,C12O2532C25O2562C32O2596C38O2634C54O2640C59O2634C60O2694C65O2699C71O2730C87O2736C92O2730C93O2790C95O2800C102O2815C107O2829C117O2868C130O2881C143O2835C148O2829C150O2899,,
code-creation,JS,10,554065,0x22fbedba976,93, node:internal/repl/history:112:26,0x22fbedba368,~
code-source-info,0x22fbedba976,129,3039,3336,C0O3057C7O3077C11O3091C16O3096C29O3096C35O3123C40O3128C53O3128C59O3205C64O3210C77O3210C83O3314C88O3314C92O3335,,
code-creation,JS,10,554274,0x22fbedbab96,109,flushHistory node:internal/repl/history:137:24,0x22fbeda0af8,~
code-source-info,0x22fbedbab96,129,3586,3838,C0O3596C4O3602C10O3615C16O3637C20O3645C26O3660C27O3667C28O3680C32O3688C38O3721C48O3745C57O3754C60O3757C65O3721C71O3768C78O3771C86O3782C102O3771C108O3837,,
code-creation,JS,10,554611,0x22fbedbae36,424,write node:fs:821:15,0x39e2db6db70,~
code-source-info,0x22fbedbae36,45,21921,23544,C0O21921C18O22142C25O22147C31O22185C34O22205C44O22209C50O22243C56O22256C60O22268C64O22252C66O22291C79O22291C84O22332C90O22373C100O22499C103O22385C111O22406C120O22422C127O22433C132O22452C141O22528C152O22589C156O22622C171O22622C176O22672C182O22711C185O22727C192O22738C197O22753C203O22794C206O22816C216O22865C227O22816C232O22897C239O22897C245O22923C247O22938C251O22954C258O22962C281O22962C286O23023C287O23030C288O23041C301O23041C306O23100C312O23143C318O23186C321O23212C325O23248C330O23279C334O23318C337O23329C344O23329C349O23363C351O23372C353O23387C366O23387C371O23438C378O23438C384O23462C386O23477C390O23491C397O23499C417O23499C423O23543,,
code-creation,JS,10,554825,0x22fbedbb1b6,52, node:internal/fs/utils:699:40,0x39e2db5f840,~
code-source-info,0x22fbedbb1b6,29,19917,20046,C14O19947C22O19951C29O19976C30O19985C31O19996C44O19996C49O20033C51O20043,,
code-creation,JS,10,554914,0x22fbedbb326,37, node:internal/fs/utils:886:60,0x39e2db5fb10,~
code-source-info,0x22fbedbb326,29,25659,25872,C0O25682C6O25721C11O25752C16O25781C29O25727C34O25721C36O25871,,
code-creation,JS,10,555016,0x22fbedbb4ae,65, node:internal/validators:405:42,0x39e2db46210,~
code-source-info,0x22fbedbb4ae,15,11934,12254,C0O11986C5O11986C10O12038C15O12051C17O12074C24O12094C29O12098C34O12112C47O12236C57O12118C62O12112C64O12253,,
code-creation,JS,10,555421,0x22fbedbb5de,22,wrapper node:fs:822:19,0x22fbedbacf0,~
code-source-info,0x22fbedbb5de,45,22000,22136,C0O22095C8O22109C15O22095C21O22135,,
code-creation,JS,10,555572,0x22fbedbb6fe,84,onwritten node:internal/repl/history:148:21,0x22fbeda0b48,~
code-source-info,0x22fbedbb6fe,129,3862,4099,C0O3881C4O3889C10O3903C16O3925C20O3933C26O3949C29O3949C34O3980C41O3997C46O4005C49O3997C53O3995C57O4020C60O4030C66O4052C69O4057C77O4057C83O4098,,
code-creation,JS,10,555708,0x22fbedbb8ce,95,onceWrapper node:events:628:21,0x39e2db52848,~
code-source-info,0x22fbedbb8ce,23,18970,19222,C0O18970C2O18988C8O19007C13O19014C18O19034C23O19045C28O19014C34O19059C35O19070C39O19097C45O19104C50O19130C55O19139C60O19149C65O19139C70O19157C71O19175C76O19184C81O19195C86O19184C92O19214C94O19221,,
code-creation,JS,10,555810,0x22fbedbba3e,33, node:internal/repl/history:118:41,0x22fbedba8a8,~
code-source-info,0x22fbedbba3e,129,3239,3304,C0O3253C5O3258C10O3258C14O3277C26O3277C32O3303,,
code-creation,JS,10,555876,0x22fbedbbb4e,43,resume node:internal/readline/interface:547:9,0x158ab337238,~
code-source-info,0x22fbedbbb4e,123,15009,15145,C0O15029C6O15037C7O15044C8O15055C13O15061C18O15061C22O15076C23O15088C27O15107C35O15107C40O15128C42O15140,,
code-creation,JS,10,556060,0x22fbedbbd66,40, node:internal/main/repl:43:45,0x23c51978808,~
code-source-info,0x22fbedbbd66,80,1342,1642,C0O1342C9O1366C13O1386C15O1386C16O1413C19O1418C32O1418C39O1641,,
tick,0x7ffcc6290394,565844,0,0x0,8
tick,0x7ffcc6290394,581672,0,0x0,8
tick,0x7ffcc6290394,597396,0,0x0,8
tick,0x7ffcc6290394,613487,0,0x0,8
tick,0x7ffcc6290394,628871,0,0x0,8
tick,0x7ffcc6290394,644506,0,0x0,8
tick,0x7ffcc6290394,660227,0,0x0,8
tick,0x7ffcc6290394,675761,0,0x0,8
tick,0x7ffcc6290394,691048,0,0x0,8
tick,0x7ffcc6290394,706476,0,0x0,8
tick,0x7ffcc6290394,722574,0,0x0,8
tick,0x7ffcc6290394,738401,0,0x0,8
tick,0x7ffcc6290394,753615,0,0x0,8
tick,0x7ffcc6290394,769753,0,0x0,8
tick,0x7ffcc6290394,785698,0,0x0,8
tick,0x7ffcc6290394,801596,0,0x0,8
tick,0x7ffcc6290394,816891,0,0x0,8
tick,0x7ffcc6290394,832786,0,0x0,8
tick,0x7ffcc6290394,848556,0,0x0,8
tick,0x7ffcc6290394,864485,0,0x0,8
tick,0x7ffcc6290394,879564,0,0x0,8
tick,0x7ffcc6290394,894799,0,0x0,8
tick,0x7ffcc6290394,910580,0,0x0,8
tick,0x7ffcc6290394,926165,0,0x0,8
tick,0x7ffcc6290394,941570,0,0x0,8
tick,0x7ffcc6290394,956449,0,0x0,8
tick,0x7ffcc6290394,971676,0,0x0,8
tick,0x7ffcc6290394,987473,0,0x0,8
tick,0x7ffcc6290394,1003219,0,0x0,8
tick,0x7ffcc6290394,1018953,0,0x0,8
tick,0x7ffcc6290394,1034723,0,0x0,8
tick,0x7ffcc6290394,1050476,0,0x0,8
tick,0x7ffcc6290394,1065575,0,0x0,8
tick,0x7ffcc6290394,1081717,0,0x0,8
tick,0x7ffcc6290394,1096862,0,0x0,8
tick,0x7ffcc6290394,1112184,0,0x0,8
tick,0x7ffcc6290394,1127589,0,0x0,8
tick,0x7ffcc6290394,1143113,0,0x0,8
tick,0x7ffcc6290394,1158725,0,0x0,8
tick,0x7ffcc6290394,1174184,0,0x0,8
tick,0x7ffcc6290394,1189926,0,0x0,8
tick,0x7ffcc6290394,1205807,0,0x0,8
tick,0x7ffcc6290394,1221969,0,0x0,8
tick,0x7ffcc6290394,1236969,0,0x0,8
tick,0x7ffcc6290394,1252399,0,0x0,8
tick,0x7ffcc6290394,1267770,0,0x0,8
tick,0x7ffcc6290394,1283411,0,0x0,8
tick,0x7ffcc6290394,1298758,0,0x0,8
tick,0x7ffcc6290394,1314472,0,0x0,8
tick,0x7ffcc6290394,1330081,0,0x0,8
tick,0x7ffcc6290394,1345107,0,0x0,8
tick,0x7ffcc6290394,1360580,0,0x0,8
tick,0x7ffcc6290394,1376469,0,0x0,8
tick,0x7ffcc6290394,1392169,0,0x0,8
tick,0x7ffcc6290394,1407569,0,0x0,8
tick,0x7ffcc6290394,1423091,0,0x0,8
tick,0x7ffcc6290394,1438969,0,0x0,8
tick,0x7ffcc6290394,1454565,0,0x0,8
tick,0x7ffcc6290394,1470429,0,0x0,8
tick,0x7ffcc6290394,1486022,0,0x0,8
tick,0x7ffcc6290394,1501931,0,0x0,8
tick,0x7ffcc6290394,1518128,0,0x0,8
tick,0x7ffcc6290394,1533164,0,0x0,8
tick,0x7ffcc6290394,1548592,0,0x0,8
tick,0x7ffcc6290394,1564031,0,0x0,8
tick,0x7ffcc6290394,1579224,0,0x0,8
tick,0x7ffcc6290394,1595154,0,0x0,8
tick,0x7ffcc6290394,1610962,0,0x0,8
tick,0x7ffcc6290394,1626815,0,0x0,8
tick,0x7ffcc6290394,1642488,0,0x0,8
tick,0x7ffcc6290394,1658113,0,0x0,8
tick,0x7ffcc6290394,1673208,0,0x0,8
tick,0x7ffcc6290394,1688534,0,0x0,8
tick,0x7ffcc6290394,1704071,0,0x0,8
tick,0x7ffcc6290394,1719662,0,0x0,8
tick,0x7ffcc6290394,1734778,0,0x0,8
tick,0x7ffcc6290394,1749713,0,0x0,8
tick,0x7ffcc6290394,1765577,0,0x0,8
tick,0x7ffcc6290394,1781624,0,0x0,8
tick,0x7ffcc6290394,1797077,0,0x0,8
tick,0x7ffcc6290394,1811883,0,0x0,8
tick,0x7ffcc6290394,1827150,0,0x0,8
tick,0x7ffcc6290394,1843197,0,0x0,8
tick,0x7ffcc6290394,1858874,0,0x0,8
tick,0x7ffcc6290394,1874622,0,0x0,8
tick,0x7ffcc6290394,1889702,0,0x0,8
tick,0x7ffcc6290394,1905115,0,0x0,8
tick,0x7ffcc6290394,1920490,0,0x0,8
tick,0x7ffcc6290394,1935981,0,0x0,8
tick,0x7ffcc6290394,1951848,0,0x0,8
tick,0x7ffcc6290394,1967265,0,0x0,8
tick,0x7ffcc6290394,1982974,0,0x0,8
tick,0x7ffcc6290394,1998580,0,0x0,8
tick,0x7ffcc6290394,2014254,0,0x0,8
tick,0x7ffcc6290394,2030026,0,0x0,8
tick,0x7ffcc6290394,2046161,0,0x0,8
tick,0x7ffcc6290394,2061866,0,0x0,8
tick,0x7ffcc6290394,2076428,0,0x0,8
tick,0x7ffcc6290394,2092432,0,0x0,8
tick,0x7ffcc6290394,2107875,0,0x0,8
tick,0x7ffcc6290394,2123647,0,0x0,8
tick,0x7ffcc6290394,2139300,0,0x0,8
tick,0x7ffcc6290394,2154599,0,0x0,8
tick,0x7ffcc6290394,2170642,0,0x0,8
tick,0x7ffcc6290394,2185800,0,0x0,8
tick,0x7ffcc6290394,2200943,0,0x0,8
tick,0x7ffcc6290394,2216523,0,0x0,8
tick,0x7ffcc6290394,2232441,0,0x0,8
tick,0x7ffcc6290394,2247966,0,0x0,8
tick,0x7ffcc6290394,2264010,0,0x0,8
tick,0x7ffcc6290394,2278924,0,0x0,8
tick,0x7ffcc6290394,2294351,0,0x0,8
tick,0x7ffcc6290394,2310127,0,0x0,8
tick,0x7ffcc6290394,2325897,0,0x0,8
tick,0x7ffcc6290394,2341169,0,0x0,8
tick,0x7ffcc6290394,2357154,0,0x0,8
tick,0x7ffcc6290394,2373013,0,0x0,8
tick,0x7ffcc6290394,2388972,0,0x0,8
tick,0x7ffcc6290394,2404209,0,0x0,8
tick,0x7ffcc6290394,2419976,0,0x0,8
tick,0x7ffcc6290394,2435425,0,0x0,8
tick,0x7ffcc6290394,2451241,0,0x0,8
tick,0x7ffcc6290394,2466123,0,0x0,8
tick,0x7ffcc6290394,2482220,0,0x0,8
tick,0x7ffcc6290394,2498251,0,0x0,8
tick,0x7ffcc6290394,2513314,0,0x0,8
tick,0x7ffcc6290394,2529253,0,0x0,8
tick,0x7ffcc6290394,2545165,0,0x0,8
tick,0x7ffcc6290394,2561008,0,0x0,8
tick,0x7ffcc6290394,2576190,0,0x0,8
tick,0x7ffcc6290394,2591258,0,0x0,8
tick,0x7ffcc6290394,2607101,0,0x0,8
tick,0x7ffcc6290394,2623162,0,0x0,8
tick,0x7ffcc6290394,2639039,0,0x0,8
tick,0x7ffcc6290394,2653944,0,0x0,8
tick,0x7ffcc6290394,2668844,0,0x0,8
tick,0x7ffcc6290394,2684671,0,0x0,8
tick,0x7ffcc6290394,2699925,0,0x0,8
tick,0x7ffcc6290394,2715568,0,0x0,8
tick,0x7ffcc6290394,2731643,0,0x0,8
tick,0x7ffcc6290394,2747430,0,0x0,8
tick,0x7ffcc6290394,2762994,0,0x0,8
tick,0x7ffcc6290394,2778666,0,0x0,8
tick,0x7ffcc6290394,2794601,0,0x0,8
tick,0x7ffcc6290394,2810627,0,0x0,8
tick,0x7ffcc6290394,2826325,0,0x0,8
tick,0x7ffcc6290394,2842331,0,0x0,8
tick,0x7ffcc6290394,2858083,0,0x0,8
tick,0x7ffcc6290394,2873704,0,0x0,8
tick,0x7ffcc6290394,2888910,0,0x0,8
tick,0x7ffcc6290394,2903882,0,0x0,8
tick,0x7ffcc6290394,2919095,0,0x0,8
tick,0x7ffcc6290394,2934626,0,0x0,8
tick,0x7ffcc6290394,2950373,0,0x0,8
tick,0x7ffcc6290394,2966138,0,0x0,8
tick,0x7ffcc6290394,2981861,0,0x0,8
tick,0x7ffcc6290394,3028345,0,0x0,8
tick,0x7ffcc6290394,3043004,0,0x0,8
tick,0x7ffcc6290394,3058200,0,0x0,8
tick,0x7ffcc6290394,3073475,0,0x0,8
tick,0x7ffcc6290394,3088813,0,0x0,8
tick,0x7ffcc6290394,3104439,0,0x0,8
tick,0x7ffcc6290394,3120154,0,0x0,8
tick,0x7ffcc6290394,3136000,0,0x0,8
tick,0x7ffcc6290394,3151804,0,0x0,8
tick,0x7ffcc6290394,3167438,0,0x0,8
tick,0x7ffcc6290394,3182647,0,0x0,8
tick,0x7ffcc6290394,3198501,0,0x0,8
tick,0x7ffcc6290394,3214234,0,0x0,8
tick,0x7ffcc6290394,3229854,0,0x0,8
tick,0x7ffcc6290394,3245311,0,0x0,8
tick,0x7ffcc6290394,3260947,0,0x0,8
tick,0x7ffcc6290394,3276537,0,0x0,8
tick,0x7ffcc6290394,3292374,0,0x0,8
tick,0x7ffcc6290394,3308040,0,0x0,8
tick,0x7ffcc6290394,3323332,0,0x0,8
tick,0x7ffcc6290394,3338468,0,0x0,8
tick,0x7ffcc6290394,3353702,0,0x0,8
tick,0x7ffcc6290394,3369590,0,0x0,8
tick,0x7ffcc6290394,3385515,0,0x0,8
tick,0x7ffcc6290394,3401105,0,0x0,8
tick,0x7ffcc6290394,3416512,0,0x0,8
tick,0x7ffcc6290394,3432631,0,0x0,8
tick,0x7ffcc6290394,3448311,0,0x0,8
tick,0x7ffcc6290394,3463614,0,0x0,8
tick,0x7ffcc6290394,3479465,0,0x0,8
tick,0x7ffcc6290394,3494667,0,0x0,8
tick,0x7ffcc6290394,3509758,0,0x0,8
tick,0x7ffcc6290394,3525273,0,0x0,8
tick,0x7ffcc6290394,3540749,0,0x0,8
tick,0x7ffcc6290394,3556173,0,0x0,8
tick,0x7ffcc6290394,3572189,0,0x0,8
tick,0x7ffcc6290394,3587699,0,0x0,8
tick,0x7ffcc6290394,3603607,0,0x0,8
tick,0x7ffcc6290394,3619256,0,0x0,8
tick,0x7ffcc6290394,3635012,0,0x0,8
tick,0x7ffcc6290394,3650673,0,0x0,8
tick,0x7ffcc6290394,3666521,0,0x0,8
tick,0x7ffcc6290394,3682469,0,0x0,8
tick,0x7ffcc6290394,3698116,0,0x0,8
tick,0x7ffcc6290394,3713388,0,0x0,8
tick,0x7ffcc6290394,3729278,0,0x0,8
tick,0x7ffcc6290394,3745392,0,0x0,8
tick,0x7ffcc6290394,3760537,0,0x0,8
tick,0x7ffcc6290394,3776751,0,0x0,8
tick,0x7ffcc6290394,3792186,0,0x0,8
tick,0x7ffcc6290394,3808098,0,0x0,8
tick,0x7ffcc6290394,3823326,0,0x0,8
tick,0x7ffcc6290394,3839299,0,0x0,8
tick,0x7ffcc6290394,3854957,0,0x0,8
tick,0x7ffcc6290394,3870452,0,0x0,8
tick,0x7ffcc6290394,3886418,0,0x0,8
tick,0x7ffcc6290394,3902337,0,0x0,8
tick,0x7ffcc6290394,3918159,0,0x0,8
tick,0x7ffcc6290394,3933866,0,0x0,8
tick,0x7ffcc6290394,3948899,0,0x0,8
tick,0x7ffcc6290394,3964702,0,0x0,8
tick,0x7ffcc6290394,3979919,0,0x0,8
tick,0x7ffcc6290394,3995248,0,0x0,8
tick,0x7ffcc6290394,4010658,0,0x0,8
tick,0x7ffcc6290394,4026381,0,0x0,8
tick,0x7ffcc6290394,4041667,0,0x0,8
tick,0x7ffcc6290394,4056777,0,0x0,8
tick,0x7ffcc6290394,4072857,0,0x0,8
tick,0x7ffcc6290394,4088911,0,0x0,8
tick,0x7ffcc6290394,4104379,0,0x0,8
tick,0x7ffcc6290394,4120131,0,0x0,8
tick,0x7ffcc6290394,4135218,0,0x0,8
tick,0x7ffcc6290394,4150882,0,0x0,8
tick,0x7ffcc6290394,4166287,0,0x0,8
tick,0x7ffcc6290394,4181986,0,0x0,8
tick,0x7ffcc6290394,4198133,0,0x0,8
tick,0x7ffcc6290394,4212701,0,0x0,8
tick,0x7ffcc6290394,4228453,0,0x0,8
tick,0x7ffcc6290394,4243904,0,0x0,8
tick,0x7ffcc6290394,4259642,0,0x0,8
tick,0x7ffcc6290394,4275074,0,0x0,8
tick,0x7ffcc6290394,4290767,0,0x0,8
tick,0x7ffcc6290394,4306671,0,0x0,8
tick,0x7ffcc6290394,4322102,0,0x0,8
tick,0x7ffcc6290394,4338332,0,0x0,8
tick,0x7ffcc6290394,4353507,0,0x0,8
tick,0x7ffcc6290394,4369290,0,0x0,8
tick,0x7ffcc6290394,4385017,0,0x0,8
tick,0x7ffcc6290394,4400259,0,0x0,8
tick,0x7ffcc6290394,4415810,0,0x0,8
tick,0x7ffcc6290394,4431774,0,0x0,8
tick,0x7ffcc6290394,4447121,0,0x0,8
tick,0x7ffcc6290394,4462835,0,0x0,8
tick,0x7ffcc6290394,4478700,0,0x0,8
tick,0x7ffcc6290394,4493493,0,0x0,8
tick,0x7ffcc6290394,4509516,0,0x0,8
tick,0x7ffcc6290394,4524819,0,0x0,8
tick,0x7ffcc6290394,4539883,0,0x0,8
tick,0x7ffcc6290394,4555300,0,0x0,8
tick,0x7ffcc6290394,4571187,0,0x0,8
tick,0x7ffcc6290394,4587013,0,0x0,8
tick,0x7ffcc6290394,4603172,0,0x0,8
tick,0x7ffcc6290394,4618014,0,0x0,8
tick,0x7ffcc6290394,4634295,0,0x0,8
tick,0x7ffcc6290394,4649165,0,0x0,8
tick,0x7ffcc6290394,4664767,0,0x0,8
tick,0x7ffcc6290394,4680287,0,0x0,8
tick,0x7ffcc6290394,4695672,0,0x0,8
tick,0x7ffcc6290394,4711245,0,0x0,8
tick,0x7ffcc6290394,4726629,0,0x0,8
tick,0x7ffcc6290394,4742072,0,0x0,8
tick,0x7ffcc6290394,4757384,0,0x0,8
tick,0x7ffcc6290394,4773041,0,0x0,8
tick,0x7ffcc6290394,4788514,0,0x0,8
tick,0x7ffcc6290394,4804125,0,0x0,8
tick,0x7ffcc6290394,4820040,0,0x0,8
tick,0x7ffcc6290394,4836276,0,0x0,8
tick,0x7ffcc6290394,4852080,0,0x0,8
tick,0x7ffcc6290394,4867449,0,0x0,8
tick,0x7ffcc6290394,4883350,0,0x0,8
tick,0x7ffcc6290394,4898523,0,0x0,8
tick,0x7ffcc6290394,4913676,0,0x0,8
tick,0x7ffcc6290394,4928854,0,0x0,8
tick,0x7ffcc6290394,4944391,0,0x0,8
tick,0x7ffcc6290394,4960062,0,0x0,8
tick,0x7ffcc6290394,4975242,0,0x0,8
tick,0x7ffcc6290394,4990153,0,0x0,8
tick,0x7ffcc6290394,5005925,0,0x0,8
tick,0x7ffcc6290394,5021861,0,0x0,8
tick,0x7ffcc6290394,5037545,0,0x0,8
tick,0x7ffcc6290394,5052743,0,0x0,8
tick,0x7ffcc6290394,5068162,0,0x0,8
tick,0x7ffcc6290394,5083512,0,0x0,8
tick,0x7ffcc6290394,5099056,0,0x0,8
tick,0x7ffcc6290394,5114667,0,0x0,8
tick,0x7ffcc6290394,5130645,0,0x0,8
tick,0x7ffcc6290394,5146539,0,0x0,8
tick,0x7ffcc6290394,5162503,0,0x0,8
tick,0x7ffcc6290394,5178614,0,0x0,8
tick,0x7ffcc6290394,5194046,0,0x0,8
tick,0x7ffcc6290394,5209672,0,0x0,8
tick,0x7ffcc6290394,5225478,0,0x0,8
tick,0x7ffcc6290394,5240660,0,0x0,8
tick,0x7ffcc6290394,5256741,0,0x0,8
tick,0x7ffcc6290394,5272456,0,0x0,8
tick,0x7ffcc6290394,5288239,0,0x0,8
tick,0x7ffcc6290394,5303529,0,0x0,8
tick,0x7ffcc6290394,5318908,0,0x0,8
tick,0x7ffcc6290394,5334837,0,0x0,8
tick,0x7ffcc6290394,5350623,0,0x0,8
tick,0x7ffcc6290394,5366092,0,0x0,8
tick,0x7ffcc6290394,5381171,0,0x0,8
tick,0x7ffcc6290394,5396243,0,0x0,8
tick,0x7ffcc6290394,5412017,0,0x0,8
tick,0x7ffcc6290394,5427835,0,0x0,8
tick,0x7ffcc6290394,5443327,0,0x0,8
tick,0x7ffcc6290394,5459101,0,0x0,8
tick,0x7ffcc6290394,5475113,0,0x0,8
tick,0x7ffcc6290394,5491035,0,0x0,8
tick,0x7ffcc6290394,5505777,0,0x0,8
tick,0x7ffcc6290394,5521447,0,0x0,8
tick,0x7ffcc6290394,5536887,0,0x0,8
tick,0x7ffcc6290394,5552319,0,0x0,8
tick,0x7ffcc6290394,5568310,0,0x0,8
tick,0x7ffcc6290394,5584050,0,0x0,8
tick,0x7ffcc6290394,5599768,0,0x0,8
tick,0x7ffcc6290394,5615145,0,0x0,8
tick,0x7ffcc6290394,5631168,0,0x0,8
tick,0x7ffcc6290394,5646680,0,0x0,8
tick,0x7ffcc6290394,5662977,0,0x0,8
tick,0x7ffcc6290394,5678094,0,0x0,8
tick,0x7ffcc6290394,5693704,0,0x0,8
tick,0x7ffcc6290394,5709774,0,0x0,8
tick,0x7ffcc6290394,5725310,0,0x0,8
tick,0x7ffcc6290394,5741395,0,0x0,8
tick,0x7ffcc6290394,5757407,0,0x0,8
tick,0x7ffcc6290394,5772907,0,0x0,8
tick,0x7ffcc6290394,5788459,0,0x0,8
tick,0x7ffcc6290394,5803827,0,0x0,8
tick,0x7ffcc6290394,5819353,0,0x0,8
tick,0x7ffcc6290394,5835387,0,0x0,8
tick,0x7ffcc6290394,5851339,0,0x0,8
tick,0x7ffcc6290394,5866182,0,0x0,8
tick,0x7ffcc6290394,5881723,0,0x0,8
tick,0x7ffcc6290394,5897119,0,0x0,8
tick,0x7ffcc6290394,5913006,0,0x0,8
tick,0x7ffcc6290394,5928247,0,0x0,8
tick,0x7ffcc6290394,5943651,0,0x0,8
tick,0x7ffcc6290394,5959391,0,0x0,8
tick,0x7ffcc6290394,5974606,0,0x0,8
tick,0x7ffcc6290394,5990074,0,0x0,8
tick,0x7ffcc6290394,6004964,0,0x0,8
tick,0x7ffcc6290394,6020855,0,0x0,8
tick,0x7ffcc6290394,6036666,0,0x0,8
tick,0x7ffcc6290394,6052493,0,0x0,8
tick,0x7ffcc6290394,6067682,0,0x0,8
tick,0x7ffcc6290394,6083870,0,0x0,8
tick,0x7ffcc6290394,6099264,0,0x0,8
tick,0x7ffcc6290394,6115149,0,0x0,8
tick,0x7ffcc6290394,6130431,0,0x0,8
tick,0x7ffcc6290394,6146424,0,0x0,8
tick,0x7ffcc6290394,6161528,0,0x0,8
tick,0x7ffcc6290394,6177533,0,0x0,8
tick,0x7ffcc6290394,6193035,0,0x0,8
tick,0x7ffcc6290394,6208632,0,0x0,8
tick,0x7ffcc6290394,6224546,0,0x0,8
tick,0x7ffcc6290394,6240415,0,0x0,8
tick,0x7ffcc6290394,6255267,0,0x0,8
tick,0x7ffcc6290394,6270886,0,0x0,8
tick,0x7ffcc6290394,6286681,0,0x0,8
tick,0x7ffcc6290394,6302037,0,0x0,8
tick,0x7ffcc6290394,6317594,0,0x0,8
tick,0x7ffcc6290394,6333399,0,0x0,8
tick,0x7ffcc6290394,6349247,0,0x0,8
tick,0x7ffcc6290394,6365452,0,0x0,8
tick,0x7ffcc6290394,6381328,0,0x0,8
tick,0x7ffcc6290394,6396140,0,0x0,8
tick,0x7ffcc6290394,6411491,0,0x0,8
tick,0x7ffcc6290394,6426693,0,0x0,8
tick,0x7ffcc6290394,6441979,0,0x0,8
tick,0x7ffcc6290394,6458072,0,0x0,8
tick,0x7ffcc6290394,6474282,0,0x0,8
tick,0x7ffcc6290394,6489432,0,0x0,8
tick,0x7ffcc6290394,6504850,0,0x0,8
tick,0x7ffcc6290394,6520444,0,0x0,8
tick,0x7ffcc6290394,6536439,0,0x0,8
tick,0x7ffcc6290394,6552295,0,0x0,8
tick,0x7ffcc6290394,6567228,0,0x0,8
tick,0x7ffcc6290394,6583403,0,0x0,8
tick,0x7ffcc6290394,6599046,0,0x0,8
tick,0x7ffcc6290394,6614009,0,0x0,8
tick,0x7ffcc6290394,6628886,0,0x0,8
tick,0x7ffcc6290394,6645193,0,0x0,8
tick,0x7ffcc6290394,6660792,0,0x0,8
tick,0x7ffcc6290394,6675878,0,0x0,8
tick,0x7ffcc6290394,6691614,0,0x0,8
tick,0x7ffcc6290394,6707137,0,0x0,8
tick,0x7ffcc6290394,6722731,0,0x0,8
tick,0x7ffcc6290394,6738521,0,0x0,8
tick,0x7ffcc6290394,6754440,0,0x0,8
tick,0x7ffcc6290394,6770459,0,0x0,8
tick,0x7ffcc6290394,6786852,0,0x0,8
tick,0x7ffcc6290394,6801369,0,0x0,8
tick,0x7ffcc6290394,6816604,0,0x0,8
tick,0x7ffcc6290394,6832425,0,0x0,8
tick,0x7ffcc6290394,6848459,0,0x0,8
tick,0x7ffcc6290394,6863385,0,0x0,8
tick,0x7ffcc6290394,6878803,0,0x0,8
tick,0x7ffcc6290394,6894053,0,0x0,8
tick,0x7ffcc6290394,6909564,0,0x0,8
tick,0x7ffcc6290394,6925591,0,0x0,8
tick,0x7ffcc6290394,6941137,0,0x0,8
tick,0x7ffcc6290394,6956636,0,0x0,8
tick,0x7ffcc6290394,6971974,0,0x0,8
tick,0x7ffcc6290394,6987810,0,0x0,8
tick,0x7ffcc6290394,7003434,0,0x0,8
tick,0x7ffcc6290394,7018933,0,0x0,8
tick,0x7ffcc6290394,7034744,0,0x0,8
tick,0x7ffcc6290394,7050035,0,0x0,8
tick,0x7ffcc6290394,7065366,0,0x0,8
tick,0x7ffcc6290394,7081489,0,0x0,8
tick,0x7ffcc6290394,7097241,0,0x0,8
tick,0x7ffcc6290394,7112765,0,0x0,8
tick,0x7ffcc6290394,7128222,0,0x0,8
tick,0x7ffcc6290394,7144364,0,0x0,8
tick,0x7ffcc6290394,7160245,0,0x0,8
tick,0x7ffcc6290394,7176416,0,0x0,8
tick,0x7ffcc6290394,7191859,0,0x0,8
tick,0x7ffcc6290394,7207583,0,0x0,8
tick,0x7ffcc6290394,7223349,0,0x0,8
tick,0x7ffcc6290394,7238990,0,0x0,8
tick,0x7ffcc6290394,7254325,0,0x0,8
tick,0x7ffcc6290394,7269773,0,0x0,8
tick,0x7ffcc6290394,7285887,0,0x0,8
tick,0x7ffcc6290394,7300926,0,0x0,8
tick,0x7ffcc6290394,7317175,0,0x0,8
tick,0x7ffcc6290394,7332022,0,0x0,8
tick,0x7ffcc6290394,7348187,0,0x0,8
tick,0x7ffcc6290394,7363503,0,0x0,8
tick,0x7ffcc6290394,7379429,0,0x0,8
tick,0x7ffcc6290394,7394635,0,0x0,8
tick,0x7ffcc6290394,7410498,0,0x0,8
tick,0x7ffcc6290394,7425339,0,0x0,8
tick,0x7ffcc6290394,7441296,0,0x0,8
tick,0x7ffcc6290394,7456673,0,0x0,8
tick,0x7ffcc6290394,7471922,0,0x0,8
tick,0x7ffcc6290394,7487576,0,0x0,8
tick,0x7ffcc6290394,7503184,0,0x0,8
tick,0x7ffcc6290394,7518451,0,0x0,8
tick,0x7ffcc6290394,7533757,0,0x0,8
tick,0x7ffcc6290394,7549372,0,0x0,8
tick,0x7ffcc6290394,7565201,0,0x0,8
tick,0x7ffcc6290394,7580775,0,0x0,8
tick,0x7ffcc6290394,7596660,0,0x0,8
tick,0x7ffcc6290394,7612537,0,0x0,8
tick,0x7ffcc6290394,7627836,0,0x0,8
tick,0x7ffcc6290394,7643528,0,0x0,8
tick,0x7ffcc6290394,7658779,0,0x0,8
tick,0x7ffcc6290394,7674126,0,0x0,8
tick,0x7ffcc6290394,7689865,0,0x0,8
tick,0x7ffcc6290394,7705653,0,0x0,8
tick,0x7ffcc6290394,7720894,0,0x0,8
tick,0x7ffcc6290394,7736454,0,0x0,8
tick,0x7ffcc6290394,7751505,0,0x0,8
tick,0x7ffcc6290394,7767479,0,0x0,8
tick,0x7ffcc6290394,7783170,0,0x0,8
tick,0x7ffcc6290394,7798313,0,0x0,8
tick,0x7ffcc6290394,7813784,0,0x0,8
tick,0x7ffcc6290394,7829190,0,0x0,8
tick,0x7ffcc6290394,7844406,0,0x0,8
tick,0x7ffcc6290394,7859506,0,0x0,8
tick,0x7ffcc6290394,7874567,0,0x0,8
tick,0x7ffcc6290394,7890442,0,0x0,8
tick,0x7ffcc6290394,7905326,0,0x0,8
tick,0x7ffcc6290394,7921171,0,0x0,8
tick,0x7ffcc6290394,7936575,0,0x0,8
tick,0x7ffcc6290394,7951924,0,0x0,8
tick,0x7ffcc6290394,7967563,0,0x0,8
tick,0x7ffcc6290394,7983260,0,0x0,8
tick,0x7ffcc6290394,7998810,0,0x0,8
tick,0x7ffcc6290394,8014527,0,0x0,8
tick,0x7ffcc6290394,8029810,0,0x0,8
tick,0x7ffcc6290394,8045804,0,0x0,8
tick,0x7ffcc6290394,8061871,0,0x0,8
tick,0x7ffcc6290394,8077334,0,0x0,8
tick,0x7ffcc6290394,8092903,0,0x0,8
tick,0x7ffcc6290394,8108283,0,0x0,8
tick,0x7ffcc6290394,8123477,0,0x0,8
tick,0x7ffcc6290394,8138983,0,0x0,8
tick,0x7ffcc6290394,8154571,0,0x0,8
tick,0x7ffcc6290394,8170651,0,0x0,8
tick,0x7ffcc6290394,8186268,0,0x0,8
tick,0x7ffcc6290394,8201645,0,0x0,8
tick,0x7ffcc6290394,8217105,0,0x0,8
tick,0x7ffcc6290394,8232992,0,0x0,8
tick,0x7ffcc6290394,8248537,0,0x0,8
tick,0x7ffcc6290394,8264310,0,0x0,8
tick,0x7ffcc6290394,8280379,0,0x0,8
tick,0x7ffcc6290394,8295883,0,0x0,8
tick,0x7ffcc6290394,8311036,0,0x0,8
tick,0x7ffcc6290394,8326516,0,0x0,8
tick,0x7ffcc6290394,8341937,0,0x0,8
tick,0x7ffcc6290394,8357017,0,0x0,8
tick,0x7ffcc6290394,8372412,0,0x0,8
tick,0x7ffcc6290394,8388109,0,0x0,8
tick,0x7ffcc6290394,8403487,0,0x0,8
tick,0x7ffcc6290394,8419160,0,0x0,8
tick,0x7ffcc6290394,8434806,0,0x0,8
tick,0x7ffcc6290394,8450425,0,0x0,8
tick,0x7ffcc6290394,8465786,0,0x0,8
tick,0x7ffcc6290394,8481915,0,0x0,8
tick,0x7ffcc6290394,8497744,0,0x0,8
tick,0x7ffcc6290394,8513335,0,0x0,8
tick,0x7ffcc6290394,8528771,0,0x0,8
tick,0x7ffcc6290394,8544636,0,0x0,8
tick,0x7ffcc6290394,8559574,0,0x0,8
tick,0x7ffcc6290394,8574370,0,0x0,8
tick,0x7ffcc6290394,8589865,0,0x0,8
tick,0x7ffcc6290394,8605894,0,0x0,8
tick,0x7ffcc6290394,8621319,0,0x0,8
tick,0x7ffcc6290394,8637297,0,0x0,8
tick,0x7ff7b906c630,8653329,0,0x0,8
delete,MemoryChunk,0x2ee9bf80000
delete,MemoryChunk,0xcbd5a00000
delete,MemoryChunk,0x835a840000
delete,MemoryChunk,0xbd6fd80000
tick,0x7ffcc6290394,8668311,0,0x0,8
tick,0x7ffcc6290394,8684035,0,0x0,8
tick,0x7ffcc6290394,8699746,0,0x0,8
tick,0x7ffcc6290394,8715512,0,0x0,8
tick,0x7ffcc6290394,8731358,0,0x0,8
tick,0x7ffcc6290394,8747167,0,0x0,8
tick,0x7ffcc6290394,8763009,0,0x0,8
tick,0x7ffcc6290394,8778957,0,0x0,8
tick,0x7ffcc6290394,8794840,0,0x0,8
tick,0x7ffcc6290394,8809625,0,0x0,8
tick,0x7ffcc6290394,8825632,0,0x0,8
tick,0x7ffcc6290394,8841489,0,0x0,8
tick,0x7ffcc6290394,8856752,0,0x0,8
tick,0x7ffcc6290394,8872787,0,0x0,8
tick,0x7ffcc6290394,8888610,0,0x0,8
tick,0x7ffcc6290394,8904248,0,0x0,8
tick,0x7ffcc6290394,8919935,0,0x0,8
tick,0x7ffcc6290394,8935506,0,0x0,8
tick,0x7ffcc6290394,8950925,0,0x0,8
tick,0x7ffcc6290394,8966163,0,0x0,8
tick,0x7ffcc6290394,8981813,0,0x0,8
tick,0x7ffcc6290394,8997039,0,0x0,8
tick,0x7ffcc6290394,9012619,0,0x0,8
tick,0x7ffcc6290394,9028096,0,0x0,8
tick,0x7ffcc6290394,9043758,0,0x0,8
tick,0x7ffcc6290394,9059572,0,0x0,8
tick,0x7ffcc6290394,9075490,0,0x0,8
tick,0x7ffcc6290394,9090652,0,0x0,8
tick,0x7ffcc6290394,9106554,0,0x0,8
tick,0x7ffcc6290394,9122032,0,0x0,8
tick,0x7ffcc6290394,9137584,0,0x0,8
tick,0x7ffcc6290394,9153196,0,0x0,8
tick,0x7ffcc6290394,9168359,0,0x0,8
tick,0x7ffcc6290394,9184258,0,0x0,8
tick,0x7ffcc6290394,9199824,0,0x0,8
tick,0x7ffcc6290394,9215782,0,0x0,8
tick,0x7ffcc6290394,9231605,0,0x0,8
tick,0x7ffcc6290394,9246904,0,0x0,8
tick,0x7ff7b9846de3,9262260,0,0x0,6
new,MemoryChunk,0x9956d40000,262144
new,MemoryChunk,0x17912c40000,262144
new,MemoryChunk,0x20ebc7c0000,262144
new,MemoryChunk,0x12444a40000,262144
code-move,0x22cbe451026,0x23c5196f22e
new,MemoryChunk,0x37fd75c0000,262144
code-move,0x22cbe461c0e,0x37fd75cf6ae
code-move,0x22cbe463826,0x37fd75d0fb6
sfi-move,0x22cbe46b9b8,0x37fd75d89e0
sfi-move,0x22cbe46ba08,0x37fd75d8a30
sfi-move,0x22cbe46ba58,0x37fd75d8a80
sfi-move,0x22cbe46baa8,0x37fd75d8ad0
sfi-move,0x22cbe46bb20,0x37fd75d8b48
sfi-move,0x22cbe46bb70,0x37fd75d8b98
sfi-move,0x22cbe46bbc0,0x37fd75d8be8
sfi-move,0x22cbe46bc10,0x37fd75d8c38
sfi-move,0x22cbe46bc60,0x37fd75d8c88
sfi-move,0x22cbe46bcb0,0x37fd75d8cd8
sfi-move,0x22cbe46bd00,0x37fd75d8d28
sfi-move,0x22cbe46bd50,0x37fd75d8d78
sfi-move,0x22cbe46bda0,0x37fd75d8dc8
sfi-move,0x22cbe46bdf0,0x37fd75d8e18
sfi-move,0x22cbe46be40,0x37fd75d8e68
sfi-move,0x22cbe46bfd0,0x37fd75d8ff8
sfi-move,0x22cbe46c160,0x37fd75d9188
sfi-move,0x22cbe46c1f0,0x37fd75d9218
sfi-move,0x22cbe46c280,0x37fd75d92a8
sfi-move,0x22cbe46c310,0x37fd75d9338
sfi-move,0x22cbe46c3a0,0x37fd75d93c8
sfi-move,0x22cbe46c430,0x37fd75d9458
sfi-move,0x22cbe46c5c0,0x37fd75d95e8
sfi-move,0x22cbe46c6d0,0x37fd75d96f8
sfi-move,0x22cbe46c760,0x37fd75d9788
sfi-move,0x22cbe46c7f0,0x37fd75d9818
sfi-move,0x22cbe46c900,0x37fd75d9928
sfi-move,0x22cbe46c990,0x37fd75d99b8
sfi-move,0x22cbe46caa0,0x37fd75d9ac8
sfi-move,0x22cbe46cb28,0x37fd75d9b38
sfi-move,0x22cbe46cbb8,0x37fd75d9bc8
sfi-move,0x22cbe46cc48,0x37fd75d9c58
sfi-move,0x22cbe46ccd8,0x37fd75d9ce8
sfi-move,0x22cbe46cd68,0x37fd75d9d78
sfi-move,0x22cbe46cdf0,0x37fd75d9de8
sfi-move,0x22cbe46ce80,0x37fd75d9e78
sfi-move,0x22cbe46cf10,0x37fd75d9f08
sfi-move,0x22cbe46cfa0,0x37fd75d9f98
sfi-move,0x22cbe46d030,0x37fd75da028
sfi-move,0x22cbe46d0c0,0x37fd75da0b8
sfi-move,0x22cbe46d150,0x37fd75da148
sfi-move,0x22cbe46d1e0,0x37fd75da1d8
sfi-move,0x22cbe46d2f0,0x37fd75da2e8
sfi-move,0x22cbe46d400,0x37fd75da3f8
sfi-move,0x22cbe46d510,0x37fd75da508
sfi-move,0x22cbe46d5a0,0x37fd75da598
sfi-move,0x22cbe46d6b0,0x37fd75da6a8
sfi-move,0x22cbe46d740,0x37fd75da738
sfi-move,0x22cbe46d850,0x37fd75da848
sfi-move,0x22cbe46d8e0,0x37fd75da8d8
sfi-move,0x22cbe46d970,0x37fd75da968
sfi-move,0x22cbe46da00,0x37fd75da9f8
sfi-move,0x22cbe46da90,0x37fd75daa88
sfi-move,0x22cbe46dba0,0x37fd75dab98
sfi-move,0x22cbe46dc28,0x37fd75dac08
sfi-move,0x22cbe46dcb8,0x37fd75dac98
sfi-move,0x22cbe472e30,0x37fd75ddef0
sfi-move,0x22cbe472e80,0x37fd75ddf28
sfi-move,0x22cbe472ed0,0x37fd75ddf60
sfi-move,0x22cbe472f20,0x37fd75ddf98
sfi-move,0x22cbe472f70,0x37fd75ddfd0
sfi-move,0x22cbe472fc0,0x37fd75de008
sfi-move,0x22cbe473010,0x37fd75de040
sfi-move,0x22cbe473060,0x37fd75de090
sfi-move,0x22cbe4730b0,0x37fd75de0e0
sfi-move,0x22cbe473100,0x37fd75de118
sfi-move,0x22cbe473150,0x37fd75de168
sfi-move,0x22cbe4731a0,0x37fd75de1b8
sfi-move,0x22cbe4731f0,0x37fd75de208
sfi-move,0x22cbe473240,0x37fd75de240
sfi-move,0x22cbe473290,0x37fd75de290
sfi-move,0x22cbe4732e0,0x37fd75de2c8
sfi-move,0x22cbe476178,0x37fd75df760
sfi-move,0x22cbe4761c8,0x37fd75df798
sfi-move,0x22cbe476218,0x37fd75df7e8
sfi-move,0x22cbe476268,0x37fd75df838
sfi-move,0x22cbe4762b8,0x37fd75df888
sfi-move,0x22cbe476308,0x37fd75df8d8
sfi-move,0x22cbe476358,0x37fd75df910
sfi-move,0x22cbe4763a8,0x37fd75df960
sfi-move,0x22cbe4763f8,0x37fd75df998
sfi-move,0x22cbe476448,0x37fd75df9e8
sfi-move,0x22cbe476498,0x37fd75dfa20
sfi-move,0x22cbe4764e8,0x37fd75dfa70
sfi-move,0x22cbe476538,0x37fd75dfac0
sfi-move,0x22cbe476588,0x37fd75dfb10
sfi-move,0x22cbe4765d8,0x37fd75dfb60
sfi-move,0x22cbe476628,0x37fd75dfbb0
sfi-move,0x22cbe476678,0x37fd75dfc00
sfi-move,0x22cbe4766c8,0x37fd75dfc50
sfi-move,0x22cbe476718,0x37fd75dfca0
sfi-move,0x22cbe476768,0x37fd75dfcf0
sfi-move,0x22cbe4767b8,0x37fd75dfd40
sfi-move,0x22cbe476808,0x37fd75dfd90
sfi-move,0x22cbe476858,0x37fd75dfde0
sfi-move,0x22cbe4768a8,0x37fd75dfe30
sfi-move,0x22cbe4768f8,0x37fd75dfe80
sfi-move,0x22cbe476948,0x37fd75dfeb8
sfi-move,0x22cbe476998,0x37fd75dff08
sfi-move,0x22cbe4769e8,0x37fd75dff58
sfi-move,0x22cbe476a38,0x37fd75dffa8
sfi-move,0x22cbe476a88,0x37fd75dfff8
sfi-move,0x22cbe476ad8,0x37fd75e0048
sfi-move,0x22cbe476b28,0x37fd75e0098
sfi-move,0x22cbe476b78,0x37fd75e00e8
sfi-move,0x22cbe476bc8,0x37fd75e0138
sfi-move,0x22cbe476c18,0x37fd75e0188
sfi-move,0x22cbe476c68,0x37fd75e01d8
sfi-move,0x22cbe476cb8,0x37fd75e0228
sfi-move,0x22cbe476d08,0x37fd75e0278
sfi-move,0x22cbe476d58,0x37fd75e02c8
sfi-move,0x22cbe476da8,0x37fd75e0318
sfi-move,0x22cbe476df8,0x37fd75e0368
sfi-move,0x22cbe476e48,0x37fd75e03b8
sfi-move,0x22cbe476e98,0x37fd75e0408
sfi-move,0x22cbe476ee8,0x37fd75e0458
sfi-move,0x22cbe47a230,0x37fd75e0b80
sfi-move,0x22cbe47a280,0x37fd75e0bb8
sfi-move,0x22cbe47a2d0,0x37fd75e0c08
sfi-move,0x22cbe47a320,0x37fd75e0c58
sfi-move,0x22cbe47aff0,0x37fd75e1098
sfi-move,0x22cbe47b040,0x37fd75e10d0
sfi-move,0x22cbe47b090,0x37fd75e1120
sfi-move,0x22cbe47b0e0,0x37fd75e1170
sfi-move,0x22cbe47b130,0x37fd75e11a8
code-move,0x22cbe47c496,0x37fd75e1436
sfi-move,0x22cbe47db78,0x37fd75e29e8
code-move,0x158ab305ebe,0x37fd75e8f5e
code-move,0x158ab30625e,0x37fd75e925e
code-move,0x158ab306976,0x37fd75e98f6
code-move,0x158ab306bee,0x37fd75e9b6e
code-move,0x158ab309426,0x37fd75ec3a6
code-move,0x158ab3096f6,0x37fd75ec676
code-move,0x158ab309916,0x37fd75ec896
code-move,0x158ab309d76,0x37fd75eccf6
code-move,0x158ab30a14e,0x37fd75ed0ce
code-move,0x158ab30a2ce,0x37fd75ed24e
sfi-move,0x158ab30a3e8,0x37fd75ed368
sfi-move,0x158ab30a438,0x37fd75ed3b8
code-move,0x158ab30a566,0x37fd75ed4e6
code-move,0x158ab30a7d6,0x37fd75ed756
code-move,0x158ab30a8f6,0x37fd75ed876
code-move,0x158ab30b32e,0x37fd75ee2ae
code-move,0x158ab30b72e,0x37fd75ee4fe
code-move,0x158ab30b976,0x37fd75ee746
code-move,0x158ab30bc36,0x37fd75eea06
code-move,0x158ab30c4a6,0x37fd75ef136
code-move,0x158ab30cd1e,0x37fd75ef9ae
code-move,0x158ab30ce16,0x37fd75efaa6
code-move,0x158ab30d2ce,0x37fd75eff5e
code-move,0x158ab30d3be,0x37fd75f004e
code-move,0x158ab30d4b6,0x37fd75f0146
code-move,0x158ab30e98e,0x37fd75f15f6
code-move,0x158ab30ebbe,0x37fd75f1706
code-move,0x158ab30eca6,0x37fd75f17ee
code-move,0x158ab30edae,0x37fd75f18f6
code-move,0x158ab30eeee,0x37fd75f1a36
code-move,0x158ab30eff6,0x37fd75f1b3e
code-move,0x158ab30f14e,0x37fd75f1c96
code-move,0x158ab30f326,0x37fd75f1e6e
sfi-move,0x158ab30f900,0x37fd75f22f0
sfi-move,0x158ab313748,0x37fd75f4f48
sfi-move,0x158ab313798,0x37fd75f4f98
sfi-move,0x158ab313910,0x37fd75f5048
sfi-move,0x158ab313960,0x37fd75f5080
sfi-move,0x158ab3139b0,0x37fd75f50d0
sfi-move,0x158ab313a00,0x37fd75f5120
sfi-move,0x158ab313a50,0x37fd75f5170
sfi-move,0x158ab313aa0,0x37fd75f51c0
sfi-move,0x158ab313af0,0x37fd75f5210
sfi-move,0x158ab313b40,0x37fd75f5260
sfi-move,0x158ab313be0,0x37fd75f5300
sfi-move,0x158ab313c30,0x37fd75f5350
sfi-move,0x158ab313c80,0x37fd75f53a0
sfi-move,0x158ab313cd0,0x37fd75f53f0
sfi-move,0x158ab313d20,0x37fd75f5440
sfi-move,0x158ab313dd0,0x37fd75f5478
sfi-move,0x158ab313f10,0x37fd75f54c8
sfi-move,0x158ab313f60,0x37fd75f5518
sfi-move,0x158ab313fb0,0x37fd75f5568
sfi-move,0x158ab314000,0x37fd75f55b8
sfi-move,0x158ab314050,0x37fd75f55f0
sfi-move,0x158ab3140a0,0x37fd75f5628
sfi-move,0x158ab3140f0,0x37fd75f5678
sfi-move,0x158ab314180,0x37fd75f56f0
sfi-move,0x158ab314210,0x37fd75f5768
sfi-move,0x158ab3142a0,0x37fd75f57e0
sfi-move,0x158ab3142f0,0x37fd75f5818
sfi-move,0x158ab314380,0x37fd75f58a8
sfi-move,0x158ab314410,0x37fd75f5938
sfi-move,0x158ab3144a0,0x37fd75f59b0
sfi-move,0x158ab314528,0x37fd75f5a38
sfi-move,0x158ab314600,0x37fd75f5ac0
sfi-move,0x158ab3146d8,0x37fd75f5b48
sfi-move,0x158ab323d60,0x37fd75fd530
sfi-move,0x158ab323db0,0x37fd75fd580
sfi-move,0x158ab323e00,0x37fd75fd5d0
sfi-move,0x158ab323ef0,0x37fd75fd620
sfi-move,0x158ab323f40,0x37fd75fd670
sfi-move,0x158ab323f90,0x37fd75fd6c0
sfi-move,0x158ab323fe0,0x37fd75fd6f8
sfi-move,0x158ab324030,0x37fd75fd748
sfi-move,0x158ab324080,0x37fd75fd798
sfi-move,0x158ab3240f8,0x37fd75fd810
sfi-move,0x158ab324170,0x37fd75fd888
sfi-move,0x158ab3241c0,0x37fd75fd8d8
sfi-move,0x158ab324210,0x37fd75fd928
sfi-move,0x158ab324260,0x37fd75fd978
sfi-move,0x158ab3242b0,0x37fd75fd9c8
sfi-move,0x158ab324350,0x37fd75fda18
sfi-move,0x158ab3243a0,0x37fd75fda68
sfi-move,0x158ab3243f0,0x37fd75fdab8
sfi-move,0x158ab324440,0x37fd75fdb08
sfi-move,0x158ab324490,0x37fd75fdb58
sfi-move,0x158ab3244e0,0x37fd75fdba8
sfi-move,0x158ab324530,0x37fd75fdbf8
sfi-move,0x158ab324580,0x37fd75fdc48
sfi-move,0x158ab3245d0,0x37fd75fdc98
sfi-move,0x158ab324620,0x37fd75fdce8
sfi-move,0x158ab324670,0x37fd75fdd38
sfi-move,0x158ab3246c0,0x37fd75fdd88
sfi-move,0x158ab324710,0x37fd75fddd8
sfi-move,0x158ab324760,0x37fd75fde28
sfi-move,0x158ab3247b0,0x37fd75fde78
sfi-move,0x158ab324800,0x37fd75fdec8
sfi-move,0x158ab324850,0x37fd75fdf18
sfi-move,0x158ab3248a0,0x37fd75fdf68
sfi-move,0x158ab3248f0,0x37fd75fdfb8
sfi-move,0x158ab324940,0x37fd75fe008
sfi-move,0x158ab324990,0x37fd75fe058
sfi-move,0x158ab324a50,0x37fd75fe090
sfi-move,0x158ab324aa0,0x37fd75fe0e0
sfi-move,0x158ab324af0,0x37fd75fe130
sfi-move,0x158ab324b40,0x37fd75fe180
sfi-move,0x158ab324b90,0x37fd75fe1d0
sfi-move,0x158ab324be0,0x37fd75fe220
sfi-move,0x158ab324ca8,0x37fd75fe2e8
sfi-move,0x158ab324d70,0x37fd75fe3b0
sfi-move,0x158ab324e38,0x37fd75fe440
sfi-move,0x158ab324f00,0x37fd75fe4f0
sfi-move,0x158ab324fc8,0x37fd75fe5b8
sfi-move,0x158ab325090,0x37fd75fe680
sfi-move,0x158ab325158,0x37fd75fe748
sfi-move,0x158ab325220,0x37fd75fe810
sfi-move,0x158ab3252e8,0x37fd75fe8d8
sfi-move,0x158ab325338,0x37fd75fe928
sfi-move,0x158ab325388,0x37fd75fe978
sfi-move,0x158ab3253d8,0x37fd75fe9c8
sfi-move,0x158ab325428,0x37fd75fea18
sfi-move,0x158ab3254b8,0x37fd75feaa8
sfi-move,0x158ab325538,0x37fd75feb10
sfi-move,0x158ab3255c8,0x37fd75feba0
sfi-move,0x158ab325658,0x37fd75fec30
sfi-move,0x158ab3256e8,0x37fd75fecc0
sfi-move,0x158ab325778,0x37fd75fed50
sfi-move,0x158ab325808,0x37fd75fede0
sfi-move,0x158ab325898,0x37fd75fee70
sfi-move,0x158ab325928,0x37fd75fef00
sfi-move,0x158ab3259b0,0x37fd75fef70
sfi-move,0x158ab325a40,0x37fd75ff000
sfi-move,0x158ab325a90,0x37fd75ff050
sfi-move,0x158ab325b20,0x37fd75ff0e0
sfi-move,0x158ab325bb0,0x37fd75ff170
sfi-move,0x158ab325c40,0x37fd75ff200
sfi-move,0x158ab325cd0,0x37fd75ff290
sfi-move,0x158ab325d60,0x37fd75ff320
sfi-move,0x158ab325de8,0x37fd75ff390
sfi-move,0x158ab325e78,0x37fd75ff420
sfi-move,0x158ab325f08,0x37fd75ff4b0
sfi-move,0x158ab325f98,0x37fd75ff540
sfi-move,0x158ab326028,0x37fd75ff5d0
sfi-move,0x158ab3260b8,0x37fd75ff660
sfi-move,0x158ab326148,0x37fd75ff6f0
sfi-move,0x158ab3261d8,0x37fd75ff780
sfi-move,0x158ab326268,0x37fd75ff810
sfi-move,0x158ab3262f8,0x37fd75ff8a0
sfi-move,0x158ab326388,0x37fd75ff930
sfi-move,0x158ab326418,0x37fd75ff9c0
sfi-move,0x158ab3264a8,0x37fd75ffa50
sfi-move,0x158ab326538,0x37fd75ffae0
sfi-move,0x158ab3265c8,0x37fd75ffb70
sfi-move,0x158ab326658,0x37fd75ffc00
sfi-move,0x158ab3266e8,0x37fd75ffc90
sfi-move,0x158ab326778,0x37fd75ffd20
sfi-move,0x158ab326808,0x37fd75ffdb0
sfi-move,0x158ab326898,0x37fd75ffe40
sfi-move,0x158ab326928,0x37fd75ffed0
sfi-move,0x158ab3269b8,0x37fd75fff60
sfi-move,0x158ab326a48,0x22fbedb6c88
sfi-move,0x158ab326ad8,0x22fbedb87d8
sfi-move,0x158ab326b68,0x22fbedb8540
sfi-move,0x158ab326bf8,0x22fbedb8028
sfi-move,0x158ab326c88,0x22fbedb65f0
sfi-move,0x158ab326d18,0x22fbedb5630
sfi-move,0x158ab326da8,0x22fbedb04d0
sfi-move,0x158ab326e38,0x22fbedb0478
sfi-move,0x158ab326ec8,0x22fbedafd18
sfi-move,0x158ab326f58,0x22fbedafcc0
sfi-move,0x158ab326fe8,0x22fbedae970
sfi-move,0x158ab327078,0x22fbed9efa0
sfi-move,0x158ab327108,0x22fbed97f18
sfi-move,0x158ab327198,0x22fbed8bca0
sfi-move,0x158ab327228,0x22fbed88580
sfi-move,0x158ab3272b8,0x23c51944bb0
sfi-move,0x158ab327348,0x23c51942388
sfi-move,0x158ab3273d8,0x22fbed95b70
sfi-move,0x158ab327468,0x22fbed8ea00
sfi-move,0x158ab3274f8,0x22fbed8e720
sfi-move,0x158ab327588,0x22fbed8e448
sfi-move,0x158ab327618,0x22fbed8e178
sfi-move,0x158ab3276a8,0x22fbed8dea8
sfi-move,0x158ab327738,0x22fbed8dbd0
sfi-move,0x158ab3277c8,0x22fbed8d8f8
sfi-move,0x158ab327858,0x22fbed8d4b8
sfi-move,0x158ab3278e8,0x22fbedb50f8
sfi-move,0x158ab327978,0x22fbed88bb8
sfi-move,0x158ab327a08,0x22fbedb85a8
sfi-move,0x158ab327a98,0x22fbed8d630
sfi-move,0x158ab327b28,0x22fbed86e30
sfi-move,0x158ab327bb8,0x22fbeda17a8
sfi-move,0x158ab327c48,0x22fbed96178
sfi-move,0x158ab327cd8,0x22fbedb6848
sfi-move,0x158ab327d68,0x22fbed9f1f0
sfi-move,0x158ab327df8,0x22fbed9db58
sfi-move,0x158ab327e88,0x22fbed89710
sfi-move,0x158ab327f18,0x22fbedb3108
sfi-move,0x158ab327fa8,0x22fbedb3198
sfi-move,0x158ab328038,0x22fbed9ab40
sfi-move,0x158ab3280c8,0x22fbed94b80
sfi-move,0x158ab328158,0x22fbed94c10
sfi-move,0x158ab3281e8,0x22fbed9ce40
sfi-move,0x158ab328278,0x22fbedb7058
sfi-move,0x158ab328308,0x22fbedb70e8
sfi-move,0x158ab328398,0x22fbed89cd8
sfi-move,0x158ab3283e8,0x22fbed89d10
sfi-move,0x158ab328470,0x22fbedb6de8
sfi-move,0x158ab328500,0x22fbedb6e78
sfi-move,0x158ab328590,0x22fbed8be18
sfi-move,0x158ab328620,0x22fbed88930
sfi-move,0x158ab3286b0,0x22fbed889c0
sfi-move,0x158ab328740,0x22fbed8f8d8
sfi-move,0x158ab3287d0,0x22fbed8f968
sfi-move,0x158ab328960,0x22fbedb8c38
sfi-move,0x158ab328a30,0x22fbedb8d08
sfi-move,0x158ab328b00,0x22fbedb8080
sfi-move,0x158ab328bd0,0x22fbedb8150
sfi-move,0x158ab328ca0,0x22fbedb8220
sfi-move,0x158ab328e30,0x22fbed9ec10
sfi-move,0x158ab328f00,0x22fbed9ece0
sfi-move,0x158ab328fd0,0x22fbed9edb0
sfi-move,0x158ab3290a0,0x22fbed9ee80
sfi-move,0x158ab329170,0x22fbed8ee48
sfi-move,0x158ab329200,0x22fbed8eed8
sfi-move,0x158ab329290,0x22fbed8ef68
sfi-move,0x158ab329320,0x22fbed8eff8
sfi-move,0x158ab3293b0,0x22fbed8f088
sfi-move,0x158ab329440,0x23c5196b238
sfi-move,0x158ab3294d0,0x23c5196b2c8
sfi-move,0x158ab329560,0x23c5196b358
sfi-move,0x158ab3295f0,0x23c5196b3e8
sfi-move,0x158ab329680,0x22fbedb7190
sfi-move,0x158ab329710,0x22fbedb7220
sfi-move,0x158ab3297a0,0x22fbedb72b0
sfi-move,0x158ab329830,0x22fbedb7340
sfi-move,0x158ab3298c0,0x22fbedb73d0
sfi-move,0x158ab329950,0x22fbedb7460
sfi-move,0x158ab3299e0,0x22fbedb74f0
sfi-move,0x158ab329a70,0x22fbedb7580
sfi-move,0x158ab329b00,0x22fbedb7610
sfi-move,0x158ab329b90,0x22fbedb76a0
sfi-move,0x158ab329c20,0x22fbedb7730
sfi-move,0x158ab329cb0,0x22fbedb77c0
sfi-move,0x158ab329d40,0x22fbedb7850
sfi-move,0x158ab329dd0,0x23c5196e0f0
sfi-move,0x158ab329e60,0x23c5196e180
sfi-move,0x158ab329ef0,0x23c5196e210
sfi-move,0x158ab329f80,0x23c5196e2a0
sfi-move,0x158ab32a010,0x23c5196e330
sfi-move,0x158ab32a0a0,0x23c5196e3c0
sfi-move,0x158ab32a130,0x23c5196e450
sfi-move,0x158ab32a1c0,0x23c5196e4e0
sfi-move,0x158ab32a250,0x23c5196e570
sfi-move,0x158ab32a2e0,0x23c5196e600
sfi-move,0x158ab32a370,0x23c5196e690
sfi-move,0x158ab32a400,0x23c5196e720
sfi-move,0x158ab32a490,0x23c5196e7b0
sfi-move,0x158ab32a520,0x23c51942668
sfi-move,0x158ab32a5b0,0x23c519426f8
sfi-move,0x158ab32a640,0x23c51942788
sfi-move,0x158ab32a6d0,0x23c51942818
sfi-move,0x158ab32a760,0x23c519428a8
sfi-move,0x158ab32a7f0,0x23c51942938
sfi-move,0x158ab32a880,0x23c519429c8
sfi-move,0x158ab32a910,0x23c51942a58
sfi-move,0x158ab32a9a0,0x23c51942ae8
sfi-move,0x158ab32aa30,0x23c51942b78
sfi-move,0x158ab32aac0,0x23c51942c08
sfi-move,0x158ab32ab50,0x22fbed8c7a0
sfi-move,0x158ab32abd8,0x22fbed8c810
sfi-move,0x158ab32ac68,0x22fbed8c8a0
sfi-move,0x158ab32acb8,0x22fbed8c8f0
sfi-move,0x158ab32ad48,0x22fbed8c980
sfi-move,0x158ab32add8,0x22fbed8ca10
sfi-move,0x158ab32ae68,0x22fbed8caa0
sfi-move,0x158ab32aef8,0x22fbed8cb30
sfi-move,0x158ab32af88,0x22fbed8cbc0
sfi-move,0x158ab32b018,0x22fbed8cc50
sfi-move,0x158ab32b0a8,0x22fbed8cce0
sfi-move,0x158ab32b138,0x22fbed8cd70
sfi-move,0x158ab32b188,0x22fbed8cdc0
sfi-move,0x158ab32b218,0x22fbed8ce50
sfi-move,0x158ab32b2a8,0x22fbed8cee0
sfi-move,0x158ab32b338,0x22fbed8cf70
sfi-move,0x158ab32b3c8,0x22fbed8d000
sfi-move,0x158ab32b458,0x22fbed8d090
sfi-move,0x158ab32b4a8,0x22fbed8d0e0
sfi-move,0x158ab32b4f8,0x22fbed8d130
sfi-move,0x158ab32b548,0x22fbed88c40
sfi-move,0x158ab32b598,0x22fbed88c90
sfi-move,0x158ab32b5e8,0x22fbed88ce0
sfi-move,0x158ab32b638,0x22fbed88d30
sfi-move,0x158ab32b688,0x22fbed88d80
sfi-move,0x158ab32b6d8,0x22fbed88dd0
sfi-move,0x158ab32b728,0x22fbed88e20
sfi-move,0x158ab32b778,0x22fbed88e70
sfi-move,0x158ab32b808,0x22fbed88f00
sfi-move,0x158ab32b898,0x22fbed88f90
sfi-move,0x158ab32b928,0x22fbed89020
sfi-move,0x158ab32b9b8,0x22fbed890b0
sfi-move,0x158ab32ba48,0x22fbed89140
sfi-move,0x158ab32bad8,0x22fbed891d0
sfi-move,0x158ab32bb68,0x22fbed89260
sfi-move,0x158ab32bbf8,0x22fbed892f0
sfi-move,0x158ab32bc88,0x22fbed89380
sfi-move,0x158ab32bd18,0x22fbed89410
sfi-move,0x158ab32bda8,0x22fbed894a0
sfi-move,0x158ab32be38,0x23c5197adf0
sfi-move,0x158ab32bec8,0x23c5197ae80
sfi-move,0x158ab32bf58,0x23c5197af10
sfi-move,0x158ab32bfe8,0x23c5197afa0
sfi-move,0x158ab32c078,0x23c5197b030
sfi-move,0x158ab32c108,0x23c5197b0c0
sfi-move,0x158ab32c198,0x23c5197b150
sfi-move,0x158ab32c228,0x23c5197b1e0
sfi-move,0x158ab32c2b8,0x23c5197b270
sfi-move,0x158ab32c348,0x23c5197b300
sfi-move,0x158ab32c3d8,0x23c5197b390
sfi-move,0x158ab32c468,0x23c5197b420
sfi-move,0x158ab32c4f8,0x23c5197b4b0
sfi-move,0x158ab32c588,0x23c5197b540
sfi-move,0x158ab32c618,0x23c5197b5d0
sfi-move,0x158ab32c6a8,0x23c5197b660
sfi-move,0x158ab32c738,0x23c5197b6f0
sfi-move,0x158ab32c7c8,0x23c5197b780
sfi-move,0x158ab32c858,0x23c51972298
sfi-move,0x158ab32c8e8,0x23c51972328
sfi-move,0x158ab32c978,0x23c519723b8
sfi-move,0x158ab32ca08,0x23c51972448
sfi-move,0x158ab32ca98,0x23c519724d8
sfi-move,0x158ab32cb28,0x23c51972568
sfi-move,0x158ab32cbb8,0x23c519725f8
sfi-move,0x158ab32cc48,0x23c51972688
sfi-move,0x158ab32ccd8,0x23c51972718
sfi-move,0x158ab32cd68,0x23c519727a8
sfi-move,0x158ab32cdf8,0x23c51972838
sfi-move,0x158ab32ce88,0x23c519728c8
sfi-move,0x158ab32cf18,0x23c51972958
sfi-move,0x158ab32cfa8,0x23c519729e8
sfi-move,0x158ab32d038,0x23c51972a78
sfi-move,0x158ab32d0c8,0x23c5196b458
sfi-move,0x158ab32d158,0x23c5196b4e8
sfi-move,0x158ab32d1e8,0x23c5196b578
sfi-move,0x158ab32d278,0x23c5196b608
sfi-move,0x158ab32d308,0x23c5196b698
sfi-move,0x158ab32d398,0x23c5196b728
sfi-move,0x158ab32d428,0x23c5196b7b8
sfi-move,0x158ab32d4b8,0x23c5196b848
sfi-move,0x158ab32d548,0x23c5196b8d8
sfi-move,0x158ab32d5d8,0x23c5196b968
sfi-move,0x158ab32d668,0x23c5196b9f8
sfi-move,0x158ab32d6f8,0x23c5196ba88
sfi-move,0x158ab32d788,0x23c5196bb18
sfi-move,0x158ab32d818,0x23c5196bba8
sfi-move,0x158ab32d8a8,0x23c5196bc38
sfi-move,0x158ab32d938,0x23c5196bcc8
sfi-move,0x158ab32d9c8,0x23c519768e8
sfi-move,0x158ab32da58,0x23c51976978
sfi-move,0x158ab32dae8,0x23c51976a08
sfi-move,0x158ab32db38,0x23c51976a58
sfi-move,0x158ab32dbb8,0x23c51976ac0
sfi-move,0x158ab32dc48,0x23c51976b30
sfi-move,0x158ab32dd00,0x23c51976be8
sfi-move,0x158ab32dd90,0x23c51976c58
sfi-move,0x158ab32de20,0x23c51976cc8
sfi-move,0x158ab32deb0,0x23c51976d58
sfi-move,0x158ab32df40,0x23c51976de8
sfi-move,0x158ab32dfd0,0x23c51976e78
sfi-move,0x158ab32e060,0x23c51976ee8
sfi-move,0x158ab32e0f0,0x23c51976f78
sfi-move,0x158ab32e180,0x23c51977008
sfi-move,0x158ab32e210,0x23c51977098
sfi-move,0x158ab32e2a0,0x23c51977128
sfi-move,0x158ab32e330,0x23c519771b8
sfi-move,0x158ab32e3c0,0x23c51977248
sfi-move,0x158ab32e450,0x23c519772d8
sfi-move,0x158ab32e4e0,0x23c51977368
sfi-move,0x158ab32e570,0x23c519773f8
sfi-move,0x158ab32e600,0x23c51977488
sfi-move,0x158ab32e690,0x23c51977518
sfi-move,0x158ab32e720,0x23c519775a8
sfi-move,0x158ab32e7b0,0x23c51977618
sfi-move,0x158ab32e840,0x23c519776a8
sfi-move,0x158ab32e8c8,0x23c51977718
sfi-move,0x158ab32e958,0x23c519777a8
sfi-move,0x158ab32e9e8,0x23c51977838
sfi-move,0x158ab32ea78,0x23c519778c8
sfi-move,0x158ab32eb08,0x23c51977958
sfi-move,0x158ab32eb98,0x23c519779e8
sfi-move,0x158ab32ec28,0x23c51977a78
sfi-move,0x158ab32ecb8,0x23c51977b08
sfi-move,0x158ab32ed48,0x23c51977b98
sfi-move,0x158ab32edd8,0x23c51977c28
sfi-move,0x158ab32ee68,0x23c51977cb8
sfi-move,0x158ab32eef8,0x23c51977d28
sfi-move,0x158ab336cb8,0x22fbedbd330
sfi-move,0x158ab336d68,0x22fbedbd368
sfi-move,0x158ab336dd8,0x22fbedbd3c0
sfi-move,0x158ab336e28,0x22fbedbd3f8
sfi-move,0x158ab336e78,0x22fbedbd430
sfi-move,0x158ab336ec8,0x22fbedbd480
sfi-move,0x158ab336f18,0x22fbedbd4b8
sfi-move,0x158ab336f68,0x22fbedbd4f0
sfi-move,0x158ab336fb8,0x22fbedbd540
sfi-move,0x158ab337008,0x22fbedbd590
sfi-move,0x158ab337058,0x22fbedbd5e0
sfi-move,0x158ab3370a8,0x22fbedbd630
sfi-move,0x158ab3370f8,0x22fbedbd668
sfi-move,0x158ab337148,0x22fbedbd6b8
sfi-move,0x158ab337198,0x22fbedbd6f0
sfi-move,0x158ab3371e8,0x22fbedbd740
sfi-move,0x158ab337238,0x22fbedbd778
sfi-move,0x158ab337288,0x22fbedbd7b0
sfi-move,0x158ab3372d8,0x22fbedbd800
sfi-move,0x158ab337328,0x22fbedbd850
sfi-move,0x158ab337378,0x22fbedbd8a0
sfi-move,0x158ab3373c8,0x22fbedbd8f0
sfi-move,0x158ab337418,0x22fbedbd940
sfi-move,0x158ab337468,0x22fbedbd990
sfi-move,0x158ab3374b8,0x22fbedbd9e0
sfi-move,0x158ab337508,0x22fbedbda30
sfi-move,0x158ab337558,0x22fbedbda80
sfi-move,0x158ab3375a8,0x22fbedbdad0
sfi-move,0x158ab3375f8,0x22fbedbdb20
sfi-move,0x158ab337648,0x22fbedbdb70
sfi-move,0x158ab337698,0x22fbedbdbc0
sfi-move,0x158ab3376e8,0x22fbedbdc10
sfi-move,0x158ab337738,0x22fbedbdc60
sfi-move,0x158ab337788,0x22fbedbdcb0
sfi-move,0x158ab3377d8,0x22fbedbdd00
sfi-move,0x158ab337828,0x22fbedbdd50
sfi-move,0x158ab337878,0x22fbedbdda0
sfi-move,0x158ab3378c8,0x22fbedbddf0
sfi-move,0x158ab337918,0x22fbedbde40
sfi-move,0x158ab337968,0x22fbedbde90
sfi-move,0x158ab3379b8,0x22fbedbdee0
sfi-move,0x158ab337a08,0x22fbedbdf18
sfi-move,0x158ab337a58,0x22fbedbdf50
sfi-move,0x158ab337aa8,0x22fbedbdfa0
sfi-move,0x158ab337af8,0x22fbedbdff0
sfi-move,0x158ab33e960,0x22fbedbf610
sfi-move,0x158ab33e9b0,0x22fbedbf660
sfi-move,0x158ab33ea00,0x22fbedbf6b0
sfi-move,0x158ab33f5c8,0x22fbedbfae8
sfi-move,0x158ab33f618,0x22fbedbfb38
sfi-move,0x158ab33f668,0x22fbedbfb88
sfi-move,0x158ab33f6b8,0x22fbedbfbd8
sfi-move,0x158ab33f708,0x22fbedbfc28
sfi-move,0x158ab33f758,0x22fbedbfc78
sfi-move,0x158ab33f7a8,0x22fbedbfcc8
sfi-move,0x158ab33f7f8,0x22fbedbfd18
code-move,0x158ab33fd56,0x22fbedbfd9e
sfi-move,0x381e1302cb0,0x244535bb8f8
sfi-move,0x381e1302d78,0x244535bb948
sfi-move,0x381e1302dc8,0x244535bb980
sfi-move,0x381e1302e18,0x244535bb9b8
sfi-move,0x381e1302e68,0x244535bba08
sfi-move,0x381e1302eb8,0x244535bba40
sfi-move,0x381e1302f08,0x244535bba78
sfi-move,0x381e1302f58,0x244535bbac8
sfi-move,0x381e1302fa8,0x244535bbb18
sfi-move,0x381e1302ff8,0x244535bbb50
sfi-move,0x381e1303048,0x244535bbb88
sfi-move,0x381e1303098,0x244535bbbc0
sfi-move,0x381e13030e8,0x244535bbc10
sfi-move,0x381e1303138,0x244535bbc60
sfi-move,0x381e1303188,0x244535bbcb0
sfi-move,0x381e13031d8,0x244535bbd00
sfi-move,0x381e1303228,0x244535bbd50
sfi-move,0x381e1303278,0x244535bbda0
sfi-move,0x381e13032c8,0x244535bbdf0
sfi-move,0x381e1303318,0x244535bbe40
sfi-move,0x381e1303368,0x244535bbe90
sfi-move,0x381e13033b8,0x244535bbee0
sfi-move,0x381e1303408,0x244535bbf18
sfi-move,0x381e1303458,0x244535bbf50
sfi-move,0x381e13034a8,0x244535bbfa0
sfi-move,0x381e13034f8,0x244535bbff0
sfi-move,0x381e1303548,0x244535bc040
sfi-move,0x381e1303598,0x244535bc090
sfi-move,0x381e13035e8,0x244535bc0c8
sfi-move,0x381e1303638,0x244535bc118
sfi-move,0x381e1303688,0x244535bc168
sfi-move,0x381e13036d8,0x244535bc1b8
sfi-move,0x381e1303728,0x244535bc208
sfi-move,0x381e1303778,0x244535bc258
sfi-move,0x381e13037c8,0x244535bc2a8
sfi-move,0x381e1303818,0x244535bc2f8
sfi-move,0x381e13038a0,0x244535bc380
sfi-move,0x381e1303928,0x244535bc408
sfi-move,0x381e13039b0,0x244535bc478
sfi-move,0x381e1303a38,0x244535bc500
sfi-move,0x381e1303ac0,0x244535bc588
sfi-move,0x381e1303b10,0x244535bc5d8
sfi-move,0x381e1303b98,0x244535bc660
sfi-move,0x381e1303c20,0x244535bc6d0
sfi-move,0x381e1303c70,0x244535bc720
sfi-move,0x381e1303cc0,0x244535bc770
sfi-move,0x381e1303d10,0x244535bc7c0
sfi-move,0x381e1303d60,0x244535bc810
sfi-move,0x381e1303db0,0x244535bc860
sfi-move,0x381e1303e00,0x244535bc8b0
sfi-move,0x381e1303e50,0x244535bc900
sfi-move,0x381e1303ea0,0x244535bc950
sfi-move,0x381e1303ef0,0x244535bc9a0
sfi-move,0x381e1303f40,0x244535bc9f0
sfi-move,0x381e1303f90,0x244535bca40
sfi-move,0x381e1303fe0,0x244535bca90
sfi-move,0x381e1304030,0x244535bcae0
sfi-move,0x381e1304080,0x244535bcb30
sfi-move,0x381e1304148,0x244535bcbf8
sfi-move,0x381e13041d0,0x244535bcc80
sfi-move,0x381e1304260,0x244535bcd10
sfi-move,0x381e13042f0,0x244535bcda0
sfi-move,0x381e1304378,0x244535bce28
sfi-move,0x381e1304400,0x244535bceb0
sfi-move,0x381e1309528,0x244535bd6c0
sfi-move,0x381e1309578,0x244535bd6f8
sfi-move,0x381e130dc10,0x244535b03e0
sfi-move,0x381e130e970,0x244535af928
sfi-move,0x381e130e9c0,0x244535af978
sfi-move,0x381e130ea10,0x244535af9c8
sfi-move,0x381e130ea60,0x2445359e118
sfi-move,0x381e130eaf0,0x2445359d360
tick,0x7ffcc628d664,9278144,0,0x0,1
sfi-move,0x381e130eb78,0x23c5196d808
sfi-move,0x381e130fa80,0x244535bd858
sfi-move,0x381e130fad0,0x244535bd8a8
sfi-move,0x381e1310490,0x244535bdd50
sfi-move,0x381e13104e0,0x244535bdda0
sfi-move,0x381e1310530,0x244535bddf0
sfi-move,0x381e1310580,0x244535bde40
sfi-move,0x381e13105d0,0x244535bde90
sfi-move,0x381e1310620,0x244535bdee0
sfi-move,0x381e1310670,0x244535bdf30
code-move,0x381e1310b76,0x244535bdfb6
sfi-move,0x381e1311680,0x244535be400
sfi-move,0x381e1313aa0,0x1edd4c94848
sfi-move,0x381e1313d20,0x1edd4c8cf28
sfi-move,0x381e1314020,0x1edd4c8d198
sfi-move,0x381e1315820,0x1edd4cbcee8
sfi-move,0x381e1315890,0x1edd4cbcf58
sfi-move,0x381e1315900,0x1edd4cbcfc8
sfi-move,0x381e1315970,0x1edd4cbd038
sfi-move,0x381e13159e0,0x1edd4cbd0a8
sfi-move,0x381e1315a50,0x1edd4cbd118
sfi-move,0x381e1315ac0,0x1edd4cbd188
sfi-move,0x381e1315b30,0x1edd4cbd1f8
sfi-move,0x381e1315ba0,0x1edd4cbd268
sfi-move,0x381e1315c10,0x1edd4cbd2d8
sfi-move,0x381e1315c80,0x1edd4cbd348
sfi-move,0x381e1315cf0,0x1edd4cbd3b8
sfi-move,0x381e1315dc0,0x1edd4cbd440
sfi-move,0x381e1315e90,0x1edd4cbd510
sfi-move,0x381e1315f00,0x1edd4cbd580
sfi-move,0x381e1315f70,0x1edd4cbd5f0
sfi-move,0x381e1315fe0,0x1edd4cbd660
sfi-move,0x381e1316050,0x1edd4cbd6d0
sfi-move,0x381e13160c0,0x1edd4cbd740
sfi-move,0x381e1316130,0x1edd4cbd7b0
sfi-move,0x381e13161a0,0x1edd4cbd820
sfi-move,0x381e1316210,0x1edd4cbd890
sfi-move,0x381e1316280,0x1edd4cbd900
sfi-move,0x381e1316338,0x1edd4cbd970
sfi-move,0x381e1316440,0x1edd4cbda78
sfi-move,0x381e13166b0,0x1edd4c826a8
sfi-move,0x381e1316f10,0x1edd4c82e50
sfi-move,0x381e1316f80,0x1edd4c82ec0
sfi-move,0x381e1316ff0,0x1edd4c82f30
sfi-move,0x381e1317060,0x1edd4c82fa0
sfi-move,0x381e13170d0,0x1edd4c83010
sfi-move,0x381e1317140,0x1edd4c83080
sfi-move,0x381e13171f8,0x1edd4c83138
sfi-move,0x381e13175a8,0x1edd4c83360
sfi-move,0x381e1317ec8,0x15f256b0bd0
sfi-move,0x381e1317f18,0x15f256b0c08
sfi-move,0x381e1317f68,0x15f256b0c58
sfi-move,0x381e1317fb8,0x15f256b0c90
sfi-move,0x381e1318008,0x15f256953a8
sfi-move,0x381e1318058,0x15f25695298
sfi-move,0x381e13180a8,0x15f25695188
sfi-move,0x381e13180f8,0x15f25695100
sfi-move,0x381e1318148,0x15f25695078
sfi-move,0x381e131a198,0x15f256affd8
sfi-move,0x381e131a1e8,0x15f256b0028
sfi-move,0x381e131a238,0x15f256b0078
sfi-move,0x381e131a288,0x15f256b00c8
sfi-move,0x381e131a2d8,0x15f256b0118
sfi-move,0x381e131a328,0x15f256b0150
sfi-move,0x381e131a378,0x15f256b01a0
sfi-move,0x381e131a3c8,0x15f256b01f0
sfi-move,0x381e131a418,0x15f256b0240
sfi-move,0x381e131a468,0x15f2568da60
sfi-move,0x381e131a4b8,0x15f2568d170
sfi-move,0x381e131a508,0x15f2568c590
sfi-move,0x381e131a558,0x15f2568c480
sfi-move,0x381e131a5a8,0x15f25689d98
sfi-move,0x381e131a5f8,0x15f25689c88
sfi-move,0x381e131a648,0x15f256899e0
sfi-move,0x381e131a698,0x15f25689848
sfi-move,0x381e131a6d0,0x15f256883b0
sfi-move,0x381e131a720,0x15f256828f8
sfi-move,0x381e131a770,0x15f25682308
sfi-move,0x381e131a7c0,0x15f256820e8
sfi-move,0x381e131a810,0x15f256be618
sfi-move,0x381e131a888,0x1edd4c94058
sfi-move,0x381e131a8d8,0x15f256be128
sfi-move,0x381e131a928,0x15f256bdfb8
sfi-move,0x381e131a978,0x15f256bde50
sfi-move,0x381e131a9c8,0x15f256bdd08
sfi-move,0x381e131aa18,0x15f256bdba8
sfi-move,0x381e131aa68,0x15f256bda60
sfi-move,0x381e131aab8,0x15f256bd768
sfi-move,0x381e131ab08,0x15f256bd510
sfi-move,0x381e131ab80,0x1edd4c8a420
sfi-move,0x381e131abd0,0x1edd4c9a318
sfi-move,0x381e131ac20,0x15f256bd440
sfi-move,0x381e131ac70,0x1edd4ca9518
sfi-move,0x381e131ace8,0x244535bede8
sfi-move,0x381e131ad38,0x15f256bd2a0
sfi-move,0x381e131ad88,0x15f256bd048
sfi-move,0x381e131add8,0x15f256bcf90
sfi-move,0x381e131ae28,0x15f256bcd48
sfi-move,0x381e131aeb0,0x1edd4c949f0
sfi-move,0x381e131bf50,0x1edd4c894c0
code-move,0x381e131bffe,0x15f256ab0b6
code-move,0x381e131d6d6,0x15f256aa84e
code-move,0x381e131ea46,0x15f256bef0e
code-move,0x381e131eb76,0x15f256beab6
code-move,0x381e131ecc6,0x15f256be2f6
code-move,0x381e131ef46,0x15f256af696
code-move,0x381e131f0ae,0x15f256af196
code-move,0x381e131f3ee,0x15f256ad596
code-move,0x381e131f55e,0x15f256ad706
code-move,0x381e131f7ce,0x15f256ad976
sfi-move,0x381e1320e48,0x77b20d0140
sfi-move,0x381e1320e98,0x77b20d0190
sfi-move,0x381e1320ee8,0x77b20d01e0
sfi-move,0x381e1320f38,0x77b20d0230
sfi-move,0x381e1320f88,0x77b20d0280
sfi-move,0x381e1320fd8,0x77b20d02d0
sfi-move,0x381e1321028,0x77b20d0320
sfi-move,0x381e1321078,0x77b20d0370
sfi-move,0x381e13210c8,0x77b20d03c0
sfi-move,0x381e1321118,0x77b20d0410
sfi-move,0x381e1321168,0x77b20d0460
sfi-move,0x381e13211b8,0x77b20d04b0
sfi-move,0x381e1321208,0x77b20d0500
sfi-move,0x381e1321258,0x77b20d0550
sfi-move,0x381e13212a8,0x77b20d05a0
sfi-move,0x381e13212f8,0x77b20d05f0
sfi-move,0x381e1321348,0x77b20d0640
sfi-move,0x381e1321398,0x77b20d0690
sfi-move,0x381e13213e8,0x77b20d06e0
sfi-move,0x381e1321438,0x77b20d0730
sfi-move,0x381e1321488,0x77b20d0780
sfi-move,0x381e13214d8,0x77b20d07d0
sfi-move,0x381e1321528,0x77b20d0820
sfi-move,0x381e1321578,0x77b20d0870
sfi-move,0x381e13215c8,0x77b20d08c0
sfi-move,0x381e1321640,0x77b20d0938
sfi-move,0x381e1321690,0x77b20d0988
sfi-move,0x381e13216e0,0x77b20d09d8
sfi-move,0x381e1321730,0x77b20d0a28
sfi-move,0x381e1321780,0x77b20d0a78
code-move,0x381e1322c5e,0x77b20d0b86
sfi-move,0x381e1324908,0x77b20d12a8
sfi-move,0x381e1324958,0x77b20d12f8
sfi-move,0x381e13249a8,0x77b20d1348
sfi-move,0x381e13249f8,0x77b20d1398
sfi-move,0x381e1324a60,0x77b20d1400
sfi-move,0x381e1324ad0,0x77b20d1470
sfi-move,0x381e1324b40,0x77b20d14e0
sfi-move,0x381e1324bb0,0x77b20d1550
sfi-move,0x381e1324c00,0x77b20d15a0
sfi-move,0x381e1324c50,0x77b20d15f0
sfi-move,0x381e1324ca0,0x77b20d1640
sfi-move,0x381e1324d10,0x77b20d16b0
sfi-move,0x381e1324d60,0x77b20d1700
new,MemoryChunk,0x307efd40000,262144
sfi-move,0x381e132d558,0x307efd467a8
sfi-move,0x381e132d658,0x307efd46860
sfi-move,0x381e132d6c8,0x307efd468d0
sfi-move,0x381e132d780,0x307efd46940
sfi-move,0x381e132dfc0,0x307efd47038
sfi-move,0x381e132e010,0x307efd47088
sfi-move,0x381e132e060,0x307efd470c0
code-move,0x381e132f926,0x307efd47b36
code-move,0x381e1330516,0x307efd48726
sfi-move,0x381e1330c20,0x307efd48e30
code-move,0x381e1330e9e,0x307efd490ae
sfi-move,0x381e13318f0,0x307efd49b00
code-move,0x381e1331a96,0x307efd49ca6
code-move,0x381e1331d1e,0x307efd49f2e
code-move,0x381e1332f9e,0x307efd4aede
code-move,0x381e13333f6,0x307efd4b326
code-move,0x381e13336fe,0x307efd4b62e
code-move,0x381e1333b76,0x307efd4baa6
code-move,0x381e1333fb6,0x307efd4bed6
code-move,0x381e13340ae,0x307efd4bfce
code-move,0x381e1334366,0x307efd4c286
code-move,0x381e13346e6,0x307efd4c606
code-move,0x381e13347ce,0x307efd4c6ee
code-move,0x381e13348b6,0x307efd4c7d6
code-move,0x381e1334b56,0x307efd4ca76
code-move,0x381e1334ee6,0x307efd4ce06
code-move,0x381e133511e,0x307efd4d03e
code-move,0x381e1335e5e,0x307efd4dd7e
code-move,0x381e1335f7e,0x307efd4de9e
code-move,0x381e13360b6,0x307efd4dfd6
code-move,0x381e13361d6,0x307efd4e0f6
code-move,0x381e133631e,0x307efd4e23e
sfi-move,0x381e1336ce8,0x307efd4eb88
sfi-move,0x381e1336d58,0x307efd4ebf8
sfi-move,0x381e1336e10,0x307efd4ec68
code-move,0x381e1337096,0x307efd4eeee
code-move,0x381e13371be,0x307efd4f016
code-move,0x381e1337346,0x307efd4f19e
sfi-move,0x381e1337690,0x307efd4f3b8
sfi-move,0x381e13376e0,0x307efd4f408
sfi-move,0x381e1337730,0x307efd4f440
code-move,0x381e1337fe6,0x307efd4f966
sfi-move,0x381e1338320,0x307efd4fca0
code-move,0x381e13383fe,0x307efd4fd7e
code-move,0x381e1338766,0x307efd500e6
sfi-move,0x381e1338b70,0x307efd504f0
sfi-move,0x381e1338bc0,0x307efd50540
code-move,0x381e1338e46,0x307efd507c6
sfi-move,0x381e133a6d8,0x307efd51cd8
sfi-move,0x381e133a728,0x307efd51d28
sfi-move,0x381e133a778,0x307efd51d78
sfi-move,0x381e133a7c8,0x307efd51dc8
sfi-move,0x381e133a818,0x307efd51e18
sfi-move,0x381e133a868,0x307efd51e68
sfi-move,0x381e133a8b8,0x307efd51eb8
sfi-move,0x381e133a908,0x307efd51f08
sfi-move,0x381e133a958,0x307efd51f58
sfi-move,0x381e133a9a8,0x307efd51fa8
sfi-move,0x381e133a9f8,0x307efd51ff8
sfi-move,0x381e133aa48,0x307efd52048
sfi-move,0x381e133aa98,0x307efd52098
sfi-move,0x381e133aae8,0x307efd520d0
sfi-move,0x381e133ab38,0x307efd52120
sfi-move,0x381e133ab88,0x307efd52170
sfi-move,0x381e133abd8,0x307efd521c0
sfi-move,0x381e133ac68,0x307efd52250
sfi-move,0x381e133acf8,0x307efd522e0
sfi-move,0x381e133ad88,0x307efd52370
sfi-move,0x381e133ae18,0x307efd52400
sfi-move,0x381e133aea8,0x307efd52490
sfi-move,0x381e133af38,0x307efd52520
sfi-move,0x381e133afc8,0x307efd525b0
sfi-move,0x381e133b058,0x307efd52640
sfi-move,0x381e133b0e8,0x307efd526d0
sfi-move,0x381e133b178,0x307efd52760
sfi-move,0x381e133b208,0x307efd527f0
sfi-move,0x381e133b298,0x307efd52880
sfi-move,0x381e133b328,0x307efd52910
sfi-move,0x381e133d0c8,0x307efd52d00
sfi-move,0x381e133d210,0x307efd52e48
sfi-move,0x381e133d358,0x307efd52f90
sfi-move,0x381e133d4a0,0x307efd530d8
sfi-move,0x381e133d5e8,0x307efd53220
sfi-move,0x381e133d730,0x307efd53368
sfi-move,0x381e133d878,0x307efd534b0
sfi-move,0x381e133d9c0,0x307efd535f8
sfi-move,0x381e133db08,0x307efd53740
sfi-move,0x381e133dc50,0x307efd53888
sfi-move,0x381e133dd98,0x307efd539d0
sfi-move,0x381e133dee0,0x307efd53b18
sfi-move,0x381e133e028,0x307efd53c60
sfi-move,0x381e133e188,0x307efd53dc0
code-move,0x381e133fcce,0x307efd5570e
code-move,0x381e133fe1e,0x307efd5585e
delete,MemoryChunk,0x22cbe440000
delete,MemoryChunk,0x158ab300000
delete,MemoryChunk,0x381e1300000
delete,MemoryChunk,0x106f8d00000
delete,MemoryChunk,0x1d8979c0000
delete,MemoryChunk,0x129ae240000
delete,MemoryChunk,0xf7f4a00000
tick,0x7ffcc6290394,9293902,0,0x0,8
tick,0x7ffcc6290394,9308689,0,0x0,8
tick,0x7ffcc6290394,9324698,0,0x0,8
tick,0x7ffcc6290394,9340549,0,0x0,8
tick,0x7ffcc6290394,9355872,0,0x0,8
tick,0x7ffcc6290394,9371447,0,0x0,8
tick,0x7ffcc6290394,9387260,0,0x0,8
tick,0x7ffcc6290394,9403146,0,0x0,8
tick,0x7ffcc6290394,9418824,0,0x0,8
tick,0x7ffcc6290394,9433964,0,0x0,8
tick,0x7ffcc6290394,9450116,0,0x0,8
tick,0x7ffcc6290394,9465384,0,0x0,8
tick,0x7ffcc6290394,9480924,0,0x0,8
tick,0x7ffcc6290394,9496421,0,0x0,8
tick,0x7ffcc6290394,9512122,0,0x0,8
tick,0x7ffcc6290394,9527718,0,0x0,8
tick,0x7ffcc6290394,9543486,0,0x0,8
tick,0x7ffcc6290394,9558720,0,0x0,8
tick,0x7ffcc6290394,9574025,0,0x0,8
tick,0x7ffcc6290394,9589489,0,0x0,8
tick,0x7ffcc6290394,9604263,0,0x0,8
tick,0x7ffcc6290394,9619786,0,0x0,8
tick,0x7ffcc6290394,9635526,0,0x0,8
tick,0x7ffcc6290394,9651014,0,0x0,8
tick,0x7ffcc6290394,9666554,0,0x0,8
tick,0x7ffcc6290394,9682369,0,0x0,8
tick,0x7ffcc6290394,9698427,0,0x0,8
tick,0x7ffcc6290394,9713677,0,0x0,8
tick,0x7ffcc6290394,9729301,0,0x0,8
tick,0x7ffcc6290394,9744605,0,0x0,8
tick,0x7ffcc6290394,9759988,0,0x0,8
tick,0x7ffcc6290394,9775715,0,0x0,8
tick,0x7ffcc6290394,9791473,0,0x0,8
tick,0x7ffcc6290394,9807566,0,0x0,8
tick,0x7ffcc6290394,9823303,0,0x0,8
tick,0x7ffcc6290394,9838148,0,0x0,8
tick,0x7ffcc6290394,9853635,0,0x0,8
tick,0x7ffcc6290394,9869748,0,0x0,8
tick,0x7ffcc6290394,9884844,0,0x0,8
tick,0x7ffcc6290394,9900189,0,0x0,8
tick,0x7ffcc6290394,9915464,0,0x0,8
tick,0x7ffcc6290394,9930821,0,0x0,8
tick,0x7ffcc6290394,9946044,0,0x0,8
tick,0x7ffcc6290394,9961071,0,0x0,8
tick,0x7ffcc6290394,9977182,0,0x0,8
tick,0x7ffcc6290394,9992346,0,0x0,8
tick,0x7ffcc6290394,10007674,0,0x0,8
tick,0x7ffcc6290394,10022984,0,0x0,8
tick,0x7ffcc6290394,10038891,0,0x0,8
tick,0x7ffcc6290394,10054259,0,0x0,8
tick,0x7ffcc6290394,10069623,0,0x0,8
tick,0x7ffcc6290394,10085491,0,0x0,8
tick,0x7ffcc6290394,10101246,0,0x0,8
tick,0x7ffcc6290394,10117391,0,0x0,8
tick,0x7ffcc6290394,10133403,0,0x0,8
tick,0x7ffcc6290394,10149419,0,0x0,8
tick,0x7ffcc6290394,10165206,0,0x0,8
tick,0x7ffcc6290394,10180289,0,0x0,8
tick,0x7ffcc6290394,10196214,0,0x0,8
tick,0x7ffcc6290394,10212183,0,0x0,8
tick,0x7ffcc6290394,10228284,0,0x0,8
tick,0x7ffcc6290394,10243824,0,0x0,8
tick,0x7ffcc6290394,10259588,0,0x0,8
tick,0x7ffcc6290394,10275365,0,0x0,8
tick,0x7ffcc6290394,10291530,0,0x0,8
tick,0x7ffcc6290394,10306746,0,0x0,8
tick,0x7ffcc6290394,10322227,0,0x0,8
tick,0x7ffcc6290394,10337488,0,0x0,8
tick,0x7ffcc6290394,10353112,0,0x0,8
tick,0x7ffcc6290394,10368745,0,0x0,8
tick,0x7ffcc6290394,10384725,0,0x0,8
tick,0x7ffcc6290394,10399976,0,0x0,8
tick,0x7ffcc6290394,10415747,0,0x0,8
tick,0x7ffcc6290394,10431865,0,0x0,8
tick,0x7ffcc6290394,10447154,0,0x0,8
tick,0x7ffcc6290394,10463059,0,0x0,8
tick,0x7ffcc6290394,10479096,0,0x0,8
tick,0x7ffcc6290394,10494738,0,0x0,8
tick,0x7ffcc6290394,10510811,0,0x0,8
tick,0x7ffcc6290394,10526684,0,0x0,8
tick,0x7ffcc6290394,10542556,0,0x0,8
tick,0x7ffcc6290394,10557782,0,0x0,8
tick,0x7ffcc6290394,10573715,0,0x0,8
tick,0x7ffcc6290394,10589401,0,0x0,8
tick,0x7ffcc6290394,10605002,0,0x0,8
tick,0x7ffcc6290394,10620915,0,0x0,8
tick,0x7ffcc6290394,10636679,0,0x0,8
tick,0x7ffcc6290394,10652474,0,0x0,8
tick,0x7ffcc6290394,10668362,0,0x0,8
tick,0x7ffcc6290394,10684508,0,0x0,8
tick,0x7ffcc6290394,10700463,0,0x0,8
tick,0x7ffcc6290394,10716286,0,0x0,8
tick,0x7ffcc6290394,10732270,0,0x0,8
tick,0x7ffcc6290394,10747394,0,0x0,8
tick,0x7ffcc6290394,10763358,0,0x0,8
tick,0x7ffcc6290394,10779763,0,0x0,8
tick,0x7ffcc6290394,10795717,0,0x0,8
tick,0x7ffcc6290394,10810495,0,0x0,8
tick,0x7ffcc6290394,10826551,0,0x0,8
tick,0x7ffcc6290394,10842110,0,0x0,8
tick,0x7ffcc6290394,10858073,0,0x0,8
tick,0x7ffcc6290394,10873929,0,0x0,8
tick,0x7ffcc6290394,10889915,0,0x0,8
tick,0x7ffcc6290394,10905660,0,0x0,8
tick,0x7ffcc6290394,10921295,0,0x0,8
tick,0x7ffcc6290394,10936552,0,0x0,8
tick,0x7ffcc6290394,10951964,0,0x0,8
tick,0x7ffcc6290394,10967445,0,0x0,8
tick,0x7ffcc6290394,10982292,0,0x0,8
tick,0x7ffcc6290394,10998056,0,0x0,8
tick,0x7ffcc6290394,11014111,0,0x0,8
tick,0x7ffcc6290394,11029524,0,0x0,8
tick,0x7ffcc6290394,11045441,0,0x0,8
tick,0x7ffcc6290394,11061216,0,0x0,8
tick,0x7ffcc6290394,11076949,0,0x0,8
tick,0x7ffcc6290394,11091930,0,0x0,8
tick,0x7ffcc6290394,11106812,0,0x0,8
tick,0x7ffcc6290394,11122161,0,0x0,8
tick,0x7ffcc6290394,11138170,0,0x0,8
tick,0x7ffcc6290394,11153950,0,0x0,8
tick,0x7ffcc6290394,11169758,0,0x0,8
tick,0x7ffcc6290394,11185141,0,0x0,8
tick,0x7ffcc6290394,11201177,0,0x0,8
tick,0x7ffcc6290394,11216287,0,0x0,8
tick,0x7ffcc6290394,11232229,0,0x0,8
tick,0x7ffcc6290394,11248131,0,0x0,8
tick,0x7ffcc6290394,11263217,0,0x0,8
tick,0x7ffcc6290394,11279094,0,0x0,8
tick,0x7ffcc6290394,11295056,0,0x0,8
tick,0x7ffcc6290394,11310519,0,0x0,8
tick,0x7ffcc6290394,11326495,0,0x0,8
tick,0x7ffcc6290394,11342466,0,0x0,8
tick,0x7ffcc6290394,11358097,0,0x0,8
tick,0x7ffcc6290394,11373580,0,0x0,8
tick,0x7ffcc6290394,11389425,0,0x0,8
tick,0x7ffcc6290394,11405493,0,0x0,8
tick,0x7ffcc6290394,11419990,0,0x0,8
tick,0x7ffcc6290394,11435346,0,0x0,8
tick,0x7ffcc6290394,11451295,0,0x0,8
tick,0x7ffcc6290394,11466504,0,0x0,8
tick,0x7ffcc6290394,11482694,0,0x0,8
tick,0x7ffcc6290394,11498681,0,0x0,8
tick,0x7ffcc6290394,11514776,0,0x0,8
tick,0x7ffcc6290394,11530877,0,0x0,8
tick,0x7ffcc6290394,11546324,0,0x0,8
tick,0x7ffcc6290394,11561630,0,0x0,8
tick,0x7ffcc6290394,11577454,0,0x0,8
tick,0x7ffcc6290394,11593407,0,0x0,8
tick,0x7ffcc6290394,11608402,0,0x0,8
tick,0x7ffcc6290394,11623479,0,0x0,8
tick,0x7ffcc6290394,11638860,0,0x0,8
tick,0x7ffcc6290394,11654474,0,0x0,8
tick,0x7ffcc6290394,11670398,0,0x0,8
tick,0x7ffcc6290394,11685732,0,0x0,8
tick,0x7ffcc6290394,11701650,0,0x0,8
tick,0x7ffcc6290394,11717665,0,0x0,8
tick,0x7ffcc6290394,11732549,0,0x0,8
tick,0x7ffcc6290394,11748230,0,0x0,8
tick,0x7ffcc6290394,11763435,0,0x0,8
tick,0x7ffcc6290394,11778161,0,0x0,8
tick,0x7ffcc6290394,11793846,0,0x0,8
tick,0x7ffcc6290394,11809440,0,0x0,8
tick,0x7ffcc6290394,11825396,0,0x0,8
tick,0x7ffcc6290394,11841159,0,0x0,8
tick,0x7ffcc6290394,11856315,0,0x0,8
tick,0x7ffcc6290394,11871517,0,0x0,8
tick,0x7ffcc6290394,11887491,0,0x0,8
tick,0x7ffcc6290394,11903326,0,0x0,8
tick,0x7ffcc6290394,11919290,0,0x0,8
tick,0x7ffcc6290394,11934197,0,0x0,8
tick,0x7ffcc6290394,11949529,0,0x0,8
tick,0x7ffcc6290394,11965736,0,0x0,8
tick,0x7ffcc6290394,11981712,0,0x0,8
tick,0x7ffcc6290394,11997658,0,0x0,8
tick,0x7ffcc6290394,12013399,0,0x0,8
tick,0x7ffcc6290394,12028803,0,0x0,8
tick,0x7ffcc6290394,12044740,0,0x0,8
tick,0x7ffcc6290394,12060186,0,0x0,8
tick,0x7ffcc6290394,12074995,0,0x0,8
tick,0x7ffcc6290394,12091131,0,0x0,8
tick,0x7ffcc6290394,12106654,0,0x0,8
tick,0x7ffcc6290394,12122459,0,0x0,8
tick,0x7ffcc6290394,12138312,0,0x0,8
tick,0x7ffcc6290394,12153296,0,0x0,8
tick,0x7ffcc6290394,12168359,0,0x0,8
code-creation,JS,10,12172367,0x2d4ae60f4d6,367,onStreamRead node:internal/stream_base_commons:168:22,0x15f25695188,~
code-source-info,0x2d4ae60f4d6,107,4334,6320,C0O4367C7O4383C9O4382C13O4423C16O4447C18O4452C20O4451C24O4472C26O4479C28O4478C32O4492C36O4501C37O4511C42O4526C48O4548C50O4562C52O4591C54O4598C56O4597C60O4613C62O4635C64O4652C66O4651C70O4662C80O4679C82O4713C84O4720C86O4719C90O4740C92O4788C96O4807C101O4811C107O4845C109O4852C117O4861C123O4923C130O4939C132O4938C136O4979C152O4979C158O5046C163O5046C169O5069C173O5091C174O5106C178O5134C184O5175C189O5175C194O5196C196O5223C203O5235C214O5231C220O5223C225O5288C227O5299C228O5310C229O5320C234O5334C235O5341C236O5663C238O5677C240O5673C245O5822C252O5834C263O5830C269O5822C274O5871C275O5878C276O5944C281O5959C287O5978C289O5989C291O5988C296O6012C298O6019C300O6018C304O6033C310O6054C312O6065C314O6064C319O6095C329O6112C331O6111C335O6095C341O6280C348O6280C353O6304C360O6304C366O6319,,
code-creation,JS,10,12172704,0x2d4ae60f806,5,get node:net:691:16,0x77b20c9330,~
code-source-info,0x2d4ae60f806,86,19154,19193,C0O19176C4O19188,,
code-creation,JS,10,12172807,0x2d4ae60f8ee,35,get node:internal/streams/duplex:162:8,0x77b20e7d18,~
code-source-info,0x2d4ae60f8ee,95,5625,5840,C0O5646C6O5692C12O5733C13O5746C14O5775C19O5790C25O5808C30O5823C34O5833,,
code-creation,JS,10,12172901,0x2d4ae60f9f6,22,get node:internal/streams/readable:130:8,0x77b20fb020,~
code-source-info,0x2d4ae60f9f6,97,3940,3981,C0O3945C4O3958C6O3957C12O3966C17O3973C21O3979,,
code-creation,JS,10,12173073,0x2d4ae60fb06,83,Readable.push node:internal/streams/readable:385:35,0x77b20ed1d0,~
code-source-info,0x2d4ae60fb06,97,12296,12564,C0O12319C8O12319C13O12365C18O12384C20O12398C22O12397C28O12408C30O12406C35O12421C55O12434C77O12500C82O12561,,
code-creation,JS,10,12173423,0x2d4ae60fd36,435,readableAddChunkPushByteMode node:internal/streams/readable:461:38,0x77b20ec438,~
code-source-info,0x2d4ae60fd36,97,14682,16088,C0O14720C4O14747C6O14753C15O14765C17O14764C22O14761C26O14780C29O14780C34O14812C35O14825C36O14836C42O14874C46O14903C52O14935C59O14944C64O14967C69O14982C74O14982C82O15012C88O15044C90O15065C92O15054C97O15080C103O15105C108O15116C113O15116C120O15150C125O15165C130O15165C137O15198C143O15223C147O15255C154O15282C170O15278C176O15255C181O15382C182O15395C183O15406C187O15426C193O15433C198O15446C200O15452C209O15464C211O15463C216O15460C220O15479C223O15479C228O15516C231O15523C235O15542C236O15553C238O15564C240O15563C246O15574C248O15572C253O15582C258O15596C265O15623C268O15619C274O15596C279O15658C280O15671C281O15682C283O15693C285O15692C291O15704C296O15717C298O15715C301O15701C306O15728C311O15742C312O15755C313O15766C315O15772C324O15784C326O15783C331O15780C335O15797C337O15808C339O15807C345O15818C347O15816C352O15828C359O15838C361O15855C363O15869C365O15868C369O15884C374O15884C381O15913C387O15920C392O15936C395O15936C400O15973C403O15980C407O15999C408O16017C422O16017C427O16059C430O16066C434O16085,,
code-creation,JS,10,12174141,0x307efd55b3e,294,addChunk node:internal/streams/readable:548:18,0x77b20ec528,~
code-source-info,0x307efd55b3e,97,17074,18030,C0O17114C2O17125C4O17124C10O17136C15O17147C17O17145C23O17155C25O17153C28O17133C34O17177C39O17188C41O17186C44O17172C49O17213C55O17220C60O17330C62O17341C64O17340C70O17351C72O17349C77O17369C82O17391C87O17409C92O17409C98O17439C99O17463C103O17485C105O17491C114O17502C119O17499C123O17528C131O17528C139O17598C146O17621C148O17620C154O17631C156O17629C161O17644C173O17662C180O17611C184O17675C188O17710C194O17722C199O17744C204O17753C211O17759C217O17772C223O17812C228O17819C233O17819C240O17884C245O17891C250O17891C255O17918C257O17929C259O17928C265O17939C267O17937C272O17954C277O17968C280O17968C284O17998C287O17998C293O18029,,
code-creation,JS,10,12174631,0x307efd55f46,498,onData node:internal/readline/emitKeypressEvents:46:18,0x22fbed90818,~
code-source-info,0x307efd55f46,122,1075,2397,C0O1090C7O1101C15O1101C22O1127C27O1156C38O1163C40O1162C44O1181C49O1181C55O1202C57O1225C66O1238C69O1225C73O1311C84O1317C91O1333C96O1333C102O1368C106O1357C109O1331C113O1385C121O1411C125O1444C127O1480C136O1480C159O1467C187O1467C190O1545C201O1586C205O1575C210O1609C218O1635C225O1688C236O1695C238O1694C242O1711C247O1711C252O1814C256O1803C265O1838C267O1834C272O1864C281O1887C286O1902C289O1876C297O1874C316O2099C327O2106C334O2124C341O2133C345O2124C349O2122C353O2155C364O2162C366O2161C370O2178C375O2178C379O2199C381O2199C382O1456C448O2299C455O2306C466O2306C472O2345C479O2352C490O2352C497O2396,,
code-creation,JS,10,12174908,0x307efd56346,88,write node:string_decoder:94:47,0x77b20f89d0,~
code-source-info,0x307efd56346,100,3262,3644,C0O3273C6O3307C8O3318C9O3322C14O3327C20O3356C38O3362C43O3356C44O3513C46O3523C48O3522C53O3547C63O3553C68O3547C69O3600C76O3619C78O3618C82O3607C87O3641,,
code-creation,JS,10,12175119,0x307efd564c6,63,clearTimeout node:timers:183:22,0x39e2db68ab0,~
script-source,39,node:timers,// Copyright Joyent\x2C Inc. and other Node contributors.\x0d\n//\x0d\n// Permission is hereby granted\x2C free of charge\x2C to any person obtaining a\x0d\n// copy of this software and associated documentation files (the\x0d\n// "Software")\x2C to deal in the Software without restriction\x2C including\x0d\n// without limitation the rights to use\x2C copy\x2C modify\x2C merge\x2C publish\x2C\x0d\n// distribute\x2C sublicense\x2C and/or sell copies of the Software\x2C and to permit\x0d\n// persons to whom the Software is furnished to do so\x2C subject to the\x0d\n// following conditions:\x0d\n//\x0d\n// The above copyright notice and this permission notice shall be included\x0d\n// in all copies or substantial portions of the Software.\x0d\n//\x0d\n// THE SOFTWARE IS PROVIDED "AS IS"\x2C WITHOUT WARRANTY OF ANY KIND\x2C EXPRESS\x0d\n// OR IMPLIED\x2C INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\x0d\n// MERCHANTABILITY\x2C FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\x0d\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM\x2C\x0d\n// DAMAGES OR OTHER LIABILITY\x2C WHETHER IN AN ACTION OF CONTRACT\x2C TORT OR\x0d\n// OTHERWISE\x2C ARISING FROM\x2C OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\x0d\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\x0d\n\x0d\n'use strict';\x0d\n\x0d\nconst {\x0d\n MathTrunc\x2C\x0d\n ObjectDefineProperty\x2C\x0d\n ObjectDefineProperties\x2C\x0d\n SymbolDispose\x2C\x0d\n SymbolToPrimitive\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst binding = internalBinding('timers');\x0d\nconst {\x0d\n immediateInfo\x2C\x0d\n} = binding;\x0d\nconst L = require('internal/linkedlist');\x0d\nconst {\x0d\n async_id_symbol\x2C\x0d\n Timeout\x2C\x0d\n Immediate\x2C\x0d\n decRefCount\x2C\x0d\n immediateInfoFields: {\x0d\n kCount\x2C\x0d\n kRefCount\x2C\x0d\n }\x2C\x0d\n kRefed\x2C\x0d\n kHasPrimitive\x2C\x0d\n getTimerDuration\x2C\x0d\n timerListMap\x2C\x0d\n timerListQueue\x2C\x0d\n immediateQueue\x2C\x0d\n active\x2C\x0d\n unrefActive\x2C\x0d\n insert\x2C\x0d\n knownTimersById\x2C\x0d\n} = require('internal/timers');\x0d\nconst {\x0d\n promisify: { custom: customPromisify }\x2C\x0d\n deprecate\x2C\x0d\n} = require('internal/util');\x0d\nlet debug = require('internal/util/debuglog').debuglog('timer'\x2C (fn) => {\x0d\n debug = fn;\x0d\n});\x0d\nconst { validateFunction } = require('internal/validators');\x0d\n\x0d\nlet timersPromises;\x0d\nlet timers;\x0d\n\x0d\nconst {\x0d\n destroyHooksExist\x2C\x0d\n // The needed emit*() functions.\x0d\n emitDestroy\x2C\x0d\n} = require('internal/async_hooks');\x0d\n\x0d\n// Remove a timer. Cancels the timeout and resets the relevant timer properties.\x0d\nfunction unenroll(item) {\x0d\n if (item._destroyed)\x0d\n return;\x0d\n\x0d\n item._destroyed = true;\x0d\n\x0d\n if (item[kHasPrimitive])\x0d\n delete knownTimersById[item[async_id_symbol]];\x0d\n\x0d\n // Fewer checks may be possible\x2C but these cover everything.\x0d\n if (destroyHooksExist() && item[async_id_symbol] !== undefined)\x0d\n emitDestroy(item[async_id_symbol]);\x0d\n\x0d\n L.remove(item);\x0d\n\x0d\n // We only delete refed lists because unrefed ones are incredibly likely\x0d\n // to come from http and be recreated shortly after.\x0d\n // TODO: Long-term this could instead be handled by creating an internal\x0d\n // clearTimeout that makes it clear that the list should not be deleted.\x0d\n // That function could then be used by http and other similar modules.\x0d\n if (item[kRefed]) {\x0d\n // Compliment truncation during insert().\x0d\n const msecs = MathTrunc(item._idleTimeout);\x0d\n const list = timerListMap[msecs];\x0d\n if (list !== undefined && L.isEmpty(list)) {\x0d\n debug('unenroll: list empty');\x0d\n timerListQueue.removeAt(list.priorityQueuePosition);\x0d\n delete timerListMap[list.msecs];\x0d\n }\x0d\n\x0d\n decRefCount();\x0d\n }\x0d\n\x0d\n // If active is called later\x2C then we want to make sure not to insert again\x0d\n item._idleTimeout = -1;\x0d\n}\x0d\n\x0d\n// Make a regular object able to act as a timer by setting some properties.\x0d\n// This function does not start the timer\x2C see `active()`.\x0d\n// Using existing objects as timers slightly reduces object overhead.\x0d\nfunction enroll(item\x2C msecs) {\x0d\n msecs = getTimerDuration(msecs\x2C 'msecs');\x0d\n\x0d\n // If this item was already in a list somewhere\x0d\n // then we should unenroll it from that\x0d\n if (item._idleNext) unenroll(item);\x0d\n\x0d\n L.init(item);\x0d\n item._idleTimeout = msecs;\x0d\n}\x0d\n\x0d\n\x0d\n/**\x0d\n * Schedules the execution of a one-time `callback`\x0d\n * after `after` milliseconds.\x0d\n * @param {Function} callback\x0d\n * @param {number} [after]\x0d\n * @param {any} [arg1]\x0d\n * @param {any} [arg2]\x0d\n * @param {any} [arg3]\x0d\n * @returns {Timeout}\x0d\n */\x0d\nfunction setTimeout(callback\x2C after\x2C arg1\x2C arg2\x2C arg3) {\x0d\n validateFunction(callback\x2C 'callback');\x0d\n\x0d\n let i\x2C args;\x0d\n switch (arguments.length) {\x0d\n // fast cases\x0d\n case 1:\x0d\n case 2:\x0d\n break;\x0d\n case 3:\x0d\n args = [arg1];\x0d\n break;\x0d\n case 4:\x0d\n args = [arg1\x2C arg2];\x0d\n break;\x0d\n default:\x0d\n args = [arg1\x2C arg2\x2C arg3];\x0d\n for (i = 5; i < arguments.length; i++) {\x0d\n // Extend array dynamically\x2C makes .apply run much faster in v6.0.0\x0d\n args[i - 2] = arguments[i];\x0d\n }\x0d\n break;\x0d\n }\x0d\n\x0d\n const timeout = new Timeout(callback\x2C after\x2C args\x2C false\x2C true);\x0d\n insert(timeout\x2C timeout._idleTimeout);\x0d\n\x0d\n return timeout;\x0d\n}\x0d\n\x0d\nObjectDefineProperty(setTimeout\x2C customPromisify\x2C {\x0d\n __proto__: null\x2C\x0d\n enumerable: true\x2C\x0d\n get() {\x0d\n if (!timersPromises)\x0d\n timersPromises = require('timers/promises');\x0d\n return timersPromises.setTimeout;\x0d\n }\x2C\x0d\n});\x0d\n\x0d\n/**\x0d\n * Cancels a timeout.\x0d\n * @param {Timeout | string | number} timer\x0d\n * @returns {void}\x0d\n */\x0d\nfunction clearTimeout(timer) {\x0d\n if (timer && timer._onTimeout) {\x0d\n timer._onTimeout = null;\x0d\n unenroll(timer);\x0d\n return;\x0d\n }\x0d\n if (typeof timer === 'number' || typeof timer === 'string') {\x0d\n const timerInstance = knownTimersById[timer];\x0d\n if (timerInstance !== undefined) {\x0d\n timerInstance._onTimeout = null;\x0d\n unenroll(timerInstance);\x0d\n }\x0d\n }\x0d\n}\x0d\n\x0d\n/**\x0d\n * Schedules repeated execution of `callback`\x0d\n * every `repeat` milliseconds.\x0d\n * @param {Function} callback\x0d\n * @param {number} [repeat]\x0d\n * @param {any} [arg1]\x0d\n * @param {any} [arg2]\x0d\n * @param {any} [arg3]\x0d\n * @returns {Timeout}\x0d\n */\x0d\nfunction setInterval(callback\x2C repeat\x2C arg1\x2C arg2\x2C arg3) {\x0d\n validateFunction(callback\x2C 'callback');\x0d\n\x0d\n let i\x2C args;\x0d\n switch (arguments.length) {\x0d\n // fast cases\x0d\n case 1:\x0d\n case 2:\x0d\n break;\x0d\n case 3:\x0d\n args = [arg1];\x0d\n break;\x0d\n case 4:\x0d\n args = [arg1\x2C arg2];\x0d\n break;\x0d\n default:\x0d\n args = [arg1\x2C arg2\x2C arg3];\x0d\n for (i = 5; i < arguments.length; i++) {\x0d\n // Extend array dynamically\x2C makes .apply run much faster in v6.0.0\x0d\n args[i - 2] = arguments[i];\x0d\n }\x0d\n break;\x0d\n }\x0d\n\x0d\n const timeout = new Timeout(callback\x2C repeat\x2C args\x2C true\x2C true);\x0d\n insert(timeout\x2C timeout._idleTimeout);\x0d\n\x0d\n return timeout;\x0d\n}\x0d\n\x0d\n/**\x0d\n * Cancels an interval.\x0d\n * @param {Timeout | string | number} timer\x0d\n * @returns {void}\x0d\n */\x0d\nfunction clearInterval(timer) {\x0d\n // clearTimeout and clearInterval can be used to clear timers created from\x0d\n // both setTimeout and setInterval\x2C as specified by HTML Living Standard:\x0d\n // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-setinterval\x0d\n clearTimeout(timer);\x0d\n}\x0d\n\x0d\nTimeout.prototype.close = function() {\x0d\n clearTimeout(this);\x0d\n return this;\x0d\n};\x0d\n\x0d\nTimeout.prototype[SymbolDispose] = function() {\x0d\n clearTimeout(this);\x0d\n};\x0d\n\x0d\n/**\x0d\n * Coerces a `Timeout` to a primitive.\x0d\n * @returns {number}\x0d\n */\x0d\nTimeout.prototype[SymbolToPrimitive] = function() {\x0d\n const id = this[async_id_symbol];\x0d\n if (!this[kHasPrimitive]) {\x0d\n this[kHasPrimitive] = true;\x0d\n knownTimersById[id] = this;\x0d\n }\x0d\n return id;\x0d\n};\x0d\n\x0d\n/**\x0d\n * Schedules the immediate execution of `callback`\x0d\n * after I/O events' callbacks.\x0d\n * @param {Function} callback\x0d\n * @param {any} [arg1]\x0d\n * @param {any} [arg2]\x0d\n * @param {any} [arg3]\x0d\n * @returns {Immediate}\x0d\n */\x0d\nfunction setImmediate(callback\x2C arg1\x2C arg2\x2C arg3) {\x0d\n validateFunction(callback\x2C 'callback');\x0d\n\x0d\n let i\x2C args;\x0d\n switch (arguments.length) {\x0d\n // fast cases\x0d\n case 1:\x0d\n break;\x0d\n case 2:\x0d\n args = [arg1];\x0d\n break;\x0d\n case 3:\x0d\n args = [arg1\x2C arg2];\x0d\n break;\x0d\n default:\x0d\n args = [arg1\x2C arg2\x2C arg3];\x0d\n for (i = 4; i < arguments.length; i++) {\x0d\n // Extend array dynamically\x2C makes .apply run much faster in v6.0.0\x0d\n args[i - 1] = arguments[i];\x0d\n }\x0d\n break;\x0d\n }\x0d\n\x0d\n return new Immediate(callback\x2C args);\x0d\n}\x0d\n\x0d\nObjectDefineProperty(setImmediate\x2C customPromisify\x2C {\x0d\n __proto__: null\x2C\x0d\n enumerable: true\x2C\x0d\n get() {\x0d\n if (!timersPromises)\x0d\n timersPromises = require('timers/promises');\x0d\n return timersPromises.setImmediate;\x0d\n }\x2C\x0d\n});\x0d\n\x0d\n/**\x0d\n * Cancels an immediate.\x0d\n * @param {Immediate} immediate\x0d\n * @returns {void}\x0d\n */\x0d\nfunction clearImmediate(immediate) {\x0d\n if (!immediate || immediate._destroyed)\x0d\n return;\x0d\n\x0d\n immediateInfo[kCount]--;\x0d\n immediate._destroyed = true;\x0d\n\x0d\n if (immediate[kRefed] && --immediateInfo[kRefCount] === 0) {\x0d\n // We need to use the binding as the receiver for fast API calls.\x0d\n binding.toggleImmediateRef(false);\x0d\n }\x0d\n immediate[kRefed] = null;\x0d\n\x0d\n if (destroyHooksExist() && immediate[async_id_symbol] !== undefined) {\x0d\n emitDestroy(immediate[async_id_symbol]);\x0d\n }\x0d\n\x0d\n immediate._onImmediate = null;\x0d\n\x0d\n immediateQueue.remove(immediate);\x0d\n}\x0d\n\x0d\nImmediate.prototype[SymbolDispose] = function() {\x0d\n clearImmediate(this);\x0d\n};\x0d\n\x0d\nmodule.exports = timers = {\x0d\n setTimeout\x2C\x0d\n clearTimeout\x2C\x0d\n setImmediate\x2C\x0d\n clearImmediate\x2C\x0d\n setInterval\x2C\x0d\n clearInterval\x2C\x0d\n _unrefActive: deprecate(\x0d\n unrefActive\x2C\x0d\n 'timers._unrefActive() is deprecated.' +\x0d\n ' Please use timeout.refresh() instead.'\x2C\x0d\n 'DEP0127')\x2C\x0d\n active: deprecate(\x0d\n active\x2C\x0d\n 'timers.active() is deprecated. Please use timeout.refresh() instead.'\x2C\x0d\n 'DEP0126')\x2C\x0d\n unenroll: deprecate(\x0d\n unenroll\x2C\x0d\n 'timers.unenroll() is deprecated. Please use clearTimeout instead.'\x2C\x0d\n 'DEP0096')\x2C\x0d\n enroll: deprecate(\x0d\n enroll\x2C\x0d\n 'timers.enroll() is deprecated. Please use setTimeout instead.'\x2C\x0d\n 'DEP0095')\x2C\x0d\n};\x0d\n\x0d\nObjectDefineProperties(timers\x2C {\x0d\n promises: {\x0d\n __proto__: null\x2C\x0d\n configurable: true\x2C\x0d\n enumerable: true\x2C\x0d\n get() {\x0d\n timersPromises ??= require('timers/promises');\x0d\n return timersPromises;\x0d\n }\x2C\x0d\n }\x2C\x0d\n});\x0d\n
code-source-info,0x307efd564c6,39,5251,5609,C0O5264C4O5283C10O5302C11O5319C15O5332C18O5332C22O5354C23O5361C24O5370C36O5459C43O5474C47O5488C49O5530C50O5555C54O5570C57O5570C62O5608,,
code-creation,JS,10,12176490,0x307efd57226,42,charLengthAt node:internal/readline/utils:50:22,0x37fd75e1120,~
code-source-info,0x307efd57226,121,1292,1540,C0O1314C7O1321C12O1441C14O1450C15O1459C20O1466C28O1504C30O1501C41O1537,,
code-creation,JS,10,12176845,0x307efd5761e,94,onkeypress node:internal/readline/interface:264:22,0x22fbed84000,~
code-source-info,0x307efd5761e,123,7610,7987,C0O7626C9O7631C11O7630C15O7641C21O7656C25O7671C31O7868C38O7899C45O7868C51O7920C57O7927C68O7943C73O7954C82O7959C84O7958C88O7972C93O7986,,
code-creation,JS,10,12176948,0x307efd57776,5,get node:readline:346:8,0x37fd75dff08,~
code-source-info,0x307efd57776,119,8518,8559,C0O8542C4O8552,,
code-creation,JS,10,12177180,0x307efd579e6,417,REPLServer.self._ttyWrite node:repl:1007:20,0x2d4ae63cd78,~
code-source-info,0x307efd579e6,115,34162,35798,C0O34181C7O34203C15O34219C18O34224C24O34249C30O34261C37O34266C42O34285C51O34304C71O34353C80O34356C95O34362C98O34367C106O34285C111O34397C112O34404C113O34417C118O34427C126O34442C129O34447C135O34529C141O34541C148O34546C155O34568C158O34573C164O34580C171O34589C174O34594C179O34599C185O34606C190O34624C195O34629C200O34629C204O34658C209O34658C213O34684C218O34689C225O34723C230O34723C235O34784C242O34789C247O34812C252O34812C256O34864C257O34871C258O34914C264O34927C270O34955C298O35125C305O35144C308O35125C312O35162C316O35171C322O35190C327O35199C332O35190C337O35234C339O35354C341O35390C346O35390C353O35450C381O35577C383O35658C389O35676C393O35695C398O35695C403O35724C405O35760C410O35760C416O35797,,
code-creation,JS,10,12177588,0x307efd57e6e,598,clearPreview node:internal/repl/utils:174:24,0x22fbed9d268,~
code-source-info,0x307efd57e6e,128,5393,7218,C0O5409C6O5479C9O5479C13O5453C18O5465C23O5527C28O5544C32O5532C35O5549C39O5561C49O5577C59O5561C64O5602C74O5617C79O5602C83O5633C93O5649C102O5660C105O5633C110O5675C114O5688C120O5708C126O5811C129O5816C134O5821C142O5837C146O5828C151O5856C153O5861C155O5874C159O5895C162O5901C166O5927C176O5941C181O5953C186O5964C191O5927C196O5991C201O6002C206O6013C211O6023C215O6007C219O6038C229O6054C239O6038C244O6106C247O6114C252O6114C261O6133C272O6140C279O6183C282O6188C287O6188C293O6391C299O6396C306O6406C308O6417C313O6428C318O6444C322O6433C327O6462C337O6477C345O6462C352O6514C362O6535C367O6514C371O6560C375O6581C385O6595C390O6607C395O6617C400O6581C405O6633C415O6649C424O6660C427O6633C432O6693C438O6706C444O6732C451O6737C456O6764C462O6792C468O6813C471O6828C478O6821C486O6872C493O6877C498O6897C505O6902C510O6943C518O6971C524O6988C528O6979C536O7016C541O7051C544O7056C551O7070C554O7056C559O7117C563O7135C569O7155C577O7176C581O7167C586O7191C590O7199C597O7217,,
code-creation,JS,10,12178009,0x307efd5837e,397,reverseSearch node:internal/repl/utils:705:25,0x22fbed9b1a0,~
code-source-info,0x307efd5837e,128,24391,25750,C0O24412C6O24453C15O24489C20O24461C26O24507C29O24527C36O24520C42O24550C45O24567C53O24590C58O24590C64O24567C72O24560C78O24615C84O24626C91O24635C96O24642C98O24641C109O24615C114O24661C118O24679C126O24716C135O24752C140O24724C146O24768C149O24768C154O24798C161O24803C166O24836C172O24849C179O24854C184O24869C191O24874C196O24894C203O24900C208O24921C215O24931C218O24937C222O24944C226O24900C232O24894C236O24958C239O24958C244O25139C250O25151C257O25156C262O25172C269O25177C274O25200C279O25210C285O25223C288O25223C291O25239C292O25251C293O25394C299O25422C305O25450C312O25455C317O25491C324O25496C337O25580C342O25597C345O25597C348O25613C355O25618C360O25636C366O25663C371O25672C377O25680C382O25663C386O25698C389O25698C392O25720C396O25745,,
code-creation,JS,10,12178784,0x307efd58bc6,2309, node:internal/readline/interface:1057:14,0x22fbedbdfa0,~
code-source-info,0x307efd58bc6,123,30637,39164,C0O30637C9O30673C16O30678C18O30677C22O30698C30O30711C34O30730C41O30735C46O30749C50O30772C56O30784C63O30789C68O30867C75O30872C79O30882C83O30971C90O30976C95O30992C102O30997C107O31024C113O31044C119O31064C125O31086C132O31095C134O31094C139O31134C146O31139C153O31159C159O31197C169O31233C174O31159C179O31157C185O31274C192O31283C194O31282C199O31320C206O31325C210O31343C214O31410C217O31419C222O31427C230O31443C234O31434C239O31468C244O31486C248O31550C256O31582C263O31621C270O31590C292O31668C299O31673C301O31672C305O31679C309O31694C310O31701C311O31733C318O31738C320O31737C324O31744C328O31759C329O31766C330O31796C332O31932C339O31937C344O31951C345O31958C346O31974C352O31986C358O32053C379O32255C386O32260C388O32259C392O32276C396O32291C398O32335C405O32340C407O32339C411O32357C415O32372C419O32408C425O32470C565O32508C568O32517C576O32517C583O32541C588O32561C591O32566C599O32566C606O32666C609O32671C614O32671C618O32704C620O32758C627O32763C629O32762C633O32775C637O32790C639O32852C642O32861C648O32868C656O32882C661O32887C667O32894C672O32967C675O32972C680O32972C686O32999C689O33008C697O33022C702O33027C706O33015C711O33050C718O33055C720O33054C724O33068C728O33096C730O33175C737O33180C739O33179C743O33196C747O33211C749O33288C756O33293C758O33292C762O33310C766O33325C768O33395C775O33400C777O33399C781O33414C784O33413C787O33412C792O33436C794O33504C801O33509C803O33508C807O33523C810O33522C813O33521C818O33545C820O33606C827O33611C829O33610C837O33625C843O33645C851O33656C856O33625C861O33624C864O33623C869O33677C871O33741C878O33746C880O33745C888O33760C894O33778C902O33789C907O33760C912O33759C915O33758C920O33810C922O33875C932O33889C941O33875C946O33915C956O33936C961O33915C965O33956C972O33961C974O33960C978O33974C982O33989C984O34049C991O34054C993O34053C997O34067C1001O34082C1003O34146C1010O34151C1012O34150C1016O34164C1020O34179C1022O34240C1029O34245C1031O34244C1035O34251C1039O34266C1041O34305C1046O34317C1053O34326C1058O34339C1060O34357C1063O34366C1071O34366C1078O34391C1083O34411C1086O34416C1094O34416C1101O34466C1106O34474C1119O34474C1125O35104C1132O35109C1134O35108C1140O35121C1145O35143C1150O35151C1160O35164C1168O35151C1174O35205C1176O35492C1183O35497C1185O35496C1189O35513C1193O35528C1195O35609C1202O35614C1204O35613C1208O35631C1212O35646C1214O35688C1221O35693C1223O35692C1227O35703C1231O35718C1233O35761C1240O35766C1242O35765C1246O35777C1250O35792C1254O35828C1260O35887C1309O35942C1316O35947C1318O35946C1322O35957C1326O35972C1328O36027C1335O36032C1337O36031C1341O36043C1345O36058C1347O36144C1354O36149C1356O36148C1360O36166C1364O36181C1366O36267C1373O36272C1375O36271C1379O36288C1383O36303C1385O36360C1392O36365C1394O36364C1398O36374C1402O36389C1406O36532C1413O36541C1415O36540C1420O36562C1427O36567C1432O36580C1439O36585C1443O36599C1447O36625C1531O36696C1538O36701C1545O36717C1548O36717C1551O36715C1555O36739C1562O36744C1564O36743C1568O36750C1572O36765C1574O36852C1581O36875C1583O36874C1588O36889C1597O36911C1600O36911C1611O36928C1613O36927C1616O36921C1623O36949C1627O36942C1635O36987C1642O36992C1644O36991C1651O36998C1659O37026C1666O37031C1670O37045C1678O37061C1680O37108C1687O37113C1689O37112C1696O37125C1704O37140C1706O37184C1713O37189C1715O37188C1722O37202C1730O37217C1732O37307C1739O37312C1741O37311C1752O37326C1758O37346C1770O37357C1779O37326C1789O37325C1794O37324C1804O37378C1806O37421C1813O37426C1815O37425C1826O37440C1832O37458C1844O37469C1853O37440C1863O37439C1868O37438C1878O37490C1880O37532C1887O37537C1889O37536C1896O37551C1899O37550C1904O37549C1914O37573C1916O37614C1923O37619C1925O37618C1932O37633C1935O37632C1940O37631C1950O37655C1952O37695C1959O37700C1961O37699C1968O37713C1976O37728C1978O37770C1985O37775C1987O37774C1994O37788C2002O37803C2004O37896C2007O37926C2022O37972C2032O38062C2036O38089C2047O38094C2054O38118C2061O38123C2063O38122C2070O38136C2080O38171C2082O38246C2090O38275C2092O38343C2100O38364C2108O38386C2110O38483C2112O38555C2123O38539C2126O38519C2139O38582C2146O38587C2148O38586C2159O38602C2162O38647C2177O38602C2188O38601C2198O38671C2205O38674C2214O38716C2221O38721C2223O38720C2230O38727C2238O38826C2247O38847C2255O38499C2263O39074C2270O39079C2272O39078C2283O39094C2286O39094C2297O39093C2308O39163,,
code-creation,JS,10,12179829,0x307efd59aee,5,get node:readline:256:8,0x37fd75dfa70,~
code-source-info,0x307efd59aee,119,6971,7016,C0O6995C4O7009,,
code-creation,JS,10,12179973,0x307efd59c36,235, node:internal/readline/interface:623:18,0x22fbedbd850,~
code-source-info,0x307efd59c36,123,17402,18080,C0O17413C2O17418C4O17417C8O17436C13O17447C18O17430C24O17470C29O17484C34O17489C38O17477C43O17518C48O17544C55O17558C60O17518C66O17586C71O17622C76O17642C81O17664C86O17669C91O17586C97O17694C99O17710C105O17714C108O17704C112O17728C117O17745C124O17740C128O17760C130O17765C132O17764C136O17778C142O17823C147O17823C152O17846C159O17859C162O17856C166O17869C171O17886C178O17881C182O17921C187O17921C192O17957C197O17971C201O17962C206O17988C208O17993C210O17992C214O18006C220O18035C222O18040C224O18039C228O18055C234O18079,,
code-creation,JS,10,12180151,0x307efd59ece,16, node:internal/readline/interface:421:16,0x22fbedbd590,~
code-source-info,0x307efd59ece,123,11680,11756,C0O11708C2O11713C4O11712C8O11730C15O11755,,
code-creation,JS,10,12180251,0x307efd5a01e,64, node:internal/readline/interface:891:21,0x22fbedbdd50,~
code-source-info,0x307efd5a01e,123,25812,25986,C0O25834C7O25862C9O25861C20O25877C26O25883C30O25838C38O25904C40O25893C45O25936C52O25961C54O25960C58O25936C63O25985,,
code-creation,JS,10,12181352,0x307efd5a7ee,64,showCompletionPreview node:internal/repl/utils:225:33,0x22fbed9d0d8,~
code-source-info,0x307efd5a7ee,128,7255,9112,C0O7255C12O7284C25O7308C33O7333C39O7333C41O7366C46O7371C51O7381C56O7371C63O9111,,
code-creation,JS,10,12181623,0x307efd5a99e,74,completer node:repl:786:21,0x2d4ae63c5f0,~
code-source-info,0x307efd5a99e,115,27713,27845,C0O27731C14O27754C26O27779C35O27785C38O27790C46O27803C49O27808C54O27808C63O27835C67O27731C73O27844,,
code-creation,JS,10,12182742,0x307efd5b4fe,1425,complete node:repl:1321:18,0x37fd75f5260,~
code-source-info,0x307efd5b4fe,115,43834,55058,C0O43834C27O43944C29O43944C31O43955C32O43955C34O43967C35O43967C37O44039C44O44046C50O44096C52O44096C54O44109C56O44156C69O44169C77O44229C91O44266C94O44282C99O44266C104O44229C109O44299C111O44317C114O44310C116O44327C119O44342C125O44359C127O44366C131O44397C142O44430C145O44410C153O44493C155O44511C158O44504C160O44521C162O44528C164O44556C183O44606C185O44611C192O44606C194O44648C201O44664C206O44672C211O44680C216O44648C220O44648C222O44716C232O44734C237O44716C242O44716C244O44831C260O44831C265O44894C267O44900C271O44925C274O44938C281O44953C286O44973C290O44979C296O45010C303O45025C308O45046C312O45052C318O45077C336O45081C343O45146C355O45163C360O45163C375O45196C378O45217C390O45255C395O45217C400O45272C411O45303C414O45313C419O45272C424O45345C431O45367C436O45345C441O46584C446O46594C452O46613C469O46613C476O46681C490O46718C497O46732C500O46681C507O46766C518O46799C521O46779C529O46860C531O46878C534O46871C536O46888C538O46895C540O46923C559O46973C561O46978C568O46973C570O47063C581O47074C584O47063C588O47063C590O47197C600O47215C605O47197C610O47197C612O47259C625O47259C630O47313C632O47319C636O47344C639O47355C646O47370C651O47390C655O47396C661O47427C668O47442C673O47463C677O47469C683O47494C701O47498C708O47563C720O47580C725O47580C740O47613C752O47648C757O47621C762O47674C769O47696C774O47674C779O48962C784O48972C790O48991C807O48991C814O49059C828O49096C835O49110C838O49059C845O49144C856O49177C859O49157C867O49233C873O49266C878O49308C885O49272C893O49293C900O49903C906O49910C915O49933C924O49975C928O49982C931O49969C935O49933C942O49988C955O50026C966O50046C969O50026C983O50016C987O50095C993O50102C1000O50112C1002O50128C1007O50128C1010O50161C1011O50168C1012O50192C1014O50192C1016O50201C1018O50212C1022O50226C1032O50230C1039O50275C1054O50282C1059O50280C1063O50339C1069O50346C1074O50375C1084O50375C1090O50416C1097O50425C1101O50423C1105O50457C1115O50464C1120O50462C1122O50555C1126O50615C1147O50710C1149O50709C1153O50678C1158O50615C1163O50756C1168O50831C1175O50795C1182O50852C1199O50917C1204O50852C1209O50772C1213O50998C1218O51028C1223O50998C1228O51055C1234O51238C1240O51238C1247O51277C1253O51238C1258O51310C1270O51310C1275O51372C1282O51383C1287O51391C1297O51391C1301O51432C1306O51432C1309O51465C1310O51472C1311O51502C1313O51502C1315O51512C1328O51516C1335O51561C1350O51568C1355O51566C1357O51610C1359O51619C1361O51662C1363O51662C1365O51688C1370O51697C1381O51726C1386O51746C1396O51755C1411O51726C1416O53080C1417O53087C1418O53098C1421O53105C1424O53130,,
code-creation,JS,10,12183738,0x307efd5c136,234,completionGroupsLoaded node:repl:1568:34,0x307efd5af30,~
code-source-info,0x307efd5c136,115,53265,55055,C0O53265C11O53355C18O53376C28O53386C42O53431C44O53431C46O53466C57O53499C60O53466C64O53466C66O53515C77O53537C85O53515C90O54029C97O54046C107O54103C109O54103C111O54176C118O54176C123O54176C125O54196C128O54206C136O54206C141O54368C152O54390C160O54368C165O54924C169O54939C175O54943C180O54960C190O54960C194O55008C210O55024C221O55037C227O55008C233O55054,,
tick,0x7ffcc62301b5,12184137,0,0x0,3,0x7ff7b9533060,0x7ff7b9ac8c74,0x307efd5c1d6,0x307efd5ba8b,0x307efd5a9e1,0x307efd5a826,0x22fbeda04b2,0x307efd57ae2,0x307efd5762d,0x39e2db51f0a,0x22fbed8b16b,0x22fbed93930,0x7ff7b9a5ab51,0x307efd5603d,0x39e2db51f0a,0x22fbed8b16b,0x307efd55bc1,0x2d4ae60fedc,0x2d4ae60fb3d,0x2d4ae60f579,0x22fbedb593e
code-creation,JS,10,12184349,0x307efd5c486,83, node:repl:1595:45,0x307efd5bff0,~
code-source-info,0x307efd5c486,115,54408,54865,C0O54428C7O54447C12O54428C17O54506C22O54516C27O54529C34O54551C39O54529C44O54767C49O54781C56O54786C61O54810C70O54832C76O54810C82O54864,,
code-creation,JS,10,12184664,0x307efd5c606,14, node:repl:1596:33,0x307efd5c358,~
code-source-info,0x307efd5c606,115,54454,54480,C0O54465C2O54467C13O54480,,
code-creation,JS,10,12184825,0x307efd5c74e,51, node:repl:1598:36,0x307efd5c3a8,~
code-source-info,0x307efd5c74e,115,54558,54715,C0O54580C5O54595C10O54595C17O54620C26O54642C29O54620C34O54674C39O54684C44O54684C50O54714,,
code-creation,JS,10,12185155,0x307efd5c946,496, node:internal/repl/utils:230:26,0x307efd5a738,~
code-source-info,0x307efd5c946,128,7387,9105,C0O7495C9O7509C11O7505C16O7546C17O7553C18O7572C22O7594C32O7594C37O7662C38O7669C39O7783C41O7749C48O7768C52O7798C56O7836C62O7843C67O7861C68O7868C69O7887C75O7902C83O8018C94O8055C97O8018C103O8087C110O8087C115O8168C120O8189C124O8175C129O8208C130O8215C131O8249C138O8289C143O8249C149O8307C153O8337C158O8342C163O8342C168O8374C169O8381C170O8400C174O8418C182O8452C187O8457C198O8491C215O8528C220O8581C225O8581C229O8555C234O8566C239O8605C244O8614C249O8619C259O8635C263O8626C268O8654C280O8668C285O8687C290O8654C295O8703C307O8719C314O8741C319O8758C323O8746C327O8703C332O8781C337O8786C342O8793C347O8793C352O8815C364O8829C369O8847C374O8815C379O8879C384O8887C389O8887C400O8906C411O8913C416O8945C421O8950C426O8950C432O9004C437O9021C441O9009C445O9036C451O9041C461O9026C465O9064C477O9080C486O9091C489O9064C495O9104,,
code-creation,JS,10,12185502,0x307efd5cd2e,125,commonPrefix node:internal/readline/utils:381:22,0x37fd75e11a8,~
code-source-info,0x307efd5cd2e,121,12271,12679,C0O12298C6O12305C11O12319C13O12329C14O12350C21O12357C26O12371C27O12385C30O12389C31O12413C38O12432C41O12432C46O12413C51O12478C52O12484C56O12518C60O12525C63O12510C67O12547C69O12558C73O12552C78O12578C80O12585C86O12596C89O12589C94O12610C107O12617C112O12649C113O12567C118O12534C122O12665C124O12676,,
code-creation,JS,10,12185796,0x307efd5d1d6,116,getInputPreview node:internal/repl/utils:298:27,0x22fbed9d178,~
code-source-info,0x307efd5d1d6,128,9595,12339,C0O9595C13O9737C26O9741C37O9792C46O9792C57O9832C61O9850C66O9862C76O9856C78O9879C84O9887C92O9907C109O9907C115O12338,,
code-creation,JS,10,12185979,0x307efd5d42e,149,sendInspectorCommand node:internal/util/inspector:48:30,0x39e2db76f48,~
script-source,55,node:internal/util/inspector,'use strict';\x0d\n\x0d\nconst {\x0d\n ArrayPrototypeSome\x2C\x0d\n ArrayPrototypePushApply\x2C\x0d\n FunctionPrototypeBind\x2C\x0d\n ObjectDefineProperty\x2C\x0d\n ObjectKeys\x2C\x0d\n ObjectPrototypeHasOwnProperty\x2C\x0d\n RegExpPrototypeExec\x2C\x0d\n SafeWeakMap\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst { validatePort } = require('internal/validators');\x0d\nconst permission = require('internal/process/permission');\x0d\n\x0d\nconst kMinPort = 1024;\x0d\nconst kMaxPort = 65535;\x0d\nconst kInspectArgRegex = /--inspect(?:-brk|-port)?|--debug-port/;\x0d\nconst kInspectMsgRegex = /Debugger listening on ws:\\/\\/\\[?(.+?)\\]?:(\\d+)\\/|For help\x2C see: https:\\/\\/nodejs\\.org\\/en\\/docs\\/inspector|Debugger attached|Waiting for the debugger to disconnect\\.\\.\\./;\x0d\n\x0d\nconst _isUsingInspector = new SafeWeakMap();\x0d\nfunction isUsingInspector(execArgv = process.execArgv) {\x0d\n if (!_isUsingInspector.has(execArgv)) {\x0d\n _isUsingInspector.set(execArgv\x2C\x0d\n ArrayPrototypeSome(execArgv\x2C (arg) => RegExpPrototypeExec(kInspectArgRegex\x2C arg) !== null) ||\x0d\n RegExpPrototypeExec(kInspectArgRegex\x2C process.env.NODE_OPTIONS) !== null);\x0d\n }\x0d\n return _isUsingInspector.get(execArgv);\x0d\n}\x0d\n\x0d\nlet debugPortOffset = 1;\x0d\nfunction getInspectPort(inspectPort) {\x0d\n if (typeof inspectPort === 'function') {\x0d\n inspectPort = inspectPort();\x0d\n } else if (inspectPort == null) {\x0d\n inspectPort = process.debugPort + debugPortOffset;\x0d\n if (inspectPort > kMaxPort)\x0d\n inspectPort = inspectPort - kMaxPort + kMinPort - 1;\x0d\n debugPortOffset++;\x0d\n }\x0d\n validatePort(inspectPort);\x0d\n\x0d\n return inspectPort;\x0d\n}\x0d\n\x0d\nlet session;\x0d\nfunction sendInspectorCommand(cb\x2C onError) {\x0d\n const { hasInspector } = internalBinding('config');\x0d\n if (!hasInspector) return onError();\x0d\n // Do not preview when the permission model is enabled\x0d\n // because this feature require access to the inspector\x2C\x0d\n // which is unavailable in this case.\x0d\n if (permission.isEnabled()) return onError();\x0d\n const inspector = require('inspector');\x0d\n if (session === undefined) session = new inspector.Session();\x0d\n session.connect();\x0d\n try {\x0d\n return cb(session);\x0d\n } finally {\x0d\n session.disconnect();\x0d\n }\x0d\n}\x0d\n\x0d\nfunction isInspectorMessage(string) {\x0d\n return isUsingInspector() && RegExpPrototypeExec(kInspectMsgRegex\x2C string) !== null;\x0d\n}\x0d\n\x0d\n// Create a special require function for the inspector command line API\x0d\nfunction installConsoleExtensions(commandLineApi) {\x0d\n if (commandLineApi.require) { return; }\x0d\n const { tryGetCwd } = require('internal/process/execution');\x0d\n const CJSModule = require('internal/modules/cjs/loader').Module;\x0d\n const { makeRequireFunction } = require('internal/modules/helpers');\x0d\n const consoleAPIModule = new CJSModule('<inspector console>');\x0d\n const cwd = tryGetCwd();\x0d\n consoleAPIModule.paths = [];\x0d\n ArrayPrototypePushApply(consoleAPIModule.paths\x2C CJSModule._nodeModulePaths(cwd));\x0d\n ArrayPrototypePushApply(consoleAPIModule.paths\x2C CJSModule.globalPaths);\x0d\n commandLineApi.require = makeRequireFunction(consoleAPIModule);\x0d\n}\x0d\n\x0d\n// Wrap a console implemented by Node.js with features from the VM inspector\x0d\nfunction wrapConsole(consoleFromNode) {\x0d\n const { consoleCall\x2C console: consoleFromVM } = internalBinding('inspector');\x0d\n for (const key of ObjectKeys(consoleFromVM)) {\x0d\n // If global console has the same method as inspector console\x2C\x0d\n // then wrap these two methods into one. Native wrapper will preserve\x0d\n // the original stack.\x0d\n if (ObjectPrototypeHasOwnProperty(consoleFromNode\x2C key)) {\x0d\n consoleFromNode[key] = FunctionPrototypeBind(\x0d\n consoleCall\x2C\x0d\n consoleFromNode\x2C\x0d\n consoleFromVM[key]\x2C\x0d\n consoleFromNode[key]\x2C\x0d\n );\x0d\n ObjectDefineProperty(consoleFromNode[key]\x2C 'name'\x2C {\x0d\n __proto__: null\x2C\x0d\n value: key\x2C\x0d\n });\x0d\n } else {\x0d\n // Add additional console APIs from the inspector\x0d\n consoleFromNode[key] = consoleFromVM[key];\x0d\n }\x0d\n }\x0d\n}\x0d\n\x0d\nmodule.exports = {\x0d\n getInspectPort\x2C\x0d\n installConsoleExtensions\x2C\x0d\n isInspectorMessage\x2C\x0d\n isUsingInspector\x2C\x0d\n sendInspectorCommand\x2C\x0d\n wrapConsole\x2C\x0d\n};\x0d\n
code-source-info,0x307efd5d42e,55,1576,2108,C0O1620C6O1620C11O1603C16O1650C18O1676C21O1686C22O1849C27O1864C32O1864C38O1884C41O1894C42O1916C48O1916C53O1941C59O1992C64O1978C72O1976C78O2006C83O2014C88O2014C95O2039C97O2049C100O2046C116O2079C121O2087C126O2087C148O2107,,
code-creation,Eval,10,12186907,0x307efd5df86,5, node:inspector:1:1,0x307efd5dbd8,~
script-source,135,node:inspector,'use strict';\x0d\n\x0d\nconst {\x0d\n JSONParse\x2C\x0d\n JSONStringify\x2C\x0d\n SafeMap\x2C\x0d\n SymbolDispose\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst {\x0d\n ERR_INSPECTOR_ALREADY_ACTIVATED\x2C\x0d\n ERR_INSPECTOR_ALREADY_CONNECTED\x2C\x0d\n ERR_INSPECTOR_CLOSED\x2C\x0d\n ERR_INSPECTOR_COMMAND\x2C\x0d\n ERR_INSPECTOR_NOT_AVAILABLE\x2C\x0d\n ERR_INSPECTOR_NOT_CONNECTED\x2C\x0d\n ERR_INSPECTOR_NOT_ACTIVE\x2C\x0d\n ERR_INSPECTOR_NOT_WORKER\x2C\x0d\n} = require('internal/errors').codes;\x0d\n\x0d\nconst { hasInspector } = internalBinding('config');\x0d\nif (!hasInspector)\x0d\n throw new ERR_INSPECTOR_NOT_AVAILABLE();\x0d\n\x0d\nconst EventEmitter = require('events');\x0d\nconst { queueMicrotask } = require('internal/process/task_queues');\x0d\nconst {\x0d\n isUint32\x2C\x0d\n validateFunction\x2C\x0d\n validateInt32\x2C\x0d\n validateObject\x2C\x0d\n validateString\x2C\x0d\n} = require('internal/validators');\x0d\nconst { isMainThread } = require('worker_threads');\x0d\nconst { _debugEnd } = internalBinding('process_methods');\x0d\n\x0d\nconst {\x0d\n Connection\x2C\x0d\n MainThreadConnection\x2C\x0d\n open\x2C\x0d\n url\x2C\x0d\n isEnabled\x2C\x0d\n waitForDebugger\x2C\x0d\n console\x2C\x0d\n} = internalBinding('inspector');\x0d\n\x0d\nclass Session extends EventEmitter {\x0d\n #connection = null;\x0d\n #nextId = 1;\x0d\n #messageCallbacks = new SafeMap();\x0d\n\x0d\n /**\x0d\n * Connects the session to the inspector back-end.\x0d\n * @returns {void}\x0d\n */\x0d\n connect() {\x0d\n if (this.#connection)\x0d\n throw new ERR_INSPECTOR_ALREADY_CONNECTED('The inspector session');\x0d\n this.#connection = new Connection((message) => this.#onMessage(message));\x0d\n }\x0d\n\x0d\n /**\x0d\n * Connects the session to the main thread\x0d\n * inspector back-end.\x0d\n * @returns {void}\x0d\n */\x0d\n connectToMainThread() {\x0d\n if (isMainThread)\x0d\n throw new ERR_INSPECTOR_NOT_WORKER();\x0d\n if (this.#connection)\x0d\n throw new ERR_INSPECTOR_ALREADY_CONNECTED('The inspector session');\x0d\n this.#connection =\x0d\n new MainThreadConnection(\x0d\n (message) => queueMicrotask(() => this.#onMessage(message)));\x0d\n }\x0d\n\x0d\n #onMessage(message) {\x0d\n const parsed = JSONParse(message);\x0d\n try {\x0d\n if (parsed.id) {\x0d\n const callback = this.#messageCallbacks.get(parsed.id);\x0d\n this.#messageCallbacks.delete(parsed.id);\x0d\n if (callback) {\x0d\n if (parsed.error) {\x0d\n return callback(\x0d\n new ERR_INSPECTOR_COMMAND(parsed.error.code\x2C parsed.error.message)\x2C\x0d\n );\x0d\n }\x0d\n\x0d\n callback(null\x2C parsed.result);\x0d\n }\x0d\n } else {\x0d\n this.emit(parsed.method\x2C parsed);\x0d\n this.emit('inspectorNotification'\x2C parsed);\x0d\n }\x0d\n } catch (error) {\x0d\n process.emitWarning(error);\x0d\n }\x0d\n }\x0d\n\x0d\n /**\x0d\n * Posts a message to the inspector back-end.\x0d\n * @param {string} method\x0d\n * @param {Record<unknown\x2C unknown>} [params]\x0d\n * @param {Function} [callback]\x0d\n * @returns {void}\x0d\n */\x0d\n post(method\x2C params\x2C callback) {\x0d\n validateString(method\x2C 'method');\x0d\n if (!callback && typeof params === 'function') {\x0d\n callback = params;\x0d\n params = null;\x0d\n }\x0d\n if (params) {\x0d\n validateObject(params\x2C 'params');\x0d\n }\x0d\n if (callback) {\x0d\n validateFunction(callback\x2C 'callback');\x0d\n }\x0d\n\x0d\n if (!this.#connection) {\x0d\n throw new ERR_INSPECTOR_NOT_CONNECTED();\x0d\n }\x0d\n const id = this.#nextId++;\x0d\n const message = { id\x2C method };\x0d\n if (params) {\x0d\n message.params = params;\x0d\n }\x0d\n if (callback) {\x0d\n this.#messageCallbacks.set(id\x2C callback);\x0d\n }\x0d\n this.#connection.dispatch(JSONStringify(message));\x0d\n }\x0d\n\x0d\n /**\x0d\n * Immediately closes the session\x2C all pending\x0d\n * message callbacks will be called with an\x0d\n * error.\x0d\n * @returns {void}\x0d\n */\x0d\n disconnect() {\x0d\n if (!this.#connection)\x0d\n return;\x0d\n this.#connection.disconnect();\x0d\n this.#connection = null;\x0d\n const remainingCallbacks = this.#messageCallbacks.values();\x0d\n for (const callback of remainingCallbacks) {\x0d\n process.nextTick(callback\x2C new ERR_INSPECTOR_CLOSED());\x0d\n }\x0d\n this.#messageCallbacks.clear();\x0d\n this.#nextId = 1;\x0d\n }\x0d\n}\x0d\n\x0d\n/**\x0d\n * Activates inspector on host and port.\x0d\n * @param {number} [port]\x0d\n * @param {string} [host]\x0d\n * @param {boolean} [wait]\x0d\n * @returns {void}\x0d\n */\x0d\nfunction inspectorOpen(port\x2C host\x2C wait) {\x0d\n if (isEnabled()) {\x0d\n throw new ERR_INSPECTOR_ALREADY_ACTIVATED();\x0d\n }\x0d\n // inspectorOpen() currently does not typecheck its arguments and adding\x0d\n // such checks would be a potentially breaking change. However\x2C the native\x0d\n // open() function requires the port to fit into a 16-bit unsigned integer\x2C\x0d\n // causing an integer overflow otherwise\x2C so we at least need to prevent that.\x0d\n if (isUint32(port)) {\x0d\n validateInt32(port\x2C 'port'\x2C 0\x2C 65535);\x0d\n }\x0d\n open(port\x2C host);\x0d\n if (wait)\x0d\n waitForDebugger();\x0d\n\x0d\n return { __proto__: null\x2C [SymbolDispose]() { _debugEnd(); } };\x0d\n}\x0d\n\x0d\n/**\x0d\n * Blocks until a client (existing or connected later)\x0d\n * has sent the `Runtime.runIfWaitingForDebugger`\x0d\n * command.\x0d\n * @returns {void}\x0d\n */\x0d\nfunction inspectorWaitForDebugger() {\x0d\n if (!waitForDebugger())\x0d\n throw new ERR_INSPECTOR_NOT_ACTIVE();\x0d\n}\x0d\n\x0d\nmodule.exports = {\x0d\n open: inspectorOpen\x2C\x0d\n close: _debugEnd\x2C\x0d\n url\x2C\x0d\n waitForDebugger: inspectorWaitForDebugger\x2C\x0d\n console\x2C\x0d\n Session\x2C\x0d\n};\x0d\n
code-source-info,0x307efd5df86,135,0,5156,C0O0C4O5156,,
code-creation,JS,10,12187465,0x307efd5e6b6,496, node:inspector:1:1,0x307efd5df00,~
code-source-info,0x307efd5e6b6,135,0,5156,C0O0C91O28C97O42C103O60C109O72C115O366C118O366C123O392C128O119C134O155C140O191C146O216C152O242C157O274C163O306C169O335C175O428C178O428C183O411C188O456C190O478C192O484C197O478C198O543C201O543C206O590C209O590C214O571C220O735C223O735C228O643C234O656C240O677C246O695C252O714C258O793C261O793C266O776C272O843C275O843C280O829C286O998C289O998C294O893C300O908C306O933C312O942C317O950C323O964C329O984C393O1053C447O5009C454O5037C460O5062C466O5076C472O5101C478O5130C484O5142C490O5024C495O5155,,
code-creation,JS,10,12187604,0x307efd5e9e6,41,<instance_members_initializer> node:inspector:47:1,0x307efd5e260,~
code-source-info,0x307efd5e9e6,135,1031,3945,C3O1085C12O1104C22O1130C29O1130C40O3945,,
code-creation,Eval,10,12187945,0x307efd5f4fe,5, node:worker_threads:1:1,0x307efd5f3b8,~
script-source,136,node:worker_threads,'use strict';\x0d\n\x0d\nconst {\x0d\n isMainThread\x2C\x0d\n SHARE_ENV\x2C\x0d\n resourceLimits\x2C\x0d\n setEnvironmentData\x2C\x0d\n getEnvironmentData\x2C\x0d\n threadId\x2C\x0d\n Worker\x2C\x0d\n} = require('internal/worker');\x0d\n\x0d\nconst {\x0d\n MessagePort\x2C\x0d\n MessageChannel\x2C\x0d\n moveMessagePortToContext\x2C\x0d\n receiveMessageOnPort\x2C\x0d\n BroadcastChannel\x2C\x0d\n} = require('internal/worker/io');\x0d\n\x0d\nconst {\x0d\n markAsUntransferable\x2C\x0d\n} = require('internal/buffer');\x0d\n\x0d\nmodule.exports = {\x0d\n isMainThread\x2C\x0d\n MessagePort\x2C\x0d\n MessageChannel\x2C\x0d\n markAsUntransferable\x2C\x0d\n moveMessagePortToContext\x2C\x0d\n receiveMessageOnPort\x2C\x0d\n resourceLimits\x2C\x0d\n threadId\x2C\x0d\n SHARE_ENV\x2C\x0d\n Worker\x2C\x0d\n parentPort: null\x2C\x0d\n workerData: null\x2C\x0d\n BroadcastChannel\x2C\x0d\n setEnvironmentData\x2C\x0d\n getEnvironmentData\x2C\x0d\n};\x0d\n
code-source-info,0x307efd5f4fe,136,0,728,C0O0C4O728,,
code-creation,JS,10,12188080,0x307efd5f70e,180, node:worker_threads:1:1,0x307efd5f478,~
code-source-info,0x307efd5f70e,136,0,728,C0O150C3O150C8O28C13O45C18O59C23O78C28O101C33O124C38O137C43O304C46O304C51O192C56O208C61O227C66O256C71O281C76O376C79O376C84O349C89O407C96O429C102O446C108O462C114O481C120O506C126O535C132O560C138O579C144O592C150O606C156O659C162O680C168O703C174O422C179O727,,
code-creation,Eval,10,12189290,0x307efd60fbe,5, node:internal/worker:1:1,0x307efd603b0,~
script-source,137,node:internal/worker,'use strict';\x0d\n\x0d\nconst {\x0d\n ArrayPrototypeForEach\x2C\x0d\n ArrayPrototypeMap\x2C\x0d\n ArrayPrototypePush\x2C\x0d\n Float64Array\x2C\x0d\n FunctionPrototypeBind\x2C\x0d\n JSONStringify\x2C\x0d\n MathMax\x2C\x0d\n ObjectEntries\x2C\x0d\n Promise\x2C\x0d\n PromiseResolve\x2C\x0d\n ReflectApply\x2C\x0d\n RegExpPrototypeExec\x2C\x0d\n SafeArrayIterator\x2C\x0d\n SafeMap\x2C\x0d\n String\x2C\x0d\n StringPrototypeTrim\x2C\x0d\n Symbol\x2C\x0d\n SymbolFor\x2C\x0d\n TypedArrayPrototypeFill\x2C\x0d\n Uint32Array\x2C\x0d\n globalThis: { Atomics\x2C SharedArrayBuffer }\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst EventEmitter = require('events');\x0d\nconst assert = require('internal/assert');\x0d\nconst path = require('path');\x0d\nconst {\x0d\n internalEventLoopUtilization\x2C\x0d\n} = require('internal/perf/event_loop_utilization');\x0d\n\x0d\nconst errorCodes = require('internal/errors').codes;\x0d\nconst {\x0d\n ERR_WORKER_NOT_RUNNING\x2C\x0d\n ERR_WORKER_PATH\x2C\x0d\n ERR_WORKER_UNSERIALIZABLE_ERROR\x2C\x0d\n ERR_WORKER_INVALID_EXEC_ARGV\x2C\x0d\n ERR_INVALID_ARG_TYPE\x2C\x0d\n ERR_INVALID_ARG_VALUE\x2C\x0d\n} = errorCodes;\x0d\nconst { getOptionValue } = require('internal/options');\x0d\n\x0d\nconst workerIo = require('internal/worker/io');\x0d\nconst {\x0d\n drainMessagePort\x2C\x0d\n receiveMessageOnPort\x2C\x0d\n MessageChannel\x2C\x0d\n messageTypes\x2C\x0d\n kPort\x2C\x0d\n kIncrementsPortRef\x2C\x0d\n kWaitingStreams\x2C\x0d\n kStdioWantsMoreDataCallback\x2C\x0d\n setupPortReferencing\x2C\x0d\n ReadableWorkerStdio\x2C\x0d\n WritableWorkerStdio\x2C\x0d\n} = workerIo;\x0d\nconst { deserializeError } = require('internal/error_serdes');\x0d\nconst { fileURLToPath\x2C isURL\x2C pathToFileURL } = require('internal/url');\x0d\nconst { kEmptyObject } = require('internal/util');\x0d\nconst { validateArray\x2C validateString } = require('internal/validators');\x0d\nconst {\x0d\n throwIfBuildingSnapshot\x2C\x0d\n} = require('internal/v8/startup_snapshot');\x0d\nconst {\x0d\n ownsProcessState\x2C\x0d\n isMainThread\x2C\x0d\n resourceLimits: resourceLimitsRaw\x2C\x0d\n threadId\x2C\x0d\n Worker: WorkerImpl\x2C\x0d\n kMaxYoungGenerationSizeMb\x2C\x0d\n kMaxOldGenerationSizeMb\x2C\x0d\n kCodeRangeSizeMb\x2C\x0d\n kStackSizeMb\x2C\x0d\n kTotalResourceLimitCount\x2C\x0d\n} = internalBinding('worker');\x0d\n\x0d\nconst kHandle = Symbol('kHandle');\x0d\nconst kPublicPort = Symbol('kPublicPort');\x0d\nconst kDispose = Symbol('kDispose');\x0d\nconst kOnExit = Symbol('kOnExit');\x0d\nconst kOnMessage = Symbol('kOnMessage');\x0d\nconst kOnCouldNotSerializeErr = Symbol('kOnCouldNotSerializeErr');\x0d\nconst kOnErrorMessage = Symbol('kOnErrorMessage');\x0d\nconst kParentSideStdio = Symbol('kParentSideStdio');\x0d\nconst kLoopStartTime = Symbol('kLoopStartTime');\x0d\nconst kIsInternal = Symbol('kIsInternal');\x0d\nconst kIsOnline = Symbol('kIsOnline');\x0d\n\x0d\nconst SHARE_ENV = SymbolFor('nodejs.worker_threads.SHARE_ENV');\x0d\nlet debug = require('internal/util/debuglog').debuglog('worker'\x2C (fn) => {\x0d\n debug = fn;\x0d\n});\x0d\n\x0d\nconst dc = require('diagnostics_channel');\x0d\nconst workerThreadsChannel = dc.channel('worker_threads');\x0d\n\x0d\nlet cwdCounter;\x0d\n\x0d\nconst environmentData = new SafeMap();\x0d\n\x0d\n// SharedArrayBuffers can be disabled with --no-harmony-sharedarraybuffer.\x0d\n// Atomics can be disabled with --no-harmony-atomics.\x0d\nif (isMainThread && SharedArrayBuffer !== undefined && Atomics !== undefined) {\x0d\n cwdCounter = new Uint32Array(new SharedArrayBuffer(4));\x0d\n const originalChdir = process.chdir;\x0d\n process.chdir = function(path) {\x0d\n Atomics.add(cwdCounter\x2C 0\x2C 1);\x0d\n originalChdir(path);\x0d\n };\x0d\n}\x0d\n\x0d\nfunction setEnvironmentData(key\x2C value) {\x0d\n if (value === undefined)\x0d\n environmentData.delete(key);\x0d\n else\x0d\n environmentData.set(key\x2C value);\x0d\n}\x0d\n\x0d\nfunction getEnvironmentData(key) {\x0d\n return environmentData.get(key);\x0d\n}\x0d\n\x0d\nfunction assignEnvironmentData(data) {\x0d\n if (data === undefined) return;\x0d\n data.forEach((value\x2C key) => {\x0d\n environmentData.set(key\x2C value);\x0d\n });\x0d\n}\x0d\n\x0d\nclass Worker extends EventEmitter {\x0d\n constructor(filename\x2C options = kEmptyObject) {\x0d\n throwIfBuildingSnapshot('Creating workers');\x0d\n super();\x0d\n const isInternal = arguments[2] === kIsInternal;\x0d\n debug(\x0d\n `[${threadId}] create new worker`\x2C\x0d\n filename\x2C\x0d\n options\x2C\x0d\n `isInternal: ${isInternal}`\x2C\x0d\n );\x0d\n if (options.execArgv)\x0d\n validateArray(options.execArgv\x2C 'options.execArgv');\x0d\n\x0d\n let argv;\x0d\n if (options.argv) {\x0d\n validateArray(options.argv\x2C 'options.argv');\x0d\n argv = ArrayPrototypeMap(options.argv\x2C String);\x0d\n }\x0d\n\x0d\n let url\x2C doEval;\x0d\n if (isInternal) {\x0d\n doEval = 'internal';\x0d\n url = `node:${filename}`;\x0d\n } else if (options.eval) {\x0d\n if (typeof filename !== 'string') {\x0d\n throw new ERR_INVALID_ARG_VALUE(\x0d\n 'options.eval'\x2C\x0d\n options.eval\x2C\x0d\n 'must be false when \\'filename\\' is not a string'\x2C\x0d\n );\x0d\n }\x0d\n url = null;\x0d\n doEval = 'classic';\x0d\n } else if (isURL(filename) && filename.protocol === 'data:') {\x0d\n url = null;\x0d\n doEval = 'module';\x0d\n filename = `import ${JSONStringify(`${filename}`)}`;\x0d\n } else {\x0d\n doEval = false;\x0d\n if (isURL(filename)) {\x0d\n url = filename;\x0d\n filename = fileURLToPath(filename);\x0d\n } else if (typeof filename !== 'string') {\x0d\n throw new ERR_INVALID_ARG_TYPE(\x0d\n 'filename'\x2C\x0d\n ['string'\x2C 'URL']\x2C\x0d\n filename\x2C\x0d\n );\x0d\n } else if (path.isAbsolute(filename) ||\x0d\n RegExpPrototypeExec(/^\\.\\.?[\\\\/]/\x2C filename) !== null) {\x0d\n filename = path.resolve(filename);\x0d\n url = pathToFileURL(filename);\x0d\n } else {\x0d\n throw new ERR_WORKER_PATH(filename);\x0d\n }\x0d\n }\x0d\n\x0d\n let env;\x0d\n if (typeof options.env === 'object' && options.env !== null) {\x0d\n env = { __proto__: null };\x0d\n ArrayPrototypeForEach(\x0d\n ObjectEntries(options.env)\x2C\x0d\n ({ 0: key\x2C 1: value }) => { env[key] = `${value}`; }\x2C\x0d\n );\x0d\n } else if (options.env == null) {\x0d\n env = process.env;\x0d\n } else if (options.env !== SHARE_ENV) {\x0d\n throw new ERR_INVALID_ARG_TYPE(\x0d\n 'options.env'\x2C\x0d\n ['object'\x2C 'undefined'\x2C 'null'\x2C 'worker_threads.SHARE_ENV']\x2C\x0d\n options.env);\x0d\n }\x0d\n\x0d\n let name = '';\x0d\n if (options.name) {\x0d\n validateString(options.name\x2C 'options.name');\x0d\n name = StringPrototypeTrim(options.name);\x0d\n }\x0d\n\x0d\n debug('instantiating Worker.'\x2C `url: ${url}`\x2C `doEval: ${doEval}`);\x0d\n // Set up the C++ handle for the worker\x2C as well as some internal wiring.\x0d\n this[kHandle] = new WorkerImpl(url\x2C\x0d\n env === process.env ? null : env\x2C\x0d\n options.execArgv\x2C\x0d\n parseResourceLimits(options.resourceLimits)\x2C\x0d\n !!(options.trackUnmanagedFds ?? true)\x2C\x0d\n isInternal\x2C\x0d\n name);\x0d\n if (this[kHandle].invalidExecArgv) {\x0d\n throw new ERR_WORKER_INVALID_EXEC_ARGV(this[kHandle].invalidExecArgv);\x0d\n }\x0d\n if (this[kHandle].invalidNodeOptions) {\x0d\n throw new ERR_WORKER_INVALID_EXEC_ARGV(\x0d\n this[kHandle].invalidNodeOptions\x2C 'invalid NODE_OPTIONS env variable');\x0d\n }\x0d\n this[kHandle].onexit = (code\x2C customErr\x2C customErrReason) => {\x0d\n this[kOnExit](code\x2C customErr\x2C customErrReason);\x0d\n };\x0d\n this[kPort] = this[kHandle].messagePort;\x0d\n this[kPort].on('message'\x2C (data) => this[kOnMessage](data));\x0d\n this[kPort].start();\x0d\n this[kPort].unref();\x0d\n this[kPort][kWaitingStreams] = 0;\x0d\n debug(`[${threadId}] created Worker with ID ${this.threadId}`);\x0d\n\x0d\n let stdin = null;\x0d\n if (options.stdin)\x0d\n stdin = new WritableWorkerStdio(this[kPort]\x2C 'stdin');\x0d\n const stdout = new ReadableWorkerStdio(this[kPort]\x2C 'stdout');\x0d\n if (!options.stdout) {\x0d\n stdout[kIncrementsPortRef] = false;\x0d\n pipeWithoutWarning(stdout\x2C process.stdout);\x0d\n }\x0d\n const stderr = new ReadableWorkerStdio(this[kPort]\x2C 'stderr');\x0d\n if (!options.stderr) {\x0d\n stderr[kIncrementsPortRef] = false;\x0d\n pipeWithoutWarning(stderr\x2C process.stderr);\x0d\n }\x0d\n\x0d\n this[kParentSideStdio] = { stdin\x2C stdout\x2C stderr };\x0d\n\x0d\n const { port1\x2C port2 } = new MessageChannel();\x0d\n const transferList = [port2];\x0d\n // If transferList is provided.\x0d\n if (options.transferList)\x0d\n ArrayPrototypePush(transferList\x2C\x0d\n ...new SafeArrayIterator(options.transferList));\x0d\n\x0d\n this[kPublicPort] = port1;\x0d\n ArrayPrototypeForEach(['message'\x2C 'messageerror']\x2C (event) => {\x0d\n this[kPublicPort].on(event\x2C (message) => this.emit(event\x2C message));\x0d\n });\x0d\n setupPortReferencing(this[kPublicPort]\x2C this\x2C 'message');\x0d\n this[kPort].postMessage({\x0d\n argv\x2C\x0d\n type: messageTypes.LOAD_SCRIPT\x2C\x0d\n filename\x2C\x0d\n doEval\x2C\x0d\n isInternal\x2C\x0d\n cwdCounter: cwdCounter || workerIo.sharedCwdCounter\x2C\x0d\n workerData: options.workerData\x2C\x0d\n environmentData\x2C\x0d\n publicPort: port2\x2C\x0d\n manifestURL: getOptionValue('--experimental-policy') ?\x0d\n require('internal/process/policy').url :\x0d\n null\x2C\x0d\n manifestSrc: getOptionValue('--experimental-policy') ?\x0d\n require('internal/process/policy').src :\x0d\n null\x2C\x0d\n hasStdin: !!options.stdin\x2C\x0d\n }\x2C transferList);\x0d\n // Use this to cache the Worker's loopStart value once available.\x0d\n this[kLoopStartTime] = -1;\x0d\n this[kIsOnline] = false;\x0d\n this.performance = {\x0d\n eventLoopUtilization: FunctionPrototypeBind(eventLoopUtilization\x2C this)\x2C\x0d\n };\x0d\n // Actually start the new thread now that everything is in place.\x0d\n this[kHandle].startThread();\x0d\n\x0d\n process.nextTick(() => process.emit('worker'\x2C this));\x0d\n if (workerThreadsChannel.hasSubscribers) {\x0d\n workerThreadsChannel.publish({\x0d\n worker: this\x2C\x0d\n });\x0d\n }\x0d\n }\x0d\n\x0d\n [kOnExit](code\x2C customErr\x2C customErrReason) {\x0d\n debug(`[${threadId}] hears end event for Worker ${this.threadId}`);\x0d\n drainMessagePort(this[kPublicPort]);\x0d\n drainMessagePort(this[kPort]);\x0d\n this.removeAllListeners('message');\x0d\n this.removeAllListeners('messageerrors');\x0d\n this[kPublicPort].unref();\x0d\n this[kPort].unref();\x0d\n this[kDispose]();\x0d\n if (customErr) {\x0d\n debug(`[${threadId}] failing with custom error ${customErr} \\\x0d\n and with reason ${customErrReason}`);\x0d\n this.emit('error'\x2C new errorCodes[customErr](customErrReason));\x0d\n }\x0d\n this.emit('exit'\x2C code);\x0d\n this.removeAllListeners();\x0d\n }\x0d\n\x0d\n [kOnCouldNotSerializeErr]() {\x0d\n this.emit('error'\x2C new ERR_WORKER_UNSERIALIZABLE_ERROR());\x0d\n }\x0d\n\x0d\n [kOnErrorMessage](serialized) {\x0d\n // This is what is called for uncaught exceptions.\x0d\n const error = deserializeError(serialized);\x0d\n this.emit('error'\x2C error);\x0d\n }\x0d\n\x0d\n [kOnMessage](message) {\x0d\n switch (message.type) {\x0d\n case messageTypes.UP_AND_RUNNING:\x0d\n this[kIsOnline] = true;\x0d\n return this.emit('online');\x0d\n case messageTypes.COULD_NOT_SERIALIZE_ERROR:\x0d\n return this[kOnCouldNotSerializeErr]();\x0d\n case messageTypes.ERROR_MESSAGE:\x0d\n return this[kOnErrorMessage](message.error);\x0d\n case messageTypes.STDIO_PAYLOAD:\x0d\n {\x0d\n const { stream\x2C chunks } = message;\x0d\n const readable = this[kParentSideStdio][stream];\x0d\n ArrayPrototypeForEach(chunks\x2C ({ chunk\x2C encoding }) => {\x0d\n readable.push(chunk\x2C encoding);\x0d\n });\x0d\n return;\x0d\n }\x0d\n case messageTypes.STDIO_WANTS_MORE_DATA:\x0d\n {\x0d\n const { stream } = message;\x0d\n return this[kParentSideStdio][stream][kStdioWantsMoreDataCallback]();\x0d\n }\x0d\n }\x0d\n\x0d\n assert.fail(`Unknown worker message type ${message.type}`);\x0d\n }\x0d\n\x0d\n [kDispose]() {\x0d\n this[kHandle].onexit = null;\x0d\n this[kHandle] = null;\x0d\n this[kPort] = null;\x0d\n this[kPublicPort] = null;\x0d\n\x0d\n const { stdout\x2C stderr } = this[kParentSideStdio];\x0d\n\x0d\n if (!stdout.readableEnded) {\x0d\n debug(`[${threadId}] explicitly closes stdout for ${this.threadId}`);\x0d\n stdout.push(null);\x0d\n }\x0d\n if (!stderr.readableEnded) {\x0d\n debug(`[${threadId}] explicitly closes stderr for ${this.threadId}`);\x0d\n stderr.push(null);\x0d\n }\x0d\n }\x0d\n\x0d\n postMessage(...args) {\x0d\n if (this[kPublicPort] === null) return;\x0d\n\x0d\n ReflectApply(this[kPublicPort].postMessage\x2C this[kPublicPort]\x2C args);\x0d\n }\x0d\n\x0d\n terminate(callback) {\x0d\n debug(`[${threadId}] terminates Worker with ID ${this.threadId}`);\x0d\n\x0d\n this.ref();\x0d\n\x0d\n if (typeof callback === 'function') {\x0d\n process.emitWarning(\x0d\n 'Passing a callback to worker.terminate() is deprecated. ' +\x0d\n 'It returns a Promise instead.'\x2C\x0d\n 'DeprecationWarning'\x2C 'DEP0132');\x0d\n if (this[kHandle] === null) return PromiseResolve();\x0d\n this.once('exit'\x2C (exitCode) => callback(null\x2C exitCode));\x0d\n }\x0d\n\x0d\n if (this[kHandle] === null) return PromiseResolve();\x0d\n\x0d\n this[kHandle].stopThread();\x0d\n\x0d\n // Do not use events.once() here\x2C because the 'exit' event will always be\x0d\n // emitted regardless of any errors\x2C and the point is to only resolve\x0d\n // once the thread has actually stopped.\x0d\n return new Promise((resolve) => {\x0d\n this.once('exit'\x2C resolve);\x0d\n });\x0d\n }\x0d\n\x0d\n ref() {\x0d\n if (this[kHandle] === null) return;\x0d\n\x0d\n this[kHandle].ref();\x0d\n this[kPublicPort].ref();\x0d\n }\x0d\n\x0d\n unref() {\x0d\n if (this[kHandle] === null) return;\x0d\n\x0d\n this[kHandle].unref();\x0d\n this[kPublicPort].unref();\x0d\n }\x0d\n\x0d\n get threadId() {\x0d\n if (this[kHandle] === null) return -1;\x0d\n\x0d\n return this[kHandle].threadId;\x0d\n }\x0d\n\x0d\n get stdin() {\x0d\n return this[kParentSideStdio].stdin;\x0d\n }\x0d\n\x0d\n get stdout() {\x0d\n return this[kParentSideStdio].stdout;\x0d\n }\x0d\n\x0d\n get stderr() {\x0d\n return this[kParentSideStdio].stderr;\x0d\n }\x0d\n\x0d\n get resourceLimits() {\x0d\n if (this[kHandle] === null) return {};\x0d\n\x0d\n return makeResourceLimits(this[kHandle].getResourceLimits());\x0d\n }\x0d\n\x0d\n getHeapSnapshot(options) {\x0d\n const {\x0d\n HeapSnapshotStream\x2C\x0d\n getHeapSnapshotOptions\x2C\x0d\n } = require('internal/heap_utils');\x0d\n const optionsArray = getHeapSnapshotOptions(options);\x0d\n const heapSnapshotTaker = this[kHandle]?.takeHeapSnapshot(optionsArray);\x0d\n return new Promise((resolve\x2C reject) => {\x0d\n if (!heapSnapshotTaker) return reject(new ERR_WORKER_NOT_RUNNING());\x0d\n heapSnapshotTaker.ondone = (handle) => {\x0d\n resolve(new HeapSnapshotStream(handle));\x0d\n };\x0d\n });\x0d\n }\x0d\n}\x0d\n\x0d\n/**\x0d\n * A worker which has an internal module for entry point (e.g. internal/module/esm/worker).\x0d\n * Internal workers bypass the permission model.\x0d\n */\x0d\nclass InternalWorker extends Worker {\x0d\n constructor(filename\x2C options) {\x0d\n super(filename\x2C options\x2C kIsInternal);\x0d\n }\x0d\n\x0d\n receiveMessageSync() {\x0d\n return receiveMessageOnPort(this[kPublicPort]);\x0d\n }\x0d\n}\x0d\n\x0d\nfunction pipeWithoutWarning(source\x2C dest) {\x0d\n const sourceMaxListeners = source._maxListeners;\x0d\n const destMaxListeners = dest._maxListeners;\x0d\n source.setMaxListeners(Infinity);\x0d\n dest.setMaxListeners(Infinity);\x0d\n\x0d\n source.pipe(dest);\x0d\n\x0d\n source._maxListeners = sourceMaxListeners;\x0d\n dest._maxListeners = destMaxListeners;\x0d\n}\x0d\n\x0d\nconst resourceLimitsArray = new Float64Array(kTotalResourceLimitCount);\x0d\nfunction parseResourceLimits(obj) {\x0d\n const ret = resourceLimitsArray;\x0d\n TypedArrayPrototypeFill(ret\x2C -1);\x0d\n if (typeof obj !== 'object' || obj === null) return ret;\x0d\n\x0d\n if (typeof obj.maxOldGenerationSizeMb === 'number')\x0d\n ret[kMaxOldGenerationSizeMb] = MathMax(obj.maxOldGenerationSizeMb\x2C 2);\x0d\n if (typeof obj.maxYoungGenerationSizeMb === 'number')\x0d\n ret[kMaxYoungGenerationSizeMb] = obj.maxYoungGenerationSizeMb;\x0d\n if (typeof obj.codeRangeSizeMb === 'number')\x0d\n ret[kCodeRangeSizeMb] = obj.codeRangeSizeMb;\x0d\n if (typeof obj.stackSizeMb === 'number')\x0d\n ret[kStackSizeMb] = obj.stackSizeMb;\x0d\n return ret;\x0d\n}\x0d\n\x0d\nfunction makeResourceLimits(float64arr) {\x0d\n return {\x0d\n maxYoungGenerationSizeMb: float64arr[kMaxYoungGenerationSizeMb]\x2C\x0d\n maxOldGenerationSizeMb: float64arr[kMaxOldGenerationSizeMb]\x2C\x0d\n codeRangeSizeMb: float64arr[kCodeRangeSizeMb]\x2C\x0d\n stackSizeMb: float64arr[kStackSizeMb]\x2C\x0d\n };\x0d\n}\x0d\n\x0d\nfunction eventLoopUtilization(util1\x2C util2) {\x0d\n // TODO(trevnorris): Works to solve the thread-safe read/write issue of\x0d\n // loopTime\x2C but has the drawback that it can't be set until the event loop\x0d\n // has had a chance to turn. So it will be impossible to read the ELU of\x0d\n // a worker thread immediately after it's been created.\x0d\n if (!this[kIsOnline] || !this[kHandle]) {\x0d\n return { idle: 0\x2C active: 0\x2C utilization: 0 };\x0d\n }\x0d\n\x0d\n // Cache loopStart\x2C since it's only written to once.\x0d\n if (this[kLoopStartTime] === -1) {\x0d\n this[kLoopStartTime] = this[kHandle].loopStartTime();\x0d\n if (this[kLoopStartTime] === -1)\x0d\n return { idle: 0\x2C active: 0\x2C utilization: 0 };\x0d\n }\x0d\n\x0d\n return internalEventLoopUtilization(\x0d\n this[kLoopStartTime]\x2C\x0d\n this[kHandle].loopIdleTime()\x2C\x0d\n util1\x2C\x0d\n util2\x2C\x0d\n );\x0d\n}\x0d\n\x0d\nmodule.exports = {\x0d\n ownsProcessState\x2C\x0d\n kIsOnline\x2C\x0d\n isMainThread\x2C\x0d\n SHARE_ENV\x2C\x0d\n resourceLimits:\x0d\n !isMainThread ? makeResourceLimits(resourceLimitsRaw) : {}\x2C\x0d\n setEnvironmentData\x2C\x0d\n getEnvironmentData\x2C\x0d\n assignEnvironmentData\x2C\x0d\n threadId\x2C\x0d\n InternalWorker\x2C\x0d\n Worker\x2C\x0d\n};\x0d\n
code-source-info,0x307efd60fbe,137,0,16945,C0O0C4O16945,,
code-creation,JS,10,12190964,0x307efd62596,1343, node:internal/worker:1:1,0x307efd60f38,~
code-source-info,0x307efd62596,137,0,16945,C0O0C262O28C268O54C274O76C280O99C285O116C291O142C297O160C303O172C309O190C315O202C321O221C327O238C333O262C339O284C344O296C350O307C356O331C361O342C366O356C372O384C377O412C383O414C389O423C394O486C402O486C407O521C415O521C419O521C421O563C429O563C433O563C435O627C443O627C449O592C455O698C463O698C469O724C473O698C475O913C479O744C485O771C491O791C497O827C503O860C509O885C515O953C523O953C529O934C535O1002C543O1002C547O1002C549O1287C553O1045C559O1066C565O1091C571O1110C577O1127C583O1137C589O1160C595O1180C601O1212C607O1237C613O1261C619O1327C627O1327C633O1306C639O1410C647O1410C653O1370C659O1385C665O1392C671O1461C679O1461C685O1444C691O1530C699O1530C705O1496C711O1511C717O1604C725O1604C731O1574C737O1896C741O1896C747O1657C752O1678C757O1711C762O1733C768O1754C774O1769C780O1799C786O1827C792O1848C798O1865C803O1942C807O1942C811O1942C813O1982C817O1982C821O1982C823O2023C827O2023C831O2023C833O2060C837O2060C841O2060C843O2099C847O2099C851O2099C853O2154C857O2154C861O2154C863O2214C867O2214C871O2214C873O2267C877O2267C881O2267C883O2319C887O2319C891O2319C893O2366C897O2366C901O2366C903O2408C907O2408C911O2408C913O2450C917O2450C921O2450C923O2509C931O2509C937O2542C953O2543C959O2509C961O2606C969O2606C974O2671C984O2671C989O2668C991O2705C992O2705C994O2744C996O2744C1001O2744C1003O2893C1015O2956C1022O2976C1028O3005C1037O2989C1042O2987C1046O3057C1052O3065C1056O3057C1058O3075C1068O3089C1074O3595C1084O9526C1094O10180C1104O10284C1114O10463C1124O11388C1208O14302C1238O14852C1240O14852C1245O14852C1247O16656C1255O16678C1261O16699C1267O16713C1273O16730C1282O16766C1288O16781C1301O16828C1307O16851C1313O16874C1319O16900C1325O16913C1331O16932C1337O16671C1342O16944,,
code-creation,Eval,10,12191752,0x307efd6451e,5, node:internal/perf/event_loop_utilization:1:1,0x307efd64388,~
script-source,138,node:internal/perf/event_loop_utilization,'use strict';\x0d\n\x0d\nconst {\x0d\n constants: {\x0d\n NODE_PERFORMANCE_MILESTONE_LOOP_START\x2C\x0d\n }\x2C\x0d\n loopIdleTime\x2C\x0d\n milestones\x2C\x0d\n} = internalBinding('performance');\x0d\n\x0d\nfunction eventLoopUtilization(util1\x2C util2) {\x0d\n // Get the original milestone timestamps that calculated from the beginning\x0d\n // of the process.\x0d\n return internalEventLoopUtilization(\x0d\n milestones[NODE_PERFORMANCE_MILESTONE_LOOP_START] / 1e6\x2C\x0d\n loopIdleTime()\x2C\x0d\n util1\x2C\x0d\n util2\x2C\x0d\n );\x0d\n}\x0d\n\x0d\nfunction internalEventLoopUtilization(loopStart\x2C loopIdleTime\x2C util1\x2C util2) {\x0d\n if (loopStart <= 0) {\x0d\n return { idle: 0\x2C active: 0\x2C utilization: 0 };\x0d\n }\x0d\n\x0d\n if (util2) {\x0d\n const idle = util1.idle - util2.idle;\x0d\n const active = util1.active - util2.active;\x0d\n return { idle\x2C active\x2C utilization: active / (idle + active) };\x0d\n }\x0d\n\x0d\n // Using process.hrtime() to get the time from the beginning of the process\x2C\x0d\n // and offset it by the loopStart time (which is also calculated from the\x0d\n // beginning of the process).\x0d\n const now = process.hrtime();\x0d\n const active = now[0] * 1e3 + now[1] / 1e6 - loopStart - loopIdleTime;\x0d\n\x0d\n if (!util1) {\x0d\n return {\x0d\n idle: loopIdleTime\x2C\x0d\n active\x2C\x0d\n utilization: active / (loopIdleTime + active)\x2C\x0d\n };\x0d\n }\x0d\n\x0d\n const idleDelta = loopIdleTime - util1.idle;\x0d\n const activeDelta = active - util1.active;\x0d\n const utilization = activeDelta / (idleDelta + activeDelta);\x0d\n return {\x0d\n idle: idleDelta\x2C\x0d\n active: activeDelta\x2C\x0d\n utilization\x2C\x0d\n };\x0d\n}\x0d\n\x0d\nmodule.exports = {\x0d\n internalEventLoopUtilization\x2C\x0d\n eventLoopUtilization\x2C\x0d\n};\x0d\n
code-source-info,0x307efd6451e,138,0,1587,C0O0C4O1587,,
code-creation,JS,10,12192010,0x307efd646ce,85, node:internal/perf/event_loop_utilization:1:1,0x307efd64498,~
code-source-info,0x307efd646ce,138,0,1587,C0O0C29O128C32O128C37O39C42O46C48O94C54O111C60O1505C67O1527C73O1560C79O1520C84O1586,,
code-creation,Eval,10,12193165,0x307efd656be,5, node:internal/worker/io:1:1,0x307efd65238,~
script-source,139,node:internal/worker/io,'use strict';\x0d\n\x0d\nconst {\x0d\n ArrayPrototypeForEach\x2C\x0d\n ArrayPrototypeMap\x2C\x0d\n ArrayPrototypePush\x2C\x0d\n FunctionPrototypeBind\x2C\x0d\n FunctionPrototypeCall\x2C\x0d\n ObjectAssign\x2C\x0d\n ObjectCreate\x2C\x0d\n ObjectDefineProperty\x2C\x0d\n ObjectDefineProperties\x2C\x0d\n ObjectGetOwnPropertyDescriptors\x2C\x0d\n ObjectGetPrototypeOf\x2C\x0d\n ObjectSetPrototypeOf\x2C\x0d\n ObjectValues\x2C\x0d\n ReflectApply\x2C\x0d\n Symbol\x2C\x0d\n SymbolFor\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst {\x0d\n kEmptyObject\x2C\x0d\n kEnumerableProperty\x2C\x0d\n setOwnProperty\x2C\x0d\n} = require('internal/util');\x0d\n\x0d\nconst {\x0d\n handle_onclose: handleOnCloseSymbol\x2C\x0d\n oninit: onInitSymbol\x2C\x0d\n no_message_symbol: noMessageSymbol\x2C\x0d\n} = internalBinding('symbols');\x0d\nconst {\x0d\n MessagePort\x2C\x0d\n MessageChannel\x2C\x0d\n broadcastChannel\x2C\x0d\n drainMessagePort\x2C\x0d\n moveMessagePortToContext\x2C\x0d\n receiveMessageOnPort: receiveMessageOnPort_\x2C\x0d\n stopMessagePort\x2C\x0d\n checkMessagePort\x2C\x0d\n DOMException\x2C\x0d\n} = internalBinding('messaging');\x0d\nconst {\x0d\n getEnvMessagePort\x2C\x0d\n} = internalBinding('worker');\x0d\n\x0d\nconst { Readable\x2C Writable } = require('stream');\x0d\nconst {\x0d\n Event\x2C\x0d\n EventTarget\x2C\x0d\n NodeEventTarget\x2C\x0d\n defineEventHandler\x2C\x0d\n initNodeEventTarget\x2C\x0d\n kCreateEvent\x2C\x0d\n kNewListener\x2C\x0d\n kRemoveListener\x2C\x0d\n} = require('internal/event_target');\x0d\nconst { inspect } = require('internal/util/inspect');\x0d\nconst {\x0d\n codes: {\x0d\n ERR_INVALID_ARG_TYPE\x2C\x0d\n ERR_INVALID_THIS\x2C\x0d\n ERR_MISSING_ARGS\x2C\x0d\n }\x2C\x0d\n} = require('internal/errors');\x0d\n\x0d\nconst kData = Symbol('kData');\x0d\nconst kHandle = Symbol('kHandle');\x0d\nconst kIncrementsPortRef = Symbol('kIncrementsPortRef');\x0d\nconst kLastEventId = Symbol('kLastEventId');\x0d\nconst kName = Symbol('kName');\x0d\nconst kOrigin = Symbol('kOrigin');\x0d\nconst kOnMessage = Symbol('kOnMessage');\x0d\nconst kOnMessageError = Symbol('kOnMessageError');\x0d\nconst kPort = Symbol('kPort');\x0d\nconst kPorts = Symbol('kPorts');\x0d\nconst kWaitingStreams = Symbol('kWaitingStreams');\x0d\nconst kWritableCallbacks = Symbol('kWritableCallbacks');\x0d\nconst kSource = Symbol('kSource');\x0d\nconst kStartedReading = Symbol('kStartedReading');\x0d\nconst kStdioWantsMoreDataCallback = Symbol('kStdioWantsMoreDataCallback');\x0d\nconst kCurrentlyReceivingPorts =\x0d\n SymbolFor('nodejs.internal.kCurrentlyReceivingPorts');\x0d\nconst kType = Symbol('kType');\x0d\n\x0d\nconst messageTypes = {\x0d\n UP_AND_RUNNING: 'upAndRunning'\x2C\x0d\n COULD_NOT_SERIALIZE_ERROR: 'couldNotSerializeError'\x2C\x0d\n ERROR_MESSAGE: 'errorMessage'\x2C\x0d\n STDIO_PAYLOAD: 'stdioPayload'\x2C\x0d\n STDIO_WANTS_MORE_DATA: 'stdioWantsMoreData'\x2C\x0d\n LOAD_SCRIPT: 'loadScript'\x2C\x0d\n};\x0d\n\x0d\n// We have to mess with the MessagePort prototype a bit\x2C so that a) we can make\x0d\n// it inherit from NodeEventTarget\x2C even though it is a C++ class\x2C and b) we do\x0d\n// not provide methods that are not present in the Browser and not documented\x0d\n// on our side (e.g. stopMessagePort).\x0d\nconst messagePortPrototypePropertyDescriptors = ObjectGetOwnPropertyDescriptors(MessagePort.prototype);\x0d\nconst propertiesValues = ObjectValues(messagePortPrototypePropertyDescriptors);\x0d\nfor (let i = 0; i < propertiesValues.length; i++) {\x0d\n // We want to use null-prototype objects to not rely on globally mutable\x0d\n // %Object.prototype%.\x0d\n ObjectSetPrototypeOf(propertiesValues[i]\x2C null);\x0d\n}\x0d\n// Save a copy of the original set of methods as a shallow clone.\x0d\nconst MessagePortPrototype = ObjectCreate(\x0d\n ObjectGetPrototypeOf(MessagePort.prototype)\x2C\x0d\n messagePortPrototypePropertyDescriptors);\x0d\n// Set up the new inheritance chain.\x0d\nObjectSetPrototypeOf(MessagePort\x2C NodeEventTarget);\x0d\nObjectSetPrototypeOf(MessagePort.prototype\x2C NodeEventTarget.prototype);\x0d\n// Copy methods that are inherited from HandleWrap\x2C because\x0d\n// changing the prototype of MessagePort.prototype implicitly removed them.\x0d\nMessagePort.prototype.ref = MessagePortPrototype.ref;\x0d\nMessagePort.prototype.unref = MessagePortPrototype.unref;\x0d\nMessagePort.prototype.hasRef = function() {\x0d\n return !!FunctionPrototypeCall(MessagePortPrototype.hasRef\x2C this);\x0d\n};\x0d\n\x0d\nfunction validateMessagePort(port\x2C name) {\x0d\n if (!checkMessagePort(port))\x0d\n throw new ERR_INVALID_ARG_TYPE(name\x2C 'MessagePort'\x2C port);\x0d\n}\x0d\n\x0d\nfunction isMessageEvent(value) {\x0d\n return value != null && kData in value;\x0d\n}\x0d\n\x0d\nclass MessageEvent extends Event {\x0d\n constructor(type\x2C {\x0d\n data = null\x2C\x0d\n origin = ''\x2C\x0d\n lastEventId = ''\x2C\x0d\n source = null\x2C\x0d\n ports = []\x2C\x0d\n } = kEmptyObject) {\x0d\n super(type);\x0d\n this[kData] = data;\x0d\n this[kOrigin] = `${origin}`;\x0d\n this[kLastEventId] = `${lastEventId}`;\x0d\n this[kSource] = source;\x0d\n this[kPorts] = [...ports];\x0d\n\x0d\n if (this[kSource] !== null)\x0d\n validateMessagePort(this[kSource]\x2C 'init.source');\x0d\n for (let i = 0; i < this[kPorts].length; i++)\x0d\n validateMessagePort(this[kPorts][i]\x2C `init.ports[${i}]`);\x0d\n }\x0d\n}\x0d\n\x0d\nObjectDefineProperties(MessageEvent.prototype\x2C {\x0d\n data: {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n if (!isMessageEvent(this))\x0d\n throw new ERR_INVALID_THIS('MessageEvent');\x0d\n return this[kData];\x0d\n }\x2C\x0d\n enumerable: true\x2C\x0d\n configurable: true\x2C\x0d\n set: undefined\x2C\x0d\n }\x2C\x0d\n origin: {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n if (!isMessageEvent(this))\x0d\n throw new ERR_INVALID_THIS('MessageEvent');\x0d\n return this[kOrigin];\x0d\n }\x2C\x0d\n enumerable: true\x2C\x0d\n configurable: true\x2C\x0d\n set: undefined\x2C\x0d\n }\x2C\x0d\n lastEventId: {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n if (!isMessageEvent(this))\x0d\n throw new ERR_INVALID_THIS('MessageEvent');\x0d\n return this[kLastEventId];\x0d\n }\x2C\x0d\n enumerable: true\x2C\x0d\n configurable: true\x2C\x0d\n set: undefined\x2C\x0d\n }\x2C\x0d\n source: {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n if (!isMessageEvent(this))\x0d\n throw new ERR_INVALID_THIS('MessageEvent');\x0d\n return this[kSource];\x0d\n }\x2C\x0d\n enumerable: true\x2C\x0d\n configurable: true\x2C\x0d\n set: undefined\x2C\x0d\n }\x2C\x0d\n ports: {\x0d\n __proto__: null\x2C\x0d\n get() {\x0d\n if (!isMessageEvent(this))\x0d\n throw new ERR_INVALID_THIS('MessageEvent');\x0d\n return this[kPorts];\x0d\n }\x2C\x0d\n enumerable: true\x2C\x0d\n configurable: true\x2C\x0d\n set: undefined\x2C\x0d\n }\x2C\x0d\n});\x0d\n\x0d\nconst originalCreateEvent = EventTarget.prototype[kCreateEvent];\x0d\nObjectDefineProperty(\x0d\n MessagePort.prototype\x2C\x0d\n kCreateEvent\x2C\x0d\n {\x0d\n __proto__: null\x2C\x0d\n value: function(data\x2C type) {\x0d\n if (type !== 'message' && type !== 'messageerror') {\x0d\n return ReflectApply(originalCreateEvent\x2C this\x2C arguments);\x0d\n }\x0d\n const ports = this[kCurrentlyReceivingPorts];\x0d\n this[kCurrentlyReceivingPorts] = undefined;\x0d\n return new MessageEvent(type\x2C { data\x2C ports });\x0d\n }\x2C\x0d\n configurable: false\x2C\x0d\n writable: false\x2C\x0d\n enumerable: false\x2C\x0d\n });\x0d\n\x0d\n// This is called from inside the `MessagePort` constructor.\x0d\nfunction oninit() {\x0d\n initNodeEventTarget(this);\x0d\n setupPortReferencing(this\x2C this\x2C 'message');\x0d\n this[kCurrentlyReceivingPorts] = undefined;\x0d\n}\x0d\n\x0d\ndefineEventHandler(MessagePort.prototype\x2C 'message');\x0d\ndefineEventHandler(MessagePort.prototype\x2C 'messageerror');\x0d\n\x0d\nObjectDefineProperty(MessagePort.prototype\x2C onInitSymbol\x2C {\x0d\n __proto__: null\x2C\x0d\n enumerable: true\x2C\x0d\n writable: false\x2C\x0d\n value: oninit\x2C\x0d\n});\x0d\n\x0d\nclass MessagePortCloseEvent extends Event {\x0d\n constructor() {\x0d\n super('close');\x0d\n }\x0d\n}\x0d\n\x0d\n// This is called after the underlying `uv_async_t` has been closed.\x0d\nfunction onclose() {\x0d\n this.dispatchEvent(new MessagePortCloseEvent());\x0d\n}\x0d\n\x0d\nObjectDefineProperty(MessagePort.prototype\x2C handleOnCloseSymbol\x2C {\x0d\n __proto__: null\x2C\x0d\n enumerable: false\x2C\x0d\n writable: false\x2C\x0d\n value: onclose\x2C\x0d\n});\x0d\n\x0d\nMessagePort.prototype.close = function(cb) {\x0d\n if (typeof cb === 'function')\x0d\n this.once('close'\x2C cb);\x0d\n FunctionPrototypeCall(MessagePortPrototype.close\x2C this);\x0d\n};\x0d\n\x0d\nObjectDefineProperty(MessagePort.prototype\x2C inspect.custom\x2C {\x0d\n __proto__: null\x2C\x0d\n enumerable: false\x2C\x0d\n writable: false\x2C\x0d\n value: function inspect() { // eslint-disable-line func-name-matching\x0d\n let ref;\x0d\n try {\x0d\n // This may throw when `this` does not refer to a native object\x2C\x0d\n // e.g. when accessing the prototype directly.\x0d\n ref = FunctionPrototypeCall(MessagePortPrototype.hasRef\x2C this);\x0d\n } catch { return this; }\x0d\n return ObjectAssign({ __proto__: MessagePort.prototype }\x2C\x0d\n ref === undefined ? {\x0d\n active: false\x2C\x0d\n } : {\x0d\n active: true\x2C\x0d\n refed: ref\x2C\x0d\n }\x2C\x0d\n this);\x0d\n }\x2C\x0d\n});\x0d\n\x0d\nfunction setupPortReferencing(port\x2C eventEmitter\x2C eventName) {\x0d\n // Keep track of whether there are any workerMessage listeners:\x0d\n // If there are some\x2C ref() the channel so it keeps the event loop alive.\x0d\n // If there are none or all are removed\x2C unref() the channel so the worker\x0d\n // can shutdown gracefully.\x0d\n port.unref();\x0d\n eventEmitter.on('newListener'\x2C function(name) {\x0d\n if (name === eventName) newListener(eventEmitter.listenerCount(name));\x0d\n });\x0d\n eventEmitter.on('removeListener'\x2C function(name) {\x0d\n if (name === eventName) removeListener(eventEmitter.listenerCount(name));\x0d\n });\x0d\n const origNewListener = eventEmitter[kNewListener];\x0d\n setOwnProperty(eventEmitter\x2C kNewListener\x2C function(size\x2C type\x2C ...args) {\x0d\n if (type === eventName) newListener(size - 1);\x0d\n return ReflectApply(origNewListener\x2C this\x2C arguments);\x0d\n });\x0d\n const origRemoveListener = eventEmitter[kRemoveListener];\x0d\n setOwnProperty(eventEmitter\x2C kRemoveListener\x2C function(size\x2C type\x2C ...args) {\x0d\n if (type === eventName) removeListener(size);\x0d\n return ReflectApply(origRemoveListener\x2C this\x2C arguments);\x0d\n });\x0d\n\x0d\n function newListener(size) {\x0d\n if (size === 0) {\x0d\n port.ref();\x0d\n FunctionPrototypeCall(MessagePortPrototype.start\x2C port);\x0d\n }\x0d\n }\x0d\n\x0d\n function removeListener(size) {\x0d\n if (size === 0) {\x0d\n stopMessagePort(port);\x0d\n port.unref();\x0d\n }\x0d\n }\x0d\n}\x0d\n\x0d\n\x0d\nclass ReadableWorkerStdio extends Readable {\x0d\n constructor(port\x2C name) {\x0d\n super();\x0d\n this[kPort] = port;\x0d\n this[kName] = name;\x0d\n this[kIncrementsPortRef] = true;\x0d\n this[kStartedReading] = false;\x0d\n this.on('end'\x2C () => {\x0d\n if (this[kStartedReading] && this[kIncrementsPortRef]) {\x0d\n if (--this[kPort][kWaitingStreams] === 0)\x0d\n this[kPort].unref();\x0d\n }\x0d\n });\x0d\n }\x0d\n\x0d\n _read() {\x0d\n if (!this[kStartedReading] && this[kIncrementsPortRef]) {\x0d\n this[kStartedReading] = true;\x0d\n if (this[kPort][kWaitingStreams]++ === 0)\x0d\n this[kPort].ref();\x0d\n }\x0d\n\x0d\n this[kPort].postMessage({\x0d\n type: messageTypes.STDIO_WANTS_MORE_DATA\x2C\x0d\n stream: this[kName]\x2C\x0d\n });\x0d\n }\x0d\n}\x0d\n\x0d\nclass WritableWorkerStdio extends Writable {\x0d\n constructor(port\x2C name) {\x0d\n super({ decodeStrings: false });\x0d\n this[kPort] = port;\x0d\n this[kName] = name;\x0d\n this[kWritableCallbacks] = [];\x0d\n }\x0d\n\x0d\n _writev(chunks\x2C cb) {\x0d\n this[kPort].postMessage({\x0d\n type: messageTypes.STDIO_PAYLOAD\x2C\x0d\n stream: this[kName]\x2C\x0d\n chunks: ArrayPrototypeMap(chunks\x2C\x0d\n ({ chunk\x2C encoding }) => ({ chunk\x2C encoding }))\x2C\x0d\n });\x0d\n ArrayPrototypePush(this[kWritableCallbacks]\x2C cb);\x0d\n if (this[kPort][kWaitingStreams]++ === 0)\x0d\n this[kPort].ref();\x0d\n }\x0d\n\x0d\n _final(cb) {\x0d\n this[kPort].postMessage({\x0d\n type: messageTypes.STDIO_PAYLOAD\x2C\x0d\n stream: this[kName]\x2C\x0d\n chunks: [ { chunk: null\x2C encoding: '' } ]\x2C\x0d\n });\x0d\n cb();\x0d\n }\x0d\n\x0d\n [kStdioWantsMoreDataCallback]() {\x0d\n const cbs = this[kWritableCallbacks];\x0d\n this[kWritableCallbacks] = [];\x0d\n ArrayPrototypeForEach(cbs\x2C (cb) => cb());\x0d\n if ((this[kPort][kWaitingStreams] -= cbs.length) === 0)\x0d\n this[kPort].unref();\x0d\n }\x0d\n}\x0d\n\x0d\nfunction createWorkerStdio() {\x0d\n const port = getEnvMessagePort();\x0d\n port[kWaitingStreams] = 0;\x0d\n return {\x0d\n stdin: new ReadableWorkerStdio(port\x2C 'stdin')\x2C\x0d\n stdout: new WritableWorkerStdio(port\x2C 'stdout')\x2C\x0d\n stderr: new WritableWorkerStdio(port\x2C 'stderr')\x2C\x0d\n };\x0d\n}\x0d\n\x0d\nfunction receiveMessageOnPort(port) {\x0d\n const message = receiveMessageOnPort_(port?.[kHandle] ?? port);\x0d\n if (message === noMessageSymbol) return undefined;\x0d\n return { message };\x0d\n}\x0d\n\x0d\nfunction onMessageEvent(type\x2C data) {\x0d\n this.dispatchEvent(new MessageEvent(type\x2C { data }));\x0d\n}\x0d\n\x0d\nfunction isBroadcastChannel(value) {\x0d\n return value?.[kType] === 'BroadcastChannel';\x0d\n}\x0d\n\x0d\nclass BroadcastChannel extends EventTarget {\x0d\n /**\x0d\n * @param {string} name\x0d\n */\x0d\n constructor(name) {\x0d\n if (arguments.length === 0)\x0d\n throw new ERR_MISSING_ARGS('name');\x0d\n super();\x0d\n this[kType] = 'BroadcastChannel';\x0d\n this[kName] = `${name}`;\x0d\n this[kHandle] = broadcastChannel(this[kName]);\x0d\n this[kOnMessage] = FunctionPrototypeBind(onMessageEvent\x2C this\x2C 'message');\x0d\n this[kOnMessageError] =\x0d\n FunctionPrototypeBind(onMessageEvent\x2C this\x2C 'messageerror');\x0d\n this[kHandle].on('message'\x2C this[kOnMessage]);\x0d\n this[kHandle].on('messageerror'\x2C this[kOnMessageError]);\x0d\n }\x0d\n\x0d\n [inspect.custom](depth\x2C options) {\x0d\n if (!isBroadcastChannel(this))\x0d\n throw new ERR_INVALID_THIS('BroadcastChannel');\x0d\n if (depth < 0)\x0d\n return 'BroadcastChannel';\x0d\n\x0d\n const opts = {\x0d\n ...options\x2C\x0d\n depth: options.depth == null ? null : options.depth - 1\x2C\x0d\n };\x0d\n\x0d\n return `BroadcastChannel ${inspect({\x0d\n name: this[kName]\x2C\x0d\n active: this[kHandle] !== undefined\x2C\x0d\n }\x2C opts)}`;\x0d\n }\x0d\n\x0d\n /**\x0d\n * @type {string}\x0d\n */\x0d\n get name() {\x0d\n if (!isBroadcastChannel(this))\x0d\n throw new ERR_INVALID_THIS('BroadcastChannel');\x0d\n return this[kName];\x0d\n }\x0d\n\x0d\n /**\x0d\n * @returns {void}\x0d\n */\x0d\n close() {\x0d\n if (!isBroadcastChannel(this))\x0d\n throw new ERR_INVALID_THIS('BroadcastChannel');\x0d\n if (this[kHandle] === undefined)\x0d\n return;\x0d\n this[kHandle].off('message'\x2C this[kOnMessage]);\x0d\n this[kHandle].off('messageerror'\x2C this[kOnMessageError]);\x0d\n this[kOnMessage] = undefined;\x0d\n this[kOnMessageError] = undefined;\x0d\n this[kHandle].close();\x0d\n this[kHandle] = undefined;\x0d\n }\x0d\n\x0d\n /**\x0d\n *\x0d\n * @param {any} message\x0d\n * @returns {void}\x0d\n */\x0d\n postMessage(message) {\x0d\n if (!isBroadcastChannel(this))\x0d\n throw new ERR_INVALID_THIS('BroadcastChannel');\x0d\n if (arguments.length === 0)\x0d\n throw new ERR_MISSING_ARGS('message');\x0d\n if (this[kHandle] === undefined)\x0d\n throw new DOMException('BroadcastChannel is closed.');\x0d\n if (this[kHandle].postMessage(message) === undefined)\x0d\n throw new DOMException('Message could not be posted.');\x0d\n }\x0d\n\x0d\n // The ref() method is Node.js specific and not part of the standard\x0d\n // BroadcastChannel API definition. Typically we shouldn't extend Web\x0d\n // Platform APIs with Node.js specific methods but ref and unref\x0d\n // are a bit special.\x0d\n /**\x0d\n * @returns {BroadcastChannel}\x0d\n */\x0d\n ref() {\x0d\n if (!isBroadcastChannel(this))\x0d\n throw new ERR_INVALID_THIS('BroadcastChannel');\x0d\n if (this[kHandle])\x0d\n this[kHandle].ref();\x0d\n return this;\x0d\n }\x0d\n\x0d\n // The unref() method is Node.js specific and not part of the standard\x0d\n // BroadcastChannel API definition. Typically we shouldn't extend Web\x0d\n // Platform APIs with Node.js specific methods but ref and unref\x0d\n // are a bit special.\x0d\n /**\x0d\n * @returns {BroadcastChannel}\x0d\n */\x0d\n unref() {\x0d\n if (!isBroadcastChannel(this))\x0d\n throw new ERR_INVALID_THIS('BroadcastChannel');\x0d\n if (this[kHandle])\x0d\n this[kHandle].unref();\x0d\n return this;\x0d\n }\x0d\n}\x0d\n\x0d\nObjectDefineProperties(BroadcastChannel.prototype\x2C {\x0d\n name: kEnumerableProperty\x2C\x0d\n close: kEnumerableProperty\x2C\x0d\n postMessage: kEnumerableProperty\x2C\x0d\n});\x0d\n\x0d\ndefineEventHandler(BroadcastChannel.prototype\x2C 'message');\x0d\ndefineEventHandler(BroadcastChannel.prototype\x2C 'messageerror');\x0d\n\x0d\nmodule.exports = {\x0d\n drainMessagePort\x2C\x0d\n messageTypes\x2C\x0d\n kPort\x2C\x0d\n kIncrementsPortRef\x2C\x0d\n kWaitingStreams\x2C\x0d\n kStdioWantsMoreDataCallback\x2C\x0d\n moveMessagePortToContext\x2C\x0d\n MessagePort\x2C\x0d\n MessageChannel\x2C\x0d\n MessageEvent\x2C\x0d\n receiveMessageOnPort\x2C\x0d\n setupPortReferencing\x2C\x0d\n ReadableWorkerStdio\x2C\x0d\n WritableWorkerStdio\x2C\x0d\n createWorkerStdio\x2C\x0d\n BroadcastChannel\x2C\x0d\n};\x0d\n
code-source-info,0x307efd656be,139,0,16035,C0O0C4O16035,,
code-creation,JS,10,12194844,0x307efd67666,1709, node:internal/worker/io:1:1,0x307efd65638,~
code-source-info,0x307efd67666,139,0,16035,C0O0C200O28C206O54C212O76C218O99C224O125C230O151C236O168C241O185C246O210C251O237C256O273C261O298C266O323C271O340C277O357C282O368C287O473C291O473C297O411C303O428C308O452C314O619C318O619C324O529C329O561C334O597C340O873C344O873C350O659C356O675C361O694C367O715C372O736C377O787C383O813C389O833C395O854C401O939C405O939C411O915C417O1000C421O1000C427O977C432O987C438O1180C442O1180C448O1031C454O1041C460O1057C466O1077C472O1100C478O1124C484O1141C490O1158C496O1235C500O1235C506O1223C512O1374C516O1374C522O1288C528O1295C534O1322C540O1345C546O1419C550O1419C554O1419C556O1453C560O1453C564O1453C566O1500C570O1500C574O1500C576O1552C580O1552C584O1552C586O1591C590O1591C594O1591C596O1625C600O1625C604O1625C606O1664C610O1664C614O1664C616O1711C620O1711C624O1711C626O1753C630O1753C634O1753C636O1786C640O1786C644O1786C646O1829C650O1829C654O1829C656O1884C660O1884C664O1884C666O1931C670O1931C674O1931C676O1975C680O1975C684O1975C686O2039C690O2039C696O2115C700O2115C704O2115C706O2185C710O2185C714O2185C716O2226C720O2226C722O2801C726O2845C732O2801C738O2883C744O2952C747O2976C751O2957C756O3096C758O3133C766O3096C771O2985C777O2939C781O3245C785O3295C791O3262C797O3245C802O3245C804O3391C808O3391C813O3444C817O3477C823O3504C829O3444C834O3655C838O3667C848O3704C852O3681C856O3710C860O3722C870O3761C874O3738C878O3769C882O3781C892O3798C896O4144C919O4117C921O4696C925O4732C937O4754C943O4783C952O4971C962O4999C968O5028C977O5218C987O5251C993O5280C1002O5475C1012O5503C1018O5532C1027O5722C1037O5749C1043O5778C1052O5967C1062O4696C1067O6032C1075O6041C1078O6020C1080O6058C1084O6095C1090O6109C1096O6162C1107O6058C1112O6784C1116O6815C1126O6784C1131O6839C1135O6870C1145O6839C1150O6901C1154O6934C1160O6945C1168O7032C1175O6901C1180O7084C1203O7048C1205O7292C1209O7325C1215O7336C1223O7431C1230O7292C1235O7448C1239O7460C1249O7476C1253O7622C1257O7655C1267O7674C1279O7756C1287O7622C1292O9848C1321O9814C1323O10587C1343O11347C1368O10553C1370O12300C1380O12899C1384O12899C1440O15420C1454O15442C1460O15473C1470O15510C1478O15380C1488O15575C1498O15539C1508O15635C1518O15599C1528O15666C1539O15688C1549O15709C1559O15726C1569O15736C1579O15759C1589O15779C1599O15811C1609O15840C1619O15856C1629O15875C1639O15892C1649O15917C1659O15942C1669O15966C1679O15990C1689O16012C1699O15681C1708O16034,,
code-creation,Eval,10,12196339,0x307efd6b92e,5, node:internal/error_serdes:1:1,0x307efd6b598,~
script-source,140,node:internal/error_serdes,'use strict';\x0d\n\x0d\nconst Buffer = require('buffer').Buffer;\x0d\nconst {\x0d\n ArrayPrototypeForEach\x2C\x0d\n Error\x2C\x0d\n EvalError\x2C\x0d\n FunctionPrototypeCall\x2C\x0d\n ObjectAssign\x2C\x0d\n ObjectCreate\x2C\x0d\n ObjectDefineProperty\x2C\x0d\n ObjectGetOwnPropertyDescriptor\x2C\x0d\n ObjectGetOwnPropertyNames\x2C\x0d\n ObjectGetPrototypeOf\x2C\x0d\n ObjectKeys\x2C\x0d\n ObjectPrototypeToString\x2C\x0d\n RangeError\x2C\x0d\n ReferenceError\x2C\x0d\n SafeSet\x2C\x0d\n StringFromCharCode\x2C\x0d\n StringPrototypeSubstring\x2C\x0d\n SymbolToStringTag\x2C\x0d\n SyntaxError\x2C\x0d\n SymbolFor\x2C\x0d\n TypeError\x2C\x0d\n TypedArrayPrototypeGetBuffer\x2C\x0d\n TypedArrayPrototypeGetByteOffset\x2C\x0d\n TypedArrayPrototypeGetByteLength\x2C\x0d\n URIError\x2C\x0d\n} = primordials;\x0d\nconst { inspect: { custom: customInspectSymbol } } = require('util');\x0d\n\x0d\nconst kSerializedError = 0;\x0d\nconst kSerializedObject = 1;\x0d\nconst kInspectedError = 2;\x0d\nconst kInspectedSymbol = 3;\x0d\nconst kCustomInspectedObject = 4;\x0d\n\x0d\nconst kSymbolStringLength = 'Symbol('.length;\x0d\n\x0d\nconst errors = {\x0d\n Error\x2C TypeError\x2C RangeError\x2C URIError\x2C SyntaxError\x2C ReferenceError\x2C EvalError\x2C\x0d\n};\x0d\nconst errorConstructorNames = new SafeSet(ObjectKeys(errors));\x0d\n\x0d\nfunction TryGetAllProperties(object\x2C target = object) {\x0d\n const all = { __proto__: null };\x0d\n if (object === null)\x0d\n return all;\x0d\n ObjectAssign(all\x2C\x0d\n TryGetAllProperties(ObjectGetPrototypeOf(object)\x2C target));\x0d\n const keys = ObjectGetOwnPropertyNames(object);\x0d\n ArrayPrototypeForEach(keys\x2C (key) => {\x0d\n let descriptor;\x0d\n try {\x0d\n // TODO: create a null-prototype descriptor with needed properties only\x0d\n descriptor = ObjectGetOwnPropertyDescriptor(object\x2C key);\x0d\n } catch { return; }\x0d\n const getter = descriptor.get;\x0d\n if (getter && key !== '__proto__') {\x0d\n try {\x0d\n descriptor.value = FunctionPrototypeCall(getter\x2C target);\x0d\n delete descriptor.get;\x0d\n delete descriptor.set;\x0d\n } catch {\x0d\n // Continue regardless of error.\x0d\n }\x0d\n }\x0d\n if (key === 'cause') {\x0d\n descriptor.value = serializeError(descriptor.value);\x0d\n all[key] = descriptor;\x0d\n } else if ('value' in descriptor &&\x0d\n typeof descriptor.value !== 'function' && typeof descriptor.value !== 'symbol') {\x0d\n all[key] = descriptor;\x0d\n }\x0d\n });\x0d\n return all;\x0d\n}\x0d\n\x0d\nfunction GetConstructors(object) {\x0d\n const constructors = [];\x0d\n\x0d\n for (let current = object;\x0d\n current !== null;\x0d\n current = ObjectGetPrototypeOf(current)) {\x0d\n const desc = ObjectGetOwnPropertyDescriptor(current\x2C 'constructor');\x0d\n if (desc && desc.value) {\x0d\n ObjectDefineProperty(constructors\x2C constructors.length\x2C {\x0d\n __proto__: null\x2C\x0d\n value: desc.value\x2C enumerable: true\x2C\x0d\n });\x0d\n }\x0d\n }\x0d\n\x0d\n return constructors;\x0d\n}\x0d\n\x0d\nfunction GetName(object) {\x0d\n const desc = ObjectGetOwnPropertyDescriptor(object\x2C 'name');\x0d\n return desc && desc.value;\x0d\n}\x0d\n\x0d\nlet internalUtilInspect;\x0d\nfunction inspect(...args) {\x0d\n if (!internalUtilInspect) {\x0d\n internalUtilInspect = require('internal/util/inspect');\x0d\n }\x0d\n return internalUtilInspect.inspect(...args);\x0d\n}\x0d\n\x0d\nlet serialize;\x0d\nfunction serializeError(error) {\x0d\n if (!serialize) serialize = require('v8').serialize;\x0d\n if (typeof error === 'symbol') {\x0d\n return Buffer.from(StringFromCharCode(kInspectedSymbol) + inspect(error)\x2C 'utf8');\x0d\n }\x0d\n try {\x0d\n if (typeof error === 'object' &&\x0d\n ObjectPrototypeToString(error) === '[object Error]') {\x0d\n const constructors = GetConstructors(error);\x0d\n for (let i = 0; i < constructors.length; i++) {\x0d\n const name = GetName(constructors[i]);\x0d\n if (errorConstructorNames.has(name)) {\x0d\n const serialized = serialize({\x0d\n constructor: name\x2C\x0d\n properties: TryGetAllProperties(error)\x2C\x0d\n });\x0d\n return Buffer.concat([Buffer.from([kSerializedError])\x2C serialized]);\x0d\n }\x0d\n }\x0d\n }\x0d\n } catch {\x0d\n // Continue regardless of error.\x0d\n }\x0d\n try {\x0d\n if (error != null && customInspectSymbol in error) {\x0d\n return Buffer.from(StringFromCharCode(kCustomInspectedObject) + inspect(error)\x2C 'utf8');\x0d\n }\x0d\n } catch {\x0d\n // Continue regardless of error.\x0d\n }\x0d\n try {\x0d\n const serialized = serialize(error);\x0d\n return Buffer.concat([Buffer.from([kSerializedObject])\x2C serialized]);\x0d\n } catch {\x0d\n // Continue regardless of error.\x0d\n }\x0d\n return Buffer.from(StringFromCharCode(kInspectedError) + inspect(error)\x2C 'utf8');\x0d\n}\x0d\n\x0d\nfunction fromBuffer(error) {\x0d\n return Buffer.from(TypedArrayPrototypeGetBuffer(error)\x2C\x0d\n TypedArrayPrototypeGetByteOffset(error) + 1\x2C\x0d\n TypedArrayPrototypeGetByteLength(error) - 1);\x0d\n}\x0d\n\x0d\nlet deserialize;\x0d\nfunction deserializeError(error) {\x0d\n if (!deserialize) deserialize = require('v8').deserialize;\x0d\n switch (error[0]) {\x0d\n case kSerializedError: {\x0d\n const { constructor\x2C properties } = deserialize(error.subarray(1));\x0d\n const ctor = errors[constructor];\x0d\n ObjectDefineProperty(properties\x2C SymbolToStringTag\x2C {\x0d\n __proto__: null\x2C\x0d\n value: { __proto__: null\x2C value: 'Error'\x2C configurable: true }\x2C\x0d\n enumerable: true\x2C\x0d\n });\x0d\n if ('cause' in properties && 'value' in properties.cause) {\x0d\n properties.cause.value = deserializeError(properties.cause.value);\x0d\n }\x0d\n return ObjectCreate(ctor.prototype\x2C properties);\x0d\n }\x0d\n case kSerializedObject:\x0d\n return deserialize(error.subarray(1));\x0d\n case kInspectedError:\x0d\n return fromBuffer(error).toString('utf8');\x0d\n case kInspectedSymbol: {\x0d\n const buf = fromBuffer(error);\x0d\n return SymbolFor(StringPrototypeSubstring(buf.toString('utf8')\x2C kSymbolStringLength\x2C buf.length - 1));\x0d\n }\x0d\n case kCustomInspectedObject:\x0d\n return {\x0d\n __proto__: null\x2C\x0d\n [customInspectSymbol]: () => fromBuffer(error).toString('utf8')\x2C\x0d\n };\x0d\n }\x0d\n require('assert').fail('This should not happen');\x0d\n}\x0d\n\x0d\nmodule.exports = { serializeError\x2C deserializeError };\x0d\n
code-source-info,0x307efd6b92e,140,0,5914,C0O0C4O5914,,
code-creation,JS,10,12196932,0x307efd6bdfe,448, node:internal/error_serdes:1:1,0x307efd6b8a8,~
code-source-info,0x307efd6bdfe,140,0,5914,C0O0C138O32C144O32C149O49C153O32C155O70C161O96C166O106C171O120C177O146C183O163C189O180C195O205C201O240C207O270C213O295C218O310C224O338C229O353C234O372C239O384C245O407C251O436C257O458C262O474C268O488C273O502C279O535C285O572C291O609C296O691C302O691C307O655C312O665C318O736C319O736C321O766C323O766C325O794C327O794C329O823C331O823C333O858C335O858C337O892C340O902C344O892C346O928C353O933C359O940C365O951C371O963C377O973C383O986C389O1002C395O928C397O1048C400O1060C407O1048C412O1048C414O2818C415O2818C417O3023C418O3023C420O4604C421O4604C423O5858C430O5877C436O5893C442O5873C447O5913,,
new,MemoryChunk,0x15e27c80000,262144
code-creation,JS,11,12197371,0x7ff739bc8f00,960,debuglog node:internal/util/debuglog:76:18,0x39e2db4ff40,^
code-source-info,0x7ff739bc8f00,22,2403,3452,,,
code-creation,JS,11,12197409,0x7ff739bc9300,136,hasHooks node:internal/async_hooks:470:18,0x39e2db451a0,^
code-source-info,0x7ff739bc9300,14,16582,16630,,,
code-creation,JS,11,12197444,0x7ff739bc93c0,44,noop node:internal/util/debuglog:46:14,0x39e2db4fe28,^
code-source-info,0x7ff739bc93c0,22,1449,1457,,,
code-creation,JS,11,12197476,0x7ff739bc9400,108,SafeIterator node:internal/per_context/primordials:332:16,0x14d495b5120,^
code-source-info,0x7ff739bc9400,6,9841,9903,,,
code-creation,JS,11,12197537,0x7ff739bc9480,1596,emitHook node:internal/async_hooks:225:18,0x39e2db44b10,^
code-source-info,0x7ff739bc9480,14,8852,9850,,,
code-creation,JS,11,12197574,0x7ff739bc9b00,116,get node:domain:64:16,0x2d4ae608280,^
code-source-info,0x7ff739bc9b00,127,2284,2317,,,
code-creation,JS,11,12197631,0x7ff739bc9bc0,1788,emitInitNative node:internal/async_hooks:192:24,0x39e2db44ac0,^
code-source-info,0x7ff739bc9bc0,14,7591,8730,,,
code-creation,JS,11,12197664,0x7ff739bca300,156,destroy node:domain:116:10,0x2d4ae608480,^
code-source-info,0x7ff739bca300,127,4194,4255,,,
code-creation,JS,11,12197696,0x7ff739bca3c0,300,lookupPublicResource node:internal/async_hooks:177:30,0x39e2db44a70,^
code-source-info,0x7ff739bca3c0,14,7042,7370,,,
code-creation,JS,11,12197731,0x7ff739bca500,104,isEmpty node:internal/fixed_queue:67:10,0x39e2db67028,^
code-source-info,0x7ff739bca500,37,3150,3197,,,
code-creation,JS,11,12197764,0x7ff739bca580,40, node:internal/per_context/primordials:338:21,0x14d495b5360,^
code-source-info,0x7ff739bca580,6,9982,10013,,,
code-creation,JS,11,12197796,0x7ff739bca5c0,116, node:repl:1596:33,0x307efd5c358,^
code-source-info,0x7ff739bca5c0,115,54454,54480,,,
code-creation,JS,10,12198048,0x307efd6e32e,62,Session node:inspector:47:1,0x307efd5e0d0,~
code-source-info,0x307efd6e32e,135,1031,1031,C0O1031C5O1031C29O1031C61O1031,,
code-creation,JS,10,12198210,0x307efd6ef26,72,connect node:inspector:56:10,0x307efd5e120,~
code-source-info,0x307efd6ef26,135,1247,1437,C0O1247C9O1257C16O1266C21O1286C33O1292C38O1286C39O1359C51O1382C61O1378C66O1376C71O1436,,
code-creation,JS,10,12198481,0x307efd6f16e,61, node:internal/repl/utils:306:26,0x307efd5d098,~
code-source-info,0x307efd6f16e,128,9928,12281,C0O9928C9O9950C12O9958C29O10006C42O10094C54O9958C60O12280,,
code-creation,JS,10,12198631,0x307efd6f46e,189,post node:inspector:108:7,0x307efd5e1c0,~
code-source-info,0x307efd6f46e,135,2747,3417,C0O2781C10O2781C15O2820C25O2876C28O2902C31O2929C35O2950C45O2950C50O2996C54O3019C64O3019C69O3073C71O3083C76O3105C83O3111C88O3105C89O3169C92O3173C101O3181C108O3206C115O3208C121O3212C128O3227C132O3248C134O3263C138O3285C142O3308C144O3313C148O3331C153O3331C159O3362C161O3367C165O3379C174O3388C177O3388C182O3379C188O3416,,
tick,0x7ff7b94c3190,12200305,1,0x7ff7b8e132f0,6,0x7ff7b99b2970,0x307efd6f524,0x307efd6f1a4,0x307efd5d492,0x307efd5d243,0x22fbeda0508,0x307efd57ae2,0x307efd5762d,0x39e2db51f0a,0x22fbed8b16b,0x22fbed93930,0x7ff7b9a5ab51,0x307efd5603d,0x39e2db51f0a,0x22fbed8b16b,0x307efd55bc1,0x2d4ae60fedc,0x2d4ae60fb3d,0x2d4ae60f579,0x22fbedb593e
code-creation,JS,10,12202512,0x307efd6f9a6,24, node:inspector:59:39,0x307efd6ee68,~
code-source-info,0x307efd6f9a6,135,1393,1430,C0O1421C7O1411C18O1421C23O1430,,
code-creation,JS,10,12202720,0x307efd6fb7e,193,#onMessage node:inspector:77:13,0x307efd5e080,~
code-source-info,0x307efd6fb7e,135,1893,2539,C0O1925C7O1925C15O1974C21O2006C23O2011C27O2029C32O2040C37O2029C43O2054C45O2059C49O2077C54O2091C59O2083C64O2105C68O2143C74O2165C78O2201C81O2230C86O2236C91O2249C96O2255C103O2197C109O2172C113O2280C114O2307C116O2329C121O2307C128O2379C133O2391C138O2379C144O2422C152O2422C171O2500C176O2508C184O2508C192O2538,,
code-creation,JS,10,12203108,0x307efd7040e,315, node:internal/repl/utils:312:10,0x307efd6f048,~
code-source-info,0x307efd7040e,128,10121,12272,C0O10152C4O10176C9O10176C13O10204C14O10211C15O10240C20O10280C26O10314C37O10329C40O10344C49O10351C52O10329C58O10314C65O10590C71O10638C78O10648C83O10695C90O10705C95O10894C102O10904C111O10951C125O10970C131O11008C140O11008C147O11057C153O11382C165O11413C170O11420C181O11450C187O11477C192O11502C196O11534C207O11558C210O11382C216O11586C219O11594C237O11821C251O11870C259O11904C268O11905C283O11594C290O12194C297O12216C303O12246C308O12194C314O12271,,
code-creation,JS,10,12203445,0x307efd708ee,606,inputPreviewCallback node:internal/repl/utils:392:34,0x22fbeda0338,~
code-source-info,0x307efd708ee,128,13070,15139,C0O13101C5O13135C6O13142C7O13161C13O13169C21O13262C28O13271C33O13297C34O13304C35O13323C39O13345C49O13345C54O13402C55O13409C56O13524C58O13538C68O13575C79O13593C85O13622C86O13629C87O13648C91O13661C99O13876C111O13889C121O13876C127O14028C131O14035C137O14039C146O14067C149O14067C156O14093C161O14118C169O14142C183O14134C190O14181C193O14213C202O14213C225O14205C255O14205C258O14261C262O14275C266O14275C277O14308C278O14323C283O14341C285O14359C287O14366C294O14194C361O14392C372O14570C382O14570C388O14618C390O14635C395O14654C410O14669C418O14754C423O14759C434O14793C451O14832C456O14888C461O14888C465O14862C470O14873C475O14936C480O14953C484O14941C488O14966C500O14982C510O14966C515O15007C520O15012C525O15019C535O15030C540O15019C545O15048C557O15062C562O15080C567O15048C572O15094C584O15110C593O15121C595O15127C599O15094C605O15138,,
code-creation,JS,10,12203681,0x307efd70d7e,215,disconnect node:inspector:141:13,0x307efd5e210,~
code-source-info,0x307efd70d7e,135,3579,3942,C0O3589C2O3599C7O3619C8O3626C9O3632C11O3637C15O3649C20O3649C24O3668C28O3685C32O3725C34O3730C38O3748C43O3748C48O3786C65O3774C93O3774C96O3815C101O3823C110O3846C113O3842C119O3823C125O3763C189O3883C191O3888C195O3906C200O3906C204O3920C209O3933C214O3941,,
code-creation,JS,10,12203995,0x307efd710b6,77,maybeReadMore node:internal/streams/readable:855:23,0x77b20ec708,~
code-source-info,0x307efd710b6,97,27450,27640,C0O27471C2O27482C4O27481C10O27493C15O27508C17O27506C20O27490C26O27527C28O27523C33O27548C35O27554C44O27565C49O27562C53O27584C56O27592C70O27592C76O27639,,
code-creation,JS,10,12204189,0x307efd71356,46,canPushMore node:internal/streams/readable:540:21,0x77b20ec4d8,~
code-source-info,0x307efd71356,97,16737,17053,C0O16945C2O16959C4O16958C10O16969C12O16967C17O16977C22O16998C27O17013C31O17005C36O17036C42O17043C45O17050,,
code-creation,JS,10,12204389,0x307efd714de,145,maybeReadMore_ node:internal/streams/readable:862:24,0x77b20ec758,~
code-source-info,0x307efd714de,97,27667,29508,C0O29163C2O29126C4O29125C10O29137C15O29148C17O29146C20O29134C25O29157C30O29183C35O29198C39O29190C46O29234C48O29233C54O29244C56O29242C61O29254C66O29269C72O29276C77O29310C82O29323C90O29323C94O29366C101O29366C106O29398C110O29388C115O29459C117O29112C121O29474C123O29480C132O29492C134O29491C139O29488C144O29507,,
tick,0x7ffcc6290394,12215526,0,0x0,8
tick,0x7ffcc6290394,12230931,0,0x0,8
tick,0x7ffcc6290394,12246849,0,0x0,8
tick,0x7ffcc6290394,12262116,0,0x0,8
tick,0x7ffcc6290394,12278278,0,0x0,8
tick,0x7ffcc6290394,12294316,0,0x0,8
tick,0x7ffcc6290394,12310540,0,0x0,8
tick,0x7ffcc6290394,12326183,0,0x0,8
tick,0x7ffcc6290394,12341852,0,0x0,8
tick,0x7ffcc6290394,12357666,0,0x0,8
tick,0x7ffcc6290394,12373381,0,0x0,8
tick,0x7ffcc6290394,12388453,0,0x0,8
tick,0x7ffcc6290394,12403978,0,0x0,8
tick,0x7ffcc6290394,12419724,0,0x0,8
tick,0x7ffcc6290394,12435320,0,0x0,8
tick,0x7ffcc6290394,12450413,0,0x0,8
tick,0x7ffcc6290394,12465917,0,0x0,8
tick,0x7ffcc6290394,12480757,0,0x0,8
tick,0x7ffcc6290394,12496675,0,0x0,8
tick,0x7ffcc6290394,12511824,0,0x0,8
tick,0x7ffcc6290394,12528182,0,0x0,8
tick,0x7ffcc6290394,12543771,0,0x0,8
tick,0x7ffcc6290394,12559455,0,0x0,8
tick,0x7ffcc6290394,12575557,0,0x0,8
tick,0x7ffcc6290394,12590753,0,0x0,8
tick,0x7ffcc6290394,12606454,0,0x0,8
tick,0x7ffcc6290394,12621836,0,0x0,8
tick,0x7ffcc6290394,12637371,0,0x0,8
tick,0x7ffcc6290394,12653125,0,0x0,8
tick,0x7ffcc6290394,12668978,0,0x0,8
tick,0x7ffcc6290394,12684061,0,0x0,8
tick,0x7ffcc6290394,12699720,0,0x0,8
tick,0x7ffcc6290394,12715537,0,0x0,8
tick,0x7ffcc6290394,12731599,0,0x0,8
tick,0x7ffcc6290394,12746808,0,0x0,8
tick,0x7ffcc6290394,12762755,0,0x0,8
tick,0x7ffcc6290394,12777191,0,0x0,8
tick,0x7ffcc6290394,12792478,0,0x0,8
tick,0x7ffcc6290394,12808269,0,0x0,8
tick,0x7ffcc6290394,12822991,0,0x0,8
tick,0x7ffcc6290394,12838726,0,0x0,8
tick,0x7ffcc6290394,12853770,0,0x0,8
tick,0x7ffcc6290394,12869835,0,0x0,8
tick,0x7ffcc6290394,12886101,0,0x0,8
tick,0x7ffcc6290394,12901282,0,0x0,8
tick,0x7ffcc6290394,12916906,0,0x0,8
tick,0x7ffcc6290394,12932863,0,0x0,8
tick,0x7ffcc6290394,12948698,0,0x0,8
tick,0x7ffcc6290394,12963866,0,0x0,8
tick,0x7ffcc6290394,12979189,0,0x0,8
tick,0x7ffcc6290394,12995219,0,0x0,8
tick,0x7ffcc6290394,13010703,0,0x0,8
tick,0x7ffcc6290394,13026677,0,0x0,8
tick,0x7ffcc6290394,13042510,0,0x0,8
tick,0x7ffcc6290394,13058375,0,0x0,8
tick,0x7ffcc6290394,13074052,0,0x0,8
tick,0x7ffcc6290394,13089908,0,0x0,8
tick,0x7ffcc6290394,13105090,0,0x0,8
tick,0x7ffcc6290394,13120822,0,0x0,8
code-creation,RegExp,3,13134193,0x7ff739bca680,824,^[0-9A-Za-z]$
code-creation,RegExp,3,13134513,0x7ff739bcaa00,1232,\\r?\\n|\\r(?!\\n)
code-creation,RegExp,3,13135278,0x7ff739bcaf00,1140,^\\s*\\.(\\w*)$
code-creation,JS,10,13135523,0x307efd71aa6,43, node:repl:1573:47,0x307efd5bfa0,~
code-source-info,0x307efd71aa6,115,53555,54019,C0O53599C7O53620C12O53599C18O53923C24O53944C33O53963C36O53944C42O54018,,
code-creation,JS,10,13135624,0x307efd71bf6,30, node:repl:1574:59,0x307efd719e8,~
code-source-info,0x307efd71bf6,115,53627,53893,C0O53753C11O53800C14O53800C21O53852C24O53760C29O53882,,
code-creation,JS,10,13135846,0x307efd71d6e,102,getPreviewPos node:internal/repl/utils:160:25,0x22fbed9d038,~
code-source-info,0x307efd71d6e,128,4936,5170,C0O4965C3O4970C11O4993C16O4993C25O5012C34O4970C40O5044C43O5049C48O5054C56O5070C60O5061C68O5091C73O5091C82O5132C89O5141C95O5153C101O5165,,
code-creation,JS,10,13135994,0x307efd71ede,8,getPrompt node:internal/readline/interface:367:12,0x22fbedbd430,~
code-source-info,0x307efd71ede,123,10430,10466,C0O10440C2O10452C4O10451C7O10461,,
tick,0x7ffcc628d644,13136674,1,0x7ff7b8e3fdc0,6,0x7ff7b99b2970,0x37fd75ee582,0x37fd75ed893,0x37fd75ed5a2,0x37fd75ed261,0x37fd75ece64,0x37fd75eca2b,0x37fd75ec696,0x307efd5caa1,0x307efd5c219,0x307efd5ba8b,0x307efd5a9e1,0x307efd5a826,0x22fbeda04b2,0x307efd57ae2,0x307efd5762d,0x39e2db51f0a,0x22fbed8b16b,0x22fbed938fa,0x7ff7b9a5ab51,0x307efd5603d,0x39e2db51f0a,0x22fbed8b16b,0x307efd55bc1,0x2d4ae60fedc,0x2d4ae60fb3d,0x2d4ae60f579,0x22fbedb593e
code-creation,JS,11,13142356,0x7ff739bcb3c0,2284, node:internal/readline/interface:982:19,0x22fbedbdee0,^
code-source-info,0x7ff739bcb3c0,123,28568,29523,,,
code-creation,JS,11,13142476,0x7ff739bcbcc0,160,<instance_members_initializer> node:internal/util:840:1,0x39e2db49ce8,^
code-source-info,0x7ff739bcbcc0,16,24039,24613,,,
code-creation,JS,11,13142529,0x7ff739bcbd80,316,SafeWeakRef node:internal/per_context/primordials:447:16,0x14d495b6450,^
code-source-info,0x7ff739bcbd80,6,13411,13438,,,
code-creation,JS,11,13142587,0x7ff739bcbf00,264,WeakReference node:internal/util:844:14,0x39e2db49b40,^
code-source-info,0x7ff739bcbf00,16,24129,24187,,,
code-creation,JS,11,13142653,0x7ff739bcc040,1000,getStringWidth node:internal/util/inspect:2330:43,0x39e2db4f8f0,^
code-source-info,0x7ff739bcc040,21,80723,81308,,,
code-creation,JS,11,13142701,0x7ff739bcc440,272, node:internal/validators:160:40,0x39e2db45d68,^
code-source-info,0x7ff739bcc440,15,4522,4637,,,
code-creation,JS,11,13142752,0x7ff739bcc580,548,CSI node:internal/readline/utils:19:13,0x37fd75e1098,^
code-source-info,0x7ff739bcc580,121,415,605,,,
code-creation,JS,11,13142822,0x7ff739bcc7c0,316,createWriteWrap node:internal/stream_base_commons:110:25,0x15f256b0c58,^
code-source-info,0x7ff739bcc7c0,107,2882,3107,,,
code-creation,JS,11,13142885,0x7ff739bcc940,312,writeGeneric node:internal/stream_base_commons:148:22,0x15f256953a8,^
code-source-info,0x7ff739bcc940,107,3798,3988,,,
code-creation,JS,11,13142934,0x7ff739bccac0,148,Socket._write node:net:965:35,0x77b20c9dc0,^
code-source-info,0x7ff739bccac0,86,26186,26261,,,
code-creation,JS,10,13143266,0x307efd72b66,191,moveCursor node:internal/readline/callbacks:61:20,0x37fd75e0bb8,~
code-source-info,0x307efd72b66,120,1289,1807,C0O1321C4O1356C12O1356C17O1406C24O1430C28O1436C30O1448C36O1484C39O1492C46O1492C52O1523C53O1535C54O1557C57O1566C58O1573C63O1585C65O1593C68O1596C74O1599C77O1596C91O1617C92O1624C97O1636C99O1644C102O1647C106O1647C118O1667C119O1674C124O1686C126O1694C129O1697C135O1700C138O1697C152O1718C153O1725C158O1737C160O1745C163O1748C167O1748C179O1782C184O1782C190O1804,,
code-creation,JS,10,13143479,0x307efd72d76,44,isCursorAtInputEnd node:internal/repl/utils:168:30,0x22fbed9d088,~
code-source-info,0x307efd72d76,128,5203,5366,C0O5247C3O5247C7O5221C12O5232C17O5286C22O5306C26O5291C31O5336C36O5356C40O5341C43O5361,,
tick,0x7ffcc6290394,13152662,0,0x0,8
tick,0x7ffcc6290394,13167945,0,0x0,8
tick,0x7ffcc6290394,13183504,0,0x0,8
tick,0x7ffcc6290394,13199305,0,0x0,8
tick,0x7ffcc6290394,13215285,0,0x0,8
tick,0x7ffcc6290394,13230436,0,0x0,8
tick,0x7ffcc6290394,13245992,0,0x0,8
tick,0x7ffcc6290394,13261075,0,0x0,8
tick,0x7ffcc6290394,13277072,0,0x0,8
tick,0x7ffcc6290394,13293052,0,0x0,8
tick,0x7ffcc6290394,13308801,0,0x0,8
tick,0x7ffcc6290394,13324171,0,0x0,8
tick,0x7ffcc6290394,13339921,0,0x0,8
tick,0x7ffcc6290394,13354888,0,0x0,8
tick,0x7ffcc6290394,13370179,0,0x0,8
tick,0x7ffcc6290394,13385876,0,0x0,8
tick,0x7ffcc6290394,13400597,0,0x0,8
code-creation,RegExp,3,13413035,0x7ff739bccb80,800,^[A-Z]$
code-creation,JS,10,13413344,0x307efd7348e,90,clearLine node:internal/readline/callbacks:95:19,0x37fd75e0c08,~
code-source-info,0x307efd7348e,120,1981,2379,C0O2010C4O2045C12O2045C17O2095C25O2147C31O2183C34O2191C41O2191C47O2222C48O2234C49O2263C50O2267C57O2273C62O2301C69O2307C75O2325C78O2354C83O2354C89O2376,,
tick,0x7ffcc628d644,13416418,1,0x7ff7b8e3fdc0,6,0x7ff7b99b2970,0x37fd75ee582,0x7ff739bcca19,0x37fd75ed5a2,0x7ff739bccb3b,0x37fd75ece64,0x37fd75eca2b,0x37fd75ec696,0x22fbeda0221,0x307efd59d1a,0x307efd594bf,0x307efd57acc,0x307efd5762d,0x39e2db51f0a,0x22fbed8b16b,0x22fbed938fa,0x7ff7b9a5ab51,0x307efd5603d,0x39e2db51f0a,0x22fbed8b16b,0x307efd55bc1,0x2d4ae60fedc,0x2d4ae60fb3d,0x2d4ae60f579,0x22fbedb593e
code-creation,JS,11,13420361,0x7ff739bccec0,828,afterWriteDispatched node:internal/stream_base_commons:156:30,0x15f25695298,^
code-source-info,0x7ff739bccec0,107,4021,4309,,,
code-creation,JS,11,13420467,0x7ff739bcd240,324,stripVTControlCharacters node:internal/util/inspect:2417:34,0x39e2db4f978,^
code-source-info,0x7ff739bcd240,21,83862,83960,,,
code-creation,JS,11,13420510,0x7ff739bcd3c0,112,isEmpty node:internal/fixed_queue:95:10,0x39e2db672d8,^
code-source-info,0x7ff739bcd3c0,37,3731,3773,,,
code-creation,JS,11,13420560,0x7ff739bcd440,212,newAsyncId node:internal/async_hooks:417:20,0x39e2db45010,^
code-source-info,0x7ff739bcd440,14,14984,15037,,,
code-creation,JS,11,13420623,0x7ff739bcd540,1368,callbackTrampoline node:internal/async_hooks:118:28,0x39e2db44930,^
code-source-info,0x7ff739bcd540,14,5308,5850,,,
code-creation,JS,11,13420679,0x7ff739bcdac0,468,_unrefTimer node:net:507:52,0x23c5197fce8,^
code-source-info,0x7ff739bcdac0,86,14585,14700,,,
code-creation,JS,11,13420723,0x7ff739bcdcc0,256,get columns node:internal/readline/interface:349:14,0x22fbedbd3c0,^
code-source-info,0x7ff739bcdcc0,123,10048,10152,,,
code-creation,JS,11,13420769,0x7ff739bcde00,304,Writable.write node:internal/streams/writable:502:36,0x244535bc408,^
code-source-info,0x7ff739bcde00,102,15903,16093,,,
code-creation,JS,11,13420855,0x7ff739bcdf40,308, node:repl:1574:59,0x307efd719e8,^
code-source-info,0x7ff739bcdf40,115,53627,53893,,,
code-creation,JS,11,13420898,0x7ff739bce0c0,444, node:repl:1598:36,0x307efd5c3a8,^
code-source-info,0x7ff739bce0c0,115,54558,54715,,,
code-creation,JS,11,13420940,0x7ff739bce2c0,532,set node:internal/streams/writable:260:8,0x244535bc090,^
code-source-info,0x7ff739bce2c0,102,8598,8766,,,
tick,0x7ffcc6290394,13431911,0,0x0,8
tick,0x7ffcc6290394,13447906,0,0x0,8
tick,0x7ffcc6290394,13463715,0,0x0,8
tick,0x7ffcc6290394,13479408,0,0x0,8
tick,0x7ffcc6290394,13495386,0,0x0,8
tick,0x7ffcc6290394,13510899,0,0x0,8
tick,0x7ffcc6290394,13527093,0,0x0,8
tick,0x7ffcc6290394,13542578,0,0x0,8
tick,0x7ffcc6290394,13558542,0,0x0,8
tick,0x7ffcc6290394,13573795,0,0x0,8
tick,0x7ffcc6290394,13589098,0,0x0,8
tick,0x7ffcc6290394,13604571,0,0x0,8
tick,0x7ffcc6290394,13619897,0,0x0,8
tick,0x7ffcc6290394,13635076,0,0x0,8
tick,0x7ffcc6290394,13651200,0,0x0,8
tick,0x7ffcc6290394,13666950,0,0x0,8
tick,0x7ffcc6290394,13682941,0,0x0,8
tick,0x7ffcc6290394,13698838,0,0x0,8
tick,0x7ffcc6290394,13714367,0,0x0,8
tick,0x7ffcc6290394,13730491,0,0x0,8
tick,0x7ffcc6290394,13746454,0,0x0,8
tick,0x7ffcc6290394,13762360,0,0x0,8
tick,0x7ffcc6290394,13777995,0,0x0,8
tick,0x7ffcc6290394,13794021,0,0x0,8
tick,0x7ffcc6290394,13809962,0,0x0,8
tick,0x7ffcc6290394,13825715,0,0x0,8
tick,0x7ffcc628d644,13841407,1,0x7ff7b8e3fdc0,6,0x7ff7b99b2970,0x37fd75ee582,0x7ff739bcca19,0x37fd75ed5a2,0x7ff739bccb3b,0x37fd75ece64,0x37fd75eca2b,0x7ff739bcdefc,0x22fbeda0221,0x307efd59d1a,0x307efd594bf,0x307efd57acc,0x307efd5762d,0x39e2db51f0a,0x22fbed8b16b,0x22fbed938fa,0x7ff7b9a5ab51,0x307efd5603d,0x39e2db51f0a,0x22fbed8b16b,0x307efd55bc1,0x2d4ae60fedc,0x2d4ae60fb3d,0x2d4ae60f579,0x7ff739bcd914
code-creation,JS,11,13845741,0x7ff739bce500,3764,writeOrBuffer node:internal/streams/writable:546:23,0x244535bba40,^
code-source-info,0x7ff739bce500,102,17106,18325,,,
code-creation,JS,11,13845863,0x7ff739bcf400,136, node:internal/per_context/primordials:387:32,0x14d495b5c00,^
code-source-info,0x7ff739bcf400,6,11633,11694,,,
code-creation,JS,11,13845929,0x7ff739bcf4c0,248,setHasTickScheduled node:internal/process/task_queues:51:29,0x39e2db655d8,^
code-source-info,0x7ff739bcf4c0,35,1137,1197,,,
code-creation,JS,11,13846034,0x7ff739bcf600,328,before node:domain:97:9,0x2d4ae6083e0,^
code-source-info,0x7ff739bcf600,127,3475,3961,,,
code-creation,JS,11,13846106,0x7ff739bcf780,328,after node:domain:108:8,0x2d4ae608430,^
code-source-info,0x7ff739bcf780,127,3971,4182,,,
code-creation,JS,11,13846160,0x7ff739bcf900,388,shift node:internal/fixed_queue:80:8,0x39e2db67118,^
code-source-info,0x7ff739bcf900,37,3379,3596,,,
code-creation,JS,11,13846223,0x7ff739bcfac0,324,shift node:internal/fixed_queue:108:8,0x39e2db67378,^
code-source-info,0x7ff739bcfac0,37,4061,4320,,,
code-creation,JS,11,13846270,0x7ff739bcfc40,56,get node:readline:334:8,0x37fd75dfe80,^
code-source-info,0x7ff739bcfc40,119,8315,8361,,,
code-creation,JS,11,13846358,0x7ff739bcfcc0,388,getCursorPos node:internal/readline/interface:1023:15,0x22fbedbdf18,^
code-source-info,0x7ff739bcfcc0,123,29722,29883,,,
code-creation,JS,11,13846411,0x7ff739bcfe80,108,getPrompt node:internal/readline/interface:367:12,0x22fbedbd430,^
code-source-info,0x7ff739bcfe80,123,10430,10466,,,
tick,0x7ffcc6290394,13857387,0,0x0,8
tick,0x7ffcc6290394,13872746,0,0x0,8
tick,0x7ffcc6290394,13888275,0,0x0,8
tick,0x7ffcc6290394,13903884,0,0x0,8
tick,0x7ffcc6290394,13919437,0,0x0,8
tick,0x7ffcc6290394,13935296,0,0x0,8
tick,0x7ffcc6290394,13950907,0,0x0,8
tick,0x7ffcc6290394,13966382,0,0x0,8
tick,0x7ffcc6290394,13982199,0,0x0,8
tick,0x7ffcc6290394,13997740,0,0x0,8
tick,0x7ffcc6290394,14013291,0,0x0,8
tick,0x7ffcc6290394,14029422,0,0x0,8
tick,0x7ffcc6290394,14044834,0,0x0,8
tick,0x7ffcc6290394,14060700,0,0x0,8
tick,0x7ffcc6290394,14076375,0,0x0,8
tick,0x7ffcc6290394,14092254,0,0x0,8
tick,0x7ffcc628d644,14107447,0,0x0,8
code-creation,JS,11,14108554,0x7ff739bcff00,3188,_write node:internal/streams/writable:451:16,0x244535bba08,^
code-source-info,0x7ff739bcff00,102,14432,15864,,,
code-creation,JS,11,14108645,0x7ff739bd0bc0,144,initHooksExist node:internal/async_hooks:478:24,0x39e2db45240,^
code-source-info,0x7ff739bd0bc0,14,16722,16756,,,
code-creation,JS,11,14108729,0x7ff739bd0c80,1540,pushAsyncContext node:internal/async_hooks:539:26,0x39e2db45510,^
code-source-info,0x7ff739bd0c80,14,18097,18652,,,
code-creation,JS,11,14108786,0x7ff739bd12c0,336,emitBeforeScript node:internal/async_hooks:509:26,0x39e2db453d0,^
code-source-info,0x7ff739bd12c0,14,17423,17579,,,
code-creation,JS,11,14108842,0x7ff739bd1440,144,destroyHooksExist node:internal/async_hooks:486:27,0x39e2db452e0,^
code-source-info,0x7ff739bd1440,14,16849,16886,,,
code-creation,JS,11,14108895,0x7ff739bd1500,144,enabledHooksExist node:internal/async_hooks:474:27,0x39e2db451f0,^
code-source-info,0x7ff739bd1500,14,16660,16695,,,
code-creation,JS,11,14108970,0x7ff739bd15c0,1424,popAsyncContext node:internal/async_hooks:553:25,0x39e2db45560,^
code-source-info,0x7ff739bd15c0,14,18745,19347,,,
tick,0x7ffcc6290394,14123251,0,0x0,8
tick,0x7ffcc6290394,14138974,0,0x0,8
tick,0x7ffcc6290394,14154784,0,0x0,8
tick,0x7ffcc6290394,14170527,0,0x0,8
tick,0x7ffcc6290394,14186383,0,0x0,8
tick,0x7ffcc6290394,14202194,0,0x0,8
tick,0x7ffcc6290394,14217616,0,0x0,8
tick,0x7ffcc6290394,14233555,0,0x0,8
tick,0x7ffcc6290394,14249191,0,0x0,8
tick,0x7ffcc6290394,14264848,0,0x0,8
tick,0x7ffcc6290394,14280254,0,0x0,8
tick,0x7ffcc6290394,14295477,0,0x0,8
tick,0x7ffcc6290394,14310398,0,0x0,8
tick,0x7ffcc6290394,14326240,0,0x0,8
tick,0x7ffcc6290394,14342038,0,0x0,8
tick,0x7ffcc6290394,14356833,0,0x0,8
tick,0x7ffcc6290394,14371988,0,0x0,8
tick,0x7ffcc6290394,14387067,0,0x0,8
tick,0x7ffcc6290394,14402143,0,0x0,8
tick,0x7ffcc6290394,14417574,0,0x0,8
tick,0x7ffcc6290394,14432777,0,0x0,8
tick,0x7ffcc6290394,14448226,0,0x0,8
tick,0x7ffcc6290394,14464217,0,0x0,8
tick,0x7ffcc6290394,14479672,0,0x0,8
tick,0x7ffcc6290394,14495469,0,0x0,8
tick,0x7ffcc6290394,14510391,0,0x0,8
tick,0x7ffcc6290394,14525968,0,0x0,8
tick,0x7ffcc6290394,14541519,0,0x0,8
tick,0x7ffcc6290394,14557230,0,0x0,8
tick,0x7ffcc6290394,14571924,0,0x0,8
tick,0x7ffcc6290394,14587607,0,0x0,8
tick,0x7ffcc6290394,14603126,0,0x0,8
code-creation,JS,10,14615820,0x307efd76c76,5,get node:readline:316:8,0x37fd75dfd90,~
code-source-info,0x307efd76c76,119,8011,8048,C0O8035C4O8041,,
code-creation,JS,10,14616030,0x307efd76d6e,59, node:internal/readline/interface:883:10,0x22fbedbdd00,~
code-source-info,0x307efd76d6e,123,25635,25788,C0O25658C2O25663C4O25662C8O25675C13O25684C15O25689C20O25701C24O25712C26O25717C31O25729C35O25745C40O25745C44O25763C46O25768C48O25767C52O25776C58O25787,,
code-creation,JS,10,14616168,0x307efd76ea6,5,get node:readline:238:8,0x37fd75df998,~
code-source-info,0x307efd76ea6,119,6662,6705,C0O6686C4O6698,,
code-creation,JS,10,14616305,0x307efd76ff6,247, node:internal/readline/interface:441:16,0x22fbedbd668,~
code-source-info,0x307efd76ff6,123,12164,13363,C0O12183C5O12188C11O12195C16O12202C18O12212C19O12285C25O12297C30O12316C34O12321C35O12387C40O12416C45O12391C50O12421C56O12429C61O12448C65O12453C66O12470C71O12478C77O12485C82O12499C88O12506C92O12519C96O12510C101O12543C107O12658C112O12685C117O12699C122O12658C128O12715C130O12728C135O12736C140O12762C151O12736C156O12803C161O12830C166O12844C171O12803C176O12898C181O12906C186O12920C190O12913C195O12942C200O12965C205O12942C209O12989C211O13007C215O13227C221O13234C225O13308C233O13329C238O13308C244O13346C246O13358,,
code-creation,JS,10,14616460,0x307efd7726e,30,repl.clearLine node:internal/repl/utils:504:20,0x22fbed9d428,~
code-source-info,0x307efd7726e,128,17099,17212,C0O17112C4O17136C10O17150C15O17150C18O17176C22O17200C29O17211,,
code-creation,JS,10,14616520,0x307efd773a6,53,clearLine node:internal/readline/interface:875:12,0x22fbedbdcb0,~
code-source-info,0x307efd773a6,123,25476,25622,C0O25486C2O25491C4O25490C8O25505C11O25504C14O25503C19O25521C21O25526C23O25525C30O25541C35O25556C37O25566C41O25577C42O25589C46O25599C47O25613C52O25621,,
code-creation,JS,10,14616573,0x307efd774d6,5,get node:readline:340:8,0x37fd75dfeb8,~
code-source-info,0x307efd774d6,119,8419,8462,C0O8443C4O8455,,
code-creation,JS,10,14616646,0x307efd775f6,77,repl._moveCursor node:internal/repl/utils:490:22,0x22fbed9d398,~
code-source-info,0x307efd775f6,128,16526,16842,C0O16563C3O16568C8O16581C13O16581C17O16610C19O16628C26O16640C31O16645C35O16633C43O16676C53O16713C57O16769C59O16782C65O16809C70O16782C76O16841,,
code-creation,JS,10,14616739,0x307efd777a6,155, node:internal/readline/interface:1031:16,0x22fbedbdf50,~
code-source-info,0x307efd777a6,123,30019,30586,C0O30031C1O30038C6O30054C7O30061C8O30094C13O30094C18O30115C25O30130C28O30127C32O30171C38O30178C43O30192C44O30204C50O30230C55O30244C60O30249C64O30237C69O30285C74O30290C78O30278C82O30332C87O30332C92O30410C97O30426C101O30415C106O30466C111O30480C115O30471C119O30493C124O30509C134O30493C141O30553C143O30558C145O30557C149O30571C154O30585,,
tick,0x7ffcc628d644,14618522,1,0x7ff7b8e3fdc0,6,0x7ff7b99b2970,0x37fd75ee582,0x7ff739bcca19,0x37fd75ed5a2,0x7ff739bccb3b,0x7ff739bcf086,0x7ff739bd0b61,0x7ff739bcdefc,0x22fbeda0221,0x307efd773c4,0x307efd7727d,0x307efd76d96,0x307efd591e6,0x307efd57acc,0x307efd5762d,0x39e2db51f0a,0x22fbed8b16b,0x22fbed938fa,0x7ff7b9a5ab51,0x307efd5603d,0x39e2db51f0a,0x22fbed8b16b,0x307efd55bc1,0x2d4ae60fedc,0x2d4ae60fb3d,0x2d4ae60f579,0x7ff739bcd914
code-creation,JS,10,14619858,0x307efd77ebe,5,get node:readline:226:8,0x37fd75df910,~
code-source-info,0x307efd77ebe,119,6458,6497,C0O6482C4O6490,,
code-creation,JS,10,14619964,0x307efd77fb6,67, node:internal/readline/interface:410:12,0x22fbedbd540,~
code-source-info,0x307efd77fb6,123,11419,11661,C0O11433C2O11442C4O11441C9O11482C11O11487C13O11486C17O11514C19O11519C23O11538C27O11558C34O11573C36O11572C40O11558C45O11594C51O11630C59O11630C66O11660,,
code-creation,JS,10,14620295,0x307efd783d6,566,onLine node:repl:880:34,0x2d4ae63ccd0,~
code-source-info,0x307efd783d6,115,30082,33420,C0O30082C14O30095C27O30095C32O30123C38O30127C40O30145C46O30155C54O30171C61O30180C67O30201C78O30206C90O30237C96O30230C100O30295C107O30300C117O30317C124O30322C126O30321C135O30349C147O30349C156O30397C158O30436C159O30443C163O30457C170O30462C175O30462C180O30486C189O30496C193O30515C200O30536C204O30527C208O30560C224O30582C236O30589C240O30560C245O30603C246O30610C247O30718C257O30718C262O30860C264O30885C273O30889C281O30926C290O30948C296O30948C304O30985C313O31007C320O31019C323O31019C328O31007C334O31077C347O31077C353O31158C357O31176C361O31203C367O31221C371O31235C387O31271C399O31278C408O31287C412O31239C423O31317C424O31324C425O31345C436O31355C438O31354C443O31393C450O31398C455O31405C463O31405C468O31449C470O31449C474O31474C475O31481C476O31532C487O31537C489O31536C495O31561C501O31567C505O31582C515O31582C520O31614C527O31619C536O31633C539O31638C549O31647C559O31619C565O33419,,
code-creation,JS,10,14620541,0x307efd787fe,10, node:repl:142:64,0x37fd75f54c8,~
code-source-info,0x307efd787fe,115,4561,4588,C0O4574C2O4580C9O4587,,
code-creation,JS,10,14620692,0x307efd7890e,50,_parseREPLKeyword node:repl:828:29,0x2d4ae63c640,~
code-source-info,0x307efd7890e,115,28847,29019,C0O28887C7O28895C11O28911C13O28929C20O28946C34O28961C41O28929C46O28976C47O28988C48O29001C49O29014,,
code-creation,JS,10,14620812,0x307efd78c0e,133,action node:repl:1770:21,0x22fbed9a168,~
code-source-info,0x307efd78c0e,115,59637,60280,C0O59637C12O59663C23O59682C29O59698C34O59682C39O59663C44O59743C55O59766C58O59784C63O59766C69O59743C73O59743C75O59832C82O59854C87O59832C92O60139C95O60144C100O60151C110O60204C114O60151C119O60252C122O60257C127O60257C132O60279,,
code-creation,JS,10,14620912,0x307efd78df6,5, node:repl:1773:34,0x307efd78ab8,~
code-source-info,0x307efd78df6,115,59791,59812,C0O59806C4O59812,,
code-creation,JS,10,14620996,0x307efd78f1e,104, node:repl:1775:36,0x307efd78b08,~
code-source-info,0x307efd78f1e,115,59861,60129,C0O59894C3O59899C10O59907C14O59950C26O59977C29O60002C33O59995C36O60009C40O59950C46O60037C51O60041C56O60052C62O60072C66O60066C84O60096C87O60101C92O60108C97O60108C103O60128,,
code-creation,JS,11,14628435,0x7ff739bd1b80,5732,onwrite node:internal/streams/writable:613:17,0x244535bbb18,^
code-source-info,0x7ff739bd1b80,102,19199,21865,,,
code-creation,JS,11,14628568,0x7ff739bd3200,1592,Socket._writeGeneric node:net:923:42,0x77b20c9c78,^
code-source-info,0x7ff739bd3200,86,25103,26041,,,
code-creation,JS,11,14628613,0x7ff739bd3880,204,get node:internal/bootstrap/node:100:8,0x39e2db426a8,^
code-source-info,0x7ff739bd3880,12,3932,3981,,,
code-creation,JS,11,14628659,0x7ff739bd3980,372,getDefaultTriggerAsyncId node:internal/async_hooks:433:34,0x39e2db450b0,^
code-source-info,0x7ff739bd3980,14,15459,15722,,,
code-creation,JS,11,14628752,0x7ff739bd3b40,200,isFull node:internal/fixed_queue:71:9,0x39e2db67078,^
code-source-info,0x7ff739bd3b40,37,3209,3272,,,
code-creation,JS,11,14628781,0x7ff739bd3c40,268,push node:internal/fixed_queue:75:7,0x39e2db670c8,^
code-source-info,0x7ff739bd3c40,37,3282,3368,,,
code-creation,JS,11,14628813,0x7ff739bd3d80,352,emitDestroyScript node:internal/async_hooks:525:27,0x39e2db45470,^
code-source-info,0x7ff739bd3d80,14,17742,17931,,,
code-creation,JS,11,14628849,0x7ff739bd3f00,304,emitAfterScript node:internal/async_hooks:517:25,0x39e2db45420,^
code-source-info,0x7ff739bd3f00,14,17609,17710,,,
code-creation,JS,11,14628879,0x7ff739bd4040,340,FastBuffer node:internal/buffer:960:14,0x39e2db5b128,^
code-source-info,0x7ff739bd4040,26,27335,27426,,,
tick,0x7ff7b95ffb7f,14634591,0,0x0,3,0x7ff7b9533060,0x39e2db51f4f,0x22fbed8b16b,0x307efd77ff1,0x307efd76da2,0x307efd591e6,0x307efd57acc,0x307efd5762d,0x39e2db51f0a,0x22fbed8b16b,0x22fbed938fa,0x7ff7b9a5ab51,0x307efd5603d,0x39e2db51f0a,0x22fbed8b16b,0x307efd55bc1,0x2d4ae60fedc,0x2d4ae60fb3d,0x2d4ae60f579,0x7ff739bcd914
code-creation,JS,10,14634679,0x307efd79bd6,63,online node:internal/repl/history:127:18,0x22fbeda0aa8,~
code-source-info,0x307efd79bd6,129,3402,3559,C0O3416C4O3431C8O3446C14O3466C23O3479C26O3466C30O3501C44O3534C47O3509C55O3507C62O3558,,
code-creation,JS,10,14634868,0x307efd79e4e,221,setTimeout node:timers:138:20,0x39e2db68a10,~
code-source-info,0x307efd79e4e,39,4227,4893,C0O4227C2O4268C10O4268C15O4317C17O4320C19O4347C54O4409C56O4436C65O4444C74O4458C76O4485C85O4493C94O4499C103O4513C105O4541C114O4549C123O4555C132O4561C139O4580C142O4601C146O4589C151O4702C153O4709C159O4725C162O4714C166O4610C171O4575C175O4746C177O4779C197O4779C203O4831C208O4855C213O4831C218O4875C220O4890,,
code-creation,JS,10,14635112,0x307efd7a276,180,Timeout node:internal/timers:170:14,0x39e2db43548,~
script-source,13,node:internal/timers,'use strict';\x0d\n\x0d\n// HOW and WHY the timers implementation works the way it does.\x0d\n//\x0d\n// Timers are crucial to Node.js. Internally\x2C any TCP I/O connection creates a\x0d\n// timer so that we can time out of connections. Additionally\x2C many user\x0d\n// libraries and applications also use timers. As such there may be a\x0d\n// significantly large amount of timeouts scheduled at any given time.\x0d\n// Therefore\x2C it is very important that the timers implementation is performant\x0d\n// and efficient.\x0d\n//\x0d\n// Note: It is suggested you first read through the lib/internal/linkedlist.js\x0d\n// linked list implementation\x2C since timers depend on it extensively. It can be\x0d\n// somewhat counter-intuitive at first\x2C as it is not actually a class. Instead\x2C\x0d\n// it is a set of helpers that operate on an existing object.\x0d\n//\x0d\n// In order to be as performant as possible\x2C the architecture and data\x0d\n// structures are designed so that they are optimized to handle the following\x0d\n// use cases as efficiently as possible:\x0d\n\x0d\n// - Adding a new timer. (insert)\x0d\n// - Removing an existing timer. (remove)\x0d\n// - Handling a timer timing out. (timeout)\x0d\n//\x0d\n// Whenever possible\x2C the implementation tries to make the complexity of these\x0d\n// operations as close to constant-time as possible.\x0d\n// (So that performance is not impacted by the number of scheduled timers.)\x0d\n//\x0d\n// Object maps are kept which contain linked lists keyed by their duration in\x0d\n// milliseconds.\x0d\n//\x0d\n/* eslint-disable node-core/non-ascii-character */\x0d\n//\x0d\n// \u2554\u2550\u2550\u2550\u2550 > Object Map\x0d\n// \u2551\x0d\n// \u2560\u2550\u2550\x0d\n// \u2551 lists: { '40': { }\x2C '320': { etc } } (keys of millisecond duration)\x0d\n// \u255a\u2550\u2550 \u250c\u2500\u2500\u2500\u2500\u2518\x0d\n// \u2502\x0d\n// \u2554\u2550\u2550 \u2502\x0d\n// \u2551 TimersList { _idleNext: { }\x2C _idlePrev: (self) }\x0d\n// \u2551 \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\x0d\n// \u2551 \u2554\u2550\u2550 \u2502 ^\x0d\n// \u2551 \u2551 { _idleNext: { }\x2C _idlePrev: { }\x2C _onTimeout: (callback) }\x0d\n// \u2551 \u2551 \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\x0d\n// \u2551 \u2551 \u2502 ^\x0d\n// \u2551 \u2551 { _idleNext: { etc }\x2C _idlePrev: { }\x2C _onTimeout: (callback) }\x0d\n// \u2560\u2550\u2550 \u2560\u2550\u2550\x0d\n// \u2551 \u2551\x0d\n// \u2551 \u255a\u2550\u2550\u2550\u2550 > Actual JavaScript timeouts\x0d\n// \u2551\x0d\n// \u255a\u2550\u2550\u2550\u2550 > Linked List\x0d\n//\x0d\n/* eslint-enable node-core/non-ascii-character */\x0d\n//\x0d\n// With this\x2C virtually constant-time insertion (append)\x2C removal\x2C and timeout\x0d\n// is possible in the JavaScript layer. Any one list of timers is able to be\x0d\n// sorted by just appending to it because all timers within share the same\x0d\n// duration. Therefore\x2C any timer added later will always have been scheduled to\x0d\n// timeout later\x2C thus only needing to be appended.\x0d\n// Removal from an object-property linked list is also virtually constant-time\x0d\n// as can be seen in the lib/internal/linkedlist.js implementation.\x0d\n// Timeouts only need to process any timers currently due to expire\x2C which will\x0d\n// always be at the beginning of the list for reasons stated above. Any timers\x0d\n// after the first one encountered that does not yet need to timeout will also\x0d\n// always be due to timeout at a later time.\x0d\n//\x0d\n// Less-than constant time operations are thus contained in two places:\x0d\n// The PriorityQueue \u2014 an efficient binary heap implementation that does all\x0d\n// operations in worst-case O(log n) time \u2014 which manages the order of expiring\x0d\n// Timeout lists and the object map lookup of a specific list by the duration of\x0d\n// timers within (or creation of a new list). However\x2C these operations combined\x0d\n// have shown to be trivial in comparison to other timers architectures.\x0d\n\x0d\nconst {\x0d\n MathMax\x2C\x0d\n MathTrunc\x2C\x0d\n NumberIsFinite\x2C\x0d\n NumberMIN_SAFE_INTEGER\x2C\x0d\n ReflectApply\x2C\x0d\n Symbol\x2C\x0d\n} = primordials;\x0d\n\x0d\nconst binding = internalBinding('timers');\x0d\nconst {\x0d\n immediateInfo\x2C\x0d\n timeoutInfo\x2C\x0d\n} = binding;\x0d\n\x0d\nconst {\x0d\n getDefaultTriggerAsyncId\x2C\x0d\n newAsyncId\x2C\x0d\n initHooksExist\x2C\x0d\n destroyHooksExist\x2C\x0d\n // The needed emit*() functions.\x0d\n emitInit\x2C\x0d\n emitBefore\x2C\x0d\n emitAfter\x2C\x0d\n emitDestroy\x2C\x0d\n} = require('internal/async_hooks');\x0d\n\x0d\n// Symbols for storing async id state.\x0d\nconst async_id_symbol = Symbol('asyncId');\x0d\nconst trigger_async_id_symbol = Symbol('triggerId');\x0d\n\x0d\nconst kHasPrimitive = Symbol('kHasPrimitive');\x0d\n\x0d\nconst {\x0d\n ERR_OUT_OF_RANGE\x2C\x0d\n} = require('internal/errors').codes;\x0d\nconst {\x0d\n validateFunction\x2C\x0d\n validateNumber\x2C\x0d\n} = require('internal/validators');\x0d\n\x0d\nconst L = require('internal/linkedlist');\x0d\nconst PriorityQueue = require('internal/priority_queue');\x0d\n\x0d\nconst { inspect } = require('internal/util/inspect');\x0d\nlet debug = require('internal/util/debuglog').debuglog('timer'\x2C (fn) => {\x0d\n debug = fn;\x0d\n});\x0d\n\x0d\n// *Must* match Environment::ImmediateInfo::Fields in src/env.h.\x0d\nconst kCount = 0;\x0d\nconst kRefCount = 1;\x0d\nconst kHasOutstanding = 2;\x0d\n\x0d\n// Timeout values > TIMEOUT_MAX are set to 1.\x0d\nconst TIMEOUT_MAX = 2 ** 31 - 1;\x0d\n\x0d\nlet timerListId = NumberMIN_SAFE_INTEGER;\x0d\n\x0d\nconst kRefed = Symbol('refed');\x0d\n\x0d\nlet nextExpiry = Infinity;\x0d\n// timeoutInfo is an Int32Array that contains the reference count of Timeout\x0d\n// objects at index 0. This is a TypedArray so that GetActiveResourcesInfo() in\x0d\n// `src/node_process_methods.cc` is able to access this value without crossing\x0d\n// the JS-C++ boundary\x2C which is slow at the time of writing.\x0d\ntimeoutInfo[0] = 0;\x0d\n\x0d\n// This is a priority queue with a custom sorting function that first compares\x0d\n// the expiry times of two lists and if they're the same then compares their\x0d\n// individual IDs to determine which list was created first.\x0d\nconst timerListQueue = new PriorityQueue(compareTimersLists\x2C setPosition);\x0d\n\x0d\n// Object map containing linked lists of timers\x2C keyed and sorted by their\x0d\n// duration in milliseconds.\x0d\n//\x0d\n// - key = time in milliseconds\x0d\n// - value = linked list\x0d\nconst timerListMap = { __proto__: null };\x0d\n\x0d\n// This stores all the known timer async ids to allow users to clearTimeout and\x0d\n// clearInterval using those ids\x2C to match the spec and the rest of the web\x0d\n// platform.\x0d\nconst knownTimersById = { __proto__: null };\x0d\n\x0d\nfunction initAsyncResource(resource\x2C type) {\x0d\n const asyncId = resource[async_id_symbol] = newAsyncId();\x0d\n const triggerAsyncId =\x0d\n resource[trigger_async_id_symbol] = getDefaultTriggerAsyncId();\x0d\n if (initHooksExist())\x0d\n emitInit(asyncId\x2C type\x2C triggerAsyncId\x2C resource);\x0d\n}\x0d\nclass Timeout {\x0d\n // Timer constructor function.\x0d\n // The entire prototype is defined in lib/timers.js\x0d\n constructor(callback\x2C after\x2C args\x2C isRepeat\x2C isRefed) {\x0d\n after *= 1; // Coalesce to number or NaN\x0d\n if (!(after >= 1 && after <= TIMEOUT_MAX)) {\x0d\n if (after > TIMEOUT_MAX) {\x0d\n process.emitWarning(`${after} does not fit into` +\x0d\n ' a 32-bit signed integer.' +\x0d\n '\\nTimeout duration was set to 1.'\x2C\x0d\n 'TimeoutOverflowWarning');\x0d\n }\x0d\n after = 1; // Schedule on next tick\x2C follows browser behavior\x0d\n }\x0d\n\x0d\n this._idleTimeout = after;\x0d\n this._idlePrev = this;\x0d\n this._idleNext = this;\x0d\n this._idleStart = null;\x0d\n // This must be set to null first to avoid function tracking\x0d\n // on the hidden class\x2C revisit in V8 versions after 6.2\x0d\n this._onTimeout = null;\x0d\n this._onTimeout = callback;\x0d\n this._timerArgs = args;\x0d\n this._repeat = isRepeat ? after : null;\x0d\n this._destroyed = false;\x0d\n\x0d\n if (isRefed)\x0d\n incRefCount();\x0d\n this[kRefed] = isRefed;\x0d\n this[kHasPrimitive] = false;\x0d\n\x0d\n initAsyncResource(this\x2C 'Timeout');\x0d\n }\x0d\n\x0d\n // Make sure the linked list only shows the minimal necessary information.\x0d\n [inspect.custom](_\x2C options) {\x0d\n return inspect(this\x2C {\x0d\n ...options\x2C\x0d\n // Only inspect one level.\x0d\n depth: 0\x2C\x0d\n // It should not recurse.\x0d\n customInspect: false\x2C\x0d\n });\x0d\n }\x0d\n\x0d\n refresh() {\x0d\n if (this[kRefed])\x0d\n active(this);\x0d\n else\x0d\n unrefActive(this);\x0d\n\x0d\n return this;\x0d\n }\x0d\n\x0d\n unref() {\x0d\n if (this[kRefed]) {\x0d\n this[kRefed] = false;\x0d\n if (!this._destroyed)\x0d\n decRefCount();\x0d\n }\x0d\n return this;\x0d\n }\x0d\n\x0d\n ref() {\x0d\n if (!this[kRefed]) {\x0d\n this[kRefed] = true;\x0d\n if (!this._destroyed)\x0d\n incRefCount();\x0d\n }\x0d\n return this;\x0d\n }\x0d\n\x0d\n hasRef() {\x0d\n return this[kRefed];\x0d\n }\x0d\n}\x0d\n\x0d\nclass TimersList {\x0d\n constructor(expiry\x2C msecs) {\x0d\n this._idleNext = this; // Create the list with the linkedlist properties to\x0d\n this._idlePrev = this; // Prevent any unnecessary hidden class changes.\x0d\n this.expiry = expiry;\x0d\n this.id = timerListId++;\x0d\n this.msecs = msecs;\x0d\n this.priorityQueuePosition = null;\x0d\n }\x0d\n\x0d\n // Make sure the linked list only shows the minimal necessary information.\x0d\n [inspect.custom](_\x2C options) {\x0d\n return inspect(this\x2C {\x0d\n ...options\x2C\x0d\n // Only inspect one level.\x0d\n depth: 0\x2C\x0d\n // It should not recurse.\x0d\n customInspect: false\x2C\x0d\n });\x0d\n }\x0d\n}\x0d\n\x0d\n// A linked list for storing `setImmediate()` requests\x0d\nclass ImmediateList {\x0d\n constructor() {\x0d\n this.head = null;\x0d\n this.tail = null;\x0d\n }\x0d\n\x0d\n // Appends an item to the end of the linked list\x2C adjusting the current tail's\x0d\n // next pointer and the item's previous pointer where applicable\x0d\n append(item) {\x0d\n if (this.tail !== null) {\x0d\n this.tail._idleNext = item;\x0d\n item._idlePrev = this.tail;\x0d\n } else {\x0d\n this.head = item;\x0d\n }\x0d\n this.tail = item;\x0d\n }\x0d\n\x0d\n // Removes an item from the linked list\x2C adjusting the pointers of adjacent\x0d\n // items and the linked list's head or tail pointers as necessary\x0d\n remove(item) {\x0d\n if (item._idleNext) {\x0d\n item._idleNext._idlePrev = item._idlePrev;\x0d\n }\x0d\n\x0d\n if (item._idlePrev) {\x0d\n item._idlePrev._idleNext = item._idleNext;\x0d\n }\x0d\n\x0d\n if (item === this.head)\x0d\n this.head = item._idleNext;\x0d\n if (item === this.tail)\x0d\n this.tail = item._idlePrev;\x0d\n\x0d\n item._idleNext = null;\x0d\n item._idlePrev = null;\x0d\n }\x0d\n}\x0d\n\x0d\n// Create a single linked list instance only once at startup\x0d\nconst immediateQueue = new ImmediateList();\x0d\n\x0d\nfunction incRefCount() {\x0d\n if (timeoutInfo[0]++ === 0) {\x0d\n // We need to use the binding as the receiver for fast API calls.\x0d\n binding.toggleTimerRef(true);\x0d\n }\x0d\n}\x0d\n\x0d\nfunction decRefCount() {\x0d\n if (--timeoutInfo[0] === 0) {\x0d\n // We need to use the binding as the receiver for fast API calls.\x0d\n binding.toggleTimerRef(false);\x0d\n }\x0d\n}\x0d\n\x0d\n// Schedule or re-schedule a timer.\x0d\n// The item must have been enroll()'d first.\x0d\nfunction active(item) {\x0d\n insertGuarded(item\x2C true);\x0d\n}\x0d\n\x0d\n// Internal APIs that need timeouts should use `unrefActive()` instead of\x0d\n// `active()` so that they do not unnecessarily keep the process open.\x0d\nfunction unrefActive(item) {\x0d\n insertGuarded(item\x2C false);\x0d\n}\x0d\n\x0d\n// The underlying logic for scheduling or re-scheduling a timer.\x0d\n//\x0d\n// Appends a timer onto the end of an existing timers list\x2C or creates a new\x0d\n// list if one does not already exist for the specified timeout duration.\x0d\nfunction insertGuarded(item\x2C refed\x2C start) {\x0d\n const msecs = item._idleTimeout;\x0d\n if (msecs < 0 || msecs === undefined)\x0d\n return;\x0d\n\x0d\n insert(item\x2C msecs\x2C start);\x0d\n\x0d\n const isDestroyed = item._destroyed;\x0d\n if (isDestroyed || !item[async_id_symbol]) {\x0d\n item._destroyed = false;\x0d\n initAsyncResource(item\x2C 'Timeout');\x0d\n }\x0d\n\x0d\n if (isDestroyed) {\x0d\n if (refed)\x0d\n incRefCount();\x0d\n } else if (refed === !item[kRefed]) {\x0d\n if (refed)\x0d\n incRefCount();\x0d\n else\x0d\n decRefCount();\x0d\n }\x0d\n item[kRefed] = refed;\x0d\n}\x0d\n\x0d\n// We need to use the binding as the receiver for fast API calls.\x0d\nfunction insert(item\x2C msecs\x2C start = binding.getLibuvNow()) {\x0d\n // Truncate so that accuracy of sub-millisecond timers is not assumed.\x0d\n msecs = MathTrunc(msecs);\x0d\n item._idleStart = start;\x0d\n\x0d\n // Use an existing list if there is one\x2C otherwise we need to make a new one.\x0d\n let list = timerListMap[msecs];\x0d\n if (list === undefined) {\x0d\n debug('no %d list was found in insert\x2C creating a new one'\x2C msecs);\x0d\n const expiry = start + msecs;\x0d\n timerListMap[msecs] = list = new TimersList(expiry\x2C msecs);\x0d\n timerListQueue.insert(list);\x0d\n\x0d\n if (nextExpiry > expiry) {\x0d\n // We need to use the binding as the receiver for fast API calls.\x0d\n binding.scheduleTimer(msecs);\x0d\n nextExpiry = expiry;\x0d\n }\x0d\n }\x0d\n\x0d\n L.append(list\x2C item);\x0d\n}\x0d\n\x0d\nfunction setUnrefTimeout(callback\x2C after) {\x0d\n // Type checking identical to setTimeout()\x0d\n validateFunction(callback\x2C 'callback');\x0d\n\x0d\n const timer = new Timeout(callback\x2C after\x2C undefined\x2C false\x2C false);\x0d\n insert(timer\x2C timer._idleTimeout);\x0d\n\x0d\n return timer;\x0d\n}\x0d\n\x0d\n// Type checking used by timers.enroll() and Socket#setTimeout()\x0d\nfunction getTimerDuration(msecs\x2C name) {\x0d\n validateNumber(msecs\x2C name);\x0d\n if (msecs < 0 || !NumberIsFinite(msecs)) {\x0d\n throw new ERR_OUT_OF_RANGE(name\x2C 'a non-negative finite number'\x2C msecs);\x0d\n }\x0d\n\x0d\n // Ensure that msecs fits into signed int32\x0d\n if (msecs > TIMEOUT_MAX) {\x0d\n process.emitWarning(`${msecs} does not fit into a 32-bit signed integer.` +\x0d\n `\\nTimer duration was truncated to ${TIMEOUT_MAX}.`\x2C\x0d\n 'TimeoutOverflowWarning');\x0d\n return TIMEOUT_MAX;\x0d\n }\x0d\n\x0d\n return msecs;\x0d\n}\x0d\n\x0d\nfunction compareTimersLists(a\x2C b) {\x0d\n const expiryDiff = a.expiry - b.expiry;\x0d\n if (expiryDiff === 0) {\x0d\n if (a.id < b.id)\x0d\n return -1;\x0d\n if (a.id > b.id)\x0d\n return 1;\x0d\n }\x0d\n return expiryDiff;\x0d\n}\x0d\n\x0d\nfunction setPosition(node\x2C pos) {\x0d\n node.priorityQueuePosition = pos;\x0d\n}\x0d\n\x0d\nfunction getTimerCallbacks(runNextTicks) {\x0d\n // If an uncaught exception was thrown during execution of immediateQueue\x2C\x0d\n // this queue will store all remaining Immediates that need to run upon\x0d\n // resolution of all error handling (if process is still alive).\x0d\n const outstandingQueue = new ImmediateList();\x0d\n\x0d\n function processImmediate() {\x0d\n const queue = outstandingQueue.head !== null ?\x0d\n outstandingQueue : immediateQueue;\x0d\n let immediate = queue.head;\x0d\n\x0d\n // Clear the linked list early in case new `setImmediate()`\x0d\n // calls occur while immediate callbacks are executed\x0d\n if (queue !== outstandingQueue) {\x0d\n queue.head = queue.tail = null;\x0d\n immediateInfo[kHasOutstanding] = 1;\x0d\n }\x0d\n\x0d\n let prevImmediate;\x0d\n let ranAtLeastOneImmediate = false;\x0d\n while (immediate !== null) {\x0d\n if (ranAtLeastOneImmediate)\x0d\n runNextTicks();\x0d\n else\x0d\n ranAtLeastOneImmediate = true;\x0d\n\x0d\n // It's possible for this current Immediate to be cleared while executing\x0d\n // the next tick queue above\x2C which means we need to use the previous\x0d\n // Immediate's _idleNext which is guaranteed to not have been cleared.\x0d\n if (immediate._destroyed) {\x0d\n outstandingQueue.head = immediate = prevImmediate._idleNext;\x0d\n continue;\x0d\n }\x0d\n\x0d\n // TODO(RaisinTen): Destroy and unref the Immediate after _onImmediate()\x0d\n // gets executed\x2C just like how Timeouts work.\x0d\n immediate._destroyed = true;\x0d\n\x0d\n immediateInfo[kCount]--;\x0d\n if (immediate[kRefed])\x0d\n immediateInfo[kRefCount]--;\x0d\n immediate[kRefed] = null;\x0d\n\x0d\n prevImmediate = immediate;\x0d\n\x0d\n const asyncId = immediate[async_id_symbol];\x0d\n emitBefore(asyncId\x2C immediate[trigger_async_id_symbol]\x2C immediate);\x0d\n\x0d\n try {\x0d\n const argv = immediate._argv;\x0d\n if (!argv)\x0d\n immediate._onImmediate();\x0d\n else\x0d\n immediate._onImmediate(...argv);\x0d\n } finally {\x0d\n immediate._onImmediate = null;\x0d\n\x0d\n if (destroyHooksExist())\x0d\n emitDestroy(asyncId);\x0d\n\x0d\n outstandingQueue.head = immediate = immediate._idleNext;\x0d\n }\x0d\n\x0d\n emitAfter(asyncId);\x0d\n }\x0d\n\x0d\n if (queue === outstandingQueue)\x0d\n outstandingQueue.head = null;\x0d\n immediateInfo[kHasOutstanding] = 0;\x0d\n }\x0d\n\x0d\n\x0d\n function processTimers(now) {\x0d\n debug('process timer lists %d'\x2C now);\x0d\n nextExpiry = Infinity;\x0d\n\x0d\n let list;\x0d\n let ranAtLeastOneList = false;\x0d\n while ((list = timerListQueue.peek()) != null) {\x0d\n if (list.expiry > now) {\x0d\n nextExpiry = list.expiry;\x0d\n return timeoutInfo[0] > 0 ? nextExpiry : -nextExpiry;\x0d\n }\x0d\n if (ranAtLeastOneList)\x0d\n runNextTicks();\x0d\n else\x0d\n ranAtLeastOneList = true;\x0d\n listOnTimeout(list\x2C now);\x0d\n }\x0d\n return 0;\x0d\n }\x0d\n\x0d\n function listOnTimeout(list\x2C now) {\x0d\n const msecs = list.msecs;\x0d\n\x0d\n debug('timeout callback %d'\x2C msecs);\x0d\n\x0d\n let ranAtLeastOneTimer = false;\x0d\n let timer;\x0d\n while ((timer = L.peek(list)) != null) {\x0d\n const diff = now - timer._idleStart;\x0d\n\x0d\n // Check if this loop iteration is too early for the next timer.\x0d\n // This happens if there are more timers scheduled for later in the list.\x0d\n if (diff < msecs) {\x0d\n list.expiry = MathMax(timer._idleStart + msecs\x2C now + 1);\x0d\n list.id = timerListId++;\x0d\n timerListQueue.percolateDown(1);\x0d\n debug('%d list wait because diff is %d'\x2C msecs\x2C diff);\x0d\n return;\x0d\n }\x0d\n\x0d\n if (ranAtLeastOneTimer)\x0d\n runNextTicks();\x0d\n else\x0d\n ranAtLeastOneTimer = true;\x0d\n\x0d\n // The actual logic for when a timeout happens.\x0d\n L.remove(timer);\x0d\n\x0d\n const asyncId = timer[async_id_symbol];\x0d\n\x0d\n if (!timer._onTimeout) {\x0d\n if (!timer._destroyed) {\x0d\n timer._destroyed = true;\x0d\n\x0d\n if (timer[kHasPrimitive])\x0d\n delete knownTimersById[asyncId];\x0d\n\x0d\n if (timer[kRefed])\x0d\n timeoutInfo[0]--;\x0d\n\x0d\n if (destroyHooksExist())\x0d\n emitDestroy(asyncId);\x0d\n }\x0d\n continue;\x0d\n }\x0d\n\x0d\n emitBefore(asyncId\x2C timer[trigger_async_id_symbol]\x2C timer);\x0d\n\x0d\n let start;\x0d\n if (timer._repeat) {\x0d\n // We need to use the binding as the receiver for fast API calls.\x0d\n start = binding.getLibuvNow();\x0d\n }\x0d\n\x0d\n try {\x0d\n const args = timer._timerArgs;\x0d\n if (args === undefined)\x0d\n timer._onTimeout();\x0d\n else\x0d\n ReflectApply(timer._onTimeout\x2C timer\x2C args);\x0d\n } finally {\x0d\n if (timer._repeat && timer._idleTimeout !== -1) {\x0d\n timer._idleTimeout = timer._repeat;\x0d\n insert(timer\x2C timer._idleTimeout\x2C start);\x0d\n } else if (!timer._idleNext && !timer._idlePrev && !timer._destroyed) {\x0d\n timer._destroyed = true;\x0d\n\x0d\n if (timer[kHasPrimitive])\x0d\n delete knownTimersById[asyncId];\x0d\n\x0d\n if (timer[kRefed])\x0d\n timeoutInfo[0]--;\x0d\n\x0d\n if (destroyHooksExist())\x0d\n emitDestroy(asyncId);\x0d\n }\x0d\n }\x0d\n\x0d\n emitAfter(asyncId);\x0d\n }\x0d\n\x0d\n // If `L.peek(list)` returned nothing\x2C the list was either empty or we have\x0d\n // called all of the timer timeouts.\x0d\n // As such\x2C we can remove the list from the object map and\x0d\n // the PriorityQueue.\x0d\n debug('%d list empty'\x2C msecs);\x0d\n\x0d\n // The current list may have been removed and recreated since the reference\x0d\n // to `list` was created. Make sure they're the same instance of the list\x0d\n // before destroying.\x0d\n if (list === timerListMap[msecs]) {\x0d\n delete timerListMap[msecs];\x0d\n timerListQueue.shift();\x0d\n }\x0d\n }\x0d\n\x0d\n return {\x0d\n processImmediate\x2C\x0d\n processTimers\x2C\x0d\n };\x0d\n}\x0d\n\x0d\nclass Immediate {\x0d\n constructor(callback\x2C args) {\x0d\n this._idleNext = null;\x0d\n this._idlePrev = null;\x0d\n this._onImmediate = callback;\x0d\n this._argv = args;\x0d\n this._destroyed = false;\x0d\n this[kRefed] = false;\x0d\n\x0d\n initAsyncResource(this\x2C 'Immediate');\x0d\n\x0d\n this.ref();\x0d\n immediateInfo[kCount]++;\x0d\n\x0d\n immediateQueue.append(this);\x0d\n }\x0d\n\x0d\n ref() {\x0d\n if (this[kRefed] === false) {\x0d\n this[kRefed] = true;\x0d\n\x0d\n if (immediateInfo[kRefCount]++ === 0) {\x0d\n // We need to use the binding as the receiver for fast API calls.\x0d\n binding.toggleImmediateRef(true);\x0d\n }\x0d\n }\x0d\n return this;\x0d\n }\x0d\n\x0d\n unref() {\x0d\n if (this[kRefed] === true) {\x0d\n this[kRefed] = false;\x0d\n if (--immediateInfo[kRefCount] === 0) {\x0d\n // We need to use the binding as the receiver for fast API calls.\x0d\n binding.toggleImmediateRef(false);\x0d\n }\x0d\n }\x0d\n return this;\x0d\n }\x0d\n\x0d\n hasRef() {\x0d\n return !!this[kRefed];\x0d\n }\x0d\n}\x0d\n\x0d\nmodule.exports = {\x0d\n TIMEOUT_MAX\x2C\x0d\n kTimeout: Symbol('timeout')\x2C // For hiding Timeouts on other internals.\x0d\n async_id_symbol\x2C\x0d\n trigger_async_id_symbol\x2C\x0d\n Timeout\x2C\x0d\n Immediate\x2C\x0d\n kRefed\x2C\x0d\n kHasPrimitive\x2C\x0d\n initAsyncResource\x2C\x0d\n setUnrefTimeout\x2C\x0d\n getTimerDuration\x2C\x0d\n immediateQueue\x2C\x0d\n getTimerCallbacks\x2C\x0d\n immediateInfoFields: {\x0d\n kCount\x2C\x0d\n kRefCount\x2C\x0d\n kHasOutstanding\x2C\x0d\n }\x2C\x0d\n active\x2C\x0d\n unrefActive\x2C\x0d\n insert\x2C\x0d\n timerListMap\x2C\x0d\n timerListQueue\x2C\x0d\n decRefCount\x2C\x0d\n incRefCount\x2C\x0d\n knownTimersById\x2C\x0d\n};\x0d\n
code-source-info,0x307efd7a276,13,6327,7392,C0O6377C7O6423C9O6435C16O6452C18O6449C23O6475C25O6487C27O6485C32O6511C35O6519C42O6534C52O6560C58O6619C65O6519C71O6758C75O6834C77O6852C81O6866C83O6881C87O6894C89O6909C93O6922C94O6938C98O7079C99O7095C103O7108C105O7124C109O7141C111O7157C115O7170C120O7185C127O7183C131O7215C132O7231C136O7247C140O7267C143O7267C146O7287C148O7292C153O7300C157O7316C159O7321C163O7336C167O7352C173O7352C179O7391,,
code-creation,JS,10,14636693,0x307efd7bd8e,45,incRefCount node:internal/timers:310:21,0x39e2db43990,~
code-source-info,0x307efd7bd8e,13,9947,10098,C0O9955C16O9973C21O9976C26O10061C31O10069C38O10069C44O10097,,
code-creation,JS,10,14636798,0x307efd7bf56,76,initAsyncResource node:internal/timers:160:27,0x39e2db434f8,~
code-source-info,0x307efd7bf56,13,5948,6206,C0O5986C2O5995C7O6014C10O6014C14O6012C21O6059C23O6068C28O6095C31O6095C35O6093C42O6126C47O6130C52O6153C69O6153C75O6205,,
code-creation,JS,10,14636950,0x307efd7c2a6,173,insert node:internal/timers:366:16,0x39e2db43b20,~
code-source-info,0x307efd7c2a6,13,11482,12227,C12O11504C15O11512C20O11512C29O11606C34O11614C39O11635C41O11651C45O11757C52O11769C56O11781C58O11812C66O11812C71O11900C73O11906C77O11920C84O11953C95O11949C101O11940C105O11985C110O12000C115O12000C120O12021C127O12036C132O12128C137O12136C142O12136C147O12165C149O12176C155O12203C160O12205C165O12205C172O12226,,
code-creation,JS,10,14637065,0x307efd7c496,10, node:internal/timers:120:65,0x39e2db43180,~
code-source-info,0x307efd7c496,13,4504,4531,C0O4517C2O4523C9O4530,,
code-creation,JS,10,14637118,0x307efd7c5b6,55,TimersList node:internal/timers:246:14,0x39e2db43728,~
code-source-info,0x307efd7c5b6,13,8191,8493,C0O8214C2O8229C6O8295C8O8310C12O8372C14O8384C18O8399C30O8420C38O8407C42O8429C44O8440C48O8454C49O8481C54O8492,,
code-creation,JS,10,14637247,0x307efd7c98e,63,insert node:internal/priority_queue:26:9,0x39e2db4b330,~
script-source,20,node:internal/priority_queue,'use strict';\x0d\n\x0d\nconst {\x0d\n Array\x2C\x0d\n} = primordials;\x0d\n\x0d\n// The PriorityQueue is a basic implementation of a binary heap that accepts\x0d\n// a custom sorting function via its constructor. This function is passed\x0d\n// the two nodes to compare\x2C similar to the native Array#sort. Crucially\x0d\n// this enables priority queues that are based on a comparison of more than\x0d\n// just a single criteria.\x0d\n\x0d\nmodule.exports = class PriorityQueue {\x0d\n #compare = (a\x2C b) => a - b;\x0d\n #heap = new Array(64);\x0d\n #setPosition;\x0d\n #size = 0;\x0d\n\x0d\n constructor(comparator\x2C setPosition) {\x0d\n if (comparator !== undefined)\x0d\n this.#compare = comparator;\x0d\n if (setPosition !== undefined)\x0d\n this.#setPosition = setPosition;\x0d\n }\x0d\n\x0d\n insert(value) {\x0d\n const heap = this.#heap;\x0d\n const pos = ++this.#size;\x0d\n heap[pos] = value;\x0d\n\x0d\n if (heap.length === pos)\x0d\n heap.length *= 2;\x0d\n\x0d\n this.percolateUp(pos);\x0d\n }\x0d\n\x0d\n peek() {\x0d\n return this.#heap[1];\x0d\n }\x0d\n\x0d\n peekBottom() {\x0d\n return this.#heap[this.#size];\x0d\n }\x0d\n\x0d\n percolateDown(pos) {\x0d\n const compare = this.#compare;\x0d\n const setPosition = this.#setPosition;\x0d\n const heap = this.#heap;\x0d\n const size = this.#size;\x0d\n const item = heap[pos];\x0d\n\x0d\n while (pos * 2 <= size) {\x0d\n let childIndex = pos * 2 + 1;\x0d\n if (childIndex > size || compare(heap[pos * 2]\x2C heap[childIndex]) < 0)\x0d\n childIndex = pos * 2;\x0d\n const child = heap[childIndex];\x0d\n if (compare(item\x2C child) <= 0)\x0d\n break;\x0d\n if (setPosition !== undefined)\x0d\n setPosition(child\x2C pos);\x0d\n heap[pos] = child;\x0d\n pos = childIndex;\x0d\n }\x0d\n heap[pos] = item;\x0d\n if (setPosition !== undefined)\x0d\n setPosition(item\x2C pos);\x0d\n }\x0d\n\x0d\n percolateUp(pos) {\x0d\n const heap = this.#heap;\x0d\n const compare = this.#compare;\x0d\n const setPosition = this.#setPosition;\x0d\n const item = heap[pos];\x0d\n\x0d\n while (pos > 1) {\x0d\n const parent = heap[pos / 2 | 0];\x0d\n if (compare(parent\x2C item) <= 0)\x0d\n break;\x0d\n heap[pos] = parent;\x0d\n if (setPosition !== undefined)\x0d\n setPosition(parent\x2C pos);\x0d\n pos = pos / 2 | 0;\x0d\n }\x0d\n heap[pos] = item;\x0d\n if (setPosition !== undefined)\x0d\n setPosition(item\x2C pos);\x0d\n }\x0d\n\x0d\n removeAt(pos) {\x0d\n const heap = this.#heap;\x0d\n const size = --this.#size;\x0d\n heap[pos] = heap[size + 1];\x0d\n heap[size + 1] = undefined;\x0d\n\x0d\n if (size > 0 && pos <= size) {\x0d\n if (pos > 1 && this.#compare(heap[pos / 2 | 0]\x2C heap[pos]) > 0)\x0d\n this.percolateUp(pos);\x0d\n else\x0d\n this.percolateDown(pos);\x0d\n }\x0d\n }\x0d\n\x0d\n shift() {\x0d\n const heap = this.#heap;\x0d\n const value = heap[1];\x0d\n if (value === undefined)\x0d\n return;\x0d\n\x0d\n this.removeAt(1);\x0d\n\x0d\n return value;\x0d\n }\x0d\n};\x0d\n
code-source-info,0x307efd7c98e,20,723,909,C0O751C2O756C6O780C9O786C15O787C22O799C24O809C28O834C35O841C40O857C47O869C51O887C56O887C62O908,,
code-creation,JS,10,14637522,0x307efd7ce46,103,percolateUp node:internal/priority_queue:69:14,0x39e2db4b470,~
code-source-info,0x307efd7ce46,20,1725,2220,C0O1751C2O1756C6O1784C8O1789C12O1824C14O1829C18O1861C20O1865C24O1890C26O1890C31O1919C33O1928C36O1932C39O1923C43O1949C50O1971C55O1986C57O2000C59O2010C63O2027C67O2067C72O2100C74O2110C77O2114C82O1879C86O2131C88O2141C92O2154C96O2192C102O2219,,
code-creation,JS,10,14637598,0x307efd7cfce,8,setPosition node:internal/timers:428:21,0x39e2db43c60,~
code-source-info,0x307efd7cfce,13,13352,13405,C0O13369C2O13396C7O13404,,
code-creation,JS,10,14637658,0x307efd7d0b6,52,append node:internal/linkedlist:30:16,0x39e2db4ad48,~
script-source,19,node:internal/linkedlist,'use strict';\x0d\n\x0d\nfunction init(list) {\x0d\n list._idleNext = list;\x0d\n list._idlePrev = list;\x0d\n return list;\x0d\n}\x0d\n\x0d\n// Show the most idle item.\x0d\nfunction peek(list) {\x0d\n if (list._idlePrev === list) return null;\x0d\n return list._idlePrev;\x0d\n}\x0d\n\x0d\n// Remove an item from its list.\x0d\nfunction remove(item) {\x0d\n if (item._idleNext) {\x0d\n item._idleNext._idlePrev = item._idlePrev;\x0d\n }\x0d\n\x0d\n if (item._idlePrev) {\x0d\n item._idlePrev._idleNext = item._idleNext;\x0d\n }\x0d\n\x0d\n item._idleNext = null;\x0d\n item._idlePrev = null;\x0d\n}\x0d\n\x0d\n// Remove an item from its list and place at the end.\x0d\nfunction append(list\x2C item) {\x0d\n if (item._idleNext || item._idlePrev) {\x0d\n remove(item);\x0d\n }\x0d\n\x0d\n // Items are linked with _idleNext -> (older) and _idlePrev -> (newer).\x0d\n // Note: This linkage (next being older) may seem counter-intuitive at first.\x0d\n item._idleNext = list._idleNext;\x0d\n item._idlePrev = list;\x0d\n\x0d\n // The list _idleNext points to tail (newest) and _idlePrev to head (oldest).\x0d\n list._idleNext._idlePrev = item;\x0d\n list._idleNext = item;\x0d\n}\x0d\n\x0d\nfunction isEmpty(list) {\x0d\n return list._idleNext === list;\x0d\n}\x0d\n\x0d\nmodule.exports = {\x0d\n init\x2C\x0d\n peek\x2C\x0d\n remove\x2C\x0d\n append\x2C\x0d\n isEmpty\x2C\x0d\n};\x0d\n
code-source-info,0x307efd7d0b6,19,587,1037,C0O614C6O632C12O650C15O650C19O853C23O846C27O867C29O882C33O981C40O1001C44O1012C46O1027C51O1036,,
code-creation,JS,10,14637797,0x307efd7d3b6,50,remove node:internal/linkedlist:16:16,0x39e2db4acf8,~
code-source-info,0x307efd7d3b6,19,290,513,C0O311C6O334C11O361C15O354C19O391C25O414C30O441C34O434C38O462C39O477C43O488C44O503C49O512,,
tick,0x7ffcc6290394,14650467,0,0x0,8
tick,0x7ffcc6290394,14666066,0,0x0,8
code-creation,JS,10,14666410,0x307efd7d56e,147,processTimers node:internal/timers:504:25,0x39e2db43e80,~
code-source-info,0x307efd7d56e,13,15753,16239,C0O15766C10O15766C15O15809C23O15820C31O15843C33O15878C35O15928C42O15920C47O15920C55O15955C62O15962C67O15998C76O15991C84O16015C92O16033C97O16037C106O16043C114O16057C116O16056C118O16068C119O16085C123O16117C126O16117C131O16154C133O16187C136O16187C141O15890C145O16225C146O16234,,
code-creation,JS,10,14666640,0x307efd7d706,12,peek node:internal/priority_queue:37:7,0x39e2db4b380,~
code-source-info,0x307efd7d706,20,919,955,C0O929C2O941C8O946C11O950,,
code-creation,JS,10,14667015,0x307efd7d9f6,646,listOnTimeout node:internal/timers:524:25,0x39e2db43ed0,~
code-source-info,0x307efd7d9f6,13,16267,19077,C0O16305C5O16319C15O16319C20O16388C22O16404C24O16446C31O16434C36O16434C45O16489C49O16481C53O16663C55O16672C60O16692C64O16706C67O16720C74O16731C80O16744C84O16706C89O16704C93O16759C109O16780C119O16767C123O16793C130O16808C138O16808C143O16835C159O16835C164O16899C165O16906C166O16925C170O16958C173O16958C178O16995C180O17086C187O17088C192O17088C197O17128C201O17134C203O17133C207O17172C213O17206C219O17231C220O17248C224O17269C228O17279C230O17278C235O17308C244O17331C246O17354C250O17364C252O17363C257O17386C271O17400C275O17417C282O17421C287O17455C294O17455C298O17497C300O17525C311O17551C313O17550C323O17525C328O17598C330O17622C336O17717C343O17733C348O17733C356O17800C361O17821C363O17862C368O17862C374O17901C381O17920C392O17901C408O17974C409O17984C415O18001C422O18014C427O18062C431O18054C435O18082C440O18102C451O18082C458O18151C464O18171C470O18191C476O18216C477O18233C481O18254C485O18264C487O18263C492O18293C501O18316C503O18339C507O18349C509O18348C514O18371C528O18385C532O18402C539O18406C544O18440C551O18440C566O18491C573O18491C577O16416C585O18739C595O18739C600O18964C604O18977C609O18989C612O18973C617O19007C626O19027C628O19042C635O19057C640O19057C645O19076,,
code-creation,JS,10,14667356,0x307efd7de96,19,peek node:internal/linkedlist:10:14,0x39e2db4aca8,~
code-source-info,0x307efd7de96,19,155,237,C0O176C7O186C12O196C13O208C14O224C18O234,,
code-creation,JS,10,14667661,0x307efd7e00e,32,shift node:internal/priority_queue:103:8,0x39e2db4b510,~
code-source-info,0x307efd7e00e,20,2579,2737,C0O2602C2O2607C6O2633C8O2637C12O2647C14O2679C15O2686C16O2699C24O2699C29O2719C31O2732,,
code-creation,JS,10,14667842,0x307efd7e11e,128,removeAt node:internal/priority_queue:89:11,0x39e2db4b4c0,~
code-source-info,0x307efd7e11e,20,2234,2568,C0O2260C2O2265C6O2290C9O2296C15O2297C22O2309C24O2331C27O2325C30O2319C34O2342C36O2352C41O2357C45O2377C46O2386C53O2397C58O2415C60O2423C67O2435C73O2453C76O2457C79O2448C85O2467C92O2443C99O2474C104O2493C109O2493C116O2537C121O2537C127O2567,,
tick,0x7ffcc6290394,14681428,0,0x0,8
tick,0x7ffcc6290394,14696941,0,0x0,8
tick,0x7ffcc6290394,14712721,0,0x0,8
tick,0x7ffcc6290394,14727913,0,0x0,8
tick,0x7ffcc6290394,14743554,0,0x0,8
tick,0x7ffcc6290394,14759121,0,0x0,8
tick,0x7ffcc6290394,14775353,0,0x0,8
tick,0x7ffcc6290394,14790777,0,0x0,8
tick,0x7ffcc6290394,14806028,0,0x0,8
tick,0x7ffcc6290394,14821315,0,0x0,8
tick,0x7ffcc6290394,14837234,0,0x0,8
tick,0x7ffcc6290394,14852265,0,0x0,8
tick,0x7ffcc6290394,14868021,0,0x0,8
tick,0x7ffcc6290394,14884197,0,0x0,8
tick,0x7ffcc6290394,14900052,0,0x0,8
tick,0x7ffcc6290394,14915216,0,0x0,8
tick,0x7ffcc6290394,14930663,0,0x0,8
tick,0x7ffcc6290394,14946749,0,0x0,8
tick,0x7ffcc6290394,14962659,0,0x0,8
tick,0x7ffcc6290394,14977792,0,0x0,8
tick,0x7ffcc6290394,14993092,0,0x0,8
tick,0x7ffcc6290394,15009028,0,0x0,8
tick,0x7ffcc6290394,15024212,0,0x0,8
tick,0x7ffcc6290394,15040065,0,0x0,8
tick,0x7ffcc6290394,15055622,0,0x0,8
tick,0x7ffcc6290394,15071031,0,0x0,8
tick,0x7ffcc6290394,15086281,0,0x0,8
tick,0x7ffcc6290394,15102140,0,0x0,8
tick,0x7ffcc6290394,15117635,0,0x0,8
tick,0x7ffcc6290394,15133311,0,0x0,8
tick,0x7ffcc6290394,15148722,0,0x0,8
tick,0x7ffcc6290394,15164495,0,0x0,8
tick,0x7ffcc6290394,15180568,0,0x0,8
tick,0x7ffcc6290394,15196351,0,0x0,8
tick,0x7ffcc6290394,15211795,0,0x0,8
tick,0x7ffcc6290394,15227592,0,0x0,8
tick,0x7ffcc6290394,15242967,0,0x0,8
tick,0x7ffcc6290394,15258404,0,0x0,8
tick,0x7ffcc6290394,15274464,0,0x0,8
tick,0x7ffcc6290394,15289799,0,0x0,8
tick,0x7ffcc6290394,15305587,0,0x0,8
tick,0x7ffcc6290394,15321960,0,0x0,8
tick,0x7ffcc6290394,15337167,0,0x0,8
tick,0x7ffcc6290394,15353056,0,0x0,8
tick,0x7ffcc6290394,15368617,0,0x0,8
tick,0x7ffcc6290394,15384483,0,0x0,8
tick,0x7ffcc6290394,15399735,0,0x0,8
tick,0x7ffcc6290394,15415533,0,0x0,8
tick,0x7ffcc6290394,15431461,0,0x0,8
tick,0x7ffcc6290394,15446871,0,0x0,8
tick,0x7ffcc6290394,15462349,0,0x0,8
tick,0x7ffcc6290394,15478029,0,0x0,8
tick,0x7ffcc6290394,15493966,0,0x0,8
tick,0x7ffcc6290394,15509389,0,0x0,8
tick,0x7ffcc6290394,15525022,0,0x0,8
tick,0x7ffcc6290394,15539979,0,0x0,8
tick,0x7ffcc6290394,15555864,0,0x0,8
tick,0x7ffcc6290394,15571572,0,0x0,8
tick,0x7ffcc6290394,15586463,0,0x0,8
tick,0x7ffcc6290394,15602251,0,0x0,8
tick,0x7ffcc6290394,15617853,0,0x0,8
tick,0x7ffcc6290394,15632757,0,0x0,8
tick,0x7ffcc6290394,15648392,0,0x0,8
tick,0x7ffcc6290394,15664455,0,0x0,8
tick,0x7ffcc6290394,15680044,0,0x0,8
tick,0x7ffcc6290394,15695596,0,0x0,8
tick,0x7ffcc6290394,15710931,0,0x0,8
tick,0x7ffcc6290394,15726737,0,0x0,8
tick,0x7ffcc6290394,15742568,0,0x0,8
tick,0x7ffcc6290394,15758174,0,0x0,8
tick,0x7ffcc6290394,15774157,0,0x0,8
tick,0x7ffcc6290394,15789768,0,0x0,8
tick,0x7ffcc6290394,15805030,0,0x0,8
tick,0x7ffcc6290394,15820995,0,0x0,8
tick,0x7ffcc6290394,15835996,0,0x0,8
tick,0x7ffcc6290394,15851910,0,0x0,8
tick,0x7ffcc6290394,15867772,0,0x0,8
tick,0x7ffcc6290394,15883320,0,0x0,8
tick,0x7ffcc6290394,15899207,0,0x0,8
tick,0x7ffcc6290394,15914780,0,0x0,8
tick,0x7ffcc6290394,15930731,0,0x0,8
tick,0x7ffcc6290394,15945825,0,0x0,8
tick,0x7ffcc6290394,15961671,0,0x0,8
tick,0x7ffcc6290394,15977781,0,0x0,8
tick,0x7ffcc6290394,15993283,0,0x0,8
tick,0x7ffcc6290394,16008345,0,0x0,8
tick,0x7ffcc6290394,16024264,0,0x0,8
tick,0x7ffcc6290394,16040032,0,0x0,8
tick,0x7ffcc6290394,16055828,0,0x0,8
tick,0x7ffcc6290394,16071436,0,0x0,8
tick,0x7ffcc6290394,16087360,0,0x0,8
tick,0x7ffcc6290394,16103067,0,0x0,8
tick,0x7ffcc6290394,16118634,0,0x0,8
tick,0x7ffcc6290394,16134417,0,0x0,8
tick,0x7ffcc6290394,16149931,0,0x0,8
tick,0x7ffcc6290394,16165864,0,0x0,8
tick,0x7ffcc6290394,16181542,0,0x0,8
tick,0x7ffcc6290394,16197313,0,0x0,8
tick,0x7ffcc6290394,16213035,0,0x0,8
tick,0x7ffcc6290394,16228184,0,0x0,8
tick,0x7ffcc6290394,16243303,0,0x0,8
tick,0x7ffcc6290394,16259062,0,0x0,8
tick,0x7ffcc6290394,16275245,0,0x0,8
tick,0x7ffcc6290394,16290725,0,0x0,8
tick,0x7ffcc6290394,16306533,0,0x0,8
tick,0x7ffcc6290394,16321777,0,0x0,8
tick,0x7ffcc6290394,16337774,0,0x0,8
tick,0x7ffcc6290394,16352988,0,0x0,8
tick,0x7ffcc6290394,16368272,0,0x0,8
tick,0x7ffcc6290394,16384121,0,0x0,8
tick,0x7ffcc6290394,16400228,0,0x0,8
tick,0x7ffcc6290394,16416213,0,0x0,8
tick,0x7ffcc6290394,16431728,0,0x0,8
tick,0x7ffcc6290394,16446992,0,0x0,8
tick,0x7ffcc6290394,16463069,0,0x0,8
tick,0x7ffcc6290394,16479024,0,0x0,8
tick,0x7ffcc6290394,16494556,0,0x0,8
tick,0x7ffcc6290394,16510273,0,0x0,8
tick,0x7ffcc6290394,16525891,0,0x0,8
tick,0x7ffcc6290394,16540968,0,0x0,8
tick,0x7ffcc6290394,16555852,0,0x0,8
tick,0x7ffcc6290394,16571990,0,0x0,8
tick,0x7ffcc6290394,16587765,0,0x0,8
tick,0x7ffcc6290394,16603524,0,0x0,8
tick,0x7ffcc6290394,16619477,0,0x0,8
tick,0x7ffcc6290394,16634658,0,0x0,8
tick,0x7ffcc6290394,16650016,0,0x0,8
tick,0x7ffcc6290394,16664873,0,0x0,8
tick,0x7ffcc6290394,16680312,0,0x0,8
tick,0x7ffcc6290394,16695867,0,0x0,8
tick,0x7ffcc6290394,16711003,0,0x0,8
tick,0x7ffcc6290394,16726401,0,0x0,8
tick,0x7ffcc6290394,16742258,0,0x0,8
tick,0x7ffcc6290394,16758118,0,0x0,8
tick,0x7ffcc6290394,16773405,0,0x0,8
tick,0x7ffcc6290394,16789216,0,0x0,8
tick,0x7ffcc6290394,16804507,0,0x0,8
tick,0x7ffcc6290394,16820204,0,0x0,8
tick,0x7ffcc6290394,16836061,0,0x0,8
tick,0x7ffcc6290394,16851251,0,0x0,8
tick,0x7ffcc6290394,16867340,0,0x0,8
tick,0x7ffcc6290394,16883182,0,0x0,8
tick,0x7ffcc6290394,16899136,0,0x0,8
tick,0x7ffcc6290394,16913975,0,0x0,8
tick,0x7ffcc6290394,16929637,0,0x0,8
tick,0x7ffcc6290394,16945473,0,0x0,8
tick,0x7ffcc6290394,16960766,0,0x0,8
tick,0x7ffcc6290394,16976423,0,0x0,8
tick,0x7ffcc6290394,16991814,0,0x0,8
tick,0x7ffcc6290394,17007835,0,0x0,8
tick,0x7ffcc6290394,17023992,0,0x0,8
tick,0x7ffcc6290394,17039468,0,0x0,8
tick,0x7ffcc6290394,17054005,0,0x0,8
tick,0x7ffcc6290394,17069805,0,0x0,8
tick,0x7ffcc6290394,17085016,0,0x0,8
tick,0x7ffcc6290394,17100585,0,0x0,8
tick,0x7ffcc6290394,17116393,0,0x0,8
tick,0x7ffcc6290394,17132581,0,0x0,8
tick,0x7ffcc6290394,17148154,0,0x0,8
tick,0x7ffcc6290394,17163848,0,0x0,8
tick,0x7ffcc6290394,17178989,0,0x0,8
tick,0x7ffcc6290394,17194402,0,0x0,8
tick,0x7ffcc6290394,17210208,0,0x0,8
tick,0x7ffcc6290394,17225860,0,0x0,8
tick,0x7ffcc6290394,17241335,0,0x0,8
tick,0x7ffcc6290394,17257143,0,0x0,8
tick,0x7ffcc6290394,17273027,0,0x0,8
tick,0x7ffcc6290394,17288922,0,0x0,8
tick,0x7ffcc6290394,17304102,0,0x0,8
tick,0x7ffcc6290394,17319150,0,0x0,8
tick,0x7ffcc6290394,17334954,0,0x0,8
tick,0x7ffcc6290394,17350897,0,0x0,8
tick,0x7ffcc6290394,17366787,0,0x0,8
tick,0x7ffcc6290394,17382750,0,0x0,8
tick,0x7ffcc6290394,17398697,0,0x0,8
tick,0x7ffcc6290394,17414246,0,0x0,8
tick,0x7ffcc6290394,17430030,0,0x0,8
tick,0x7ffcc6290394,17445641,0,0x0,8
tick,0x7ffcc6290394,17460888,0,0x0,8
tick,0x7ffcc6290394,17476836,0,0x0,8
tick,0x7ffcc6290394,17492324,0,0x0,8
tick,0x7ffcc6290394,17506961,0,0x0,8
tick,0x7ffcc6290394,17522243,0,0x0,8
tick,0x7ffcc6290394,17537552,0,0x0,8
tick,0x7ffcc6290394,17553329,0,0x0,8
tick,0x7ffcc6290394,17569412,0,0x0,8
tick,0x7ffcc6290394,17584760,0,0x0,8
tick,0x7ffcc6290394,17600700,0,0x0,8
tick,0x7ffcc6290394,17616251,0,0x0,8
tick,0x7ffcc6290394,17631436,0,0x0,8
tick,0x7ffcc6290394,17647488,0,0x0,8
tick,0x7ffcc6290394,17663687,0,0x0,8
tick,0x7ffcc6290394,17679790,0,0x0,8
tick,0x7ffcc6290394,17695414,0,0x0,8
tick,0x7ffcc6290394,17710987,0,0x0,8
tick,0x7ffcc6290394,17727124,0,0x0,8
tick,0x7ffcc6290394,17743255,0,0x0,8
tick,0x7ffcc6290394,17759250,0,0x0,8
tick,0x7ffcc6290394,17774418,0,0x0,8
tick,0x7ffcc6290394,17790388,0,0x0,8
tick,0x7ffcc6290394,17806073,0,0x0,8
tick,0x7ffcc6290394,17821070,0,0x0,8
tick,0x7ffcc6290394,17836193,0,0x0,8
tick,0x7ffcc6290394,17851218,0,0x0,8
tick,0x7ffcc6290394,17866938,0,0x0,8
tick,0x7ffcc6290394,17882322,0,0x0,8
tick,0x7ffcc6290394,17897401,0,0x0,8
tick,0x7ffcc6290394,17912844,0,0x0,8
tick,0x7ffcc6290394,17928514,0,0x0,8
tick,0x7ffcc6290394,17944545,0,0x0,8
tick,0x7ffcc6290394,17959717,0,0x0,8
tick,0x7ffcc6290394,17975559,0,0x0,8
tick,0x7ffcc6290394,17990990,0,0x0,8
tick,0x7ffcc6290394,18006917,0,0x0,8
tick,0x7ffcc6290394,18022337,0,0x0,8
tick,0x7ffcc6290394,18037161,0,0x0,8
tick,0x7ffcc6290394,18052946,0,0x0,8
tick,0x7ffcc6290394,18069191,0,0x0,8
tick,0x7ffcc6290394,18084683,0,0x0,8
tick,0x7ffcc6290394,18100480,0,0x0,8
tick,0x7ffcc6290394,18116053,0,0x0,8
tick,0x7ffcc6290394,18131806,0,0x0,8
tick,0x7ffcc6290394,18147732,0,0x0,8
tick,0x7ffcc6290394,18163746,0,0x0,8
tick,0x7ffcc6290394,18179131,0,0x0,8
tick,0x7ffcc6290394,18194678,0,0x0,8
tick,0x7ffcc6290394,18210309,0,0x0,8
tick,0x7ffcc6290394,18225903,0,0x0,8
tick,0x7ffcc6290394,18241574,0,0x0,8
tick,0x7ffcc6290394,18257603,0,0x0,8
tick,0x7ffcc6290394,18273287,0,0x0,8
tick,0x7ffcc6290394,18288661,0,0x0,8
tick,0x7ffcc6290394,18304249,0,0x0,8
tick,0x7ffcc6290394,18320367,0,0x0,8
tick,0x7ffcc6290394,18336468,0,0x0,8
tick,0x7ffcc6290394,18352042,0,0x0,8
tick,0x7ffcc6290394,18367236,0,0x0,8
tick,0x7ffcc6290394,18382600,0,0x0,8
tick,0x7ffcc6290394,18398679,0,0x0,8
tick,0x7ffcc6290394,18414166,0,0x0,8
tick,0x7ffcc6290394,18429234,0,0x0,8
tick,0x7ffcc6290394,18444981,0,0x0,8
tick,0x7ffcc6290394,18460731,0,0x0,8
tick,0x7ffcc6290394,18476405,0,0x0,8
tick,0x7ffcc6290394,18492119,0,0x0,8
tick,0x7ffcc6290394,18507345,0,0x0,8
tick,0x7ffcc6290394,18522468,0,0x0,8
tick,0x7ffcc6290394,18537857,0,0x0,8
tick,0x7ffcc6290394,18553258,0,0x0,8
tick,0x7ffcc6290394,18568864,0,0x0,8
tick,0x7ffcc6290394,18584258,0,0x0,8
tick,0x7ffcc6290394,18599418,0,0x0,8
tick,0x7ffcc6290394,18615063,0,0x0,8
tick,0x7ffcc6290394,18630601,0,0x0,8
tick,0x7ffcc6290394,18645952,0,0x0,8
tick,0x7ffcc6290394,18661872,0,0x0,8
tick,0x7ffcc6290394,18678010,0,0x0,8
tick,0x7ffcc6290394,18693677,0,0x0,8
tick,0x7ffcc6290394,18709227,0,0x0,8
tick,0x7ffcc6290394,18725313,0,0x0,8
tick,0x7ffcc6290394,18740345,0,0x0,8
tick,0x7ffcc6290394,18756021,0,0x0,8
tick,0x7ffcc6290394,18771602,0,0x0,8
tick,0x7ffcc6290394,18787421,0,0x0,8
tick,0x7ffcc6290394,18802916,0,0x0,8
tick,0x7ffcc6290394,18817991,0,0x0,8
tick,0x7ffcc6290394,18833736,0,0x0,8
tick,0x7ffcc6290394,18849629,0,0x0,8
tick,0x7ffcc6290394,18865657,0,0x0,8
tick,0x7ffcc6290394,18881494,0,0x0,8
tick,0x7ffcc6290394,18897383,0,0x0,8
tick,0x7ffcc6290394,18913224,0,0x0,8
tick,0x7ffcc6290394,18928294,0,0x0,8
tick,0x7ffcc6290394,18943616,0,0x0,8
tick,0x7ffcc6290394,18958853,0,0x0,8
tick,0x7ffcc6290394,18974871,0,0x0,8
tick,0x7ffcc6290394,18990046,0,0x0,8
tick,0x7ffcc6290394,19005861,0,0x0,8
tick,0x7ffcc6290394,19021799,0,0x0,8
tick,0x7ffcc6290394,19037953,0,0x0,8
tick,0x7ffcc6290394,19053754,0,0x0,8
tick,0x7ffcc6290394,19069462,0,0x0,8
tick,0x7ffcc6290394,19084320,0,0x0,8
tick,0x7ffcc6290394,19099697,0,0x0,8
tick,0x7ffcc6290394,19115897,0,0x0,8
tick,0x7ffcc6290394,19130953,0,0x0,8
tick,0x7ffcc6290394,19146619,0,0x0,8
tick,0x7ffcc6290394,19162502,0,0x0,8
tick,0x7ffcc6290394,19178297,0,0x0,8
tick,0x7ffcc6290394,19194109,0,0x0,8
tick,0x7ffcc6290394,19209641,0,0x0,8
tick,0x7ffcc6290394,19225133,0,0x0,8
tick,0x7ffcc6290394,19240478,0,0x0,8
tick,0x7ffcc6290394,19255744,0,0x0,8
tick,0x7ffcc6290394,19271307,0,0x0,8
tick,0x7ffcc6290394,19286722,0,0x0,8
tick,0x7ffcc6290394,19302822,0,0x0,8
tick,0x7ffcc6290394,19318595,0,0x0,8
tick,0x7ffcc6290394,19334145,0,0x0,8
tick,0x7ffcc6290394,19349577,0,0x0,8
tick,0x7ffcc6290394,19365023,0,0x0,8
tick,0x7ffcc6290394,19380444,0,0x0,8
tick,0x7ffcc6290394,19395999,0,0x0,8
tick,0x7ffcc6290394,19411356,0,0x0,8
tick,0x7ffcc6290394,19426897,0,0x0,8
tick,0x7ffcc6290394,19442083,0,0x0,8
tick,0x7ffcc6290394,19457924,0,0x0,8
tick,0x7ffcc6290394,19473492,0,0x0,8
tick,0x7ffcc6290394,19489456,0,0x0,8
tick,0x7ffcc6290394,19504644,0,0x0,8
tick,0x7ffcc6290394,19520156,0,0x0,8
tick,0x7ffcc6290394,19535465,0,0x0,8
tick,0x7ffcc6290394,19550723,0,0x0,8
tick,0x7ffcc6290394,19566564,0,0x0,8
tick,0x7ffcc6290394,19582103,0,0x0,8
tick,0x7ffcc6290394,19598381,0,0x0,8
tick,0x7ffcc6290394,19614235,0,0x0,8
tick,0x7ffcc6290394,19628879,0,0x0,8
tick,0x7ffcc6290394,19644734,0,0x0,8
tick,0x7ffcc6290394,19659952,0,0x0,8
tick,0x7ffcc6290394,19675910,0,0x0,8
tick,0x7ffcc6290394,19691760,0,0x0,8
tick,0x7ffcc6290394,19707449,0,0x0,8
tick,0x7ffcc6290394,19723395,0,0x0,8
tick,0x7ffcc6290394,19739436,0,0x0,8
tick,0x7ffcc6290394,19755235,0,0x0,8
tick,0x7ffcc6290394,19770616,0,0x0,8
tick,0x7ffcc6290394,19785724,0,0x0,8
tick,0x7ffcc6290394,19801264,0,0x0,8
tick,0x7ffcc6290394,19816906,0,0x0,8
tick,0x7ffcc6290394,19832266,0,0x0,8
tick,0x7ffcc6290394,19848336,0,0x0,8
tick,0x7ffcc6290394,19863421,0,0x0,8
tick,0x7ffcc6290394,19878813,0,0x0,8
tick,0x7ffcc6290394,19893740,0,0x0,8
tick,0x7ffcc6290394,19909431,0,0x0,8
tick,0x7ffcc6290394,19925075,0,0x0,8
tick,0x7ffcc6290394,19940901,0,0x0,8
tick,0x7ffcc6290394,19956956,0,0x0,8
tick,0x7ffcc6290394,19972215,0,0x0,8
tick,0x7ffcc6290394,19987330,0,0x0,8
tick,0x7ffcc6290394,20002958,0,0x0,8
tick,0x7ffcc6290394,20018768,0,0x0,8
tick,0x7ffcc6290394,20034574,0,0x0,8
tick,0x7ffcc6290394,20049987,0,0x0,8
tick,0x7ffcc6290394,20066186,0,0x0,8
tick,0x7ffcc6290394,20081820,0,0x0,8
tick,0x7ffcc6290394,20097593,0,0x0,8
tick,0x7ffcc6290394,20113079,0,0x0,8
tick,0x7ffcc6290394,20128916,0,0x0,8
tick,0x7ffcc6290394,20144349,0,0x0,8
tick,0x7ffcc6290394,20159716,0,0x0,8
tick,0x7ffcc6290394,20175757,0,0x0,8
tick,0x7ffcc6290394,20191321,0,0x0,8
tick,0x7ffcc6290394,20205935,0,0x0,8
tick,0x7ffcc6290394,20221218,0,0x0,8
tick,0x7ffcc6290394,20237272,0,0x0,8
tick,0x7ffcc6290394,20252404,0,0x0,8
tick,0x7ffcc6290394,20268560,0,0x0,8
tick,0x7ffcc6290394,20283798,0,0x0,8
tick,0x7ffcc6290394,20299323,0,0x0,8
tick,0x7ffcc6290394,20314766,0,0x0,8
tick,0x7ffcc6290394,20329785,0,0x0,8
tick,0x7ffcc6290394,20345060,0,0x0,8
tick,0x7ffcc6290394,20360155,0,0x0,8
tick,0x7ffcc6290394,20375037,0,0x0,8
tick,0x7ffcc6290394,20390322,0,0x0,8
tick,0x7ffcc6290394,20405580,0,0x0,8
tick,0x7ffcc6290394,20421282,0,0x0,8
tick,0x7ffcc6290394,20436500,0,0x0,8
tick,0x7ffcc6290394,20452276,0,0x0,8
tick,0x7ffcc6290394,20467787,0,0x0,8
tick,0x7ffcc6290394,20482984,0,0x0,8
tick,0x7ffcc6290394,20499085,0,0x0,8
tick,0x7ffcc6290394,20514428,0,0x0,8
tick,0x7ffcc6290394,20530276,0,0x0,8
tick,0x7ffcc6290394,20546039,0,0x0,8
tick,0x7ffcc6290394,20561849,0,0x0,8
tick,0x7ffcc6290394,20577583,0,0x0,8
tick,0x7ffcc6290394,20593056,0,0x0,8
tick,0x7ffcc6290394,20608629,0,0x0,8
tick,0x7ffcc6290394,20624352,0,0x0,8
tick,0x7ffcc6290394,20640341,0,0x0,8
tick,0x7ffcc6290394,20655279,0,0x0,8
tick,0x7ffcc6290394,20670928,0,0x0,8
tick,0x7ffcc6290394,20686683,0,0x0,8
tick,0x7ffcc6290394,20702330,0,0x0,8
tick,0x7ffcc6290394,20717944,0,0x0,8
tick,0x7ffcc6290394,20733078,0,0x0,8
tick,0x7ffcc6290394,20749356,0,0x0,8
tick,0x7ffcc6290394,20764939,0,0x0,8
tick,0x7ffcc6290394,20780188,0,0x0,8
tick,0x7ffcc6290394,20796401,0,0x0,8
tick,0x7ffcc6290394,20811607,0,0x0,8
tick,0x7ffcc6290394,20827687,0,0x0,8
tick,0x7ffcc6290394,20842970,0,0x0,8
tick,0x7ffcc6290394,20858917,0,0x0,8
tick,0x7ffcc6290394,20874884,0,0x0,8
tick,0x7ffcc6290394,20890905,0,0x0,8
tick,0x7ffcc6290394,20905927,0,0x0,8
tick,0x7ffcc6290394,20921797,0,0x0,8
tick,0x7ffcc6290394,20937667,0,0x0,8
tick,0x7ffcc6290394,20953178,0,0x0,8
tick,0x7ffcc6290394,20968837,0,0x0,8
tick,0x7ffcc6290394,20984545,0,0x0,8
tick,0x7ffcc6290394,21000012,0,0x0,8
tick,0x7ffcc6290394,21015824,0,0x0,8
tick,0x7ffcc6290394,21031182,0,0x0,8
tick,0x7ffcc6290394,21047122,0,0x0,8
tick,0x7ffcc6290394,21062733,0,0x0,8
tick,0x7ffcc6290394,21078438,0,0x0,8
tick,0x7ffcc6290394,21093692,0,0x0,8
tick,0x7ffcc6290394,21109429,0,0x0,8
tick,0x7ffcc6290394,21125385,0,0x0,8
tick,0x7ffcc6290394,21140349,0,0x0,8
tick,0x7ffcc6290394,21155885,0,0x0,8
tick,0x7ffcc6290394,21170968,0,0x0,8
tick,0x7ffcc6290394,21186015,0,0x0,8
tick,0x7ffcc6290394,21201878,0,0x0,8
tick,0x7ffcc6290394,21217403,0,0x0,8
tick,0x7ffcc6290394,21232997,0,0x0,8
tick,0x7ffcc6290394,21248872,0,0x0,8
tick,0x7ffcc6290394,21264409,0,0x0,8
tick,0x7ffcc6290394,21280162,0,0x0,8
tick,0x7ffcc6290394,21295434,0,0x0,8
tick,0x7ffcc6290394,21311046,0,0x0,8
tick,0x7ffcc6290394,21326737,0,0x0,8
tick,0x7ffcc6290394,21341940,0,0x0,8
tick,0x7ffcc6290394,21357730,0,0x0,8
tick,0x7ffcc6290394,21373750,0,0x0,8
tick,0x7ffcc6290394,21389065,0,0x0,8
tick,0x7ffcc6290394,21404865,0,0x0,8
tick,0x7ffcc6290394,21420161,0,0x0,8
tick,0x7ffcc6290394,21435485,0,0x0,8
tick,0x7ffcc6290394,21451429,0,0x0,8
tick,0x7ffcc6290394,21466708,0,0x0,8
tick,0x7ffcc6290394,21482677,0,0x0,8
tick,0x7ffcc6290394,21498351,0,0x0,8
tick,0x7ffcc6290394,21513608,0,0x0,8
tick,0x7ffcc6290394,21528548,0,0x0,8
tick,0x7ffcc6290394,21543839,0,0x0,8
tick,0x7ffcc6290394,21558959,0,0x0,8
tick,0x7ffcc6290394,21574505,0,0x0,8
tick,0x7ffcc6290394,21589750,0,0x0,8
tick,0x7ffcc6290394,21605440,0,0x0,8
tick,0x7ffcc6290394,21621524,0,0x0,8
tick,0x7ffcc6290394,21636846,0,0x0,8
tick,0x7ffcc6290394,21652013,0,0x0,8
tick,0x7ffcc6290394,21668025,0,0x0,8
tick,0x7ffcc6290394,21683610,0,0x0,8
tick,0x7ffcc6290394,21698936,0,0x0,8
tick,0x7ffcc6290394,21714818,0,0x0,8
tick,0x7ffcc6290394,21730129,0,0x0,8
tick,0x7ffcc6290394,21745959,0,0x0,8
tick,0x7ffcc6290394,21761301,0,0x0,8
tick,0x7ffcc6290394,21776786,0,0x0,8
tick,0x7ffcc6290394,21792784,0,0x0,8
tick,0x7ffcc6290394,21808318,0,0x0,8
tick,0x7ffcc6290394,21824141,0,0x0,8
tick,0x7ffcc6290394,21839628,0,0x0,8
tick,0x7ffcc6290394,21855358,0,0x0,8
tick,0x7ffcc6290394,21870566,0,0x0,8
tick,0x7ffcc6290394,21886398,0,0x0,8
tick,0x7ffcc6290394,21901723,0,0x0,8
tick,0x7ffcc6290394,21917074,0,0x0,8
tick,0x7ffcc6290394,21933041,0,0x0,8
tick,0x7ffcc6290394,21948691,0,0x0,8
tick,0x7ffcc6290394,21964319,0,0x0,8
tick,0x7ffcc6290394,21979603,0,0x0,8
tick,0x7ffcc6290394,21995402,0,0x0,8
tick,0x7ffcc6290394,22010462,0,0x0,8
tick,0x7ffcc6290394,22025557,0,0x0,8
tick,0x7ffcc6290394,22040681,0,0x0,8
tick,0x7ffcc6290394,22056588,0,0x0,8
tick,0x7ffcc6290394,22072138,0,0x0,8
tick,0x7ffcc6290394,22087793,0,0x0,8
tick,0x7ffcc6290394,22103718,0,0x0,8
tick,0x7ffcc6290394,22118881,0,0x0,8
tick,0x7ffcc6290394,22134458,0,0x0,8
tick,0x7ffcc6290394,22149827,0,0x0,8
tick,0x7ffcc6290394,22165464,0,0x0,8
tick,0x7ffcc6290394,22180921,0,0x0,8
tick,0x7ffcc6290394,22197091,0,0x0,8
tick,0x7ffcc6290394,22212493,0,0x0,8
tick,0x7ffcc6290394,22228333,0,0x0,8
tick,0x7ffcc6290394,22243557,0,0x0,8
tick,0x7ffcc6290394,22259382,0,0x0,8
tick,0x7ffcc6290394,22275327,0,0x0,8
tick,0x7ffcc6290394,22290548,0,0x0,8
tick,0x7ffcc6290394,22306028,0,0x0,8
tick,0x7ffcc6290394,22321630,0,0x0,8
tick,0x7ffcc6290394,22336826,0,0x0,8
tick,0x7ffcc6290394,22351978,0,0x0,8
tick,0x7ffcc6290394,22367774,0,0x0,8
tick,0x7ffcc6290394,22383545,0,0x0,8
tick,0x7ffcc6290394,22399408,0,0x0,8
tick,0x7ffcc6290394,22415086,0,0x0,8
tick,0x7ffcc6290394,22431230,0,0x0,8
tick,0x7ffcc6290394,22446989,0,0x0,8
tick,0x7ffcc6290394,22462989,0,0x0,8
tick,0x7ffcc6290394,22478232,0,0x0,8
tick,0x7ffcc6290394,22493654,0,0x0,8
tick,0x7ffcc6290394,22509289,0,0x0,8
tick,0x7ffcc6290394,22524860,0,0x0,8
tick,0x7ffcc6290394,22540839,0,0x0,8
tick,0x7ffcc6290394,22556162,0,0x0,8
tick,0x7ffcc6290394,22571632,0,0x0,8
tick,0x7ffcc6290394,22587566,0,0x0,8
tick,0x7ffcc6290394,22603129,0,0x0,8
tick,0x7ffcc6290394,22618695,0,0x0,8
tick,0x7ffcc6290394,22634751,0,0x0,8
tick,0x7ffcc6290394,22650708,0,0x0,8
tick,0x7ffcc6290394,22666111,0,0x0,8
tick,0x7ffcc6290394,22682096,0,0x0,8
tick,0x7ffcc6290394,22698005,0,0x0,8
tick,0x7ffcc6290394,22713819,0,0x0,8
tick,0x7ffcc6290394,22729025,0,0x0,8
tick,0x7ffcc6290394,22744948,0,0x0,8
tick,0x7ffcc6290394,22760614,0,0x0,8
tick,0x7ffcc6290394,22776640,0,0x0,8
tick,0x7ffcc6290394,22791822,0,0x0,8
tick,0x7ffcc6290394,22807712,0,0x0,8
tick,0x7ffcc6290394,22823754,0,0x0,8
tick,0x7ffcc6290394,22839614,0,0x0,8
tick,0x7ffcc6290394,22855587,0,0x0,8
tick,0x7ffcc6290394,22871225,0,0x0,8
tick,0x7ffcc6290394,22886811,0,0x0,8
tick,0x7ffcc6290394,22901988,0,0x0,8
tick,0x7ffcc6290394,22917540,0,0x0,8
tick,0x7ffcc6290394,22933627,0,0x0,8
tick,0x7ffcc6290394,22949639,0,0x0,8
tick,0x7ffcc6290394,22965401,0,0x0,8
tick,0x7ffcc6290394,22980708,0,0x0,8
tick,0x7ffcc6290394,22996621,0,0x0,8
tick,0x7ffcc6290394,23012548,0,0x0,8
tick,0x7ffcc6290394,23028213,0,0x0,8
tick,0x7ffcc6290394,23044097,0,0x0,8
tick,0x7ffcc6290394,23059953,0,0x0,8
tick,0x7ffcc6290394,23075619,0,0x0,8
tick,0x7ffcc6290394,23091116,0,0x0,8
tick,0x7ffcc6290394,23106731,0,0x0,8
tick,0x7ffcc6290394,23121996,0,0x0,8
tick,0x7ffcc6290394,23137993,0,0x0,8
tick,0x7ffcc6290394,23153806,0,0x0,8
tick,0x7ffcc6290394,23168869,0,0x0,8
tick,0x7ffcc6290394,23184584,0,0x0,8
tick,0x7ffcc6290394,23200184,0,0x0,8
tick,0x7ffcc6290394,23215488,0,0x0,8
tick,0x7ffcc6290394,23231629,0,0x0,8
tick,0x7ffcc6290394,23247053,0,0x0,8
tick,0x7ffcc6290394,23262256,0,0x0,8
tick,0x7ffcc6290394,23277531,0,0x0,8
tick,0x7ffcc6290394,23293631,0,0x0,8
tick,0x7ffcc6290394,23309614,0,0x0,8
tick,0x7ffcc6290394,23325600,0,0x0,8
tick,0x7ffcc6290394,23341691,0,0x0,8
tick,0x7ffcc6290394,23357006,0,0x0,8
tick,0x7ffcc6290394,23372236,0,0x0,8
tick,0x7ffcc6290394,23387585,0,0x0,8
tick,0x7ffcc6290394,23403109,0,0x0,8
tick,0x7ffcc6290394,23419037,0,0x0,8
tick,0x7ffcc6290394,23435212,0,0x0,8
tick,0x7ffcc6290394,23450426,0,0x0,8
tick,0x7ffcc6290394,23466280,0,0x0,8
tick,0x7ffcc6290394,23482058,0,0x0,8
tick,0x7ffcc6290394,23497898,0,0x0,8
tick,0x7ffcc6290394,23513378,0,0x0,8
tick,0x7ffcc6290394,23529458,0,0x0,8
tick,0x7ffcc6290394,23544603,0,0x0,8
tick,0x7ffcc6290394,23560271,0,0x0,8
tick,0x7ffcc6290394,23576209,0,0x0,8
tick,0x7ffcc6290394,23591661,0,0x0,8
tick,0x7ffcc6290394,23606665,0,0x0,8
tick,0x7ffcc6290394,23622514,0,0x0,8
tick,0x7ffcc6290394,23637809,0,0x0,8
tick,0x7ffcc6290394,23653152,0,0x0,8
tick,0x7ffcc6290394,23668206,0,0x0,8
tick,0x7ffcc6290394,23683946,0,0x0,8
tick,0x7ffcc6290394,23699994,0,0x0,8
tick,0x7ffcc6290394,23715643,0,0x0,8
tick,0x7ffcc6290394,23731386,0,0x0,8
tick,0x7ffcc6290394,23747065,0,0x0,8
tick,0x7ffcc6290394,23762928,0,0x0,8
tick,0x7ffcc6290394,23778370,0,0x0,8
tick,0x7ffcc6290394,23793956,0,0x0,8
tick,0x7ffcc6290394,23809889,0,0x0,8
tick,0x7ffcc6290394,23825495,0,0x0,8
tick,0x7ffcc6290394,23840666,0,0x0,8
tick,0x7ffcc6290394,23856277,0,0x0,8
tick,0x7ffcc6290394,23871639,0,0x0,8
tick,0x7ffcc6290394,23887145,0,0x0,8
tick,0x7ffcc6290394,23903215,0,0x0,8
tick,0x7ffcc6290394,23918227,0,0x0,8
tick,0x7ffcc6290394,23932868,0,0x0,8
tick,0x7ffcc6290394,23948799,0,0x0,8
tick,0x7ffcc6290394,23964378,0,0x0,8
tick,0x7ffcc6290394,23979942,0,0x0,8
tick,0x7ffcc6290394,23995344,0,0x0,8
tick,0x7ffcc6290394,24010467,0,0x0,8
tick,0x7ffcc6290394,24026271,0,0x0,8
tick,0x7ffcc6290394,24041971,0,0x0,8
tick,0x7ffcc6290394,24057822,0,0x0,8
tick,0x7ffcc6290394,24074001,0,0x0,8
tick,0x7ffcc6290394,24089271,0,0x0,8
tick,0x7ffcc6290394,24104655,0,0x0,8
tick,0x7ffcc6290394,24120236,0,0x0,8
tick,0x7ffcc6290394,24135846,0,0x0,8
tick,0x7ffcc6290394,24151507,0,0x0,8
tick,0x7ffcc6290394,24167330,0,0x0,8
tick,0x7ffcc6290394,24182693,0,0x0,8
tick,0x7ffcc6290394,24198997,0,0x0,8
tick,0x7ffcc6290394,24214734,0,0x0,8
tick,0x7ffcc6290394,24230717,0,0x0,8
tick,0x7ffcc6290394,24246649,0,0x0,8
tick,0x7ffcc6290394,24262436,0,0x0,8
tick,0x7ffcc6290394,24277921,0,0x0,8
tick,0x7ffcc6290394,24293754,0,0x0,8
tick,0x7ffcc6290394,24309553,0,0x0,8
tick,0x7ffcc6290394,24325056,0,0x0,8
tick,0x7ffcc6290394,24340436,0,0x0,8
tick,0x7ffcc6290394,24356219,0,0x0,8
tick,0x7ffcc6290394,24372386,0,0x0,8
tick,0x7ffcc6290394,24387730,0,0x0,8
tick,0x7ffcc6290394,24403306,0,0x0,8
tick,0x7ffcc6290394,24418803,0,0x0,8
tick,0x7ffcc6290394,24434418,0,0x0,8
tick,0x7ffcc6290394,24449690,0,0x0,8
tick,0x7ffcc6290394,24465773,0,0x0,8
tick,0x7ffcc6290394,24481706,0,0x0,8
tick,0x7ffcc6290394,24497210,0,0x0,8
tick,0x7ffcc6290394,24512694,0,0x0,8
tick,0x7ffcc6290394,24528210,0,0x0,8
tick,0x7ffcc6290394,24544358,0,0x0,8
tick,0x7ffcc6290394,24559451,0,0x0,8
tick,0x7ffcc6290394,24574866,0,0x0,8
tick,0x7ffcc6290394,24590567,0,0x0,8
tick,0x7ffcc6290394,24605699,0,0x0,8
tick,0x7ffcc6290394,24621440,0,0x0,8
tick,0x7ffcc6290394,24637454,0,0x0,8
tick,0x7ffcc6290394,24653283,0,0x0,8
tick,0x7ffcc6290394,24668533,0,0x0,8
tick,0x7ffcc6290394,24684195,0,0x0,8
tick,0x7ffcc6290394,24699461,0,0x0,8
tick,0x7ffcc6290394,24715153,0,0x0,8
tick,0x7ffcc6290394,24731064,0,0x0,8
tick,0x7ffcc6290394,24746325,0,0x0,8
tick,0x7ffcc6290394,24761944,0,0x0,8
tick,0x7ffcc6290394,24777091,0,0x0,8
tick,0x7ffcc6290394,24792825,0,0x0,8
tick,0x7ffcc6290394,24808505,0,0x0,8
tick,0x7ffcc6290394,24823990,0,0x0,8
tick,0x7ffcc6290394,24839851,0,0x0,8
tick,0x7ffcc6290394,24854940,0,0x0,8
tick,0x7ffcc6290394,24870368,0,0x0,8
tick,0x7ffcc6290394,24885805,0,0x0,8
tick,0x7ffcc6290394,24901637,0,0x0,8
tick,0x7ffcc6290394,24916780,0,0x0,8
tick,0x7ffcc6290394,24932771,0,0x0,8
tick,0x7ffcc6290394,24948285,0,0x0,8
tick,0x7ffcc6290394,24963967,0,0x0,8
tick,0x7ffcc6290394,24979223,0,0x0,8
tick,0x7ffcc6290394,24994983,0,0x0,8
tick,0x7ffcc6290394,25011004,0,0x0,8
tick,0x7ffcc6290394,25026981,0,0x0,8
tick,0x7ffcc6290394,25042178,0,0x0,8
tick,0x7ffcc6290394,25057749,0,0x0,8
tick,0x7ffcc6290394,25072296,0,0x0,8
tick,0x7ffcc6290394,25087763,0,0x0,8
tick,0x7ffcc6290394,25103449,0,0x0,8
tick,0x7ffcc6290394,25118930,0,0x0,8
tick,0x7ffcc6290394,25134896,0,0x0,8
tick,0x7ffcc6290394,25150681,0,0x0,8
tick,0x7ffcc6290394,25166618,0,0x0,8
tick,0x7ffcc6290394,25182556,0,0x0,8
tick,0x7ffcc6290394,25198008,0,0x0,8
tick,0x7ffcc6290394,25213978,0,0x0,8
tick,0x7ffcc6290394,25229309,0,0x0,8
tick,0x7ffcc6290394,25244829,0,0x0,8
tick,0x7ffcc6290394,25260970,0,0x0,8
tick,0x7ffcc6290394,25276520,0,0x0,8
tick,0x7ffcc6290394,25292003,0,0x0,8
tick,0x7ffcc6290394,25308072,0,0x0,8
tick,0x7ffcc6290394,25323403,0,0x0,8
tick,0x7ffcc6290394,25338836,0,0x0,8
tick,0x7ffcc6290394,25354763,0,0x0,8
tick,0x7ffcc6290394,25369666,0,0x0,8
tick,0x7ffcc6290394,25385653,0,0x0,8
tick,0x7ffcc6290394,25400779,0,0x0,8
tick,0x7ffcc6290394,25416059,0,0x0,8
tick,0x7ffcc6290394,25432116,0,0x0,8
tick,0x7ffcc6290394,25447974,0,0x0,8
tick,0x7ffcc6290394,25463537,0,0x0,8
tick,0x7ffcc6290394,25479308,0,0x0,8
tick,0x7ffcc6290394,25494651,0,0x0,8
tick,0x7ffcc6290394,25509956,0,0x0,8
tick,0x7ffcc6290394,25525696,0,0x0,8
tick,0x7ffcc6290394,25541692,0,0x0,8
tick,0x7ffcc6290394,25557046,0,0x0,8
tick,0x7ffcc6290394,25572931,0,0x0,8
tick,0x7ffcc6290394,25588711,0,0x0,8
tick,0x7ffcc6290394,25604676,0,0x0,8
tick,0x7ffcc6290394,25620192,0,0x0,8
tick,0x7ffcc6290394,25636321,0,0x0,8
tick,0x7ffcc6290394,25651987,0,0x0,8
tick,0x7ffcc6290394,25667139,0,0x0,8
tick,0x7ffcc6290394,25682414,0,0x0,8
tick,0x7ffcc6290394,25698508,0,0x0,8
tick,0x7ffcc6290394,25714031,0,0x0,8
tick,0x7ffcc6290394,25729367,0,0x0,8
tick,0x7ffcc6290394,25744494,0,0x0,8
tick,0x7ffcc6290394,25760381,0,0x0,8
tick,0x7ffcc6290394,25776249,0,0x0,8
tick,0x7ffcc6290394,25791847,0,0x0,8
tick,0x7ffcc6290394,25807415,0,0x0,8
tick,0x7ffcc6290394,25822634,0,0x0,8
tick,0x7ffcc6290394,25838640,0,0x0,8
tick,0x7ffcc6290394,25853947,0,0x0,8
tick,0x7ffcc6290394,25869328,0,0x0,8
tick,0x7ffcc6290394,25884104,0,0x0,8
tick,0x7ffcc6290394,25899444,0,0x0,8
tick,0x7ffcc6290394,25915368,0,0x0,8
tick,0x7ffcc6290394,25930626,0,0x0,8
tick,0x7ffcc6290394,25946338,0,0x0,8
tick,0x7ffcc6290394,25961436,0,0x0,8
tick,0x7ffcc6290394,25976731,0,0x0,8
tick,0x7ffcc6290394,25992135,0,0x0,8
tick,0x7ffcc6290394,26007455,0,0x0,8
tick,0x7ffcc6290394,26023219,0,0x0,8
tick,0x7ffcc6290394,26039182,0,0x0,8
tick,0x7ffcc6290394,26055046,0,0x0,8
tick,0x7ffcc6290394,26070671,0,0x0,8
tick,0x7ffcc6290394,26086049,0,0x0,8
tick,0x7ffcc6290394,26102113,0,0x0,8
tick,0x7ffcc6290394,26117868,0,0x0,8
tick,0x7ffcc6290394,26133656,0,0x0,8
tick,0x7ffcc6290394,26149568,0,0x0,8
tick,0x7ffcc6290394,26164413,0,0x0,8
tick,0x7ffcc6290394,26179977,0,0x0,8
tick,0x7ffcc6290394,26195701,0,0x0,8
tick,0x7ffcc6290394,26210758,0,0x0,8
tick,0x7ffcc6290394,26226207,0,0x0,8
tick,0x7ffcc6290394,26242291,0,0x0,8
tick,0x7ffcc6290394,26258130,0,0x0,8
tick,0x7ffcc6290394,26273847,0,0x0,8
tick,0x7ffcc6290394,26289035,0,0x0,8
tick,0x7ffcc6290394,26305046,0,0x0,8
tick,0x7ffcc6290394,26320188,0,0x0,8
tick,0x7ffcc6290394,26336105,0,0x0,8
tick,0x7ffcc6290394,26352169,0,0x0,8
tick,0x7ffcc6290394,26367520,0,0x0,8
tick,0x7ffcc6290394,26383542,0,0x0,8
tick,0x7ffcc6290394,26398771,0,0x0,8
tick,0x7ffcc6290394,26414452,0,0x0,8
tick,0x7ffcc6290394,26429656,0,0x0,8
tick,0x7ffcc6290394,26445580,0,0x0,8
tick,0x7ffcc6290394,26461267,0,0x0,8
tick,0x7ffcc6290394,26477509,0,0x0,8
tick,0x7ffcc6290394,26492377,0,0x0,8
tick,0x7ffcc6290394,26508338,0,0x0,8
tick,0x7ffcc6290394,26524070,0,0x0,8
tick,0x7ffcc6290394,26539469,0,0x0,8
tick,0x7ffcc6290394,26555112,0,0x0,8
tick,0x7ffcc6290394,26570572,0,0x0,8
tick,0x7ffcc6290394,26586315,0,0x0,8
tick,0x7ffcc6290394,26602120,0,0x0,8
tick,0x7ffcc6290394,26617694,0,0x0,8
tick,0x7ffcc6290394,26633466,0,0x0,8
tick,0x7ffcc6290394,26649155,0,0x0,8
tick,0x7ffcc6290394,26664350,0,0x0,8
tick,0x7ffcc6290394,26680051,0,0x0,8
tick,0x7ffcc6290394,26695473,0,0x0,8
tick,0x7ffcc6290394,26710920,0,0x0,8
tick,0x7ffcc6290394,26726772,0,0x0,8
tick,0x7ffcc6290394,26742650,0,0x0,8
tick,0x7ffcc6290394,26757684,0,0x0,8
tick,0x7ffcc6290394,26773646,0,0x0,8
tick,0x7ffcc6290394,26789640,0,0x0,8
tick,0x7ffcc6290394,26804680,0,0x0,8
tick,0x7ffcc6290394,26820879,0,0x0,8
tick,0x7ffcc6290394,26835878,0,0x0,8
tick,0x7ffcc6290394,26852152,0,0x0,8
tick,0x7ffcc6290394,26867238,0,0x0,8
tick,0x7ffcc6290394,26883015,0,0x0,8
tick,0x7ffcc6290394,26898471,0,0x0,8
tick,0x7ffcc6290394,26913685,0,0x0,8
tick,0x7ffcc6290394,26929074,0,0x0,8
tick,0x7ffcc6290394,26945120,0,0x0,8
tick,0x7ffcc6290394,26960611,0,0x0,8
tick,0x7ffcc6290394,26976430,0,0x0,8
tick,0x7ffcc6290394,26991673,0,0x0,8
tick,0x7ffcc6290394,27007293,0,0x0,8
tick,0x7ffcc6290394,27022721,0,0x0,8
tick,0x7ffcc6290394,27038558,0,0x0,8
tick,0x7ffcc6290394,27054576,0,0x0,8
tick,0x7ffcc6290394,27069721,0,0x0,8
tick,0x7ffcc6290394,27084954,0,0x0,8
tick,0x7ffcc6290394,27100232,0,0x0,8
tick,0x7ffcc6290394,27116068,0,0x0,8
tick,0x7ffcc6290394,27131748,0,0x0,8
tick,0x7ffcc6290394,27146967,0,0x0,8
tick,0x7ffcc6290394,27162572,0,0x0,8
tick,0x7ffcc6290394,27178131,0,0x0,8
tick,0x7ffcc6290394,27193507,0,0x0,8
tick,0x7ffcc6290394,27209460,0,0x0,8
tick,0x7ffcc6290394,27225272,0,0x0,8
tick,0x7ffcc6290394,27240656,0,0x0,8
tick,0x7ffcc6290394,27256658,0,0x0,8
tick,0x7ffcc6290394,27271783,0,0x0,8
tick,0x7ffcc6290394,27288040,0,0x0,8
tick,0x7ffcc6290394,27303777,0,0x0,8
tick,0x7ffcc6290394,27318990,0,0x0,8
tick,0x7ffcc6290394,27335217,0,0x0,8
tick,0x7ffcc6290394,27350304,0,0x0,8
tick,0x7ffcc6290394,27366145,0,0x0,8
tick,0x7ffcc6290394,27381445,0,0x0,8
tick,0x7ffcc6290394,27397291,0,0x0,8
tick,0x7ffcc6290394,27412545,0,0x0,8
tick,0x7ffcc6290394,27428536,0,0x0,8
tick,0x7ffcc6290394,27444020,0,0x0,8
tick,0x7ffcc6290394,27460093,0,0x0,8
tick,0x7ffcc6290394,27475483,0,0x0,8
tick,0x7ffcc6290394,27490835,0,0x0,8
tick,0x7ffcc6290394,27506396,0,0x0,8
tick,0x7ffcc6290394,27521768,0,0x0,8
tick,0x7ffcc6290394,27537500,0,0x0,8
tick,0x7ffcc6290394,27553139,0,0x0,8
tick,0x7ffcc6290394,27568983,0,0x0,8
tick,0x7ffcc6290394,27584886,0,0x0,8
tick,0x7ffcc6290394,27599995,0,0x0,8
tick,0x7ffcc6290394,27615867,0,0x0,8
tick,0x7ffcc6290394,27631036,0,0x0,8
tick,0x7ffcc6290394,27646053,0,0x0,8
tick,0x7ffcc6290394,27662116,0,0x0,8
tick,0x7ffcc6290394,27677798,0,0x0,8
tick,0x7ffcc6290394,27693392,0,0x0,8
tick,0x7ffcc6290394,27708953,0,0x0,8
tick,0x7ffcc6290394,27724792,0,0x0,8
tick,0x7ffcc6290394,27740725,0,0x0,8
tick,0x7ffcc6290394,27755463,0,0x0,8
tick,0x7ffcc6290394,27771622,0,0x0,8
tick,0x7ffcc6290394,27787469,0,0x0,8
tick,0x7ffcc6290394,27803259,0,0x0,8
tick,0x7ffcc6290394,27818953,0,0x0,8
tick,0x7ffcc6290394,27834378,0,0x0,8
tick,0x7ffcc6290394,27849949,0,0x0,8
tick,0x7ffcc6290394,27865256,0,0x0,8
tick,0x7ffcc6290394,27880948,0,0x0,8
tick,0x7ffcc6290394,27896605,0,0x0,8
tick,0x7ffcc6290394,27912294,0,0x0,8
tick,0x7ffcc6290394,27928027,0,0x0,8
tick,0x7ffcc6290394,27943245,0,0x0,8
tick,0x7ffcc6290394,27958552,0,0x0,8
tick,0x7ffcc6290394,27974280,0,0x0,8
tick,0x7ffcc6290394,27990401,0,0x0,8
tick,0x7ffcc6290394,28006322,0,0x0,8
tick,0x7ffcc6290394,28021374,0,0x0,8
tick,0x7ffcc6290394,28036692,0,0x0,8
tick,0x7ffcc6290394,28052205,0,0x0,8
tick,0x7ffcc6290394,28067534,0,0x0,8
tick,0x7ffcc6290394,28083154,0,0x0,8
tick,0x7ffcc6290394,28098217,0,0x0,8
tick,0x7ffcc6290394,28113414,0,0x0,8
tick,0x7ffcc6290394,28129423,0,0x0,8
tick,0x7ffcc6290394,28145199,0,0x0,8
tick,0x7ffcc6290394,28161132,0,0x0,8
tick,0x7ffcc6290394,28176511,0,0x0,8
tick,0x7ffcc6290394,28192534,0,0x0,8
tick,0x7ffcc6290394,28208124,0,0x0,8
tick,0x7ffcc6290394,28223935,0,0x0,8
tick,0x7ffcc6290394,28239626,0,0x0,8
tick,0x7ffcc6290394,28255564,0,0x0,8
tick,0x7ffcc6290394,28271032,0,0x0,8
tick,0x7ffcc6290394,28286512,0,0x0,8
tick,0x7ffcc6290394,28302379,0,0x0,8
tick,0x7ffcc6290394,28318062,0,0x0,8
tick,0x7ffcc6290394,28333293,0,0x0,8
tick,0x7ffcc6290394,28348069,0,0x0,8
tick,0x7ffcc6290394,28364265,0,0x0,8
tick,0x7ffcc6290394,28380138,0,0x0,8
tick,0x7ffcc6290394,28395432,0,0x0,8
tick,0x7ffcc6290394,28410736,0,0x0,8
tick,0x7ffcc6290394,28426792,0,0x0,8
tick,0x7ffcc6290394,28442291,0,0x0,8
tick,0x7ffcc6290394,28458159,0,0x0,8
tick,0x7ffcc6290394,28474182,0,0x0,8
tick,0x7ffcc6290394,28489723,0,0x0,8
tick,0x7ffcc6290394,28505498,0,0x0,8
tick,0x7ffcc6290394,28520927,0,0x0,8
tick,0x7ffcc6290394,28536926,0,0x0,8
tick,0x7ffcc6290394,28552542,0,0x0,8
tick,0x7ffcc6290394,28568533,0,0x0,8
tick,0x7ffcc6290394,28584105,0,0x0,8
tick,0x7ffcc6290394,28599422,0,0x0,8
tick,0x7ffcc6290394,28615286,0,0x0,8
tick,0x7ffcc6290394,28630601,0,0x0,8
tick,0x7ffcc6290394,28646522,0,0x0,8
tick,0x7ffcc6290394,28662331,0,0x0,8
tick,0x7ffcc6290394,28677998,0,0x0,8
tick,0x7ffcc6290394,28693649,0,0x0,8
tick,0x7ffcc6290394,28709091,0,0x0,8
tick,0x7ffcc6290394,28725170,0,0x0,8
tick,0x7ffcc6290394,28740644,0,0x0,8
tick,0x7ffcc6290394,28756721,0,0x0,8
tick,0x7ffcc6290394,28772226,0,0x0,8
tick,0x7ffcc6290394,28787343,0,0x0,8
tick,0x7ffcc6290394,28803000,0,0x0,8
tick,0x7ffcc6290394,28818900,0,0x0,8
tick,0x7ffcc6290394,28834250,0,0x0,8
tick,0x7ffcc6290394,28850030,0,0x0,8
tick,0x7ffcc6290394,28865490,0,0x0,8
tick,0x7ffcc6290394,28881510,0,0x0,8
tick,0x7ffcc6290394,28897013,0,0x0,8
tick,0x7ffcc6290394,28912847,0,0x0,8
tick,0x7ffcc6290394,28928284,0,0x0,8
tick,0x7ffcc6290394,28943783,0,0x0,8
tick,0x7ffcc6290394,28959356,0,0x0,8
tick,0x7ffcc6290394,28974583,0,0x0,8
tick,0x7ffcc6290394,28990058,0,0x0,8
tick,0x7ffcc6290394,29005576,0,0x0,8
tick,0x7ffcc6290394,29020847,0,0x0,8
tick,0x7ffcc6290394,29036292,0,0x0,8
tick,0x7ffcc6290394,29052278,0,0x0,8
tick,0x7ffcc6290394,29067328,0,0x0,8
tick,0x7ffcc6290394,29083138,0,0x0,8
tick,0x7ffcc6290394,29098968,0,0x0,8
tick,0x7ffcc6290394,29113909,0,0x0,8
tick,0x7ffcc6290394,29129818,0,0x0,8
tick,0x7ffcc6290394,29145600,0,0x0,8
tick,0x7ffcc6290394,29160410,0,0x0,8
tick,0x7ffcc6290394,29176041,0,0x0,8
tick,0x7ffcc6290394,29192238,0,0x0,8
tick,0x7ffcc6290394,29207439,0,0x0,8
tick,0x7ffcc6290394,29222722,0,0x0,8
tick,0x7ffcc6290394,29238236,0,0x0,8
tick,0x7ffcc6290394,29254037,0,0x0,8
tick,0x7ffcc6290394,29269657,0,0x0,8
tick,0x7ffcc6290394,29284713,0,0x0,8
tick,0x7ffcc6290394,29300460,0,0x0,8
tick,0x7ffcc6290394,29316193,0,0x0,8
tick,0x7ffcc6290394,29331414,0,0x0,8
tick,0x7ffcc6290394,29347091,0,0x0,8
tick,0x7ffcc6290394,29362711,0,0x0,8
tick,0x7ffcc6290394,29378684,0,0x0,8
tick,0x7ffcc6290394,29394451,0,0x0,8
tick,0x7ffcc6290394,29410542,0,0x0,8
tick,0x7ffcc6290394,29426440,0,0x0,8
tick,0x7ffcc6290394,29441670,0,0x0,8
tick,0x7ffcc6290394,29458005,0,0x0,8
tick,0x7ffcc6290394,29473668,0,0x0,8
tick,0x7ffcc6290394,29489342,0,0x0,8
tick,0x7ffcc6290394,29505049,0,0x0,8
tick,0x7ffcc6290394,29520796,0,0x0,8
tick,0x7ffcc6290394,29536451,0,0x0,8
tick,0x7ffcc6290394,29551191,0,0x0,8
tick,0x7ffcc6290394,29566476,0,0x0,8
tick,0x7ffcc6290394,29581929,0,0x0,8
tick,0x7ffcc6290394,29597150,0,0x0,8
tick,0x7ffcc6290394,29612191,0,0x0,8
tick,0x7ffcc6290394,29627655,0,0x0,8
tick,0x7ffcc6290394,29643502,0,0x0,8
tick,0x7ffcc6290394,29658625,0,0x0,8
tick,0x7ffcc6290394,29674466,0,0x0,8
tick,0x7ffcc6290394,29689884,0,0x0,8
tick,0x7ffcc6290394,29705117,0,0x0,8
tick,0x7ffcc6290394,29720775,0,0x0,8
tick,0x7ffcc6290394,29736716,0,0x0,8
tick,0x7ffcc6290394,29751521,0,0x0,8
tick,0x7ffcc6290394,29767430,0,0x0,8
tick,0x7ffcc6290394,29783003,0,0x0,8
tick,0x7ffcc6290394,29798000,0,0x0,8
tick,0x7ffcc6290394,29813403,0,0x0,8
tick,0x7ffcc6290394,29829026,0,0x0,8
tick,0x7ffcc6290394,29844759,0,0x0,8
tick,0x7ffcc6290394,29860035,0,0x0,8
tick,0x7ffcc6290394,29874671,0,0x0,8
tick,0x7ffcc6290394,29890547,0,0x0,8
tick,0x7ffcc6290394,29906614,0,0x0,8
tick,0x7ffcc6290394,29922557,0,0x0,8
tick,0x7ffcc6290394,29937886,0,0x0,8
tick,0x7ffcc6290394,29953270,0,0x0,8
tick,0x7ffcc6290394,29969179,0,0x0,8
tick,0x7ffcc6290394,29985195,0,0x0,8
tick,0x7ffcc6290394,30000860,0,0x0,8
tick,0x7ffcc6290394,30015776,0,0x0,8
tick,0x7ffcc6290394,30031560,0,0x0,8
tick,0x7ffcc6290394,30046475,0,0x0,8
tick,0x7ffcc6290394,30062558,0,0x0,8
tick,0x7ffcc6290394,30077631,0,0x0,8
tick,0x7ffcc6290394,30093821,0,0x0,8
tick,0x7ffcc6290394,30109215,0,0x0,8
tick,0x7ffcc6290394,30124621,0,0x0,8
tick,0x7ffcc6290394,30140508,0,0x0,8
tick,0x7ffcc6290394,30156313,0,0x0,8
tick,0x7ffcc6290394,30172012,0,0x0,8
tick,0x7ffcc6290394,30187574,0,0x0,8
tick,0x7ffcc6290394,30203531,0,0x0,8
tick,0x7ffcc6290394,30219520,0,0x0,8
tick,0x7ffcc6290394,30235042,0,0x0,8
tick,0x7ffcc6290394,30250372,0,0x0,8
tick,0x7ffcc6290394,30265851,0,0x0,8
tick,0x7ffcc6290394,30281899,0,0x0,8
tick,0x7ffcc6290394,30297615,0,0x0,8
tick,0x7ffcc6290394,30313356,0,0x0,8
tick,0x7ffcc6290394,30329331,0,0x0,8
tick,0x7ffcc6290394,30344733,0,0x0,8
tick,0x7ffcc6290394,30359628,0,0x0,8
tick,0x7ffcc6290394,30374814,0,0x0,8
tick,0x7ffcc6290394,30390725,0,0x0,8
tick,0x7ffcc6290394,30406428,0,0x0,8
tick,0x7ffcc6290394,30422100,0,0x0,8
tick,0x7ffcc6290394,30437911,0,0x0,8
tick,0x7ffcc6290394,30452873,0,0x0,8
tick,0x7ffcc6290394,30468290,0,0x0,8
tick,0x7ffcc6290394,30483930,0,0x0,8
tick,0x7ffcc6290394,30499643,0,0x0,8
tick,0x7ffcc6290394,30515241,0,0x0,8
tick,0x7ffcc6290394,30530590,0,0x0,8
tick,0x7ffcc6290394,30546039,0,0x0,8
tick,0x7ffcc6290394,30561237,0,0x0,8
tick,0x7ffcc6290394,30576995,0,0x0,8
tick,0x7ffcc6290394,30592989,0,0x0,8
tick,0x7ffcc6290394,30609037,0,0x0,8
tick,0x7ffcc6290394,30624549,0,0x0,8
tick,0x7ffcc6290394,30640370,0,0x0,8
tick,0x7ffcc6290394,30656290,0,0x0,8
tick,0x7ffcc6290394,30672021,0,0x0,8
tick,0x7ffcc6290394,30687471,0,0x0,8
tick,0x7ffcc6290394,30703239,0,0x0,8
tick,0x7ffcc6290394,30719196,0,0x0,8
tick,0x7ffcc6290394,30734723,0,0x0,8
tick,0x7ffcc6290394,30750117,0,0x0,8
tick,0x7ffcc6290394,30766157,0,0x0,8
tick,0x7ffcc6290394,30781944,0,0x0,8
tick,0x7ffcc6290394,30797982,0,0x0,8
tick,0x7ffcc6290394,30814068,0,0x0,8
tick,0x7ffcc6290394,30830136,0,0x0,8
tick,0x7ffcc6290394,30845416,0,0x0,8
tick,0x7ffcc6290394,30860929,0,0x0,8
tick,0x7ffcc6290394,30876861,0,0x0,8
tick,0x7ffcc6290394,30892585,0,0x0,8
tick,0x7ffcc6290394,30908332,0,0x0,8
tick,0x7ffcc6290394,30923669,0,0x0,8
tick,0x7ffcc6290394,30938793,0,0x0,8
tick,0x7ffcc6290394,30954945,0,0x0,8
tick,0x7ffcc6290394,30971039,0,0x0,8
tick,0x7ffcc6290394,30986772,0,0x0,8
tick,0x7ffcc6290394,31002634,0,0x0,8
tick,0x7ffcc6290394,31018577,0,0x0,8
tick,0x7ffcc6290394,31034411,0,0x0,8
tick,0x7ffcc6290394,31050534,0,0x0,8
tick,0x7ffcc6290394,31066389,0,0x0,8
tick,0x7ffcc6290394,31081389,0,0x0,8
tick,0x7ffcc6290394,31097316,0,0x0,8
tick,0x7ffcc6290394,31113194,0,0x0,8
tick,0x7ffcc6290394,31129012,0,0x0,8
tick,0x7ffcc6290394,31144980,0,0x0,8
tick,0x7ffcc6290394,31160663,0,0x0,8
tick,0x7ffcc6290394,31176475,0,0x0,8
tick,0x7ffcc6290394,31192608,0,0x0,8
tick,0x7ffcc6290394,31207472,0,0x0,8
tick,0x7ffcc6290394,31223075,0,0x0,8
tick,0x7ffcc6290394,31238900,0,0x0,8
tick,0x7ffcc6290394,31254633,0,0x0,8
tick,0x7ffcc6290394,31270448,0,0x0,8
tick,0x7ffcc6290394,31285707,0,0x0,8
tick,0x7ffcc6290394,31301533,0,0x0,8
tick,0x7ffcc6290394,31317100,0,0x0,8
tick,0x7ffcc6290394,31332240,0,0x0,8
tick,0x7ffcc6290394,31347484,0,0x0,8
tick,0x7ffcc6290394,31362736,0,0x0,8
tick,0x7ffcc6290394,31378705,0,0x0,8
tick,0x7ffcc6290394,31394471,0,0x0,8
tick,0x7ffcc6290394,31410199,0,0x0,8
tick,0x7ffcc6290394,31426060,0,0x0,8
tick,0x7ffcc6290394,31441786,0,0x0,8
tick,0x7ffcc6290394,31456875,0,0x0,8
tick,0x7ffcc6290394,31472570,0,0x0,8
tick,0x7ffcc6290394,31487508,0,0x0,8
tick,0x7ffcc6290394,31503195,0,0x0,8
tick,0x7ffcc6290394,31518476,0,0x0,8
tick,0x7ffcc6290394,31533870,0,0x0,8
tick,0x7ffcc6290394,31549549,0,0x0,8
tick,0x7ffcc6290394,31565688,0,0x0,8
tick,0x7ffcc6290394,31581734,0,0x0,8
tick,0x7ffcc6290394,31596828,0,0x0,8
tick,0x7ffcc6290394,31611928,0,0x0,8
tick,0x7ffcc6290394,31627674,0,0x0,8
tick,0x7ffcc6290394,31643336,0,0x0,8
tick,0x7ffcc6290394,31658446,0,0x0,8
tick,0x7ffcc6290394,31673801,0,0x0,8
tick,0x7ffcc6290394,31690043,0,0x0,8
tick,0x7ffcc6290394,31704865,0,0x0,8
tick,0x7ffcc6290394,31720505,0,0x0,8
tick,0x7ffcc6290394,31735929,0,0x0,8
tick,0x7ffcc6290394,31751275,0,0x0,8
tick,0x7ffcc6290394,31767132,0,0x0,8
tick,0x7ffcc6290394,31783250,0,0x0,8
tick,0x7ffcc6290394,31799020,0,0x0,8
tick,0x7ffcc6290394,31814405,0,0x0,8
tick,0x7ffcc6290394,31829998,0,0x0,8
tick,0x7ffcc6290394,31845894,0,0x0,8
tick,0x7ffcc6290394,31861186,0,0x0,8
tick,0x7ffcc6290394,31876933,0,0x0,8
tick,0x7ffcc6290394,31892833,0,0x0,8
tick,0x7ffcc6290394,31908463,0,0x0,8
tick,0x7ffcc6290394,31923823,0,0x0,8
tick,0x7ffcc6290394,31938809,0,0x0,8
tick,0x7ffcc6290394,31954029,0,0x0,8
tick,0x7ffcc6290394,31969412,0,0x0,8
tick,0x7ffcc6290394,31984589,0,0x0,8
tick,0x7ffcc6290394,31999972,0,0x0,8
tick,0x7ffcc6290394,32015837,0,0x0,8
tick,0x7ffcc6290394,32031232,0,0x0,8
tick,0x7ffcc6290394,32046579,0,0x0,8
tick,0x7ffcc6290394,32062126,0,0x0,8
tick,0x7ffcc6290394,32077704,0,0x0,8
tick,0x7ffcc6290394,32092983,0,0x0,8
tick,0x7ffcc6290394,32108760,0,0x0,8
tick,0x7ffcc6290394,32124394,0,0x0,8
tick,0x7ffcc6290394,32139501,0,0x0,8
tick,0x7ffcc6290394,32155501,0,0x0,8
tick,0x7ffcc6290394,32171048,0,0x0,8
tick,0x7ffcc6290394,32186756,0,0x0,8
tick,0x7ffcc6290394,32202606,0,0x0,8
tick,0x7ffcc6290394,32218371,0,0x0,8
tick,0x7ffcc6290394,32234061,0,0x0,8
tick,0x7ffcc6290394,32249644,0,0x0,8
tick,0x7ffcc6290394,32264885,0,0x0,8
tick,0x7ffcc6290394,32280283,0,0x0,8
tick,0x7ffcc6290394,32295790,0,0x0,8
tick,0x7ffcc6290394,32311466,0,0x0,8
tick,0x7ffcc6290394,32327109,0,0x0,8
tick,0x7ffcc6290394,32342943,0,0x0,8
tick,0x7ffcc6290394,32358761,0,0x0,8
tick,0x7ffcc6290394,32374639,0,0x0,8
tick,0x7ffcc6290394,32390476,0,0x0,8
tick,0x7ffcc6290394,32405904,0,0x0,8
tick,0x7ffcc6290394,32421601,0,0x0,8
tick,0x7ffcc6290394,32436785,0,0x0,8
tick,0x7ffcc6290394,32452316,0,0x0,8
tick,0x7ffcc6290394,32467889,0,0x0,8
tick,0x7ffcc6290394,32483689,0,0x0,8
tick,0x7ffcc6290394,32498827,0,0x0,8
tick,0x7ffcc6290394,32514571,0,0x0,8
tick,0x7ffcc6290394,32530289,0,0x0,8
tick,0x7ffcc6290394,32545989,0,0x0,8
tick,0x7ffcc6290394,32561817,0,0x0,8
tick,0x7ffcc6290394,32577199,0,0x0,8
tick,0x7ffcc6290394,32592591,0,0x0,8
tick,0x7ffcc6290394,32608326,0,0x0,8
tick,0x7ffcc6290394,32624159,0,0x0,8
tick,0x7ffcc6290394,32639988,0,0x0,8
tick,0x7ffcc6290394,32654802,0,0x0,8
tick,0x7ffcc6290394,32670624,0,0x0,8
tick,0x7ffcc6290394,32686223,0,0x0,8
tick,0x7ffcc6290394,32701958,0,0x0,8
tick,0x7ffcc6290394,32717778,0,0x0,8
tick,0x7ffcc6290394,32733499,0,0x0,8
tick,0x7ffcc6290394,32748998,0,0x0,8
tick,0x7ffcc6290394,32764742,0,0x0,8
tick,0x7ffcc6290394,32780030,0,0x0,8
tick,0x7ffcc6290394,32795791,0,0x0,8
tick,0x7ffcc6290394,32811581,0,0x0,8
tick,0x7ffcc6290394,32827177,0,0x0,8
tick,0x7ffcc6290394,32842775,0,0x0,8
tick,0x7ffcc6290394,32857448,0,0x0,8
tick,0x7ffcc6290394,32872941,0,0x0,8
tick,0x7ffcc6290394,32888570,0,0x0,8
tick,0x7ffcc6290394,32904003,0,0x0,8
tick,0x7ffcc6290394,32919652,0,0x0,8
tick,0x7ffcc6290394,32935019,0,0x0,8
tick,0x7ffcc6290394,32950675,0,0x0,8
tick,0x7ffcc6290394,32966147,0,0x0,8
tick,0x7ffcc6290394,32982166,0,0x0,8
tick,0x7ffcc6290394,32997962,0,0x0,8
tick,0x7ffcc6290394,33013748,0,0x0,8
tick,0x7ffcc6290394,33029986,0,0x0,8
tick,0x7ffcc6290394,33044949,0,0x0,8
tick,0x7ffcc6290394,33060761,0,0x0,8
tick,0x7ffcc6290394,33076064,0,0x0,8
tick,0x7ffcc6290394,33091381,0,0x0,8
tick,0x7ffcc6290394,33106910,0,0x0,8
tick,0x7ffcc6290394,33122485,0,0x0,8
tick,0x7ffcc6290394,33137860,0,0x0,8
tick,0x7ffcc6290394,33153097,0,0x0,8
tick,0x7ffcc6290394,33168853,0,0x0,8
tick,0x7ffcc6290394,33184030,0,0x0,8
tick,0x7ffcc6290394,33200055,0,0x0,8
tick,0x7ffcc6290394,33215124,0,0x0,8
tick,0x7ffcc6290394,33230335,0,0x0,8
tick,0x7ffcc6290394,33246408,0,0x0,8
tick,0x7ffcc6290394,33262022,0,0x0,8
tick,0x7ffcc6290394,33278031,0,0x0,8
tick,0x7ffcc6290394,33293506,0,0x0,8
tick,0x7ffcc6290394,33309572,0,0x0,8
tick,0x7ffcc6290394,33325620,0,0x0,8
tick,0x7ffcc6290394,33340757,0,0x0,8
tick,0x7ffcc6290394,33355686,0,0x0,8
tick,0x7ffcc6290394,33371529,0,0x0,8
tick,0x7ffcc6290394,33387432,0,0x0,8
tick,0x7ffcc6290394,33402507,0,0x0,8
tick,0x7ffcc6290394,33418551,0,0x0,8
tick,0x7ffcc6290394,33434332,0,0x0,8
tick,0x7ffcc6290394,33449876,0,0x0,8
tick,0x7ffcc6290394,33464701,0,0x0,8
tick,0x7ffcc6290394,33480527,0,0x0,8
tick,0x7ffcc6290394,33496761,0,0x0,8
tick,0x7ffcc6290394,33511675,0,0x0,8
tick,0x7ffcc6290394,33526922,0,0x0,8
tick,0x7ffcc6290394,33542800,0,0x0,8
tick,0x7ffcc6290394,33558386,0,0x0,8
tick,0x7ffcc6290394,33574066,0,0x0,8
tick,0x7ffcc6290394,33589688,0,0x0,8
tick,0x7ffcc6290394,33605031,0,0x0,8
tick,0x7ffcc6290394,33620683,0,0x0,8
tick,0x7ffcc6290394,33636029,0,0x0,8
tick,0x7ffcc6290394,33651969,0,0x0,8
tick,0x7ffcc6290394,33667170,0,0x0,8
tick,0x7ffcc6290394,33682368,0,0x0,8
tick,0x7ffcc6290394,33698173,0,0x0,8
tick,0x7ffcc6290394,33713989,0,0x0,8
tick,0x7ffcc6290394,33729872,0,0x0,8
code-creation,JS,10,33734352,0x307efd7e2ee,50,checkAndSetDirectionKey node:internal/repl/utils:533:35,0x22fbed9b010,~
code-source-info,0x307efd7e2ee,128,17782,18097,C0O17799C7O17810C12O17830C13O17843C14O17856C21O17864C26O18022C31O18037C36O18037C40O18053C42O18057C48O18080C49O18092,,
code-creation,JS,10,33734721,0x307efd7e52e,341,onSigInt node:repl:848:38,0x2d4ae63cc80,~
code-source-info,0x307efd7e52e,115,29328,30043,C0O29338C5O29365C11O29370C16O29403C38O29395C66O29395C69O29438C72O29384C136O29462C137O29469C138O29498C143O29503C148O29508C154O29515C158O29527C163O29532C168O29532C172O29550C179O29569C182O29550C186O29595C195O29600C197O29599C201O29630C203O29647C209O29654C216O29662C218O29678C224O29704C229O29709C234O29709C238O29727C242O29737C248O29755C249O29762C250O29779C255O29784C260O29791C268O29791C273O29883C277O29893C285O29922C289O29932C295O29955C300O29960C305O29960C309O29989C314O29994C321O30006C325O30017C330O30022C335O30022C340O30042,,
code-creation,JS,10,33735316,0x307efd7e8de,22,_turnOffEditorMode node:repl:1729:28,0x37fd75f53f0,~
code-source-info,0x307efd7e8de,115,58648,58727,C0O58660C1O58676C5O58693C10O58708C15O58693C21O58726,,
tick,0x7ffcc6290394,33745563,0,0x0,8
tick,0x7ffcc6290394,33761457,0,0x0,8
tick,0x7ffcc6290394,33776617,0,0x0,8
tick,0x7ffcc6290394,33792494,0,0x0,8
tick,0x7ffcc6290394,33807710,0,0x0,8
tick,0x7ffcc6290394,33822976,0,0x0,8
tick,0x7ffcc6290394,33839259,0,0x0,8
tick,0x7ffcc6290394,33855131,0,0x0,8
tick,0x7ff7b99def20,33870551,0,0x0,6
tick,0x7ffcc6290394,33886756,0,0x0,8
tick,0x7ffcc6290394,33902005,0,0x0,8
tick,0x7ffcc6290394,33917277,0,0x0,8
tick,0x7ffcc6290394,33932769,0,0x0,8
tick,0x7ffcc6290394,33947961,0,0x0,8
tick,0x7ffcc6290394,33963872,0,0x0,8
tick,0x7ffcc6290394,33979612,0,0x0,8
tick,0x7ffcc6290394,33995172,0,0x0,8
tick,0x7ffcc6290394,34010445,0,0x0,8
tick,0x7ffcc6290394,34026499,0,0x0,8
tick,0x7ffcc6290394,34041484,0,0x0,8
tick,0x7ffcc6290394,34056673,0,0x0,8
tick,0x7ffcc6290394,34072282,0,0x0,8
tick,0x7ffcc6290394,34087578,0,0x0,8
tick,0x7ffcc6290394,34102934,0,0x0,8
tick,0x7ffcc6290394,34118392,0,0x0,8
tick,0x7ffcc6290394,34133918,0,0x0,8
tick,0x7ffcc6290394,34149542,0,0x0,8
tick,0x7ffcc6290394,34164628,0,0x0,8
tick,0x7ffcc6290394,34180066,0,0x0,8
tick,0x7ffcc6290394,34195240,0,0x0,8
tick,0x7ffcc6290394,34210529,0,0x0,8
tick,0x7ffcc6290394,34225336,0,0x0,8
tick,0x7ffcc6290394,34241250,0,0x0,8
tick,0x7ffcc6290394,34257079,0,0x0,8
tick,0x7ffcc6290394,34272544,0,0x0,8
tick,0x7ffcc6290394,34288346,0,0x0,8
tick,0x7ffcc6290394,34303092,0,0x0,8
tick,0x7ffcc6290394,34318349,0,0x0,8
tick,0x7ffcc6290394,34333830,0,0x0,8
tick,0x7ffcc6290394,34348719,0,0x0,8
tick,0x7ffcc6290394,34364724,0,0x0,8
tick,0x7ffcc6290394,34380813,0,0x0,8
tick,0x7ffcc6290394,34396022,0,0x0,8
tick,0x7ffcc6290394,34412053,0,0x0,8
tick,0x7ffcc6290394,34427916,0,0x0,8
tick,0x7ffcc6290394,34443947,0,0x0,8
tick,0x7ffcc6290394,34459646,0,0x0,8
tick,0x7ffcc6290394,34475110,0,0x0,8
tick,0x7ffcc6290394,34490445,0,0x0,8
tick,0x7ffcc6290394,34506020,0,0x0,8
tick,0x7ffcc6290394,34521413,0,0x0,8
tick,0x7ffcc6290394,34537033,0,0x0,8
tick,0x7ffcc6290394,34553138,0,0x0,8
tick,0x7ffcc6290394,34568216,0,0x0,8
tick,0x7ffcc6290394,34583130,0,0x0,8
tick,0x7ffcc6290394,34598988,0,0x0,8
tick,0x7ffcc6290394,34614205,0,0x0,8
tick,0x7ffcc6290394,34630046,0,0x0,8
tick,0x7ffcc6290394,34645384,0,0x0,8
tick,0x7ffcc6290394,34660655,0,0x0,8
tick,0x7ffcc6290394,34675863,0,0x0,8
tick,0x7ffcc6290394,34691266,0,0x0,8
tick,0x7ffcc6290394,34707034,0,0x0,8
tick,0x7ffcc6290394,34722465,0,0x0,8
tick,0x7ffcc6290394,34738253,0,0x0,8
tick,0x7ffcc6290394,34753376,0,0x0,8
tick,0x7ffcc6290394,34769110,0,0x0,8
tick,0x7ffcc6290394,34784721,0,0x0,8
tick,0x7ffcc6290394,34800102,0,0x0,8
tick,0x7ffcc6290394,34815738,0,0x0,8
tick,0x7ffcc6290394,34831673,0,0x0,8
tick,0x7ffcc6290394,34847610,0,0x0,8
tick,0x7ffcc6290394,34863381,0,0x0,8
tick,0x7ffcc6290394,34879169,0,0x0,8
tick,0x7ffcc6290394,34894713,0,0x0,8
tick,0x7ffcc6290394,34910178,0,0x0,8
tick,0x7ffcc6290394,34926081,0,0x0,8
tick,0x7ffcc6290394,34942007,0,0x0,8
tick,0x7ffcc6290394,34956947,0,0x0,8
tick,0x7ffcc6290394,34972811,0,0x0,8
tick,0x7ffcc6290394,34988366,0,0x0,8
tick,0x7ffcc6290394,35004378,0,0x0,8
tick,0x7ffcc6290394,35020208,0,0x0,8
tick,0x7ffcc6290394,35036183,0,0x0,8
tick,0x7ffcc6290394,35052100,0,0x0,8
tick,0x7ffcc6290394,35067291,0,0x0,8
tick,0x7ffcc6290394,35082985,0,0x0,8
tick,0x7ffcc6290394,35099005,0,0x0,8
tick,0x7ffcc6290394,35114509,0,0x0,8
tick,0x7ffcc6290394,35130295,0,0x0,8
tick,0x7ffcc6290394,35145341,0,0x0,8
tick,0x7ffcc6290394,35160816,0,0x0,8
tick,0x7ffcc6290394,35175942,0,0x0,8
tick,0x7ffcc6290394,35191756,0,0x0,8
tick,0x7ffcc6290394,35206584,0,0x0,8
tick,0x7ffcc6290394,35221817,0,0x0,8
tick,0x7ffcc6290394,35237287,0,0x0,8
tick,0x7ffcc6290394,35252974,0,0x0,8
tick,0x7ffcc6290394,35268608,0,0x0,8
tick,0x7ffcc6290394,35283943,0,0x0,8
tick,0x7ffcc6290394,35299303,0,0x0,8
tick,0x7ffcc6290394,35314737,0,0x0,8
tick,0x7ffcc6290394,35330138,0,0x0,8
tick,0x7ffcc6290394,35345440,0,0x0,8
tick,0x7ffcc6290394,35361339,0,0x0,8
tick,0x7ffcc6290394,35377277,0,0x0,8
tick,0x7ffcc6290394,35392629,0,0x0,8
tick,0x7ffcc6290394,35407843,0,0x0,8
tick,0x7ffcc6290394,35423794,0,0x0,8
tick,0x7ffcc6290394,35439568,0,0x0,8
tick,0x7ffcc6290394,35455422,0,0x0,8
tick,0x7ffcc6290394,35470832,0,0x0,8
tick,0x7ffcc6290394,35486820,0,0x0,8
tick,0x7ffcc6290394,35502129,0,0x0,8
tick,0x7ffcc6290394,35517512,0,0x0,8
tick,0x7ffcc6290394,35533043,0,0x0,8
tick,0x7ffcc6290394,35549111,0,0x0,8
tick,0x7ffcc6290394,35564683,0,0x0,8
tick,0x7ffcc6290394,35579588,0,0x0,8
tick,0x7ffcc6290394,35595134,0,0x0,8
tick,0x7ffcc6290394,35610271,0,0x0,8
tick,0x7ffcc6290394,35626024,0,0x0,8
tick,0x7ffcc6290394,35641168,0,0x0,8
tick,0x7ffcc6290394,35655820,0,0x0,8
tick,0x7ffcc6290394,35671631,0,0x0,8
tick,0x7ffcc6290394,35687642,0,0x0,8
tick,0x7ffcc6290394,35702765,0,0x0,8
tick,0x7ffcc6290394,35718423,0,0x0,8
tick,0x7ffcc6290394,35733836,0,0x0,8
tick,0x7ffcc6290394,35749042,0,0x0,8
tick,0x7ffcc6290394,35764543,0,0x0,8
tick,0x7ffcc6290394,35780299,0,0x0,8
tick,0x7ffcc6290394,35796139,0,0x0,8
tick,0x7ffcc6290394,35811893,0,0x0,8
tick,0x7ffcc6290394,35827552,0,0x0,8
tick,0x7ffcc6290394,35843347,0,0x0,8
tick,0x7ffcc6290394,35859353,0,0x0,8
tick,0x7ffcc6290394,35875145,0,0x0,8
tick,0x7ffcc6290394,35890820,0,0x0,8
tick,0x7ffcc6290394,35906666,0,0x0,8
tick,0x7ffcc6290394,35922075,0,0x0,8
tick,0x7ffcc6290394,35937358,0,0x0,8
tick,0x7ffcc6290394,35952864,0,0x0,8
tick,0x7ffcc6290394,35968655,0,0x0,8
tick,0x7ffcc6290394,35983954,0,0x0,8
tick,0x7ffcc6290394,35999301,0,0x0,8
tick,0x7ffcc6290394,36015356,0,0x0,8
tick,0x7ffcc6290394,36031340,0,0x0,8
tick,0x7ffcc6290394,36047443,0,0x0,8
tick,0x7ffcc6290394,36063099,0,0x0,8
tick,0x7ffcc6290394,36078569,0,0x0,8
tick,0x7ffcc6290394,36094630,0,0x0,8
tick,0x7ffcc6290394,36110030,0,0x0,8
tick,0x7ffcc6290394,36125975,0,0x0,8
tick,0x7ffcc6290394,36141884,0,0x0,8
tick,0x7ffcc6290394,36157421,0,0x0,8
tick,0x7ffcc6290394,36172954,0,0x0,8
tick,0x7ffcc6290394,36188148,0,0x0,8
tick,0x7ffcc6290394,36203164,0,0x0,8
tick,0x7ffcc6290394,36218569,0,0x0,8
tick,0x7ffcc6290394,36233403,0,0x0,8
tick,0x7ffcc6290394,36249156,0,0x0,8
tick,0x7ffcc6290394,36264969,0,0x0,8
tick,0x7ffcc6290394,36280487,0,0x0,8
tick,0x7ffcc6290394,36295862,0,0x0,8
tick,0x7ffcc6290394,36311625,0,0x0,8
tick,0x7ffcc6290394,36327530,0,0x0,8
tick,0x7ffcc6290394,36342781,0,0x0,8
tick,0x7ffcc6290394,36358545,0,0x0,8
tick,0x7ffcc6290394,36373696,0,0x0,8
tick,0x7ffcc6290394,36389656,0,0x0,8
tick,0x7ffcc6290394,36404971,0,0x0,8
tick,0x7ffcc6290394,36420171,0,0x0,8
tick,0x7ffcc6290394,36436065,0,0x0,8
tick,0x7ffcc6290394,36451722,0,0x0,8
tick,0x7ffcc6290394,36467666,0,0x0,8
tick,0x7ffcc6290394,36483811,0,0x0,8
tick,0x7ffcc6290394,36498768,0,0x0,8
tick,0x7ffcc6290394,36514828,0,0x0,8
tick,0x7ffcc6290394,36530578,0,0x0,8
tick,0x7ffcc6290394,36546146,0,0x0,8
tick,0x7ffcc6290394,36561160,0,0x0,8
tick,0x7ffcc6290394,36576699,0,0x0,8
tick,0x7ffcc6290394,36591889,0,0x0,8
tick,0x7ffcc6290394,36607572,0,0x0,8
tick,0x7ffcc6290394,36623451,0,0x0,8
tick,0x7ffcc6290394,36638869,0,0x0,8
tick,0x7ffcc6290394,36654068,0,0x0,8
tick,0x7ffcc6290394,36669748,0,0x0,8
tick,0x7ffcc6290394,36685721,0,0x0,8
tick,0x7ffcc6290394,36701016,0,0x0,8
tick,0x7ffcc6290394,36716770,0,0x0,8
tick,0x7ffcc6290394,36732483,0,0x0,8
tick,0x7ffcc6290394,36747928,0,0x0,8
tick,0x7ffcc6290394,36763613,0,0x0,8
tick,0x7ffcc6290394,36779024,0,0x0,8
tick,0x7ffcc6290394,36794532,0,0x0,8
tick,0x7ffcc6290394,36810080,0,0x0,8
tick,0x7ffcc6290394,36825418,0,0x0,8
tick,0x7ffcc6290394,36840602,0,0x0,8
tick,0x7ffcc6290394,36856394,0,0x0,8
tick,0x7ffcc6290394,36871771,0,0x0,8
tick,0x7ffcc6290394,36887548,0,0x0,8
tick,0x7ffcc6290394,36902755,0,0x0,8
tick,0x7ffcc6290394,36919276,0,0x0,8
tick,0x7ffcc6290394,36933898,0,0x0,8
tick,0x7ffcc6290394,36950101,0,0x0,8
tick,0x7ffcc6290394,36965550,0,0x0,8
tick,0x7ffcc6290394,36980473,0,0x0,8
tick,0x7ffcc6290394,36996433,0,0x0,8
tick,0x7ffcc6290394,37012261,0,0x0,8
tick,0x7ffcc6290394,37027496,0,0x0,8
tick,0x7ffcc6290394,37043385,0,0x0,8
tick,0x7ffcc6290394,37058896,0,0x0,8
tick,0x7ffcc6290394,37074850,0,0x0,8
tick,0x7ffcc6290394,37090216,0,0x0,8
tick,0x7ffcc6290394,37105984,0,0x0,8
tick,0x7ffcc6290394,37121952,0,0x0,8
tick,0x7ffcc6290394,37136934,0,0x0,8
tick,0x7ffcc6290394,37152271,0,0x0,8
tick,0x7ffcc6290394,37168185,0,0x0,8
tick,0x7ffcc6290394,37183540,0,0x0,8
tick,0x7ffcc6290394,37199408,0,0x0,8
tick,0x7ffcc6290394,37214756,0,0x0,8
tick,0x7ffcc6290394,37230526,0,0x0,8
tick,0x7ffcc6290394,37245812,0,0x0,8
tick,0x7ffcc6290394,37261037,0,0x0,8
tick,0x7ffcc6290394,37276196,0,0x0,8
tick,0x7ffcc6290394,37291623,0,0x0,8
tick,0x7ffcc6290394,37307354,0,0x0,8
tick,0x7ffcc6290394,37323327,0,0x0,8
tick,0x7ffcc6290394,37339244,0,0x0,8
tick,0x7ffcc6290394,37355095,0,0x0,8
tick,0x7ffcc6290394,37371085,0,0x0,8
tick,0x7ffcc6290394,37386932,0,0x0,8
tick,0x7ffcc6290394,37402028,0,0x0,8
tick,0x7ffcc6290394,37417212,0,0x0,8
tick,0x7ffcc6290394,37432772,0,0x0,8
tick,0x7ffcc6290394,37448304,0,0x0,8
tick,0x7ffcc6290394,37464094,0,0x0,8
tick,0x7ffcc6290394,37479897,0,0x0,8
tick,0x7ffcc6290394,37495827,0,0x0,8
tick,0x7ffcc6290394,37511108,0,0x0,8
tick,0x7ffcc6290394,37527165,0,0x0,8
tick,0x7ffcc6290394,37542033,0,0x0,8
tick,0x7ffcc6290394,37557604,0,0x0,8
tick,0x7ffcc6290394,37572976,0,0x0,8
tick,0x7ffcc6290394,37588856,0,0x0,8
tick,0x7ffcc6290394,37604372,0,0x0,8
tick,0x7ffcc6290394,37619517,0,0x0,8
tick,0x7ffcc6290394,37635416,0,0x0,8
tick,0x7ffcc6290394,37650647,0,0x0,8
tick,0x7ffcc6290394,37666148,0,0x0,8
tick,0x7ffcc6290394,37682212,0,0x0,8
tick,0x7ffcc6290394,37698157,0,0x0,8
tick,0x7ffcc6290394,37713891,0,0x0,8
tick,0x7ffcc6290394,37729186,0,0x0,8
tick,0x7ffcc6290394,37745011,0,0x0,8
tick,0x7ffcc6290394,37760694,0,0x0,8
tick,0x7ffcc6290394,37776161,0,0x0,8
tick,0x7ffcc6290394,37791619,0,0x0,8
tick,0x7ffcc6290394,37807427,0,0x0,8
tick,0x7ffcc6290394,37822837,0,0x0,8
tick,0x7ffcc6290394,37838732,0,0x0,8
tick,0x7ffcc6290394,37854106,0,0x0,8
tick,0x7ffcc6290394,37869911,0,0x0,8
tick,0x7ffcc6290394,37885701,0,0x0,8
tick,0x7ffcc6290394,37900897,0,0x0,8
tick,0x7ffcc6290394,37916723,0,0x0,8
tick,0x7ffcc6290394,37931977,0,0x0,8
tick,0x7ffcc6290394,37946918,0,0x0,8
tick,0x7ffcc6290394,37962509,0,0x0,8
tick,0x7ffcc6290394,37978502,0,0x0,8
tick,0x7ffcc6290394,37994035,0,0x0,8
tick,0x7ffcc6290394,38009649,0,0x0,8
tick,0x7ffcc6290394,38025556,0,0x0,8
tick,0x7ffcc6290394,38040947,0,0x0,8
tick,0x7ffcc6290394,38056956,0,0x0,8
tick,0x7ffcc6290394,38072168,0,0x0,8
tick,0x7ffcc6290394,38088213,0,0x0,8
tick,0x7ffcc6290394,38104272,0,0x0,8
tick,0x7ffcc6290394,38120123,0,0x0,8
tick,0x7ffcc6290394,38135852,0,0x0,8
tick,0x7ffcc6290394,38151872,0,0x0,8
tick,0x7ffcc6290394,38168062,0,0x0,8
tick,0x7ffcc6290394,38183084,0,0x0,8
tick,0x7ffcc6290394,38198821,0,0x0,8
tick,0x7ffcc6290394,38214190,0,0x0,8
tick,0x7ffcc6290394,38229692,0,0x0,8
tick,0x7ffcc6290394,38245955,0,0x0,8
tick,0x7ffcc6290394,38260766,0,0x0,8
tick,0x7ffcc6290394,38276050,0,0x0,8
tick,0x7ffcc6290394,38291859,0,0x0,8
tick,0x7ffcc6290394,38307983,0,0x0,8
tick,0x7ffcc6290394,38323036,0,0x0,8
tick,0x7ffcc6290394,38339165,0,0x0,8
tick,0x7ffcc6290394,38355135,0,0x0,8
tick,0x7ffcc6290394,38370043,0,0x0,8
tick,0x7ffcc6290394,38385679,0,0x0,8
tick,0x7ffcc6290394,38401256,0,0x0,8
tick,0x7ffcc6290394,38416719,0,0x0,8
tick,0x7ffcc6290394,38431992,0,0x0,8
tick,0x7ffcc6290394,38447187,0,0x0,8
tick,0x7ffcc6290394,38462811,0,0x0,8
tick,0x7ffcc6290394,38478808,0,0x0,8
tick,0x7ffcc6290394,38494200,0,0x0,8
tick,0x7ffcc6290394,38509971,0,0x0,8
tick,0x7ffcc6290394,38525161,0,0x0,8
tick,0x7ffcc6290394,38540944,0,0x0,8
tick,0x7ffcc6290394,38557092,0,0x0,8
tick,0x7ffcc6290394,38572305,0,0x0,8
tick,0x7ffcc6290394,38587668,0,0x0,8
tick,0x7ffcc6290394,38603024,0,0x0,8
tick,0x7ffcc6290394,38619169,0,0x0,8
tick,0x7ffcc6290394,38634147,0,0x0,8
tick,0x7ffcc6290394,38649710,0,0x0,8
tick,0x7ffcc6290394,38664976,0,0x0,8
tick,0x7ffcc6290394,38680009,0,0x0,8
tick,0x7ffcc6290394,38695323,0,0x0,8
tick,0x7ffcc6290394,38710695,0,0x0,8
tick,0x7ffcc6290394,38726464,0,0x0,8
tick,0x7ffcc6290394,38741432,0,0x0,8
tick,0x7ffcc6290394,38757205,0,0x0,8
tick,0x7ffcc6290394,38773020,0,0x0,8
tick,0x7ffcc6290394,38788773,0,0x0,8
tick,0x7ffcc6290394,38804727,0,0x0,8
tick,0x7ffcc6290394,38820343,0,0x0,8
tick,0x7ffcc6290394,38835991,0,0x0,8
tick,0x7ffcc6290394,38851571,0,0x0,8
tick,0x7ffcc6290394,38867357,0,0x0,8
tick,0x7ffcc6290394,38883179,0,0x0,8
tick,0x7ffcc6290394,38899012,0,0x0,8
tick,0x7ffcc6290394,38914629,0,0x0,8
tick,0x7ffcc6290394,38929744,0,0x0,8
tick,0x7ffcc6290394,38945098,0,0x0,8
tick,0x7ffcc6290394,38960123,0,0x0,8
tick,0x7ffcc6290394,38975522,0,0x0,8
tick,0x7ffcc6290394,38991262,0,0x0,8
tick,0x7ffcc6290394,39006946,0,0x0,8
tick,0x7ffcc6290394,39022893,0,0x0,8
tick,0x7ffcc6290394,39038065,0,0x0,8
tick,0x7ffcc6290394,39054058,0,0x0,8
tick,0x7ffcc6290394,39069929,0,0x0,8
tick,0x7ffcc6290394,39085212,0,0x0,8
tick,0x7ffcc6290394,39101010,0,0x0,8
tick,0x7ffcc6290394,39116804,0,0x0,8
tick,0x7ffcc6290394,39132672,0,0x0,8
tick,0x7ffcc6290394,39148658,0,0x0,8
tick,0x7ffcc6290394,39164663,0,0x0,8
tick,0x7ffcc6290394,39180667,0,0x0,8
tick,0x7ffcc6290394,39195618,0,0x0,8
tick,0x7ffcc6290394,39211091,0,0x0,8
tick,0x7ffcc6290394,39226459,0,0x0,8
tick,0x7ffcc6290394,39242298,0,0x0,8
tick,0x7ffcc6290394,39258032,0,0x0,8
tick,0x7ffcc6290394,39273649,0,0x0,8
tick,0x7ffcc6290394,39289165,0,0x0,8
tick,0x7ffcc6290394,39305210,0,0x0,8
tick,0x7ffcc6290394,39321088,0,0x0,8
tick,0x7ffcc6290394,39335811,0,0x0,8
tick,0x7ffcc6290394,39351183,0,0x0,8
tick,0x7ffcc6290394,39367079,0,0x0,8
tick,0x7ffcc6290394,39381977,0,0x0,8
tick,0x7ffcc6290394,39398045,0,0x0,8
tick,0x7ffcc6290394,39413457,0,0x0,8
tick,0x7ffcc6290394,39428667,0,0x0,8
tick,0x7ffcc6290394,39443870,0,0x0,8
tick,0x7ffcc6290394,39459309,0,0x0,8
tick,0x7ffcc6290394,39474857,0,0x0,8
tick,0x7ffcc6290394,39490192,0,0x0,8
tick,0x7ffcc6290394,39505967,0,0x0,8
tick,0x7ffcc6290394,39521136,0,0x0,8
tick,0x7ffcc6290394,39536511,0,0x0,8
tick,0x7ffcc6290394,39552665,0,0x0,8
tick,0x7ffcc6290394,39568237,0,0x0,8
tick,0x7ffcc6290394,39583444,0,0x0,8
tick,0x7ffcc6290394,39599423,0,0x0,8
tick,0x7ffcc6290394,39615146,0,0x0,8
tick,0x7ffcc6290394,39630994,0,0x0,8
tick,0x7ffcc6290394,39646918,0,0x0,8
tick,0x7ffcc6290394,39662919,0,0x0,8
tick,0x7ffcc6290394,39678932,0,0x0,8
tick,0x7ffcc6290394,39694832,0,0x0,8
tick,0x7ffcc6290394,39710231,0,0x0,8
tick,0x7ffcc6290394,39725445,0,0x0,8
tick,0x7ffcc6290394,39741323,0,0x0,8
tick,0x7ffcc6290394,39756452,0,0x0,8
tick,0x7ffcc6290394,39771965,0,0x0,8
tick,0x7ffcc6290394,39787548,0,0x0,8
tick,0x7ffcc6290394,39803426,0,0x0,8
tick,0x7ffcc6290394,39818698,0,0x0,8
tick,0x7ffcc6290394,39833913,0,0x0,8
tick,0x7ffcc6290394,39849734,0,0x0,8
tick,0x7ffcc6290394,39865061,0,0x0,8
tick,0x7ffcc6290394,39880193,0,0x0,8
tick,0x7ffcc6290394,39895947,0,0x0,8
tick,0x7ffcc6290394,39911361,0,0x0,8
tick,0x7ffcc6290394,39926581,0,0x0,8
tick,0x7ffcc6290394,39942684,0,0x0,8
tick,0x7ffcc6290394,39958169,0,0x0,8
tick,0x7ffcc6290394,39973638,0,0x0,8
tick,0x7ffcc6290394,39989347,0,0x0,8
tick,0x7ffcc6290394,40005045,0,0x0,8
tick,0x7ffcc6290394,40020973,0,0x0,8
tick,0x7ffcc6290394,40036020,0,0x0,8
tick,0x7ffcc6290394,40052025,0,0x0,8
tick,0x7ffcc6290394,40067995,0,0x0,8
tick,0x7ffcc6290394,40083453,0,0x0,8
tick,0x7ffcc6290394,40099277,0,0x0,8
tick,0x7ffcc6290394,40114686,0,0x0,8
tick,0x7ffcc6290394,40130623,0,0x0,8
tick,0x7ffcc6290394,40146630,0,0x0,8
tick,0x7ffcc6290394,40161397,0,0x0,8
tick,0x7ffcc6290394,40177129,0,0x0,8
tick,0x7ffcc6290394,40193204,0,0x0,8
tick,0x7ffcc6290394,40208687,0,0x0,8
tick,0x7ffcc6290394,40224300,0,0x0,8
tick,0x7ffcc6290394,40239337,0,0x0,8
tick,0x7ffcc6290394,40255073,0,0x0,8
tick,0x7ffcc6290394,40269939,0,0x0,8
tick,0x7ffcc6290394,40285990,0,0x0,8
tick,0x7ffcc6290394,40302010,0,0x0,8
tick,0x7ffcc6290394,40317640,0,0x0,8
tick,0x7ffcc6290394,40333548,0,0x0,8
tick,0x7ffcc6290394,40348895,0,0x0,8
tick,0x7ffcc6290394,40364955,0,0x0,8
tick,0x7ffcc6290394,40380155,0,0x0,8
tick,0x7ffcc6290394,40395423,0,0x0,8
tick,0x7ffcc6290394,40411469,0,0x0,8
tick,0x7ffcc6290394,40427006,0,0x0,8
tick,0x7ffcc6290394,40442020,0,0x0,8
tick,0x7ffcc6290394,40457293,0,0x0,8
tick,0x7ffcc6290394,40473023,0,0x0,8
tick,0x7ffcc6290394,40488081,0,0x0,8
tick,0x7ffcc6290394,40503685,0,0x0,8
tick,0x7ffcc6290394,40519059,0,0x0,8
tick,0x7ffcc6290394,40534971,0,0x0,8
tick,0x7ffcc6290394,40550436,0,0x0,8
tick,0x7ffcc6290394,40565763,0,0x0,8
tick,0x7ffcc6290394,40580905,0,0x0,8
tick,0x7ffcc6290394,40596553,0,0x0,8
tick,0x7ffcc6290394,40612413,0,0x0,8
tick,0x7ffcc6290394,40628289,0,0x0,8
tick,0x7ffcc6290394,40644022,0,0x0,8
tick,0x7ffcc6290394,40659932,0,0x0,8
tick,0x7ffcc6290394,40675087,0,0x0,8
tick,0x7ffcc6290394,40690281,0,0x0,8
tick,0x7ffcc6290394,40705941,0,0x0,8
tick,0x7ffcc6290394,40721400,0,0x0,8
tick,0x7ffcc6290394,40737544,0,0x0,8
tick,0x7ffcc6290394,40753551,0,0x0,8
tick,0x7ffcc6290394,40769391,0,0x0,8
tick,0x7ffcc6290394,40784675,0,0x0,8
tick,0x7ffcc6290394,40800095,0,0x0,8
tick,0x7ffcc6290394,40816128,0,0x0,8
tick,0x7ffcc6290394,40831911,0,0x0,8
tick,0x7ffcc6290394,40847862,0,0x0,8
tick,0x7ffcc6290394,40863525,0,0x0,8
tick,0x7ffcc6290394,40878494,0,0x0,8
tick,0x7ffcc6290394,40894511,0,0x0,8
tick,0x7ffcc6290394,40910239,0,0x0,8
tick,0x7ffcc6290394,40925516,0,0x0,8
tick,0x7ffcc6290394,40941115,0,0x0,8
tick,0x7ffcc6290394,40956414,0,0x0,8
tick,0x7ffcc6290394,40971769,0,0x0,8
tick,0x7ffcc6290394,40987647,0,0x0,8
tick,0x7ffcc6290394,41002835,0,0x0,8
tick,0x7ffcc6290394,41018365,0,0x0,8
tick,0x7ffcc6290394,41034322,0,0x0,8
tick,0x7ffcc6290394,41049680,0,0x0,8
tick,0x7ffcc6290394,41065070,0,0x0,8
tick,0x7ffcc6290394,41080976,0,0x0,8
tick,0x7ffcc6290394,41096991,0,0x0,8
tick,0x7ffcc6290394,41111991,0,0x0,8
tick,0x7ffcc6290394,41127521,0,0x0,8
tick,0x7ffcc6290394,41142791,0,0x0,8
tick,0x7ffcc6290394,41158036,0,0x0,8
tick,0x7ffcc6290394,41174041,0,0x0,8
tick,0x7ffcc6290394,41189906,0,0x0,8
tick,0x7ffcc6290394,41205418,0,0x0,8
tick,0x7ffcc6290394,41221378,0,0x0,8
tick,0x7ffcc6290394,41237380,0,0x0,8
tick,0x7ffcc6290394,41252956,0,0x0,8
tick,0x7ffcc6290394,41268650,0,0x0,8
tick,0x7ffcc6290394,41283991,0,0x0,8
tick,0x7ffcc6290394,41299686,0,0x0,8
tick,0x7ffcc6290394,41315749,0,0x0,8
tick,0x7ffcc6290394,41331024,0,0x0,8
tick,0x7ffcc6290394,41345899,0,0x0,8
tick,0x7ffcc6290394,41361637,0,0x0,8
tick,0x7ffcc6290394,41377591,0,0x0,8
tick,0x7ffcc6290394,41393442,0,0x0,8
tick,0x7ffcc6290394,41409432,0,0x0,8
tick,0x7ffcc6290394,41425204,0,0x0,8
tick,0x7ffcc6290394,41440687,0,0x0,8
tick,0x7ffcc6290394,41456154,0,0x0,8
tick,0x7ffcc6290394,41471258,0,0x0,8
tick,0x7ffcc6290394,41486154,0,0x0,8
tick,0x7ffcc6290394,41501533,0,0x0,8
tick,0x7ffcc6290394,41517430,0,0x0,8
tick,0x7ffcc6290394,41532843,0,0x0,8
tick,0x7ffcc6290394,41548165,0,0x0,8
tick,0x7ffcc6290394,41563971,0,0x0,8
tick,0x7ffcc6290394,41579730,0,0x0,8
tick,0x7ffcc6290394,41595917,0,0x0,8
tick,0x7ffcc6290394,41611224,0,0x0,8
tick,0x7ffcc6290394,41626658,0,0x0,8
tick,0x7ffcc6290394,41642348,0,0x0,8
tick,0x7ffcc6290394,41657905,0,0x0,8
tick,0x7ffcc6290394,41673218,0,0x0,8
tick,0x7ffcc6290394,41688463,0,0x0,8
tick,0x7ffcc6290394,41703887,0,0x0,8
tick,0x7ffcc6290394,41719374,0,0x0,8
tick,0x7ffcc6290394,41734576,0,0x0,8
tick,0x7ffcc6290394,41750223,0,0x0,8
tick,0x7ffcc6290394,41765657,0,0x0,8
tick,0x7ffcc6290394,41781571,0,0x0,8
tick,0x7ffcc6290394,41796528,0,0x0,8
tick,0x7ffcc6290394,41811963,0,0x0,8
tick,0x7ffcc6290394,41827609,0,0x0,8
tick,0x7ffcc6290394,41842970,0,0x0,8
tick,0x7ffcc6290394,41858567,0,0x0,8
tick,0x7ffcc6290394,41874221,0,0x0,8
tick,0x7ffcc6290394,41890280,0,0x0,8
tick,0x7ffcc6290394,41906058,0,0x0,8
tick,0x7ffcc6290394,41921534,0,0x0,8
tick,0x7ffcc6290394,41937048,0,0x0,8
tick,0x7ffcc6290394,41952507,0,0x0,8
tick,0x7ffcc6290394,41968490,0,0x0,8
tick,0x7ffcc6290394,41984067,0,0x0,8
tick,0x7ffcc6290394,41999921,0,0x0,8
tick,0x7ffcc6290394,42015377,0,0x0,8
tick,0x7ffcc6290394,42031255,0,0x0,8
tick,0x7ffcc6290394,42046731,0,0x0,8
tick,0x7ffcc6290394,42062048,0,0x0,8
tick,0x7ffcc6290394,42077406,0,0x0,8
tick,0x7ffcc6290394,42093099,0,0x0,8
tick,0x7ffcc6290394,42108529,0,0x0,8
tick,0x7ffcc6290394,42123730,0,0x0,8
tick,0x7ffcc6290394,42139157,0,0x0,8
tick,0x7ffcc6290394,42155113,0,0x0,8
tick,0x7ffcc6290394,42170600,0,0x0,8
tick,0x7ffcc6290394,42186246,0,0x0,8
tick,0x7ffcc6290394,42202199,0,0x0,8
tick,0x7ffcc6290394,42218222,0,0x0,8
tick,0x7ffcc6290394,42233150,0,0x0,8
tick,0x7ffcc6290394,42248378,0,0x0,8
tick,0x7ffcc6290394,42264148,0,0x0,8
tick,0x7ffcc6290394,42279704,0,0x0,8
tick,0x7ffcc6290394,42295105,0,0x0,8
tick,0x7ffcc6290394,42310285,0,0x0,8
tick,0x7ffcc6290394,42325702,0,0x0,8
tick,0x7ffcc6290394,42341718,0,0x0,8
tick,0x7ffcc6290394,42358006,0,0x0,8
tick,0x7ffcc6290394,42373944,0,0x0,8
tick,0x7ffcc6290394,42389143,0,0x0,8
tick,0x7ffcc6290394,42404824,0,0x0,8
tick,0x7ffcc6290394,42420796,0,0x0,8
tick,0x7ffcc6290394,42436482,0,0x0,8
tick,0x7ffcc6290394,42451914,0,0x0,8
tick,0x7ffcc6290394,42467450,0,0x0,8
tick,0x7ffcc6290394,42483212,0,0x0,8
tick,0x7ffcc6290394,42498754,0,0x0,8
tick,0x7ffcc6290394,42514137,0,0x0,8
tick,0x7ffcc6290394,42529936,0,0x0,8
tick,0x7ffcc6290394,42545720,0,0x0,8
tick,0x7ffcc6290394,42561641,0,0x0,8
tick,0x7ffcc6290394,42576800,0,0x0,8
tick,0x7ffcc6290394,42592170,0,0x0,8
tick,0x7ffcc6290394,42607897,0,0x0,8
tick,0x7ffcc6290394,42623296,0,0x0,8
tick,0x7ffcc6290394,42638870,0,0x0,8
tick,0x7ffcc6290394,42654658,0,0x0,8
tick,0x7ffcc6290394,42670750,0,0x0,8
tick,0x7ffcc6290394,42686238,0,0x0,8
tick,0x7ffcc6290394,42701472,0,0x0,8
tick,0x7ffcc6290394,42717482,0,0x0,8
tick,0x7ffcc6290394,42733392,0,0x0,8
tick,0x7ffcc6290394,42749427,0,0x0,8
tick,0x7ffcc6290394,42765046,0,0x0,8
tick,0x7ffcc6290394,42780163,0,0x0,8
tick,0x7ffcc6290394,42795812,0,0x0,8
tick,0x7ffcc6290394,42811789,0,0x0,8
tick,0x7ffcc6290394,42826704,0,0x0,8
tick,0x7ffcc6290394,42842266,0,0x0,8
tick,0x7ffcc6290394,42857840,0,0x0,8
tick,0x7ffcc6290394,42873687,0,0x0,8
tick,0x7ffcc6290394,42889113,0,0x0,8
tick,0x7ffcc6290394,42905045,0,0x0,8
tick,0x7ffcc6290394,42920161,0,0x0,8
tick,0x7ffcc6290394,42936283,0,0x0,8
tick,0x7ffcc6290394,42951024,0,0x0,8
tick,0x7ffcc6290394,42966398,0,0x0,8
tick,0x7ffcc6290394,42981681,0,0x0,8
tick,0x7ffcc6290394,42996979,0,0x0,8
tick,0x7ffcc6290394,43012642,0,0x0,8
tick,0x7ffcc6290394,43028386,0,0x0,8
tick,0x7ffcc6290394,43044160,0,0x0,8
tick,0x7ffcc6290394,43060175,0,0x0,8
tick,0x7ffcc6290394,43075821,0,0x0,8
tick,0x7ffcc6290394,43091643,0,0x0,8
tick,0x7ffcc6290394,43107683,0,0x0,8
tick,0x7ffcc6290394,43123298,0,0x0,8
tick,0x7ffcc6290394,43139068,0,0x0,8
tick,0x7ffcc6290394,43155105,0,0x0,8
tick,0x7ffcc6290394,43171099,0,0x0,8
tick,0x7ffcc6290394,43187265,0,0x0,8
tick,0x7ffcc6290394,43202898,0,0x0,8
tick,0x7ffcc6290394,43218551,0,0x0,8
tick,0x7ffcc6290394,43234161,0,0x0,8
tick,0x7ffcc6290394,43249298,0,0x0,8
tick,0x7ffcc6290394,43264635,0,0x0,8
tick,0x7ffcc6290394,43281022,0,0x0,8
tick,0x7ffcc6290394,43296462,0,0x0,8
tick,0x7ffcc6290394,43311945,0,0x0,8
tick,0x7ffcc6290394,43327685,0,0x0,8
tick,0x7ffcc6290394,43343509,0,0x0,8
tick,0x7ffcc6290394,43359267,0,0x0,8
tick,0x7ffcc6290394,43374800,0,0x0,8
tick,0x7ffcc6290394,43390052,0,0x0,8
tick,0x7ffcc6290394,43406050,0,0x0,8
tick,0x7ffcc6290394,43421926,0,0x0,8
tick,0x7ffcc6290394,43437962,0,0x0,8
tick,0x7ffcc6290394,43453015,0,0x0,8
tick,0x7ffcc6290394,43467885,0,0x0,8
tick,0x7ffcc6290394,43482920,0,0x0,8
tick,0x7ffcc6290394,43497745,0,0x0,8
tick,0x7ffcc6290394,43513738,0,0x0,8
tick,0x7ffcc6290394,43529246,0,0x0,8
tick,0x7ffcc6290394,43544509,0,0x0,8
tick,0x7ffcc6290394,43560433,0,0x0,8
tick,0x7ffcc6290394,43575560,0,0x0,8
tick,0x7ffcc6290394,43591031,0,0x0,8
tick,0x7ffcc6290394,43606556,0,0x0,8
tick,0x7ffcc6290394,43622213,0,0x0,8
tick,0x7ffcc6290394,43638216,0,0x0,8
tick,0x7ffcc6290394,43653607,0,0x0,8
tick,0x7ffcc6290394,43669630,0,0x0,8
tick,0x7ffcc6290394,43685423,0,0x0,8
tick,0x7ffcc6290394,43701001,0,0x0,8
tick,0x7ffcc6290394,43716879,0,0x0,8
tick,0x7ffcc6290394,43732888,0,0x0,8
tick,0x7ffcc6290394,43749087,0,0x0,8
tick,0x7ffcc6290394,43764752,0,0x0,8
tick,0x7ffcc6290394,43779738,0,0x0,8
tick,0x7ffcc6290394,43795839,0,0x0,8
tick,0x7ffcc6290394,43811528,0,0x0,8
tick,0x7ffcc6290394,43827219,0,0x0,8
tick,0x7ffcc6290394,43842775,0,0x0,8
tick,0x7ffcc6290394,43858206,0,0x0,8
tick,0x7ffcc6290394,43874122,0,0x0,8
tick,0x7ffcc6290394,43889576,0,0x0,8
tick,0x7ffcc6290394,43905171,0,0x0,8
tick,0x7ffcc6290394,43920326,0,0x0,8
tick,0x7ffcc6290394,43935534,0,0x0,8
tick,0x7ffcc6290394,43950774,0,0x0,8
tick,0x7ffcc6290394,43966509,0,0x0,8
tick,0x7ffcc6290394,43982528,0,0x0,8
tick,0x7ffcc6290394,43997970,0,0x0,8
tick,0x7ffcc6290394,44013056,0,0x0,8
tick,0x7ffcc6290394,44028472,0,0x0,8
tick,0x7ffcc6290394,44044146,0,0x0,8
tick,0x7ffcc6290394,44059405,0,0x0,8
tick,0x7ffcc6290394,44075143,0,0x0,8
tick,0x7ffcc6290394,44090575,0,0x0,8
tick,0x7ffcc6290394,44105824,0,0x0,8
tick,0x7ffcc6290394,44121367,0,0x0,8
tick,0x7ffcc6290394,44136546,0,0x0,8
tick,0x7ffcc6290394,44152458,0,0x0,8
tick,0x7ffcc6290394,44167660,0,0x0,8
tick,0x7ffcc6290394,44183702,0,0x0,8
tick,0x7ffcc6290394,44199500,0,0x0,8
tick,0x7ffcc6290394,44215515,0,0x0,8
tick,0x7ffcc6290394,44230827,0,0x0,8
tick,0x7ffcc6290394,44246541,0,0x0,8
tick,0x7ffcc6290394,44262055,0,0x0,8
tick,0x7ffcc6290394,44278018,0,0x0,8
tick,0x7ffcc6290394,44293256,0,0x0,8
tick,0x7ffcc6290394,44309427,0,0x0,8
tick,0x7ffcc6290394,44324936,0,0x0,8
tick,0x7ffcc6290394,44340483,0,0x0,8
tick,0x7ffcc6290394,44356596,0,0x0,8
tick,0x7ffcc6290394,44372465,0,0x0,8
tick,0x7ffcc6290394,44388369,0,0x0,8
tick,0x7ffcc6290394,44403947,0,0x0,8
tick,0x7ffcc6290394,44419037,0,0x0,8
tick,0x7ffcc6290394,44435147,0,0x0,8
tick,0x7ffcc6290394,44450192,0,0x0,8
tick,0x7ffcc6290394,44465745,0,0x0,8
tick,0x7ffcc6290394,44481760,0,0x0,8
tick,0x7ffcc6290394,44497113,0,0x0,8
tick,0x7ffcc6290394,44513130,0,0x0,8
tick,0x7ffcc6290394,44529247,0,0x0,8
tick,0x7ffcc6290394,44544671,0,0x0,8
tick,0x7ffcc6290394,44559929,0,0x0,8
tick,0x7ffcc6290394,44575706,0,0x0,8
tick,0x7ffcc6290394,44590813,0,0x0,8
tick,0x7ffcc6290394,44606430,0,0x0,8
tick,0x7ffcc6290394,44621413,0,0x0,8
tick,0x7ffcc6290394,44636592,0,0x0,8
tick,0x7ffcc6290394,44652050,0,0x0,8
tick,0x7ffcc6290394,44667041,0,0x0,8
tick,0x7ffcc6290394,44682572,0,0x0,8
tick,0x7ffcc6290394,44698549,0,0x0,8
tick,0x7ffcc6290394,44714512,0,0x0,8
tick,0x7ffcc6290394,44730006,0,0x0,8
tick,0x7ffcc6290394,44745422,0,0x0,8
tick,0x7ffcc6290394,44760253,0,0x0,8
tick,0x7ffcc6290394,44775794,0,0x0,8
tick,0x7ffcc6290394,44790938,0,0x0,8
tick,0x7ffcc6290394,44806202,0,0x0,8
tick,0x7ffcc6290394,44821643,0,0x0,8
tick,0x7ffcc6290394,44836627,0,0x0,8
tick,0x7ffcc6290394,44852826,0,0x0,8
tick,0x7ffcc6290394,44869070,0,0x0,8
tick,0x7ffcc6290394,44884467,0,0x0,8
tick,0x7ffcc6290394,44900531,0,0x0,8
tick,0x7ffcc6290394,44916202,0,0x0,8
tick,0x7ffcc6290394,44931420,0,0x0,8
tick,0x7ffcc6290394,44947276,0,0x0,8
tick,0x7ffcc6290394,44963341,0,0x0,8
tick,0x7ffcc6290394,44979111,0,0x0,8
tick,0x7ffcc6290394,44994846,0,0x0,8
tick,0x7ffcc6290394,45010203,0,0x0,8
tick,0x7ffcc6290394,45026117,0,0x0,8
tick,0x7ffcc6290394,45041502,0,0x0,8
tick,0x7ffcc6290394,45057252,0,0x0,8
tick,0x7ffcc6290394,45072410,0,0x0,8
tick,0x7ffcc6290394,45088436,0,0x0,8
tick,0x7ffcc6290394,45103822,0,0x0,8
tick,0x7ffcc6290394,45119783,0,0x0,8
tick,0x7ffcc6290394,45134267,0,0x0,8
tick,0x7ffcc6290394,45149641,0,0x0,8
tick,0x7ffcc6290394,45164970,0,0x0,8
tick,0x7ffcc6290394,45180812,0,0x0,8
tick,0x7ffcc6290394,45196340,0,0x0,8
tick,0x7ffcc6290394,45212102,0,0x0,8
tick,0x7ffcc6290394,45227694,0,0x0,8
tick,0x7ffcc6290394,45243190,0,0x0,8
tick,0x7ffcc6290394,45258633,0,0x0,8
tick,0x7ffcc6290394,45274288,0,0x0,8
tick,0x7ffcc6290394,45290225,0,0x0,8
tick,0x7ffcc6290394,45306113,0,0x0,8
tick,0x7ffcc6290394,45321955,0,0x0,8
tick,0x7ffcc6290394,45337230,0,0x0,8
tick,0x7ffcc6290394,45352336,0,0x0,8
tick,0x7ffcc6290394,45367784,0,0x0,8
tick,0x7ffcc6290394,45383560,0,0x0,8
tick,0x7ffcc6290394,45399605,0,0x0,8
tick,0x7ffcc6290394,45415482,0,0x0,8
tick,0x7ffcc6290394,45431332,0,0x0,8
tick,0x7ffcc6290394,45446907,0,0x0,8
tick,0x7ffcc6290394,45462144,0,0x0,8
tick,0x7ffcc6290394,45477133,0,0x0,8
tick,0x7ffcc6290394,45492880,0,0x0,8
tick,0x7ffcc6290394,45508227,0,0x0,8
tick,0x7ffcc6290394,45524003,0,0x0,8
tick,0x7ffcc6290394,45539786,0,0x0,8
tick,0x7ffcc6290394,45555573,0,0x0,8
tick,0x7ffcc6290394,45571399,0,0x0,8
tick,0x7ffcc6290394,45586591,0,0x0,8
tick,0x7ffcc6290394,45601648,0,0x0,8
tick,0x7ffcc6290394,45617473,0,0x0,8
tick,0x7ffcc6290394,45632659,0,0x0,8
tick,0x7ffcc6290394,45648126,0,0x0,8
tick,0x7ffcc6290394,45663531,0,0x0,8
tick,0x7ffcc6290394,45679572,0,0x0,8
tick,0x7ffcc6290394,45694917,0,0x0,8
tick,0x7ffcc6290394,45710264,0,0x0,8
tick,0x7ffcc6290394,45725814,0,0x0,8
tick,0x7ffcc6290394,45741511,0,0x0,8
tick,0x7ffcc6290394,45757309,0,0x0,8
tick,0x7ffcc6290394,45772870,0,0x0,8
tick,0x7ffcc6290394,45789143,0,0x0,8
tick,0x7ffcc6290394,45804818,0,0x0,8
tick,0x7ffcc6290394,45820448,0,0x0,8
tick,0x7ffcc6290394,45836398,0,0x0,8
tick,0x7ffcc6290394,45851415,0,0x0,8
tick,0x7ffcc6290394,45866969,0,0x0,8
tick,0x7ffcc6290394,45882170,0,0x0,8
tick,0x7ffcc6290394,45897751,0,0x0,8
tick,0x7ffcc6290394,45913180,0,0x0,8
tick,0x7ffcc6290394,45928465,0,0x0,8
tick,0x7ffcc6290394,45943725,0,0x0,8
tick,0x7ffcc6290394,45959063,0,0x0,8
tick,0x7ffcc6290394,45974964,0,0x0,8
tick,0x7ffcc6290394,45990243,0,0x0,8
tick,0x7ffcc6290394,46005822,0,0x0,8
tick,0x7ffcc6290394,46021528,0,0x0,8
tick,0x7ffcc6290394,46036905,0,0x0,8
tick,0x7ffcc6290394,46052566,0,0x0,8
tick,0x7ffcc6290394,46068120,0,0x0,8
tick,0x7ffcc6290394,46083356,0,0x0,8
tick,0x7ffcc6290394,46098553,0,0x0,8
tick,0x7ffcc6290394,46114503,0,0x0,8
tick,0x7ffcc6290394,46129679,0,0x0,8
tick,0x7ffcc6290394,46145472,0,0x0,8
tick,0x7ffcc6290394,46161248,0,0x0,8
tick,0x7ffcc6290394,46176597,0,0x0,8
tick,0x7ffcc6290394,46192647,0,0x0,8
tick,0x7ffcc6290394,46208268,0,0x0,8
tick,0x7ffcc6290394,46223545,0,0x0,8
tick,0x7ffcc6290394,46239180,0,0x0,8
tick,0x7ffcc6290394,46254803,0,0x0,8
tick,0x7ffcc6290394,46270608,0,0x0,8
tick,0x7ffcc6290394,46286554,0,0x0,8
tick,0x7ffcc6290394,46302322,0,0x0,8
tick,0x7ffcc6290394,46317920,0,0x0,8
tick,0x7ffcc6290394,46334214,0,0x0,8
tick,0x7ffcc6290394,46349427,0,0x0,8
tick,0x7ffcc6290394,46365080,0,0x0,8
tick,0x7ffcc6290394,46380866,0,0x0,8
tick,0x7ffcc6290394,46396682,0,0x0,8
tick,0x7ffcc6290394,46412678,0,0x0,8
tick,0x7ffcc6290394,46428038,0,0x0,8
tick,0x7ffcc6290394,46443853,0,0x0,8
tick,0x7ffcc6290394,46459306,0,0x0,8
tick,0x7ffcc6290394,46475397,0,0x0,8
tick,0x7ffcc6290394,46491127,0,0x0,8
tick,0x7ffcc6290394,46506438,0,0x0,8
tick,0x7ffcc6290394,46522498,0,0x0,8
tick,0x7ffcc6290394,46538550,0,0x0,8
tick,0x7ffcc6290394,46554314,0,0x0,8
tick,0x7ffcc6290394,46569589,0,0x0,8
tick,0x7ffcc6290394,46585133,0,0x0,8
tick,0x7ffcc6290394,46600733,0,0x0,8
tick,0x7ffcc6290394,46616311,0,0x0,8
tick,0x7ffcc6290394,46632240,0,0x0,8
tick,0x7ffcc6290394,46647967,0,0x0,8
tick,0x7ffcc6290394,46662757,0,0x0,8
tick,0x7ffcc6290394,46678560,0,0x0,8
tick,0x7ffcc6290394,46693902,0,0x0,8
tick,0x7ffcc6290394,46709048,0,0x0,8
tick,0x7ffcc6290394,46725141,0,0x0,8
tick,0x7ffcc6290394,46740572,0,0x0,8
tick,0x7ffcc6290394,46756347,0,0x0,8
tick,0x7ffcc6290394,46771803,0,0x0,8
tick,0x7ffcc6290394,46787755,0,0x0,8
tick,0x7ffcc6290394,46803006,0,0x0,8
tick,0x7ffcc6290394,46818477,0,0x0,8
tick,0x7ffcc6290394,46834056,0,0x0,8
tick,0x7ffcc6290394,46849254,0,0x0,8
tick,0x7ffcc6290394,46864793,0,0x0,8
tick,0x7ffcc6290394,46880892,0,0x0,8
tick,0x7ffcc6290394,46896350,0,0x0,8
tick,0x7ffcc6290394,46912065,0,0x0,8
tick,0x7ffcc6290394,46927784,0,0x0,8
tick,0x7ffcc6290394,46943787,0,0x0,8
tick,0x7ffcc6290394,46959156,0,0x0,8
tick,0x7ffcc6290394,46974113,0,0x0,8
tick,0x7ffcc6290394,46989949,0,0x0,8
tick,0x7ffcc6290394,47005845,0,0x0,8
tick,0x7ffcc6290394,47020935,0,0x0,8
tick,0x7ffcc6290394,47036031,0,0x0,8
tick,0x7ffcc6290394,47052072,0,0x0,8
tick,0x7ffcc6290394,47067865,0,0x0,8
tick,0x7ffcc6290394,47083815,0,0x0,8
tick,0x7ffcc6290394,47099862,0,0x0,8
tick,0x7ffcc6290394,47114886,0,0x0,8
tick,0x7ffcc6290394,47130175,0,0x0,8
tick,0x7ffcc6290394,47145791,0,0x0,8
tick,0x7ffcc6290394,47161832,0,0x0,8
tick,0x7ffcc6290394,47177831,0,0x0,8
tick,0x7ffcc6290394,47193274,0,0x0,8
tick,0x7ffcc6290394,47208787,0,0x0,8
tick,0x7ffcc6290394,47224052,0,0x0,8
tick,0x7ffcc6290394,47239998,0,0x0,8
tick,0x7ffcc6290394,47254839,0,0x0,8
tick,0x7ffcc6290394,47269994,0,0x0,8
tick,0x7ffcc6290394,47285631,0,0x0,8
tick,0x7ffcc6290394,47301635,0,0x0,8
tick,0x7ffcc6290394,47316911,0,0x0,8
tick,0x7ffcc6290394,47332836,0,0x0,8
tick,0x7ffcc6290394,47348279,0,0x0,8
tick,0x7ffcc6290394,47363416,0,0x0,8
tick,0x7ffcc6290394,47379129,0,0x0,8
tick,0x7ffcc6290394,47394291,0,0x0,8
tick,0x7ffcc6290394,47409907,0,0x0,8
tick,0x7ffcc6290394,47425912,0,0x0,8
tick,0x7ffcc6290394,47441568,0,0x0,8
tick,0x7ffcc6290394,47457706,0,0x0,8
tick,0x7ffcc6290394,47472732,0,0x0,8
tick,0x7ffcc6290394,47488621,0,0x0,8
tick,0x7ffcc6290394,47504082,0,0x0,8
tick,0x7ffcc6290394,47519196,0,0x0,8
tick,0x7ffcc6290394,47534791,0,0x0,8
tick,0x7ffcc6290394,47550012,0,0x0,8
tick,0x7ffcc6290394,47565555,0,0x0,8
tick,0x7ffcc6290394,47581039,0,0x0,8
tick,0x7ffcc6290394,47597002,0,0x0,8
tick,0x7ffcc6290394,47612693,0,0x0,8
tick,0x7ffcc6290394,47628470,0,0x0,8
tick,0x7ffcc6290394,47644538,0,0x0,8
tick,0x7ffcc6290394,47659788,0,0x0,8
tick,0x7ffcc6290394,47675122,0,0x0,8
tick,0x7ffcc6290394,47690997,0,0x0,8
tick,0x7ffcc6290394,47706438,0,0x0,8
tick,0x7ffcc6290394,47722389,0,0x0,8
tick,0x7ffcc6290394,47738470,0,0x0,8
tick,0x7ffcc6290394,47753824,0,0x0,8
tick,0x7ffcc6290394,47769756,0,0x0,8
tick,0x7ffcc6290394,47785388,0,0x0,8
tick,0x7ffcc6290394,47800642,0,0x0,8
tick,0x7ffcc6290394,47816418,0,0x0,8
tick,0x7ffcc6290394,47832490,0,0x0,8
tick,0x7ffcc6290394,47848149,0,0x0,8
tick,0x7ffcc6290394,47863654,0,0x0,8
tick,0x7ffcc6290394,47879497,0,0x0,8
tick,0x7ffcc6290394,47894787,0,0x0,8
tick,0x7ffcc6290394,47909733,0,0x0,8
tick,0x7ffcc6290394,47925115,0,0x0,8
tick,0x7ffcc6290394,47940715,0,0x0,8
tick,0x7ffcc6290394,47956052,0,0x0,8
tick,0x7ffcc6290394,47971550,0,0x0,8
tick,0x7ffcc6290394,47986721,0,0x0,8
tick,0x7ffcc6290394,48002292,0,0x0,8
tick,0x7ffcc6290394,48018204,0,0x0,8
tick,0x7ffcc6290394,48033486,0,0x0,8
tick,0x7ffcc6290394,48049045,0,0x0,8
tick,0x7ffcc6290394,48064156,0,0x0,8
tick,0x7ffcc6290394,48080028,0,0x0,8
tick,0x7ffcc6290394,48095436,0,0x0,8
tick,0x7ffcc6290394,48111331,0,0x0,8
tick,0x7ffcc6290394,48126470,0,0x0,8
tick,0x7ffcc6290394,48141697,0,0x0,8
tick,0x7ffcc6290394,48157647,0,0x0,8
tick,0x7ffcc6290394,48173068,0,0x0,8
tick,0x7ffcc6290394,48188837,0,0x0,8
tick,0x7ffcc6290394,48205009,0,0x0,8
tick,0x7ffcc6290394,48220578,0,0x0,8
tick,0x7ffcc6290394,48236489,0,0x0,8
tick,0x7ffcc6290394,48251491,0,0x0,8
tick,0x7ffcc6290394,48267619,0,0x0,8
tick,0x7ffcc6290394,48283185,0,0x0,8
tick,0x7ffcc6290394,48298683,0,0x0,8
tick,0x7ffcc6290394,48314683,0,0x0,8
tick,0x7ffcc6290394,48330546,0,0x0,8
tick,0x7ffcc6290394,48345712,0,0x0,8
tick,0x7ffcc6290394,48361633,0,0x0,8
tick,0x7ffcc6290394,48377484,0,0x0,8
tick,0x7ffcc6290394,48393180,0,0x0,8
tick,0x7ffcc6290394,48408966,0,0x0,8
tick,0x7ffcc6290394,48425142,0,0x0,8
tick,0x7ffcc6290394,48440838,0,0x0,8
tick,0x7ffcc6290394,48456775,0,0x0,8
tick,0x7ffcc6290394,48472197,0,0x0,8
tick,0x7ffcc6290394,48487327,0,0x0,8
tick,0x7ffcc6290394,48502965,0,0x0,8
tick,0x7ffcc6290394,48519041,0,0x0,8
tick,0x7ffcc6290394,48534319,0,0x0,8
tick,0x7ffcc6290394,48549787,0,0x0,8
tick,0x7ffcc6290394,48565024,0,0x0,8
tick,0x7ffcc6290394,48580140,0,0x0,8
tick,0x7ffcc6290394,48595751,0,0x0,8
tick,0x7ffcc6290394,48610646,0,0x0,8
tick,0x7ffcc6290394,48626703,0,0x0,8
tick,0x7ffcc6290394,48642616,0,0x0,8
tick,0x7ffcc6290394,48657928,0,0x0,8
tick,0x7ffcc6290394,48673575,0,0x0,8
tick,0x7ffcc6290394,48689438,0,0x0,8
tick,0x7ffcc6290394,48705302,0,0x0,8
tick,0x7ffcc6290394,48720546,0,0x0,8
tick,0x7ffcc6290394,48735684,0,0x0,8
tick,0x7ffcc6290394,48751574,0,0x0,8
tick,0x7ffcc6290394,48767958,0,0x0,8
tick,0x7ffcc6290394,48782628,0,0x0,8
tick,0x7ffcc6290394,48798838,0,0x0,8
tick,0x7ffcc6290394,48814069,0,0x0,8
tick,0x7ffcc6290394,48829392,0,0x0,8
tick,0x7ffcc6290394,48844527,0,0x0,8
tick,0x7ffcc6290394,48860582,0,0x0,8
tick,0x7ffcc6290394,48875640,0,0x0,8
tick,0x7ffcc6290394,48890674,0,0x0,8
tick,0x7ffcc6290394,48905861,0,0x0,8
tick,0x7ffcc6290394,48921495,0,0x0,8
tick,0x7ffcc6290394,48936944,0,0x0,8
tick,0x7ffcc6290394,48952344,0,0x0,8
tick,0x7ffcc6290394,48968571,0,0x0,8
tick,0x7ffcc6290394,48982967,0,0x0,8
tick,0x7ffcc6290394,48998622,0,0x0,8
tick,0x7ffcc6290394,49014420,0,0x0,8
tick,0x7ffcc6290394,49028839,0,0x0,8
tick,0x7ffcc6290394,49044752,0,0x0,8
tick,0x7ffcc6290394,49060374,0,0x0,8
tick,0x7ffcc6290394,49075895,0,0x0,8
tick,0x7ffcc6290394,49091999,0,0x0,8
tick,0x7ffcc6290394,49107829,0,0x0,8
tick,0x7ffcc6290394,49122147,0,0x0,8
tick,0x7ffcc6290394,49137756,0,0x0,8
tick,0x7ffcc6290394,49152985,0,0x0,8
tick,0x7ffcc6290394,49168601,0,0x0,8
tick,0x7ffcc6290394,49184368,0,0x0,8
tick,0x7ffcc6290394,49199065,0,0x0,8
tick,0x7ffcc6290394,49214734,0,0x0,8
tick,0x7ffcc6290394,49229898,0,0x0,8
tick,0x7ffcc6290394,49245001,0,0x0,8
tick,0x7ffcc6290394,49260814,0,0x0,8
tick,0x7ffcc6290394,49276747,0,0x0,8
tick,0x7ffcc6290394,49292408,0,0x0,8
tick,0x7ffcc6290394,49308022,0,0x0,8
tick,0x7ffcc6290394,49323931,0,0x0,8
tick,0x7ffcc6290394,49339088,0,0x0,8
tick,0x7ffcc6290394,49354773,0,0x0,8
tick,0x7ffcc6290394,49370596,0,0x0,8
tick,0x7ffcc6290394,49386244,0,0x0,8
tick,0x7ffcc6290394,49401488,0,0x0,8
tick,0x7ffcc6290394,49417019,0,0x0,8
tick,0x7ffcc6290394,49432625,0,0x0,8
tick,0x7ffcc6290394,49447931,0,0x0,8
tick,0x7ffcc6290394,49463248,0,0x0,8
tick,0x7ffcc6290394,49478940,0,0x0,8
tick,0x7ffcc6290394,49494276,0,0x0,8
tick,0x7ffcc6290394,49509652,0,0x0,8
tick,0x7ffcc6290394,49525122,0,0x0,8
tick,0x7ffcc6290394,49540558,0,0x0,8
tick,0x7ffcc6290394,49556474,0,0x0,8
tick,0x7ffcc6290394,49572043,0,0x0,8
tick,0x7ffcc6290394,49587165,0,0x0,8
tick,0x7ffcc6290394,49602630,0,0x0,8
tick,0x7ffcc6290394,49618281,0,0x0,8
tick,0x7ffcc6290394,49634437,0,0x0,8
tick,0x7ffcc6290394,49649959,0,0x0,8
tick,0x7ffcc6290394,49665900,0,0x0,8
tick,0x7ffcc6290394,49681729,0,0x0,8
tick,0x7ffcc6290394,49697588,0,0x0,8
tick,0x7ffcc6290394,49713462,0,0x0,8
tick,0x7ffcc6290394,49728639,0,0x0,8
tick,0x7ffcc6290394,49744926,0,0x0,8
tick,0x7ffcc6290394,49760218,0,0x0,8
tick,0x7ffcc6290394,49775503,0,0x0,8
tick,0x7ffcc6290394,49791186,0,0x0,8
tick,0x7ffcc6290394,49807203,0,0x0,8
tick,0x7ffcc6290394,49822181,0,0x0,8
tick,0x7ffcc6290394,49838339,0,0x0,8
tick,0x7ffcc6290394,49853959,0,0x0,8
tick,0x7ffcc6290394,49869047,0,0x0,8
tick,0x7ffcc6290394,49884299,0,0x0,8
tick,0x7ffcc6290394,49900391,0,0x0,8
tick,0x7ffcc6290394,49915788,0,0x0,8
tick,0x7ffcc6290394,49931567,0,0x0,8
tick,0x7ffcc6290394,49947336,0,0x0,8
tick,0x7ffcc6290394,49962919,0,0x0,8
tick,0x7ffcc6290394,49978904,0,0x0,8
tick,0x7ffcc6290394,49994484,0,0x0,8
tick,0x7ffcc6290394,50009819,0,0x0,8
tick,0x7ffcc6290394,50025112,0,0x0,8
tick,0x7ffcc6290394,50041008,0,0x0,8
tick,0x7ffcc6290394,50056820,0,0x0,8
tick,0x7ffcc6290394,50072624,0,0x0,8
tick,0x7ffcc6290394,50088032,0,0x0,8
tick,0x7ffcc6290394,50103155,0,0x0,8
tick,0x7ffcc6290394,50119030,0,0x0,8
tick,0x7ffcc6290394,50135019,0,0x0,8
tick,0x7ffcc6290394,50150202,0,0x0,8
tick,0x7ffcc6290394,50166024,0,0x0,8
tick,0x7ffcc6290394,50181734,0,0x0,8
tick,0x7ffcc6290394,50196952,0,0x0,8
tick,0x7ffcc6290394,50212177,0,0x0,8
tick,0x7ffcc6290394,50227764,0,0x0,8
tick,0x7ffcc6290394,50244057,0,0x0,8
tick,0x7ffcc6290394,50260133,0,0x0,8
tick,0x7ffcc6290394,50275793,0,0x0,8
tick,0x7ffcc6290394,50291813,0,0x0,8
tick,0x7ffcc6290394,50306918,0,0x0,8
tick,0x7ffcc6290394,50322624,0,0x0,8
tick,0x7ffcc6290394,50338202,0,0x0,8
tick,0x7ffcc6290394,50353358,0,0x0,8
tick,0x7ffcc6290394,50369283,0,0x0,8
tick,0x7ffcc6290394,50384238,0,0x0,8
tick,0x7ffcc6290394,50399705,0,0x0,8
tick,0x7ffcc6290394,50414759,0,0x0,8
tick,0x7ffcc6290394,50430748,0,0x0,8
tick,0x7ffcc6290394,50446078,0,0x0,8
tick,0x7ffcc6290394,50461556,0,0x0,8
tick,0x7ffcc6290394,50477562,0,0x0,8
tick,0x7ffcc6290394,50493392,0,0x0,8
tick,0x7ffcc6290394,50509001,0,0x0,8
tick,0x7ffcc6290394,50525196,0,0x0,8
tick,0x7ffcc6290394,50541157,0,0x0,8
tick,0x7ffcc6290394,50556651,0,0x0,8
tick,0x7ffcc6290394,50571579,0,0x0,8
tick,0x7ffcc6290394,50587008,0,0x0,8
tick,0x7ffcc6290394,50602898,0,0x0,8
tick,0x7ffcc6290394,50618809,0,0x0,8
tick,0x7ffcc6290394,50634907,0,0x0,8
tick,0x7ffcc6290394,50650581,0,0x0,8
tick,0x7ffcc6290394,50666309,0,0x0,8
tick,0x7ffcc6290394,50681737,0,0x0,8
tick,0x7ffcc6290394,50697278,0,0x0,8
tick,0x7ffcc6290394,50713010,0,0x0,8
tick,0x7ffcc6290394,50728728,0,0x0,8
tick,0x7ffcc6290394,50744812,0,0x0,8
tick,0x7ffcc6290394,50760771,0,0x0,8
tick,0x7ffcc6290394,50776058,0,0x0,8
tick,0x7ffcc6290394,50791668,0,0x0,8
tick,0x7ffcc6290394,50807762,0,0x0,8
tick,0x7ffcc6290394,50823654,0,0x0,8
tick,0x7ffcc6290394,50839305,0,0x0,8
tick,0x7ffcc6290394,50854501,0,0x0,8
tick,0x7ffcc6290394,50869630,0,0x0,8
tick,0x7ffcc6290394,50885636,0,0x0,8
tick,0x7ffcc6290394,50901612,0,0x0,8
tick,0x7ffcc6290394,50917268,0,0x0,8
tick,0x7ffcc6290394,50932665,0,0x0,8
tick,0x7ffcc6290394,50948520,0,0x0,8
tick,0x7ffcc6290394,50964008,0,0x0,8
tick,0x7ffcc6290394,50980043,0,0x0,8
tick,0x7ffcc6290394,50995576,0,0x0,8
tick,0x7ffcc6290394,51011405,0,0x0,8
tick,0x7ffcc6290394,51026706,0,0x0,8
tick,0x7ffcc6290394,51042696,0,0x0,8
tick,0x7ffcc6290394,51057980,0,0x0,8
tick,0x7ffcc6290394,51073824,0,0x0,8
tick,0x7ffcc6290394,51088609,0,0x0,8
tick,0x7ffcc6290394,51104303,0,0x0,8
tick,0x7ffcc6290394,51120231,0,0x0,8
tick,0x7ffcc6290394,51134965,0,0x0,8
tick,0x7ffcc6290394,51150438,0,0x0,8
tick,0x7ffcc6290394,51166526,0,0x0,8
tick,0x7ffcc6290394,51182307,0,0x0,8
tick,0x7ffcc6290394,51198730,0,0x0,8
tick,0x7ffcc6290394,51213704,0,0x0,8
tick,0x7ffcc6290394,51229136,0,0x0,8
tick,0x7ffcc6290394,51244856,0,0x0,8
tick,0x7ffcc6290394,51260397,0,0x0,8
tick,0x7ffcc6290394,51275177,0,0x0,8
tick,0x7ffcc6290394,51290276,0,0x0,8
tick,0x7ffcc6290394,51305551,0,0x0,8
tick,0x7ffcc6290394,51321535,0,0x0,8
tick,0x7ffcc6290394,51336807,0,0x0,8
tick,0x7ffcc6290394,51352392,0,0x0,8
tick,0x7ffcc6290394,51367352,0,0x0,8
tick,0x7ffcc6290394,51382869,0,0x0,8
tick,0x7ffcc6290394,51398283,0,0x0,8
tick,0x7ffcc6290394,51413807,0,0x0,8
tick,0x7ffcc6290394,51429054,0,0x0,8
tick,0x7ffcc6290394,51444255,0,0x0,8
tick,0x7ffcc6290394,51459462,0,0x0,8
tick,0x7ffcc6290394,51475106,0,0x0,8
tick,0x7ffcc6290394,51490249,0,0x0,8
tick,0x7ffcc6290394,51506031,0,0x0,8
tick,0x7ffcc6290394,51521228,0,0x0,8
tick,0x7ffcc6290394,51536487,0,0x0,8
tick,0x7ffcc6290394,51552189,0,0x0,8
tick,0x7ffcc6290394,51567418,0,0x0,8
tick,0x7ffcc6290394,51583339,0,0x0,8
tick,0x7ffcc6290394,51599336,0,0x0,8
tick,0x7ffcc6290394,51615269,0,0x0,8
tick,0x7ffcc6290394,51631118,0,0x0,8
tick,0x7ffcc6290394,51646156,0,0x0,8
tick,0x7ffcc6290394,51662400,0,0x0,8
tick,0x7ffcc6290394,51678237,0,0x0,8
tick,0x7ffcc6290394,51693649,0,0x0,8
tick,0x7ffcc6290394,51708635,0,0x0,8
tick,0x7ffcc6290394,51723951,0,0x0,8
tick,0x7ffcc6290394,51739807,0,0x0,8
tick,0x7ffcc6290394,51754918,0,0x0,8
tick,0x7ffcc6290394,51770830,0,0x0,8
tick,0x7ffcc6290394,51786788,0,0x0,8
tick,0x7ffcc6290394,51802261,0,0x0,8
tick,0x7ffcc6290394,51817369,0,0x0,8
tick,0x7ffcc6290394,51832969,0,0x0,8
tick,0x7ffcc6290394,51848527,0,0x0,8
tick,0x7ffcc6290394,51864442,0,0x0,8
tick,0x7ffcc6290394,51880084,0,0x0,8
tick,0x7ffcc6290394,51895317,0,0x0,8
tick,0x7ffcc6290394,51910597,0,0x0,8
tick,0x7ffcc6290394,51925945,0,0x0,8
tick,0x7ffcc6290394,51941985,0,0x0,8
tick,0x7ffcc6290394,51957889,0,0x0,8
tick,0x7ffcc6290394,51973129,0,0x0,8
tick,0x7ffcc6290394,51988988,0,0x0,8
tick,0x7ffcc6290394,52004089,0,0x0,8
tick,0x7ffcc6290394,52019886,0,0x0,8
tick,0x7ffcc6290394,52034704,0,0x0,8
tick,0x7ffcc6290394,52050444,0,0x0,8
tick,0x7ffcc6290394,52065835,0,0x0,8
tick,0x7ffcc6290394,52081729,0,0x0,8
tick,0x7ffcc6290394,52096835,0,0x0,8
tick,0x7ffcc6290394,52112475,0,0x0,8
tick,0x7ffcc6290394,52128677,0,0x0,8
tick,0x7ffcc6290394,52143917,0,0x0,8
tick,0x7ffcc6290394,52159160,0,0x0,8
tick,0x7ffcc6290394,52174805,0,0x0,8
tick,0x7ffcc6290394,52190093,0,0x0,8
tick,0x7ffcc6290394,52205352,0,0x0,8
tick,0x7ffcc6290394,52221324,0,0x0,8
tick,0x7ffcc6290394,52236719,0,0x0,8
tick,0x7ffcc6290394,52252141,0,0x0,8
tick,0x7ffcc6290394,52268372,0,0x0,8
tick,0x7ffcc6290394,52284272,0,0x0,8
tick,0x7ffcc6290394,52299332,0,0x0,8
tick,0x7ffcc6290394,52314862,0,0x0,8
tick,0x7ffcc6290394,52330175,0,0x0,8
tick,0x7ffcc6290394,52345934,0,0x0,8
tick,0x7ffcc6290394,52362110,0,0x0,8
tick,0x7ffcc6290394,52377289,0,0x0,8
tick,0x7ffcc6290394,52392414,0,0x0,8
tick,0x7ffcc6290394,52408133,0,0x0,8
tick,0x7ffcc6290394,52424288,0,0x0,8
tick,0x7ffcc6290394,52439964,0,0x0,8
tick,0x7ffcc6290394,52456395,0,0x0,8
tick,0x7ffcc6290394,52471690,0,0x0,8
tick,0x7ffcc6290394,52487672,0,0x0,8
tick,0x7ffcc6290394,52503559,0,0x0,8
tick,0x7ffcc6290394,52519288,0,0x0,8
tick,0x7ffcc6290394,52534986,0,0x0,8
tick,0x7ffcc6290394,52550626,0,0x0,8
tick,0x7ffcc6290394,52566508,0,0x0,8
tick,0x7ffcc6290394,52582662,0,0x0,8
tick,0x7ffcc6290394,52598094,0,0x0,8
tick,0x7ffcc6290394,52614270,0,0x0,8
tick,0x7ffcc6290394,52629604,0,0x0,8
tick,0x7ffcc6290394,52645256,0,0x0,8
tick,0x7ffcc6290394,52660882,0,0x0,8
tick,0x7ffcc6290394,52676543,0,0x0,8
tick,0x7ffcc6290394,52691731,0,0x0,8
tick,0x7ffcc6290394,52707432,0,0x0,8
tick,0x7ffcc6290394,52722896,0,0x0,8
tick,0x7ffcc6290394,52737783,0,0x0,8
tick,0x7ffcc6290394,52752881,0,0x0,8
tick,0x7ffcc6290394,52768959,0,0x0,8
tick,0x7ffcc6290394,52784805,0,0x0,8
tick,0x7ffcc6290394,52800713,0,0x0,8
tick,0x7ffcc6290394,52815909,0,0x0,8
tick,0x7ffcc6290394,52831668,0,0x0,8
tick,0x7ffcc6290394,52847395,0,0x0,8
tick,0x7ffcc6290394,52862680,0,0x0,8
tick,0x7ffcc6290394,52878016,0,0x0,8
tick,0x7ffcc6290394,52893540,0,0x0,8
tick,0x7ffcc6290394,52909441,0,0x0,8
tick,0x7ffcc6290394,52924724,0,0x0,8
tick,0x7ffcc6290394,52940238,0,0x0,8
tick,0x7ffcc6290394,52956001,0,0x0,8
tick,0x7ffcc6290394,52971369,0,0x0,8
tick,0x7ffcc6290394,52986822,0,0x0,8
tick,0x7ffcc6290394,53002655,0,0x0,8
tick,0x7ffcc6290394,53017627,0,0x0,8
tick,0x7ffcc6290394,53033660,0,0x0,8
tick,0x7ffcc6290394,53049121,0,0x0,8
tick,0x7ffcc6290394,53064902,0,0x0,8
tick,0x7ffcc6290394,53080116,0,0x0,8
tick,0x7ffcc6290394,53095179,0,0x0,8
tick,0x7ffcc6290394,53110428,0,0x0,8
tick,0x7ffcc6290394,53126340,0,0x0,8
tick,0x7ffcc6290394,53142419,0,0x0,8
tick,0x7ffcc6290394,53157824,0,0x0,8
tick,0x7ffcc6290394,53174167,0,0x0,8
tick,0x7ffcc6290394,53189149,0,0x0,8
tick,0x7ffcc6290394,53205174,0,0x0,8
tick,0x7ffcc6290394,53220227,0,0x0,8
tick,0x7ffcc6290394,53235989,0,0x0,8
tick,0x7ffcc6290394,53251685,0,0x0,8
tick,0x7ffcc6290394,53267766,0,0x0,8
tick,0x7ffcc6290394,53282866,0,0x0,8
tick,0x7ffcc6290394,53298622,0,0x0,8
tick,0x7ffcc6290394,53314305,0,0x0,8
tick,0x7ffcc6290394,53329622,0,0x0,8
tick,0x7ffcc6290394,53345347,0,0x0,8
tick,0x7ffcc6290394,53360229,0,0x0,8
tick,0x7ffcc6290394,53375879,0,0x0,8
tick,0x7ffcc6290394,53391172,0,0x0,8
tick,0x7ffcc6290394,53407074,0,0x0,8
tick,0x7ffcc6290394,53422916,0,0x0,8
tick,0x7ffcc6290394,53439042,0,0x0,8
tick,0x7ffcc6290394,53454039,0,0x0,8
tick,0x7ffcc6290394,53469939,0,0x0,8
tick,0x7ffcc6290394,53485676,0,0x0,8
tick,0x7ffcc6290394,53501493,0,0x0,8
tick,0x7ffcc6290394,53517350,0,0x0,8
tick,0x7ffcc6290394,53533226,0,0x0,8
tick,0x7ffcc6290394,53548744,0,0x0,8
tick,0x7ffcc6290394,53564645,0,0x0,8
tick,0x7ffcc6290394,53580434,0,0x0,8
tick,0x7ffcc6290394,53595963,0,0x0,8
tick,0x7ffcc6290394,53611613,0,0x0,8
tick,0x7ffcc6290394,53627374,0,0x0,8
tick,0x7ffcc6290394,53642753,0,0x0,8
tick,0x7ffcc6290394,53657687,0,0x0,8
tick,0x7ffcc6290394,53673577,0,0x0,8
tick,0x7ffcc6290394,53689530,0,0x0,8
tick,0x7ffcc6290394,53705220,0,0x0,8
tick,0x7ffcc6290394,53720492,0,0x0,8
tick,0x7ffcc6290394,53736507,0,0x0,8
tick,0x7ffcc6290394,53752460,0,0x0,8
tick,0x7ffcc6290394,53768448,0,0x0,8
tick,0x7ffcc6290394,53784266,0,0x0,8
tick,0x7ffcc6290394,53800148,0,0x0,8
tick,0x7ffcc6290394,53815483,0,0x0,8
tick,0x7ffcc6290394,53831380,0,0x0,8
tick,0x7ffcc6290394,53846144,0,0x0,8
tick,0x7ffcc6290394,53861361,0,0x0,8
tick,0x7ffcc6290394,53877335,0,0x0,8
tick,0x7ffcc6290394,53892094,0,0x0,8
tick,0x7ffcc6290394,53907338,0,0x0,8
tick,0x7ffcc6290394,53922779,0,0x0,8
tick,0x7ffcc6290394,53937902,0,0x0,8
tick,0x7ffcc6290394,53952815,0,0x0,8
tick,0x7ffcc6290394,53968926,0,0x0,8
tick,0x7ffcc6290394,53984688,0,0x0,8
tick,0x7ffcc6290394,54000441,0,0x0,8
tick,0x7ffcc6290394,54015889,0,0x0,8
tick,0x7ffcc6290394,54031893,0,0x0,8
tick,0x7ffcc6290394,54047940,0,0x0,8
tick,0x7ffcc6290394,54064098,0,0x0,8
tick,0x7ffcc6290394,54078790,0,0x0,8
tick,0x7ffcc6290394,54094304,0,0x0,8
tick,0x7ffcc6290394,54110016,0,0x0,8
tick,0x7ffcc6290394,54125476,0,0x0,8
tick,0x7ffcc6290394,54140919,0,0x0,8
tick,0x7ffcc6290394,54156942,0,0x0,8
tick,0x7ffcc6290394,54173154,0,0x0,8
tick,0x7ffcc6290394,54189030,0,0x0,8
tick,0x7ffcc6290394,54204233,0,0x0,8
tick,0x7ffcc6290394,54219461,0,0x0,8
tick,0x7ffcc6290394,54235406,0,0x0,8
tick,0x7ffcc6290394,54249989,0,0x0,8
tick,0x7ffcc6290394,54265707,0,0x0,8
tick,0x7ffcc6290394,54281460,0,0x0,8
tick,0x7ffcc6290394,54297417,0,0x0,8
tick,0x7ffcc6290394,54313472,0,0x0,8
tick,0x7ffcc6290394,54329134,0,0x0,8
tick,0x7ffcc6290394,54345229,0,0x0,8
tick,0x7ffcc6290394,54360735,0,0x0,8
tick,0x7ffcc6290394,54375940,0,0x0,8
tick,0x7ffcc6290394,54392045,0,0x0,8
tick,0x7ffcc6290394,54407532,0,0x0,8
tick,0x7ffcc6290394,54422708,0,0x0,8
tick,0x7ffcc6290394,54437889,0,0x0,8
tick,0x7ffcc6290394,54453005,0,0x0,8
tick,0x7ffcc6290394,54468527,0,0x0,8
tick,0x7ffcc6290394,54484457,0,0x0,8
tick,0x7ffcc6290394,54500145,0,0x0,8
tick,0x7ffcc6290394,54515662,0,0x0,8
tick,0x7ffcc6290394,54530842,0,0x0,8
tick,0x7ffcc6290394,54546913,0,0x0,8
tick,0x7ffcc6290394,54561794,0,0x0,8
tick,0x7ffcc6290394,54576921,0,0x0,8
tick,0x7ffcc6290394,54592775,0,0x0,8
tick,0x7ffcc6290394,54608403,0,0x0,8
tick,0x7ffcc6290394,54623644,0,0x0,8
tick,0x7ffcc6290394,54638308,0,0x0,8
tick,0x7ffcc6290394,54653640,0,0x0,8
tick,0x7ffcc6290394,54669351,0,0x0,8
tick,0x7ffcc6290394,54684349,0,0x0,8
tick,0x7ffcc6290394,54700420,0,0x0,8
tick,0x7ffcc6290394,54715780,0,0x0,8
tick,0x7ffcc6290394,54730901,0,0x0,8
tick,0x7ffcc6290394,54746973,0,0x0,8
tick,0x7ffcc6290394,54762611,0,0x0,8
tick,0x7ffcc6290394,54777363,0,0x0,8
tick,0x7ffcc6290394,54792894,0,0x0,8
tick,0x7ffcc6290394,54807628,0,0x0,8
tick,0x7ffcc6290394,54822820,0,0x0,8
tick,0x7ffcc6290394,54838922,0,0x0,8
tick,0x7ffcc6290394,54855041,0,0x0,8
tick,0x7ffcc6290394,54871054,0,0x0,8
tick,0x7ffcc6290394,54886342,0,0x0,8
tick,0x7ffcc6290394,54901170,0,0x0,8
tick,0x7ffcc6290394,54916624,0,0x0,8
tick,0x7ffcc6290394,54931930,0,0x0,8
tick,0x7ffcc6290394,54947654,0,0x0,8
tick,0x7ffcc6290394,54963213,0,0x0,8
tick,0x7ffcc6290394,54978971,0,0x0,8
tick,0x7ffcc6290394,54994003,0,0x0,8
tick,0x7ffcc6290394,55010093,0,0x0,8
tick,0x7ffcc6290394,55025731,0,0x0,8
tick,0x7ffcc6290394,55040720,0,0x0,8
tick,0x7ffcc6290394,55056193,0,0x0,8
tick,0x7ffcc6290394,55072151,0,0x0,8
tick,0x7ffcc6290394,55087861,0,0x0,8
tick,0x7ffcc6290394,55103086,0,0x0,8
tick,0x7ffcc6290394,55118520,0,0x0,8
tick,0x7ffcc6290394,55134491,0,0x0,8
tick,0x7ffcc6290394,55149796,0,0x0,8
tick,0x7ffcc6290394,55164763,0,0x0,8
tick,0x7ffcc6290394,55180399,0,0x0,8
tick,0x7ffcc6290394,55196600,0,0x0,8
tick,0x7ffcc6290394,55212224,0,0x0,8
tick,0x7ffcc6290394,55227281,0,0x0,8
tick,0x7ffcc6290394,55242920,0,0x0,8
tick,0x7ffcc6290394,55258216,0,0x0,8
tick,0x7ffcc6290394,55274237,0,0x0,8
tick,0x7ffcc6290394,55289293,0,0x0,8
tick,0x7ffcc6290394,55305718,0,0x0,8
tick,0x7ffcc6290394,55321010,0,0x0,8
tick,0x7ffcc6290394,55336623,0,0x0,8
tick,0x7ffcc6290394,55352267,0,0x0,8
tick,0x7ffcc6290394,55367915,0,0x0,8
tick,0x7ffcc6290394,55383364,0,0x0,8
tick,0x7ffcc6290394,55398642,0,0x0,8
tick,0x7ffcc6290394,55414260,0,0x0,8
tick,0x7ffcc6290394,55429727,0,0x0,8
tick,0x7ffcc6290394,55445065,0,0x0,8
tick,0x7ffcc6290394,55460073,0,0x0,8
tick,0x7ffcc6290394,55476311,0,0x0,8
tick,0x7ffcc6290394,55491745,0,0x0,8
tick,0x7ffcc6290394,55507074,0,0x0,8
tick,0x7ffcc6290394,55522650,0,0x0,8
tick,0x7ffcc6290394,55539185,0,0x0,8
tick,0x7ffcc6290394,55553794,0,0x0,8
tick,0x7ffcc6290394,55569481,0,0x0,8
tick,0x7ffcc6290394,55585223,0,0x0,8
tick,0x7ffcc6290394,55601161,0,0x0,8
tick,0x7ffcc6290394,55617041,0,0x0,8
tick,0x7ffcc6290394,55632481,0,0x0,8
tick,0x7ffcc6290394,55647714,0,0x0,8
tick,0x7ffcc6290394,55663806,0,0x0,8
tick,0x7ffcc6290394,55679162,0,0x0,8
tick,0x7ffcc6290394,55694997,0,0x0,8
tick,0x7ffcc6290394,55710080,0,0x0,8
tick,0x7ffcc6290394,55724939,0,0x0,8
tick,0x7ffcc6290394,55740633,0,0x0,8
tick,0x7ffcc6290394,55756336,0,0x0,8
tick,0x7ffcc6290394,55772447,0,0x0,8
tick,0x7ffcc6290394,55788395,0,0x0,8
tick,0x7ffcc6290394,55803898,0,0x0,8
tick,0x7ffcc6290394,55819652,0,0x0,8
tick,0x7ffcc6290394,55834893,0,0x0,8
tick,0x7ffcc6290394,55850503,0,0x0,8
tick,0x7ffcc6290394,55866299,0,0x0,8
tick,0x7ffcc6290394,55881849,0,0x0,8
tick,0x7ffcc6290394,55898186,0,0x0,8
tick,0x7ffcc6290394,55913705,0,0x0,8
tick,0x7ffcc6290394,55928558,0,0x0,8
tick,0x7ffcc6290394,55943795,0,0x0,8
tick,0x7ffcc6290394,55959169,0,0x0,8
tick,0x7ffcc6290394,55975235,0,0x0,8
tick,0x7ffcc6290394,55989907,0,0x0,8
tick,0x7ffcc6290394,56005994,0,0x0,8
tick,0x7ffcc6290394,56021270,0,0x0,8
tick,0x7ffcc6290394,56036046,0,0x0,8
tick,0x7ffcc6290394,56051472,0,0x0,8
tick,0x7ffcc6290394,56067102,0,0x0,8
tick,0x7ffcc6290394,56082626,0,0x0,8
tick,0x7ffcc6290394,56098425,0,0x0,8
tick,0x7ffcc6290394,56114153,0,0x0,8
tick,0x7ffcc6290394,56130196,0,0x0,8
tick,0x7ffcc6290394,56146115,0,0x0,8
tick,0x7ffcc6290394,56162018,0,0x0,8
tick,0x7ffcc6290394,56177841,0,0x0,8
tick,0x7ffcc6290394,56193793,0,0x0,8
tick,0x7ffcc6290394,56208718,0,0x0,8
tick,0x7ffcc6290394,56224149,0,0x0,8
tick,0x7ffcc6290394,56240172,0,0x0,8
tick,0x7ffcc6290394,56255487,0,0x0,8
tick,0x7ffcc6290394,56271308,0,0x0,8
tick,0x7ffcc6290394,56287442,0,0x0,8
tick,0x7ffcc6290394,56302396,0,0x0,8
tick,0x7ffcc6290394,56318335,0,0x0,8
tick,0x7ffcc6290394,56333553,0,0x0,8
tick,0x7ffcc6290394,56349747,0,0x0,8
tick,0x7ffcc6290394,56364876,0,0x0,8
tick,0x7ffcc6290394,56380434,0,0x0,8
tick,0x7ffcc6290394,56395935,0,0x0,8
tick,0x7ffcc6290394,56411979,0,0x0,8
tick,0x7ffcc6290394,56427086,0,0x0,8
tick,0x7ffcc6290394,56442100,0,0x0,8
tick,0x7ffcc6290394,56457070,0,0x0,8
tick,0x7ffcc6290394,56473188,0,0x0,8
tick,0x7ffcc6290394,56488585,0,0x0,8
tick,0x7ffcc6290394,56504228,0,0x0,8
tick,0x7ffcc6290394,56519812,0,0x0,8
tick,0x7ffcc6290394,56535847,0,0x0,8
tick,0x7ffcc6290394,56551328,0,0x0,8
tick,0x7ffcc6290394,56567145,0,0x0,8
tick,0x7ffcc6290394,56582218,0,0x0,8
tick,0x7ffcc6290394,56598120,0,0x0,8
tick,0x7ffcc6290394,56614090,0,0x0,8
tick,0x7ffcc6290394,56630065,0,0x0,8
tick,0x7ffcc6290394,56645370,0,0x0,8
tick,0x7ffcc6290394,56661097,0,0x0,8
tick,0x7ffcc6290394,56677009,0,0x0,8
tick,0x7ffcc6290394,56692318,0,0x0,8
tick,0x7ffcc6290394,56707328,0,0x0,8
tick,0x7ffcc6290394,56723880,0,0x0,8
tick,0x7ffcc6290394,56738514,0,0x0,8
tick,0x7ffcc6290394,56754295,0,0x0,8
tick,0x7ffcc6290394,56769152,0,0x0,8
tick,0x7ffcc6290394,56784524,0,0x0,8
tick,0x7ffcc6290394,56800650,0,0x0,8
tick,0x7ffcc6290394,56816617,0,0x0,8
tick,0x7ffcc6290394,56832147,0,0x0,8
tick,0x7ffcc6290394,56847343,0,0x0,8
tick,0x7ffcc6290394,56862177,0,0x0,8
tick,0x7ffcc6290394,56878153,0,0x0,8
tick,0x7ffcc6290394,56893730,0,0x0,8
tick,0x7ffcc6290394,56909472,0,0x0,8
tick,0x7ffcc6290394,56925348,0,0x0,8
tick,0x7ffcc6290394,56940603,0,0x0,8
tick,0x7ffcc6290394,56956231,0,0x0,8
tick,0x7ffcc6290394,56971339,0,0x0,8
tick,0x7ffcc6290394,56986949,0,0x0,8
tick,0x7ffcc6290394,57002724,0,0x0,8
tick,0x7ffcc6290394,57018051,0,0x0,8
tick,0x7ffcc6290394,57033111,0,0x0,8
tick,0x7ffcc6290394,57048878,0,0x0,8
tick,0x7ffcc6290394,57064382,0,0x0,8
tick,0x7ffcc6290394,57080218,0,0x0,8
tick,0x7ffcc6290394,57095924,0,0x0,8
tick,0x7ffcc6290394,57111499,0,0x0,8
tick,0x7ffcc6290394,57126930,0,0x0,8
tick,0x7ffcc6290394,57142928,0,0x0,8
tick,0x7ffcc6290394,57158563,0,0x0,8
tick,0x7ffcc6290394,57173778,0,0x0,8
tick,0x7ffcc6290394,57189965,0,0x0,8
tick,0x7ffcc6290394,57205274,0,0x0,8
tick,0x7ffcc6290394,57220548,0,0x0,8
tick,0x7ffcc6290394,57236729,0,0x0,8
tick,0x7ffcc6290394,57252475,0,0x0,8
tick,0x7ffcc6290394,57268766,0,0x0,8
tick,0x7ffcc6290394,57283685,0,0x0,8
tick,0x7ffcc6290394,57299587,0,0x0,8
tick,0x7ffcc6290394,57315030,0,0x0,8
tick,0x7ffcc6290394,57330675,0,0x0,8
tick,0x7ffcc6290394,57346084,0,0x0,8
tick,0x7ffcc6290394,57361392,0,0x0,8
tick,0x7ffcc6290394,57377332,0,0x0,8
tick,0x7ffcc6290394,57393070,0,0x0,8
tick,0x7ffcc6290394,57408824,0,0x0,8
tick,0x7ffcc6290394,57424125,0,0x0,8
tick,0x7ffcc6290394,57439968,0,0x0,8
tick,0x7ffcc6290394,57455475,0,0x0,8
tick,0x7ffcc6290394,57470812,0,0x0,8
tick,0x7ffcc6290394,57486202,0,0x0,8
tick,0x7ffcc6290394,57502097,0,0x0,8
tick,0x7ffcc6290394,57517237,0,0x0,8
tick,0x7ffcc6290394,57533129,0,0x0,8
tick,0x7ffcc6290394,57549020,0,0x0,8
tick,0x7ffcc6290394,57564624,0,0x0,8
tick,0x7ffcc6290394,57579974,0,0x0,8
tick,0x7ffcc6290394,57595441,0,0x0,8
tick,0x7ffcc6290394,57611080,0,0x0,8
tick,0x7ffcc6290394,57626912,0,0x0,8
tick,0x7ffcc6290394,57641984,0,0x0,8
tick,0x7ffcc6290394,57656977,0,0x0,8
tick,0x7ffcc6290394,57672434,0,0x0,8
tick,0x7ffcc6290394,57688360,0,0x0,8
tick,0x7ffcc6290394,57703351,0,0x0,8
tick,0x7ffcc6290394,57722660,0,0x0,8
tick,0x7ffcc6290394,57736414,0,0x0,8
tick,0x7ffcc6290394,57750249,0,0x0,8
tick,0x7ffcc6290394,57768883,0,0x0,8
tick,0x7ffcc6290394,57781040,0,0x0,8
tick,0x7ffcc6290394,57795985,0,0x0,8
tick,0x7ffcc6290394,57811655,0,0x0,8
tick,0x7ffcc6290394,57827090,0,0x0,8
tick,0x7ffcc6290394,57842766,0,0x0,8
tick,0x7ffcc6290394,57858116,0,0x0,8
tick,0x7ffcc6290394,57873337,0,0x0,8
tick,0x7ffcc6290394,57888760,0,0x0,8
tick,0x7ffcc6290394,57904236,0,0x0,8
tick,0x7ffcc6290394,57919873,0,0x0,8
tick,0x7ffcc6290394,57936226,0,0x0,8
tick,0x7ffcc6290394,57951748,0,0x0,8
tick,0x7ffcc6290394,57966984,0,0x0,8
tick,0x7ffcc6290394,57982892,0,0x0,8
tick,0x7ffcc6290394,57997792,0,0x0,8
tick,0x7ffcc6290394,58013215,0,0x0,8
tick,0x7ffcc6290394,58029000,0,0x0,8
tick,0x7ffcc6290394,58044240,0,0x0,8
tick,0x7ffcc6290394,58059496,0,0x0,8
tick,0x7ffcc6290394,58075052,0,0x0,8
tick,0x7ffcc6290394,58090896,0,0x0,8
tick,0x7ffcc6290394,58105476,0,0x0,8
tick,0x7ffcc6290394,58121891,0,0x0,8
tick,0x7ffcc6290394,58137567,0,0x0,8
tick,0x7ffcc6290394,58153469,0,0x0,8
tick,0x7ffcc6290394,58169134,0,0x0,8
tick,0x7ffcc6290394,58184967,0,0x0,8
tick,0x7ffcc6290394,58199685,0,0x0,8
tick,0x7ffcc6290394,58215115,0,0x0,8
tick,0x7ffcc6290394,58231177,0,0x0,8
tick,0x7ffcc6290394,58246393,0,0x0,8
tick,0x7ffcc6290394,58262340,0,0x0,8
tick,0x7ffcc6290394,58277622,0,0x0,8
tick,0x7ffcc6290394,58293510,0,0x0,8
tick,0x7ffcc6290394,58309284,0,0x0,8
tick,0x7ffcc6290394,58324919,0,0x0,8
tick,0x7ffcc6290394,58340313,0,0x0,8
tick,0x7ffcc6290394,58356282,0,0x0,8
tick,0x7ffcc6290394,58371861,0,0x0,8
tick,0x7ffcc6290394,58387084,0,0x0,8
tick,0x7ffcc6290394,58402210,0,0x0,8
tick,0x7ffcc6290394,58417826,0,0x0,8
tick,0x7ffcc6290394,58433989,0,0x0,8
tick,0x7ffcc6290394,58449594,0,0x0,8
tick,0x7ffcc6290394,58465316,0,0x0,8
tick,0x7ffcc6290394,58480068,0,0x0,8
tick,0x7ffcc6290394,58495453,0,0x0,8
tick,0x7ffcc6290394,58511264,0,0x0,8
tick,0x7ffcc6290394,58527216,0,0x0,8
tick,0x7ffcc6290394,58542601,0,0x0,8
tick,0x7ffcc6290394,58558295,0,0x0,8
tick,0x7ffcc6290394,58573682,0,0x0,8
tick,0x7ffcc6290394,58589204,0,0x0,8
tick,0x7ffcc6290394,58604845,0,0x0,8
tick,0x7ffcc6290394,58619980,0,0x0,8
tick,0x7ffcc6290394,58635606,0,0x0,8
tick,0x7ffcc6290394,58651049,0,0x0,8
tick,0x7ffcc6290394,58667106,0,0x0,8
tick,0x7ffcc6290394,58682567,0,0x0,8
tick,0x7ffcc6290394,58697384,0,0x0,8
tick,0x7ffcc6290394,58713253,0,0x0,8
tick,0x7ffcc6290394,58729244,0,0x0,8
tick,0x7ffcc6290394,58745136,0,0x0,8
tick,0x7ffcc6290394,58761086,0,0x0,8
tick,0x7ffcc6290394,58776941,0,0x0,8
tick,0x7ffcc6290394,58792100,0,0x0,8
tick,0x7ffcc6290394,58826628,0,0x0,8
tick,0x7ffcc6290394,58826705,0,0x0,8
tick,0x7ffcc6290394,58840685,0,0x0,8
tick,0x7ffcc6290394,58854537,0,0x0,8
tick,0x7ffcc6290394,58869384,0,0x0,8
tick,0x7ffcc6290394,58885548,0,0x0,8
tick,0x7ffcc6290394,58901363,0,0x0,8
tick,0x7ffcc6290394,58916836,0,0x0,8
tick,0x7ffcc6290394,58932331,0,0x0,8
tick,0x7ffcc6290394,58947634,0,0x0,8
tick,0x7ffcc6290394,58962877,0,0x0,8
tick,0x7ffcc6290394,58978518,0,0x0,8
tick,0x7ffcc6290394,58993639,0,0x0,8
tick,0x7ffcc6290394,59009005,0,0x0,8
tick,0x7ffcc6290394,59024376,0,0x0,8
tick,0x7ffcc6290394,59039459,0,0x0,8
tick,0x7ffcc6290394,59055076,0,0x0,8
tick,0x7ffcc6290394,59070224,0,0x0,8
tick,0x7ffcc6290394,59086095,0,0x0,8
tick,0x7ffcc6290394,59101275,0,0x0,8
tick,0x7ffcc6290394,59116684,0,0x0,8
tick,0x7ffcc6290394,59132065,0,0x0,8
tick,0x7ffcc6290394,59147523,0,0x0,8
tick,0x7ffcc6290394,59163753,0,0x0,8
tick,0x7ffcc6290394,59179361,0,0x0,8
tick,0x7ffcc6290394,59195184,0,0x0,8
tick,0x7ffcc6290394,59211505,0,0x0,8
tick,0x7ffcc6290394,59226905,0,0x0,8
tick,0x7ffcc6290394,59242941,0,0x0,8
tick,0x7ffcc6290394,59258906,0,0x0,8
tick,0x7ffcc6290394,59273888,0,0x0,8
tick,0x7ffcc6290394,59289245,0,0x0,8
tick,0x7ffcc6290394,59305172,0,0x0,8
tick,0x7ffcc6290394,59320684,0,0x0,8
tick,0x7ffcc6290394,59336784,0,0x0,8
tick,0x7ffcc6290394,59351891,0,0x0,8
tick,0x7ffcc6290394,59367196,0,0x0,8
tick,0x7ffcc6290394,59383630,0,0x0,8
tick,0x7ffcc6290394,59398587,0,0x0,8
tick,0x7ffcc6290394,59413986,0,0x0,8
tick,0x7ffcc6290394,59429454,0,0x0,8
tick,0x7ffcc6290394,59447962,0,0x0,8
tick,0x7ffcc6290394,59460006,0,0x0,8
tick,0x7ffcc6290394,59475612,0,0x0,8
tick,0x7ffcc6290394,59491164,0,0x0,8
tick,0x7ffcc6290394,59507042,0,0x0,8
tick,0x7ffcc6290394,59522959,0,0x0,8
tick,0x7ffcc6290394,59538136,0,0x0,8
tick,0x7ffcc6290394,59554327,0,0x0,8
tick,0x7ffcc6290394,59570312,0,0x0,8
tick,0x7ffcc6290394,59586318,0,0x0,8
tick,0x7ffcc6290394,59601030,0,0x0,8
tick,0x7ffcc6290394,59615984,0,0x0,8
tick,0x7ffcc6290394,59631924,0,0x0,8
tick,0x7ffcc6290394,59647711,0,0x0,8
tick,0x7ffcc6290394,59664061,0,0x0,8
tick,0x7ffcc6290394,59679099,0,0x0,8
tick,0x7ffcc6290394,59694129,0,0x0,8
tick,0x7ffcc6290394,59709400,0,0x0,8
tick,0x7ffcc6290394,59725322,0,0x0,8
tick,0x7ffcc6290394,59741539,0,0x0,8
tick,0x7ffcc6290394,59756796,0,0x0,8
tick,0x7ffcc6290394,59772181,0,0x0,8
tick,0x7ffcc6290394,59787272,0,0x0,8
tick,0x7ffcc6290394,59803011,0,0x0,8
tick,0x7ffcc6290394,59819046,0,0x0,8
tick,0x7ffcc6290394,59834291,0,0x0,8
tick,0x7ffcc6290394,59850095,0,0x0,8
tick,0x7ffcc6290394,59865817,0,0x0,8
tick,0x7ffcc6290394,59881289,0,0x0,8
tick,0x7ffcc6290394,59897316,0,0x0,8
tick,0x7ffcc6290394,59911939,0,0x0,8
tick,0x7ffcc6290394,59929318,0,0x0,8
tick,0x7ffcc6290394,59942391,0,0x0,8
tick,0x7ffcc6290394,59957584,0,0x0,8
tick,0x7ffcc6290394,59973027,0,0x0,8
tick,0x7ffcc6290394,59989914,0,0x0,8
tick,0x7ffcc6290394,60004467,0,0x0,8
tick,0x7ffcc6290394,60020358,0,0x0,8
tick,0x7ffcc6290394,60036730,0,0x0,8
tick,0x7ffcc6290394,60052308,0,0x0,8
tick,0x7ffcc6290394,60067183,0,0x0,8
tick,0x7ffcc6290394,60082358,0,0x0,8
tick,0x7ffcc6290394,60098404,0,0x0,8
tick,0x7ffcc6290394,60113844,0,0x0,8
tick,0x7ffcc6290394,60129111,0,0x0,8
tick,0x7ffcc6290394,60144732,0,0x0,8
tick,0x7ffcc6290394,60160223,0,0x0,8
tick,0x7ffcc6290394,60175777,0,0x0,8
tick,0x7ffcc6290394,60190943,0,0x0,8
tick,0x7ffcc6290394,60206419,0,0x0,8
tick,0x7ffcc6290394,60222169,0,0x0,8
tick,0x7ffcc6290394,60238024,0,0x0,8
tick,0x7ffcc6290394,60253257,0,0x0,8
tick,0x7ffcc6290394,60268357,0,0x0,8
tick,0x7ffcc6290394,60282932,0,0x0,8
tick,0x7ffcc6290394,60298836,0,0x0,8
tick,0x7ffcc6290394,60314352,0,0x0,8
tick,0x7ffcc6290394,60329344,0,0x0,8
tick,0x7ffcc6290394,60345014,0,0x0,8
tick,0x7ffcc6290394,60360016,0,0x0,8
tick,0x7ffcc6290394,60375512,0,0x0,8
tick,0x7ffcc6290394,60391450,0,0x0,8
tick,0x7ffcc6290394,60406160,0,0x0,8
tick,0x7ffcc6290394,60421661,0,0x0,8
tick,0x7ffcc6290394,60436241,0,0x0,8
tick,0x7ffcc6290394,60451937,0,0x0,8
tick,0x7ffcc6290394,60468306,0,0x0,8
tick,0x7ffcc6290394,60483712,0,0x0,8
tick,0x7ffcc6290394,60497735,0,0x0,8
tick,0x7ffcc6290394,60513641,0,0x0,8
tick,0x7ffcc6290394,60529243,0,0x0,8
tick,0x7ffcc6290394,60544357,0,0x0,8
tick,0x7ffcc6290394,60572215,0,0x0,8
tick,0x7ffcc6290394,60576053,0,0x0,8
tick,0x7ffcc6290394,60591235,0,0x0,8
tick,0x7ffcc6290394,60607242,0,0x0,8
tick,0x7ffcc6290394,60623286,0,0x0,8
tick,0x7ffcc6290394,60639058,0,0x0,8
tick,0x7ffcc6290394,60654668,0,0x0,8
tick,0x7ffcc6290394,60670010,0,0x0,8
tick,0x7ffcc6290394,60685562,0,0x0,8
tick,0x7ffcc6290394,60700953,0,0x0,8
tick,0x7ffcc6290394,60717399,0,0x0,8
tick,0x7ffcc6290394,60731912,0,0x0,8
tick,0x7ffcc6290394,60747851,0,0x0,8
tick,0x7ffcc6290394,60762982,0,0x0,8
tick,0x7ffcc6290394,60778620,0,0x0,8
tick,0x7ffcc6290394,60794546,0,0x0,8
tick,0x7ffcc6290394,60810097,0,0x0,8
tick,0x7ffcc6290394,60825221,0,0x0,8
tick,0x7ffcc6290394,60840875,0,0x0,8
tick,0x7ffcc6290394,60856211,0,0x0,8
tick,0x7ffcc6290394,60872200,0,0x0,8
tick,0x7ffcc6290394,60887298,0,0x0,8
tick,0x7ffcc6290394,60903602,0,0x0,8
tick,0x7ffcc6290394,60918820,0,0x0,8
tick,0x7ffcc6290394,60934957,0,0x0,8
tick,0x7ffcc6290394,60950818,0,0x0,8
tick,0x7ffcc6290394,60965420,0,0x0,8
tick,0x7ffcc6290394,60981221,0,0x0,8
tick,0x7ffcc6290394,60996436,0,0x0,8
tick,0x7ffcc6290394,61012634,0,0x0,8
tick,0x7ffcc6290394,61027358,0,0x0,8
tick,0x7ffcc6290394,61042780,0,0x0,8
tick,0x7ffcc6290394,61058543,0,0x0,8
tick,0x7ffcc6290394,61073771,0,0x0,8
tick,0x7ffcc6290394,61089363,0,0x0,8
tick,0x7ffcc6290394,61105515,0,0x0,8
tick,0x7ffcc6290394,61120664,0,0x0,8
tick,0x7ffcc6290394,61136435,0,0x0,8
tick,0x7ffcc6290394,61152443,0,0x0,8
tick,0x7ffcc6290394,61168669,0,0x0,8
tick,0x7ffcc6290394,61183909,0,0x0,8
tick,0x7ffcc6290394,61199271,0,0x0,8
tick,0x7ffcc6290394,61215193,0,0x0,8
tick,0x7ffcc6290394,61230443,0,0x0,8
tick,0x7ffcc6290394,61245882,0,0x0,8
tick,0x7ffcc6290394,61261039,0,0x0,8
tick,0x7ffcc6290394,61276707,0,0x0,8
tick,0x7ffcc6290394,61291659,0,0x0,8
tick,0x7ffcc6290394,61306902,0,0x0,8
tick,0x7ffcc6290394,61322444,0,0x0,8
tick,0x7ffcc6290394,61338164,0,0x0,8
tick,0x7ffcc6290394,61353630,0,0x0,8
tick,0x7ffcc6290394,61369393,0,0x0,8
tick,0x7ffcc6290394,61385184,0,0x0,8
tick,0x7ffcc6290394,61400923,0,0x0,8
tick,0x7ffcc6290394,61416386,0,0x0,8
tick,0x7ffcc6290394,61431732,0,0x0,8
tick,0x7ffcc6290394,61448308,0,0x0,8
tick,0x7ffcc6290394,61463067,0,0x0,8
tick,0x7ffcc6290394,61478614,0,0x0,8
tick,0x7ffcc6290394,61494057,0,0x0,8
tick,0x7ffcc6290394,61509386,0,0x0,8
tick,0x7ffcc6290394,61524726,0,0x0,8
tick,0x7ffcc6290394,61540345,0,0x0,8
tick,0x7ffcc6290394,61555330,0,0x0,8
tick,0x7ffcc6290394,61570892,0,0x0,8
tick,0x7ffcc6290394,61586889,0,0x0,8
tick,0x7ffcc6290394,61602922,0,0x0,8
tick,0x7ffcc6290394,61618563,0,0x0,8
tick,0x7ffcc6290394,61633724,0,0x0,8
tick,0x7ffcc6290394,61649238,0,0x0,8
tick,0x7ffcc6290394,61664720,0,0x0,8
tick,0x7ffcc6290394,61680551,0,0x0,8
tick,0x7ffcc6290394,61695858,0,0x0,8
tick,0x7ffcc6290394,61711743,0,0x0,8
tick,0x7ffcc6290394,61727536,0,0x0,8
tick,0x7ffcc6290394,61742103,0,0x0,8
tick,0x7ffcc6290394,61757427,0,0x0,8
tick,0x7ffcc6290394,61773296,0,0x0,8
tick,0x7ffcc6290394,61789266,0,0x0,8
tick,0x7ffcc6290394,61805272,0,0x0,8
tick,0x7ffcc6290394,61819832,0,0x0,8
tick,0x7ffcc6290394,61835709,0,0x0,8
tick,0x7ffcc6290394,61850897,0,0x0,8
tick,0x7ffcc6290394,61866890,0,0x0,8
tick,0x7ffcc6290394,61883015,0,0x0,8
tick,0x7ffcc6290394,61898148,0,0x0,8
tick,0x7ffcc6290394,61913579,0,0x0,8
tick,0x7ffcc6290394,61928819,0,0x0,8
tick,0x7ffcc6290394,61943678,0,0x0,8
tick,0x7ffcc6290394,61959421,0,0x0,8
tick,0x7ffcc6290394,61975054,0,0x0,8
tick,0x7ffcc6290394,61990881,0,0x0,8
tick,0x7ffcc6290394,62006859,0,0x0,8
tick,0x7ffcc6290394,62022061,0,0x0,8
tick,0x7ffcc6290394,62037611,0,0x0,8
tick,0x7ffcc6290394,62052934,0,0x0,8
tick,0x7ffcc6290394,62069653,0,0x0,8
tick,0x7ffcc6290394,62084360,0,0x0,8
tick,0x7ffcc6290394,62100164,0,0x0,8
tick,0x7ffcc6290394,62115561,0,0x0,8
tick,0x7ffcc6290394,62130843,0,0x0,8
tick,0x7ffcc6290394,62146648,0,0x0,8
tick,0x7ffcc6290394,62162212,0,0x0,8
tick,0x7ffcc6290394,62179794,0,0x0,8
tick,0x7ffcc6290394,62193385,0,0x0,8
tick,0x7ffcc6290394,62209391,0,0x0,8
tick,0x7ffcc6290394,62225425,0,0x0,8
tick,0x7ffcc6290394,62241267,0,0x0,8
tick,0x7ffcc6290394,62256928,0,0x0,8
tick,0x7ffcc6290394,62272559,0,0x0,8
tick,0x7ffcc6290394,62288369,0,0x0,8
tick,0x7ffcc6290394,62304447,0,0x0,8
tick,0x7ffcc6290394,62319041,0,0x0,8
tick,0x7ffcc6290394,62335173,0,0x0,8
tick,0x7ffcc6290394,62351027,0,0x0,8
tick,0x7ffcc6290394,62366608,0,0x0,8
tick,0x7ffcc6290394,62382290,0,0x0,8
tick,0x7ffcc6290394,62398091,0,0x0,8
tick,0x7ffcc6290394,62413473,0,0x0,8
tick,0x7ffcc6290394,62429029,0,0x0,8
tick,0x7ffcc6290394,62444987,0,0x0,8
tick,0x7ffcc6290394,62460598,0,0x0,8
tick,0x7ffcc6290394,62476582,0,0x0,8
tick,0x7ffcc6290394,62491943,0,0x0,8
tick,0x7ffcc6290394,62507683,0,0x0,8
tick,0x7ffcc6290394,62522425,0,0x0,8
tick,0x7ffcc6290394,62537679,0,0x0,8
tick,0x7ffcc6290394,62552489,0,0x0,8
tick,0x7ffcc6290394,62568418,0,0x0,8
tick,0x7ffcc6290394,62584199,0,0x0,8
tick,0x7ffcc6290394,62599664,0,0x0,8
tick,0x7ffcc6290394,62615365,0,0x0,8
tick,0x7ffcc6290394,62631109,0,0x0,8
tick,0x7ffcc6290394,62646778,0,0x0,8
tick,0x7ffcc6290394,62662510,0,0x0,8
tick,0x7ffcc6290394,62678243,0,0x0,8
tick,0x7ffcc6290394,62694208,0,0x0,8
tick,0x7ffcc6290394,62710295,0,0x0,8
tick,0x7ffcc6290394,62726283,0,0x0,8
tick,0x7ffcc6290394,62741144,0,0x0,8
tick,0x7ffcc6290394,62757420,0,0x0,8
tick,0x7ffcc6290394,62772739,0,0x0,8
tick,0x7ffcc6290394,62787447,0,0x0,8
tick,0x7ffcc6290394,62802911,0,0x0,8
tick,0x7ffcc6290394,62818687,0,0x0,8
tick,0x7ffcc6290394,62834180,0,0x0,8
tick,0x7ffcc6290394,62849676,0,0x0,8
tick,0x7ffcc6290394,62864874,0,0x0,8
tick,0x7ffcc6290394,62880906,0,0x0,8
tick,0x7ffcc6290394,62896061,0,0x0,8
tick,0x7ffcc6290394,62911841,0,0x0,8
tick,0x7ffcc6290394,62927435,0,0x0,8
tick,0x7ffcc6290394,62942794,0,0x0,8
tick,0x7ffcc6290394,62958664,0,0x0,8
tick,0x7ffcc6290394,62974760,0,0x0,8
tick,0x7ffcc6290394,62990707,0,0x0,8
tick,0x7ffcc6290394,63006291,0,0x0,8
tick,0x7ffcc6290394,63022712,0,0x0,8
tick,0x7ffcc6290394,63037401,0,0x0,8
tick,0x7ffcc6290394,63052283,0,0x0,8
tick,0x7ffcc6290394,63067752,0,0x0,8
tick,0x7ffcc6290394,63083732,0,0x0,8
tick,0x7ffcc6290394,63098243,0,0x0,8
tick,0x7ffcc6290394,63113696,0,0x0,8
tick,0x7ffcc6290394,63129529,0,0x0,8
tick,0x7ffcc6290394,63145432,0,0x0,8
tick,0x7ffcc6290394,63160813,0,0x0,8
tick,0x7ffcc6290394,63176880,0,0x0,8
tick,0x7ffcc6290394,63192512,0,0x0,8
tick,0x7ffcc6290394,63208326,0,0x0,8
tick,0x7ffcc6290394,63223808,0,0x0,8
tick,0x7ffcc6290394,63239241,0,0x0,8
tick,0x7ffcc6290394,63255083,0,0x0,8
tick,0x7ffcc6290394,63270990,0,0x0,8
tick,0x7ffcc6290394,63287386,0,0x0,8
tick,0x7ffcc6290394,63302159,0,0x0,8
tick,0x7ffcc6290394,63318205,0,0x0,8
tick,0x7ffcc6290394,63333188,0,0x0,8
tick,0x7ffcc6290394,63348521,0,0x0,8
tick,0x7ffcc6290394,63364467,0,0x0,8
tick,0x7ffcc6290394,63379727,0,0x0,8
tick,0x7ffcc6290394,63395129,0,0x0,8
tick,0x7ffcc6290394,63411013,0,0x0,8
tick,0x7ffcc6290394,63427080,0,0x0,8
tick,0x7ffcc6290394,63470186,0,0x0,8
tick,0x7ffcc6290394,63474195,0,0x0,8
tick,0x7ffcc6290394,63489511,0,0x0,8
tick,0x7ffcc6290394,63504906,0,0x0,8
tick,0x7ffcc6290394,63520093,0,0x0,8
tick,0x7ffcc6290394,63536141,0,0x0,8
tick,0x7ffcc6290394,63551469,0,0x0,8
tick,0x7ffcc6290394,63566450,0,0x0,8
tick,0x7ffcc6290394,63582020,0,0x0,8
tick,0x7ffcc6290394,63597143,0,0x0,8
tick,0x7ffcc6290394,63613119,0,0x0,8
tick,0x7ffcc6290394,63628442,0,0x0,8
tick,0x7ffcc6290394,63643703,0,0x0,8
tick,0x7ffcc6290394,63658952,0,0x0,8
tick,0x7ffcc6290394,63675263,0,0x0,8
tick,0x7ffcc6290394,63691120,0,0x0,8
tick,0x7ffcc6290394,63707468,0,0x0,8
tick,0x7ffcc6290394,63722096,0,0x0,8
tick,0x7ffcc6290394,63737544,0,0x0,8
tick,0x7ffcc6290394,63753616,0,0x0,8
tick,0x7ffcc6290394,63769131,0,0x0,8
tick,0x7ffcc6290394,63785181,0,0x0,8
tick,0x7ffcc6290394,63800843,0,0x0,8
tick,0x7ffcc6290394,63815728,0,0x0,8
tick,0x7ffcc6290394,63831641,0,0x0,8
tick,0x7ffcc6290394,63846623,0,0x0,8
tick,0x7ffcc6290394,63862453,0,0x0,8
tick,0x7ffcc6290394,63879179,0,0x0,8
tick,0x7ffcc6290394,63894567,0,0x0,8
tick,0x7ffcc6290394,63911851,0,0x0,8
tick,0x7ffcc6290394,63925917,0,0x0,8
tick,0x7ffcc6290394,63941054,0,0x0,8
tick,0x7ffcc6290394,63956350,0,0x0,8
tick,0x7ffcc6290394,63971656,0,0x0,8
tick,0x7ffcc6290394,63987107,0,0x0,8
tick,0x7ffcc6290394,64002980,0,0x0,8
tick,0x7ffcc6290394,64018252,0,0x0,8
tick,0x7ffcc6290394,64033716,0,0x0,8
tick,0x7ffcc6290394,64048771,0,0x0,8
tick,0x7ffcc6290394,64064154,0,0x0,8
tick,0x7ffcc6290394,64079305,0,0x0,8
tick,0x7ffcc6290394,64094560,0,0x0,8
tick,0x7ffcc6290394,64109924,0,0x0,8
tick,0x7ffcc6290394,64125372,0,0x0,8
tick,0x7ffcc6290394,64141334,0,0x0,8
tick,0x7ffcc6290394,64157033,0,0x0,8
tick,0x7ffcc6290394,64172222,0,0x0,8
tick,0x7ffcc6290394,64187117,0,0x0,8
tick,0x7ffcc6290394,64202697,0,0x0,8
tick,0x7ffcc6290394,64218149,0,0x0,8
tick,0x7ffcc6290394,64234033,0,0x0,8
tick,0x7ffcc6290394,64250060,0,0x0,8
tick,0x7ffcc6290394,64265326,0,0x0,8
tick,0x7ffcc6290394,64280910,0,0x0,8
tick,0x7ffcc6290394,64296401,0,0x0,8
tick,0x7ffcc6290394,64311744,0,0x0,8
tick,0x7ffcc6290394,64327465,0,0x0,8
tick,0x7ffcc6290394,64343410,0,0x0,8
tick,0x7ffcc6290394,64358428,0,0x0,8
tick,0x7ffcc6290394,64374231,0,0x0,8
tick,0x7ffcc6290394,64389735,0,0x0,8
tick,0x7ffcc6290394,64405060,0,0x0,8
tick,0x7ffcc6290394,64420462,0,0x0,8
tick,0x7ffcc6290394,64435345,0,0x0,8
tick,0x7ffcc6290394,64451007,0,0x0,8
tick,0x7ffcc6290394,64467096,0,0x0,8
tick,0x7ffcc6290394,64482837,0,0x0,8
tick,0x7ffcc6290394,64497993,0,0x0,8
tick,0x7ffcc6290394,64512782,0,0x0,8
tick,0x7ffcc6290394,64528829,0,0x0,8
tick,0x7ffcc6290394,64544167,0,0x0,8
tick,0x7ffcc6290394,64560196,0,0x0,8
tick,0x7ffcc6290394,64575883,0,0x0,8
tick,0x7ffcc6290394,64591196,0,0x0,8
tick,0x7ffcc6290394,64606592,0,0x0,8
tick,0x7ffcc6290394,64622070,0,0x0,8
tick,0x7ffcc6290394,64637778,0,0x0,8
tick,0x7ffcc6290394,64653100,0,0x0,8
tick,0x7ffcc6290394,64671538,0,0x0,8
tick,0x7ffcc6290394,64684037,0,0x0,8
tick,0x7ffcc6290394,64699817,0,0x0,8
tick,0x7ffcc6290394,64715329,0,0x0,8
tick,0x7ffcc6290394,64731048,0,0x0,8
tick,0x7ffcc6290394,64746450,0,0x0,8
tick,0x7ffcc6290394,64762430,0,0x0,8
tick,0x7ffcc6290394,64778035,0,0x0,8
tick,0x7ffcc6290394,64794456,0,0x0,8
tick,0x7ffcc6290394,64810134,0,0x0,8
tick,0x7ffcc6290394,64825143,0,0x0,8
tick,0x7ffcc6290394,64841394,0,0x0,8
tick,0x7ffcc6290394,64856788,0,0x0,8
tick,0x7ffcc6290394,64872684,0,0x0,8
tick,0x7ffcc6290394,64888562,0,0x0,8
tick,0x7ffcc6290394,64903972,0,0x0,8
tick,0x7ffcc6290394,64919914,0,0x0,8
tick,0x7ffcc6290394,64935923,0,0x0,8
tick,0x7ffcc6290394,64949890,0,0x0,8
tick,0x7ffcc6290394,64965590,0,0x0,8
tick,0x7ffcc6290394,64981664,0,0x0,8
tick,0x7ffcc6290394,64997303,0,0x0,8
tick,0x7ffcc6290394,65012120,0,0x0,8
tick,0x7ffcc6290394,65028572,0,0x0,8
tick,0x7ffcc6290394,65043961,0,0x0,8
tick,0x7ffcc6290394,65059918,0,0x0,8
tick,0x7ffcc6290394,65074877,0,0x0,8
tick,0x7ffcc6290394,65090534,0,0x0,8
tick,0x7ffcc6290394,65106450,0,0x0,8
tick,0x7ffcc6290394,65122397,0,0x0,8
tick,0x7ffcc6290394,65138076,0,0x0,8
tick,0x7ffcc6290394,65153391,0,0x0,8
tick,0x7ffcc6290394,65168716,0,0x0,8
tick,0x7ffcc6290394,65184081,0,0x0,8
tick,0x7ffcc6290394,65198869,0,0x0,8
tick,0x7ffcc6290394,65214780,0,0x0,8
tick,0x7ffcc6290394,65230462,0,0x0,8
tick,0x7ffcc6290394,65245051,0,0x0,8
tick,0x7ffcc6290394,65270635,0,0x0,8
tick,0x7ffcc6290394,65290743,0,0x0,8
tick,0x7ffcc6290394,65292242,0,0x0,8
tick,0x7ffcc6290394,65307461,0,0x0,8
tick,0x7ffcc6290394,65322861,0,0x0,8
tick,0x7ffcc6290394,65338582,0,0x0,8
tick,0x7ffcc6290394,65354703,0,0x0,8
tick,0x7ffcc6290394,65370420,0,0x0,8
tick,0x7ffcc6290394,65386118,0,0x0,8
tick,0x7ffcc6290394,65401819,0,0x0,8
tick,0x7ffcc6290394,65417366,0,0x0,8
tick,0x7ffcc6290394,65432435,0,0x0,8
tick,0x7ffcc6290394,65447872,0,0x0,8
tick,0x7ffcc6290394,65463312,0,0x0,8
tick,0x7ffcc6290394,65479247,0,0x0,8
tick,0x7ffcc6290394,65494875,0,0x0,8
tick,0x7ffcc6290394,65510494,0,0x0,8
tick,0x7ffcc6290394,65526087,0,0x0,8
tick,0x7ffcc6290394,65541966,0,0x0,8
tick,0x7ffcc6290394,65556889,0,0x0,8
tick,0x7ffcc6290394,65572317,0,0x0,8
tick,0x7ffcc6290394,65587890,0,0x0,8
tick,0x7ffcc6290394,65603808,0,0x0,8
tick,0x7ffcc6290394,65618842,0,0x0,8
tick,0x7ffcc6290394,65634309,0,0x0,8
tick,0x7ffcc6290394,65649120,0,0x0,8
tick,0x7ffcc6290394,65665203,0,0x0,8
tick,0x7ffcc6290394,65680761,0,0x0,8
tick,0x7ffcc6290394,65696703,0,0x0,8
tick,0x7ffcc6290394,65712518,0,0x0,8
tick,0x7ffcc6290394,65728337,0,0x0,8
tick,0x7ffcc6290394,65744362,0,0x0,8
tick,0x7ffcc6290394,65759811,0,0x0,8
tick,0x7ffcc6290394,65774799,0,0x0,8
tick,0x7ffcc6290394,65790764,0,0x0,8
tick,0x7ffcc6290394,65806459,0,0x0,8
tick,0x7ffcc6290394,65822377,0,0x0,8
tick,0x7ffcc6290394,65838261,0,0x0,8
tick,0x7ffcc6290394,65853652,0,0x0,8
tick,0x7ffcc6290394,65869654,0,0x0,8
tick,0x7ffcc6290394,65885342,0,0x0,8
tick,0x7ffcc6290394,65900948,0,0x0,8
tick,0x7ffcc6290394,65916881,0,0x0,8
tick,0x7ffcc6290394,65931839,0,0x0,8
tick,0x7ffcc6290394,65946943,0,0x0,8
tick,0x7ffcc6290394,65962173,0,0x0,8
tick,0x7ffcc6290394,65977010,0,0x0,8
tick,0x7ffcc6290394,65992763,0,0x0,8
tick,0x7ffcc6290394,66008087,0,0x0,8
tick,0x7ffcc6290394,66025169,0,0x0,8
tick,0x7ffcc6290394,66039725,0,0x0,8
tick,0x7ffcc6290394,66055791,0,0x0,8
tick,0x7ffcc6290394,66071453,0,0x0,8
tick,0x7ffcc6290394,66086518,0,0x0,8
tick,0x7ffcc6290394,66101730,0,0x0,8
tick,0x7ffcc6290394,66117476,0,0x0,8
tick,0x7ffcc6290394,66132485,0,0x0,8
tick,0x7ffcc6290394,66147656,0,0x0,8
tick,0x7ffcc6290394,66162989,0,0x0,8
tick,0x7ffcc6290394,66178522,0,0x0,8
tick,0x7ffcc6290394,66193578,0,0x0,8
tick,0x7ffcc6290394,66209602,0,0x0,8
tick,0x7ffcc6290394,66225311,0,0x0,8
tick,0x7ffcc6290394,66241068,0,0x0,8
tick,0x7ffcc6290394,66256852,0,0x0,8
tick,0x7ffcc6290394,66272550,0,0x0,8
tick,0x7ffcc6290394,66288408,0,0x0,8
tick,0x7ffcc6290394,66303618,0,0x0,8
tick,0x7ffcc6290394,66318602,0,0x0,8
tick,0x7ffcc6290394,66334289,0,0x0,8
tick,0x7ffcc6290394,66349191,0,0x0,8
tick,0x7ffcc6290394,66365177,0,0x0,8
tick,0x7ffcc6290394,66380469,0,0x0,8
tick,0x7ffcc6290394,66395692,0,0x0,8
tick,0x7ffcc6290394,66411600,0,0x0,8
tick,0x7ffcc6290394,66426910,0,0x0,8
tick,0x7ffcc6290394,66442725,0,0x0,8
tick,0x7ffcc6290394,66458386,0,0x0,8
tick,0x7ffcc6290394,66473888,0,0x0,8
tick,0x7ffcc6290394,66489870,0,0x0,8
tick,0x7ffcc6290394,66505840,0,0x0,8
tick,0x7ffcc6290394,66523221,0,0x0,8
tick,0x7ffcc6290394,66536087,0,0x0,8
tick,0x7ffcc6290394,66552339,0,0x0,8
tick,0x7ffcc6290394,66568287,0,0x0,8
tick,0x7ffcc6290394,66584203,0,0x0,8
tick,0x7ffcc6290394,66598955,0,0x0,8
tick,0x7ffcc6290394,66614990,0,0x0,8
tick,0x7ffcc6290394,66659843,0,0x0,8
tick,0x7ffcc6290394,66662517,0,0x0,8
tick,0x7ffcc6290394,66683724,0,0x0,8
tick,0x7ffcc6290394,66693025,0,0x0,8
tick,0x7ffcc6290394,66708030,0,0x0,8
tick,0x7ffcc6290394,66723927,0,0x0,8
tick,0x7ffcc6290394,66739329,0,0x0,8
tick,0x7ffcc6290394,66754542,0,0x0,8
tick,0x7ffcc6290394,66770559,0,0x0,8
tick,0x7ffcc6290394,66786382,0,0x0,8
tick,0x7ffcc6290394,66804677,0,0x0,8
tick,0x7ffcc6290394,66818051,0,0x0,8
tick,0x7ffcc6290394,66834106,0,0x0,8
tick,0x7ffcc6290394,66849979,0,0x0,8
tick,0x7ffcc6290394,66865457,0,0x0,8
tick,0x7ffcc6290394,66881205,0,0x0,8
tick,0x7ffcc6290394,66896419,0,0x0,8
tick,0x7ffcc6290394,66912335,0,0x0,8
tick,0x7ffcc6290394,66928146,0,0x0,8
tick,0x7ffcc6290394,66943531,0,0x0,8
tick,0x7ffcc6290394,66958673,0,0x0,8
tick,0x7ffcc6290394,66973988,0,0x0,8
tick,0x7ffcc6290394,66990033,0,0x0,8
tick,0x7ffcc6290394,67006780,0,0x0,8
tick,0x7ffcc6290394,67021580,0,0x0,8
tick,0x7ffcc6290394,67037247,0,0x0,8
tick,0x7ffcc6290394,67052190,0,0x0,8
tick,0x7ffcc6290394,67068116,0,0x0,8
tick,0x7ffcc6290394,67083944,0,0x0,8
tick,0x7ffcc6290394,67099057,0,0x0,8
tick,0x7ffcc6290394,67114996,0,0x0,8
tick,0x7ffcc6290394,67131006,0,0x0,8
tick,0x7ffcc6290394,67146283,0,0x0,8
tick,0x7ffcc6290394,67161799,0,0x0,8
tick,0x7ffcc6290394,67177193,0,0x0,8
tick,0x7ffcc6290394,67192079,0,0x0,8
tick,0x7ffcc6290394,67207487,0,0x0,8
tick,0x7ffcc6290394,67222650,0,0x0,8
tick,0x7ffcc6290394,67238142,0,0x0,8
tick,0x7ffcc6290394,67253236,0,0x0,8
tick,0x7ffcc6290394,67269077,0,0x0,8
tick,0x7ffcc6290394,67284777,0,0x0,8
tick,0x7ffcc6290394,67299634,0,0x0,8
tick,0x7ffcc6290394,67315101,0,0x0,8
tick,0x7ffcc6290394,67330201,0,0x0,8
tick,0x7ffcc6290394,67345964,0,0x0,8
tick,0x7ffcc6290394,67361899,0,0x0,8
tick,0x7ffcc6290394,67376929,0,0x0,8
tick,0x7ffcc6290394,67392544,0,0x0,8
tick,0x7ffcc6290394,67407919,0,0x0,8
tick,0x7ffcc6290394,67422940,0,0x0,8
tick,0x7ffcc6290394,67438741,0,0x0,8
tick,0x7ffcc6290394,67454536,0,0x0,8
tick,0x7ffcc6290394,67470294,0,0x0,8
tick,0x7ffcc6290394,67486072,0,0x0,8
tick,0x7ffcc6290394,67501450,0,0x0,8
tick,0x7ffcc6290394,67517283,0,0x0,8
tick,0x7ffcc6290394,67532729,0,0x0,8
tick,0x7ffcc6290394,67548930,0,0x0,8
tick,0x7ffcc6290394,67564756,0,0x0,8
tick,0x7ffcc6290394,67580639,0,0x0,8
tick,0x7ffcc6290394,67595492,0,0x0,8
tick,0x7ffcc6290394,67610382,0,0x0,8
tick,0x7ffcc6290394,67626121,0,0x0,8
tick,0x7ffcc6290394,67643625,0,0x0,8
tick,0x7ffcc6290394,67676555,0,0x0,8
tick,0x7ffcc6290394,67688751,0,0x0,8
tick,0x7ffcc6290394,67703774,0,0x0,8
tick,0x7ffcc6290394,67719378,0,0x0,8
tick,0x7ffcc6290394,67735238,0,0x0,8
tick,0x7ffcc6290394,67750996,0,0x0,8
tick,0x7ffcc6290394,67767568,0,0x0,8
tick,0x7ffcc6290394,67781699,0,0x0,8
tick,0x7ffcc6290394,67796682,0,0x0,8
tick,0x7ffcc6290394,67811800,0,0x0,8
tick,0x7ffcc6290394,67827054,0,0x0,8
tick,0x7ffcc6290394,67842660,0,0x0,8
tick,0x7ffcc6290394,67857971,0,0x0,8
tick,0x7ffcc6290394,67874022,0,0x0,8
tick,0x7ffcc6290394,67889799,0,0x0,8
tick,0x7ffcc6290394,67905761,0,0x0,8
tick,0x7ffcc6290394,67921534,0,0x0,8
tick,0x7ffcc6290394,67937620,0,0x0,8
tick,0x7ffcc6290394,67952335,0,0x0,8
tick,0x7ffcc6290394,67968434,0,0x0,8
tick,0x7ffcc6290394,67983509,0,0x0,8
tick,0x7ffcc6290394,67999105,0,0x0,8
tick,0x7ffcc6290394,68014775,0,0x0,8
tick,0x7ffcc6290394,68030872,0,0x0,8
tick,0x7ffcc6290394,68046294,0,0x0,8
tick,0x7ffcc6290394,68061949,0,0x0,8
tick,0x7ffcc6290394,68077009,0,0x0,8
tick,0x7ffcc6290394,68092265,0,0x0,8
tick,0x7ffcc6290394,68107965,0,0x0,8
tick,0x7ffcc6290394,68123203,0,0x0,8
tick,0x7ffcc6290394,68138633,0,0x0,8
tick,0x7ffcc6290394,68154511,0,0x0,8
tick,0x7ffcc6290394,68169728,0,0x0,8
tick,0x7ffcc6290394,68185591,0,0x0,8
tick,0x7ffcc6290394,68200921,0,0x0,8
tick,0x7ffcc6290394,68217418,0,0x0,8
tick,0x7ffcc6290394,68232175,0,0x0,8
tick,0x7ffcc6290394,68247197,0,0x0,8
tick,0x7ffcc6290394,68262978,0,0x0,8
tick,0x7ffcc6290394,68278209,0,0x0,8
tick,0x7ffcc6290394,68293136,0,0x0,8
tick,0x7ffcc6290394,68309180,0,0x0,8
tick,0x7ffcc6290394,68329507,0,0x0,8
tick,0x7ffcc6290394,68339806,0,0x0,8
tick,0x7ffcc6290394,68355343,0,0x0,8
tick,0x7ffcc6290394,68371126,0,0x0,8
tick,0x7ffcc6290394,68386920,0,0x0,8
tick,0x7ffcc6290394,68403723,0,0x0,8
tick,0x7ffcc6290394,68418588,0,0x0,8
tick,0x7ffcc6290394,68433601,0,0x0,8
tick,0x7ffcc6290394,68448477,0,0x0,8
tick,0x7ffcc6290394,68464249,0,0x0,8
tick,0x7ffcc6290394,68480555,0,0x0,8
tick,0x7ffcc6290394,68495967,0,0x0,8
tick,0x7ffcc6290394,68512166,0,0x0,8
tick,0x7ffcc6290394,68527963,0,0x0,8
tick,0x7ffcc6290394,68543726,0,0x0,8
tick,0x7ffcc6290394,68558800,0,0x0,8
tick,0x7ffcc6290394,68574136,0,0x0,8
tick,0x7ffcc6290394,68590256,0,0x0,8
tick,0x7ffcc6290394,68605638,0,0x0,8
tick,0x7ffcc6290394,68620868,0,0x0,8
tick,0x7ffcc6290394,68636693,0,0x0,8
tick,0x7ffcc6290394,68651696,0,0x0,8
tick,0x7ffcc6290394,68667841,0,0x0,8
tick,0x7ffcc6290394,68684260,0,0x0,8
tick,0x7ffcc6290394,68699047,0,0x0,8
tick,0x7ffcc6290394,68714767,0,0x0,8
tick,0x7ffcc6290394,68730392,0,0x0,8
tick,0x7ffcc6290394,68746322,0,0x0,8
tick,0x7ffcc6290394,68786688,0,0x0,8
tick,0x7ffcc6290394,68793023,0,0x0,8
tick,0x7ffcc6290394,68807943,0,0x0,8
tick,0x7ffcc6290394,68823582,0,0x0,8
tick,0x7ffcc6290394,68839045,0,0x0,8
tick,0x7ffcc6290394,68853699,0,0x0,8
tick,0x7ffcc6290394,68869054,0,0x0,8
tick,0x7ffcc6290394,68884534,0,0x0,8
tick,0x7ffcc6290394,68899968,0,0x0,8
tick,0x7ffcc6290394,68915002,0,0x0,8
tick,0x7ffcc6290394,68930759,0,0x0,8
tick,0x7ffcc6290394,68946291,0,0x0,8
tick,0x7ffcc6290394,68961481,0,0x0,8
tick,0x7ffcc6290394,68976974,0,0x0,8
tick,0x7ffcc6290394,68992910,0,0x0,8
tick,0x7ffcc6290394,69008285,0,0x0,8
tick,0x7ffcc6290394,69023280,0,0x0,8
tick,0x7ffcc6290394,69039279,0,0x0,8
tick,0x7ffcc6290394,69055107,0,0x0,8
tick,0x7ffcc6290394,69070382,0,0x0,8
tick,0x7ffcc6290394,69086145,0,0x0,8
tick,0x7ffcc6290394,69101671,0,0x0,8
tick,0x7ffcc6290394,69117782,0,0x0,8
tick,0x7ffcc6290394,69132301,0,0x0,8
tick,0x7ffcc6290394,69147676,0,0x0,8
tick,0x7ffcc6290394,69163445,0,0x0,8
tick,0x7ffcc6290394,69179175,0,0x0,8
tick,0x7ffcc6290394,69194278,0,0x0,8
tick,0x7ffcc6290394,69211664,0,0x0,8
tick,0x7ffcc6290394,69225707,0,0x0,8
tick,0x7ffcc6290394,69241005,0,0x0,8
tick,0x7ffcc6290394,69256813,0,0x0,8
tick,0x7ffcc6290394,69271391,0,0x0,8
tick,0x7ffcc6290394,69286935,0,0x0,8
tick,0x7ffcc6290394,69302837,0,0x0,8
tick,0x7ffcc6290394,69320900,0,0x0,8
tick,0x7ffcc6290394,69334323,0,0x0,8
tick,0x7ffcc6290394,69350107,0,0x0,8
tick,0x7ffcc6290394,69364867,0,0x0,8
tick,0x7ffcc6290394,69380793,0,0x0,8
tick,0x7ffcc6290394,69396269,0,0x0,8
tick,0x7ffcc6290394,69412452,0,0x0,8
tick,0x7ffcc6290394,69427182,0,0x0,8
tick,0x7ffcc6290394,69443276,0,0x0,8
tick,0x7ffcc6290394,69459345,0,0x0,8
tick,0x7ffcc6290394,69474232,0,0x0,8
tick,0x7ffcc6290394,69490156,0,0x0,8
tick,0x7ffcc6290394,69505891,0,0x0,8
tick,0x7ffcc6290394,69521912,0,0x0,8
tick,0x7ffcc6290394,69536024,0,0x0,8
tick,0x7ffcc6290394,69552173,0,0x0,8
tick,0x7ffcc6290394,69567475,0,0x0,8
tick,0x7ffcc6290394,69583771,0,0x0,8
tick,0x7ffcc6290394,69598810,0,0x0,8
tick,0x7ffcc6290394,69613803,0,0x0,8
tick,0x7ffcc6290394,69629472,0,0x0,8
tick,0x7ffcc6290394,69645246,0,0x0,8
tick,0x7ffcc6290394,69660900,0,0x0,8
tick,0x7ffcc6290394,69676486,0,0x0,8
tick,0x7ffcc6290394,69691978,0,0x0,8
tick,0x7ffcc6290394,69707927,0,0x0,8
tick,0x7ffcc6290394,69723857,0,0x0,8
tick,0x7ffcc6290394,69738927,0,0x0,8
tick,0x7ffcc6290394,69754747,0,0x0,8
tick,0x7ffcc6290394,69770513,0,0x0,8
tick,0x7ffcc6290394,69785277,0,0x0,8
tick,0x7ffcc6290394,69800943,0,0x0,8
tick,0x7ffcc6290394,69817322,0,0x0,8
tick,0x7ffcc6290394,69834008,0,0x0,8
tick,0x7ffcc6290394,69868976,0,0x0,8
tick,0x7ffcc6290394,69877513,0,0x0,8
tick,0x7ffcc6290394,69892837,0,0x0,8
tick,0x7ffcc6290394,69908254,0,0x0,8
tick,0x7ffcc6290394,69923516,0,0x0,8
tick,0x7ffcc6290394,69942798,0,0x0,8
tick,0x7ffcc6290394,69954898,0,0x0,8
tick,0x7ffcc6290394,69971289,0,0x0,8
tick,0x7ffcc6290394,69985712,0,0x0,8
tick,0x7ffcc6290394,70002044,0,0x0,8
tick,0x7ffcc6290394,70017567,0,0x0,8
tick,0x7ffcc6290394,70033579,0,0x0,8
tick,0x7ffcc6290394,70048313,0,0x0,8
tick,0x7ffcc6290394,70063975,0,0x0,8
tick,0x7ffcc6290394,70079868,0,0x0,8
tick,0x7ffcc6290394,70094859,0,0x0,8
tick,0x7ffcc6290394,70110462,0,0x0,8
tick,0x7ffcc6290394,70125753,0,0x0,8
tick,0x7ffcc6290394,70141404,0,0x0,8
tick,0x7ffcc6290394,70156943,0,0x0,8
tick,0x7ffcc6290394,70172592,0,0x0,8
tick,0x7ffcc6290394,70187496,0,0x0,8
tick,0x7ffcc6290394,70203525,0,0x0,8
tick,0x7ffcc6290394,70219440,0,0x0,8
tick,0x7ffcc6290394,70234416,0,0x0,8
tick,0x7ffcc6290394,70250703,0,0x0,8
tick,0x7ffcc6290394,70265577,0,0x0,8
tick,0x7ffcc6290394,70281044,0,0x0,8
tick,0x7ffcc6290394,70295906,0,0x0,8
tick,0x7ffcc6290394,70311133,0,0x0,8
tick,0x7ffcc6290394,70326228,0,0x0,8
tick,0x7ffcc6290394,70342183,0,0x0,8
tick,0x7ffcc6290394,70357616,0,0x0,8
tick,0x7ffcc6290394,70373294,0,0x0,8
tick,0x7ffcc6290394,70389200,0,0x0,8
tick,0x7ffcc6290394,70404399,0,0x0,8
tick,0x7ffcc6290394,70420292,0,0x0,8
tick,0x7ffcc6290394,70436182,0,0x0,8
tick,0x7ffcc6290394,70451457,0,0x0,8
tick,0x7ffcc6290394,70467007,0,0x0,8
tick,0x7ffcc6290394,70482164,0,0x0,8
tick,0x7ffcc6290394,70497493,0,0x0,8
tick,0x7ffcc6290394,70512508,0,0x0,8
tick,0x7ffcc6290394,70527949,0,0x0,8
tick,0x7ffcc6290394,70543850,0,0x0,8
tick,0x7ffcc6290394,70559473,0,0x0,8
tick,0x7ffcc6290394,70575335,0,0x0,8
tick,0x7ffcc6290394,70591229,0,0x0,8
tick,0x7ffcc6290394,70606920,0,0x0,8
tick,0x7ffcc6290394,70624325,0,0x0,8
tick,0x7ffcc6290394,70639081,0,0x0,8
tick,0x7ffcc6290394,70655021,0,0x0,8
tick,0x7ffcc6290394,70670510,0,0x0,8
tick,0x7ffcc6290394,70686550,0,0x0,8
tick,0x7ffcc6290394,70701303,0,0x0,8
tick,0x7ffcc6290394,70717418,0,0x0,8
tick,0x7ffcc6290394,70734382,0,0x0,8
tick,0x7ffcc6290394,70748077,0,0x0,8
tick,0x7ffcc6290394,70764179,0,0x0,8
tick,0x7ffcc6290394,70779941,0,0x0,8
tick,0x7ffcc6290394,70795727,0,0x0,8
tick,0x7ffcc6290394,70810767,0,0x0,8
tick,0x7ffcc6290394,70827530,0,0x0,8
tick,0x7ffcc6290394,70841095,0,0x0,8
tick,0x7ffcc6290394,70856735,0,0x0,8
tick,0x7ffcc6290394,70872246,0,0x0,8
tick,0x7ffcc6290394,70887685,0,0x0,8
tick,0x7ffcc6290394,70903595,0,0x0,8
tick,0x7ffcc6290394,70918760,0,0x0,8
tick,0x7ffcc6290394,70934454,0,0x0,8
tick,0x7ffcc6290394,70952059,0,0x0,8
tick,0x7ffcc6290394,70967087,0,0x0,8
tick,0x7ffcc6290394,70982051,0,0x0,8
tick,0x7ffcc6290394,70998060,0,0x0,8
tick,0x7ffcc6290394,71013558,0,0x0,8
tick,0x7ffcc6290394,71029149,0,0x0,8
tick,0x7ffcc6290394,71044417,0,0x0,8
tick,0x7ffcc6290394,71079165,0,0x0,8
tick,0x7ffcc6290394,71091655,0,0x0,8
tick,0x7ffcc6290394,71107491,0,0x0,8
tick,0x7ffcc6290394,71123425,0,0x0,8
tick,0x7ffcc6290394,71138269,0,0x0,8
tick,0x7ffcc6290394,71154291,0,0x0,8
tick,0x7ffcc6290394,71169168,0,0x0,8
tick,0x7ffcc6290394,71184412,0,0x0,8
tick,0x7ffcc6290394,71199744,0,0x0,8
tick,0x7ffcc6290394,71215332,0,0x0,8
tick,0x7ffcc6290394,71231211,0,0x0,8
tick,0x7ffcc6290394,71247014,0,0x0,8
tick,0x7ffcc6290394,71262206,0,0x0,8
tick,0x7ffcc6290394,71277683,0,0x0,8
tick,0x7ffcc6290394,71293675,0,0x0,8
tick,0x7ffcc6290394,71309181,0,0x0,8
tick,0x7ffcc6290394,71324484,0,0x0,8
tick,0x7ffcc6290394,71340625,0,0x0,8
tick,0x7ffcc6290394,71356064,0,0x0,8
tick,0x7ffcc6290394,71371976,0,0x0,8
tick,0x7ffcc6290394,71388015,0,0x0,8
tick,0x7ffcc6290394,71403725,0,0x0,8
tick,0x7ffcc6290394,71419003,0,0x0,8
tick,0x7ffcc6290394,71434172,0,0x0,8
tick,0x7ffcc6290394,71449245,0,0x0,8
tick,0x7ffcc6290394,71464960,0,0x0,8
tick,0x7ffcc6290394,71480725,0,0x0,8
tick,0x7ffcc6290394,71495526,0,0x0,8
tick,0x7ffcc6290394,71511249,0,0x0,8
tick,0x7ffcc6290394,71527389,0,0x0,8
tick,0x7ffcc6290394,71542722,0,0x0,8
tick,0x7ffcc6290394,71558000,0,0x0,8
tick,0x7ffcc6290394,71574270,0,0x0,8
tick,0x7ffcc6290394,71589828,0,0x0,8
tick,0x7ffcc6290394,71605252,0,0x0,8
tick,0x7ffcc6290394,71621510,0,0x0,8
tick,0x7ffcc6290394,71637619,0,0x0,8
tick,0x7ffcc6290394,71652103,0,0x0,8
tick,0x7ffcc6290394,71667972,0,0x0,8
tick,0x7ffcc6290394,71683809,0,0x0,8
tick,0x7ffcc6290394,71699542,0,0x0,8
tick,0x7ffcc6290394,71714342,0,0x0,8
tick,0x7ffcc6290394,71729718,0,0x0,8
tick,0x7ffcc6290394,71745051,0,0x0,8
tick,0x7ffcc6290394,71760262,0,0x0,8
tick,0x7ffcc6290394,71775635,0,0x0,8
tick,0x7ffcc6290394,71791632,0,0x0,8
tick,0x7ffcc6290394,71807098,0,0x0,8
tick,0x7ffcc6290394,71822234,0,0x0,8
tick,0x7ffcc6290394,71837260,0,0x0,8
tick,0x7ffcc6290394,71855774,0,0x0,8
tick,0x7ffcc6290394,71868384,0,0x0,8
tick,0x7ffcc6290394,71884149,0,0x0,8
tick,0x7ffcc6290394,71900155,0,0x0,8
tick,0x7ffcc6290394,71916049,0,0x0,8
tick,0x7ffcc6290394,71931810,0,0x0,8
tick,0x7ffcc6290394,71948333,0,0x0,8
tick,0x7ffcc6290394,71963045,0,0x0,8
tick,0x7ffcc6290394,71978597,0,0x0,8
tick,0x7ffcc6290394,71993983,0,0x0,8
tick,0x7ffcc6290394,72009916,0,0x0,8
tick,0x7ffcc6290394,72025814,0,0x0,8
tick,0x7ffcc6290394,72041696,0,0x0,8
tick,0x7ffcc6290394,72056610,0,0x0,8
tick,0x7ffcc6290394,72072044,0,0x0,8
tick,0x7ffcc6290394,72087723,0,0x0,8
tick,0x7ffcc6290394,72103293,0,0x0,8
tick,0x7ffcc6290394,72118519,0,0x0,8
tick,0x7ffcc6290394,72133553,0,0x0,8
tick,0x7ffcc6290394,72177622,0,0x0,8
tick,0x7ffcc6290394,72180091,0,0x0,8
tick,0x7ffcc6290394,72195446,0,0x0,8
tick,0x7ffcc6290394,72211222,0,0x0,8
tick,0x7ffcc6290394,72226854,0,0x0,8
tick,0x7ffcc6290394,72242634,0,0x0,8
tick,0x7ffcc6290394,72258595,0,0x0,8
tick,0x7ffcc6290394,72274348,0,0x0,8
tick,0x7ffcc6290394,72290303,0,0x0,8
tick,0x7ffcc6290394,72306134,0,0x0,8
tick,0x7ffcc6290394,72322177,0,0x0,8
tick,0x7ffcc6290394,72337028,0,0x0,8
tick,0x7ffcc6290394,72351702,0,0x0,8
tick,0x7ffcc6290394,72367464,0,0x0,8
tick,0x7ffcc6290394,72383163,0,0x0,8
tick,0x7ffcc6290394,72398338,0,0x0,8
tick,0x7ffcc6290394,72413957,0,0x0,8
tick,0x7ffcc6290394,72429888,0,0x0,8
tick,0x7ffcc6290394,72445099,0,0x0,8
tick,0x7ffcc6290394,72460910,0,0x0,8
tick,0x7ffcc6290394,72476339,0,0x0,8
tick,0x7ffcc6290394,72492376,0,0x0,8
tick,0x7ffcc6290394,72508343,0,0x0,8
tick,0x7ffcc6290394,72523481,0,0x0,8
tick,0x7ffcc6290394,72538911,0,0x0,8
tick,0x7ffcc6290394,72554316,0,0x0,8
tick,0x7ffcc6290394,72569446,0,0x0,8
tick,0x7ffcc6290394,72585215,0,0x0,8
tick,0x7ffcc6290394,72600311,0,0x0,8
tick,0x7ffcc6290394,72615066,0,0x0,8
tick,0x7ffcc6290394,72630797,0,0x0,8
tick,0x7ffcc6290394,72646113,0,0x0,8
tick,0x7ffcc6290394,72661503,0,0x0,8
tick,0x7ffcc6290394,72676788,0,0x0,8
tick,0x7ffcc6290394,72692475,0,0x0,8
tick,0x7ffcc6290394,72708338,0,0x0,8
tick,0x7ffcc6290394,72723849,0,0x0,8
tick,0x7ffcc6290394,72739325,0,0x0,8
tick,0x7ffcc6290394,72754687,0,0x0,8
tick,0x7ffcc6290394,72770512,0,0x0,8
tick,0x7ffcc6290394,72785650,0,0x0,8
tick,0x7ffcc6290394,72801016,0,0x0,8
tick,0x7ffcc6290394,72817458,0,0x0,8
tick,0x7ffcc6290394,72832742,0,0x0,8
tick,0x7ffcc6290394,72848087,0,0x0,8
tick,0x7ffcc6290394,72863459,0,0x0,8
tick,0x7ffcc6290394,72878945,0,0x0,8
tick,0x7ffcc6290394,72894849,0,0x0,8
tick,0x7ffcc6290394,72910976,0,0x0,8
tick,0x7ffcc6290394,72926821,0,0x0,8
tick,0x7ffcc6290394,72942672,0,0x0,8
tick,0x7ffcc6290394,72958050,0,0x0,8
tick,0x7ffcc6290394,72974480,0,0x0,8
tick,0x7ffcc6290394,72990415,0,0x0,8
tick,0x7ffcc6290394,73006300,0,0x0,8
tick,0x7ffcc6290394,73022454,0,0x0,8
tick,0x7ffcc6290394,73039282,0,0x0,8
tick,0x7ffcc6290394,73054590,0,0x0,8
tick,0x7ffcc6290394,73069886,0,0x0,8
tick,0x7ffcc6290394,73085103,0,0x0,8
tick,0x7ffcc6290394,73100869,0,0x0,8
tick,0x7ffcc6290394,73116920,0,0x0,8
tick,0x7ffcc6290394,73132143,0,0x0,8
tick,0x7ffcc6290394,73147353,0,0x0,8
tick,0x7ffcc6290394,73163014,0,0x0,8
tick,0x7ffcc6290394,73178359,0,0x0,8
tick,0x7ffcc6290394,73194235,0,0x0,8
tick,0x7ffcc6290394,73210069,0,0x0,8
tick,0x7ffcc6290394,73225715,0,0x0,8
tick,0x7ffcc6290394,73241647,0,0x0,8
tick,0x7ffcc6290394,73257048,0,0x0,8
tick,0x7ffcc6290394,73272757,0,0x0,8
tick,0x7ffcc6290394,73288669,0,0x0,8
tick,0x7ffcc6290394,73304763,0,0x0,8
tick,0x7ffcc6290394,73319332,0,0x0,8
tick,0x7ffcc6290394,73334890,0,0x0,8
tick,0x7ffcc6290394,73350687,0,0x0,8
tick,0x7ffcc6290394,73366703,0,0x0,8
tick,0x7ffcc6290394,73402344,0,0x0,8
tick,0x7ffcc6290394,73413323,0,0x0,8
tick,0x7ffcc6290394,73428315,0,0x0,8
tick,0x7ffcc6290394,73444442,0,0x0,8
tick,0x7ffcc6290394,73459957,0,0x0,8
tick,0x7ffcc6290394,73475925,0,0x0,8
tick,0x7ffcc6290394,73491112,0,0x0,8
tick,0x7ffcc6290394,73505921,0,0x0,8
tick,0x7ffcc6290394,73521803,0,0x0,8
tick,0x7ffcc6290394,73537564,0,0x0,8
tick,0x7ffcc6290394,73553389,0,0x0,8
tick,0x7ffcc6290394,73568177,0,0x0,8
tick,0x7ffcc6290394,73583689,0,0x0,8
tick,0x7ffcc6290394,73599363,0,0x0,8
tick,0x7ffcc6290394,73614587,0,0x0,8
tick,0x7ffcc6290394,73629846,0,0x0,8
tick,0x7ffcc6290394,73645964,0,0x0,8
tick,0x7ffcc6290394,73660831,0,0x0,8
tick,0x7ffcc6290394,73676754,0,0x0,8
tick,0x7ffcc6290394,73692751,0,0x0,8
tick,0x7ffcc6290394,73707659,0,0x0,8
tick,0x7ffcc6290394,73723451,0,0x0,8
tick,0x7ffcc6290394,73738751,0,0x0,8
tick,0x7ffcc6290394,73755575,0,0x0,8
tick,0x7ffcc6290394,73771068,0,0x0,8
tick,0x7ffcc6290394,73786247,0,0x0,8
tick,0x7ffcc6290394,73801949,0,0x0,8
tick,0x7ffcc6290394,73817328,0,0x0,8
tick,0x7ffcc6290394,73833444,0,0x0,8
tick,0x7ffcc6290394,73849212,0,0x0,8
tick,0x7ffcc6290394,73864362,0,0x0,8
tick,0x7ffcc6290394,73879626,0,0x0,8
tick,0x7ffcc6290394,73894712,0,0x0,8
tick,0x7ffcc6290394,73910817,0,0x0,8
tick,0x7ffcc6290394,73926347,0,0x0,8
tick,0x7ffcc6290394,73941829,0,0x0,8
tick,0x7ffcc6290394,73957507,0,0x0,8
tick,0x7ffcc6290394,73975647,0,0x0,8
tick,0x7ffcc6290394,73988135,0,0x0,8
tick,0x7ffcc6290394,74003891,0,0x0,8
tick,0x7ffcc6290394,74019034,0,0x0,8
tick,0x7ffcc6290394,74034471,0,0x0,8
tick,0x7ffcc6290394,74050342,0,0x0,8
tick,0x7ffcc6290394,74065577,0,0x0,8
tick,0x7ffcc6290394,74081441,0,0x0,8
tick,0x7ffcc6290394,74096529,0,0x0,8
tick,0x7ffcc6290394,74111951,0,0x0,8
tick,0x7ffcc6290394,74127838,0,0x0,8
tick,0x7ffcc6290394,74143234,0,0x0,8
tick,0x7ffcc6290394,74158090,0,0x0,8
tick,0x7ffcc6290394,74174435,0,0x0,8
tick,0x7ffcc6290394,74189391,0,0x0,8
tick,0x7ffcc6290394,74204518,0,0x0,8
tick,0x7ffcc6290394,74219916,0,0x0,8
tick,0x7ffcc6290394,74235355,0,0x0,8
tick,0x7ffcc6290394,74251535,0,0x0,8
tick,0x7ffcc6290394,74267368,0,0x0,8
tick,0x7ffcc6290394,74282151,0,0x0,8
tick,0x7ffcc6290394,74297782,0,0x0,8
tick,0x7ffcc6290394,74313335,0,0x0,8
tick,0x7ffcc6290394,74329130,0,0x0,8
tick,0x7ffcc6290394,74344622,0,0x0,8
tick,0x7ffcc6290394,74360196,0,0x0,8
tick,0x7ffcc6290394,74374668,0,0x0,8
tick,0x7ffcc6290394,74390572,0,0x0,8
tick,0x7ffcc6290394,74406395,0,0x0,8
tick,0x7ffcc6290394,74422404,0,0x0,8
tick,0x7ffcc6290394,74450829,0,0x0,8
tick,0x7ffcc6290394,74453417,0,0x0,8
tick,0x7ffcc6290394,74469134,0,0x0,8
tick,0x7ffcc6290394,74485390,0,0x0,8
tick,0x7ffcc6290394,74500777,0,0x0,8
tick,0x7ffcc6290394,74514974,0,0x0,8
tick,0x7ffcc6290394,74530188,0,0x0,8
tick,0x7ffcc6290394,74546196,0,0x0,8
tick,0x7ffcc6290394,74561725,0,0x0,8
tick,0x7ffcc6290394,74576987,0,0x0,8
tick,0x7ffcc6290394,74591757,0,0x0,8
tick,0x7ffcc6290394,74607590,0,0x0,8
tick,0x7ffcc6290394,74623190,0,0x0,8
tick,0x7ffcc6290394,74638521,0,0x0,8
tick,0x7ffcc6290394,74654944,0,0x0,8
tick,0x7ffcc6290394,74672520,0,0x0,8
tick,0x7ffcc6290394,74684917,0,0x0,8
tick,0x7ffcc6290394,74700395,0,0x0,8
tick,0x7ffcc6290394,74716300,0,0x0,8
tick,0x7ffcc6290394,74731083,0,0x0,8
tick,0x7ffcc6290394,74746893,0,0x0,8
tick,0x7ffcc6290394,74762129,0,0x0,8
tick,0x7ffcc6290394,74779222,0,0x0,8
tick,0x7ffcc6290394,74793627,0,0x0,8
tick,0x7ffcc6290394,74808961,0,0x0,8
tick,0x7ffcc6290394,74824589,0,0x0,8
tick,0x7ffcc6290394,74839291,0,0x0,8
tick,0x7ffcc6290394,74855463,0,0x0,8
tick,0x7ffcc6290394,74870615,0,0x0,8
tick,0x7ffcc6290394,74885907,0,0x0,8
tick,0x7ffcc6290394,74901644,0,0x0,8
tick,0x7ffcc6290394,74917103,0,0x0,8
tick,0x7ffcc6290394,74933909,0,0x0,8
tick,0x7ffcc6290394,74947980,0,0x0,8
tick,0x7ffcc6290394,74964217,0,0x0,8
tick,0x7ffcc6290394,74979836,0,0x0,8
tick,0x7ffcc6290394,74996575,0,0x0,8
tick,0x7ffcc6290394,75011941,0,0x0,8
tick,0x7ffcc6290394,75027047,0,0x0,8
tick,0x7ffcc6290394,75042287,0,0x0,8
tick,0x7ffcc6290394,75058380,0,0x0,8
tick,0x7ffcc6290394,75074273,0,0x0,8
tick,0x7ffcc6290394,75089768,0,0x0,8
tick,0x7ffcc6290394,75104951,0,0x0,8
tick,0x7ffcc6290394,75120622,0,0x0,8
tick,0x7ffcc6290394,75136195,0,0x0,8
tick,0x7ffcc6290394,75152029,0,0x0,8
tick,0x7ffcc6290394,75168477,0,0x0,8
tick,0x7ffcc6290394,75183557,0,0x0,8
tick,0x7ffcc6290394,75201185,0,0x0,8
tick,0x7ffcc6290394,75214276,0,0x0,8
tick,0x7ffcc6290394,75231223,0,0x0,8
tick,0x7ffcc6290394,75245233,0,0x0,8
tick,0x7ffcc6290394,75261325,0,0x0,8
tick,0x7ffcc6290394,75276804,0,0x0,8
tick,0x7ffcc6290394,75292088,0,0x0,8
tick,0x7ffcc6290394,75307604,0,0x0,8
tick,0x7ffcc6290394,75322792,0,0x0,8
tick,0x7ffcc6290394,75338589,0,0x0,8
tick,0x7ffcc6290394,75353907,0,0x0,8
tick,0x7ffcc6290394,75369936,0,0x0,8
tick,0x7ffcc6290394,75384787,0,0x0,8
tick,0x7ffcc6290394,75400756,0,0x0,8
tick,0x7ffcc6290394,75416290,0,0x0,8
tick,0x7ffcc6290394,75431216,0,0x0,8
tick,0x7ffcc6290394,75446884,0,0x0,8
tick,0x7ffcc6290394,75462665,0,0x0,8
tick,0x7ffcc6290394,75478623,0,0x0,8
tick,0x7ffcc6290394,75494007,0,0x0,8
tick,0x7ffcc6290394,75509299,0,0x0,8
tick,0x7ffcc6290394,75524799,0,0x0,8
tick,0x7ffcc6290394,75540117,0,0x0,8
tick,0x7ffcc6290394,75555986,0,0x0,8
tick,0x7ffcc6290394,75571686,0,0x0,8
tick,0x7ffcc6290394,75587622,0,0x0,8
tick,0x7ffcc6290394,75603522,0,0x0,8
tick,0x7ffcc6290394,75618431,0,0x0,8
tick,0x7ffcc6290394,75634185,0,0x0,8
tick,0x7ffcc6290394,75649729,0,0x0,8
tick,0x7ffcc6290394,75664745,0,0x0,8
tick,0x7ffcc6290394,75680445,0,0x0,8
tick,0x7ffcc6290394,75695773,0,0x0,8
tick,0x7ffcc6290394,75711342,0,0x0,8
tick,0x7ffcc6290394,75726519,0,0x0,8
tick,0x7ffcc6290394,75742565,0,0x0,8
tick,0x7ffcc6290394,75757797,0,0x0,8
tick,0x7ffcc6290394,75773929,0,0x0,8
tick,0x7ffcc6290394,75789594,0,0x0,8
tick,0x7ffcc6290394,75806043,0,0x0,8
tick,0x7ffcc6290394,75827964,0,0x0,8
tick,0x7ffcc6290394,75835788,0,0x0,8
tick,0x7ffcc6290394,75850940,0,0x0,8
tick,0x7ffcc6290394,75867148,0,0x0,8
tick,0x7ffcc6290394,75882813,0,0x0,8
tick,0x7ffcc6290394,75897803,0,0x0,8
tick,0x7ffcc6290394,75912870,0,0x0,8
tick,0x7ffcc6290394,75928320,0,0x0,8
tick,0x7ffcc6290394,75944072,0,0x0,8
tick,0x7ffcc6290394,75959779,0,0x0,8
tick,0x7ffcc6290394,75975508,0,0x0,8
tick,0x7ffcc6290394,75991377,0,0x0,8
tick,0x7ffcc6290394,76006948,0,0x0,8
tick,0x7ffcc6290394,76022381,0,0x0,8
tick,0x7ffcc6290394,76038450,0,0x0,8
tick,0x7ffcc6290394,76054055,0,0x0,8
tick,0x7ffcc6290394,76070097,0,0x0,8
tick,0x7ffcc6290394,76085451,0,0x0,8
tick,0x7ffcc6290394,76100741,0,0x0,8
tick,0x7ffcc6290394,76115729,0,0x0,8
tick,0x7ffcc6290394,76130889,0,0x0,8
tick,0x7ffcc6290394,76146408,0,0x0,8
tick,0x7ffcc6290394,76162556,0,0x0,8
tick,0x7ffcc6290394,76177745,0,0x0,8
tick,0x7ffcc6290394,76193050,0,0x0,8
tick,0x7ffcc6290394,76208651,0,0x0,8
tick,0x7ffcc6290394,76224732,0,0x0,8
tick,0x7ffcc6290394,76240184,0,0x0,8
tick,0x7ffcc6290394,76256058,0,0x0,8
tick,0x7ffcc6290394,76271298,0,0x0,8
tick,0x7ffcc6290394,76287027,0,0x0,8
tick,0x7ffcc6290394,76302369,0,0x0,8
tick,0x7ffcc6290394,76317372,0,0x0,8
tick,0x7ffcc6290394,76333310,0,0x0,8
tick,0x7ffcc6290394,76347300,0,0x0,8
tick,0x7ffcc6290394,76362667,0,0x0,8
tick,0x7ffcc6290394,76377952,0,0x0,8
tick,0x7ffcc6290394,76393175,0,0x0,8
tick,0x7ffcc6290394,76408419,0,0x0,8
tick,0x7ffcc6290394,76424329,0,0x0,8
tick,0x7ffcc6290394,76440290,0,0x0,8
tick,0x7ffcc6290394,76456346,0,0x0,8
tick,0x7ffcc6290394,76471195,0,0x0,8
tick,0x7ffcc6290394,76486550,0,0x0,8
tick,0x7ffcc6290394,76501284,0,0x0,8
tick,0x7ffcc6290394,76517201,0,0x0,8
tick,0x7ffcc6290394,76532004,0,0x0,8
tick,0x7ffcc6290394,76547845,0,0x0,8
tick,0x7ffcc6290394,76563688,0,0x0,8
tick,0x7ffcc6290394,76579185,0,0x0,8
tick,0x7ffcc6290394,76594733,0,0x0,8
tick,0x7ffcc6290394,76610012,0,0x0,8
tick,0x7ffcc6290394,76626220,0,0x0,8
tick,0x7ffcc6290394,76641385,0,0x0,8
tick,0x7ffcc6290394,76657514,0,0x0,8
tick,0x7ffcc6290394,76673375,0,0x0,8
tick,0x7ffcc6290394,76688404,0,0x0,8
tick,0x7ffcc6290394,76703610,0,0x0,8
tick,0x7ffcc6290394,76719328,0,0x0,8
tick,0x7ffcc6290394,76735207,0,0x0,8
tick,0x7ffcc6290394,76750649,0,0x0,8
tick,0x7ffcc6290394,76766387,0,0x0,8
tick,0x7ffcc6290394,76782036,0,0x0,8
tick,0x7ffcc6290394,76797773,0,0x0,8
tick,0x7ffcc6290394,76813508,0,0x0,8
tick,0x7ffcc6290394,76829474,0,0x0,8
tick,0x7ffcc6290394,76845113,0,0x0,8
tick,0x7ffcc6290394,76860339,0,0x0,8
tick,0x7ffcc6290394,76875312,0,0x0,8
tick,0x7ffcc6290394,76890557,0,0x0,8
tick,0x7ffcc6290394,76906650,0,0x0,8
tick,0x7ffcc6290394,76922362,0,0x0,8
tick,0x7ffcc6290394,76938068,0,0x0,8
tick,0x7ffcc6290394,76953639,0,0x0,8
tick,0x7ffcc6290394,76969780,0,0x0,8
tick,0x7ffcc6290394,76984619,0,0x0,8
tick,0x7ffcc6290394,77000085,0,0x0,8
tick,0x7ffcc6290394,77015451,0,0x0,8
tick,0x7ffcc6290394,77030750,0,0x0,8
tick,0x7ffcc6290394,77046177,0,0x0,8
tick,0x7ffcc6290394,77062243,0,0x0,8
tick,0x7ffcc6290394,77077889,0,0x0,8
tick,0x7ffcc6290394,77093151,0,0x0,8
tick,0x7ffcc6290394,77109294,0,0x0,8
tick,0x7ffcc6290394,77124455,0,0x0,8
tick,0x7ffcc6290394,77140312,0,0x0,8
tick,0x7ffcc6290394,77155609,0,0x0,8
tick,0x7ffcc6290394,77170868,0,0x0,8
tick,0x7ffcc6290394,77186524,0,0x0,8
tick,0x7ffcc6290394,77201939,0,0x0,8
tick,0x7ffcc6290394,77217132,0,0x0,8
tick,0x7ffcc6290394,77232900,0,0x0,8
tick,0x7ffcc6290394,77248464,0,0x0,8
tick,0x7ffcc6290394,77263597,0,0x0,8
tick,0x7ffcc6290394,77278713,0,0x0,8
tick,0x7ffcc6290394,77294383,0,0x0,8
tick,0x7ffcc6290394,77310169,0,0x0,8
tick,0x7ffcc6290394,77325776,0,0x0,8
tick,0x7ffcc6290394,77341257,0,0x0,8
tick,0x7ffcc6290394,77356919,0,0x0,8
tick,0x7ffcc6290394,77372965,0,0x0,8
tick,0x7ffcc6290394,77388280,0,0x0,8
tick,0x7ffcc6290394,77404247,0,0x0,8
tick,0x7ffcc6290394,77420153,0,0x0,8
tick,0x7ffcc6290394,77435610,0,0x0,8
tick,0x7ffcc6290394,77450825,0,0x0,8
tick,0x7ffcc6290394,77466348,0,0x0,8
tick,0x7ffcc6290394,77482160,0,0x0,8
tick,0x7ffcc6290394,77498182,0,0x0,8
tick,0x7ffcc6290394,77514084,0,0x0,8
tick,0x7ffcc6290394,77529420,0,0x0,8
tick,0x7ffcc6290394,77544913,0,0x0,8
tick,0x7ffcc6290394,77560479,0,0x0,8
tick,0x7ffcc6290394,77575774,0,0x0,8
tick,0x7ffcc6290394,77591857,0,0x0,8
tick,0x7ffcc6290394,77607677,0,0x0,8
tick,0x7ffcc6290394,77623075,0,0x0,8
tick,0x7ffcc6290394,77638757,0,0x0,8
tick,0x7ffcc6290394,77654752,0,0x0,8
tick,0x7ffcc6290394,77670281,0,0x0,8
tick,0x7ffcc6290394,77686157,0,0x0,8
tick,0x7ffcc6290394,77701512,0,0x0,8
tick,0x7ffcc6290394,77716682,0,0x0,8
tick,0x7ffcc6290394,77731281,0,0x0,8
tick,0x7ffcc6290394,77746605,0,0x0,8
tick,0x7ffcc6290394,77761915,0,0x0,8
tick,0x7ffcc6290394,77777627,0,0x0,8
tick,0x7ffcc6290394,77793119,0,0x0,8
tick,0x7ffcc6290394,77808305,0,0x0,8
tick,0x7ffcc6290394,77824191,0,0x0,8
tick,0x7ffcc6290394,77839318,0,0x0,8
tick,0x7ffcc6290394,77854918,0,0x0,8
tick,0x7ffcc6290394,77870750,0,0x0,8
tick,0x7ffcc6290394,77886495,0,0x0,8
tick,0x7ffcc6290394,77901750,0,0x0,8
tick,0x7ffcc6290394,77917065,0,0x0,8
tick,0x7ffcc6290394,77932282,0,0x0,8
tick,0x7ffcc6290394,77947688,0,0x0,8
tick,0x7ffcc6290394,77963582,0,0x0,8
tick,0x7ffcc6290394,77979329,0,0x0,8
tick,0x7ffcc6290394,77994899,0,0x0,8
tick,0x7ffcc6290394,78010119,0,0x0,8
tick,0x7ffcc6290394,78026041,0,0x0,8
tick,0x7ffcc6290394,78041239,0,0x0,8
tick,0x7ffcc6290394,78057155,0,0x0,8
tick,0x7ffcc6290394,78073150,0,0x0,8
tick,0x7ffcc6290394,78088789,0,0x0,8
tick,0x7ffcc6290394,78104266,0,0x0,8
tick,0x7ffcc6290394,78120051,0,0x0,8
tick,0x7ffcc6290394,78135272,0,0x0,8
tick,0x7ffcc6290394,78150963,0,0x0,8
tick,0x7ffcc6290394,78166210,0,0x0,8
tick,0x7ffcc6290394,78181633,0,0x0,8
tick,0x7ffcc6290394,78197672,0,0x0,8
tick,0x7ffcc6290394,78213516,0,0x0,8
tick,0x7ffcc6290394,78228691,0,0x0,8
tick,0x7ffcc6290394,78243938,0,0x0,8
tick,0x7ffcc6290394,78259615,0,0x0,8
tick,0x7ffcc6290394,78275362,0,0x0,8
tick,0x7ffcc6290394,78290486,0,0x0,8
tick,0x7ffcc6290394,78306245,0,0x0,8
tick,0x7ffcc6290394,78322019,0,0x0,8
tick,0x7ffcc6290394,78337535,0,0x0,8
tick,0x7ffcc6290394,78352681,0,0x0,8
tick,0x7ffcc6290394,78368582,0,0x0,8
tick,0x7ffcc6290394,78384420,0,0x0,8
tick,0x7ffcc6290394,78400507,0,0x0,8
tick,0x7ffcc6290394,78416390,0,0x0,8
tick,0x7ffcc6290394,78431520,0,0x0,8
tick,0x7ffcc6290394,78447477,0,0x0,8
tick,0x7ffcc6290394,78462786,0,0x0,8
tick,0x7ffcc6290394,78478724,0,0x0,8
tick,0x7ffcc6290394,78494560,0,0x0,8
tick,0x7ffcc6290394,78509838,0,0x0,8
tick,0x7ffcc6290394,78525752,0,0x0,8
tick,0x7ffcc6290394,78541680,0,0x0,8
tick,0x7ffcc6290394,78557228,0,0x0,8
tick,0x7ffcc6290394,78572662,0,0x0,8
tick,0x7ffcc6290394,78587659,0,0x0,8
tick,0x7ffcc6290394,78603725,0,0x0,8
tick,0x7ffcc6290394,78619255,0,0x0,8
tick,0x7ffcc6290394,78635125,0,0x0,8
tick,0x7ffcc6290394,78650189,0,0x0,8
tick,0x7ffcc6290394,78666003,0,0x0,8
tick,0x7ffcc6290394,78681596,0,0x0,8
tick,0x7ffcc6290394,78696711,0,0x0,8
tick,0x7ffcc6290394,78712627,0,0x0,8
tick,0x7ffcc6290394,78728018,0,0x0,8
tick,0x7ffcc6290394,78743972,0,0x0,8
tick,0x7ffcc6290394,78759818,0,0x0,8
tick,0x7ffcc6290394,78775301,0,0x0,8
tick,0x7ffcc6290394,78791242,0,0x0,8
tick,0x7ffcc6290394,78806454,0,0x0,8
tick,0x7ffcc6290394,78821599,0,0x0,8
tick,0x7ffcc6290394,78837286,0,0x0,8
tick,0x7ffcc6290394,78853337,0,0x0,8
tick,0x7ffcc6290394,78868697,0,0x0,8
tick,0x7ffcc6290394,78884125,0,0x0,8
tick,0x7ffcc6290394,78899970,0,0x0,8
tick,0x7ffcc6290394,78915648,0,0x0,8
tick,0x7ffcc6290394,78930644,0,0x0,8
tick,0x7ffcc6290394,78946559,0,0x0,8
tick,0x7ffcc6290394,78962321,0,0x0,8
tick,0x7ffcc6290394,78977724,0,0x0,8
tick,0x7ffcc6290394,78993314,0,0x0,8
tick,0x7ffcc6290394,79008953,0,0x0,8
tick,0x7ffcc6290394,79025096,0,0x0,8
tick,0x7ffcc6290394,79040209,0,0x0,8
tick,0x7ffcc6290394,79055424,0,0x0,8
tick,0x7ffcc6290394,79071148,0,0x0,8
tick,0x7ffcc6290394,79087250,0,0x0,8
tick,0x7ffcc6290394,79103005,0,0x0,8
tick,0x7ffcc6290394,79117785,0,0x0,8
tick,0x7ffcc6290394,79133053,0,0x0,8
tick,0x7ffcc6290394,79148304,0,0x0,8
tick,0x7ffcc6290394,79163747,0,0x0,8
tick,0x7ffcc6290394,79179112,0,0x0,8
tick,0x7ffcc6290394,79194998,0,0x0,8
tick,0x7ffcc6290394,79209994,0,0x0,8
tick,0x7ffcc6290394,79225501,0,0x0,8
tick,0x7ffcc6290394,79241676,0,0x0,8
tick,0x7ffcc6290394,79256578,0,0x0,8
tick,0x7ffcc6290394,79272657,0,0x0,8
tick,0x7ffcc6290394,79288147,0,0x0,8
tick,0x7ffcc6290394,79304059,0,0x0,8
tick,0x7ffcc6290394,79319828,0,0x0,8
tick,0x7ffcc6290394,79335716,0,0x0,8
tick,0x7ffcc6290394,79352042,0,0x0,8
tick,0x7ffcc6290394,79366938,0,0x0,8
tick,0x7ffcc6290394,79382565,0,0x0,8
tick,0x7ffcc6290394,79397099,0,0x0,8
tick,0x7ffcc6290394,79412810,0,0x0,8
tick,0x7ffcc6290394,79428420,0,0x0,8
tick,0x7ffcc6290394,79444074,0,0x0,8
tick,0x7ffcc6290394,79459876,0,0x0,8
tick,0x7ffcc6290394,79475413,0,0x0,8
tick,0x7ffcc6290394,79491362,0,0x0,8
tick,0x7ffcc6290394,79505885,0,0x0,8
tick,0x7ffcc6290394,79520842,0,0x0,8
tick,0x7ffcc6290394,79536574,0,0x0,8
tick,0x7ffcc6290394,79552535,0,0x0,8
tick,0x7ffcc6290394,79568301,0,0x0,8
tick,0x7ffcc6290394,79583770,0,0x0,8
tick,0x7ffcc6290394,79598968,0,0x0,8
tick,0x7ffcc6290394,79614680,0,0x0,8
tick,0x7ffcc6290394,79629980,0,0x0,8
tick,0x7ffcc6290394,79645190,0,0x0,8
tick,0x7ffcc6290394,79660374,0,0x0,8
tick,0x7ffcc6290394,79676452,0,0x0,8
tick,0x7ffcc6290394,79692836,0,0x0,8
tick,0x7ffcc6290394,79708328,0,0x0,8
tick,0x7ffcc6290394,79723206,0,0x0,8
tick,0x7ffcc6290394,79739220,0,0x0,8
tick,0x7ffcc6290394,79754456,0,0x0,8
tick,0x7ffcc6290394,79769625,0,0x0,8
tick,0x7ffcc6290394,79784848,0,0x0,8
tick,0x7ffcc6290394,79800914,0,0x0,8
tick,0x7ffcc6290394,79816220,0,0x0,8
tick,0x7ffcc6290394,79831800,0,0x0,8
tick,0x7ffcc6290394,79846915,0,0x0,8
tick,0x7ffcc6290394,79862478,0,0x0,8
tick,0x7ffcc6290394,79878558,0,0x0,8
tick,0x7ffcc6290394,79894328,0,0x0,8
tick,0x7ffcc6290394,79909825,0,0x0,8
tick,0x7ffcc6290394,79925308,0,0x0,8
tick,0x7ffcc6290394,79940688,0,0x0,8
tick,0x7ffcc6290394,79956171,0,0x0,8
tick,0x7ffcc6290394,79971939,0,0x0,8
tick,0x7ffcc6290394,79988030,0,0x0,8
tick,0x7ffcc6290394,80003492,0,0x0,8
tick,0x7ffcc6290394,80018187,0,0x0,8
tick,0x7ffcc6290394,80033763,0,0x0,8
tick,0x7ffcc6290394,80049269,0,0x0,8
tick,0x7ffcc6290394,80064987,0,0x0,8
tick,0x7ffcc6290394,80080696,0,0x0,8
tick,0x7ffcc6290394,80096782,0,0x0,8
tick,0x7ffcc6290394,80112319,0,0x0,8
tick,0x7ffcc6290394,80127135,0,0x0,8
tick,0x7ffcc6290394,80142437,0,0x0,8
tick,0x7ffcc6290394,80158406,0,0x0,8
tick,0x7ffcc6290394,80174319,0,0x0,8
tick,0x7ffcc6290394,80190210,0,0x0,8
tick,0x7ffcc6290394,80205516,0,0x0,8
tick,0x7ffcc6290394,80221173,0,0x0,8
tick,0x7ffcc6290394,80236740,0,0x0,8
tick,0x7ffcc6290394,80252058,0,0x0,8
tick,0x7ffcc6290394,80267353,0,0x0,8
tick,0x7ffcc6290394,80282617,0,0x0,8
tick,0x7ffcc6290394,80298472,0,0x0,8
tick,0x7ffcc6290394,80314156,0,0x0,8
tick,0x7ffcc6290394,80329328,0,0x0,8
tick,0x7ffcc6290394,80345279,0,0x0,8
tick,0x7ffcc6290394,80360797,0,0x0,8
tick,0x7ffcc6290394,80376621,0,0x0,8
tick,0x7ffcc6290394,80392395,0,0x0,8
tick,0x7ffcc6290394,80408211,0,0x0,8
tick,0x7ffcc6290394,80423537,0,0x0,8
tick,0x7ffcc6290394,80438814,0,0x0,8
tick,0x7ffcc6290394,80454989,0,0x0,8
tick,0x7ffcc6290394,80470427,0,0x0,8
tick,0x7ffcc6290394,80486162,0,0x0,8
tick,0x7ffcc6290394,80501507,0,0x0,8
tick,0x7ffcc6290394,80517304,0,0x0,8
tick,0x7ffcc6290394,80533217,0,0x0,8
tick,0x7ffcc6290394,80548670,0,0x0,8
tick,0x7ffcc6290394,80564581,0,0x0,8
tick,0x7ffcc6290394,80580215,0,0x0,8
tick,0x7ffcc6290394,80595430,0,0x0,8
tick,0x7ffcc6290394,80611061,0,0x0,8
tick,0x7ffcc6290394,80626915,0,0x0,8
tick,0x7ffcc6290394,80642074,0,0x0,8
tick,0x7ffcc6290394,80657164,0,0x0,8
tick,0x7ffcc6290394,80673182,0,0x0,8
tick,0x7ffcc6290394,80689219,0,0x0,8
tick,0x7ffcc6290394,80705294,0,0x0,8
tick,0x7ffcc6290394,80721218,0,0x0,8
tick,0x7ffcc6290394,80736463,0,0x0,8
tick,0x7ffcc6290394,80751652,0,0x0,8
tick,0x7ffcc6290394,80766590,0,0x0,8
tick,0x7ffcc6290394,80782346,0,0x0,8
tick,0x7ffcc6290394,80798410,0,0x0,8
tick,0x7ffcc6290394,80813450,0,0x0,8
tick,0x7ffcc6290394,80828705,0,0x0,8
tick,0x7ffcc6290394,80844663,0,0x0,8
tick,0x7ffcc6290394,80860444,0,0x0,8
tick,0x7ffcc6290394,80876053,0,0x0,8
tick,0x7ffcc6290394,80891470,0,0x0,8
tick,0x7ffcc6290394,80907637,0,0x0,8
tick,0x7ffcc6290394,80924378,0,0x0,8
tick,0x7ffcc6290394,80938781,0,0x0,8
tick,0x7ffcc6290394,80954855,0,0x0,8
tick,0x7ffcc6290394,80970282,0,0x0,8
tick,0x7ffcc6290394,80986103,0,0x0,8
tick,0x7ffcc6290394,81001612,0,0x0,8
tick,0x7ffcc6290394,81017432,0,0x0,8
tick,0x7ffcc6290394,81032803,0,0x0,8
tick,0x7ffcc6290394,81049232,0,0x0,8
tick,0x7ffcc6290394,81064545,0,0x0,8
tick,0x7ffcc6290394,81081096,0,0x0,8
tick,0x7ffcc6290394,81095994,0,0x0,8
tick,0x7ffcc6290394,81111967,0,0x0,8
tick,0x7ffcc6290394,81127787,0,0x0,8
tick,0x7ffcc6290394,81142915,0,0x0,8
tick,0x7ffcc6290394,81158839,0,0x0,8
tick,0x7ffcc6290394,81174528,0,0x0,8
tick,0x7ffcc6290394,81190293,0,0x0,8
tick,0x7ffcc6290394,81205843,0,0x0,8
tick,0x7ffcc6290394,81221606,0,0x0,8
tick,0x7ffcc6290394,81237080,0,0x0,8
tick,0x7ffcc6290394,81252338,0,0x0,8
tick,0x7ffcc6290394,81268342,0,0x0,8
tick,0x7ffcc6290394,81284154,0,0x0,8
tick,0x7ffcc6290394,81299724,0,0x0,8
tick,0x7ffcc6290394,81314996,0,0x0,8
tick,0x7ffcc6290394,81330475,0,0x0,8
tick,0x7ffcc6290394,81345793,0,0x0,8
tick,0x7ffcc6290394,81361745,0,0x0,8
tick,0x7ffcc6290394,81377561,0,0x0,8
tick,0x7ffcc6290394,81393251,0,0x0,8
tick,0x7ffcc6290394,81408475,0,0x0,8
tick,0x7ffcc6290394,81424259,0,0x0,8
tick,0x7ffcc6290394,81439581,0,0x0,8
tick,0x7ffcc6290394,81455525,0,0x0,8
tick,0x7ffcc6290394,81471013,0,0x0,8
tick,0x7ffcc6290394,81486086,0,0x0,8
tick,0x7ffcc6290394,81501821,0,0x0,8
tick,0x7ffcc6290394,81517283,0,0x0,8
tick,0x7ffcc6290394,81533065,0,0x0,8
tick,0x7ffcc6290394,81547742,0,0x0,8
tick,0x7ffcc6290394,81563294,0,0x0,8
tick,0x7ffcc6290394,81578450,0,0x0,8
tick,0x7ffcc6290394,81594559,0,0x0,8
tick,0x7ffcc6290394,81609740,0,0x0,8
tick,0x7ffcc6290394,81625694,0,0x0,8
tick,0x7ffcc6290394,81641073,0,0x0,8
tick,0x7ffcc6290394,81657023,0,0x0,8
tick,0x7ffcc6290394,81672508,0,0x0,8
tick,0x7ffcc6290394,81687792,0,0x0,8
tick,0x7ffcc6290394,81703407,0,0x0,8
tick,0x7ffcc6290394,81718985,0,0x0,8
tick,0x7ffcc6290394,81734288,0,0x0,8
tick,0x7ffcc6290394,81749782,0,0x0,8
tick,0x7ffcc6290394,81765516,0,0x0,8
tick,0x7ffcc6290394,81780732,0,0x0,8
tick,0x7ffcc6290394,81796406,0,0x0,8
tick,0x7ffcc6290394,81811637,0,0x0,8
tick,0x7ffcc6290394,81826953,0,0x0,8
tick,0x7ffcc6290394,81842251,0,0x0,8
tick,0x7ffcc6290394,81858245,0,0x0,8
tick,0x7ffcc6290394,81874368,0,0x0,8
tick,0x7ffcc6290394,81889921,0,0x0,8
tick,0x7ffcc6290394,81904724,0,0x0,8
tick,0x7ffcc6290394,81920599,0,0x0,8
tick,0x7ffcc6290394,81936235,0,0x0,8
tick,0x7ffcc6290394,81952211,0,0x0,8
tick,0x7ffcc6290394,81967914,0,0x0,8
tick,0x7ffcc6290394,81983875,0,0x0,8
tick,0x7ffcc6290394,81999619,0,0x0,8
tick,0x7ffcc6290394,82015527,0,0x0,8
tick,0x7ffcc6290394,82031249,0,0x0,8
tick,0x7ffcc6290394,82046864,0,0x0,8
tick,0x7ffcc6290394,82062610,0,0x0,8
tick,0x7ffcc6290394,82078099,0,0x0,8
tick,0x7ffcc6290394,82093744,0,0x0,8
tick,0x7ffcc6290394,82109321,0,0x0,8
tick,0x7ffcc6290394,82125621,0,0x0,8
tick,0x7ffcc6290394,82140382,0,0x0,8
tick,0x7ffcc6290394,82156257,0,0x0,8
tick,0x7ffcc6290394,82171735,0,0x0,8
tick,0x7ffcc6290394,82186904,0,0x0,8
tick,0x7ffcc6290394,82202363,0,0x0,8
tick,0x7ffcc6290394,82218210,0,0x0,8
tick,0x7ffcc6290394,82233453,0,0x0,8
tick,0x7ffcc6290394,82249161,0,0x0,8
tick,0x7ffcc6290394,82264607,0,0x0,8
tick,0x7ffcc6290394,82279942,0,0x0,8
tick,0x7ffcc6290394,82295458,0,0x0,8
tick,0x7ffcc6290394,82310942,0,0x0,8
tick,0x7ffcc6290394,82326512,0,0x0,8
tick,0x7ffcc6290394,82341981,0,0x0,8
tick,0x7ffcc6290394,82357642,0,0x0,8
tick,0x7ffcc6290394,82373049,0,0x0,8
tick,0x7ffcc6290394,82388729,0,0x0,8
tick,0x7ffcc6290394,82404000,0,0x0,8
tick,0x7ffcc6290394,82419989,0,0x0,8
tick,0x7ffcc6290394,82436131,0,0x0,8
tick,0x7ffcc6290394,82451550,0,0x0,8
tick,0x7ffcc6290394,82467275,0,0x0,8
tick,0x7ffcc6290394,82482748,0,0x0,8
tick,0x7ffcc6290394,82498231,0,0x0,8
tick,0x7ffcc6290394,82513264,0,0x0,8
tick,0x7ffcc6290394,82529379,0,0x0,8
tick,0x7ffcc6290394,82545105,0,0x0,8
tick,0x7ffcc6290394,82560411,0,0x0,8
tick,0x7ffcc6290394,82575623,0,0x0,8
tick,0x7ffcc6290394,82591388,0,0x0,8
tick,0x7ffcc6290394,82607274,0,0x0,8
tick,0x7ffcc6290394,82622807,0,0x0,8
tick,0x7ffcc6290394,82638646,0,0x0,8
tick,0x7ffcc6290394,82654617,0,0x0,8
tick,0x7ffcc6290394,82670371,0,0x0,8
tick,0x7ffcc6290394,82686402,0,0x0,8
tick,0x7ffcc6290394,82701703,0,0x0,8
tick,0x7ffcc6290394,82717119,0,0x0,8
tick,0x7ffcc6290394,82732770,0,0x0,8
tick,0x7ffcc6290394,82748036,0,0x0,8
tick,0x7ffcc6290394,82763695,0,0x0,8
tick,0x7ffcc6290394,82779716,0,0x0,8
tick,0x7ffcc6290394,82795107,0,0x0,8
tick,0x7ffcc6290394,82810531,0,0x0,8
tick,0x7ffcc6290394,82825625,0,0x0,8
tick,0x7ffcc6290394,82841330,0,0x0,8
tick,0x7ffcc6290394,82856902,0,0x0,8
tick,0x7ffcc6290394,82872579,0,0x0,8
tick,0x7ffcc6290394,82887776,0,0x0,8
tick,0x7ffcc6290394,82902935,0,0x0,8
tick,0x7ffcc6290394,82918534,0,0x0,8
tick,0x7ffcc6290394,82934639,0,0x0,8
tick,0x7ffcc6290394,82950457,0,0x0,8
tick,0x7ffcc6290394,82966072,0,0x0,8
tick,0x7ffcc6290394,82981593,0,0x0,8
tick,0x7ffcc6290394,82997607,0,0x0,8
tick,0x7ffcc6290394,83012930,0,0x0,8
tick,0x7ffcc6290394,83029105,0,0x0,8
tick,0x7ffcc6290394,83044893,0,0x0,8
tick,0x7ffcc6290394,83061014,0,0x0,8
tick,0x7ffcc6290394,83076349,0,0x0,8
tick,0x7ffcc6290394,83091905,0,0x0,8
tick,0x7ffcc6290394,83107224,0,0x0,8
tick,0x7ffcc6290394,83122758,0,0x0,8
tick,0x7ffcc6290394,83138647,0,0x0,8
tick,0x7ffcc6290394,83154596,0,0x0,8
tick,0x7ffcc6290394,83169460,0,0x0,8
tick,0x7ffcc6290394,83185366,0,0x0,8
tick,0x7ffcc6290394,83201318,0,0x0,8
tick,0x7ffcc6290394,83216916,0,0x0,8
tick,0x7ffcc6290394,83233018,0,0x0,8
tick,0x7ffcc6290394,83248364,0,0x0,8
tick,0x7ffcc6290394,83264332,0,0x0,8
tick,0x7ffcc6290394,83279210,0,0x0,8
tick,0x7ffcc6290394,83294558,0,0x0,8
tick,0x7ffcc6290394,83310603,0,0x0,8
tick,0x7ffcc6290394,83326020,0,0x0,8
tick,0x7ffcc6290394,83341068,0,0x0,8
tick,0x7ffcc6290394,83357141,0,0x0,8
tick,0x7ffcc6290394,83372433,0,0x0,8
tick,0x7ffcc6290394,83388321,0,0x0,8
tick,0x7ffcc6290394,83403716,0,0x0,8
tick,0x7ffcc6290394,83419577,0,0x0,8
tick,0x7ffcc6290394,83434565,0,0x0,8
tick,0x7ffcc6290394,83449832,0,0x0,8
tick,0x7ffcc6290394,83465798,0,0x0,8
tick,0x7ffcc6290394,83481039,0,0x0,8
tick,0x7ffcc6290394,83497393,0,0x0,8
tick,0x7ffcc6290394,83512502,0,0x0,8
tick,0x7ffcc6290394,83527750,0,0x0,8
tick,0x7ffcc6290394,83543281,0,0x0,8
tick,0x7ffcc6290394,83558393,0,0x0,8
tick,0x7ffcc6290394,83574501,0,0x0,8
tick,0x7ffcc6290394,83589865,0,0x0,8
tick,0x7ffcc6290394,83605514,0,0x0,8
tick,0x7ffcc6290394,83621743,0,0x0,8
tick,0x7ffcc6290394,83637444,0,0x0,8
tick,0x7ffcc6290394,83652663,0,0x0,8
tick,0x7ffcc6290394,83668645,0,0x0,8
tick,0x7ffcc6290394,83684764,0,0x0,8
tick,0x7ffcc6290394,83699432,0,0x0,8
tick,0x7ffcc6290394,83715062,0,0x0,8
tick,0x7ffcc6290394,83730313,0,0x0,8
tick,0x7ffcc6290394,83746325,0,0x0,8
tick,0x7ffcc6290394,83761965,0,0x0,8
tick,0x7ffcc6290394,83777674,0,0x0,8
tick,0x7ffcc6290394,83793372,0,0x0,8
tick,0x7ffcc6290394,83809140,0,0x0,8
tick,0x7ffcc6290394,83824450,0,0x0,8
tick,0x7ffcc6290394,83840563,0,0x0,8
tick,0x7ffcc6290394,83856103,0,0x0,8
tick,0x7ffcc6290394,83871760,0,0x0,8
tick,0x7ffcc6290394,83887503,0,0x0,8
tick,0x7ffcc6290394,83903402,0,0x0,8
tick,0x7ffcc6290394,83919205,0,0x0,8
tick,0x7ffcc6290394,83934347,0,0x0,8
tick,0x7ffcc6290394,83950177,0,0x0,8
tick,0x7ffcc6290394,83965796,0,0x0,8
tick,0x7ffcc6290394,83981773,0,0x0,8
tick,0x7ffcc6290394,83997253,0,0x0,8
tick,0x7ffcc6290394,84012530,0,0x0,8
tick,0x7ffcc6290394,84027762,0,0x0,8
tick,0x7ffcc6290394,84042770,0,0x0,8
tick,0x7ffcc6290394,84058628,0,0x0,8
tick,0x7ffcc6290394,84074257,0,0x0,8
tick,0x7ffcc6290394,84089517,0,0x0,8
tick,0x7ffcc6290394,84104762,0,0x0,8
tick,0x7ffcc6290394,84120578,0,0x0,8
tick,0x7ffcc6290394,84135731,0,0x0,8
tick,0x7ffcc6290394,84151351,0,0x0,8
tick,0x7ffcc6290394,84166680,0,0x0,8
tick,0x7ffcc6290394,84181969,0,0x0,8
tick,0x7ffcc6290394,84197969,0,0x0,8
tick,0x7ffcc6290394,84213761,0,0x0,8
tick,0x7ffcc6290394,84229563,0,0x0,8
tick,0x7ffcc6290394,84244886,0,0x0,8
tick,0x7ffcc6290394,84260678,0,0x0,8
tick,0x7ffcc6290394,84275713,0,0x0,8
tick,0x7ffcc6290394,84291453,0,0x0,8
tick,0x7ffcc6290394,84306666,0,0x0,8
tick,0x7ffcc6290394,84322322,0,0x0,8
tick,0x7ffcc6290394,84338137,0,0x0,8
tick,0x7ffcc6290394,84353331,0,0x0,8
tick,0x7ffcc6290394,84368766,0,0x0,8
tick,0x7ffcc6290394,84384834,0,0x0,8
tick,0x7ffcc6290394,84400382,0,0x0,8
tick,0x7ffcc6290394,84415466,0,0x0,8
tick,0x7ffcc6290394,84431529,0,0x0,8
tick,0x7ffcc6290394,84447426,0,0x0,8
tick,0x7ffcc6290394,84463429,0,0x0,8
tick,0x7ffcc6290394,84478289,0,0x0,8
tick,0x7ffcc6290394,84494316,0,0x0,8
tick,0x7ffcc6290394,84509998,0,0x0,8
tick,0x7ffcc6290394,84526196,0,0x0,8
tick,0x7ffcc6290394,84541647,0,0x0,8
tick,0x7ffcc6290394,84557615,0,0x0,8
tick,0x7ffcc6290394,84573650,0,0x0,8
tick,0x7ffcc6290394,84588240,0,0x0,8
tick,0x7ffcc6290394,84603910,0,0x0,8
tick,0x7ffcc6290394,84619227,0,0x0,8
tick,0x7ffcc6290394,84634394,0,0x0,8
tick,0x7ffcc6290394,84649577,0,0x0,8
tick,0x7ffcc6290394,84665022,0,0x0,8
tick,0x7ffcc6290394,84681283,0,0x0,8
tick,0x7ffcc6290394,84697106,0,0x0,8
tick,0x7ffcc6290394,84712051,0,0x0,8
tick,0x7ffcc6290394,84727940,0,0x0,8
tick,0x7ffcc6290394,84743738,0,0x0,8
tick,0x7ffcc6290394,84759314,0,0x0,8
tick,0x7ffcc6290394,84774967,0,0x0,8
tick,0x7ffcc6290394,84790800,0,0x0,8
tick,0x7ffcc6290394,84806732,0,0x0,8
tick,0x7ffcc6290394,84822211,0,0x0,8
tick,0x7ffcc6290394,84837277,0,0x0,8
tick,0x7ffcc6290394,84852696,0,0x0,8
tick,0x7ffcc6290394,84868493,0,0x0,8
tick,0x7ffcc6290394,84884322,0,0x0,8
tick,0x7ffcc6290394,84900608,0,0x0,8
tick,0x7ffcc6290394,84915617,0,0x0,8
tick,0x7ffcc6290394,84930747,0,0x0,8
tick,0x7ffcc6290394,84946302,0,0x0,8
tick,0x7ffcc6290394,84962306,0,0x0,8
tick,0x7ffcc6290394,84977339,0,0x0,8
tick,0x7ffcc6290394,84992936,0,0x0,8
tick,0x7ffcc6290394,85008427,0,0x0,8
tick,0x7ffcc6290394,85023701,0,0x0,8
tick,0x7ffcc6290394,85039339,0,0x0,8
tick,0x7ffcc6290394,85055491,0,0x0,8
tick,0x7ffcc6290394,85070941,0,0x0,8
tick,0x7ffcc6290394,85087076,0,0x0,8
tick,0x7ffcc6290394,85102346,0,0x0,8
tick,0x7ffcc6290394,85117039,0,0x0,8
tick,0x7ffcc6290394,85133005,0,0x0,8
tick,0x7ffcc6290394,85148310,0,0x0,8
tick,0x7ffcc6290394,85163603,0,0x0,8
tick,0x7ffcc6290394,85180258,0,0x0,8
tick,0x7ffcc6290394,85195090,0,0x0,8
tick,0x7ffcc6290394,85210960,0,0x0,8
tick,0x7ffcc6290394,85226215,0,0x0,8
tick,0x7ffcc6290394,85241500,0,0x0,8
tick,0x7ffcc6290394,85257483,0,0x0,8
tick,0x7ffcc6290394,85273534,0,0x0,8
tick,0x7ffcc6290394,85289494,0,0x0,8
tick,0x7ffcc6290394,85304838,0,0x0,8
tick,0x7ffcc6290394,85320392,0,0x0,8
tick,0x7ffcc6290394,85335590,0,0x0,8
tick,0x7ffcc6290394,85351195,0,0x0,8
tick,0x7ffcc6290394,85366994,0,0x0,8
tick,0x7ffcc6290394,85382903,0,0x0,8
tick,0x7ffcc6290394,85398817,0,0x0,8
tick,0x7ffcc6290394,85414391,0,0x0,8
tick,0x7ffcc6290394,85430276,0,0x0,8
tick,0x7ffcc6290394,85446195,0,0x0,8
tick,0x7ffcc6290394,85461368,0,0x0,8
tick,0x7ffcc6290394,85477052,0,0x0,8
tick,0x7ffcc6290394,85492609,0,0x0,8
tick,0x7ffcc6290394,85508747,0,0x0,8
tick,0x7ffcc6290394,85524597,0,0x0,8
tick,0x7ffcc6290394,85540466,0,0x0,8
tick,0x7ffcc6290394,85556257,0,0x0,8
tick,0x7ffcc6290394,85571735,0,0x0,8
tick,0x7ffcc6290394,85587254,0,0x0,8
tick,0x7ffcc6290394,85602654,0,0x0,8
tick,0x7ffcc6290394,85618722,0,0x0,8
tick,0x7ffcc6290394,85634499,0,0x0,8
tick,0x7ffcc6290394,85650491,0,0x0,8
tick,0x7ffcc6290394,85665929,0,0x0,8
tick,0x7ffcc6290394,85682064,0,0x0,8
tick,0x7ffcc6290394,85697622,0,0x0,8
tick,0x7ffcc6290394,85712722,0,0x0,8
tick,0x7ffcc6290394,85729004,0,0x0,8
tick,0x7ffcc6290394,85744102,0,0x0,8
tick,0x7ffcc6290394,85759993,0,0x0,8
tick,0x7ffcc6290394,85775679,0,0x0,8
tick,0x7ffcc6290394,85792187,0,0x0,8
tick,0x7ffcc6290394,85806937,0,0x0,8
tick,0x7ffcc6290394,85822243,0,0x0,8
tick,0x7ffcc6290394,85837260,0,0x0,8
tick,0x7ffcc6290394,85853232,0,0x0,8
tick,0x7ffcc6290394,85868395,0,0x0,8
tick,0x7ffcc6290394,85883764,0,0x0,8
tick,0x7ffcc6290394,85899562,0,0x0,8
tick,0x7ffcc6290394,85915460,0,0x0,8
tick,0x7ffcc6290394,85930565,0,0x0,8
tick,0x7ffcc6290394,85946237,0,0x0,8
tick,0x7ffcc6290394,85961297,0,0x0,8
tick,0x7ffcc6290394,85977257,0,0x0,8
tick,0x7ffcc6290394,85992817,0,0x0,8
tick,0x7ffcc6290394,86008735,0,0x0,8
tick,0x7ffcc6290394,86024949,0,0x0,8
tick,0x7ffcc6290394,86039989,0,0x0,8
tick,0x7ffcc6290394,86055308,0,0x0,8
tick,0x7ffcc6290394,86071275,0,0x0,8
tick,0x7ffcc6290394,86086383,0,0x0,8
tick,0x7ffcc6290394,86102061,0,0x0,8
tick,0x7ffcc6290394,86117671,0,0x0,8
tick,0x7ffcc6290394,86133674,0,0x0,8
tick,0x7ffcc6290394,86149521,0,0x0,8
tick,0x7ffcc6290394,86164577,0,0x0,8
tick,0x7ffcc6290394,86180119,0,0x0,8
tick,0x7ffcc6290394,86195978,0,0x0,8
tick,0x7ffcc6290394,86211507,0,0x0,8
tick,0x7ffcc6290394,86227338,0,0x0,8
tick,0x7ffcc6290394,86242710,0,0x0,8
tick,0x7ffcc6290394,86257670,0,0x0,8
tick,0x7ffcc6290394,86272251,0,0x0,8
tick,0x7ffcc6290394,86287527,0,0x0,8
tick,0x7ffcc6290394,86302961,0,0x0,8
tick,0x7ffcc6290394,86318819,0,0x0,8
tick,0x7ffcc6290394,86334109,0,0x0,8
tick,0x7ffcc6290394,86350000,0,0x0,8
tick,0x7ffcc6290394,86365772,0,0x0,8
tick,0x7ffcc6290394,86381612,0,0x0,8
tick,0x7ffcc6290394,86397276,0,0x0,8
tick,0x7ffcc6290394,86413324,0,0x0,8
tick,0x7ffcc6290394,86428938,0,0x0,8
tick,0x7ffcc6290394,86444354,0,0x0,8
tick,0x7ffcc6290394,86460295,0,0x0,8
tick,0x7ffcc6290394,86475536,0,0x0,8
tick,0x7ffcc6290394,86491328,0,0x0,8
tick,0x7ffcc6290394,86506858,0,0x0,8
tick,0x7ffcc6290394,86522296,0,0x0,8
tick,0x7ffcc6290394,86538207,0,0x0,8
tick,0x7ffcc6290394,86554352,0,0x0,8
tick,0x7ffcc6290394,86570010,0,0x0,8
tick,0x7ffcc6290394,86585939,0,0x0,8
tick,0x7ffcc6290394,86601349,0,0x0,8
tick,0x7ffcc6290394,86616837,0,0x0,8
tick,0x7ffcc6290394,86632381,0,0x0,8
tick,0x7ffcc6290394,86647111,0,0x0,8
tick,0x7ffcc6290394,86662950,0,0x0,8
tick,0x7ffcc6290394,86678106,0,0x0,8
tick,0x7ffcc6290394,86694285,0,0x0,8
tick,0x7ffcc6290394,86709441,0,0x0,8
tick,0x7ffcc6290394,86725162,0,0x0,8
tick,0x7ffcc6290394,86740429,0,0x0,8
tick,0x7ffcc6290394,86755606,0,0x0,8
tick,0x7ffcc6290394,86770937,0,0x0,8
tick,0x7ffcc6290394,86786585,0,0x0,8
tick,0x7ffcc6290394,86802526,0,0x0,8
tick,0x7ffcc6290394,86817843,0,0x0,8
tick,0x7ffcc6290394,86833424,0,0x0,8
tick,0x7ffcc6290394,86849756,0,0x0,8
tick,0x7ffcc6290394,86865605,0,0x0,8
tick,0x7ffcc6290394,86880740,0,0x0,8
tick,0x7ffcc6290394,86896432,0,0x0,8
tick,0x7ffcc6290394,86911210,0,0x0,8
tick,0x7ffcc6290394,86926936,0,0x0,8
tick,0x7ffcc6290394,86942683,0,0x0,8
tick,0x7ffcc6290394,86958560,0,0x0,8
tick,0x7ffcc6290394,86974280,0,0x0,8
tick,0x7ffcc6290394,86989905,0,0x0,8
tick,0x7ffcc6290394,87005843,0,0x0,8
tick,0x7ffcc6290394,87021064,0,0x0,8
tick,0x7ffcc6290394,87036700,0,0x0,8
tick,0x7ffcc6290394,87052413,0,0x0,8
tick,0x7ffcc6290394,87068335,0,0x0,8
tick,0x7ffcc6290394,87084299,0,0x0,8
tick,0x7ffcc6290394,87099872,0,0x0,8
tick,0x7ffcc6290394,87115878,0,0x0,8
tick,0x7ffcc6290394,87130997,0,0x0,8
tick,0x7ffcc6290394,87146732,0,0x0,8
tick,0x7ffcc6290394,87162652,0,0x0,8
tick,0x7ffcc6290394,87179124,0,0x0,8
tick,0x7ffcc6290394,87194227,0,0x0,8
tick,0x7ffcc6290394,87209317,0,0x0,8
tick,0x7ffcc6290394,87225725,0,0x0,8
tick,0x7ffcc6290394,87241357,0,0x0,8
tick,0x7ffcc6290394,87256355,0,0x0,8
tick,0x7ffcc6290394,87271660,0,0x0,8
tick,0x7ffcc6290394,87287252,0,0x0,8
tick,0x7ffcc6290394,87303111,0,0x0,8
tick,0x7ffcc6290394,87318734,0,0x0,8
tick,0x7ffcc6290394,87333930,0,0x0,8
tick,0x7ffcc6290394,87349903,0,0x0,8
tick,0x7ffcc6290394,87365579,0,0x0,8
tick,0x7ffcc6290394,87381365,0,0x0,8
tick,0x7ffcc6290394,87396670,0,0x0,8
tick,0x7ffcc6290394,87412107,0,0x0,8
tick,0x7ffcc6290394,87427289,0,0x0,8
tick,0x7ffcc6290394,87442815,0,0x0,8
tick,0x7ffcc6290394,87458027,0,0x0,8
tick,0x7ffcc6290394,87473270,0,0x0,8
tick,0x7ffcc6290394,87489031,0,0x0,8
tick,0x7ffcc6290394,87505207,0,0x0,8
tick,0x7ffcc6290394,87520219,0,0x0,8
tick,0x7ffcc6290394,87536186,0,0x0,8
tick,0x7ffcc6290394,87552043,0,0x0,8
tick,0x7ffcc6290394,87568136,0,0x0,8
tick,0x7ffcc6290394,87583380,0,0x0,8
tick,0x7ffcc6290394,87599575,0,0x0,8
tick,0x7ffcc6290394,87615473,0,0x0,8
tick,0x7ffcc6290394,87631266,0,0x0,8
tick,0x7ffcc6290394,87646562,0,0x0,8
tick,0x7ffcc6290394,87662012,0,0x0,8
tick,0x7ffcc6290394,87677788,0,0x0,8
tick,0x7ffcc6290394,87693579,0,0x0,8
tick,0x7ffcc6290394,87709488,0,0x0,8
tick,0x7ffcc6290394,87724857,0,0x0,8
tick,0x7ffcc6290394,87740494,0,0x0,8
tick,0x7ffcc6290394,87755964,0,0x0,8
tick,0x7ffcc6290394,87771537,0,0x0,8
tick,0x7ffcc6290394,87786583,0,0x0,8
tick,0x7ffcc6290394,87801792,0,0x0,8
tick,0x7ffcc6290394,87817090,0,0x0,8
tick,0x7ffcc6290394,87832552,0,0x0,8
tick,0x7ffcc6290394,87847945,0,0x0,8
tick,0x7ffcc6290394,87863730,0,0x0,8
tick,0x7ffcc6290394,87878925,0,0x0,8
tick,0x7ffcc6290394,87894221,0,0x0,8
tick,0x7ffcc6290394,87909892,0,0x0,8
tick,0x7ffcc6290394,87925204,0,0x0,8
tick,0x7ffcc6290394,87940323,0,0x0,8
tick,0x7ffcc6290394,87956102,0,0x0,8
tick,0x7ffcc6290394,87971741,0,0x0,8
tick,0x7ffcc6290394,87986873,0,0x0,8
tick,0x7ffcc6290394,88002638,0,0x0,8
tick,0x7ffcc6290394,88017908,0,0x0,8
tick,0x7ffcc6290394,88033364,0,0x0,8
tick,0x7ffcc6290394,88049350,0,0x0,8
tick,0x7ffcc6290394,88064886,0,0x0,8
tick,0x7ffcc6290394,88080066,0,0x0,8
tick,0x7ffcc6290394,88095730,0,0x0,8
tick,0x7ffcc6290394,88111790,0,0x0,8
tick,0x7ffcc6290394,88127360,0,0x0,8
tick,0x7ffcc6290394,88142063,0,0x0,8
tick,0x7ffcc6290394,88157514,0,0x0,8
tick,0x7ffcc6290394,88172778,0,0x0,8
tick,0x7ffcc6290394,88188211,0,0x0,8
tick,0x7ffcc6290394,88203646,0,0x0,8
tick,0x7ffcc6290394,88219649,0,0x0,8
tick,0x7ffcc6290394,88234735,0,0x0,8
tick,0x7ffcc6290394,88250533,0,0x0,8
tick,0x7ffcc6290394,88266515,0,0x0,8
tick,0x7ffcc6290394,88281404,0,0x0,8
tick,0x7ffcc6290394,88296894,0,0x0,8
tick,0x7ffcc6290394,88312873,0,0x0,8
tick,0x7ffcc6290394,88328929,0,0x0,8
tick,0x7ffcc6290394,88343802,0,0x0,8
tick,0x7ffcc6290394,88358847,0,0x0,8
tick,0x7ffcc6290394,88374286,0,0x0,8
tick,0x7ffcc6290394,88390396,0,0x0,8
tick,0x7ffcc6290394,88405605,0,0x0,8
tick,0x7ffcc6290394,88420923,0,0x0,8
tick,0x7ffcc6290394,88436213,0,0x0,8
tick,0x7ffcc6290394,88451439,0,0x0,8
tick,0x7ffcc6290394,88467445,0,0x0,8
tick,0x7ffcc6290394,88483276,0,0x0,8
tick,0x7ffcc6290394,88499219,0,0x0,8
tick,0x7ffcc6290394,88514376,0,0x0,8
tick,0x7ffcc6290394,88529615,0,0x0,8
tick,0x7ffcc6290394,88544841,0,0x0,8
tick,0x7ffcc6290394,88560506,0,0x0,8
tick,0x7ffcc6290394,88575870,0,0x0,8
tick,0x7ffcc6290394,88591480,0,0x0,8
tick,0x7ffcc6290394,88607440,0,0x0,8
tick,0x7ffcc6290394,88622827,0,0x0,8
tick,0x7ffcc6290394,88638092,0,0x0,8
tick,0x7ffcc6290394,88653680,0,0x0,8
tick,0x7ffcc6290394,88669442,0,0x0,8
tick,0x7ffcc6290394,88684717,0,0x0,8
tick,0x7ffcc6290394,88699975,0,0x0,8
tick,0x7ffcc6290394,88715734,0,0x0,8
tick,0x7ffcc6290394,88731365,0,0x0,8
tick,0x7ffcc6290394,88746770,0,0x0,8
tick,0x7ffcc6290394,88762436,0,0x0,8
tick,0x7ffcc6290394,88777777,0,0x0,8
tick,0x7ffcc6290394,88793259,0,0x0,8
tick,0x7ffcc6290394,88809669,0,0x0,8
tick,0x7ffcc6290394,88824678,0,0x0,8
tick,0x7ffcc6290394,88839878,0,0x0,8
tick,0x7ffcc6290394,88855602,0,0x0,8
tick,0x7ffcc6290394,88870806,0,0x0,8
tick,0x7ffcc6290394,88886982,0,0x0,8
tick,0x7ffcc6290394,88901634,0,0x0,8
tick,0x7ffcc6290394,88916826,0,0x0,8
tick,0x7ffcc6290394,88932473,0,0x0,8
tick,0x7ffcc6290394,88947951,0,0x0,8
tick,0x7ffcc6290394,88963553,0,0x0,8
tick,0x7ffcc6290394,88978718,0,0x0,8
tick,0x7ffcc6290394,88994567,0,0x0,8
tick,0x7ffcc6290394,89010673,0,0x0,8
tick,0x7ffcc6290394,89026364,0,0x0,8
tick,0x7ffcc6290394,89042350,0,0x0,8
tick,0x7ffcc6290394,89058079,0,0x0,8
tick,0x7ffcc6290394,89073740,0,0x0,8
tick,0x7ffcc6290394,89088765,0,0x0,8
tick,0x7ffcc6290394,89104346,0,0x0,8
tick,0x7ffcc6290394,89120016,0,0x0,8
tick,0x7ffcc6290394,89135161,0,0x0,8
tick,0x7ffcc6290394,89151054,0,0x0,8
tick,0x7ffcc6290394,89166469,0,0x0,8
tick,0x7ffcc6290394,89181715,0,0x0,8
tick,0x7ffcc6290394,89197616,0,0x0,8
tick,0x7ffcc6290394,89213753,0,0x0,8
tick,0x7ffcc6290394,89228672,0,0x0,8
tick,0x7ffcc6290394,89244295,0,0x0,8
tick,0x7ffcc6290394,89260133,0,0x0,8
tick,0x7ffcc6290394,89276086,0,0x0,8
tick,0x7ffcc6290394,89291458,0,0x0,8
tick,0x7ffcc6290394,89307567,0,0x0,8
tick,0x7ffcc6290394,89323126,0,0x0,8
tick,0x7ffcc6290394,89338577,0,0x0,8
tick,0x7ffcc6290394,89353693,0,0x0,8
tick,0x7ffcc6290394,89369332,0,0x0,8
tick,0x7ffcc6290394,89384916,0,0x0,8
tick,0x7ffcc6290394,89399882,0,0x0,8
tick,0x7ffcc6290394,89415608,0,0x0,8
tick,0x7ffcc6290394,89431293,0,0x0,8
tick,0x7ffcc6290394,89447054,0,0x0,8
tick,0x7ffcc6290394,89462758,0,0x0,8
tick,0x7ffcc6290394,89478129,0,0x0,8
tick,0x7ffcc6290394,89493611,0,0x0,8
tick,0x7ffcc6290394,89509204,0,0x0,8
tick,0x7ffcc6290394,89524809,0,0x0,8
tick,0x7ffcc6290394,89540313,0,0x0,8
tick,0x7ffcc6290394,89556582,0,0x0,8
tick,0x7ffcc6290394,89572443,0,0x0,8
tick,0x7ffcc6290394,89588498,0,0x0,8
tick,0x7ffcc6290394,89604221,0,0x0,8
tick,0x7ffcc6290394,89619695,0,0x0,8
tick,0x7ffcc6290394,89635145,0,0x0,8
tick,0x7ffcc6290394,89650924,0,0x0,8
tick,0x7ffcc6290394,89666813,0,0x0,8
tick,0x7ffcc6290394,89682638,0,0x0,8
tick,0x7ffcc6290394,89698231,0,0x0,8
tick,0x7ffcc6290394,89713478,0,0x0,8
tick,0x7ffcc6290394,89729413,0,0x0,8
tick,0x7ffcc6290394,89744980,0,0x0,8
tick,0x7ffcc6290394,89760417,0,0x0,8
tick,0x7ffcc6290394,89776262,0,0x0,8
tick,0x7ffcc6290394,89791736,0,0x0,8
tick,0x7ffcc6290394,89807404,0,0x0,8
tick,0x7ffcc6290394,89823051,0,0x0,8
tick,0x7ffcc6290394,89838723,0,0x0,8
tick,0x7ffcc6290394,89854641,0,0x0,8
tick,0x7ffcc6290394,89870204,0,0x0,8
tick,0x7ffcc6290394,89885411,0,0x0,8
tick,0x7ffcc6290394,89900989,0,0x0,8
tick,0x7ffcc6290394,89917018,0,0x0,8
tick,0x7ffcc6290394,89932443,0,0x0,8
tick,0x7ffcc6290394,89947504,0,0x0,8
tick,0x7ffcc6290394,89963224,0,0x0,8
tick,0x7ffcc6290394,89978516,0,0x0,8
tick,0x7ffcc6290394,89993989,0,0x0,8
tick,0x7ffcc6290394,90009693,0,0x0,8
tick,0x7ffcc6290394,90024596,0,0x0,8
tick,0x7ffcc6290394,90040831,0,0x0,8
tick,0x7ffcc6290394,90056170,0,0x0,8
tick,0x7ffcc6290394,90072074,0,0x0,8
tick,0x7ffcc6290394,90087324,0,0x0,8
tick,0x7ffcc6290394,90103205,0,0x0,8
tick,0x7ffcc6290394,90118461,0,0x0,8
tick,0x7ffcc6290394,90133683,0,0x0,8
tick,0x7ffcc6290394,90149173,0,0x0,8
tick,0x7ffcc6290394,90164553,0,0x0,8
tick,0x7ffcc6290394,90179848,0,0x0,8
tick,0x7ffcc6290394,90196123,0,0x0,8
tick,0x7ffcc6290394,90211553,0,0x0,8
tick,0x7ffcc6290394,90226648,0,0x0,8
tick,0x7ffcc6290394,90241721,0,0x0,8
tick,0x7ffcc6290394,90257518,0,0x0,8
tick,0x7ffcc6290394,90272788,0,0x0,8
tick,0x7ffcc6290394,90288625,0,0x0,8
tick,0x7ffcc6290394,90303796,0,0x0,8
tick,0x7ffcc6290394,90319170,0,0x0,8
tick,0x7ffcc6290394,90339315,0,0x0,8
tick,0x7ffcc6290394,90349577,0,0x0,8
tick,0x7ffcc6290394,90365427,0,0x0,8
tick,0x7ffcc6290394,90381723,0,0x0,8
tick,0x7ffcc6290394,90397690,0,0x0,8
tick,0x7ffcc6290394,90413173,0,0x0,8
tick,0x7ffcc6290394,90428843,0,0x0,8
tick,0x7ffcc6290394,90444532,0,0x0,8
tick,0x7ffcc6290394,90460232,0,0x0,8
tick,0x7ffcc6290394,90476318,0,0x0,8
tick,0x7ffcc6290394,90492023,0,0x0,8
tick,0x7ffcc6290394,90507498,0,0x0,8
tick,0x7ffcc6290394,90522733,0,0x0,8
tick,0x7ffcc6290394,90538561,0,0x0,8
tick,0x7ffcc6290394,90554373,0,0x0,8
tick,0x7ffcc6290394,90570325,0,0x0,8
tick,0x7ffcc6290394,90585533,0,0x0,8
tick,0x7ffcc6290394,90601430,0,0x0,8
tick,0x7ffcc6290394,90617165,0,0x0,8
tick,0x7ffcc6290394,90632047,0,0x0,8
tick,0x7ffcc6290394,90648454,0,0x0,8
tick,0x7ffcc6290394,90663239,0,0x0,8
tick,0x7ffcc6290394,90678515,0,0x0,8
tick,0x7ffcc6290394,90694373,0,0x0,8
tick,0x7ffcc6290394,90709718,0,0x0,8
tick,0x7ffcc6290394,90725855,0,0x0,8
tick,0x7ffcc6290394,90741615,0,0x0,8
tick,0x7ffcc6290394,90756795,0,0x0,8
tick,0x7ffcc6290394,90772557,0,0x0,8
tick,0x7ffcc6290394,90788219,0,0x0,8
tick,0x7ffcc6290394,90803761,0,0x0,8
tick,0x7ffcc6290394,90819860,0,0x0,8
tick,0x7ffcc6290394,90835246,0,0x0,8
tick,0x7ffcc6290394,90850993,0,0x0,8
tick,0x7ffcc6290394,90866983,0,0x0,8
tick,0x7ffcc6290394,90882474,0,0x0,8
tick,0x7ffcc6290394,90898255,0,0x0,8
tick,0x7ffcc6290394,90913943,0,0x0,8
tick,0x7ffcc6290394,90929070,0,0x0,8
tick,0x7ffcc6290394,90944309,0,0x0,8
tick,0x7ffcc6290394,90959948,0,0x0,8
tick,0x7ffcc6290394,90975223,0,0x0,8
tick,0x7ffcc6290394,90990938,0,0x0,8
tick,0x7ffcc6290394,91006652,0,0x0,8
tick,0x7ffcc6290394,91021889,0,0x0,8
tick,0x7ffcc6290394,91037685,0,0x0,8
tick,0x7ffcc6290394,91052809,0,0x0,8
tick,0x7ffcc6290394,91068238,0,0x0,8
tick,0x7ffcc6290394,91083866,0,0x0,8
tick,0x7ffcc6290394,91098949,0,0x0,8
tick,0x7ffcc6290394,91114855,0,0x0,8
tick,0x7ffcc6290394,91130460,0,0x0,8
tick,0x7ffcc6290394,91145891,0,0x0,8
tick,0x7ffcc6290394,91161877,0,0x0,8
tick,0x7ffcc6290394,91177294,0,0x0,8
tick,0x7ffcc6290394,91193402,0,0x0,8
tick,0x7ffcc6290394,91208677,0,0x0,8
tick,0x7ffcc6290394,91224320,0,0x0,8
tick,0x7ffcc6290394,91240035,0,0x0,8
tick,0x7ffcc6290394,91256671,0,0x0,8
tick,0x7ffcc6290394,91272204,0,0x0,8
tick,0x7ffcc6290394,91286895,0,0x0,8
tick,0x7ffcc6290394,91302218,0,0x0,8
tick,0x7ffcc6290394,91318153,0,0x0,8
tick,0x7ffcc6290394,91333749,0,0x0,8
tick,0x7ffcc6290394,91348454,0,0x0,8
tick,0x7ffcc6290394,91363627,0,0x0,8
tick,0x7ffcc6290394,91378954,0,0x0,8
tick,0x7ffcc6290394,91395085,0,0x0,8
tick,0x7ffcc6290394,91410218,0,0x0,8
tick,0x7ffcc6290394,91426380,0,0x0,8
tick,0x7ffcc6290394,91442026,0,0x0,8
tick,0x7ffcc6290394,91457710,0,0x0,8
tick,0x7ffcc6290394,91473641,0,0x0,8
tick,0x7ffcc6290394,91489106,0,0x0,8
tick,0x7ffcc6290394,91504535,0,0x0,8
tick,0x7ffcc6290394,91519983,0,0x0,8
tick,0x7ffcc6290394,91535821,0,0x0,8
tick,0x7ffcc6290394,91551205,0,0x0,8
tick,0x7ffcc6290394,91566793,0,0x0,8
tick,0x7ffcc6290394,91582539,0,0x0,8
tick,0x7ffcc6290394,91597963,0,0x0,8
tick,0x7ffcc6290394,91613308,0,0x0,8
tick,0x7ffcc6290394,91628941,0,0x0,8
tick,0x7ffcc6290394,91644398,0,0x0,8
tick,0x7ffcc6290394,91659809,0,0x0,8
tick,0x7ffcc6290394,91675437,0,0x0,8
tick,0x7ffcc6290394,91690708,0,0x0,8
tick,0x7ffcc6290394,91706506,0,0x0,8
tick,0x7ffcc6290394,91721875,0,0x0,8
tick,0x7ffcc6290394,91738043,0,0x0,8
tick,0x7ffcc6290394,91753366,0,0x0,8
tick,0x7ffcc6290394,91768916,0,0x0,8
tick,0x7ffcc6290394,91784490,0,0x0,8
tick,0x7ffcc6290394,91800486,0,0x0,8
tick,0x7ffcc6290394,91816316,0,0x0,8
tick,0x7ffcc6290394,91831525,0,0x0,8
tick,0x7ffcc6290394,91847171,0,0x0,8
tick,0x7ffcc6290394,91862752,0,0x0,8
tick,0x7ffcc6290394,91878460,0,0x0,8
tick,0x7ffcc6290394,91894348,0,0x0,8
tick,0x7ffcc6290394,91910241,0,0x0,8
tick,0x7ffcc6290394,91925015,0,0x0,8
tick,0x7ffcc6290394,91940714,0,0x0,8
tick,0x7ffcc6290394,91955839,0,0x0,8
tick,0x7ffcc6290394,91972063,0,0x0,8
tick,0x7ffcc6290394,91987138,0,0x0,8
tick,0x7ffcc6290394,92003098,0,0x0,8
tick,0x7ffcc6290394,92018408,0,0x0,8
tick,0x7ffcc6290394,92033833,0,0x0,8
tick,0x7ffcc6290394,92049140,0,0x0,8
tick,0x7ffcc6290394,92064947,0,0x0,8
tick,0x7ffcc6290394,92080460,0,0x0,8
tick,0x7ffcc6290394,92096443,0,0x0,8
tick,0x7ffcc6290394,92111918,0,0x0,8
tick,0x7ffcc6290394,92127863,0,0x0,8
tick,0x7ffcc6290394,92143248,0,0x0,8
tick,0x7ffcc6290394,92158982,0,0x0,8
tick,0x7ffcc6290394,92174925,0,0x0,8
tick,0x7ffcc6290394,92190271,0,0x0,8
tick,0x7ffcc6290394,92205878,0,0x0,8
tick,0x7ffcc6290394,92220564,0,0x0,8
tick,0x7ffcc6290394,92235960,0,0x0,8
tick,0x7ffcc6290394,92252033,0,0x0,8
tick,0x7ffcc6290394,92267914,0,0x0,8
tick,0x7ffcc6290394,92282992,0,0x0,8
tick,0x7ffcc6290394,92298682,0,0x0,8
tick,0x7ffcc6290394,92314242,0,0x0,8
tick,0x7ffcc6290394,92330199,0,0x0,8
tick,0x7ffcc6290394,92345484,0,0x0,8
tick,0x7ffcc6290394,92361008,0,0x0,8
tick,0x7ffcc6290394,92377071,0,0x0,8
tick,0x7ffcc6290394,92392292,0,0x0,8
tick,0x7ffcc6290394,92408647,0,0x0,8
tick,0x7ffcc6290394,92424228,0,0x0,8
tick,0x7ffcc6290394,92439230,0,0x0,8
tick,0x7ffcc6290394,92455258,0,0x0,8
tick,0x7ffcc6290394,92471058,0,0x0,8
tick,0x7ffcc6290394,92486867,0,0x0,8
tick,0x7ffcc6290394,92502444,0,0x0,8
tick,0x7ffcc6290394,92518646,0,0x0,8
tick,0x7ffcc6290394,92534190,0,0x0,8
tick,0x7ffcc6290394,92549866,0,0x0,8
tick,0x7ffcc6290394,92565280,0,0x0,8
tick,0x7ffcc6290394,92581260,0,0x0,8
tick,0x7ffcc6290394,92596247,0,0x0,8
tick,0x7ffcc6290394,92611931,0,0x0,8
tick,0x7ffcc6290394,92627015,0,0x0,8
tick,0x7ffcc6290394,92642409,0,0x0,8
tick,0x7ffcc6290394,92657734,0,0x0,8
tick,0x7ffcc6290394,92673205,0,0x0,8
tick,0x7ffcc6290394,92689031,0,0x0,8
tick,0x7ffcc6290394,92704447,0,0x0,8
tick,0x7ffcc6290394,92720144,0,0x0,8
tick,0x7ffcc6290394,92736055,0,0x0,8
tick,0x7ffcc6290394,92751813,0,0x0,8
tick,0x7ffcc6290394,92767541,0,0x0,8
tick,0x7ffcc6290394,92783252,0,0x0,8
tick,0x7ffcc6290394,92799442,0,0x0,8
tick,0x7ffcc6290394,92814768,0,0x0,8
tick,0x7ffcc6290394,92829909,0,0x0,8
tick,0x7ffcc6290394,92845484,0,0x0,8
tick,0x7ffcc6290394,92860444,0,0x0,8
tick,0x7ffcc6290394,92875655,0,0x0,8
tick,0x7ffcc6290394,92890786,0,0x0,8
tick,0x7ffcc6290394,92907204,0,0x0,8
tick,0x7ffcc6290394,92921631,0,0x0,8
tick,0x7ffcc6290394,92937702,0,0x0,8
tick,0x7ffcc6290394,92952397,0,0x0,8
tick,0x7ffcc6290394,92968025,0,0x0,8
tick,0x7ffcc6290394,92983596,0,0x0,8
tick,0x7ffcc6290394,92999411,0,0x0,8
tick,0x7ffcc6290394,93014195,0,0x0,8
tick,0x7ffcc6290394,93029760,0,0x0,8
tick,0x7ffcc6290394,93044913,0,0x0,8
tick,0x7ffcc6290394,93060526,0,0x0,8
tick,0x7ffcc6290394,93076460,0,0x0,8
tick,0x7ffcc6290394,93092015,0,0x0,8
tick,0x7ffcc6290394,93107214,0,0x0,8
tick,0x7ffcc6290394,93121861,0,0x0,8
tick,0x7ffcc6290394,93137256,0,0x0,8
tick,0x7ffcc6290394,93152699,0,0x0,8
tick,0x7ffcc6290394,93168105,0,0x0,8
tick,0x7ffcc6290394,93183769,0,0x0,8
tick,0x7ffcc6290394,93198911,0,0x0,8
tick,0x7ffcc6290394,93214124,0,0x0,8
tick,0x7ffcc6290394,93229905,0,0x0,8
tick,0x7ffcc6290394,93245500,0,0x0,8
tick,0x7ffcc6290394,93261621,0,0x0,8
tick,0x7ffcc6290394,93276601,0,0x0,8
tick,0x7ffcc6290394,93292403,0,0x0,8
tick,0x7ffcc6290394,93307816,0,0x0,8
tick,0x7ffcc6290394,93323874,0,0x0,8
tick,0x7ffcc6290394,93339597,0,0x0,8
tick,0x7ffcc6290394,93354850,0,0x0,8
tick,0x7ffcc6290394,93370940,0,0x0,8
tick,0x7ffcc6290394,93386647,0,0x0,8
tick,0x7ffcc6290394,93401735,0,0x0,8
tick,0x7ffcc6290394,93417770,0,0x0,8
tick,0x7ffcc6290394,93433986,0,0x0,8
tick,0x7ffcc6290394,93449308,0,0x0,8
tick,0x7ffcc6290394,93465149,0,0x0,8
tick,0x7ffcc6290394,93479698,0,0x0,8
tick,0x7ffcc6290394,93494864,0,0x0,8
tick,0x7ffcc6290394,93510600,0,0x0,8
tick,0x7ffcc6290394,93526903,0,0x0,8
tick,0x7ffcc6290394,93541063,0,0x0,8
tick,0x7ffcc6290394,93556155,0,0x0,8
tick,0x7ffcc6290394,93572278,0,0x0,8
tick,0x7ffcc6290394,93587381,0,0x0,8
tick,0x7ffcc6290394,93603315,0,0x0,8
tick,0x7ffcc6290394,93618421,0,0x0,8
tick,0x7ffcc6290394,93634160,0,0x0,8
tick,0x7ffcc6290394,93650065,0,0x0,8
tick,0x7ffcc6290394,93665096,0,0x0,8
tick,0x7ffcc6290394,93681204,0,0x0,8
tick,0x7ffcc6290394,93696005,0,0x0,8
tick,0x7ffcc6290394,93711589,0,0x0,8
tick,0x7ffcc6290394,93726403,0,0x0,8
tick,0x7ffcc6290394,93741719,0,0x0,8
tick,0x7ffcc6290394,93757745,0,0x0,8
tick,0x7ffcc6290394,93773345,0,0x0,8
tick,0x7ffcc6290394,93788441,0,0x0,8
tick,0x7ffcc6290394,93803270,0,0x0,8
tick,0x7ffcc6290394,93818756,0,0x0,8
tick,0x7ffcc6290394,93834352,0,0x0,8
tick,0x7ffcc6290394,93850247,0,0x0,8
tick,0x7ffcc6290394,93864672,0,0x0,8
tick,0x7ffcc6290394,93879564,0,0x0,8
tick,0x7ffcc6290394,93895196,0,0x0,8
tick,0x7ffcc6290394,93911048,0,0x0,8
tick,0x7ffcc6290394,93926260,0,0x0,8
tick,0x7ffcc6290394,93942062,0,0x0,8
tick,0x7ffcc6290394,93957692,0,0x0,8
tick,0x7ffcc6290394,93973433,0,0x0,8
tick,0x7ffcc6290394,93988330,0,0x0,8
tick,0x7ffcc6290394,94003780,0,0x0,8
tick,0x7ffcc6290394,94019556,0,0x0,8
tick,0x7ffcc6290394,94036419,0,0x0,8
tick,0x7ffcc6290394,94051628,0,0x0,8
tick,0x7ffcc6290394,94067164,0,0x0,8
tick,0x7ffcc6290394,94082166,0,0x0,8
tick,0x7ffcc6290394,94098341,0,0x0,8
tick,0x7ffcc6290394,94113374,0,0x0,8
tick,0x7ffcc6290394,94128542,0,0x0,8
tick,0x7ffcc6290394,94143945,0,0x0,8
tick,0x7ffcc6290394,94159577,0,0x0,8
tick,0x7ffcc6290394,94174831,0,0x0,8
tick,0x7ffcc6290394,94191220,0,0x0,8
tick,0x7ffcc6290394,94206411,0,0x0,8
tick,0x7ffcc6290394,94221961,0,0x0,8
tick,0x7ffcc6290394,94238145,0,0x0,8
tick,0x7ffcc6290394,94253069,0,0x0,8
tick,0x7ffcc6290394,94268557,0,0x0,8
tick,0x7ffcc6290394,94283878,0,0x0,8
tick,0x7ffcc6290394,94299848,0,0x0,8
tick,0x7ffcc6290394,94315481,0,0x0,8
tick,0x7ffcc6290394,94331365,0,0x0,8
tick,0x7ffcc6290394,94347091,0,0x0,8
tick,0x7ffcc6290394,94363000,0,0x0,8
tick,0x7ffcc6290394,94377935,0,0x0,8
tick,0x7ffcc6290394,94393247,0,0x0,8
tick,0x7ffcc6290394,94408694,0,0x0,8
tick,0x7ffcc6290394,94424426,0,0x0,8
tick,0x7ffcc6290394,94440187,0,0x0,8
tick,0x7ffcc6290394,94456085,0,0x0,8
tick,0x7ffcc6290394,94472020,0,0x0,8
tick,0x7ffcc6290394,94487682,0,0x0,8
tick,0x7ffcc6290394,94503696,0,0x0,8
tick,0x7ffcc6290394,94519095,0,0x0,8
tick,0x7ffcc6290394,94534616,0,0x0,8
tick,0x7ffcc6290394,94550568,0,0x0,8
tick,0x7ffcc6290394,94566297,0,0x0,8
tick,0x7ffcc6290394,94582130,0,0x0,8
tick,0x7ffcc6290394,94597514,0,0x0,8
tick,0x7ffcc6290394,94612770,0,0x0,8
tick,0x7ffcc6290394,94628327,0,0x0,8
tick,0x7ffcc6290394,94643729,0,0x0,8
tick,0x7ffcc6290394,94659457,0,0x0,8
tick,0x7ffcc6290394,94675318,0,0x0,8
tick,0x7ffcc6290394,94690735,0,0x0,8
tick,0x7ffcc6290394,94706606,0,0x0,8
tick,0x7ffcc6290394,94722273,0,0x0,8
tick,0x7ffcc6290394,94737395,0,0x0,8
tick,0x7ffcc6290394,94752960,0,0x0,8
tick,0x7ffcc6290394,94768110,0,0x0,8
tick,0x7ffcc6290394,94784150,0,0x0,8
tick,0x7ffcc6290394,94799373,0,0x0,8
tick,0x7ffcc6290394,94814766,0,0x0,8
tick,0x7ffcc6290394,94830330,0,0x0,8
tick,0x7ffcc6290394,94845556,0,0x0,8
tick,0x7ffcc6290394,94861619,0,0x0,8
tick,0x7ffcc6290394,94877503,0,0x0,8
tick,0x7ffcc6290394,94893189,0,0x0,8
tick,0x7ffcc6290394,94908281,0,0x0,8
tick,0x7ffcc6290394,94923643,0,0x0,8
tick,0x7ffcc6290394,94939363,0,0x0,8
tick,0x7ffcc6290394,94955345,0,0x0,8
tick,0x7ffcc6290394,94970331,0,0x0,8
tick,0x7ffcc6290394,94986400,0,0x0,8
tick,0x7ffcc6290394,95002099,0,0x0,8
tick,0x7ffcc6290394,95017849,0,0x0,8
tick,0x7ffcc6290394,95033590,0,0x0,8
tick,0x7ffcc6290394,95049225,0,0x0,8
tick,0x7ffcc6290394,95064087,0,0x0,8
tick,0x7ffcc6290394,95079481,0,0x0,8
tick,0x7ffcc6290394,95095544,0,0x0,8
tick,0x7ffcc6290394,95110770,0,0x0,8
tick,0x7ffcc6290394,95126140,0,0x0,8
tick,0x7ffcc6290394,95141581,0,0x0,8
tick,0x7ffcc6290394,95157194,0,0x0,8
tick,0x7ffcc6290394,95172120,0,0x0,8
tick,0x7ffcc6290394,95187607,0,0x0,8
tick,0x7ffcc6290394,95203615,0,0x0,8
tick,0x7ffcc6290394,95218441,0,0x0,8
tick,0x7ffcc6290394,95234090,0,0x0,8
tick,0x7ffcc6290394,95250033,0,0x0,8
tick,0x7ffcc6290394,95265187,0,0x0,8
tick,0x7ffcc6290394,95281224,0,0x0,8
tick,0x7ffcc6290394,95297239,0,0x0,8
tick,0x7ffcc6290394,95312435,0,0x0,8
tick,0x7ffcc6290394,95327629,0,0x0,8
tick,0x7ffcc6290394,95343250,0,0x0,8
tick,0x7ffcc6290394,95358214,0,0x0,8
tick,0x7ffcc6290394,95373960,0,0x0,8
tick,0x7ffcc6290394,95389539,0,0x0,8
tick,0x7ffcc6290394,95404870,0,0x0,8
tick,0x7ffcc6290394,95419898,0,0x0,8
tick,0x7ffcc6290394,95435050,0,0x0,8
tick,0x7ffcc6290394,95450471,0,0x0,8
tick,0x7ffcc6290394,95466361,0,0x0,8
tick,0x7ffcc6290394,95482334,0,0x0,8
tick,0x7ffcc6290394,95498083,0,0x0,8
tick,0x7ffcc6290394,95512622,0,0x0,8
tick,0x7ffcc6290394,95528676,0,0x0,8
tick,0x7ffcc6290394,95544139,0,0x0,8
tick,0x7ffcc6290394,95559427,0,0x0,8
tick,0x7ffcc6290394,95575032,0,0x0,8
tick,0x7ffcc6290394,95590478,0,0x0,8
tick,0x7ffcc6290394,95605733,0,0x0,8
tick,0x7ffcc6290394,95621757,0,0x0,8
tick,0x7ffcc6290394,95636949,0,0x0,8
tick,0x7ffcc6290394,95652135,0,0x0,8
tick,0x7ffcc6290394,95667992,0,0x0,8
tick,0x7ffcc6290394,95683584,0,0x0,8
tick,0x7ffcc6290394,95699185,0,0x0,8
tick,0x7ffcc6290394,95714605,0,0x0,8
tick,0x7ffcc6290394,95730582,0,0x0,8
tick,0x7ffcc6290394,95746157,0,0x0,8
tick,0x7ffcc6290394,95761903,0,0x0,8
tick,0x7ffcc6290394,95777515,0,0x0,8
tick,0x7ffcc6290394,95793506,0,0x0,8
tick,0x7ffcc6290394,95808982,0,0x0,8
tick,0x7ffcc6290394,95824125,0,0x0,8
tick,0x7ffcc6290394,95839685,0,0x0,8
tick,0x7ffcc6290394,95855209,0,0x0,8
tick,0x7ffcc6290394,95870511,0,0x0,8
tick,0x7ffcc6290394,95885781,0,0x0,8
tick,0x7ffcc6290394,95900649,0,0x0,8
tick,0x7ffcc6290394,95916254,0,0x0,8
tick,0x7ffcc6290394,95932020,0,0x0,8
tick,0x7ffcc6290394,95947187,0,0x0,8
tick,0x7ffcc6290394,95962920,0,0x0,8
tick,0x7ffcc6290394,95978330,0,0x0,8
tick,0x7ffcc6290394,95994342,0,0x0,8
tick,0x7ffcc6290394,96010401,0,0x0,8
tick,0x7ffcc6290394,96025776,0,0x0,8
tick,0x7ffcc6290394,96041173,0,0x0,8
tick,0x7ffcc6290394,96057019,0,0x0,8
tick,0x7ffcc6290394,96072867,0,0x0,8
tick,0x7ffcc6290394,96088005,0,0x0,8
tick,0x7ffcc6290394,96103936,0,0x0,8
tick,0x7ffcc6290394,96119056,0,0x0,8
tick,0x7ffcc6290394,96134465,0,0x0,8
tick,0x7ffcc6290394,96150513,0,0x0,8
tick,0x7ffcc6290394,96165757,0,0x0,8
tick,0x7ffcc6290394,96181144,0,0x0,8
tick,0x7ffcc6290394,96196665,0,0x0,8
tick,0x7ffcc6290394,96212527,0,0x0,8
tick,0x7ffcc6290394,96227541,0,0x0,8
tick,0x7ffcc6290394,96243390,0,0x0,8
tick,0x7ffcc6290394,96259096,0,0x0,8
tick,0x7ffcc6290394,96274476,0,0x0,8
tick,0x7ffcc6290394,96289618,0,0x0,8
tick,0x7ffcc6290394,96305111,0,0x0,8
tick,0x7ffcc6290394,96320710,0,0x0,8
tick,0x7ffcc6290394,96336072,0,0x0,8
tick,0x7ffcc6290394,96351810,0,0x0,8
tick,0x7ffcc6290394,96366951,0,0x0,8
tick,0x7ffcc6290394,96382550,0,0x0,8
tick,0x7ffcc6290394,96398455,0,0x0,8
tick,0x7ffcc6290394,96414199,0,0x0,8
tick,0x7ffcc6290394,96429914,0,0x0,8
tick,0x7ffcc6290394,96445413,0,0x0,8
tick,0x7ffcc6290394,96460603,0,0x0,8
tick,0x7ffcc6290394,96476125,0,0x0,8
tick,0x7ffcc6290394,96491765,0,0x0,8
tick,0x7ffcc6290394,96507134,0,0x0,8
tick,0x7ffcc6290394,96522516,0,0x0,8
tick,0x7ffcc6290394,96538263,0,0x0,8
tick,0x7ffcc6290394,96553504,0,0x0,8
tick,0x7ffcc6290394,96569368,0,0x0,8
tick,0x7ffcc6290394,96585176,0,0x0,8
tick,0x7ffcc6290394,96600770,0,0x0,8
tick,0x7ffcc6290394,96616441,0,0x0,8
tick,0x7ffcc6290394,96631881,0,0x0,8
tick,0x7ffcc6290394,96647703,0,0x0,8
tick,0x7ffcc6290394,96663356,0,0x0,8
tick,0x7ffcc6290394,96678606,0,0x0,8
tick,0x7ffcc6290394,96694552,0,0x0,8
tick,0x7ffcc6290394,96710675,0,0x0,8
tick,0x7ffcc6290394,96725609,0,0x0,8
tick,0x7ffcc6290394,96740882,0,0x0,8
tick,0x7ffcc6290394,96756565,0,0x0,8
tick,0x7ffcc6290394,96772513,0,0x0,8
tick,0x7ffcc6290394,96788309,0,0x0,8
tick,0x7ffcc6290394,96803841,0,0x0,8
tick,0x7ffcc6290394,96819433,0,0x0,8
tick,0x7ffcc6290394,96834157,0,0x0,8
tick,0x7ffcc6290394,96849282,0,0x0,8
tick,0x7ffcc6290394,96864482,0,0x0,8
tick,0x7ffcc6290394,96880402,0,0x0,8
tick,0x7ffcc6290394,96895508,0,0x0,8
tick,0x7ffcc6290394,96911540,0,0x0,8
tick,0x7ffcc6290394,96926565,0,0x0,8
tick,0x7ffcc6290394,96941977,0,0x0,8
tick,0x7ffcc6290394,96957669,0,0x0,8
tick,0x7ffcc6290394,96972730,0,0x0,8
tick,0x7ffcc6290394,96988185,0,0x0,8
tick,0x7ffcc6290394,97003938,0,0x0,8
tick,0x7ffcc6290394,97018833,0,0x0,8
tick,0x7ffcc6290394,97034474,0,0x0,8
tick,0x7ffcc6290394,97049427,0,0x0,8
tick,0x7ffcc6290394,97065198,0,0x0,8
tick,0x7ffcc6290394,97080901,0,0x0,8
tick,0x7ffcc6290394,97096615,0,0x0,8
tick,0x7ffcc6290394,97112457,0,0x0,8
tick,0x7ffcc6290394,97127762,0,0x0,8
tick,0x7ffcc6290394,97144349,0,0x0,8
tick,0x7ffcc6290394,97159787,0,0x0,8
tick,0x7ffcc6290394,97175651,0,0x0,8
tick,0x7ffcc6290394,97191394,0,0x0,8
tick,0x7ffcc6290394,97207503,0,0x0,8
tick,0x7ffcc6290394,97222413,0,0x0,8
tick,0x7ffcc6290394,97238617,0,0x0,8
tick,0x7ffcc6290394,97253620,0,0x0,8
tick,0x7ffcc6290394,97269185,0,0x0,8
tick,0x7ffcc6290394,97284514,0,0x0,8
tick,0x7ffcc6290394,97300370,0,0x0,8
tick,0x7ffcc6290394,97315696,0,0x0,8
tick,0x7ffcc6290394,97331345,0,0x0,8
tick,0x7ffcc6290394,97347051,0,0x0,8
tick,0x7ffcc6290394,97362629,0,0x0,8
tick,0x7ffcc6290394,97377785,0,0x0,8
tick,0x7ffcc6290394,97393187,0,0x0,8
tick,0x7ffcc6290394,97408831,0,0x0,8
tick,0x7ffcc6290394,97424210,0,0x0,8
tick,0x7ffcc6290394,97439265,0,0x0,8
tick,0x7ffcc6290394,97454960,0,0x0,8
tick,0x7ffcc6290394,97470436,0,0x0,8
tick,0x7ffcc6290394,97485792,0,0x0,8
tick,0x7ffcc6290394,97501602,0,0x0,8
tick,0x7ffcc6290394,97517194,0,0x0,8
tick,0x7ffcc6290394,97532960,0,0x0,8
tick,0x7ffcc6290394,97549084,0,0x0,8
tick,0x7ffcc6290394,97563793,0,0x0,8
tick,0x7ffcc6290394,97579377,0,0x0,8
tick,0x7ffcc6290394,97594657,0,0x0,8
tick,0x7ffcc6290394,97610027,0,0x0,8
tick,0x7ffcc6290394,97624947,0,0x0,8
tick,0x7ffcc6290394,97640942,0,0x0,8
tick,0x7ffcc6290394,97656923,0,0x0,8
tick,0x7ffcc6290394,97672457,0,0x0,8
tick,0x7ffcc6290394,97688150,0,0x0,8
tick,0x7ffcc6290394,97703910,0,0x0,8
tick,0x7ffcc6290394,97719587,0,0x0,8
tick,0x7ffcc6290394,97734581,0,0x0,8
tick,0x7ffcc6290394,97750876,0,0x0,8
tick,0x7ffcc6290394,97766032,0,0x0,8
tick,0x7ffcc6290394,97781406,0,0x0,8
tick,0x7ffcc6290394,97796508,0,0x0,8
tick,0x7ffcc6290394,97812235,0,0x0,8
tick,0x7ffcc6290394,97827985,0,0x0,8
tick,0x7ffcc6290394,97843297,0,0x0,8
tick,0x7ffcc6290394,97859026,0,0x0,8
tick,0x7ffcc6290394,97873889,0,0x0,8
tick,0x7ffcc6290394,97889094,0,0x0,8
tick,0x7ffcc6290394,97904589,0,0x0,8
tick,0x7ffcc6290394,97920016,0,0x0,8
tick,0x7ffcc6290394,97936088,0,0x0,8
tick,0x7ffcc6290394,97951327,0,0x0,8
tick,0x7ffcc6290394,97967338,0,0x0,8
tick,0x7ffcc6290394,97982638,0,0x0,8
tick,0x7ffcc6290394,97997847,0,0x0,8
tick,0x7ffcc6290394,98013769,0,0x0,8
tick,0x7ffcc6290394,98029452,0,0x0,8
tick,0x7ffcc6290394,98045017,0,0x0,8
tick,0x7ffcc6290394,98060794,0,0x0,8
tick,0x7ffcc6290394,98076981,0,0x0,8
tick,0x7ffcc6290394,98092584,0,0x0,8
tick,0x7ffcc6290394,98108004,0,0x0,8
tick,0x7ffcc6290394,98123089,0,0x0,8
tick,0x7ffcc6290394,98138635,0,0x0,8
tick,0x7ffcc6290394,98154139,0,0x0,8
tick,0x7ffcc6290394,98169482,0,0x0,8
tick,0x7ffcc6290394,98185191,0,0x0,8
tick,0x7ffcc6290394,98200490,0,0x0,8
tick,0x7ffcc6290394,98216533,0,0x0,8
tick,0x7ffcc6290394,98232507,0,0x0,8
tick,0x7ffcc6290394,98247768,0,0x0,8
tick,0x7ffcc6290394,98263103,0,0x0,8
tick,0x7ffcc6290394,98278510,0,0x0,8
tick,0x7ffcc6290394,98293893,0,0x0,8
tick,0x7ffcc6290394,98309193,0,0x0,8
tick,0x7ffcc6290394,98324841,0,0x0,8
tick,0x7ffcc6290394,98340268,0,0x0,8
tick,0x7ffcc6290394,98355497,0,0x0,8
tick,0x7ffcc6290394,98371266,0,0x0,8
tick,0x7ffcc6290394,98386897,0,0x0,8
tick,0x7ffcc6290394,98402410,0,0x0,8
tick,0x7ffcc6290394,98417758,0,0x0,8
tick,0x7ffcc6290394,98433512,0,0x0,8
tick,0x7ffcc6290394,98449203,0,0x0,8
tick,0x7ffcc6290394,98464961,0,0x0,8
tick,0x7ffcc6290394,98481099,0,0x0,8
tick,0x7ffcc6290394,98496968,0,0x0,8
tick,0x7ffcc6290394,98512574,0,0x0,8
tick,0x7ffcc6290394,98528331,0,0x0,8
tick,0x7ffcc6290394,98542972,0,0x0,8
tick,0x7ffcc6290394,98558436,0,0x0,8
tick,0x7ffcc6290394,98573952,0,0x0,8
tick,0x7ffcc6290394,98590018,0,0x0,8
tick,0x7ffcc6290394,98604993,0,0x0,8
tick,0x7ffcc6290394,98620769,0,0x0,8
tick,0x7ffcc6290394,98636231,0,0x0,8
tick,0x7ffcc6290394,98651443,0,0x0,8
tick,0x7ffcc6290394,98666630,0,0x0,8
tick,0x7ffcc6290394,98682729,0,0x0,8
tick,0x7ffcc6290394,98697841,0,0x0,8
tick,0x7ffcc6290394,98713556,0,0x0,8
tick,0x7ffcc6290394,98729078,0,0x0,8
tick,0x7ffcc6290394,98744441,0,0x0,8
tick,0x7ffcc6290394,98760233,0,0x0,8
tick,0x7ffcc6290394,98776154,0,0x0,8
tick,0x7ffcc6290394,98791989,0,0x0,8
tick,0x7ffcc6290394,98807652,0,0x0,8
tick,0x7ffcc6290394,98823264,0,0x0,8
tick,0x7ffcc6290394,98838989,0,0x0,8
tick,0x7ffcc6290394,98854070,0,0x0,8
tick,0x7ffcc6290394,98869593,0,0x0,8
tick,0x7ffcc6290394,98886077,0,0x0,8
tick,0x7ffcc6290394,98900876,0,0x0,8
tick,0x7ffcc6290394,98916249,0,0x0,8
tick,0x7ffcc6290394,98931191,0,0x0,8
tick,0x7ffcc6290394,98946481,0,0x0,8
tick,0x7ffcc6290394,98961646,0,0x0,8
tick,0x7ffcc6290394,98977476,0,0x0,8
tick,0x7ffcc6290394,98992765,0,0x0,8
tick,0x7ffcc6290394,99008354,0,0x0,8
tick,0x7ffcc6290394,99023779,0,0x0,8
tick,0x7ffcc6290394,99039647,0,0x0,8
tick,0x7ffcc6290394,99054895,0,0x0,8
tick,0x7ffcc6290394,99070857,0,0x0,8
tick,0x7ffcc6290394,99086663,0,0x0,8
tick,0x7ffcc6290394,99102863,0,0x0,8
tick,0x7ffcc6290394,99119037,0,0x0,8
tick,0x7ffcc6290394,99134935,0,0x0,8
tick,0x7ffcc6290394,99149982,0,0x0,8
tick,0x7ffcc6290394,99164657,0,0x0,8
tick,0x7ffcc6290394,99180922,0,0x0,8
tick,0x7ffcc6290394,99196757,0,0x0,8
tick,0x7ffcc6290394,99212350,0,0x0,8
tick,0x7ffcc6290394,99227652,0,0x0,8
tick,0x7ffcc6290394,99242890,0,0x0,8
tick,0x7ffcc6290394,99258117,0,0x0,8
tick,0x7ffcc6290394,99273596,0,0x0,8
tick,0x7ffcc6290394,99289039,0,0x0,8
tick,0x7ffcc6290394,99304954,0,0x0,8
tick,0x7ffcc6290394,99321066,0,0x0,8
tick,0x7ffcc6290394,99336073,0,0x0,8
tick,0x7ffcc6290394,99352215,0,0x0,8
tick,0x7ffcc6290394,99367833,0,0x0,8
tick,0x7ffcc6290394,99383929,0,0x0,8
tick,0x7ffcc6290394,99399574,0,0x0,8
tick,0x7ffcc6290394,99414606,0,0x0,8
tick,0x7ffcc6290394,99430377,0,0x0,8
tick,0x7ffcc6290394,99446098,0,0x0,8
tick,0x7ffcc6290394,99461206,0,0x0,8
tick,0x7ffcc6290394,99477061,0,0x0,8
tick,0x7ffcc6290394,99492871,0,0x0,8
tick,0x7ffcc6290394,99508652,0,0x0,8
tick,0x7ffcc6290394,99524211,0,0x0,8
tick,0x7ffcc6290394,99540007,0,0x0,8
tick,0x7ffcc6290394,99555228,0,0x0,8
tick,0x7ffcc6290394,99571160,0,0x0,8
tick,0x7ffcc6290394,99587076,0,0x0,8
tick,0x7ffcc6290394,99603088,0,0x0,8
tick,0x7ffcc6290394,99617850,0,0x0,8
tick,0x7ffcc6290394,99633412,0,0x0,8
tick,0x7ffcc6290394,99648807,0,0x0,8
tick,0x7ffcc6290394,99663974,0,0x0,8
tick,0x7ffcc6290394,99679180,0,0x0,8
tick,0x7ffcc6290394,99694946,0,0x0,8
tick,0x7ffcc6290394,99710480,0,0x0,8
tick,0x7ffcc6290394,99725665,0,0x0,8
tick,0x7ffcc6290394,99741711,0,0x0,8
tick,0x7ffcc6290394,99757476,0,0x0,8
tick,0x7ffcc6290394,99774197,0,0x0,8
tick,0x7ffcc6290394,99788003,0,0x0,8
tick,0x7ffcc6290394,99803824,0,0x0,8
tick,0x7ffcc6290394,99818763,0,0x0,8
tick,0x7ffcc6290394,99834836,0,0x0,8
tick,0x7ffcc6290394,99850537,0,0x0,8
tick,0x7ffcc6290394,99865668,0,0x0,8
tick,0x7ffcc6290394,99881495,0,0x0,8
tick,0x7ffcc6290394,99896627,0,0x0,8
tick,0x7ffcc6290394,99912755,0,0x0,8
tick,0x7ffcc6290394,99928063,0,0x0,8
tick,0x7ffcc6290394,99943630,0,0x0,8
tick,0x7ffcc6290394,99959370,0,0x0,8
tick,0x7ffcc6290394,99974994,0,0x0,8
tick,0x7ffcc6290394,99990440,0,0x0,8
tick,0x7ffcc6290394,100006367,0,0x0,8
tick,0x7ffcc6290394,100021888,0,0x0,8
tick,0x7ffcc6290394,100036903,0,0x0,8
tick,0x7ffcc6290394,100052347,0,0x0,8
tick,0x7ffcc6290394,100068152,0,0x0,8
tick,0x7ffcc6290394,100083789,0,0x0,8
tick,0x7ffcc6290394,100099590,0,0x0,8
tick,0x7ffcc6290394,100115001,0,0x0,8
tick,0x7ffcc6290394,100130505,0,0x0,8
tick,0x7ffcc6290394,100145772,0,0x0,8
tick,0x7ffcc6290394,100162074,0,0x0,8
tick,0x7ffcc6290394,100177229,0,0x0,8
tick,0x7ffcc6290394,100192539,0,0x0,8
tick,0x7ffcc6290394,100207813,0,0x0,8
tick,0x7ffcc6290394,100223511,0,0x0,8
tick,0x7ffcc6290394,100238759,0,0x0,8
tick,0x7ffcc6290394,100254161,0,0x0,8
tick,0x7ffcc6290394,100269261,0,0x0,8
tick,0x7ffcc6290394,100285283,0,0x0,8
tick,0x7ffcc6290394,100301366,0,0x0,8
tick,0x7ffcc6290394,100316874,0,0x0,8
tick,0x7ffcc6290394,100333088,0,0x0,8
tick,0x7ffcc6290394,100348008,0,0x0,8
tick,0x7ffcc6290394,100363531,0,0x0,8
tick,0x7ffcc6290394,100378461,0,0x0,8
tick,0x7ffcc6290394,100393917,0,0x0,8
tick,0x7ffcc6290394,100409739,0,0x0,8
tick,0x7ffcc6290394,100425112,0,0x0,8
tick,0x7ffcc6290394,100440999,0,0x0,8
tick,0x7ffcc6290394,100456914,0,0x0,8
tick,0x7ffcc6290394,100471851,0,0x0,8
tick,0x7ffcc6290394,100487163,0,0x0,8
tick,0x7ffcc6290394,100503277,0,0x0,8
tick,0x7ffcc6290394,100518725,0,0x0,8
tick,0x7ffcc6290394,100534458,0,0x0,8
tick,0x7ffcc6290394,100550421,0,0x0,8
tick,0x7ffcc6290394,100566518,0,0x0,8
tick,0x7ffcc6290394,100582512,0,0x0,8
tick,0x7ffcc6290394,100598321,0,0x0,8
tick,0x7ffcc6290394,100613424,0,0x0,8
tick,0x7ffcc6290394,100628611,0,0x0,8
tick,0x7ffcc6290394,100643545,0,0x0,8
tick,0x7ffcc6290394,100658774,0,0x0,8
tick,0x7ffcc6290394,100674485,0,0x0,8
tick,0x7ffcc6290394,100690222,0,0x0,8
tick,0x7ffcc6290394,100705668,0,0x0,8
tick,0x7ffcc6290394,100720460,0,0x0,8
tick,0x7ffcc6290394,100736044,0,0x0,8
tick,0x7ffcc6290394,100752119,0,0x0,8
tick,0x7ffcc6290394,100768048,0,0x0,8
tick,0x7ffcc6290394,100784087,0,0x0,8
tick,0x7ffcc6290394,100799286,0,0x0,8
tick,0x7ffcc6290394,100815077,0,0x0,8
tick,0x7ffcc6290394,100831006,0,0x0,8
tick,0x7ffcc6290394,100846323,0,0x0,8
tick,0x7ffcc6290394,100861814,0,0x0,8
tick,0x7ffcc6290394,100877668,0,0x0,8
tick,0x7ffcc6290394,100892723,0,0x0,8
tick,0x7ffcc6290394,100908603,0,0x0,8
tick,0x7ffcc6290394,100923652,0,0x0,8
tick,0x7ffcc6290394,100939072,0,0x0,8
tick,0x7ffcc6290394,100954791,0,0x0,8
tick,0x7ffcc6290394,100970394,0,0x0,8
tick,0x7ffcc6290394,100985914,0,0x0,8
tick,0x7ffcc6290394,101000890,0,0x0,8
tick,0x7ffcc6290394,101017019,0,0x0,8
tick,0x7ffcc6290394,101032659,0,0x0,8
tick,0x7ffcc6290394,101048463,0,0x0,8
tick,0x7ffcc6290394,101064101,0,0x0,8
tick,0x7ffcc6290394,101078872,0,0x0,8
tick,0x7ffcc6290394,101094194,0,0x0,8
tick,0x7ffcc6290394,101109480,0,0x0,8
tick,0x7ffcc6290394,101125314,0,0x0,8
tick,0x7ffcc6290394,101140881,0,0x0,8
tick,0x7ffcc6290394,101156480,0,0x0,8
tick,0x7ffcc6290394,101172214,0,0x0,8
tick,0x7ffcc6290394,101187972,0,0x0,8
tick,0x7ffcc6290394,101203420,0,0x0,8
tick,0x7ffcc6290394,101219233,0,0x0,8
tick,0x7ffcc6290394,101234371,0,0x0,8
tick,0x7ffcc6290394,101250185,0,0x0,8
tick,0x7ffcc6290394,101265837,0,0x0,8
tick,0x7ffcc6290394,101281470,0,0x0,8
tick,0x7ffcc6290394,101297540,0,0x0,8
tick,0x7ffcc6290394,101313220,0,0x0,8
tick,0x7ffcc6290394,101327993,0,0x0,8
tick,0x7ffcc6290394,101343323,0,0x0,8
tick,0x7ffcc6290394,101358249,0,0x0,8
tick,0x7ffcc6290394,101373682,0,0x0,8
tick,0x7ffcc6290394,101389878,0,0x0,8
tick,0x7ffcc6290394,101404186,0,0x0,8
tick,0x7ffcc6290394,101419511,0,0x0,8
tick,0x7ffcc6290394,101435396,0,0x0,8
tick,0x7ffcc6290394,101450510,0,0x0,8
tick,0x7ffcc6290394,101465734,0,0x0,8
tick,0x7ffcc6290394,101480703,0,0x0,8
tick,0x7ffcc6290394,101496306,0,0x0,8
tick,0x7ffcc6290394,101511569,0,0x0,8
tick,0x7ffcc6290394,101527236,0,0x0,8
tick,0x7ffcc6290394,101542909,0,0x0,8
tick,0x7ffcc6290394,101558923,0,0x0,8
tick,0x7ffcc6290394,101574476,0,0x0,8
tick,0x7ffcc6290394,101590266,0,0x0,8
tick,0x7ffcc6290394,101604754,0,0x0,8
tick,0x7ffcc6290394,101620427,0,0x0,8
tick,0x7ffcc6290394,101635550,0,0x0,8
tick,0x7ffcc6290394,101651280,0,0x0,8
tick,0x7ffcc6290394,101666805,0,0x0,8
tick,0x7ffcc6290394,101681965,0,0x0,8
tick,0x7ffcc6290394,101697542,0,0x0,8
tick,0x7ffcc6290394,101712704,0,0x0,8
tick,0x7ffcc6290394,101728580,0,0x0,8
tick,0x7ffcc6290394,101744019,0,0x0,8
tick,0x7ffcc6290394,101759120,0,0x0,8
tick,0x7ffcc6290394,101774661,0,0x0,8
tick,0x7ffcc6290394,101790511,0,0x0,8
tick,0x7ffcc6290394,101805888,0,0x0,8
tick,0x7ffcc6290394,101821804,0,0x0,8
tick,0x7ffcc6290394,101836608,0,0x0,8
tick,0x7ffcc6290394,101852645,0,0x0,8
tick,0x7ffcc6290394,101868603,0,0x0,8
tick,0x7ffcc6290394,101884196,0,0x0,8
tick,0x7ffcc6290394,101901362,0,0x0,8
tick,0x7ffcc6290394,101915518,0,0x0,8
tick,0x7ffcc6290394,101931584,0,0x0,8
tick,0x7ffcc6290394,101946700,0,0x0,8
tick,0x7ffcc6290394,101962873,0,0x0,8
tick,0x7ffcc6290394,101978019,0,0x0,8
tick,0x7ffcc6290394,101993863,0,0x0,8
tick,0x7ffcc6290394,102009179,0,0x0,8
tick,0x7ffcc6290394,102024796,0,0x0,8
tick,0x7ffcc6290394,102040191,0,0x0,8
tick,0x7ffcc6290394,102055875,0,0x0,8
tick,0x7ffcc6290394,102071751,0,0x0,8
tick,0x7ffcc6290394,102086785,0,0x0,8
tick,0x7ffcc6290394,102101922,0,0x0,8
tick,0x7ffcc6290394,102116895,0,0x0,8
tick,0x7ffcc6290394,102132431,0,0x0,8
tick,0x7ffcc6290394,102147894,0,0x0,8
tick,0x7ffcc6290394,102163396,0,0x0,8
tick,0x7ffcc6290394,102178419,0,0x0,8
tick,0x7ffcc6290394,102193934,0,0x0,8
tick,0x7ffcc6290394,102209308,0,0x0,8
tick,0x7ffcc6290394,102224691,0,0x0,8
tick,0x7ffcc6290394,102240570,0,0x0,8
tick,0x7ffcc6290394,102256351,0,0x0,8
tick,0x7ffcc6290394,102272115,0,0x0,8
tick,0x7ffcc6290394,102287549,0,0x0,8
tick,0x7ffcc6290394,102303432,0,0x0,8
tick,0x7ffcc6290394,102318830,0,0x0,8
tick,0x7ffcc6290394,102334739,0,0x0,8
tick,0x7ffcc6290394,102350255,0,0x0,8
tick,0x7ffcc6290394,102365255,0,0x0,8
tick,0x7ffcc6290394,102380698,0,0x0,8
tick,0x7ffcc6290394,102396427,0,0x0,8
tick,0x7ffcc6290394,102412232,0,0x0,8
tick,0x7ffcc6290394,102427905,0,0x0,8
tick,0x7ffcc6290394,102443571,0,0x0,8
tick,0x7ffcc6290394,102458982,0,0x0,8
tick,0x7ffcc6290394,102474936,0,0x0,8
tick,0x7ffcc6290394,102490770,0,0x0,8
tick,0x7ffcc6290394,102506234,0,0x0,8
tick,0x7ffcc6290394,102521829,0,0x0,8
tick,0x7ffcc6290394,102537757,0,0x0,8
tick,0x7ffcc6290394,102553128,0,0x0,8
tick,0x7ffcc6290394,102569204,0,0x0,8
tick,0x7ffcc6290394,102584342,0,0x0,8
tick,0x7ffcc6290394,102599993,0,0x0,8
tick,0x7ffcc6290394,102615077,0,0x0,8
tick,0x7ffcc6290394,102630943,0,0x0,8
tick,0x7ffcc6290394,102646363,0,0x0,8
tick,0x7ffcc6290394,102661686,0,0x0,8
tick,0x7ffcc6290394,102676841,0,0x0,8
tick,0x7ffcc6290394,102692553,0,0x0,8
tick,0x7ffcc6290394,102708376,0,0x0,8
tick,0x7ffcc6290394,102724194,0,0x0,8
tick,0x7ffcc6290394,102739761,0,0x0,8
tick,0x7ffcc6290394,102755198,0,0x0,8
tick,0x7ffcc6290394,102771048,0,0x0,8
tick,0x7ffcc6290394,102786896,0,0x0,8
tick,0x7ffcc6290394,102802455,0,0x0,8
tick,0x7ffcc6290394,102818191,0,0x0,8
tick,0x7ffcc6290394,102834173,0,0x0,8
tick,0x7ffcc6290394,102850211,0,0x0,8
tick,0x7ffcc6290394,102865455,0,0x0,8
tick,0x7ffcc6290394,102880846,0,0x0,8
tick,0x7ffcc6290394,102896133,0,0x0,8
tick,0x7ffcc6290394,102911865,0,0x0,8
tick,0x7ffcc6290394,102927514,0,0x0,8
tick,0x7ffcc6290394,102943549,0,0x0,8
tick,0x7ffcc6290394,102958530,0,0x0,8
tick,0x7ffcc6290394,102974437,0,0x0,8
tick,0x7ffcc6290394,102989980,0,0x0,8
tick,0x7ffcc6290394,103005894,0,0x0,8
tick,0x7ffcc6290394,103021921,0,0x0,8
tick,0x7ffcc6290394,103037300,0,0x0,8
tick,0x7ffcc6290394,103053240,0,0x0,8
tick,0x7ffcc6290394,103068914,0,0x0,8
tick,0x7ffcc6290394,103083955,0,0x0,8
tick,0x7ffcc6290394,103099430,0,0x0,8
tick,0x7ffcc6290394,103115651,0,0x0,8
tick,0x7ffcc6290394,103130340,0,0x0,8
tick,0x7ffcc6290394,103145516,0,0x0,8
tick,0x7ffcc6290394,103161159,0,0x0,8
tick,0x7ffcc6290394,103176753,0,0x0,8
tick,0x7ffcc6290394,103192665,0,0x0,8
tick,0x7ffcc6290394,103207949,0,0x0,8
tick,0x7ffcc6290394,103223389,0,0x0,8
tick,0x7ffcc6290394,103238864,0,0x0,8
tick,0x7ffcc6290394,103255024,0,0x0,8
tick,0x7ffcc6290394,103270644,0,0x0,8
tick,0x7ffcc6290394,103286436,0,0x0,8
tick,0x7ffcc6290394,103302052,0,0x0,8
tick,0x7ffcc6290394,103317416,0,0x0,8
tick,0x7ffcc6290394,103333483,0,0x0,8
tick,0x7ffcc6290394,103348650,0,0x0,8
tick,0x7ffcc6290394,103364290,0,0x0,8
tick,0x7ffcc6290394,103380080,0,0x0,8
tick,0x7ffcc6290394,103394868,0,0x0,8
tick,0x7ffcc6290394,103409906,0,0x0,8
tick,0x7ffcc6290394,103425008,0,0x0,8
tick,0x7ffcc6290394,103440958,0,0x0,8
tick,0x7ffcc6290394,103456566,0,0x0,8
tick,0x7ffcc6290394,103472326,0,0x0,8
tick,0x7ffcc6290394,103488114,0,0x0,8
tick,0x7ffcc6290394,103504404,0,0x0,8
tick,0x7ffcc6290394,103520104,0,0x0,8
tick,0x7ffcc6290394,103535070,0,0x0,8
tick,0x7ffcc6290394,103551143,0,0x0,8
tick,0x7ffcc6290394,103565904,0,0x0,8
tick,0x7ffcc6290394,103582084,0,0x0,8
tick,0x7ffcc6290394,103597763,0,0x0,8
tick,0x7ffcc6290394,103613216,0,0x0,8
tick,0x7ffcc6290394,103628348,0,0x0,8
tick,0x7ffcc6290394,103643533,0,0x0,8
tick,0x7ffcc6290394,103659221,0,0x0,8
tick,0x7ffcc6290394,103674672,0,0x0,8
tick,0x7ffcc6290394,103690001,0,0x0,8
tick,0x7ffcc6290394,103705272,0,0x0,8
tick,0x7ffcc6290394,103720870,0,0x0,8
tick,0x7ffcc6290394,103735952,0,0x0,8
tick,0x7ffcc6290394,103752332,0,0x0,8
tick,0x7ffcc6290394,103767481,0,0x0,8
tick,0x7ffcc6290394,103783668,0,0x0,8
tick,0x7ffcc6290394,103799038,0,0x0,8
tick,0x7ffcc6290394,103814340,0,0x0,8
tick,0x7ffcc6290394,103829626,0,0x0,8
tick,0x7ffcc6290394,103845459,0,0x0,8
tick,0x7ffcc6290394,103861092,0,0x0,8
tick,0x7ffcc6290394,103876985,0,0x0,8
tick,0x7ffcc6290394,103892490,0,0x0,8
tick,0x7ffcc6290394,103908199,0,0x0,8
tick,0x7ffcc6290394,103924161,0,0x0,8
tick,0x7ffcc6290394,103939192,0,0x0,8
tick,0x7ffcc6290394,103954577,0,0x0,8
tick,0x7ffcc6290394,103969794,0,0x0,8
tick,0x7ffcc6290394,103986620,0,0x0,8
tick,0x7ffcc6290394,104001452,0,0x0,8
tick,0x7ffcc6290394,104016782,0,0x0,8
tick,0x7ffcc6290394,104032885,0,0x0,8
tick,0x7ffcc6290394,104048290,0,0x0,8
tick,0x7ffcc6290394,104064167,0,0x0,8
tick,0x7ffcc6290394,104080039,0,0x0,8
tick,0x7ffcc6290394,104095456,0,0x0,8
tick,0x7ffcc6290394,104110387,0,0x0,8
tick,0x7ffcc6290394,104126390,0,0x0,8
tick,0x7ffcc6290394,104141742,0,0x0,8
tick,0x7ffcc6290394,104157844,0,0x0,8
tick,0x7ffcc6290394,104173424,0,0x0,8
tick,0x7ffcc6290394,104189112,0,0x0,8
tick,0x7ffcc6290394,104204405,0,0x0,8
tick,0x7ffcc6290394,104220068,0,0x0,8
tick,0x7ffcc6290394,104235551,0,0x0,8
tick,0x7ffcc6290394,104251363,0,0x0,8
tick,0x7ffcc6290394,104266813,0,0x0,8
tick,0x7ffcc6290394,104282240,0,0x0,8
tick,0x7ffcc6290394,104298108,0,0x0,8
tick,0x7ffcc6290394,104314000,0,0x0,8
tick,0x7ffcc6290394,104329511,0,0x0,8
tick,0x7ffcc6290394,104345588,0,0x0,8
tick,0x7ffcc6290394,104360727,0,0x0,8
tick,0x7ffcc6290394,104376527,0,0x0,8
tick,0x7ffcc6290394,104392561,0,0x0,8
tick,0x7ffcc6290394,104408195,0,0x0,8
tick,0x7ffcc6290394,104423680,0,0x0,8
tick,0x7ffcc6290394,104439429,0,0x0,8
tick,0x7ffcc6290394,104454952,0,0x0,8
tick,0x7ffcc6290394,104470313,0,0x0,8
tick,0x7ffcc6290394,104485718,0,0x0,8
tick,0x7ffcc6290394,104501145,0,0x0,8
tick,0x7ffcc6290394,104516825,0,0x0,8
tick,0x7ffcc6290394,104532727,0,0x0,8
tick,0x7ffcc6290394,104548483,0,0x0,8
tick,0x7ffcc6290394,104563351,0,0x0,8
tick,0x7ffcc6290394,104578827,0,0x0,8
tick,0x7ffcc6290394,104594608,0,0x0,8
tick,0x7ffcc6290394,104610061,0,0x0,8
tick,0x7ffcc6290394,104625571,0,0x0,8
tick,0x7ffcc6290394,104641165,0,0x0,8
tick,0x7ffcc6290394,104657116,0,0x0,8
tick,0x7ffcc6290394,104672766,0,0x0,8
tick,0x7ffcc6290394,104688839,0,0x0,8
tick,0x7ffcc6290394,104703512,0,0x0,8
tick,0x7ffcc6290394,104718669,0,0x0,8
tick,0x7ffcc6290394,104734541,0,0x0,8
tick,0x7ffcc6290394,104749971,0,0x0,8
tick,0x7ffcc6290394,104765346,0,0x0,8
tick,0x7ffcc6290394,104780573,0,0x0,8
tick,0x7ffcc6290394,104796230,0,0x0,8
tick,0x7ffcc6290394,104811432,0,0x0,8
tick,0x7ffcc6290394,104826564,0,0x0,8
tick,0x7ffcc6290394,104842136,0,0x0,8
tick,0x7ffcc6290394,104857397,0,0x0,8
tick,0x7ffcc6290394,104873156,0,0x0,8
tick,0x7ffcc6290394,104888460,0,0x0,8
tick,0x7ffcc6290394,104904592,0,0x0,8
tick,0x7ffcc6290394,104920084,0,0x0,8
tick,0x7ffcc6290394,104936190,0,0x0,8
tick,0x7ffcc6290394,104952194,0,0x0,8
tick,0x7ffcc6290394,104968178,0,0x0,8
tick,0x7ffcc6290394,104983265,0,0x0,8
tick,0x7ffcc6290394,104998685,0,0x0,8
tick,0x7ffcc6290394,105014151,0,0x0,8
tick,0x7ffcc6290394,105029457,0,0x0,8
tick,0x7ffcc6290394,105044841,0,0x0,8
tick,0x7ffcc6290394,105061031,0,0x0,8
tick,0x7ffcc6290394,105076614,0,0x0,8
tick,0x7ffcc6290394,105092620,0,0x0,8
tick,0x7ffcc6290394,105108138,0,0x0,8
tick,0x7ffcc6290394,105124097,0,0x0,8
tick,0x7ffcc6290394,105139325,0,0x0,8
tick,0x7ffcc6290394,105154703,0,0x0,8
tick,0x7ffcc6290394,105169939,0,0x0,8
tick,0x7ffcc6290394,105185181,0,0x0,8
tick,0x7ffcc6290394,105200136,0,0x0,8
tick,0x7ffcc6290394,105216016,0,0x0,8
tick,0x7ffcc6290394,105232005,0,0x0,8
tick,0x7ffcc6290394,105247598,0,0x0,8
tick,0x7ffcc6290394,105262687,0,0x0,8
tick,0x7ffcc6290394,105278258,0,0x0,8
tick,0x7ffcc6290394,105293466,0,0x0,8
tick,0x7ffcc6290394,105308966,0,0x0,8
tick,0x7ffcc6290394,105324439,0,0x0,8
tick,0x7ffcc6290394,105340083,0,0x0,8
tick,0x7ffcc6290394,105355901,0,0x0,8
tick,0x7ffcc6290394,105372003,0,0x0,8
tick,0x7ffcc6290394,105387143,0,0x0,8
tick,0x7ffcc6290394,105403085,0,0x0,8
tick,0x7ffcc6290394,105418833,0,0x0,8
tick,0x7ffcc6290394,105434291,0,0x0,8
tick,0x7ffcc6290394,105449540,0,0x0,8
tick,0x7ffcc6290394,105465427,0,0x0,8
tick,0x7ffcc6290394,105480911,0,0x0,8
tick,0x7ffcc6290394,105496837,0,0x0,8
tick,0x7ffcc6290394,105512312,0,0x0,8
tick,0x7ffcc6290394,105527330,0,0x0,8
tick,0x7ffcc6290394,105543511,0,0x0,8
tick,0x7ffcc6290394,105559465,0,0x0,8
tick,0x7ffcc6290394,105575372,0,0x0,8
tick,0x7ffcc6290394,105590723,0,0x0,8
tick,0x7ffcc6290394,105606399,0,0x0,8
tick,0x7ffcc6290394,105621892,0,0x0,8
tick,0x7ffcc6290394,105637556,0,0x0,8
tick,0x7ffcc6290394,105653357,0,0x0,8
tick,0x7ffcc6290394,105669245,0,0x0,8
tick,0x7ffcc6290394,105684712,0,0x0,8
tick,0x7ffcc6290394,105700559,0,0x0,8
tick,0x7ffcc6290394,105716535,0,0x0,8
tick,0x7ffcc6290394,105731609,0,0x0,8
tick,0x7ffcc6290394,105746971,0,0x0,8
tick,0x7ffcc6290394,105762557,0,0x0,8
tick,0x7ffcc6290394,105778513,0,0x0,8
tick,0x7ffcc6290394,105793972,0,0x0,8
tick,0x7ffcc6290394,105809300,0,0x0,8
tick,0x7ffcc6290394,105824403,0,0x0,8
tick,0x7ffcc6290394,105840408,0,0x0,8
tick,0x7ffcc6290394,105855374,0,0x0,8
tick,0x7ffcc6290394,105870450,0,0x0,8
tick,0x7ffcc6290394,105886292,0,0x0,8
tick,0x7ffcc6290394,105902159,0,0x0,8
tick,0x7ffcc6290394,105917259,0,0x0,8
tick,0x7ffcc6290394,105932293,0,0x0,8
tick,0x7ffcc6290394,105947255,0,0x0,8
tick,0x7ffcc6290394,105962988,0,0x0,8
tick,0x7ffcc6290394,105978483,0,0x0,8
tick,0x7ffcc6290394,105994530,0,0x0,8
tick,0x7ffcc6290394,106010141,0,0x0,8
tick,0x7ffcc6290394,106026184,0,0x0,8
tick,0x7ffcc6290394,106042357,0,0x0,8
tick,0x7ffcc6290394,106057941,0,0x0,8
tick,0x7ffcc6290394,106073841,0,0x0,8
tick,0x7ffcc6290394,106089518,0,0x0,8
tick,0x7ffcc6290394,106105147,0,0x0,8
tick,0x7ffcc6290394,106120309,0,0x0,8
tick,0x7ffcc6290394,106136133,0,0x0,8
tick,0x7ffcc6290394,106152155,0,0x0,8
tick,0x7ffcc6290394,106167796,0,0x0,8
tick,0x7ffcc6290394,106182964,0,0x0,8
tick,0x7ffcc6290394,106198495,0,0x0,8
tick,0x7ffcc6290394,106214381,0,0x0,8
tick,0x7ffcc6290394,106230092,0,0x0,8
tick,0x7ffcc6290394,106246116,0,0x0,8
tick,0x7ffcc6290394,106261419,0,0x0,8
tick,0x7ffcc6290394,106276802,0,0x0,8
tick,0x7ffcc6290394,106291837,0,0x0,8
tick,0x7ffcc6290394,106307243,0,0x0,8
tick,0x7ffcc6290394,106322711,0,0x0,8
tick,0x7ffcc6290394,106338411,0,0x0,8
tick,0x7ffcc6290394,106353689,0,0x0,8
tick,0x7ffcc6290394,106369367,0,0x0,8
tick,0x7ffcc6290394,106384627,0,0x0,8
tick,0x7ffcc6290394,106400324,0,0x0,8
tick,0x7ffcc6290394,106415416,0,0x0,8
tick,0x7ffcc6290394,106430980,0,0x0,8
tick,0x7ffcc6290394,106446338,0,0x0,8
tick,0x7ffcc6290394,106462058,0,0x0,8
tick,0x7ffcc6290394,106477299,0,0x0,8
tick,0x7ffcc6290394,106492989,0,0x0,8
tick,0x7ffcc6290394,106508224,0,0x0,8
tick,0x7ffcc6290394,106524143,0,0x0,8
tick,0x7ffcc6290394,106539735,0,0x0,8
tick,0x7ffcc6290394,106555644,0,0x0,8
tick,0x7ffcc6290394,106571467,0,0x0,8
tick,0x7ffcc6290394,106587103,0,0x0,8
tick,0x7ffcc6290394,106602395,0,0x0,8
tick,0x7ffcc6290394,106617580,0,0x0,8
tick,0x7ffcc6290394,106633520,0,0x0,8
tick,0x7ffcc6290394,106649582,0,0x0,8
tick,0x7ffcc6290394,106664848,0,0x0,8
tick,0x7ffcc6290394,106680141,0,0x0,8
tick,0x7ffcc6290394,106695266,0,0x0,8
tick,0x7ffcc6290394,106711132,0,0x0,8
tick,0x7ffcc6290394,106726719,0,0x0,8
tick,0x7ffcc6290394,106741992,0,0x0,8
tick,0x7ffcc6290394,106757840,0,0x0,8
tick,0x7ffcc6290394,106772992,0,0x0,8
tick,0x7ffcc6290394,106788748,0,0x0,8
tick,0x7ffcc6290394,106804027,0,0x0,8
tick,0x7ffcc6290394,106819462,0,0x0,8
tick,0x7ffcc6290394,106834961,0,0x0,8
tick,0x7ffcc6290394,106850173,0,0x0,8
tick,0x7ffcc6290394,106866127,0,0x0,8
tick,0x7ffcc6290394,106882350,0,0x0,8
tick,0x7ffcc6290394,106897412,0,0x0,8
tick,0x7ffcc6290394,106913301,0,0x0,8
tick,0x7ffcc6290394,106928742,0,0x0,8
tick,0x7ffcc6290394,106944162,0,0x0,8
tick,0x7ffcc6290394,106959930,0,0x0,8
tick,0x7ffcc6290394,106976075,0,0x0,8
tick,0x7ffcc6290394,106991742,0,0x0,8
tick,0x7ffcc6290394,107007671,0,0x0,8
tick,0x7ffcc6290394,107023350,0,0x0,8
tick,0x7ffcc6290394,107039463,0,0x0,8
tick,0x7ffcc6290394,107055095,0,0x0,8
tick,0x7ffcc6290394,107070545,0,0x0,8
tick,0x7ffcc6290394,107086300,0,0x0,8
tick,0x7ffcc6290394,107101895,0,0x0,8
tick,0x7ffcc6290394,107116963,0,0x0,8
tick,0x7ffcc6290394,107132028,0,0x0,8
tick,0x7ffcc6290394,107147415,0,0x0,8
tick,0x7ffcc6290394,107162938,0,0x0,8
tick,0x7ffcc6290394,107178267,0,0x0,8
tick,0x7ffcc6290394,107193432,0,0x0,8
tick,0x7ffcc6290394,107208598,0,0x0,8
tick,0x7ffcc6290394,107224460,0,0x0,8
tick,0x7ffcc6290394,107240508,0,0x0,8
tick,0x7ffcc6290394,107256580,0,0x0,8
tick,0x7ffcc6290394,107272512,0,0x0,8
tick,0x7ffcc6290394,107287826,0,0x0,8
tick,0x7ffcc6290394,107303667,0,0x0,8
tick,0x7ffcc6290394,107319441,0,0x0,8
tick,0x7ffcc6290394,107335479,0,0x0,8
tick,0x7ffcc6290394,107350662,0,0x0,8
tick,0x7ffcc6290394,107365950,0,0x0,8
tick,0x7ffcc6290394,107380961,0,0x0,8
tick,0x7ffcc6290394,107396334,0,0x0,8
tick,0x7ffcc6290394,107412240,0,0x0,8
tick,0x7ffcc6290394,107427414,0,0x0,8
tick,0x7ffcc6290394,107443278,0,0x0,8
tick,0x7ffcc6290394,107459143,0,0x0,8
tick,0x7ffcc6290394,107474746,0,0x0,8
tick,0x7ffcc6290394,107490332,0,0x0,8
tick,0x7ffcc6290394,107506212,0,0x0,8
tick,0x7ffcc6290394,107521854,0,0x0,8
tick,0x7ffcc6290394,107537433,0,0x0,8
tick,0x7ffcc6290394,107553237,0,0x0,8
tick,0x7ffcc6290394,107569325,0,0x0,8
tick,0x7ffcc6290394,107584961,0,0x0,8
tick,0x7ffcc6290394,107600413,0,0x0,8
tick,0x7ffcc6290394,107615662,0,0x0,8
tick,0x7ffcc6290394,107630795,0,0x0,8
tick,0x7ffcc6290394,107646702,0,0x0,8
tick,0x7ffcc6290394,107661574,0,0x0,8
tick,0x7ffcc6290394,107676935,0,0x0,8
tick,0x7ffcc6290394,107693049,0,0x0,8
tick,0x7ffcc6290394,107708968,0,0x0,8
tick,0x7ffcc6290394,107725035,0,0x0,8
tick,0x7ffcc6290394,107740952,0,0x0,8
tick,0x7ffcc6290394,107756329,0,0x0,8
tick,0x7ffcc6290394,107772380,0,0x0,8
tick,0x7ffcc6290394,107787838,0,0x0,8
tick,0x7ffcc6290394,107802746,0,0x0,8
tick,0x7ffcc6290394,107818431,0,0x0,8
tick,0x7ffcc6290394,107833679,0,0x0,8
tick,0x7ffcc6290394,107849312,0,0x0,8
tick,0x7ffcc6290394,107864981,0,0x0,8
tick,0x7ffcc6290394,107880008,0,0x0,8
tick,0x7ffcc6290394,107895896,0,0x0,8
tick,0x7ffcc6290394,107910892,0,0x0,8
tick,0x7ffcc6290394,107926532,0,0x0,8
tick,0x7ffcc6290394,107941899,0,0x0,8
tick,0x7ffcc6290394,107957538,0,0x0,8
tick,0x7ffcc6290394,107973135,0,0x0,8
tick,0x7ffcc6290394,107989130,0,0x0,8
tick,0x7ffcc6290394,108004755,0,0x0,8
tick,0x7ffcc6290394,108020185,0,0x0,8
tick,0x7ffcc6290394,108035403,0,0x0,8
tick,0x7ffcc6290394,108050693,0,0x0,8
tick,0x7ffcc6290394,108066050,0,0x0,8
tick,0x7ffcc6290394,108081638,0,0x0,8
tick,0x7ffcc6290394,108096837,0,0x0,8
tick,0x7ffcc6290394,108112647,0,0x0,8
tick,0x7ffcc6290394,108128038,0,0x0,8
tick,0x7ffcc6290394,108143779,0,0x0,8
tick,0x7ffcc6290394,108159073,0,0x0,8
tick,0x7ffcc6290394,108174457,0,0x0,8
tick,0x7ffcc6290394,108190608,0,0x0,8
tick,0x7ffcc6290394,108206393,0,0x0,8
tick,0x7ffcc6290394,108222283,0,0x0,8
tick,0x7ffcc6290394,108237913,0,0x0,8
tick,0x7ffcc6290394,108253340,0,0x0,8
tick,0x7ffcc6290394,108269065,0,0x0,8
tick,0x7ffcc6290394,108284233,0,0x0,8
tick,0x7ffcc6290394,108300721,0,0x0,8
tick,0x7ffcc6290394,108316408,0,0x0,8
tick,0x7ffcc6290394,108331109,0,0x0,8
tick,0x7ffcc6290394,108347106,0,0x0,8
tick,0x7ffcc6290394,108362934,0,0x0,8
tick,0x7ffcc6290394,108379003,0,0x0,8
tick,0x7ffcc6290394,108394012,0,0x0,8
tick,0x7ffcc6290394,108409379,0,0x0,8
tick,0x7ffcc6290394,108424989,0,0x0,8
tick,0x7ffcc6290394,108440715,0,0x0,8
tick,0x7ffcc6290394,108456346,0,0x0,8
tick,0x7ffcc6290394,108472163,0,0x0,8
tick,0x7ffcc6290394,108486925,0,0x0,8
tick,0x7ffcc6290394,108502312,0,0x0,8
tick,0x7ffcc6290394,108517544,0,0x0,8
tick,0x7ffcc6290394,108533323,0,0x0,8
tick,0x7ffcc6290394,108548833,0,0x0,8
tick,0x7ffcc6290394,108564804,0,0x0,8
tick,0x7ffcc6290394,108579772,0,0x0,8
tick,0x7ffcc6290394,108595749,0,0x0,8
tick,0x7ffcc6290394,108610763,0,0x0,8
tick,0x7ffcc6290394,108626827,0,0x0,8
tick,0x7ffcc6290394,108642816,0,0x0,8
tick,0x7ffcc6290394,108658413,0,0x0,8
tick,0x7ffcc6290394,108674262,0,0x0,8
tick,0x7ffcc6290394,108689564,0,0x0,8
tick,0x7ffcc6290394,108705339,0,0x0,8
tick,0x7ffcc6290394,108720775,0,0x0,8
tick,0x7ffcc6290394,108736638,0,0x0,8
tick,0x7ffcc6290394,108752179,0,0x0,8
tick,0x7ffcc6290394,108767786,0,0x0,8
tick,0x7ffcc6290394,108782855,0,0x0,8
tick,0x7ffcc6290394,108798402,0,0x0,8
tick,0x7ffcc6290394,108814527,0,0x0,8
tick,0x7ffcc6290394,108830107,0,0x0,8
tick,0x7ffcc6290394,108846142,0,0x0,8
tick,0x7ffcc6290394,108860810,0,0x0,8
tick,0x7ffcc6290394,108876400,0,0x0,8
tick,0x7ffcc6290394,108891557,0,0x0,8
tick,0x7ffcc6290394,108906279,0,0x0,8
tick,0x7ffcc6290394,108921877,0,0x0,8
tick,0x7ffcc6290394,108937577,0,0x0,8
tick,0x7ffcc6290394,108953678,0,0x0,8
tick,0x7ffcc6290394,108969287,0,0x0,8
tick,0x7ffcc6290394,108985023,0,0x0,8
tick,0x7ffcc6290394,109000639,0,0x0,8
tick,0x7ffcc6290394,109016353,0,0x0,8
tick,0x7ffcc6290394,109031582,0,0x0,8
tick,0x7ffcc6290394,109046419,0,0x0,8
tick,0x7ffcc6290394,109061513,0,0x0,8
tick,0x7ffcc6290394,109077795,0,0x0,8
tick,0x7ffcc6290394,109093110,0,0x0,8
tick,0x7ffcc6290394,109108604,0,0x0,8
tick,0x7ffcc6290394,109124413,0,0x0,8
tick,0x7ffcc6290394,109140416,0,0x0,8
tick,0x7ffcc6290394,109156137,0,0x0,8
tick,0x7ffcc6290394,109171155,0,0x0,8
tick,0x7ffcc6290394,109187044,0,0x0,8
tick,0x7ffcc6290394,109202606,0,0x0,8
tick,0x7ffcc6290394,109218066,0,0x0,8
tick,0x7ffcc6290394,109233004,0,0x0,8
tick,0x7ffcc6290394,109248704,0,0x0,8
tick,0x7ffcc6290394,109265256,0,0x0,8
tick,0x7ffcc6290394,109279863,0,0x0,8
tick,0x7ffcc6290394,109302809,0,0x0,8
tick,0x7ffcc6290394,109322171,0,0x0,8
tick,0x7ffcc6290394,109326596,0,0x0,8
tick,0x7ffcc6290394,109341881,0,0x0,8
tick,0x7ffcc6290394,109357650,0,0x0,8
tick,0x7ffcc6290394,109373063,0,0x0,8
tick,0x7ffcc6290394,109388672,0,0x0,8
tick,0x7ffcc6290394,109404580,0,0x0,8
tick,0x7ffcc6290394,109426052,0,0x0,8
tick,0x7ffcc6290394,109435424,0,0x0,8
tick,0x7ffcc6290394,109451391,0,0x0,8
tick,0x7ffcc6290394,109467383,0,0x0,8
tick,0x7ffcc6290394,109482641,0,0x0,8
tick,0x7ffcc6290394,109497770,0,0x0,8
tick,0x7ffcc6290394,109512929,0,0x0,8
tick,0x7ffcc6290394,109528311,0,0x0,8
tick,0x7ffcc6290394,109544199,0,0x0,8
tick,0x7ffcc6290394,109559133,0,0x0,8
tick,0x7ffcc6290394,109574878,0,0x0,8
tick,0x7ffcc6290394,109590218,0,0x0,8
tick,0x7ffcc6290394,109605870,0,0x0,8
tick,0x7ffcc6290394,109621597,0,0x0,8
tick,0x7ffcc6290394,109637208,0,0x0,8
tick,0x7ffcc6290394,109652422,0,0x0,8
tick,0x7ffcc6290394,109668160,0,0x0,8
tick,0x7ffcc6290394,109684221,0,0x0,8
tick,0x7ffcc6290394,109700144,0,0x0,8
tick,0x7ffcc6290394,109716333,0,0x0,8
tick,0x7ffcc6290394,109731087,0,0x0,8
tick,0x7ffcc6290394,109746881,0,0x0,8
tick,0x7ffcc6290394,109762467,0,0x0,8
tick,0x7ffcc6290394,109778128,0,0x0,8
tick,0x7ffcc6290394,109793065,0,0x0,8
tick,0x7ffcc6290394,109809042,0,0x0,8
tick,0x7ffcc6290394,109824394,0,0x0,8
tick,0x7ffcc6290394,109840283,0,0x0,8
tick,0x7ffcc6290394,109855799,0,0x0,8
tick,0x7ffcc6290394,109871708,0,0x0,8
tick,0x7ffcc6290394,109887569,0,0x0,8
tick,0x7ffcc6290394,109902867,0,0x0,8
tick,0x7ffcc6290394,109918310,0,0x0,8
tick,0x7ffcc6290394,109933526,0,0x0,8
tick,0x7ffcc6290394,109948639,0,0x0,8
tick,0x7ffcc6290394,109964810,0,0x0,8
tick,0x7ffcc6290394,109979889,0,0x0,8
tick,0x7ffcc6290394,109995331,0,0x0,8
tick,0x7ffcc6290394,110011322,0,0x0,8
tick,0x7ffcc6290394,110027100,0,0x0,8
tick,0x7ffcc6290394,110042411,0,0x0,8
tick,0x7ffcc6290394,110058166,0,0x0,8
tick,0x7ffcc6290394,110073343,0,0x0,8
tick,0x7ffcc6290394,110088996,0,0x0,8
tick,0x7ffcc6290394,110104993,0,0x0,8
tick,0x7ffcc6290394,110120762,0,0x0,8
tick,0x7ffcc6290394,110136082,0,0x0,8
tick,0x7ffcc6290394,110151459,0,0x0,8
tick,0x7ffcc6290394,110167155,0,0x0,8
tick,0x7ffcc6290394,110182524,0,0x0,8
tick,0x7ffcc6290394,110198499,0,0x0,8
tick,0x7ffcc6290394,110213788,0,0x0,8
tick,0x7ffcc6290394,110229612,0,0x0,8
tick,0x7ffcc6290394,110245504,0,0x0,8
tick,0x7ffcc6290394,110260662,0,0x0,8
tick,0x7ffcc6290394,110275871,0,0x0,8
tick,0x7ffcc6290394,110291633,0,0x0,8
tick,0x7ffcc6290394,110307221,0,0x0,8
tick,0x7ffcc6290394,110322254,0,0x0,8
tick,0x7ffcc6290394,110337867,0,0x0,8
tick,0x7ffcc6290394,110353176,0,0x0,8
tick,0x7ffcc6290394,110368680,0,0x0,8
tick,0x7ffcc6290394,110383928,0,0x0,8
tick,0x7ffcc6290394,110399773,0,0x0,8
tick,0x7ffcc6290394,110415003,0,0x0,8
tick,0x7ffcc6290394,110430353,0,0x0,8
tick,0x7ffcc6290394,110445178,0,0x0,8
tick,0x7ffcc6290394,110460797,0,0x0,8
tick,0x7ffcc6290394,110475588,0,0x0,8
tick,0x7ffcc6290394,110491330,0,0x0,8
tick,0x7ffcc6290394,110506771,0,0x0,8
tick,0x7ffcc6290394,110521870,0,0x0,8
tick,0x7ffcc6290394,110537847,0,0x0,8
tick,0x7ffcc6290394,110553306,0,0x0,8
tick,0x7ffcc6290394,110568941,0,0x0,8
tick,0x7ffcc6290394,110584431,0,0x0,8
tick,0x7ffcc6290394,110600236,0,0x0,8
tick,0x7ffcc6290394,110615606,0,0x0,8
tick,0x7ffcc6290394,110630613,0,0x0,8
tick,0x7ffcc6290394,110646266,0,0x0,8
tick,0x7ffcc6290394,110662306,0,0x0,8
tick,0x7ffcc6290394,110678520,0,0x0,8
tick,0x7ffcc6290394,110693787,0,0x0,8
tick,0x7ffcc6290394,110709452,0,0x0,8
tick,0x7ffcc6290394,110725453,0,0x0,8
tick,0x7ffcc6290394,110740881,0,0x0,8
tick,0x7ffcc6290394,110756805,0,0x0,8
tick,0x7ffcc6290394,110771821,0,0x0,8
tick,0x7ffcc6290394,110787807,0,0x0,8
tick,0x7ffcc6290394,110803724,0,0x0,8
tick,0x7ffcc6290394,110819072,0,0x0,8
tick,0x7ffcc6290394,110834423,0,0x0,8
tick,0x7ffcc6290394,110849298,0,0x0,8
tick,0x7ffcc6290394,110864154,0,0x0,8
tick,0x7ffcc6290394,110879397,0,0x0,8
tick,0x7ffcc6290394,110894747,0,0x0,8
tick,0x7ffcc6290394,110910559,0,0x0,8
tick,0x7ffcc6290394,110926541,0,0x0,8
tick,0x7ffcc6290394,110942100,0,0x0,8
tick,0x7ffcc6290394,110957257,0,0x0,8
tick,0x7ffcc6290394,110973480,0,0x0,8
tick,0x7ffcc6290394,110989075,0,0x0,8
tick,0x7ffcc6290394,111005942,0,0x0,8
tick,0x7ffcc6290394,111021564,0,0x0,8
tick,0x7ffcc6290394,111036819,0,0x0,8
tick,0x7ffcc6290394,111052051,0,0x0,8
tick,0x7ffcc6290394,111067180,0,0x0,8
tick,0x7ffcc6290394,111082566,0,0x0,8
tick,0x7ffcc6290394,111098314,0,0x0,8
tick,0x7ffcc6290394,111114466,0,0x0,8
tick,0x7ffcc6290394,111129206,0,0x0,8
tick,0x7ffcc6290394,111145417,0,0x0,8
tick,0x7ffcc6290394,111160782,0,0x0,8
tick,0x7ffcc6290394,111176400,0,0x0,8
tick,0x7ffcc6290394,111191951,0,0x0,8
tick,0x7ffcc6290394,111206848,0,0x0,8
tick,0x7ffcc6290394,111222489,0,0x0,8
tick,0x7ffcc6290394,111238102,0,0x0,8
tick,0x7ffcc6290394,111253934,0,0x0,8
tick,0x7ffcc6290394,111270035,0,0x0,8
tick,0x7ffcc6290394,111285667,0,0x0,8
tick,0x7ffcc6290394,111301245,0,0x0,8
tick,0x7ffcc6290394,111316409,0,0x0,8
tick,0x7ffcc6290394,111331860,0,0x0,8
tick,0x7ffcc6290394,111347514,0,0x0,8
tick,0x7ffcc6290394,111363098,0,0x0,8
tick,0x7ffcc6290394,111378161,0,0x0,8
tick,0x7ffcc6290394,111393451,0,0x0,8
tick,0x7ffcc6290394,111408686,0,0x0,8
tick,0x7ffcc6290394,111423812,0,0x0,8
tick,0x7ffcc6290394,111439406,0,0x0,8
tick,0x7ffcc6290394,111454684,0,0x0,8
tick,0x7ffcc6290394,111470426,0,0x0,8
tick,0x7ffcc6290394,111486587,0,0x0,8
tick,0x7ffcc6290394,111501789,0,0x0,8
tick,0x7ffcc6290394,111517797,0,0x0,8
tick,0x7ffcc6290394,111533041,0,0x0,8
tick,0x7ffcc6290394,111548657,0,0x0,8
tick,0x7ffcc6290394,111564688,0,0x0,8
tick,0x7ffcc6290394,111580698,0,0x0,8
tick,0x7ffcc6290394,111596215,0,0x0,8
tick,0x7ffcc6290394,111612044,0,0x0,8
tick,0x7ffcc6290394,111627745,0,0x0,8
tick,0x7ffcc6290394,111643721,0,0x0,8
tick,0x7ffcc6290394,111659137,0,0x0,8
tick,0x7ffcc6290394,111674783,0,0x0,8
tick,0x7ffcc6290394,111690634,0,0x0,8
tick,0x7ffcc6290394,111706181,0,0x0,8
tick,0x7ffcc6290394,111721970,0,0x0,8
tick,0x7ffcc6290394,111736915,0,0x0,8
tick,0x7ffcc6290394,111752226,0,0x0,8
tick,0x7ffcc6290394,111767659,0,0x0,8
tick,0x7ffcc6290394,111782901,0,0x0,8
tick,0x7ffcc6290394,111798568,0,0x0,8
tick,0x7ffcc6290394,111813940,0,0x0,8
tick,0x7ffcc6290394,111829204,0,0x0,8
tick,0x7ffcc6290394,111844440,0,0x0,8
tick,0x7ffcc6290394,111860577,0,0x0,8
tick,0x7ffcc6290394,111876618,0,0x0,8
tick,0x7ffcc6290394,111892173,0,0x0,8
tick,0x7ffcc6290394,111907585,0,0x0,8
tick,0x7ffcc6290394,111922896,0,0x0,8
tick,0x7ffcc6290394,111938506,0,0x0,8
tick,0x7ffcc6290394,111954526,0,0x0,8
tick,0x7ffcc6290394,111970235,0,0x0,8
tick,0x7ffcc6290394,111985615,0,0x0,8
tick,0x7ffcc6290394,112001846,0,0x0,8
tick,0x7ffcc6290394,112016836,0,0x0,8
tick,0x7ffcc6290394,112033039,0,0x0,8
tick,0x7ffcc6290394,112048957,0,0x0,8
tick,0x7ffcc6290394,112064595,0,0x0,8
tick,0x7ffcc6290394,112079954,0,0x0,8
tick,0x7ffcc6290394,112095903,0,0x0,8
tick,0x7ffcc6290394,112112296,0,0x0,8
tick,0x7ffcc6290394,112128187,0,0x0,8
tick,0x7ffcc6290394,112144045,0,0x0,8
tick,0x7ffcc6290394,112159092,0,0x0,8
tick,0x7ffcc6290394,112174351,0,0x0,8
tick,0x7ffcc6290394,112190100,0,0x0,8
tick,0x7ffcc6290394,112205603,0,0x0,8
tick,0x7ffcc6290394,112221171,0,0x0,8
tick,0x7ffcc6290394,112236833,0,0x0,8
tick,0x7ffcc6290394,112252702,0,0x0,8
tick,0x7ffcc6290394,112268864,0,0x0,8
tick,0x7ffcc6290394,112283867,0,0x0,8
tick,0x7ffcc6290394,112299776,0,0x0,8
tick,0x7ffcc6290394,112315092,0,0x0,8
tick,0x7ffcc6290394,112331009,0,0x0,8
tick,0x7ffcc6290394,112346674,0,0x0,8
tick,0x7ffcc6290394,112361645,0,0x0,8
tick,0x7ffcc6290394,112378059,0,0x0,8
tick,0x7ffcc6290394,112393059,0,0x0,8
tick,0x7ffcc6290394,112408943,0,0x0,8
tick,0x7ffcc6290394,112424523,0,0x0,8
tick,0x7ffcc6290394,112440289,0,0x0,8
tick,0x7ffcc6290394,112455657,0,0x0,8
tick,0x7ffcc6290394,112470856,0,0x0,8
tick,0x7ffcc6290394,112486570,0,0x0,8
tick,0x7ffcc6290394,112502399,0,0x0,8
tick,0x7ffcc6290394,112518154,0,0x0,8
tick,0x7ffcc6290394,112534230,0,0x0,8
tick,0x7ffcc6290394,112550090,0,0x0,8
tick,0x7ffcc6290394,112565672,0,0x0,8
tick,0x7ffcc6290394,112581495,0,0x0,8
tick,0x7ffcc6290394,112596973,0,0x0,8
tick,0x7ffcc6290394,112612300,0,0x0,8
tick,0x7ffcc6290394,112628067,0,0x0,8
tick,0x7ffcc6290394,112643345,0,0x0,8
tick,0x7ffcc6290394,112659088,0,0x0,8
tick,0x7ffcc6290394,112673707,0,0x0,8
tick,0x7ffcc6290394,112690023,0,0x0,8
tick,0x7ffcc6290394,112705333,0,0x0,8
tick,0x7ffcc6290394,112720413,0,0x0,8
tick,0x7ffcc6290394,112736402,0,0x0,8
tick,0x7ffcc6290394,112751492,0,0x0,8
tick,0x7ffcc6290394,112767415,0,0x0,8
tick,0x7ffcc6290394,112783465,0,0x0,8
tick,0x7ffcc6290394,112798674,0,0x0,8
tick,0x7ffcc6290394,112814133,0,0x0,8
tick,0x7ffcc6290394,112829795,0,0x0,8
tick,0x7ffcc6290394,112845083,0,0x0,8
tick,0x7ffcc6290394,112860788,0,0x0,8
tick,0x7ffcc6290394,112876910,0,0x0,8
tick,0x7ffcc6290394,112892741,0,0x0,8
tick,0x7ffcc6290394,112908201,0,0x0,8
tick,0x7ffcc6290394,112923938,0,0x0,8
tick,0x7ffcc6290394,112961548,0,0x0,8
tick,0x7ffcc6290394,112961614,0,0x0,8
tick,0x7ffcc6290394,112970073,0,0x0,8
tick,0x7ffcc6290394,112985342,0,0x0,8
tick,0x7ffcc6290394,113001212,0,0x0,8
tick,0x7ffcc6290394,113016302,0,0x0,8
tick,0x7ffcc6290394,113031472,0,0x0,8
tick,0x7ffcc6290394,113047154,0,0x0,8
tick,0x7ffcc6290394,113062371,0,0x0,8
tick,0x7ffcc6290394,113078223,0,0x0,8
tick,0x7ffcc6290394,113093344,0,0x0,8
tick,0x7ffcc6290394,113107956,0,0x0,8
tick,0x7ffcc6290394,113123828,0,0x0,8
tick,0x7ffcc6290394,113139047,0,0x0,8
tick,0x7ffcc6290394,113154317,0,0x0,8
tick,0x7ffcc6290394,113169871,0,0x0,8
tick,0x7ffcc6290394,113184978,0,0x0,8
tick,0x7ffcc6290394,113200418,0,0x0,8
tick,0x7ffcc6290394,113216318,0,0x0,8
tick,0x7ffcc6290394,113231897,0,0x0,8
tick,0x7ffcc6290394,113246969,0,0x0,8
tick,0x7ffcc6290394,113262275,0,0x0,8
tick,0x7ffcc6290394,113277848,0,0x0,8
tick,0x7ffcc6290394,113293288,0,0x0,8
tick,0x7ffcc6290394,113308997,0,0x0,8
tick,0x7ffcc6290394,113324694,0,0x0,8
tick,0x7ffcc6290394,113339607,0,0x0,8
tick,0x7ffcc6290394,113355241,0,0x0,8
tick,0x7ffcc6290394,113371329,0,0x0,8
tick,0x7ffcc6290394,113386803,0,0x0,8
tick,0x7ffcc6290394,113402550,0,0x0,8
tick,0x7ffcc6290394,113418681,0,0x0,8
tick,0x7ffcc6290394,113434759,0,0x0,8
tick,0x7ffcc6290394,113450370,0,0x0,8
tick,0x7ffcc6290394,113466105,0,0x0,8
tick,0x7ffcc6290394,113481790,0,0x0,8
tick,0x7ffcc6290394,113497788,0,0x0,8
tick,0x7ffcc6290394,113512928,0,0x0,8
tick,0x7ffcc6290394,113528815,0,0x0,8
tick,0x7ffcc6290394,113544721,0,0x0,8
tick,0x7ffcc6290394,113560166,0,0x0,8
tick,0x7ffcc6290394,113576123,0,0x0,8
tick,0x7ffcc6290394,113591316,0,0x0,8
tick,0x7ffcc6290394,113606455,0,0x0,8
tick,0x7ffcc6290394,113622078,0,0x0,8
tick,0x7ffcc6290394,113638166,0,0x0,8
tick,0x7ffcc6290394,113653437,0,0x0,8
tick,0x7ffcc6290394,113669257,0,0x0,8
tick,0x7ffcc6290394,113685362,0,0x0,8
tick,0x7ffcc6290394,113701265,0,0x0,8
tick,0x7ffcc6290394,113716967,0,0x0,8
tick,0x7ffcc6290394,113732471,0,0x0,8
tick,0x7ffcc6290394,113748432,0,0x0,8
tick,0x7ffcc6290394,113764236,0,0x0,8
tick,0x7ffcc6290394,113779665,0,0x0,8
tick,0x7ffcc6290394,113794727,0,0x0,8
tick,0x7ffcc6290394,113810642,0,0x0,8
tick,0x7ffcc6290394,113825927,0,0x0,8
tick,0x7ffcc6290394,113841673,0,0x0,8
tick,0x7ffcc6290394,113857499,0,0x0,8
tick,0x7ffcc6290394,113873158,0,0x0,8
tick,0x7ffcc6290394,113888891,0,0x0,8
tick,0x7ffcc6290394,113904119,0,0x0,8
tick,0x7ffcc6290394,113920025,0,0x0,8
tick,0x7ffcc6290394,113935252,0,0x0,8
tick,0x7ffcc6290394,113950952,0,0x0,8
tick,0x7ffcc6290394,113966899,0,0x0,8
tick,0x7ffcc6290394,113981913,0,0x0,8
tick,0x7ffcc6290394,113996762,0,0x0,8
tick,0x7ffcc6290394,114012652,0,0x0,8
tick,0x7ffcc6290394,114028341,0,0x0,8
tick,0x7ffcc6290394,114043323,0,0x0,8
tick,0x7ffcc6290394,114058640,0,0x0,8
tick,0x7ffcc6290394,114074436,0,0x0,8
tick,0x7ffcc6290394,114090368,0,0x0,8
tick,0x7ffcc6290394,114105763,0,0x0,8
tick,0x7ffcc6290394,114121124,0,0x0,8
tick,0x7ffcc6290394,114137003,0,0x0,8
tick,0x7ffcc6290394,114152525,0,0x0,8
tick,0x7ffcc6290394,114168783,0,0x0,8
tick,0x7ffcc6290394,114184040,0,0x0,8
tick,0x7ffcc6290394,114199511,0,0x0,8
tick,0x7ffcc6290394,114214668,0,0x0,8
tick,0x7ffcc6290394,114231013,0,0x0,8
tick,0x7ffcc6290394,114246535,0,0x0,8
tick,0x7ffcc6290394,114261050,0,0x0,8
tick,0x7ffcc6290394,114276185,0,0x0,8
tick,0x7ffcc6290394,114291840,0,0x0,8
tick,0x7ffcc6290394,114307552,0,0x0,8
tick,0x7ffcc6290394,114323271,0,0x0,8
tick,0x7ffcc6290394,114339368,0,0x0,8
tick,0x7ffcc6290394,114354326,0,0x0,8
tick,0x7ffcc6290394,114370274,0,0x0,8
tick,0x7ffcc6290394,114386120,0,0x0,8
tick,0x7ffcc6290394,114401436,0,0x0,8
tick,0x7ffcc6290394,114416723,0,0x0,8
tick,0x7ffcc6290394,114432841,0,0x0,8
tick,0x7ffcc6290394,114447850,0,0x0,8
tick,0x7ffcc6290394,114462924,0,0x0,8
tick,0x7ffcc6290394,114478868,0,0x0,8
tick,0x7ffcc6290394,114494842,0,0x0,8
tick,0x7ffcc6290394,114511049,0,0x0,8
tick,0x7ffcc6290394,114526584,0,0x0,8
tick,0x7ffcc6290394,114542453,0,0x0,8
tick,0x7ffcc6290394,114558063,0,0x0,8
tick,0x7ffcc6290394,114574103,0,0x0,8
tick,0x7ffcc6290394,114589888,0,0x0,8
tick,0x7ffcc6290394,114605008,0,0x0,8
tick,0x7ffcc6290394,114621245,0,0x0,8
tick,0x7ffcc6290394,114636329,0,0x0,8
tick,0x7ffcc6290394,114651927,0,0x0,8
tick,0x7ffcc6290394,114668147,0,0x0,8
tick,0x7ffcc6290394,114684088,0,0x0,8
tick,0x7ffcc6290394,114700385,0,0x0,8
tick,0x7ffcc6290394,114715231,0,0x0,8
tick,0x7ffcc6290394,114730428,0,0x0,8
tick,0x7ffcc6290394,114745488,0,0x0,8
tick,0x7ffcc6290394,114761382,0,0x0,8
tick,0x7ffcc6290394,114776739,0,0x0,8
tick,0x7ffcc6290394,114791833,0,0x0,8
tick,0x7ffcc6290394,114807901,0,0x0,8
tick,0x7ffcc6290394,114823953,0,0x0,8
tick,0x7ffcc6290394,114839160,0,0x0,8
tick,0x7ffcc6290394,114854778,0,0x0,8
tick,0x7ffcc6290394,114870369,0,0x0,8
tick,0x7ffcc6290394,114886399,0,0x0,8
tick,0x7ffcc6290394,114901792,0,0x0,8
tick,0x7ffcc6290394,114917946,0,0x0,8
tick,0x7ffcc6290394,114932586,0,0x0,8
tick,0x7ffcc6290394,114948425,0,0x0,8
tick,0x7ffcc6290394,114964098,0,0x0,8
tick,0x7ffcc6290394,114980228,0,0x0,8
tick,0x7ffcc6290394,114996179,0,0x0,8
tick,0x7ffcc6290394,115011052,0,0x0,8
tick,0x7ffcc6290394,115025795,0,0x0,8
tick,0x7ffcc6290394,115041658,0,0x0,8
tick,0x7ffcc6290394,115057589,0,0x0,8
tick,0x7ffcc6290394,115073079,0,0x0,8
tick,0x7ffcc6290394,115089026,0,0x0,8
tick,0x7ffcc6290394,115105084,0,0x0,8
tick,0x7ffcc6290394,115121190,0,0x0,8
tick,0x7ffcc6290394,115136616,0,0x0,8
tick,0x7ffcc6290394,115152149,0,0x0,8
tick,0x7ffcc6290394,115168287,0,0x0,8
tick,0x7ffcc6290394,115183272,0,0x0,8
tick,0x7ffcc6290394,115198852,0,0x0,8
tick,0x7ffcc6290394,115214369,0,0x0,8
tick,0x7ffcc6290394,115228923,0,0x0,8
tick,0x7ffcc6290394,115244858,0,0x0,8
tick,0x7ffcc6290394,115260233,0,0x0,8
tick,0x7ffcc6290394,115275738,0,0x0,8
tick,0x7ffcc6290394,115290616,0,0x0,8
tick,0x7ffcc6290394,115306411,0,0x0,8
tick,0x7ffcc6290394,115321971,0,0x0,8
tick,0x7ffcc6290394,115337961,0,0x0,8
tick,0x7ffcc6290394,115353206,0,0x0,8
tick,0x7ffcc6290394,115369438,0,0x0,8
tick,0x7ffcc6290394,115385520,0,0x0,8
tick,0x7ffcc6290394,115400751,0,0x0,8
tick,0x7ffcc6290394,115416574,0,0x0,8
tick,0x7ffcc6290394,115432275,0,0x0,8
tick,0x7ffcc6290394,115447486,0,0x0,8
tick,0x7ffcc6290394,115463329,0,0x0,8
tick,0x7ffcc6290394,115479027,0,0x0,8
tick,0x7ffcc6290394,115493799,0,0x0,8
tick,0x7ffcc6290394,115509265,0,0x0,8
tick,0x7ffcc6290394,115525128,0,0x0,8
tick,0x7ffcc6290394,115540647,0,0x0,8
tick,0x7ffcc6290394,115556388,0,0x0,8
tick,0x7ffcc6290394,115571806,0,0x0,8
tick,0x7ffcc6290394,115588209,0,0x0,8
tick,0x7ffcc6290394,115602834,0,0x0,8
tick,0x7ffcc6290394,115619212,0,0x0,8
tick,0x7ffcc6290394,115635016,0,0x0,8
tick,0x7ffcc6290394,115649909,0,0x0,8
tick,0x7ffcc6290394,115665729,0,0x0,8
tick,0x7ffcc6290394,115681422,0,0x0,8
tick,0x7ffcc6290394,115696699,0,0x0,8
tick,0x7ffcc6290394,115712167,0,0x0,8
tick,0x7ffcc6290394,115727721,0,0x0,8
tick,0x7ffcc6290394,115743277,0,0x0,8
tick,0x7ffcc6290394,115758596,0,0x0,8
tick,0x7ffcc6290394,115774808,0,0x0,8
tick,0x7ffcc6290394,115790838,0,0x0,8
tick,0x7ffcc6290394,115805778,0,0x0,8
tick,0x7ffcc6290394,115821122,0,0x0,8
tick,0x7ffcc6290394,115837008,0,0x0,8
tick,0x7ffcc6290394,115852101,0,0x0,8
tick,0x7ffcc6290394,115867918,0,0x0,8
tick,0x7ffcc6290394,115884107,0,0x0,8
tick,0x7ffcc6290394,115899721,0,0x0,8
tick,0x7ffcc6290394,115914770,0,0x0,8
tick,0x7ffcc6290394,115930380,0,0x0,8
tick,0x7ffcc6290394,115946371,0,0x0,8
tick,0x7ffcc6290394,115961670,0,0x0,8
tick,0x7ffcc6290394,115976904,0,0x0,8
tick,0x7ffcc6290394,115992471,0,0x0,8
tick,0x7ffcc6290394,116007461,0,0x0,8
tick,0x7ffcc6290394,116022460,0,0x0,8
tick,0x7ffcc6290394,116038301,0,0x0,8
tick,0x7ffcc6290394,116054220,0,0x0,8
tick,0x7ffcc6290394,116069478,0,0x0,8
tick,0x7ffcc6290394,116084725,0,0x0,8
tick,0x7ffcc6290394,116099919,0,0x0,8
tick,0x7ffcc6290394,116115898,0,0x0,8
tick,0x7ffcc6290394,116131117,0,0x0,8
tick,0x7ffcc6290394,116147014,0,0x0,8
tick,0x7ffcc6290394,116161960,0,0x0,8
tick,0x7ffcc6290394,116177916,0,0x0,8
tick,0x7ffcc6290394,116193115,0,0x0,8
tick,0x7ffcc6290394,116208830,0,0x0,8
tick,0x7ffcc6290394,116224018,0,0x0,8
tick,0x7ffcc6290394,116239560,0,0x0,8
tick,0x7ffcc6290394,116254678,0,0x0,8
tick,0x7ffcc6290394,116270797,0,0x0,8
tick,0x7ffcc6290394,116286306,0,0x0,8
tick,0x7ffcc6290394,116302025,0,0x0,8
tick,0x7ffcc6290394,116318025,0,0x0,8
tick,0x7ffcc6290394,116333137,0,0x0,8
tick,0x7ffcc6290394,116349153,0,0x0,8
tick,0x7ffcc6290394,116364954,0,0x0,8
tick,0x7ffcc6290394,116380329,0,0x0,8
tick,0x7ffcc6290394,116396155,0,0x0,8
tick,0x7ffcc6290394,116412195,0,0x0,8
tick,0x7ffcc6290394,116427352,0,0x0,8
tick,0x7ffcc6290394,116443815,0,0x0,8
tick,0x7ffcc6290394,116459227,0,0x0,8
tick,0x7ffcc6290394,116474792,0,0x0,8
tick,0x7ffcc6290394,116489913,0,0x0,8
tick,0x7ffcc6290394,116505707,0,0x0,8
tick,0x7ffcc6290394,116521161,0,0x0,8
tick,0x7ffcc6290394,116536834,0,0x0,8
tick,0x7ffcc6290394,116552436,0,0x0,8
tick,0x7ffcc6290394,116568360,0,0x0,8
tick,0x7ffcc6290394,116583997,0,0x0,8
tick,0x7ffcc6290394,116599716,0,0x0,8
tick,0x7ffcc6290394,116615770,0,0x0,8
tick,0x7ffcc6290394,116631408,0,0x0,8
tick,0x7ffcc6290394,116647151,0,0x0,8
tick,0x7ffcc6290394,116663370,0,0x0,8
tick,0x7ffcc6290394,116679411,0,0x0,8
tick,0x7ffcc6290394,116694707,0,0x0,8
tick,0x7ffcc6290394,116710232,0,0x0,8
tick,0x7ffcc6290394,116725437,0,0x0,8
tick,0x7ffcc6290394,116740934,0,0x0,8
tick,0x7ffcc6290394,116756409,0,0x0,8
tick,0x7ffcc6290394,116771740,0,0x0,8
tick,0x7ffcc6290394,116787521,0,0x0,8
tick,0x7ffcc6290394,116803298,0,0x0,8
tick,0x7ffcc6290394,116818648,0,0x0,8
tick,0x7ffcc6290394,116834570,0,0x0,8
tick,0x7ffcc6290394,116850038,0,0x0,8
tick,0x7ffcc6290394,116865781,0,0x0,8
tick,0x7ffcc6290394,116881683,0,0x0,8
tick,0x7ffcc6290394,116897069,0,0x0,8
tick,0x7ffcc6290394,116912613,0,0x0,8
tick,0x7ffcc6290394,116927536,0,0x0,8
tick,0x7ffcc6290394,116943481,0,0x0,8
tick,0x7ffcc6290394,116958777,0,0x0,8
tick,0x7ffcc6290394,116974484,0,0x0,8
tick,0x7ffcc6290394,116989500,0,0x0,8
tick,0x7ffcc6290394,117004856,0,0x0,8
tick,0x7ffcc6290394,117021097,0,0x0,8
tick,0x7ffcc6290394,117036279,0,0x0,8
tick,0x7ffcc6290394,117051598,0,0x0,8
tick,0x7ffcc6290394,117066339,0,0x0,8
tick,0x7ffcc6290394,117082275,0,0x0,8
tick,0x7ffcc6290394,117097095,0,0x0,8
tick,0x7ffcc6290394,117113375,0,0x0,8
tick,0x7ffcc6290394,117128587,0,0x0,8
tick,0x7ffcc6290394,117143303,0,0x0,8
tick,0x7ffcc6290394,117158496,0,0x0,8
tick,0x7ffcc6290394,117174039,0,0x0,8
tick,0x7ffcc6290394,117189059,0,0x0,8
tick,0x7ffcc6290394,117204706,0,0x0,8
tick,0x7ffcc6290394,117221033,0,0x0,8
tick,0x7ffcc6290394,117236537,0,0x0,8
tick,0x7ffcc6290394,117251936,0,0x0,8
tick,0x7ffcc6290394,117267311,0,0x0,8
tick,0x7ffcc6290394,117282902,0,0x0,8
tick,0x7ffcc6290394,117298208,0,0x0,8
tick,0x7ffcc6290394,117314125,0,0x0,8
tick,0x7ffcc6290394,117330069,0,0x0,8
tick,0x7ffcc6290394,117346086,0,0x0,8
tick,0x7ffcc6290394,117360925,0,0x0,8
tick,0x7ffcc6290394,117376448,0,0x0,8
tick,0x7ffcc6290394,117392535,0,0x0,8
tick,0x7ffcc6290394,117407701,0,0x0,8
tick,0x7ffcc6290394,117423450,0,0x0,8
tick,0x7ffcc6290394,117439045,0,0x0,8
tick,0x7ffcc6290394,117454287,0,0x0,8
tick,0x7ffcc6290394,117470186,0,0x0,8
tick,0x7ffcc6290394,117486118,0,0x0,8
tick,0x7ffcc6290394,117501292,0,0x0,8
tick,0x7ffcc6290394,117517163,0,0x0,8
tick,0x7ffcc6290394,117532746,0,0x0,8
tick,0x7ffcc6290394,117548309,0,0x0,8
tick,0x7ffcc6290394,117563528,0,0x0,8
tick,0x7ffcc6290394,117579437,0,0x0,8
tick,0x7ffcc6290394,117595392,0,0x0,8
tick,0x7ffcc6290394,117610768,0,0x0,8
tick,0x7ffcc6290394,117625989,0,0x0,8
tick,0x7ffcc6290394,117641529,0,0x0,8
tick,0x7ffcc6290394,117657576,0,0x0,8
tick,0x7ffcc6290394,117673237,0,0x0,8
tick,0x7ffcc6290394,117689140,0,0x0,8
tick,0x7ffcc6290394,117704687,0,0x0,8
tick,0x7ffcc6290394,117720787,0,0x0,8
tick,0x7ffcc6290394,117736213,0,0x0,8
tick,0x7ffcc6290394,117752079,0,0x0,8
tick,0x7ffcc6290394,117767643,0,0x0,8
tick,0x7ffcc6290394,117783723,0,0x0,8
tick,0x7ffcc6290394,117799340,0,0x0,8
tick,0x7ffcc6290394,117815480,0,0x0,8
tick,0x7ffcc6290394,117830720,0,0x0,8
tick,0x7ffcc6290394,117845748,0,0x0,8
tick,0x7ffcc6290394,117861414,0,0x0,8
tick,0x7ffcc6290394,117877390,0,0x0,8
tick,0x7ffcc6290394,117893055,0,0x0,8
tick,0x7ffcc6290394,117908528,0,0x0,8
tick,0x7ffcc6290394,117924452,0,0x0,8
tick,0x7ffcc6290394,117940229,0,0x0,8
tick,0x7ffcc6290394,117955736,0,0x0,8
tick,0x7ffcc6290394,117971524,0,0x0,8
tick,0x7ffcc6290394,117987069,0,0x0,8
tick,0x7ffcc6290394,118002560,0,0x0,8
tick,0x7ffcc6290394,118018844,0,0x0,8
tick,0x7ffcc6290394,118033963,0,0x0,8
tick,0x7ffcc6290394,118048931,0,0x0,8
tick,0x7ffcc6290394,118064812,0,0x0,8
tick,0x7ffcc6290394,118079661,0,0x0,8
tick,0x7ffcc6290394,118094988,0,0x0,8
tick,0x7ffcc6290394,118110358,0,0x0,8
tick,0x7ffcc6290394,118125955,0,0x0,8
tick,0x7ffcc6290394,118141902,0,0x0,8
tick,0x7ffcc6290394,118157021,0,0x0,8
tick,0x7ffcc6290394,118172296,0,0x0,8
tick,0x7ffcc6290394,118187845,0,0x0,8
tick,0x7ffcc6290394,118203362,0,0x0,8
tick,0x7ffcc6290394,118218667,0,0x0,8
tick,0x7ffcc6290394,118234707,0,0x0,8
tick,0x7ffcc6290394,118249376,0,0x0,8
tick,0x7ffcc6290394,118265439,0,0x0,8
tick,0x7ffcc6290394,118281161,0,0x0,8
tick,0x7ffcc6290394,118296776,0,0x0,8
tick,0x7ffcc6290394,118312531,0,0x0,8
tick,0x7ffcc6290394,118327625,0,0x0,8
tick,0x7ffcc6290394,118343071,0,0x0,8
tick,0x7ffcc6290394,118358824,0,0x0,8
tick,0x7ffcc6290394,118374613,0,0x0,8
tick,0x7ffcc6290394,118389589,0,0x0,8
tick,0x7ffcc6290394,118405314,0,0x0,8
tick,0x7ffcc6290394,118420694,0,0x0,8
tick,0x7ffcc6290394,118436541,0,0x0,8
tick,0x7ffcc6290394,118452346,0,0x0,8
tick,0x7ffcc6290394,118467240,0,0x0,8
tick,0x7ffcc6290394,118483298,0,0x0,8
tick,0x7ffcc6290394,118499216,0,0x0,8
tick,0x7ffcc6290394,118515115,0,0x0,8
tick,0x7ffcc6290394,118530830,0,0x0,8
tick,0x7ffcc6290394,118546944,0,0x0,8
tick,0x7ffcc6290394,118562302,0,0x0,8
tick,0x7ffcc6290394,118577928,0,0x0,8
tick,0x7ffcc6290394,118593791,0,0x0,8
tick,0x7ffcc6290394,118608811,0,0x0,8
tick,0x7ffcc6290394,118624322,0,0x0,8
tick,0x7ffcc6290394,118640087,0,0x0,8
tick,0x7ffcc6290394,118655030,0,0x0,8
tick,0x7ffcc6290394,118670711,0,0x0,8
tick,0x7ffcc6290394,118686099,0,0x0,8
tick,0x7ffcc6290394,118701379,0,0x0,8
tick,0x7ffcc6290394,118716728,0,0x0,8
tick,0x7ffcc6290394,118732211,0,0x0,8
tick,0x7ffcc6290394,118748191,0,0x0,8
tick,0x7ffcc6290394,118763916,0,0x0,8
tick,0x7ffcc6290394,118779309,0,0x0,8
tick,0x7ffcc6290394,118794527,0,0x0,8
tick,0x7ffcc6290394,118809938,0,0x0,8
tick,0x7ffcc6290394,118825441,0,0x0,8
tick,0x7ffcc6290394,118840730,0,0x0,8
tick,0x7ffcc6290394,118855936,0,0x0,8
tick,0x7ffcc6290394,118872295,0,0x0,8
tick,0x7ffcc6290394,118887616,0,0x0,8
tick,0x7ffcc6290394,118903827,0,0x0,8
tick,0x7ffcc6290394,118918677,0,0x0,8
tick,0x7ffcc6290394,118934288,0,0x0,8
tick,0x7ffcc6290394,118950129,0,0x0,8
tick,0x7ffcc6290394,118965618,0,0x0,8
tick,0x7ffcc6290394,118980860,0,0x0,8
tick,0x7ffcc6290394,118996476,0,0x0,8
tick,0x7ffcc6290394,119011927,0,0x0,8
tick,0x7ffcc6290394,119027723,0,0x0,8
tick,0x7ffcc6290394,119043222,0,0x0,8
tick,0x7ffcc6290394,119058619,0,0x0,8
tick,0x7ffcc6290394,119073629,0,0x0,8
tick,0x7ffcc6290394,119088964,0,0x0,8
tick,0x7ffcc6290394,119104726,0,0x0,8
tick,0x7ffcc6290394,119120113,0,0x0,8
tick,0x7ffcc6290394,119135874,0,0x0,8
tick,0x7ffcc6290394,119151328,0,0x0,8
tick,0x7ffcc6290394,119167014,0,0x0,8
tick,0x7ffcc6290394,119182535,0,0x0,8
tick,0x7ffcc6290394,119198482,0,0x0,8
tick,0x7ffcc6290394,119214345,0,0x0,8
tick,0x7ffcc6290394,119229055,0,0x0,8
tick,0x7ffcc6290394,119244944,0,0x0,8
tick,0x7ffcc6290394,119260787,0,0x0,8
tick,0x7ffcc6290394,119276218,0,0x0,8
tick,0x7ffcc6290394,119291855,0,0x0,8
tick,0x7ffcc6290394,119307673,0,0x0,8
tick,0x7ffcc6290394,119323343,0,0x0,8
tick,0x7ffcc6290394,119338620,0,0x0,8
tick,0x7ffcc6290394,119354279,0,0x0,8
tick,0x7ffcc6290394,119370118,0,0x0,8
tick,0x7ffcc6290394,119385263,0,0x0,8
tick,0x7ffcc6290394,119400565,0,0x0,8
tick,0x7ffcc6290394,119416107,0,0x0,8
tick,0x7ffcc6290394,119431664,0,0x0,8
tick,0x7ffcc6290394,119447432,0,0x0,8
tick,0x7ffcc6290394,119463100,0,0x0,8
tick,0x7ffcc6290394,119478716,0,0x0,8
tick,0x7ffcc6290394,119493816,0,0x0,8
tick,0x7ffcc6290394,119509168,0,0x0,8
tick,0x7ffcc6290394,119524586,0,0x0,8
tick,0x7ffcc6290394,119540552,0,0x0,8
tick,0x7ffcc6290394,119555805,0,0x0,8
tick,0x7ffcc6290394,119571837,0,0x0,8
tick,0x7ffcc6290394,119587140,0,0x0,8
tick,0x7ffcc6290394,119602257,0,0x0,8
tick,0x7ffcc6290394,119618320,0,0x0,8
tick,0x7ffcc6290394,119634169,0,0x0,8
tick,0x7ffcc6290394,119650133,0,0x0,8
tick,0x7ffcc6290394,119665981,0,0x0,8
tick,0x7ffcc6290394,119681980,0,0x0,8
tick,0x7ffcc6290394,119697887,0,0x0,8
tick,0x7ffcc6290394,119713536,0,0x0,8
tick,0x7ffcc6290394,119728958,0,0x0,8
tick,0x7ffcc6290394,119744774,0,0x0,8
tick,0x7ffcc6290394,119760745,0,0x0,8
tick,0x7ffcc6290394,119776237,0,0x0,8
tick,0x7ffcc6290394,119791484,0,0x0,8
tick,0x7ffcc6290394,119806922,0,0x0,8
tick,0x7ffcc6290394,119823175,0,0x0,8
tick,0x7ffcc6290394,119838207,0,0x0,8
tick,0x7ffcc6290394,119853525,0,0x0,8
tick,0x7ffcc6290394,119869584,0,0x0,8
tick,0x7ffcc6290394,119884733,0,0x0,8
tick,0x7ffcc6290394,119900616,0,0x0,8
tick,0x7ffcc6290394,119916260,0,0x0,8
tick,0x7ffcc6290394,119932205,0,0x0,8
tick,0x7ffcc6290394,119947584,0,0x0,8
tick,0x7ffcc6290394,119963127,0,0x0,8
tick,0x7ffcc6290394,119978971,0,0x0,8
tick,0x7ffcc6290394,119994179,0,0x0,8
tick,0x7ffcc6290394,120010063,0,0x0,8
tick,0x7ffcc6290394,120025788,0,0x0,8
tick,0x7ffcc6290394,120040727,0,0x0,8
tick,0x7ffcc6290394,120056612,0,0x0,8
tick,0x7ffcc6290394,120072137,0,0x0,8
tick,0x7ffcc6290394,120087601,0,0x0,8
tick,0x7ffcc6290394,120103690,0,0x0,8
tick,0x7ffcc6290394,120118084,0,0x0,8
tick,0x7ffcc6290394,120133148,0,0x0,8
tick,0x7ffcc6290394,120149283,0,0x0,8
tick,0x7ffcc6290394,120164902,0,0x0,8
tick,0x7ffcc6290394,120179791,0,0x0,8
tick,0x7ffcc6290394,120194953,0,0x0,8
tick,0x7ffcc6290394,120210281,0,0x0,8
tick,0x7ffcc6290394,120226146,0,0x0,8
tick,0x7ffcc6290394,120241521,0,0x0,8
tick,0x7ffcc6290394,120257261,0,0x0,8
tick,0x7ffcc6290394,120273552,0,0x0,8
tick,0x7ffcc6290394,120289156,0,0x0,8
tick,0x7ffcc6290394,120305067,0,0x0,8
tick,0x7ffcc6290394,120320713,0,0x0,8
tick,0x7ffcc6290394,120336469,0,0x0,8
tick,0x7ffcc6290394,120351606,0,0x0,8
tick,0x7ffcc6290394,120367327,0,0x0,8
tick,0x7ffcc6290394,120382763,0,0x0,8
tick,0x7ffcc6290394,120398826,0,0x0,8
tick,0x7ffcc6290394,120414980,0,0x0,8
tick,0x7ffcc6290394,120430035,0,0x0,8
tick,0x7ffcc6290394,120445232,0,0x0,8
tick,0x7ffcc6290394,120461016,0,0x0,8
tick,0x7ffcc6290394,120477231,0,0x0,8
tick,0x7ffcc6290394,120492251,0,0x0,8
tick,0x7ffcc6290394,120507953,0,0x0,8
tick,0x7ffcc6290394,120523708,0,0x0,8
tick,0x7ffcc6290394,120538979,0,0x0,8
tick,0x7ffcc6290394,120554898,0,0x0,8
tick,0x7ffcc6290394,120571052,0,0x0,8
tick,0x7ffcc6290394,120586153,0,0x0,8
tick,0x7ffcc6290394,120602025,0,0x0,8
tick,0x7ffcc6290394,120617550,0,0x0,8
tick,0x7ffcc6290394,120633577,0,0x0,8
tick,0x7ffcc6290394,120648759,0,0x0,8
tick,0x7ffcc6290394,120665116,0,0x0,8
tick,0x7ffcc6290394,120680153,0,0x0,8
tick,0x7ffcc6290394,120695830,0,0x0,8
tick,0x7ffcc6290394,120711462,0,0x0,8
tick,0x7ffcc6290394,120727134,0,0x0,8
tick,0x7ffcc6290394,120742164,0,0x0,8
tick,0x7ffcc6290394,120757942,0,0x0,8
tick,0x7ffcc6290394,120773760,0,0x0,8
tick,0x7ffcc6290394,120788911,0,0x0,8
tick,0x7ffcc6290394,120804710,0,0x0,8
tick,0x7ffcc6290394,120820550,0,0x0,8
tick,0x7ffcc6290394,120836396,0,0x0,8
tick,0x7ffcc6290394,120852270,0,0x0,8
tick,0x7ffcc6290394,120868000,0,0x0,8
tick,0x7ffcc6290394,120883030,0,0x0,8
tick,0x7ffcc6290394,120899226,0,0x0,8
tick,0x7ffcc6290394,120914349,0,0x0,8
tick,0x7ffcc6290394,120930046,0,0x0,8
tick,0x7ffcc6290394,120945080,0,0x0,8
tick,0x7ffcc6290394,120961060,0,0x0,8
tick,0x7ffcc6290394,120976789,0,0x0,8
tick,0x7ffcc6290394,120993489,0,0x0,8
tick,0x7ffcc6290394,121008628,0,0x0,8
tick,0x7ffcc6290394,121024321,0,0x0,8
tick,0x7ffcc6290394,121039674,0,0x0,8
tick,0x7ffcc6290394,121055417,0,0x0,8
tick,0x7ffcc6290394,121070713,0,0x0,8
tick,0x7ffcc6290394,121086120,0,0x0,8
tick,0x7ffcc6290394,121101742,0,0x0,8
tick,0x7ffcc6290394,121116639,0,0x0,8
tick,0x7ffcc6290394,121132280,0,0x0,8
tick,0x7ffcc6290394,121148341,0,0x0,8
tick,0x7ffcc6290394,121163498,0,0x0,8
tick,0x7ffcc6290394,121178782,0,0x0,8
tick,0x7ffcc6290394,121194275,0,0x0,8
tick,0x7ffcc6290394,121209524,0,0x0,8
tick,0x7ffcc6290394,121225034,0,0x0,8
tick,0x7ffcc6290394,121241161,0,0x0,8
tick,0x7ffcc6290394,121257212,0,0x0,8
tick,0x7ffcc6290394,121273220,0,0x0,8
tick,0x7ffcc6290394,121289146,0,0x0,8
tick,0x7ffcc6290394,121304242,0,0x0,8
tick,0x7ffcc6290394,121318922,0,0x0,8
tick,0x7ffcc6290394,121334745,0,0x0,8
tick,0x7ffcc6290394,121350434,0,0x0,8
tick,0x7ffcc6290394,121366371,0,0x0,8
tick,0x7ffcc6290394,121381588,0,0x0,8
tick,0x7ffcc6290394,121397040,0,0x0,8
tick,0x7ffcc6290394,121412490,0,0x0,8
tick,0x7ffcc6290394,121427920,0,0x0,8
tick,0x7ffcc6290394,121443925,0,0x0,8
tick,0x7ffcc6290394,121459621,0,0x0,8
tick,0x7ffcc6290394,121474652,0,0x0,8
tick,0x7ffcc6290394,121490262,0,0x0,8
tick,0x7ffcc6290394,121506082,0,0x0,8
tick,0x7ffcc6290394,121522178,0,0x0,8
tick,0x7ffcc6290394,121537676,0,0x0,8
tick,0x7ffcc6290394,121553952,0,0x0,8
tick,0x7ffcc6290394,121568954,0,0x0,8
tick,0x7ffcc6290394,121584569,0,0x0,8
tick,0x7ffcc6290394,121600898,0,0x0,8
tick,0x7ffcc6290394,121615274,0,0x0,8
tick,0x7ffcc6290394,121630961,0,0x0,8
tick,0x7ffcc6290394,121646534,0,0x0,8
tick,0x7ffcc6290394,121662440,0,0x0,8
tick,0x7ffcc6290394,121677519,0,0x0,8
tick,0x7ffcc6290394,121693435,0,0x0,8
tick,0x7ffcc6290394,121709354,0,0x0,8
tick,0x7ffcc6290394,121725110,0,0x0,8
tick,0x7ffcc6290394,121740442,0,0x0,8
tick,0x7ffcc6290394,121755826,0,0x0,8
tick,0x7ffcc6290394,121771654,0,0x0,8
tick,0x7ffcc6290394,121787000,0,0x0,8
tick,0x7ffcc6290394,121802669,0,0x0,8
tick,0x7ffcc6290394,121817839,0,0x0,8
tick,0x7ffcc6290394,121833302,0,0x0,8
tick,0x7ffcc6290394,121848444,0,0x0,8
tick,0x7ffcc6290394,121863857,0,0x0,8
tick,0x7ffcc6290394,121879605,0,0x0,8
tick,0x7ffcc6290394,121895241,0,0x0,8
tick,0x7ffcc6290394,121910634,0,0x0,8
tick,0x7ffcc6290394,121925944,0,0x0,8
tick,0x7ffcc6290394,121941890,0,0x0,8
tick,0x7ffcc6290394,121957292,0,0x0,8
tick,0x7ffcc6290394,121972610,0,0x0,8
tick,0x7ffcc6290394,121988545,0,0x0,8
tick,0x7ffcc6290394,122003839,0,0x0,8
tick,0x7ffcc6290394,122019809,0,0x0,8
tick,0x7ffcc6290394,122034862,0,0x0,8
tick,0x7ffcc6290394,122049920,0,0x0,8
tick,0x7ffcc6290394,122065393,0,0x0,8
tick,0x7ffcc6290394,122080731,0,0x0,8
tick,0x7ffcc6290394,122095842,0,0x0,8
tick,0x7ffcc6290394,122111755,0,0x0,8
tick,0x7ffcc6290394,122127727,0,0x0,8
tick,0x7ffcc6290394,122143522,0,0x0,8
tick,0x7ffcc6290394,122159189,0,0x0,8
tick,0x7ffcc6290394,122174500,0,0x0,8
tick,0x7ffcc6290394,122190586,0,0x0,8
tick,0x7ffcc6290394,122206988,0,0x0,8
tick,0x7ffcc6290394,122221848,0,0x0,8
tick,0x7ffcc6290394,122237167,0,0x0,8
tick,0x7ffcc6290394,122253083,0,0x0,8
tick,0x7ffcc6290394,122269289,0,0x0,8
tick,0x7ffcc6290394,122284657,0,0x0,8
tick,0x7ffcc6290394,122299777,0,0x0,8
tick,0x7ffcc6290394,122315561,0,0x0,8
tick,0x7ffcc6290394,122331046,0,0x0,8
tick,0x7ffcc6290394,122346618,0,0x0,8
tick,0x7ffcc6290394,122362321,0,0x0,8
tick,0x7ffcc6290394,122377684,0,0x0,8
tick,0x7ffcc6290394,122393441,0,0x0,8
tick,0x7ffcc6290394,122408881,0,0x0,8
tick,0x7ffcc6290394,122424610,0,0x0,8
tick,0x7ffcc6290394,122439242,0,0x0,8
tick,0x7ffcc6290394,122454684,0,0x0,8
tick,0x7ffcc6290394,122470415,0,0x0,8
tick,0x7ffcc6290394,122485808,0,0x0,8
tick,0x7ffcc6290394,122501671,0,0x0,8
tick,0x7ffcc6290394,122517117,0,0x0,8
tick,0x7ffcc6290394,122532773,0,0x0,8
tick,0x7ffcc6290394,122548590,0,0x0,8
tick,0x7ffcc6290394,122564401,0,0x0,8
tick,0x7ffcc6290394,122580042,0,0x0,8
tick,0x7ffcc6290394,122595253,0,0x0,8
tick,0x7ffcc6290394,122610987,0,0x0,8
tick,0x7ffcc6290394,122626567,0,0x0,8
tick,0x7ffcc6290394,122642270,0,0x0,8
tick,0x7ffcc6290394,122657620,0,0x0,8
tick,0x7ffcc6290394,122673159,0,0x0,8
tick,0x7ffcc6290394,122688002,0,0x0,8
tick,0x7ffcc6290394,122704003,0,0x0,8
tick,0x7ffcc6290394,122719830,0,0x0,8
tick,0x7ffcc6290394,122735700,0,0x0,8
tick,0x7ffcc6290394,122750616,0,0x0,8
tick,0x7ffcc6290394,122765977,0,0x0,8
tick,0x7ffcc6290394,122781754,0,0x0,8
tick,0x7ffcc6290394,122797187,0,0x0,8
tick,0x7ffcc6290394,122813036,0,0x0,8
tick,0x7ffcc6290394,122828030,0,0x0,8
tick,0x7ffcc6290394,122844112,0,0x0,8
tick,0x7ffcc6290394,122859815,0,0x0,8
tick,0x7ffcc6290394,122874921,0,0x0,8
tick,0x7ffcc6290394,122890528,0,0x0,8
tick,0x7ffcc6290394,122906202,0,0x0,8
tick,0x7ffcc6290394,122921736,0,0x0,8
tick,0x7ffcc6290394,122936769,0,0x0,8
tick,0x7ffcc6290394,122952801,0,0x0,8
tick,0x7ffcc6290394,122968621,0,0x0,8
tick,0x7ffcc6290394,122984411,0,0x0,8
tick,0x7ffcc6290394,122999824,0,0x0,8
tick,0x7ffcc6290394,123015555,0,0x0,8
tick,0x7ffcc6290394,123031221,0,0x0,8
tick,0x7ffcc6290394,123046656,0,0x0,8
tick,0x7ffcc6290394,123062437,0,0x0,8
tick,0x7ffcc6290394,123078376,0,0x0,8
tick,0x7ffcc6290394,123094169,0,0x0,8
tick,0x7ffcc6290394,123109961,0,0x0,8
tick,0x7ffcc6290394,123125741,0,0x0,8
tick,0x7ffcc6290394,123141585,0,0x0,8
tick,0x7ffcc6290394,123157363,0,0x0,8
tick,0x7ffcc6290394,123172378,0,0x0,8
tick,0x7ffcc6290394,123187449,0,0x0,8
tick,0x7ffcc6290394,123202964,0,0x0,8
tick,0x7ffcc6290394,123218021,0,0x0,8
tick,0x7ffcc6290394,123233183,0,0x0,8
tick,0x7ffcc6290394,123248951,0,0x0,8
tick,0x7ffcc6290394,123264178,0,0x0,8
tick,0x7ffcc6290394,123279654,0,0x0,8
tick,0x7ffcc6290394,123295354,0,0x0,8
tick,0x7ffcc6290394,123310570,0,0x0,8
tick,0x7ffcc6290394,123326040,0,0x0,8
tick,0x7ffcc6290394,123341753,0,0x0,8
tick,0x7ffcc6290394,123356573,0,0x0,8
tick,0x7ffcc6290394,123372306,0,0x0,8
tick,0x7ffcc6290394,123387291,0,0x0,8
tick,0x7ffcc6290394,123402908,0,0x0,8
tick,0x7ffcc6290394,123418323,0,0x0,8
tick,0x7ffcc6290394,123433675,0,0x0,8
tick,0x7ffcc6290394,123449896,0,0x0,8
tick,0x7ffcc6290394,123465511,0,0x0,8
tick,0x7ffcc6290394,123481338,0,0x0,8
tick,0x7ffcc6290394,123496631,0,0x0,8
tick,0x7ffcc6290394,123512306,0,0x0,8
tick,0x7ffcc6290394,123527589,0,0x0,8
tick,0x7ffcc6290394,123542863,0,0x0,8
tick,0x7ffcc6290394,123558978,0,0x0,8
tick,0x7ffcc6290394,123574900,0,0x0,8
tick,0x7ffcc6290394,123589857,0,0x0,8
tick,0x7ffcc6290394,123605946,0,0x0,8
tick,0x7ffcc6290394,123621671,0,0x0,8
tick,0x7ffcc6290394,123637515,0,0x0,8
tick,0x7ffcc6290394,123652615,0,0x0,8
tick,0x7ffcc6290394,123668846,0,0x0,8
tick,0x7ffcc6290394,123684049,0,0x0,8
tick,0x7ffcc6290394,123699341,0,0x0,8
tick,0x7ffcc6290394,123715386,0,0x0,8
tick,0x7ffcc6290394,123730797,0,0x0,8
tick,0x7ffcc6290394,123746601,0,0x0,8
tick,0x7ffcc6290394,123761262,0,0x0,8
tick,0x7ffcc6290394,123776520,0,0x0,8
tick,0x7ffcc6290394,123791627,0,0x0,8
tick,0x7ffcc6290394,123807765,0,0x0,8
tick,0x7ffcc6290394,123822974,0,0x0,8
tick,0x7ffcc6290394,123837922,0,0x0,8
tick,0x7ffcc6290394,123853640,0,0x0,8
tick,0x7ffcc6290394,123870112,0,0x0,8
tick,0x7ffcc6290394,123885723,0,0x0,8
tick,0x7ffcc6290394,123902373,0,0x0,8
tick,0x7ffcc6290394,123917068,0,0x0,8
tick,0x7ffcc6290394,123932046,0,0x0,8
tick,0x7ffcc6290394,123947104,0,0x0,8
tick,0x7ffcc6290394,123962502,0,0x0,8
tick,0x7ffcc6290394,123978238,0,0x0,8
tick,0x7ffcc6290394,123993880,0,0x0,8
tick,0x7ffcc6290394,124009750,0,0x0,8
tick,0x7ffcc6290394,124025160,0,0x0,8
tick,0x7ffcc6290394,124041147,0,0x0,8
tick,0x7ffcc6290394,124057053,0,0x0,8
tick,0x7ffcc6290394,124072191,0,0x0,8
tick,0x7ffcc6290394,124087944,0,0x0,8
tick,0x7ffcc6290394,124102947,0,0x0,8
tick,0x7ffcc6290394,124117735,0,0x0,8
tick,0x7ffcc6290394,124133678,0,0x0,8
tick,0x7ffcc6290394,124149542,0,0x0,8
tick,0x7ffcc6290394,124165746,0,0x0,8
tick,0x7ffcc6290394,124181133,0,0x0,8
tick,0x7ffcc6290394,124196311,0,0x0,8
tick,0x7ffcc6290394,124211836,0,0x0,8
tick,0x7ffcc6290394,124227349,0,0x0,8
tick,0x7ffcc6290394,124243136,0,0x0,8
tick,0x7ffcc6290394,124258691,0,0x0,8
tick,0x7ffcc6290394,124274189,0,0x0,8
tick,0x7ffcc6290394,124290025,0,0x0,8
tick,0x7ffcc6290394,124305446,0,0x0,8
tick,0x7ffcc6290394,124320807,0,0x0,8
tick,0x7ffcc6290394,124336298,0,0x0,8
tick,0x7ffcc6290394,124351891,0,0x0,8
tick,0x7ffcc6290394,124366953,0,0x0,8
tick,0x7ffcc6290394,124382846,0,0x0,8
tick,0x7ffcc6290394,124397978,0,0x0,8
tick,0x7ffcc6290394,124413142,0,0x0,8
tick,0x7ffcc6290394,124428114,0,0x0,8
tick,0x7ffcc6290394,124443970,0,0x0,8
tick,0x7ffcc6290394,124459810,0,0x0,8
tick,0x7ffcc6290394,124474735,0,0x0,8
tick,0x7ffcc6290394,124490667,0,0x0,8
tick,0x7ffcc6290394,124505525,0,0x0,8
tick,0x7ffcc6290394,124520274,0,0x0,8
tick,0x7ffcc6290394,124535014,0,0x0,8
tick,0x7ffcc6290394,124550583,0,0x0,8
tick,0x7ffcc6290394,124566517,0,0x0,8
tick,0x7ffcc6290394,124582610,0,0x0,8
tick,0x7ffcc6290394,124614598,0,0x0,8
tick,0x7ffcc6290394,124614753,0,0x0,8
tick,0x7ffcc6290394,124630376,0,0x0,8
tick,0x7ffcc6290394,124644851,0,0x0,8
tick,0x7ffcc6290394,124660353,0,0x0,8
tick,0x7ffcc6290394,124676407,0,0x0,8
tick,0x7ffcc6290394,124691959,0,0x0,8
tick,0x7ffcc6290394,124707040,0,0x0,8
tick,0x7ffcc6290394,124722807,0,0x0,8
tick,0x7ffcc6290394,124738432,0,0x0,8
tick,0x7ffcc6290394,124754398,0,0x0,8
tick,0x7ffcc6290394,124769960,0,0x0,8
tick,0x7ffcc6290394,124785225,0,0x0,8
tick,0x7ffcc6290394,124801087,0,0x0,8
tick,0x7ffcc6290394,124816715,0,0x0,8
tick,0x7ffcc6290394,124832342,0,0x0,8
tick,0x7ffcc6290394,124847745,0,0x0,8
tick,0x7ffcc6290394,124863558,0,0x0,8
tick,0x7ffcc6290394,124879049,0,0x0,8
tick,0x7ffcc6290394,124894981,0,0x0,8
tick,0x7ffcc6290394,124910584,0,0x0,8
tick,0x7ffcc6290394,124926083,0,0x0,8
tick,0x7ffcc6290394,124941598,0,0x0,8
tick,0x7ffcc6290394,124957094,0,0x0,8
tick,0x7ffcc6290394,124972828,0,0x0,8
tick,0x7ffcc6290394,124988302,0,0x0,8
tick,0x7ffcc6290394,125004028,0,0x0,8
tick,0x7ffcc6290394,125019896,0,0x0,8
tick,0x7ffcc6290394,125035642,0,0x0,8
tick,0x7ffcc6290394,125051393,0,0x0,8
tick,0x7ffcc6290394,125067163,0,0x0,8
tick,0x7ffcc6290394,125082869,0,0x0,8
tick,0x7ffcc6290394,125098512,0,0x0,8
tick,0x7ffcc6290394,125114357,0,0x0,8
tick,0x7ffcc6290394,125130187,0,0x0,8
tick,0x7ffcc6290394,125145839,0,0x0,8
tick,0x7ffcc6290394,125161724,0,0x0,8
tick,0x7ffcc6290394,125177787,0,0x0,8
tick,0x7ffcc6290394,125192804,0,0x0,8
tick,0x7ffcc6290394,125208197,0,0x0,8
tick,0x7ffcc6290394,125223790,0,0x0,8
tick,0x7ffcc6290394,125239042,0,0x0,8
tick,0x7ffcc6290394,125254368,0,0x0,8
tick,0x7ffcc6290394,125269398,0,0x0,8
tick,0x7ffcc6290394,125285359,0,0x0,8
tick,0x7ffcc6290394,125301070,0,0x0,8
tick,0x7ffcc6290394,125316974,0,0x0,8
tick,0x7ffcc6290394,125332925,0,0x0,8
tick,0x7ffcc6290394,125348600,0,0x0,8
tick,0x7ffcc6290394,125364520,0,0x0,8
tick,0x7ffcc6290394,125379659,0,0x0,8
tick,0x7ffcc6290394,125395628,0,0x0,8
tick,0x7ffcc6290394,125411077,0,0x0,8
tick,0x7ffcc6290394,125426621,0,0x0,8
tick,0x7ffcc6290394,125443004,0,0x0,8
tick,0x7ffcc6290394,125458063,0,0x0,8
tick,0x7ffcc6290394,125473965,0,0x0,8
tick,0x7ffcc6290394,125490104,0,0x0,8
tick,0x7ffcc6290394,125505320,0,0x0,8
tick,0x7ffcc6290394,125520635,0,0x0,8
tick,0x7ffcc6290394,125536159,0,0x0,8
tick,0x7ffcc6290394,125551746,0,0x0,8
tick,0x7ffcc6290394,125567602,0,0x0,8
tick,0x7ffcc6290394,125583418,0,0x0,8
tick,0x7ffcc6290394,125599374,0,0x0,8
tick,0x7ffcc6290394,125614965,0,0x0,8
tick,0x7ffcc6290394,125630721,0,0x0,8
tick,0x7ffcc6290394,125646587,0,0x0,8
tick,0x7ffcc6290394,125682693,0,0x0,8
tick,0x7ffcc6290394,125693799,0,0x0,8
tick,0x7ffcc6290394,125709610,0,0x0,8
tick,0x7ffcc6290394,125724964,0,0x0,8
tick,0x7ffcc6290394,125740349,0,0x0,8
tick,0x7ffcc6290394,125756060,0,0x0,8
tick,0x7ffcc6290394,125770869,0,0x0,8
tick,0x7ffcc6290394,125786488,0,0x0,8
tick,0x7ffcc6290394,125801785,0,0x0,8
tick,0x7ffcc6290394,125816963,0,0x0,8
tick,0x7ffcc6290394,125832149,0,0x0,8
tick,0x7ffcc6290394,125847992,0,0x0,8
tick,0x7ffcc6290394,125864048,0,0x0,8
tick,0x7ffcc6290394,125879551,0,0x0,8
tick,0x7ffcc6290394,125894650,0,0x0,8
tick,0x7ffcc6290394,125910424,0,0x0,8
tick,0x7ffcc6290394,125926239,0,0x0,8
tick,0x7ffcc6290394,125941884,0,0x0,8
tick,0x7ffcc6290394,125957190,0,0x0,8
tick,0x7ffcc6290394,125972986,0,0x0,8
tick,0x7ffcc6290394,125988305,0,0x0,8
tick,0x7ffcc6290394,126003795,0,0x0,8
tick,0x7ffcc6290394,126019954,0,0x0,8
tick,0x7ffcc6290394,126035492,0,0x0,8
tick,0x7ffcc6290394,126050671,0,0x0,8
tick,0x7ffcc6290394,126066381,0,0x0,8
tick,0x7ffcc6290394,126082308,0,0x0,8
tick,0x7ffcc6290394,126097829,0,0x0,8
tick,0x7ffcc6290394,126113646,0,0x0,8
tick,0x7ffcc6290394,126129407,0,0x0,8
tick,0x7ffcc6290394,126144544,0,0x0,8
tick,0x7ffcc6290394,126160330,0,0x0,8
tick,0x7ffcc6290394,126175760,0,0x0,8
tick,0x7ffcc6290394,126191053,0,0x0,8
tick,0x7ffcc6290394,126206506,0,0x0,8
tick,0x7ffcc6290394,126221940,0,0x0,8
tick,0x7ffcc6290394,126237047,0,0x0,8
tick,0x7ffcc6290394,126253354,0,0x0,8
tick,0x7ffcc6290394,126268668,0,0x0,8
tick,0x7ffcc6290394,126284005,0,0x0,8
tick,0x7ffcc6290394,126300031,0,0x0,8
tick,0x7ffcc6290394,126315930,0,0x0,8
tick,0x7ffcc6290394,126331063,0,0x0,8
tick,0x7ffcc6290394,126346600,0,0x0,8
tick,0x7ffcc6290394,126361924,0,0x0,8
tick,0x7ffcc6290394,126377542,0,0x0,8
tick,0x7ffcc6290394,126393161,0,0x0,8
tick,0x7ffcc6290394,126408798,0,0x0,8
tick,0x7ffcc6290394,126424455,0,0x0,8
tick,0x7ffcc6290394,126439422,0,0x0,8
tick,0x7ffcc6290394,126454843,0,0x0,8
tick,0x7ffcc6290394,126470205,0,0x0,8
tick,0x7ffcc6290394,126485861,0,0x0,8
tick,0x7ffcc6290394,126501523,0,0x0,8
tick,0x7ffcc6290394,126517261,0,0x0,8
tick,0x7ffcc6290394,126533298,0,0x0,8
tick,0x7ffcc6290394,126548936,0,0x0,8
tick,0x7ffcc6290394,126564069,0,0x0,8
tick,0x7ffcc6290394,126579890,0,0x0,8
tick,0x7ffcc6290394,126595670,0,0x0,8
tick,0x7ffcc6290394,126611715,0,0x0,8
tick,0x7ffcc6290394,126627226,0,0x0,8
tick,0x7ffcc6290394,126643032,0,0x0,8
tick,0x7ffcc6290394,126658462,0,0x0,8
tick,0x7ffcc6290394,126674410,0,0x0,8
tick,0x7ffcc6290394,126689795,0,0x0,8
tick,0x7ffcc6290394,126705866,0,0x0,8
tick,0x7ffcc6290394,126721096,0,0x0,8
tick,0x7ffcc6290394,126736802,0,0x0,8
tick,0x7ffcc6290394,126752648,0,0x0,8
tick,0x7ffcc6290394,126768374,0,0x0,8
tick,0x7ffcc6290394,126784269,0,0x0,8
tick,0x7ffcc6290394,126799816,0,0x0,8
tick,0x7ffcc6290394,126815322,0,0x0,8
tick,0x7ffcc6290394,126831082,0,0x0,8
tick,0x7ffcc6290394,126847037,0,0x0,8
tick,0x7ffcc6290394,126862487,0,0x0,8
tick,0x7ffcc6290394,126878509,0,0x0,8
tick,0x7ffcc6290394,126893536,0,0x0,8
tick,0x7ffcc6290394,126909408,0,0x0,8
tick,0x7ffcc6290394,126924792,0,0x0,8
tick,0x7ffcc6290394,126940036,0,0x0,8
tick,0x7ffcc6290394,126955546,0,0x0,8
tick,0x7ffcc6290394,126970776,0,0x0,8
tick,0x7ffcc6290394,126986056,0,0x0,8
tick,0x7ffcc6290394,127002064,0,0x0,8
tick,0x7ffcc6290394,127017383,0,0x0,8
tick,0x7ffcc6290394,127033106,0,0x0,8
tick,0x7ffcc6290394,127048447,0,0x0,8
tick,0x7ffcc6290394,127064283,0,0x0,8
tick,0x7ffcc6290394,127080289,0,0x0,8
tick,0x7ffcc6290394,127095373,0,0x0,8
tick,0x7ffcc6290394,127110637,0,0x0,8
tick,0x7ffcc6290394,127126115,0,0x0,8
tick,0x7ffcc6290394,127141647,0,0x0,8
tick,0x7ffcc6290394,127157214,0,0x0,8
tick,0x7ffcc6290394,127172923,0,0x0,8
tick,0x7ffcc6290394,127188755,0,0x0,8
tick,0x7ffcc6290394,127204722,0,0x0,8
tick,0x7ffcc6290394,127220043,0,0x0,8
tick,0x7ffcc6290394,127235519,0,0x0,8
tick,0x7ffcc6290394,127251166,0,0x0,8
tick,0x7ffcc6290394,127266421,0,0x0,8
tick,0x7ffcc6290394,127282249,0,0x0,8
tick,0x7ffcc6290394,127297686,0,0x0,8
tick,0x7ffcc6290394,127313548,0,0x0,8
tick,0x7ffcc6290394,127328807,0,0x0,8
tick,0x7ffcc6290394,127344430,0,0x0,8
tick,0x7ffcc6290394,127359358,0,0x0,8
tick,0x7ffcc6290394,127374668,0,0x0,8
tick,0x7ffcc6290394,127390602,0,0x0,8
tick,0x7ffcc6290394,127406277,0,0x0,8
tick,0x7ffcc6290394,127422340,0,0x0,8
tick,0x7ffcc6290394,127438213,0,0x0,8
tick,0x7ffcc6290394,127453727,0,0x0,8
tick,0x7ffcc6290394,127469623,0,0x0,8
tick,0x7ffcc6290394,127485441,0,0x0,8
tick,0x7ffcc6290394,127501260,0,0x0,8
tick,0x7ffcc6290394,127516157,0,0x0,8
tick,0x7ffcc6290394,127532001,0,0x0,8
tick,0x7ffcc6290394,127547366,0,0x0,8
tick,0x7ffcc6290394,127563066,0,0x0,8
tick,0x7ffcc6290394,127578371,0,0x0,8
tick,0x7ffcc6290394,127594410,0,0x0,8
tick,0x7ffcc6290394,127609747,0,0x0,8
tick,0x7ffcc6290394,127625718,0,0x0,8
tick,0x7ffcc6290394,127641672,0,0x0,8
tick,0x7ffcc6290394,127657190,0,0x0,8
tick,0x7ffcc6290394,127672924,0,0x0,8
tick,0x7ffcc6290394,127687997,0,0x0,8
tick,0x7ffcc6290394,127703194,0,0x0,8
tick,0x7ffcc6290394,127718727,0,0x0,8
tick,0x7ffcc6290394,127734439,0,0x0,8
tick,0x7ffcc6290394,127749729,0,0x0,8
tick,0x7ffcc6290394,127764976,0,0x0,8
tick,0x7ffcc6290394,127780689,0,0x0,8
tick,0x7ffcc6290394,127796457,0,0x0,8
tick,0x7ffcc6290394,127812036,0,0x0,8
tick,0x7ffcc6290394,127827436,0,0x0,8
tick,0x7ffcc6290394,127842826,0,0x0,8
tick,0x7ffcc6290394,127859403,0,0x0,8
tick,0x7ffcc6290394,127874074,0,0x0,8
tick,0x7ffcc6290394,127889551,0,0x0,8
tick,0x7ffcc6290394,127904909,0,0x0,8
tick,0x7ffcc6290394,127920665,0,0x0,8
tick,0x7ffcc6290394,127936673,0,0x0,8
tick,0x7ffcc6290394,127952124,0,0x0,8
tick,0x7ffcc6290394,127967331,0,0x0,8
tick,0x7ffcc6290394,127982658,0,0x0,8
tick,0x7ffcc6290394,127997691,0,0x0,8
tick,0x7ffcc6290394,128013904,0,0x0,8
tick,0x7ffcc6290394,128029477,0,0x0,8
tick,0x7ffcc6290394,128045291,0,0x0,8
tick,0x7ffcc6290394,128060446,0,0x0,8
tick,0x7ffcc6290394,128075829,0,0x0,8
tick,0x7ffcc6290394,128091908,0,0x0,8
tick,0x7ffcc6290394,128107461,0,0x0,8
tick,0x7ffcc6290394,128123349,0,0x0,8
tick,0x7ffcc6290394,128139345,0,0x0,8
tick,0x7ffcc6290394,128154703,0,0x0,8
tick,0x7ffcc6290394,128169633,0,0x0,8
tick,0x7ffcc6290394,128185537,0,0x0,8
tick,0x7ffcc6290394,128201015,0,0x0,8
tick,0x7ffcc6290394,128216370,0,0x0,8
tick,0x7ffcc6290394,128231608,0,0x0,8
tick,0x7ffcc6290394,128247576,0,0x0,8
tick,0x7ffcc6290394,128263226,0,0x0,8
tick,0x7ffcc6290394,128278849,0,0x0,8
tick,0x7ffcc6290394,128293881,0,0x0,8
tick,0x7ffcc6290394,128309092,0,0x0,8
tick,0x7ffcc6290394,128325183,0,0x0,8
tick,0x7ffcc6290394,128340492,0,0x0,8
tick,0x7ffcc6290394,128356449,0,0x0,8
tick,0x7ffcc6290394,128372515,0,0x0,8
tick,0x7ffcc6290394,128388033,0,0x0,8
tick,0x7ffcc6290394,128403277,0,0x0,8
tick,0x7ffcc6290394,128419301,0,0x0,8
tick,0x7ffcc6290394,128435085,0,0x0,8
tick,0x7ffcc6290394,128451117,0,0x0,8
tick,0x7ffcc6290394,128466973,0,0x0,8
tick,0x7ffcc6290394,128482881,0,0x0,8
tick,0x7ffcc6290394,128498785,0,0x0,8
tick,0x7ffcc6290394,128514272,0,0x0,8
tick,0x7ffcc6290394,128529674,0,0x0,8
tick,0x7ffcc6290394,128545902,0,0x0,8
tick,0x7ffcc6290394,128561966,0,0x0,8
tick,0x7ffcc6290394,128577926,0,0x0,8
tick,0x7ffcc6290394,128593378,0,0x0,8
tick,0x7ffcc6290394,128609401,0,0x0,8
tick,0x7ffcc6290394,128625074,0,0x0,8
tick,0x7ffcc6290394,128640265,0,0x0,8
tick,0x7ffcc6290394,128656072,0,0x0,8
tick,0x7ffcc6290394,128671719,0,0x0,8
tick,0x7ffcc6290394,128687377,0,0x0,8
tick,0x7ffcc6290394,128703074,0,0x0,8
tick,0x7ffcc6290394,128718849,0,0x0,8
tick,0x7ffcc6290394,128733818,0,0x0,8
tick,0x7ffcc6290394,128749330,0,0x0,8
tick,0x7ffcc6290394,128764940,0,0x0,8
tick,0x7ffcc6290394,128780103,0,0x0,8
tick,0x7ffcc6290394,128796094,0,0x0,8
tick,0x7ffcc6290394,128810865,0,0x0,8
tick,0x7ffcc6290394,128825588,0,0x0,8
tick,0x7ffcc6290394,128841281,0,0x0,8
tick,0x7ffcc6290394,128857236,0,0x0,8
tick,0x7ffcc6290394,128872183,0,0x0,8
tick,0x7ffcc6290394,128887729,0,0x0,8
tick,0x7ffcc6290394,128902868,0,0x0,8
tick,0x7ffcc6290394,128918397,0,0x0,8
tick,0x7ffcc6290394,128933566,0,0x0,8
tick,0x7ffcc6290394,128949402,0,0x0,8
tick,0x7ffcc6290394,128964944,0,0x0,8
tick,0x7ffcc6290394,128980590,0,0x0,8
tick,0x7ffcc6290394,128996439,0,0x0,8
tick,0x7ffcc6290394,129012576,0,0x0,8
tick,0x7ffcc6290394,129028477,0,0x0,8
tick,0x7ffcc6290394,129044279,0,0x0,8
tick,0x7ffcc6290394,129060045,0,0x0,8
tick,0x7ffcc6290394,129075574,0,0x0,8
tick,0x7ffcc6290394,129091091,0,0x0,8
tick,0x7ffcc6290394,129106708,0,0x0,8
tick,0x7ffcc6290394,129122884,0,0x0,8
tick,0x7ffcc6290394,129138648,0,0x0,8
tick,0x7ffcc6290394,129154388,0,0x0,8
tick,0x7ffcc6290394,129170132,0,0x0,8
tick,0x7ffcc6290394,129186070,0,0x0,8
tick,0x7ffcc6290394,129202212,0,0x0,8
tick,0x7ffcc6290394,129217655,0,0x0,8
tick,0x7ffcc6290394,129233198,0,0x0,8
tick,0x7ffcc6290394,129248535,0,0x0,8
tick,0x7ffcc6290394,129264020,0,0x0,8
tick,0x7ffcc6290394,129279673,0,0x0,8
tick,0x7ffcc6290394,129295186,0,0x0,8
tick,0x7ffcc6290394,129310688,0,0x0,8
tick,0x7ffcc6290394,129326350,0,0x0,8
tick,0x7ffcc6290394,129341909,0,0x0,8
tick,0x7ffcc6290394,129357328,0,0x0,8
tick,0x7ffcc6290394,129372600,0,0x0,8
tick,0x7ffcc6290394,129387787,0,0x0,8
tick,0x7ffcc6290394,129403557,0,0x0,8
tick,0x7ffcc6290394,129418674,0,0x0,8
tick,0x7ffcc6290394,129434618,0,0x0,8
tick,0x7ffcc6290394,129449778,0,0x0,8
tick,0x7ffcc6290394,129465272,0,0x0,8
tick,0x7ffcc6290394,129480593,0,0x0,8
tick,0x7ffcc6290394,129496573,0,0x0,8
tick,0x7ffcc6290394,129512548,0,0x0,8
tick,0x7ffcc6290394,129527700,0,0x0,8
tick,0x7ffcc6290394,129543390,0,0x0,8
tick,0x7ffcc6290394,129558995,0,0x0,8
tick,0x7ffcc6290394,129574268,0,0x0,8
tick,0x7ffcc6290394,129590215,0,0x0,8
tick,0x7ffcc6290394,129605699,0,0x0,8
tick,0x7ffcc6290394,129620825,0,0x0,8
tick,0x7ffcc6290394,129636763,0,0x0,8
tick,0x7ffcc6290394,129652413,0,0x0,8
tick,0x7ffcc6290394,129667673,0,0x0,8
tick,0x7ffcc6290394,129683824,0,0x0,8
tick,0x7ffcc6290394,129699984,0,0x0,8
tick,0x7ffcc6290394,129714739,0,0x0,8
tick,0x7ffcc6290394,129730596,0,0x0,8
tick,0x7ffcc6290394,129746235,0,0x0,8
tick,0x7ffcc6290394,129762022,0,0x0,8
tick,0x7ffcc6290394,129777466,0,0x0,8
tick,0x7ffcc6290394,129792600,0,0x0,8
tick,0x7ffcc6290394,129808615,0,0x0,8
tick,0x7ffcc6290394,129824092,0,0x0,8
tick,0x7ffcc6290394,129839688,0,0x0,8
tick,0x7ffcc6290394,129855616,0,0x0,8
tick,0x7ffcc6290394,129871111,0,0x0,8
tick,0x7ffcc6290394,129886477,0,0x0,8
tick,0x7ffcc6290394,129902283,0,0x0,8
tick,0x7ffcc6290394,129917605,0,0x0,8
tick,0x7ffcc6290394,129932961,0,0x0,8
tick,0x7ffcc6290394,129949057,0,0x0,8
tick,0x7ffcc6290394,129964832,0,0x0,8
tick,0x7ffcc6290394,129979580,0,0x0,8
tick,0x7ffcc6290394,129994747,0,0x0,8
tick,0x7ffcc6290394,130010491,0,0x0,8
tick,0x7ffcc6290394,130026178,0,0x0,8
tick,0x7ffcc6290394,130041296,0,0x0,8
tick,0x7ffcc6290394,130056899,0,0x0,8
tick,0x7ffcc6290394,130072714,0,0x0,8
tick,0x7ffcc6290394,130088272,0,0x0,8
tick,0x7ffcc6290394,130103773,0,0x0,8
tick,0x7ffcc6290394,130119634,0,0x0,8
tick,0x7ffcc6290394,130135211,0,0x0,8
tick,0x7ffcc6290394,130150645,0,0x0,8
tick,0x7ffcc6290394,130166026,0,0x0,8
tick,0x7ffcc6290394,130181318,0,0x0,8
tick,0x7ffcc6290394,130197069,0,0x0,8
tick,0x7ffcc6290394,130212191,0,0x0,8
tick,0x7ffcc6290394,130227476,0,0x0,8
tick,0x7ffcc6290394,130243533,0,0x0,8
tick,0x7ffcc6290394,130258609,0,0x0,8
tick,0x7ffcc6290394,130273869,0,0x0,8
tick,0x7ffcc6290394,130289416,0,0x0,8
tick,0x7ffcc6290394,130305054,0,0x0,8
tick,0x7ffcc6290394,130320836,0,0x0,8
tick,0x7ffcc6290394,130335983,0,0x0,8
tick,0x7ffcc6290394,130351561,0,0x0,8
tick,0x7ffcc6290394,130367234,0,0x0,8
tick,0x7ffcc6290394,130382956,0,0x0,8
tick,0x7ffcc6290394,130399114,0,0x0,8
tick,0x7ffcc6290394,130414947,0,0x0,8
tick,0x7ffcc6290394,130430419,0,0x0,8
tick,0x7ffcc6290394,130446101,0,0x0,8
tick,0x7ffcc6290394,130461714,0,0x0,8
tick,0x7ffcc6290394,130477472,0,0x0,8
tick,0x7ffcc6290394,130493427,0,0x0,8
tick,0x7ffcc6290394,130508792,0,0x0,8
tick,0x7ffcc6290394,130524845,0,0x0,8
tick,0x7ffcc6290394,130540189,0,0x0,8
tick,0x7ffcc6290394,130555429,0,0x0,8
tick,0x7ffcc6290394,130570677,0,0x0,8
tick,0x7ffcc6290394,130586060,0,0x0,8
tick,0x7ffcc6290394,130602258,0,0x0,8
tick,0x7ffcc6290394,130617696,0,0x0,8
tick,0x7ffcc6290394,130633709,0,0x0,8
tick,0x7ffcc6290394,130649631,0,0x0,8
tick,0x7ffcc6290394,130665029,0,0x0,8
tick,0x7ffcc6290394,130680216,0,0x0,8
tick,0x7ffcc6290394,130696021,0,0x0,8
tick,0x7ffcc6290394,130711945,0,0x0,8
tick,0x7ffcc6290394,130726598,0,0x0,8
tick,0x7ffcc6290394,130741390,0,0x0,8
tick,0x7ffcc6290394,130757269,0,0x0,8
tick,0x7ffcc6290394,130771900,0,0x0,8
tick,0x7ffcc6290394,130787844,0,0x0,8
tick,0x7ffcc6290394,130803369,0,0x0,8
tick,0x7ffcc6290394,130818577,0,0x0,8
tick,0x7ffcc6290394,130833875,0,0x0,8
tick,0x7ffcc6290394,130848586,0,0x0,8
tick,0x7ffcc6290394,130863970,0,0x0,8
tick,0x7ffcc6290394,130879511,0,0x0,8
tick,0x7ffcc6290394,130895524,0,0x0,8
tick,0x7ffcc6290394,130911878,0,0x0,8
tick,0x7ffcc6290394,130927485,0,0x0,8
tick,0x7ffcc6290394,130942618,0,0x0,8
tick,0x7ffcc6290394,130958404,0,0x0,8
tick,0x7ffcc6290394,130974219,0,0x0,8
tick,0x7ffcc6290394,130989247,0,0x0,8
tick,0x7ffcc6290394,131005275,0,0x0,8
tick,0x7ffcc6290394,131020337,0,0x0,8
tick,0x7ffcc6290394,131035859,0,0x0,8
tick,0x7ffcc6290394,131051598,0,0x0,8
tick,0x7ffcc6290394,131067434,0,0x0,8
tick,0x7ffcc6290394,131083186,0,0x0,8
tick,0x7ffcc6290394,131098585,0,0x0,8
tick,0x7ffcc6290394,131114178,0,0x0,8
tick,0x7ffcc6290394,131130011,0,0x0,8
tick,0x7ffcc6290394,131144807,0,0x0,8
tick,0x7ffcc6290394,131160807,0,0x0,8
tick,0x7ffcc6290394,131176458,0,0x0,8
tick,0x7ffcc6290394,131192285,0,0x0,8
tick,0x7ffcc6290394,131207595,0,0x0,8
tick,0x7ffcc6290394,131223054,0,0x0,8
tick,0x7ffcc6290394,131238314,0,0x0,8
tick,0x7ffcc6290394,131253949,0,0x0,8
tick,0x7ffcc6290394,131269939,0,0x0,8
tick,0x7ffcc6290394,131285514,0,0x0,8
tick,0x7ffcc6290394,131301477,0,0x0,8
tick,0x7ffcc6290394,131317438,0,0x0,8
tick,0x7ffcc6290394,131332846,0,0x0,8
tick,0x7ffcc6290394,131348891,0,0x0,8
tick,0x7ffcc6290394,131364407,0,0x0,8
tick,0x7ffcc6290394,131380656,0,0x0,8
tick,0x7ffcc6290394,131396251,0,0x0,8
tick,0x7ffcc6290394,131412354,0,0x0,8
tick,0x7ffcc6290394,131427439,0,0x0,8
tick,0x7ffcc6290394,131443159,0,0x0,8
tick,0x7ffcc6290394,131459284,0,0x0,8
tick,0x7ffcc6290394,131475101,0,0x0,8
tick,0x7ffcc6290394,131490325,0,0x0,8
tick,0x7ffcc6290394,131506250,0,0x0,8
tick,0x7ffcc6290394,131522013,0,0x0,8
tick,0x7ffcc6290394,131537689,0,0x0,8
tick,0x7ffcc6290394,131552576,0,0x0,8
tick,0x7ffcc6290394,131568220,0,0x0,8
tick,0x7ffcc6290394,131583208,0,0x0,8
tick,0x7ffcc6290394,131598490,0,0x0,8
tick,0x7ffcc6290394,131614809,0,0x0,8
tick,0x7ffcc6290394,131630400,0,0x0,8
tick,0x7ffcc6290394,131645689,0,0x0,8
tick,0x7ffcc6290394,131661052,0,0x0,8
tick,0x7ffcc6290394,131677074,0,0x0,8
tick,0x7ffcc6290394,131692451,0,0x0,8
tick,0x7ffcc6290394,131707939,0,0x0,8
tick,0x7ffcc6290394,131724647,0,0x0,8
tick,0x7ffcc6290394,131739779,0,0x0,8
tick,0x7ffcc6290394,131755907,0,0x0,8
tick,0x7ffcc6290394,131771830,0,0x0,8
tick,0x7ffcc6290394,131787614,0,0x0,8
tick,0x7ffcc6290394,131803246,0,0x0,8
tick,0x7ffcc6290394,131818047,0,0x0,8
tick,0x7ffcc6290394,131833188,0,0x0,8
tick,0x7ffcc6290394,131848070,0,0x0,8
tick,0x7ffcc6290394,131863810,0,0x0,8
tick,0x7ffcc6290394,131878997,0,0x0,8
tick,0x7ffcc6290394,131894585,0,0x0,8
tick,0x7ffcc6290394,131909625,0,0x0,8
tick,0x7ffcc6290394,131925085,0,0x0,8
tick,0x7ffcc6290394,131941099,0,0x0,8
tick,0x7ffcc6290394,131956518,0,0x0,8
tick,0x7ffcc6290394,131972509,0,0x0,8
tick,0x7ffcc6290394,131987877,0,0x0,8
tick,0x7ffcc6290394,132003594,0,0x0,8
tick,0x7ffcc6290394,132019329,0,0x0,8
tick,0x7ffcc6290394,132035369,0,0x0,8
tick,0x7ffcc6290394,132051278,0,0x0,8
tick,0x7ffcc6290394,132067208,0,0x0,8
tick,0x7ffcc6290394,132083062,0,0x0,8
tick,0x7ffcc6290394,132098574,0,0x0,8
tick,0x7ffcc6290394,132113691,0,0x0,8
tick,0x7ffcc6290394,132129542,0,0x0,8
tick,0x7ffcc6290394,132144470,0,0x0,8
tick,0x7ffcc6290394,132160279,0,0x0,8
tick,0x7ffcc6290394,132176330,0,0x0,8
tick,0x7ffcc6290394,132192454,0,0x0,8
tick,0x7ffcc6290394,132207126,0,0x0,8
tick,0x7ffcc6290394,132222700,0,0x0,8
tick,0x7ffcc6290394,132238449,0,0x0,8
tick,0x7ffcc6290394,132254048,0,0x0,8
tick,0x7ffcc6290394,132269036,0,0x0,8
tick,0x7ffcc6290394,132284919,0,0x0,8
tick,0x7ffcc6290394,132300594,0,0x0,8
tick,0x7ffcc6290394,132316491,0,0x0,8
tick,0x7ffcc6290394,132331871,0,0x0,8
tick,0x7ffcc6290394,132347971,0,0x0,8
tick,0x7ffcc6290394,132363394,0,0x0,8
tick,0x7ffcc6290394,132378703,0,0x0,8
tick,0x7ffcc6290394,132394394,0,0x0,8
tick,0x7ffcc6290394,132410414,0,0x0,8
tick,0x7ffcc6290394,132425901,0,0x0,8
tick,0x7ffcc6290394,132441195,0,0x0,8
tick,0x7ffcc6290394,132456653,0,0x0,8
tick,0x7ffcc6290394,132471986,0,0x0,8
tick,0x7ffcc6290394,132487104,0,0x0,8
tick,0x7ffcc6290394,132503072,0,0x0,8
tick,0x7ffcc6290394,132518944,0,0x0,8
tick,0x7ffcc6290394,132534081,0,0x0,8
tick,0x7ffcc6290394,132549684,0,0x0,8
tick,0x7ffcc6290394,132565455,0,0x0,8
tick,0x7ffcc6290394,132580686,0,0x0,8
tick,0x7ffcc6290394,132596089,0,0x0,8
tick,0x7ffcc6290394,132611997,0,0x0,8
tick,0x7ffcc6290394,132627248,0,0x0,8
tick,0x7ffcc6290394,132642977,0,0x0,8
tick,0x7ffcc6290394,132658452,0,0x0,8
tick,0x7ffcc6290394,132674161,0,0x0,8
tick,0x7ffcc6290394,132689791,0,0x0,8
tick,0x7ffcc6290394,132705509,0,0x0,8
tick,0x7ffcc6290394,132721441,0,0x0,8
tick,0x7ffcc6290394,132737075,0,0x0,8
tick,0x7ffcc6290394,132752614,0,0x0,8
tick,0x7ffcc6290394,132767768,0,0x0,8
tick,0x7ffcc6290394,132783333,0,0x0,8
tick,0x7ffcc6290394,132799124,0,0x0,8
tick,0x7ffcc6290394,132814904,0,0x0,8
tick,0x7ffcc6290394,132830876,0,0x0,8
tick,0x7ffcc6290394,132846760,0,0x0,8
tick,0x7ffcc6290394,132862674,0,0x0,8
tick,0x7ffcc6290394,132878384,0,0x0,8
tick,0x7ffcc6290394,132893290,0,0x0,8
tick,0x7ffcc6290394,132909155,0,0x0,8
tick,0x7ffcc6290394,132924844,0,0x0,8
tick,0x7ffcc6290394,132940653,0,0x0,8
tick,0x7ffcc6290394,132956379,0,0x0,8
tick,0x7ffcc6290394,132971367,0,0x0,8
tick,0x7ffcc6290394,132987077,0,0x0,8
tick,0x7ffcc6290394,133002575,0,0x0,8
tick,0x7ffcc6290394,133018676,0,0x0,8
tick,0x7ffcc6290394,133034453,0,0x0,8
tick,0x7ffcc6290394,133049552,0,0x0,8
tick,0x7ffcc6290394,133065604,0,0x0,8
tick,0x7ffcc6290394,133081547,0,0x0,8
tick,0x7ffcc6290394,133096865,0,0x0,8
tick,0x7ffcc6290394,133112497,0,0x0,8
tick,0x7ffcc6290394,133127665,0,0x0,8
tick,0x7ffcc6290394,133144643,0,0x0,8
tick,0x7ffcc6290394,133159671,0,0x0,8
tick,0x7ffcc6290394,133175393,0,0x0,8
tick,0x7ffcc6290394,133191327,0,0x0,8
tick,0x7ffcc6290394,133206204,0,0x0,8
tick,0x7ffcc6290394,133221597,0,0x0,8
tick,0x7ffcc6290394,133237907,0,0x0,8
tick,0x7ffcc6290394,133253565,0,0x0,8
tick,0x7ffcc6290394,133268748,0,0x0,8
tick,0x7ffcc6290394,133284138,0,0x0,8
tick,0x7ffcc6290394,133299314,0,0x0,8
tick,0x7ffcc6290394,133314652,0,0x0,8
tick,0x7ffcc6290394,133330415,0,0x0,8
tick,0x7ffcc6290394,133345971,0,0x0,8
tick,0x7ffcc6290394,133361679,0,0x0,8
tick,0x7ffcc6290394,133377383,0,0x0,8
tick,0x7ffcc6290394,133393275,0,0x0,8
tick,0x7ffcc6290394,133408797,0,0x0,8
tick,0x7ffcc6290394,133424219,0,0x0,8
tick,0x7ffcc6290394,133440092,0,0x0,8
tick,0x7ffcc6290394,133455967,0,0x0,8
tick,0x7ffcc6290394,133471437,0,0x0,8
tick,0x7ffcc6290394,133487337,0,0x0,8
tick,0x7ffcc6290394,133502587,0,0x0,8
tick,0x7ffcc6290394,133518204,0,0x0,8
tick,0x7ffcc6290394,133534110,0,0x0,8
tick,0x7ffcc6290394,133549817,0,0x0,8
tick,0x7ffcc6290394,133565348,0,0x0,8
tick,0x7ffcc6290394,133580943,0,0x0,8
tick,0x7ffcc6290394,133596558,0,0x0,8
tick,0x7ffcc6290394,133611853,0,0x0,8
tick,0x7ffcc6290394,133627482,0,0x0,8
tick,0x7ffcc6290394,133642869,0,0x0,8
tick,0x7ffcc6290394,133657601,0,0x0,8
tick,0x7ffcc6290394,133673507,0,0x0,8
tick,0x7ffcc6290394,133689404,0,0x0,8
tick,0x7ffcc6290394,133705167,0,0x0,8
tick,0x7ffcc6290394,133720789,0,0x0,8
tick,0x7ffcc6290394,133736367,0,0x0,8
tick,0x7ffcc6290394,133751667,0,0x0,8
tick,0x7ffcc6290394,133767124,0,0x0,8
tick,0x7ffcc6290394,133782881,0,0x0,8
tick,0x7ffcc6290394,133798147,0,0x0,8
tick,0x7ffcc6290394,133814237,0,0x0,8
tick,0x7ffcc6290394,133830031,0,0x0,8
tick,0x7ffcc6290394,133846150,0,0x0,8
tick,0x7ffcc6290394,133862007,0,0x0,8
tick,0x7ffcc6290394,133876976,0,0x0,8
tick,0x7ffcc6290394,133892378,0,0x0,8
tick,0x7ffcc6290394,133908190,0,0x0,8
tick,0x7ffcc6290394,133923653,0,0x0,8
tick,0x7ffcc6290394,133938693,0,0x0,8
tick,0x7ffcc6290394,133954679,0,0x0,8
tick,0x7ffcc6290394,133970256,0,0x0,8
tick,0x7ffcc6290394,133985331,0,0x0,8
tick,0x7ffcc6290394,134001206,0,0x0,8
tick,0x7ffcc6290394,134016828,0,0x0,8
tick,0x7ffcc6290394,134032942,0,0x0,8
tick,0x7ffcc6290394,134048833,0,0x0,8
tick,0x7ffcc6290394,134064511,0,0x0,8
tick,0x7ffcc6290394,134080351,0,0x0,8
tick,0x7ffcc6290394,134095511,0,0x0,8
tick,0x7ffcc6290394,134111456,0,0x0,8
tick,0x7ffcc6290394,134126816,0,0x0,8
tick,0x7ffcc6290394,134141795,0,0x0,8
tick,0x7ffcc6290394,134157860,0,0x0,8
tick,0x7ffcc6290394,134173253,0,0x0,8
tick,0x7ffcc6290394,134188524,0,0x0,8
tick,0x7ffcc6290394,134203414,0,0x0,8
tick,0x7ffcc6290394,134219350,0,0x0,8
tick,0x7ffcc6290394,134234696,0,0x0,8
tick,0x7ffcc6290394,134250428,0,0x0,8
tick,0x7ffcc6290394,134266062,0,0x0,8
tick,0x7ffcc6290394,134282154,0,0x0,8
tick,0x7ffcc6290394,134297271,0,0x0,8
tick,0x7ffcc6290394,134313123,0,0x0,8
tick,0x7ffcc6290394,134328924,0,0x0,8
tick,0x7ffcc6290394,134344248,0,0x0,8
tick,0x7ffcc6290394,134359585,0,0x0,8
tick,0x7ffcc6290394,134375280,0,0x0,8
tick,0x7ffcc6290394,134390743,0,0x0,8
tick,0x7ffcc6290394,134405782,0,0x0,8
tick,0x7ffcc6290394,134421265,0,0x0,8
tick,0x7ffcc6290394,134441051,0,0x0,8
tick,0x7ffcc6290394,134455986,0,0x0,8
tick,0x7ffcc6290394,134467757,0,0x0,8
tick,0x7ffcc6290394,134484180,0,0x0,8
tick,0x7ffcc6290394,134499981,0,0x0,8
tick,0x7ffcc6290394,134515538,0,0x0,8
tick,0x7ffcc6290394,134530860,0,0x0,8
tick,0x7ffcc6290394,134546096,0,0x0,8
tick,0x7ffcc6290394,134561639,0,0x0,8
tick,0x7ffcc6290394,134577276,0,0x0,8
tick,0x7ffcc6290394,134592935,0,0x0,8
tick,0x7ffcc6290394,134608516,0,0x0,8
tick,0x7ffcc6290394,134624171,0,0x0,8
tick,0x7ffcc6290394,134639111,0,0x0,8
tick,0x7ffcc6290394,134655072,0,0x0,8
tick,0x7ffcc6290394,134670961,0,0x0,8
tick,0x7ffcc6290394,134686453,0,0x0,8
tick,0x7ffcc6290394,134702545,0,0x0,8
tick,0x7ffcc6290394,134718326,0,0x0,8
tick,0x7ffcc6290394,134733424,0,0x0,8
tick,0x7ffcc6290394,134748936,0,0x0,8
tick,0x7ffcc6290394,134765030,0,0x0,8
tick,0x7ffcc6290394,134780840,0,0x0,8
tick,0x7ffcc6290394,134796498,0,0x0,8
tick,0x7ffcc6290394,134812071,0,0x0,8
tick,0x7ffcc6290394,134827902,0,0x0,8
tick,0x7ffcc6290394,134843978,0,0x0,8
tick,0x7ffcc6290394,134859800,0,0x0,8
tick,0x7ffcc6290394,134875512,0,0x0,8
tick,0x7ffcc6290394,134890462,0,0x0,8
tick,0x7ffcc6290394,134906073,0,0x0,8
tick,0x7ffcc6290394,134921128,0,0x0,8
tick,0x7ffcc6290394,134936664,0,0x0,8
tick,0x7ffcc6290394,134952573,0,0x0,8
tick,0x7ffcc6290394,134968134,0,0x0,8
tick,0x7ffcc6290394,134982895,0,0x0,8
tick,0x7ffcc6290394,134998756,0,0x0,8
tick,0x7ffcc6290394,135014061,0,0x0,8
tick,0x7ffcc6290394,135029982,0,0x0,8
tick,0x7ffcc6290394,135045964,0,0x0,8
tick,0x7ffcc6290394,135060806,0,0x0,8
tick,0x7ffcc6290394,135076628,0,0x0,8
tick,0x7ffcc6290394,135092460,0,0x0,8
tick,0x7ffcc6290394,135108321,0,0x0,8
tick,0x7ffcc6290394,135123353,0,0x0,8
tick,0x7ffcc6290394,135139421,0,0x0,8
tick,0x7ffcc6290394,135155334,0,0x0,8
tick,0x7ffcc6290394,135170958,0,0x0,8
tick,0x7ffcc6290394,135185861,0,0x0,8
tick,0x7ffcc6290394,135201845,0,0x0,8
tick,0x7ffcc6290394,135217484,0,0x0,8
tick,0x7ffcc6290394,135233517,0,0x0,8
tick,0x7ffcc6290394,135248725,0,0x0,8
tick,0x7ffcc6290394,135264152,0,0x0,8
tick,0x7ffcc6290394,135278994,0,0x0,8
tick,0x7ffcc6290394,135294980,0,0x0,8
tick,0x7ffcc6290394,135310909,0,0x0,8
tick,0x7ffcc6290394,135326868,0,0x0,8
tick,0x7ffcc6290394,135342021,0,0x0,8
tick,0x7ffcc6290394,135356574,0,0x0,8
tick,0x7ffcc6290394,135372563,0,0x0,8
tick,0x7ffcc6290394,135387377,0,0x0,8
tick,0x7ffcc6290394,135403301,0,0x0,8
tick,0x7ffcc6290394,135419188,0,0x0,8
tick,0x7ffcc6290394,135434559,0,0x0,8
tick,0x7ffcc6290394,135450514,0,0x0,8
tick,0x7ffcc6290394,135465787,0,0x0,8
tick,0x7ffcc6290394,135480937,0,0x0,8
tick,0x7ffcc6290394,135495864,0,0x0,8
tick,0x7ffcc6290394,135511446,0,0x0,8
tick,0x7ffcc6290394,135527400,0,0x0,8
tick,0x7ffcc6290394,135543108,0,0x0,8
tick,0x7ffcc6290394,135558735,0,0x0,8
tick,0x7ffcc6290394,135575367,0,0x0,8
tick,0x7ffcc6290394,135590449,0,0x0,8
tick,0x7ffcc6290394,135605824,0,0x0,8
tick,0x7ffcc6290394,135621573,0,0x0,8
tick,0x7ffcc6290394,135636917,0,0x0,8
tick,0x7ffcc6290394,135652523,0,0x0,8
tick,0x7ffcc6290394,135668230,0,0x0,8
tick,0x7ffcc6290394,135683717,0,0x0,8
tick,0x7ffcc6290394,135699170,0,0x0,8
tick,0x7ffcc6290394,135715209,0,0x0,8
tick,0x7ffcc6290394,135730972,0,0x0,8
tick,0x7ffcc6290394,135746153,0,0x0,8
tick,0x7ffcc6290394,135762099,0,0x0,8
tick,0x7ffcc6290394,135777507,0,0x0,8
tick,0x7ffcc6290394,135793043,0,0x0,8
tick,0x7ffcc6290394,135808810,0,0x0,8
tick,0x7ffcc6290394,135824441,0,0x0,8
tick,0x7ffcc6290394,135840376,0,0x0,8
tick,0x7ffcc6290394,135855436,0,0x0,8
tick,0x7ffcc6290394,135871514,0,0x0,8
tick,0x7ffcc6290394,135887168,0,0x0,8
tick,0x7ffcc6290394,135903128,0,0x0,8
tick,0x7ffcc6290394,135918684,0,0x0,8
tick,0x7ffcc6290394,135934571,0,0x0,8
tick,0x7ffcc6290394,135950406,0,0x0,8
tick,0x7ffcc6290394,135965967,0,0x0,8
tick,0x7ffcc6290394,135981914,0,0x0,8
tick,0x7ffcc6290394,135997551,0,0x0,8
tick,0x7ffcc6290394,136013019,0,0x0,8
tick,0x7ffcc6290394,136028692,0,0x0,8
tick,0x7ffcc6290394,136043653,0,0x0,8
tick,0x7ffcc6290394,136059731,0,0x0,8
tick,0x7ffcc6290394,136075673,0,0x0,8
tick,0x7ffcc6290394,136091611,0,0x0,8
tick,0x7ffcc6290394,136107469,0,0x0,8
tick,0x7ffcc6290394,136122898,0,0x0,8
tick,0x7ffcc6290394,136138641,0,0x0,8
tick,0x7ffcc6290394,136154527,0,0x0,8
tick,0x7ffcc6290394,136169330,0,0x0,8
tick,0x7ffcc6290394,136185389,0,0x0,8
tick,0x7ffcc6290394,136200273,0,0x0,8
tick,0x7ffcc6290394,136215472,0,0x0,8
tick,0x7ffcc6290394,136231251,0,0x0,8
tick,0x7ffcc6290394,136247059,0,0x0,8
tick,0x7ffcc6290394,136262705,0,0x0,8
tick,0x7ffcc6290394,136278583,0,0x0,8
tick,0x7ffcc6290394,136294742,0,0x0,8
tick,0x7ffcc6290394,136310527,0,0x0,8
tick,0x7ffcc6290394,136325645,0,0x0,8
tick,0x7ffcc6290394,136342136,0,0x0,8
tick,0x7ffcc6290394,136357647,0,0x0,8
tick,0x7ffcc6290394,136372509,0,0x0,8
tick,0x7ffcc6290394,136388391,0,0x0,8
tick,0x7ffcc6290394,136403280,0,0x0,8
tick,0x7ffcc6290394,136418673,0,0x0,8
tick,0x7ffcc6290394,136433930,0,0x0,8
tick,0x7ffcc6290394,136448421,0,0x0,8
tick,0x7ffcc6290394,136463794,0,0x0,8
tick,0x7ffcc6290394,136479195,0,0x0,8
tick,0x7ffcc6290394,136494370,0,0x0,8
tick,0x7ffcc6290394,136509553,0,0x0,8
tick,0x7ffcc6290394,136525171,0,0x0,8
tick,0x7ffcc6290394,136540070,0,0x0,8
tick,0x7ffcc6290394,136555894,0,0x0,8
tick,0x7ffcc6290394,136571598,0,0x0,8
tick,0x7ffcc6290394,136586832,0,0x0,8
tick,0x7ffcc6290394,136602675,0,0x0,8
tick,0x7ffcc6290394,136617984,0,0x0,8
tick,0x7ffcc6290394,136633501,0,0x0,8
tick,0x7ffcc6290394,136649121,0,0x0,8
tick,0x7ffcc6290394,136664814,0,0x0,8
tick,0x7ffcc6290394,136681138,0,0x0,8
tick,0x7ffcc6290394,136696270,0,0x0,8
tick,0x7ffcc6290394,136711733,0,0x0,8
tick,0x7ffcc6290394,136727067,0,0x0,8
tick,0x7ffcc6290394,136742658,0,0x0,8
tick,0x7ffcc6290394,136758116,0,0x0,8
tick,0x7ffcc6290394,136773637,0,0x0,8
tick,0x7ffcc6290394,136789509,0,0x0,8
tick,0x7ffcc6290394,136805071,0,0x0,8
tick,0x7ffcc6290394,136819907,0,0x0,8
tick,0x7ffcc6290394,136835782,0,0x0,8
tick,0x7ffcc6290394,136851098,0,0x0,8
tick,0x7ffcc6290394,136866806,0,0x0,8
tick,0x7ffcc6290394,136882724,0,0x0,8
tick,0x7ffcc6290394,136898299,0,0x0,8
tick,0x7ffcc6290394,136913895,0,0x0,8
tick,0x7ffcc6290394,136929455,0,0x0,8
tick,0x7ffcc6290394,136945351,0,0x0,8
tick,0x7ffcc6290394,136961475,0,0x0,8
tick,0x7ffcc6290394,136976339,0,0x0,8
tick,0x7ffcc6290394,136992085,0,0x0,8
tick,0x7ffcc6290394,137008125,0,0x0,8
tick,0x7ffcc6290394,137023359,0,0x0,8
tick,0x7ffcc6290394,137038711,0,0x0,8
tick,0x7ffcc6290394,137053716,0,0x0,8
tick,0x7ffcc6290394,137069486,0,0x0,8
tick,0x7ffcc6290394,137084942,0,0x0,8
tick,0x7ffcc6290394,137100579,0,0x0,8
tick,0x7ffcc6290394,137116180,0,0x0,8
tick,0x7ffcc6290394,137131387,0,0x0,8
tick,0x7ffcc6290394,137147609,0,0x0,8
tick,0x7ffcc6290394,137162720,0,0x0,8
tick,0x7ffcc6290394,137177849,0,0x0,8
tick,0x7ffcc6290394,137193058,0,0x0,8
tick,0x7ffcc6290394,137208825,0,0x0,8
tick,0x7ffcc6290394,137223922,0,0x0,8
tick,0x7ffcc6290394,137239878,0,0x0,8
tick,0x7ffcc6290394,137255558,0,0x0,8
tick,0x7ffcc6290394,137271380,0,0x0,8
tick,0x7ffcc6290394,137286910,0,0x0,8
tick,0x7ffcc6290394,137303316,0,0x0,8
tick,0x7ffcc6290394,137319034,0,0x0,8
tick,0x7ffcc6290394,137335010,0,0x0,8
tick,0x7ffcc6290394,137350804,0,0x0,8
tick,0x7ffcc6290394,137366628,0,0x0,8
tick,0x7ffcc6290394,137382022,0,0x0,8
tick,0x7ffcc6290394,137398552,0,0x0,8
tick,0x7ffcc6290394,137413129,0,0x0,8
tick,0x7ffcc6290394,137428170,0,0x0,8
tick,0x7ffcc6290394,137443727,0,0x0,8
tick,0x7ffcc6290394,137458844,0,0x0,8
tick,0x7ffcc6290394,137474278,0,0x0,8
tick,0x7ffcc6290394,137489953,0,0x0,8
tick,0x7ffcc6290394,137505942,0,0x0,8
tick,0x7ffcc6290394,137521313,0,0x0,8
tick,0x7ffcc6290394,137537125,0,0x0,8
tick,0x7ffcc6290394,137552821,0,0x0,8
tick,0x7ffcc6290394,137569055,0,0x0,8
tick,0x7ffcc6290394,137584101,0,0x0,8
tick,0x7ffcc6290394,137600049,0,0x0,8
tick,0x7ffcc6290394,137615942,0,0x0,8
tick,0x7ffcc6290394,137631662,0,0x0,8
tick,0x7ffcc6290394,137647369,0,0x0,8
tick,0x7ffcc6290394,137662541,0,0x0,8
tick,0x7ffcc6290394,137678404,0,0x0,8
tick,0x7ffcc6290394,137693912,0,0x0,8
tick,0x7ffcc6290394,137709742,0,0x0,8
tick,0x7ffcc6290394,137725204,0,0x0,8
tick,0x7ffcc6290394,137740464,0,0x0,8
tick,0x7ffcc6290394,137756439,0,0x0,8
tick,0x7ffcc6290394,137772386,0,0x0,8
tick,0x7ffcc6290394,137788126,0,0x0,8
tick,0x7ffcc6290394,137803566,0,0x0,8
tick,0x7ffcc6290394,137819249,0,0x0,8
tick,0x7ffcc6290394,137834348,0,0x0,8
tick,0x7ffcc6290394,137850655,0,0x0,8
tick,0x7ffcc6290394,137866508,0,0x0,8
tick,0x7ffcc6290394,137881748,0,0x0,8
tick,0x7ffcc6290394,137897581,0,0x0,8
tick,0x7ffcc6290394,137912730,0,0x0,8
tick,0x7ffcc6290394,137927772,0,0x0,8
tick,0x7ffcc6290394,137943728,0,0x0,8
tick,0x7ffcc6290394,137958620,0,0x0,8
tick,0x7ffcc6290394,137973297,0,0x0,8
tick,0x7ffcc6290394,137989028,0,0x0,8
tick,0x7ffcc6290394,138003698,0,0x0,8
tick,0x7ffcc6290394,138018998,0,0x0,8
tick,0x7ffcc6290394,138034455,0,0x0,8
tick,0x7ffcc6290394,138050356,0,0x0,8
tick,0x7ffcc6290394,138066449,0,0x0,8
tick,0x7ffcc6290394,138081436,0,0x0,8
tick,0x7ffcc6290394,138097058,0,0x0,8
tick,0x7ffcc6290394,138112604,0,0x0,8
tick,0x7ffcc6290394,138128411,0,0x0,8
tick,0x7ffcc6290394,138143480,0,0x0,8
tick,0x7ffcc6290394,138159305,0,0x0,8
tick,0x7ffcc6290394,138175219,0,0x0,8
tick,0x7ffcc6290394,138190928,0,0x0,8
tick,0x7ffcc6290394,138206740,0,0x0,8
tick,0x7ffcc6290394,138222224,0,0x0,8
tick,0x7ffcc6290394,138238115,0,0x0,8
tick,0x7ffcc6290394,138253365,0,0x0,8
tick,0x7ffcc6290394,138269078,0,0x0,8
tick,0x7ffcc6290394,138284187,0,0x0,8
tick,0x7ffcc6290394,138299188,0,0x0,8
tick,0x7ffcc6290394,138314506,0,0x0,8
tick,0x7ffcc6290394,138330304,0,0x0,8
tick,0x7ffcc6290394,138345480,0,0x0,8
tick,0x7ffcc6290394,138361508,0,0x0,8
tick,0x7ffcc6290394,138377263,0,0x0,8
tick,0x7ffcc6290394,138393243,0,0x0,8
tick,0x7ffcc6290394,138408081,0,0x0,8
tick,0x7ffcc6290394,138423098,0,0x0,8
tick,0x7ffcc6290394,138439853,0,0x0,8
tick,0x7ffcc6290394,138455299,0,0x0,8
tick,0x7ffcc6290394,138470449,0,0x0,8
tick,0x7ffcc6290394,138485738,0,0x0,8
tick,0x7ffcc6290394,138501819,0,0x0,8
tick,0x7ffcc6290394,138517435,0,0x0,8
tick,0x7ffcc6290394,138532488,0,0x0,8
tick,0x7ffcc6290394,138548129,0,0x0,8
tick,0x7ffcc6290394,138563363,0,0x0,8
tick,0x7ffcc6290394,138579234,0,0x0,8
tick,0x7ffcc6290394,138594536,0,0x0,8
tick,0x7ffcc6290394,138609846,0,0x0,8
tick,0x7ffcc6290394,138625347,0,0x0,8
tick,0x7ffcc6290394,138640436,0,0x0,8
tick,0x7ffcc6290394,138656434,0,0x0,8
tick,0x7ffcc6290394,138672365,0,0x0,8
tick,0x7ffcc6290394,138687178,0,0x0,8
tick,0x7ffcc6290394,138703424,0,0x0,8
tick,0x7ffcc6290394,138718781,0,0x0,8
tick,0x7ffcc6290394,138734481,0,0x0,8
tick,0x7ffcc6290394,138750207,0,0x0,8
tick,0x7ffcc6290394,138765775,0,0x0,8
tick,0x7ffcc6290394,138781736,0,0x0,8
tick,0x7ffcc6290394,138797125,0,0x0,8
tick,0x7ffcc6290394,138813302,0,0x0,8
tick,0x7ffcc6290394,138828680,0,0x0,8
tick,0x7ffcc6290394,138843600,0,0x0,8
tick,0x7ffcc6290394,138859820,0,0x0,8
tick,0x7ffcc6290394,138875341,0,0x0,8
tick,0x7ffcc6290394,138890610,0,0x0,8
tick,0x7ffcc6290394,138905952,0,0x0,8
tick,0x7ffcc6290394,138920794,0,0x0,8
tick,0x7ffcc6290394,138935694,0,0x0,8
tick,0x7ffcc6290394,138951046,0,0x0,8
tick,0x7ffcc6290394,138966940,0,0x0,8
tick,0x7ffcc6290394,138982194,0,0x0,8
tick,0x7ffcc6290394,138997428,0,0x0,8
tick,0x7ffcc6290394,139013380,0,0x0,8
tick,0x7ffcc6290394,139029524,0,0x0,8
tick,0x7ffcc6290394,139045630,0,0x0,8
tick,0x7ffcc6290394,139060356,0,0x0,8
tick,0x7ffcc6290394,139076203,0,0x0,8
tick,0x7ffcc6290394,139091782,0,0x0,8
tick,0x7ffcc6290394,139107288,0,0x0,8
tick,0x7ffcc6290394,139122067,0,0x0,8
tick,0x7ffcc6290394,139137545,0,0x0,8
tick,0x7ffcc6290394,139153280,0,0x0,8
tick,0x7ffcc6290394,139168400,0,0x0,8
tick,0x7ffcc6290394,139183525,0,0x0,8
tick,0x7ffcc6290394,139199303,0,0x0,8
tick,0x7ffcc6290394,139214464,0,0x0,8
tick,0x7ffcc6290394,139229653,0,0x0,8
tick,0x7ffcc6290394,139244838,0,0x0,8
tick,0x7ffcc6290394,139260512,0,0x0,8
tick,0x7ffcc6290394,139276624,0,0x0,8
tick,0x7ffcc6290394,139292332,0,0x0,8
tick,0x7ffcc6290394,139307923,0,0x0,8
tick,0x7ffcc6290394,139322734,0,0x0,8
tick,0x7ffcc6290394,139338773,0,0x0,8
tick,0x7ffcc6290394,139354819,0,0x0,8
tick,0x7ffcc6290394,139370758,0,0x0,8
tick,0x7ffcc6290394,139386797,0,0x0,8
tick,0x7ffcc6290394,139402286,0,0x0,8
tick,0x7ffcc6290394,139417720,0,0x0,8
tick,0x7ffcc6290394,139432985,0,0x0,8
tick,0x7ffcc6290394,139448661,0,0x0,8
tick,0x7ffcc6290394,139463657,0,0x0,8
tick,0x7ffcc6290394,139479202,0,0x0,8
tick,0x7ffcc6290394,139494877,0,0x0,8
tick,0x7ffcc6290394,139510775,0,0x0,8
tick,0x7ffcc6290394,139526040,0,0x0,8
tick,0x7ffcc6290394,139541147,0,0x0,8
tick,0x7ffcc6290394,139556633,0,0x0,8
tick,0x7ffcc6290394,139572240,0,0x0,8
tick,0x7ffcc6290394,139587969,0,0x0,8
tick,0x7ffcc6290394,139603902,0,0x0,8
tick,0x7ffcc6290394,139618772,0,0x0,8
tick,0x7ffcc6290394,139634506,0,0x0,8
tick,0x7ffcc6290394,139650139,0,0x0,8
tick,0x7ffcc6290394,139666351,0,0x0,8
tick,0x7ffcc6290394,139682338,0,0x0,8
tick,0x7ffcc6290394,139698500,0,0x0,8
tick,0x7ffcc6290394,139714273,0,0x0,8
tick,0x7ffcc6290394,139729034,0,0x0,8
tick,0x7ffcc6290394,139744327,0,0x0,8
tick,0x7ffcc6290394,139759987,0,0x0,8
tick,0x7ffcc6290394,139776395,0,0x0,8
tick,0x7ffcc6290394,139792198,0,0x0,8
tick,0x7ffcc6290394,139807976,0,0x0,8
tick,0x7ffcc6290394,139824027,0,0x0,8
tick,0x7ffcc6290394,139840159,0,0x0,8
tick,0x7ffcc6290394,139855950,0,0x0,8
tick,0x7ffcc6290394,139871320,0,0x0,8
tick,0x7ffcc6290394,139886410,0,0x0,8
tick,0x7ffcc6290394,139901807,0,0x0,8
tick,0x7ffcc6290394,139917219,0,0x0,8
tick,0x7ffcc6290394,139933087,0,0x0,8
tick,0x7ffcc6290394,139949066,0,0x0,8
tick,0x7ffcc6290394,139964577,0,0x0,8
tick,0x7ffcc6290394,139979812,0,0x0,8
tick,0x7ffcc6290394,139995374,0,0x0,8
tick,0x7ffcc6290394,140010333,0,0x0,8
tick,0x7ffcc6290394,140026361,0,0x0,8
tick,0x7ffcc6290394,140041956,0,0x0,8
tick,0x7ffcc6290394,140057270,0,0x0,8
tick,0x7ffcc6290394,140072438,0,0x0,8
tick,0x7ffcc6290394,140088583,0,0x0,8
tick,0x7ffcc6290394,140103695,0,0x0,8
tick,0x7ffcc6290394,140119114,0,0x0,8
tick,0x7ffcc6290394,140134559,0,0x0,8
tick,0x7ffcc6290394,140149394,0,0x0,8
tick,0x7ffcc6290394,140164633,0,0x0,8
tick,0x7ffcc6290394,140179862,0,0x0,8
tick,0x7ffcc6290394,140195127,0,0x0,8
tick,0x7ffcc6290394,140210828,0,0x0,8
tick,0x7ffcc6290394,140226806,0,0x0,8
tick,0x7ffcc6290394,140242427,0,0x0,8
tick,0x7ffcc6290394,140258176,0,0x0,8
tick,0x7ffcc6290394,140274453,0,0x0,8
tick,0x7ffcc6290394,140289727,0,0x0,8
tick,0x7ffcc6290394,140305354,0,0x0,8
tick,0x7ffcc6290394,140320779,0,0x0,8
tick,0x7ffcc6290394,140336131,0,0x0,8
tick,0x7ffcc6290394,140352090,0,0x0,8
tick,0x7ffcc6290394,140367132,0,0x0,8
tick,0x7ffcc6290394,140382908,0,0x0,8
tick,0x7ffcc6290394,140398597,0,0x0,8
tick,0x7ffcc6290394,140414433,0,0x0,8
tick,0x7ffcc6290394,140430577,0,0x0,8
tick,0x7ffcc6290394,140445815,0,0x0,8
tick,0x7ffcc6290394,140460767,0,0x0,8
tick,0x7ffcc6290394,140476354,0,0x0,8
tick,0x7ffcc6290394,140491810,0,0x0,8
tick,0x7ffcc6290394,140507297,0,0x0,8
tick,0x7ffcc6290394,140523085,0,0x0,8
tick,0x7ffcc6290394,140538710,0,0x0,8
tick,0x7ffcc6290394,140554674,0,0x0,8
tick,0x7ffcc6290394,140570756,0,0x0,8
tick,0x7ffcc6290394,140585714,0,0x0,8
tick,0x7ffcc6290394,140601699,0,0x0,8
tick,0x7ffcc6290394,140616773,0,0x0,8
tick,0x7ffcc6290394,140632563,0,0x0,8
tick,0x7ffcc6290394,140648052,0,0x0,8
tick,0x7ffcc6290394,140663183,0,0x0,8
tick,0x7ffcc6290394,140678046,0,0x0,8
tick,0x7ffcc6290394,140693835,0,0x0,8
tick,0x7ffcc6290394,140709905,0,0x0,8
tick,0x7ffcc6290394,140725789,0,0x0,8
tick,0x7ffcc6290394,140741965,0,0x0,8
tick,0x7ffcc6290394,140757241,0,0x0,8
tick,0x7ffcc6290394,140773338,0,0x0,8
tick,0x7ffcc6290394,140788358,0,0x0,8
tick,0x7ffcc6290394,140804575,0,0x0,8
tick,0x7ffcc6290394,140819868,0,0x0,8
tick,0x7ffcc6290394,140835262,0,0x0,8
tick,0x7ffcc6290394,140851014,0,0x0,8
tick,0x7ffcc6290394,140866323,0,0x0,8
tick,0x7ffcc6290394,140881681,0,0x0,8
tick,0x7ffcc6290394,140897536,0,0x0,8
tick,0x7ffcc6290394,140913277,0,0x0,8
tick,0x7ffcc6290394,140928622,0,0x0,8
tick,0x7ffcc6290394,140944380,0,0x0,8
tick,0x7ffcc6290394,140959817,0,0x0,8
tick,0x7ffcc6290394,140974836,0,0x0,8
tick,0x7ffcc6290394,140989982,0,0x0,8
tick,0x7ffcc6290394,141006197,0,0x0,8
tick,0x7ffcc6290394,141021560,0,0x0,8
tick,0x7ffcc6290394,141036488,0,0x0,8
tick,0x7ffcc6290394,141052165,0,0x0,8
tick,0x7ffcc6290394,141067919,0,0x0,8
tick,0x7ffcc6290394,141083703,0,0x0,8
tick,0x7ffcc6290394,141098869,0,0x0,8
tick,0x7ffcc6290394,141115050,0,0x0,8
tick,0x7ffcc6290394,141130973,0,0x0,8
tick,0x7ffcc6290394,141146444,0,0x0,8
tick,0x7ffcc6290394,141162037,0,0x0,8
tick,0x7ffcc6290394,141176677,0,0x0,8
tick,0x7ffcc6290394,141192708,0,0x0,8
tick,0x7ffcc6290394,141208320,0,0x0,8
tick,0x7ffcc6290394,141223759,0,0x0,8
tick,0x7ffcc6290394,141239480,0,0x0,8
tick,0x7ffcc6290394,141254748,0,0x0,8
tick,0x7ffcc6290394,141270822,0,0x0,8
tick,0x7ffcc6290394,141286012,0,0x0,8
tick,0x7ffcc6290394,141301451,0,0x0,8
tick,0x7ffcc6290394,141316927,0,0x0,8
tick,0x7ffcc6290394,141332898,0,0x0,8
tick,0x7ffcc6290394,141348351,0,0x0,8
tick,0x7ffcc6290394,141363632,0,0x0,8
tick,0x7ffcc6290394,141379086,0,0x0,8
tick,0x7ffcc6290394,141394312,0,0x0,8
tick,0x7ffcc6290394,141409690,0,0x0,8
tick,0x7ffcc6290394,141425046,0,0x0,8
tick,0x7ffcc6290394,141440466,0,0x0,8
tick,0x7ffcc6290394,141456338,0,0x0,8
tick,0x7ffcc6290394,141472044,0,0x0,8
tick,0x7ffcc6290394,141487879,0,0x0,8
tick,0x7ffcc6290394,141503863,0,0x0,8
tick,0x7ffcc6290394,141519172,0,0x0,8
tick,0x7ffcc6290394,141534672,0,0x0,8
tick,0x7ffcc6290394,141549987,0,0x0,8
tick,0x7ffcc6290394,141566159,0,0x0,8
tick,0x7ffcc6290394,141581681,0,0x0,8
tick,0x7ffcc6290394,141597401,0,0x0,8
tick,0x7ffcc6290394,141612535,0,0x0,8
tick,0x7ffcc6290394,141628090,0,0x0,8
tick,0x7ffcc6290394,141643811,0,0x0,8
tick,0x7ffcc6290394,141658781,0,0x0,8
tick,0x7ffcc6290394,141674200,0,0x0,8
tick,0x7ffcc6290394,141689534,0,0x0,8
tick,0x7ffcc6290394,141705297,0,0x0,8
tick,0x7ffcc6290394,141721371,0,0x0,8
tick,0x7ffcc6290394,141736174,0,0x0,8
tick,0x7ffcc6290394,141751569,0,0x0,8
tick,0x7ffcc6290394,141767721,0,0x0,8
tick,0x7ffcc6290394,141783663,0,0x0,8
tick,0x7ffcc6290394,141799071,0,0x0,8
tick,0x7ffcc6290394,141814494,0,0x0,8
tick,0x7ffcc6290394,141830057,0,0x0,8
tick,0x7ffcc6290394,141846046,0,0x0,8
tick,0x7ffcc6290394,141861093,0,0x0,8
tick,0x7ffcc6290394,141876924,0,0x0,8
tick,0x7ffcc6290394,141892782,0,0x0,8
tick,0x7ffcc6290394,141908473,0,0x0,8
tick,0x7ffcc6290394,141923622,0,0x0,8
tick,0x7ffcc6290394,141939832,0,0x0,8
tick,0x7ffcc6290394,141955234,0,0x0,8
tick,0x7ffcc6290394,141970893,0,0x0,8
tick,0x7ffcc6290394,141986502,0,0x0,8
tick,0x7ffcc6290394,142001727,0,0x0,8
tick,0x7ffcc6290394,142017828,0,0x0,8
tick,0x7ffcc6290394,142033777,0,0x0,8
tick,0x7ffcc6290394,142049933,0,0x0,8
tick,0x7ffcc6290394,142064749,0,0x0,8
tick,0x7ffcc6290394,142080911,0,0x0,8
tick,0x7ffcc6290394,142096720,0,0x0,8
tick,0x7ffcc6290394,142112254,0,0x0,8
tick,0x7ffcc6290394,142128149,0,0x0,8
tick,0x7ffcc6290394,142143504,0,0x0,8
tick,0x7ffcc6290394,142159363,0,0x0,8
tick,0x7ffcc6290394,142175388,0,0x0,8
tick,0x7ffcc6290394,142191303,0,0x0,8
tick,0x7ffcc6290394,142206571,0,0x0,8
tick,0x7ffcc6290394,142222282,0,0x0,8
tick,0x7ffcc6290394,142237548,0,0x0,8
tick,0x7ffcc6290394,142253605,0,0x0,8
tick,0x7ffcc6290394,142269054,0,0x0,8
tick,0x7ffcc6290394,142285158,0,0x0,8
tick,0x7ffcc6290394,142301124,0,0x0,8
tick,0x7ffcc6290394,142317153,0,0x0,8
tick,0x7ffcc6290394,142357695,0,0x0,8
tick,0x7ffcc6290394,142362627,0,0x0,8
tick,0x7ffcc6290394,142378478,0,0x0,8
tick,0x7ffcc6290394,142393216,0,0x0,8
tick,0x7ffcc6290394,142408937,0,0x0,8
tick,0x7ffcc6290394,142424696,0,0x0,8
tick,0x7ffcc6290394,142440373,0,0x0,8
tick,0x7ffcc6290394,142456231,0,0x0,8
tick,0x7ffcc6290394,142471498,0,0x0,8
tick,0x7ffcc6290394,142487120,0,0x0,8
tick,0x7ffcc6290394,142502438,0,0x0,8
tick,0x7ffcc6290394,142518354,0,0x0,8
tick,0x7ffcc6290394,142532999,0,0x0,8
tick,0x7ffcc6290394,142548429,0,0x0,8
tick,0x7ffcc6290394,142563945,0,0x0,8
tick,0x7ffcc6290394,142579810,0,0x0,8
tick,0x7ffcc6290394,142595079,0,0x0,8
tick,0x7ffcc6290394,142610938,0,0x0,8
tick,0x7ffcc6290394,142626897,0,0x0,8
tick,0x7ffcc6290394,142642122,0,0x0,8
tick,0x7ffcc6290394,142657482,0,0x0,8
tick,0x7ffcc6290394,142673458,0,0x0,8
tick,0x7ffcc6290394,142689458,0,0x0,8
tick,0x7ffcc6290394,142705252,0,0x0,8
tick,0x7ffcc6290394,142720922,0,0x0,8
tick,0x7ffcc6290394,142736907,0,0x0,8
tick,0x7ffcc6290394,142752525,0,0x0,8
tick,0x7ffcc6290394,142768268,0,0x0,8
tick,0x7ffcc6290394,142784045,0,0x0,8
tick,0x7ffcc6290394,142799509,0,0x0,8
tick,0x7ffcc6290394,142815396,0,0x0,8
tick,0x7ffcc6290394,142830672,0,0x0,8
tick,0x7ffcc6290394,142846443,0,0x0,8
tick,0x7ffcc6290394,142861769,0,0x0,8
tick,0x7ffcc6290394,142877116,0,0x0,8
tick,0x7ffcc6290394,142892204,0,0x0,8
tick,0x7ffcc6290394,142907539,0,0x0,8
tick,0x7ffcc6290394,142923592,0,0x0,8
tick,0x7ffcc6290394,142938860,0,0x0,8
tick,0x7ffcc6290394,142954650,0,0x0,8
tick,0x7ffcc6290394,142969995,0,0x0,8
tick,0x7ffcc6290394,142985760,0,0x0,8
tick,0x7ffcc6290394,143001598,0,0x0,8
tick,0x7ffcc6290394,143016909,0,0x0,8
tick,0x7ffcc6290394,143032557,0,0x0,8
tick,0x7ffcc6290394,143048705,0,0x0,8
tick,0x7ffcc6290394,143064146,0,0x0,8
tick,0x7ffcc6290394,143079871,0,0x0,8
tick,0x7ffcc6290394,143095416,0,0x0,8
tick,0x7ffcc6290394,143111128,0,0x0,8
tick,0x7ffcc6290394,143126199,0,0x0,8
tick,0x7ffcc6290394,143141833,0,0x0,8
tick,0x7ffcc6290394,143156800,0,0x0,8
tick,0x7ffcc6290394,143172695,0,0x0,8
tick,0x7ffcc6290394,143187922,0,0x0,8
tick,0x7ffcc6290394,143203488,0,0x0,8
tick,0x7ffcc6290394,143219474,0,0x0,8
tick,0x7ffcc6290394,143234087,0,0x0,8
tick,0x7ffcc6290394,143249446,0,0x0,8
tick,0x7ffcc6290394,143264984,0,0x0,8
tick,0x7ffcc6290394,143280385,0,0x0,8
tick,0x7ffcc6290394,143295609,0,0x0,8
tick,0x7ffcc6290394,143311071,0,0x0,8
tick,0x7ffcc6290394,143326613,0,0x0,8
tick,0x7ffcc6290394,143342839,0,0x0,8
tick,0x7ffcc6290394,143358015,0,0x0,8
tick,0x7ffcc6290394,143373517,0,0x0,8
tick,0x7ffcc6290394,143389546,0,0x0,8
tick,0x7ffcc6290394,143405707,0,0x0,8
tick,0x7ffcc6290394,143420978,0,0x0,8
tick,0x7ffcc6290394,143436858,0,0x0,8
tick,0x7ffcc6290394,143452511,0,0x0,8
tick,0x7ffcc6290394,143467581,0,0x0,8
tick,0x7ffcc6290394,143483488,0,0x0,8
tick,0x7ffcc6290394,143499350,0,0x0,8
tick,0x7ffcc6290394,143515387,0,0x0,8
tick,0x7ffcc6290394,143531292,0,0x0,8
tick,0x7ffcc6290394,143547192,0,0x0,8
tick,0x7ffcc6290394,143562616,0,0x0,8
tick,0x7ffcc6290394,143578373,0,0x0,8
tick,0x7ffcc6290394,143593756,0,0x0,8
tick,0x7ffcc6290394,143609396,0,0x0,8
tick,0x7ffcc6290394,143624793,0,0x0,8
tick,0x7ffcc6290394,143640491,0,0x0,8
tick,0x7ffcc6290394,143656665,0,0x0,8
tick,0x7ffcc6290394,143672468,0,0x0,8
tick,0x7ffcc6290394,143687645,0,0x0,8
tick,0x7ffcc6290394,143703463,0,0x0,8
tick,0x7ffcc6290394,143719072,0,0x0,8
tick,0x7ffcc6290394,143734142,0,0x0,8
tick,0x7ffcc6290394,143749928,0,0x0,8
tick,0x7ffcc6290394,143765401,0,0x0,8
tick,0x7ffcc6290394,143781129,0,0x0,8
tick,0x7ffcc6290394,143796669,0,0x0,8
tick,0x7ffcc6290394,143811697,0,0x0,8
tick,0x7ffcc6290394,143827768,0,0x0,8
tick,0x7ffcc6290394,143843306,0,0x0,8
tick,0x7ffcc6290394,143858385,0,0x0,8
tick,0x7ffcc6290394,143874311,0,0x0,8
tick,0x7ffcc6290394,143889593,0,0x0,8
tick,0x7ffcc6290394,143905575,0,0x0,8
tick,0x7ffcc6290394,143920704,0,0x0,8
tick,0x7ffcc6290394,143936340,0,0x0,8
tick,0x7ffcc6290394,143952237,0,0x0,8
tick,0x7ffcc6290394,143967627,0,0x0,8
tick,0x7ffcc6290394,143983651,0,0x0,8
tick,0x7ffcc6290394,143998842,0,0x0,8
tick,0x7ffcc6290394,144014895,0,0x0,8
tick,0x7ffcc6290394,144030752,0,0x0,8
tick,0x7ffcc6290394,144046485,0,0x0,8
tick,0x7ffcc6290394,144061641,0,0x0,8
tick,0x7ffcc6290394,144076855,0,0x0,8
tick,0x7ffcc6290394,144092930,0,0x0,8
tick,0x7ffcc6290394,144108361,0,0x0,8
tick,0x7ffcc6290394,144124001,0,0x0,8
tick,0x7ffcc6290394,144139745,0,0x0,8
tick,0x7ffcc6290394,144155088,0,0x0,8
tick,0x7ffcc6290394,144170610,0,0x0,8
tick,0x7ffcc6290394,144186158,0,0x0,8
tick,0x7ffcc6290394,144201584,0,0x0,8
tick,0x7ffcc6290394,144217035,0,0x0,8
tick,0x7ffcc6290394,144232246,0,0x0,8
tick,0x7ffcc6290394,144248181,0,0x0,8
tick,0x7ffcc6290394,144263542,0,0x0,8
tick,0x7ffcc6290394,144278961,0,0x0,8
tick,0x7ffcc6290394,144294849,0,0x0,8
tick,0x7ffcc6290394,144310311,0,0x0,8
tick,0x7ffcc6290394,144326092,0,0x0,8
tick,0x7ffcc6290394,144341860,0,0x0,8
tick,0x7ffcc6290394,144357178,0,0x0,8
tick,0x7ffcc6290394,144372715,0,0x0,8
tick,0x7ffcc6290394,144388270,0,0x0,8
tick,0x7ffcc6290394,144403395,0,0x0,8
tick,0x7ffcc6290394,144418683,0,0x0,8
tick,0x7ffcc6290394,144434446,0,0x0,8
tick,0x7ffcc6290394,144449779,0,0x0,8
tick,0x7ffcc6290394,144465759,0,0x0,8
tick,0x7ffcc6290394,144480972,0,0x0,8
tick,0x7ffcc6290394,144496413,0,0x0,8
tick,0x7ffcc6290394,144511723,0,0x0,8
tick,0x7ffcc6290394,144526865,0,0x0,8
tick,0x7ffcc6290394,144542665,0,0x0,8
tick,0x7ffcc6290394,144557699,0,0x0,8
tick,0x7ffcc6290394,144573197,0,0x0,8
tick,0x7ffcc6290394,144589096,0,0x0,8
tick,0x7ffcc6290394,144604005,0,0x0,8
tick,0x7ffcc6290394,144618889,0,0x0,8
tick,0x7ffcc6290394,144634529,0,0x0,8
tick,0x7ffcc6290394,144649922,0,0x0,8
tick,0x7ffcc6290394,144665551,0,0x0,8
tick,0x7ffcc6290394,144681073,0,0x0,8
tick,0x7ffcc6290394,144697000,0,0x0,8
tick,0x7ffcc6290394,144713052,0,0x0,8
tick,0x7ffcc6290394,144728453,0,0x0,8
tick,0x7ffcc6290394,144744356,0,0x0,8
tick,0x7ffcc6290394,144760559,0,0x0,8
tick,0x7ffcc6290394,144776272,0,0x0,8
tick,0x7ffcc6290394,144791905,0,0x0,8
tick,0x7ffcc6290394,144807986,0,0x0,8
tick,0x7ffcc6290394,144823445,0,0x0,8
tick,0x7ffcc6290394,144838923,0,0x0,8
tick,0x7ffcc6290394,144854593,0,0x0,8
tick,0x7ffcc6290394,144870412,0,0x0,8
tick,0x7ffcc6290394,144886379,0,0x0,8
tick,0x7ffcc6290394,144901696,0,0x0,8
tick,0x7ffcc6290394,144916960,0,0x0,8
tick,0x7ffcc6290394,144932427,0,0x0,8
tick,0x7ffcc6290394,144947644,0,0x0,8
tick,0x7ffcc6290394,144963415,0,0x0,8
tick,0x7ffcc6290394,144979149,0,0x0,8
tick,0x7ffcc6290394,144994445,0,0x0,8
tick,0x7ffcc6290394,145009099,0,0x0,8
tick,0x7ffcc6290394,145024839,0,0x0,8
tick,0x7ffcc6290394,145040035,0,0x0,8
tick,0x7ffcc6290394,145055728,0,0x0,8
tick,0x7ffcc6290394,145071850,0,0x0,8
tick,0x7ffcc6290394,145087591,0,0x0,8
tick,0x7ffcc6290394,145103250,0,0x0,8
tick,0x7ffcc6290394,145119375,0,0x0,8
tick,0x7ffcc6290394,145134665,0,0x0,8
tick,0x7ffcc6290394,145150272,0,0x0,8
tick,0x7ffcc6290394,145165657,0,0x0,8
tick,0x7ffcc6290394,145181283,0,0x0,8
tick,0x7ffcc6290394,145196548,0,0x0,8
tick,0x7ffcc6290394,145212519,0,0x0,8
tick,0x7ffcc6290394,145228028,0,0x0,8
tick,0x7ffcc6290394,145243746,0,0x0,8
tick,0x7ffcc6290394,145259659,0,0x0,8
tick,0x7ffcc6290394,145275248,0,0x0,8
tick,0x7ffcc6290394,145289655,0,0x0,8
tick,0x7ffcc6290394,145305666,0,0x0,8
tick,0x7ffcc6290394,145321381,0,0x0,8
tick,0x7ffcc6290394,145336825,0,0x0,8
tick,0x7ffcc6290394,145352418,0,0x0,8
tick,0x7ffcc6290394,145368117,0,0x0,8
tick,0x7ffcc6290394,145383327,0,0x0,8
tick,0x7ffcc6290394,145399210,0,0x0,8
tick,0x7ffcc6290394,145414936,0,0x0,8
tick,0x7ffcc6290394,145430962,0,0x0,8
tick,0x7ffcc6290394,145446635,0,0x0,8
tick,0x7ffcc6290394,145462463,0,0x0,8
tick,0x7ffcc6290394,145478271,0,0x0,8
tick,0x7ffcc6290394,145494141,0,0x0,8
tick,0x7ffcc6290394,145509736,0,0x0,8
tick,0x7ffcc6290394,145525014,0,0x0,8
tick,0x7ffcc6290394,145540873,0,0x0,8
tick,0x7ffcc6290394,145556201,0,0x0,8
tick,0x7ffcc6290394,145570904,0,0x0,8
tick,0x7ffcc6290394,145585865,0,0x0,8
tick,0x7ffcc6290394,145601960,0,0x0,8
tick,0x7ffcc6290394,145617101,0,0x0,8
tick,0x7ffcc6290394,145633207,0,0x0,8
tick,0x7ffcc6290394,145648796,0,0x0,8
tick,0x7ffcc6290394,145664292,0,0x0,8
tick,0x7ffcc6290394,145679664,0,0x0,8
tick,0x7ffcc6290394,145695161,0,0x0,8
tick,0x7ffcc6290394,145711387,0,0x0,8
tick,0x7ffcc6290394,145727012,0,0x0,8
tick,0x7ffcc6290394,145742202,0,0x0,8
tick,0x7ffcc6290394,145757662,0,0x0,8
tick,0x7ffcc6290394,145773700,0,0x0,8
tick,0x7ffcc6290394,145788941,0,0x0,8
tick,0x7ffcc6290394,145804639,0,0x0,8
tick,0x7ffcc6290394,145820175,0,0x0,8
tick,0x7ffcc6290394,145835962,0,0x0,8
tick,0x7ffcc6290394,145851243,0,0x0,8
tick,0x7ffcc6290394,145866130,0,0x0,8
tick,0x7ffcc6290394,145881746,0,0x0,8
tick,0x7ffcc6290394,145897886,0,0x0,8
tick,0x7ffcc6290394,145913612,0,0x0,8
tick,0x7ffcc6290394,145929088,0,0x0,8
tick,0x7ffcc6290394,145944398,0,0x0,8
tick,0x7ffcc6290394,145959141,0,0x0,8
tick,0x7ffcc6290394,145975497,0,0x0,8
tick,0x7ffcc6290394,145990877,0,0x0,8
tick,0x7ffcc6290394,146006164,0,0x0,8
tick,0x7ffcc6290394,146022182,0,0x0,8
tick,0x7ffcc6290394,146037853,0,0x0,8
tick,0x7ffcc6290394,146053255,0,0x0,8
tick,0x7ffcc6290394,146068397,0,0x0,8
tick,0x7ffcc6290394,146084232,0,0x0,8
tick,0x7ffcc6290394,146099565,0,0x0,8
tick,0x7ffcc6290394,146115030,0,0x0,8
tick,0x7ffcc6290394,146130401,0,0x0,8
tick,0x7ffcc6290394,146145969,0,0x0,8
tick,0x7ffcc6290394,146161588,0,0x0,8
tick,0x7ffcc6290394,146176678,0,0x0,8
tick,0x7ffcc6290394,146192188,0,0x0,8
tick,0x7ffcc6290394,146207402,0,0x0,8
tick,0x7ffcc6290394,146223081,0,0x0,8
tick,0x7ffcc6290394,146238078,0,0x0,8
tick,0x7ffcc6290394,146253543,0,0x0,8
tick,0x7ffcc6290394,146269075,0,0x0,8
tick,0x7ffcc6290394,146284912,0,0x0,8
tick,0x7ffcc6290394,146300066,0,0x0,8
tick,0x7ffcc6290394,146315225,0,0x0,8
tick,0x7ffcc6290394,146331129,0,0x0,8
tick,0x7ffcc6290394,146347139,0,0x0,8
tick,0x7ffcc6290394,146362520,0,0x0,8
tick,0x7ffcc6290394,146378164,0,0x0,8
tick,0x7ffcc6290394,146393354,0,0x0,8
tick,0x7ffcc6290394,146408938,0,0x0,8
tick,0x7ffcc6290394,146424770,0,0x0,8
tick,0x7ffcc6290394,146440559,0,0x0,8
tick,0x7ffcc6290394,146455555,0,0x0,8
tick,0x7ffcc6290394,146470738,0,0x0,8
tick,0x7ffcc6290394,146486732,0,0x0,8
tick,0x7ffcc6290394,146502739,0,0x0,8
tick,0x7ffcc6290394,146517596,0,0x0,8
tick,0x7ffcc6290394,146532287,0,0x0,8
tick,0x7ffcc6290394,146548109,0,0x0,8
tick,0x7ffcc6290394,146563848,0,0x0,8
tick,0x7ffcc6290394,146580450,0,0x0,8
tick,0x7ffcc6290394,146595865,0,0x0,8
tick,0x7ffcc6290394,146611599,0,0x0,8
tick,0x7ffcc6290394,146626865,0,0x0,8
tick,0x7ffcc6290394,146642210,0,0x0,8
tick,0x7ffcc6290394,146657388,0,0x0,8
tick,0x7ffcc6290394,146673255,0,0x0,8
tick,0x7ffcc6290394,146688484,0,0x0,8
tick,0x7ffcc6290394,146704244,0,0x0,8
tick,0x7ffcc6290394,146719429,0,0x0,8
tick,0x7ffcc6290394,146734337,0,0x0,8
tick,0x7ffcc6290394,146749758,0,0x0,8
tick,0x7ffcc6290394,146765322,0,0x0,8
tick,0x7ffcc6290394,146780600,0,0x0,8
tick,0x7ffcc6290394,146796142,0,0x0,8
tick,0x7ffcc6290394,146811872,0,0x0,8
tick,0x7ffcc6290394,146827164,0,0x0,8
tick,0x7ffcc6290394,146843215,0,0x0,8
tick,0x7ffcc6290394,146858324,0,0x0,8
tick,0x7ffcc6290394,146873886,0,0x0,8
tick,0x7ffcc6290394,146890079,0,0x0,8
tick,0x7ffcc6290394,146906011,0,0x0,8
tick,0x7ffcc6290394,146921085,0,0x0,8
tick,0x7ffcc6290394,146936394,0,0x0,8
tick,0x7ffcc6290394,146951159,0,0x0,8
tick,0x7ffcc6290394,146966473,0,0x0,8
tick,0x7ffcc6290394,146981699,0,0x0,8
tick,0x7ffcc6290394,146997584,0,0x0,8
tick,0x7ffcc6290394,147013170,0,0x0,8
tick,0x7ffcc6290394,147028959,0,0x0,8
tick,0x7ffcc6290394,147044833,0,0x0,8
tick,0x7ffcc6290394,147060736,0,0x0,8
tick,0x7ffcc6290394,147076449,0,0x0,8
tick,0x7ffcc6290394,147091915,0,0x0,8
tick,0x7ffcc6290394,147107065,0,0x0,8
tick,0x7ffcc6290394,147122435,0,0x0,8
tick,0x7ffcc6290394,147137770,0,0x0,8
tick,0x7ffcc6290394,147153941,0,0x0,8
tick,0x7ffcc6290394,147168703,0,0x0,8
tick,0x7ffcc6290394,147184336,0,0x0,8
tick,0x7ffcc6290394,147199355,0,0x0,8
tick,0x7ffcc6290394,147214509,0,0x0,8
tick,0x7ffcc6290394,147229997,0,0x0,8
tick,0x7ffcc6290394,147245622,0,0x0,8
tick,0x7ffcc6290394,147261695,0,0x0,8
tick,0x7ffcc6290394,147277118,0,0x0,8
tick,0x7ffcc6290394,147292910,0,0x0,8
tick,0x7ffcc6290394,147309096,0,0x0,8
tick,0x7ffcc6290394,147324738,0,0x0,8
tick,0x7ffcc6290394,147339994,0,0x0,8
tick,0x7ffcc6290394,147355952,0,0x0,8
tick,0x7ffcc6290394,147371453,0,0x0,8
tick,0x7ffcc6290394,147387653,0,0x0,8
tick,0x7ffcc6290394,147402891,0,0x0,8
tick,0x7ffcc6290394,147419025,0,0x0,8
tick,0x7ffcc6290394,147434869,0,0x0,8
tick,0x7ffcc6290394,147450818,0,0x0,8
tick,0x7ffcc6290394,147465865,0,0x0,8
tick,0x7ffcc6290394,147481425,0,0x0,8
tick,0x7ffcc6290394,147496640,0,0x0,8
tick,0x7ffcc6290394,147512579,0,0x0,8
tick,0x7ffcc6290394,147528316,0,0x0,8
tick,0x7ffcc6290394,147544324,0,0x0,8
tick,0x7ffcc6290394,147559925,0,0x0,8
tick,0x7ffcc6290394,147575947,0,0x0,8
tick,0x7ffcc6290394,147591724,0,0x0,8
tick,0x7ffcc6290394,147606763,0,0x0,8
tick,0x7ffcc6290394,147622602,0,0x0,8
tick,0x7ffcc6290394,147638068,0,0x0,8
tick,0x7ffcc6290394,147654186,0,0x0,8
tick,0x7ffcc6290394,147669357,0,0x0,8
tick,0x7ffcc6290394,147684888,0,0x0,8
tick,0x7ffcc6290394,147700349,0,0x0,8
tick,0x7ffcc6290394,147715529,0,0x0,8
tick,0x7ffcc6290394,147730732,0,0x0,8
tick,0x7ffcc6290394,147746426,0,0x0,8
tick,0x7ffcc6290394,147762019,0,0x0,8
tick,0x7ffcc6290394,147777887,0,0x0,8
tick,0x7ffcc6290394,147793833,0,0x0,8
tick,0x7ffcc6290394,147808749,0,0x0,8
tick,0x7ffcc6290394,147824752,0,0x0,8
tick,0x7ffcc6290394,147840437,0,0x0,8
tick,0x7ffcc6290394,147855547,0,0x0,8
tick,0x7ffcc6290394,147871552,0,0x0,8
tick,0x7ffcc6290394,147887435,0,0x0,8
tick,0x7ffcc6290394,147903175,0,0x0,8
tick,0x7ffcc6290394,147918772,0,0x0,8
tick,0x7ffcc6290394,147934203,0,0x0,8
tick,0x7ffcc6290394,147950577,0,0x0,8
tick,0x7ffcc6290394,147966103,0,0x0,8
tick,0x7ffcc6290394,147981150,0,0x0,8
tick,0x7ffcc6290394,147996640,0,0x0,8
tick,0x7ffcc6290394,148012163,0,0x0,8
tick,0x7ffcc6290394,148027208,0,0x0,8
tick,0x7ffcc6290394,148042465,0,0x0,8
tick,0x7ffcc6290394,148057772,0,0x0,8
tick,0x7ffcc6290394,148073182,0,0x0,8
tick,0x7ffcc6290394,148088657,0,0x0,8
tick,0x7ffcc6290394,148103622,0,0x0,8
tick,0x7ffcc6290394,148119086,0,0x0,8
tick,0x7ffcc6290394,148135426,0,0x0,8
tick,0x7ffcc6290394,148151666,0,0x0,8
tick,0x7ffcc6290394,148167348,0,0x0,8
tick,0x7ffcc6290394,148183396,0,0x0,8
tick,0x7ffcc6290394,148199025,0,0x0,8
tick,0x7ffcc6290394,148214638,0,0x0,8
tick,0x7ffcc6290394,148230413,0,0x0,8
tick,0x7ffcc6290394,148245628,0,0x0,8
tick,0x7ffcc6290394,148261077,0,0x0,8
tick,0x7ffcc6290394,148276487,0,0x0,8
tick,0x7ffcc6290394,148292098,0,0x0,8
tick,0x7ffcc6290394,148307677,0,0x0,8
tick,0x7ffcc6290394,148323377,0,0x0,8
tick,0x7ffcc6290394,148339278,0,0x0,8
tick,0x7ffcc6290394,148354561,0,0x0,8
tick,0x7ffcc6290394,148370181,0,0x0,8
tick,0x7ffcc6290394,148386238,0,0x0,8
tick,0x7ffcc6290394,148401788,0,0x0,8
tick,0x7ffcc6290394,148417642,0,0x0,8
tick,0x7ffcc6290394,148432310,0,0x0,8
tick,0x7ffcc6290394,148448269,0,0x0,8
tick,0x7ffcc6290394,148463776,0,0x0,8
tick,0x7ffcc6290394,148479283,0,0x0,8
tick,0x7ffcc6290394,148494437,0,0x0,8
tick,0x7ffcc6290394,148510321,0,0x0,8
tick,0x7ffcc6290394,148526364,0,0x0,8
tick,0x7ffcc6290394,148542178,0,0x0,8
tick,0x7ffcc6290394,148558216,0,0x0,8
tick,0x7ffcc6290394,148573232,0,0x0,8
tick,0x7ffcc6290394,148588132,0,0x0,8
tick,0x7ffcc6290394,148603893,0,0x0,8
tick,0x7ffcc6290394,148619134,0,0x0,8
tick,0x7ffcc6290394,148634469,0,0x0,8
tick,0x7ffcc6290394,148650303,0,0x0,8
tick,0x7ffcc6290394,148666268,0,0x0,8
tick,0x7ffcc6290394,148681868,0,0x0,8
tick,0x7ffcc6290394,148697889,0,0x0,8
tick,0x7ffcc6290394,148713585,0,0x0,8
tick,0x7ffcc6290394,148729372,0,0x0,8
tick,0x7ffcc6290394,148744910,0,0x0,8
tick,0x7ffcc6290394,148760745,0,0x0,8
tick,0x7ffcc6290394,148776306,0,0x0,8
tick,0x7ffcc6290394,148791958,0,0x0,8
tick,0x7ffcc6290394,148807032,0,0x0,8
tick,0x7ffcc6290394,148823155,0,0x0,8
tick,0x7ffcc6290394,148838997,0,0x0,8
tick,0x7ffcc6290394,148854463,0,0x0,8
tick,0x7ffcc6290394,148869664,0,0x0,8
tick,0x7ffcc6290394,148885322,0,0x0,8
tick,0x7ffcc6290394,148901172,0,0x0,8
tick,0x7ffcc6290394,148916907,0,0x0,8
tick,0x7ffcc6290394,148932635,0,0x0,8
tick,0x7ffcc6290394,148948233,0,0x0,8
tick,0x7ffcc6290394,148963709,0,0x0,8
tick,0x7ffcc6290394,148979089,0,0x0,8
tick,0x7ffcc6290394,148994345,0,0x0,8
tick,0x7ffcc6290394,149009855,0,0x0,8
tick,0x7ffcc6290394,149025053,0,0x0,8
tick,0x7ffcc6290394,149040991,0,0x0,8
tick,0x7ffcc6290394,149056018,0,0x0,8
tick,0x7ffcc6290394,149072047,0,0x0,8
tick,0x7ffcc6290394,149087556,0,0x0,8
tick,0x7ffcc6290394,149103532,0,0x0,8
tick,0x7ffcc6290394,149119091,0,0x0,8
tick,0x7ffcc6290394,149134691,0,0x0,8
tick,0x7ffcc6290394,149150040,0,0x0,8
tick,0x7ffcc6290394,149165289,0,0x0,8
tick,0x7ffcc6290394,149181234,0,0x0,8
tick,0x7ffcc6290394,149196891,0,0x0,8
tick,0x7ffcc6290394,149212189,0,0x0,8
tick,0x7ffcc6290394,149228441,0,0x0,8
tick,0x7ffcc6290394,149243947,0,0x0,8
tick,0x7ffcc6290394,149258778,0,0x0,8
tick,0x7ffcc6290394,149274548,0,0x0,8
tick,0x7ffcc6290394,149289663,0,0x0,8
tick,0x7ffcc6290394,149305206,0,0x0,8
tick,0x7ffcc6290394,149320757,0,0x0,8
tick,0x7ffcc6290394,149336791,0,0x0,8
tick,0x7ffcc6290394,149352699,0,0x0,8
tick,0x7ffcc6290394,149368037,0,0x0,8
tick,0x7ffcc6290394,149383386,0,0x0,8
tick,0x7ffcc6290394,149399151,0,0x0,8
tick,0x7ffcc6290394,149414336,0,0x0,8
tick,0x7ffcc6290394,149430449,0,0x0,8
tick,0x7ffcc6290394,149445778,0,0x0,8
tick,0x7ffcc6290394,149461502,0,0x0,8
tick,0x7ffcc6290394,149477252,0,0x0,8
tick,0x7ffcc6290394,149492444,0,0x0,8
tick,0x7ffcc6290394,149508211,0,0x0,8
tick,0x7ffcc6290394,149524104,0,0x0,8
tick,0x7ffcc6290394,149539733,0,0x0,8
tick,0x7ffcc6290394,149554970,0,0x0,8
tick,0x7ffcc6290394,149571025,0,0x0,8
tick,0x7ffcc6290394,149585777,0,0x0,8
tick,0x7ffcc6290394,149601017,0,0x0,8
tick,0x7ffcc6290394,149617001,0,0x0,8
tick,0x7ffcc6290394,149632816,0,0x0,8
tick,0x7ffcc6290394,149648827,0,0x0,8
tick,0x7ffcc6290394,149663915,0,0x0,8
tick,0x7ffcc6290394,149679534,0,0x0,8
tick,0x7ffcc6290394,149695098,0,0x0,8
tick,0x7ffcc6290394,149710873,0,0x0,8
tick,0x7ffcc6290394,149726391,0,0x0,8
tick,0x7ffcc6290394,149742089,0,0x0,8
tick,0x7ffcc6290394,149757750,0,0x0,8
tick,0x7ffcc6290394,149773845,0,0x0,8
tick,0x7ffcc6290394,149790001,0,0x0,8
tick,0x7ffcc6290394,149805376,0,0x0,8
tick,0x7ffcc6290394,149820225,0,0x0,8
tick,0x7ffcc6290394,149835742,0,0x0,8
tick,0x7ffcc6290394,149850915,0,0x0,8
tick,0x7ffcc6290394,149866127,0,0x0,8
tick,0x7ffcc6290394,149881307,0,0x0,8
tick,0x7ffcc6290394,149897420,0,0x0,8
tick,0x7ffcc6290394,149912679,0,0x0,8
tick,0x7ffcc6290394,149927907,0,0x0,8
tick,0x7ffcc6290394,149943500,0,0x0,8
tick,0x7ffcc6290394,149958804,0,0x0,8
tick,0x7ffcc6290394,149974934,0,0x0,8
tick,0x7ffcc6290394,149990476,0,0x0,8
tick,0x7ffcc6290394,150005918,0,0x0,8
tick,0x7ffcc6290394,150022005,0,0x0,8
tick,0x7ffcc6290394,150037870,0,0x0,8
tick,0x7ffcc6290394,150053103,0,0x0,8
tick,0x7ffcc6290394,150068296,0,0x0,8
tick,0x7ffcc6290394,150083624,0,0x0,8
tick,0x7ffcc6290394,150098888,0,0x0,8
tick,0x7ffcc6290394,150114252,0,0x0,8
tick,0x7ffcc6290394,150130654,0,0x0,8
tick,0x7ffcc6290394,150146241,0,0x0,8
tick,0x7ffcc6290394,150161911,0,0x0,8
tick,0x7ffcc6290394,150177562,0,0x0,8
tick,0x7ffcc6290394,150193193,0,0x0,8
tick,0x7ffcc6290394,150209282,0,0x0,8
tick,0x7ffcc6290394,150224821,0,0x0,8
tick,0x7ffcc6290394,150240805,0,0x0,8
tick,0x7ffcc6290394,150255993,0,0x0,8
tick,0x7ffcc6290394,150271945,0,0x0,8
tick,0x7ffcc6290394,150286892,0,0x0,8
tick,0x7ffcc6290394,150302847,0,0x0,8
tick,0x7ffcc6290394,150318652,0,0x0,8
tick,0x7ffcc6290394,150334498,0,0x0,8
tick,0x7ffcc6290394,150350364,0,0x0,8
tick,0x7ffcc6290394,150365862,0,0x0,8
tick,0x7ffcc6290394,150381514,0,0x0,8
tick,0x7ffcc6290394,150396426,0,0x0,8
tick,0x7ffcc6290394,150412277,0,0x0,8
tick,0x7ffcc6290394,150428344,0,0x0,8
tick,0x7ffcc6290394,150444471,0,0x0,8
tick,0x7ffcc6290394,150460178,0,0x0,8
tick,0x7ffcc6290394,150476107,0,0x0,8
tick,0x7ffcc6290394,150491940,0,0x0,8
tick,0x7ffcc6290394,150507573,0,0x0,8
tick,0x7ffcc6290394,150523424,0,0x0,8
tick,0x7ffcc6290394,150539033,0,0x0,8
tick,0x7ffcc6290394,150554703,0,0x0,8
tick,0x7ffcc6290394,150570798,0,0x0,8
tick,0x7ffcc6290394,150585742,0,0x0,8
tick,0x7ffcc6290394,150601363,0,0x0,8
tick,0x7ffcc6290394,150616977,0,0x0,8
tick,0x7ffcc6290394,150632983,0,0x0,8
tick,0x7ffcc6290394,150648434,0,0x0,8
tick,0x7ffcc6290394,150663774,0,0x0,8
tick,0x7ffcc6290394,150679459,0,0x0,8
tick,0x7ffcc6290394,150694507,0,0x0,8
tick,0x7ffcc6290394,150710147,0,0x0,8
tick,0x7ffcc6290394,150726187,0,0x0,8
tick,0x7ffcc6290394,150741632,0,0x0,8
tick,0x7ffcc6290394,150757481,0,0x0,8
tick,0x7ffcc6290394,150773005,0,0x0,8
tick,0x7ffcc6290394,150788746,0,0x0,8
tick,0x7ffcc6290394,150804496,0,0x0,8
tick,0x7ffcc6290394,150820512,0,0x0,8
tick,0x7ffcc6290394,150836150,0,0x0,8
tick,0x7ffcc6290394,150851916,0,0x0,8
tick,0x7ffcc6290394,150867174,0,0x0,8
tick,0x7ffcc6290394,150882247,0,0x0,8
tick,0x7ffcc6290394,150898177,0,0x0,8
tick,0x7ffcc6290394,150914071,0,0x0,8
tick,0x7ffcc6290394,150929370,0,0x0,8
tick,0x7ffcc6290394,150944543,0,0x0,8
tick,0x7ffcc6290394,150960585,0,0x0,8
tick,0x7ffcc6290394,150975953,0,0x0,8
tick,0x7ffcc6290394,150992045,0,0x0,8
tick,0x7ffcc6290394,151007154,0,0x0,8
tick,0x7ffcc6290394,151023185,0,0x0,8
tick,0x7ffcc6290394,151038999,0,0x0,8
tick,0x7ffcc6290394,151053984,0,0x0,8
tick,0x7ffcc6290394,151069766,0,0x0,8
tick,0x7ffcc6290394,151085311,0,0x0,8
tick,0x7ffcc6290394,151100679,0,0x0,8
tick,0x7ffcc6290394,151116741,0,0x0,8
tick,0x7ffcc6290394,151132339,0,0x0,8
tick,0x7ffcc6290394,151148211,0,0x0,8
tick,0x7ffcc6290394,151163550,0,0x0,8
tick,0x7ffcc6290394,151179396,0,0x0,8
tick,0x7ffcc6290394,151194665,0,0x0,8
tick,0x7ffcc6290394,151209511,0,0x0,8
tick,0x7ffcc6290394,151225105,0,0x0,8
tick,0x7ffcc6290394,151240618,0,0x0,8
tick,0x7ffcc6290394,151255882,0,0x0,8
tick,0x7ffcc6290394,151272029,0,0x0,8
tick,0x7ffcc6290394,151287606,0,0x0,8
tick,0x7ffcc6290394,151302902,0,0x0,8
tick,0x7ffcc6290394,151318733,0,0x0,8
tick,0x7ffcc6290394,151333760,0,0x0,8
tick,0x7ffcc6290394,151349840,0,0x0,8
tick,0x7ffcc6290394,151365489,0,0x0,8
tick,0x7ffcc6290394,151381149,0,0x0,8
tick,0x7ffcc6290394,151395922,0,0x0,8
tick,0x7ffcc6290394,151411210,0,0x0,8
tick,0x7ffcc6290394,151426515,0,0x0,8
tick,0x7ffcc6290394,151442330,0,0x0,8
tick,0x7ffcc6290394,151457943,0,0x0,8
tick,0x7ffcc6290394,151474128,0,0x0,8
tick,0x7ffcc6290394,151489218,0,0x0,8
tick,0x7ffcc6290394,151504740,0,0x0,8
tick,0x7ffcc6290394,151520859,0,0x0,8
tick,0x7ffcc6290394,151536674,0,0x0,8
tick,0x7ffcc6290394,151552423,0,0x0,8
tick,0x7ffcc6290394,151567875,0,0x0,8
tick,0x7ffcc6290394,151583724,0,0x0,8
tick,0x7ffcc6290394,151599241,0,0x0,8
tick,0x7ffcc6290394,151614845,0,0x0,8
tick,0x7ffcc6290394,151630374,0,0x0,8
tick,0x7ffcc6290394,151646121,0,0x0,8
tick,0x7ffcc6290394,151661864,0,0x0,8
tick,0x7ffcc6290394,151677838,0,0x0,8
tick,0x7ffcc6290394,151693269,0,0x0,8
tick,0x7ffcc6290394,151708548,0,0x0,8
tick,0x7ffcc6290394,151723823,0,0x0,8
tick,0x7ffcc6290394,151738902,0,0x0,8
tick,0x7ffcc6290394,151754658,0,0x0,8
tick,0x7ffcc6290394,151770213,0,0x0,8
tick,0x7ffcc6290394,151785475,0,0x0,8
tick,0x7ffcc6290394,151800592,0,0x0,8
tick,0x7ffcc6290394,151816059,0,0x0,8
tick,0x7ffcc6290394,151832104,0,0x0,8
tick,0x7ffcc6290394,151849200,0,0x0,8
tick,0x7ffcc6290394,151863859,0,0x0,8
tick,0x7ffcc6290394,151879288,0,0x0,8
tick,0x7ffcc6290394,151894825,0,0x0,8
tick,0x7ffcc6290394,151910368,0,0x0,8
tick,0x7ffcc6290394,151925658,0,0x0,8
tick,0x7ffcc6290394,151941300,0,0x0,8
tick,0x7ffcc6290394,151956986,0,0x0,8
tick,0x7ffcc6290394,151972208,0,0x0,8
tick,0x7ffcc6290394,151987902,0,0x0,8
tick,0x7ffcc6290394,152003148,0,0x0,8
tick,0x7ffcc6290394,152018563,0,0x0,8
tick,0x7ffcc6290394,152033432,0,0x0,8
tick,0x7ffcc6290394,152048728,0,0x0,8
tick,0x7ffcc6290394,152063988,0,0x0,8
tick,0x7ffcc6290394,152079313,0,0x0,8
tick,0x7ffcc6290394,152094952,0,0x0,8
tick,0x7ffcc6290394,152110677,0,0x0,8
tick,0x7ffcc6290394,152126611,0,0x0,8
tick,0x7ffcc6290394,152142102,0,0x0,8
tick,0x7ffcc6290394,152158013,0,0x0,8
tick,0x7ffcc6290394,152173576,0,0x0,8
tick,0x7ffcc6290394,152188606,0,0x0,8
tick,0x7ffcc6290394,152204497,0,0x0,8
tick,0x7ffcc6290394,152220079,0,0x0,8
tick,0x7ffcc6290394,152235927,0,0x0,8
tick,0x7ffcc6290394,152251707,0,0x0,8
tick,0x7ffcc6290394,152267264,0,0x0,8
tick,0x7ffcc6290394,152282952,0,0x0,8
tick,0x7ffcc6290394,152298099,0,0x0,8
tick,0x7ffcc6290394,152313740,0,0x0,8
tick,0x7ffcc6290394,152329607,0,0x0,8
tick,0x7ffcc6290394,152344789,0,0x0,8
tick,0x7ffcc6290394,152360180,0,0x0,8
tick,0x7ffcc6290394,152376234,0,0x0,8
tick,0x7ffcc6290394,152391821,0,0x0,8
tick,0x7ffcc6290394,152407572,0,0x0,8
tick,0x7ffcc6290394,152423333,0,0x0,8
tick,0x7ffcc6290394,152438465,0,0x0,8
tick,0x7ffcc6290394,152454380,0,0x0,8
tick,0x7ffcc6290394,152469390,0,0x0,8
tick,0x7ffcc6290394,152484489,0,0x0,8
tick,0x7ffcc6290394,152500369,0,0x0,8
tick,0x7ffcc6290394,152515661,0,0x0,8
tick,0x7ffcc6290394,152531094,0,0x0,8
tick,0x7ffcc6290394,152546497,0,0x0,8
tick,0x7ffcc6290394,152562179,0,0x0,8
tick,0x7ffcc6290394,152577947,0,0x0,8
tick,0x7ffcc6290394,152594025,0,0x0,8
tick,0x7ffcc6290394,152609770,0,0x0,8
tick,0x7ffcc6290394,152625561,0,0x0,8
tick,0x7ffcc6290394,152640340,0,0x0,8
tick,0x7ffcc6290394,152655570,0,0x0,8
tick,0x7ffcc6290394,152671131,0,0x0,8
tick,0x7ffcc6290394,152687283,0,0x0,8
tick,0x7ffcc6290394,152702580,0,0x0,8
tick,0x7ffcc6290394,152718344,0,0x0,8
tick,0x7ffcc6290394,152733703,0,0x0,8
tick,0x7ffcc6290394,152749451,0,0x0,8
tick,0x7ffcc6290394,152765314,0,0x0,8
tick,0x7ffcc6290394,152780235,0,0x0,8
tick,0x7ffcc6290394,152796083,0,0x0,8
tick,0x7ffcc6290394,152811614,0,0x0,8
tick,0x7ffcc6290394,152827538,0,0x0,8
tick,0x7ffcc6290394,152843131,0,0x0,8
tick,0x7ffcc6290394,152858793,0,0x0,8
tick,0x7ffcc6290394,152874697,0,0x0,8
tick,0x7ffcc6290394,152890389,0,0x0,8
tick,0x7ffcc6290394,152905259,0,0x0,8
tick,0x7ffcc6290394,152920886,0,0x0,8
tick,0x7ffcc6290394,152936864,0,0x0,8
tick,0x7ffcc6290394,152952096,0,0x0,8
tick,0x7ffcc6290394,152967386,0,0x0,8
tick,0x7ffcc6290394,152983443,0,0x0,8
tick,0x7ffcc6290394,152999019,0,0x0,8
tick,0x7ffcc6290394,153014611,0,0x0,8
tick,0x7ffcc6290394,153030346,0,0x0,8
tick,0x7ffcc6290394,153045287,0,0x0,8
tick,0x7ffcc6290394,153060784,0,0x0,8
tick,0x7ffcc6290394,153076888,0,0x0,8
tick,0x7ffcc6290394,153092398,0,0x0,8
tick,0x7ffcc6290394,153107979,0,0x0,8
tick,0x7ffcc6290394,153123636,0,0x0,8
tick,0x7ffcc6290394,153139557,0,0x0,8
tick,0x7ffcc6290394,153155469,0,0x0,8
tick,0x7ffcc6290394,153170721,0,0x0,8
tick,0x7ffcc6290394,153186414,0,0x0,8
tick,0x7ffcc6290394,153202430,0,0x0,8
tick,0x7ffcc6290394,153218468,0,0x0,8
tick,0x7ffcc6290394,153233651,0,0x0,8
tick,0x7ffcc6290394,153249325,0,0x0,8
tick,0x7ff7b9a15856,153264495,0,0x0,0,0x307efd55fa6,0x39e2db51f0a,0x22fbed8b16b,0x307efd55bc1,0x2d4ae60fedc,0x2d4ae60fb3d,0x2d4ae60f579,0x7ff739bcd914
code-creation,JS,10,153265071,0x307efd7ec96,90,close node:repl:1081:44,0x37fd75f5628,~
code-source-info,0x307efd7ec96,115,36535,36854,C0O36535C9O36543C12O36552C21O36569C30O36588C36O36612C40O36633C44O36646C47O36651C60O36651C66O36751C67O36758C68O36767C73O36775C83O36775C89O36853,,
code-creation,JS,11,153265542,0x7ff739bd41c0,2888,emit node:events:466:44,0x39e2db51d90,^
code-source-info,0x7ff739bd41c0,23,13916,16285,,,
code-creation,JS,11,153265653,0x7ff739bd4d40,356,emitInitScript node:internal/async_hooks:495:24,0x39e2db45380,^
code-source-info,0x7ff739bd4d40,14,16996,17392,,,
code-creation,JS,11,153265744,0x7ff739bd4ec0,56,get node:readline:232:8,0x37fd75df960,^
code-source-info,0x7ff739bd4ec0,119,6558,6604,,,
code-creation,JS,11,153265819,0x7ff739bd4f40,332, node:internal/readline/interface:433:19,0x22fbedbd630,^
code-source-info,0x7ff739bd4f40,123,11958,12145,,,
code-creation,JS,11,153265923,0x7ff739bd50c0,1496,handleWriteReq node:internal/stream_base_commons:46:24,0x15f256b0bd0,^
code-source-info,0x7ff739bd50c0,107,1269,2134,,,
code-creation,JS,10,153266150,0x307efd7f3ae,36, node:repl:1090:20,0x307efd7ebb8,~
code-source-info,0x307efd7f3ae,115,36784,36844,C0O36795C11O36808C14O36818C19O36828C30O36795C35O36844,,
code-creation,JS,10,153266289,0x307efd7f4de,58,close node:internal/readline/interface:521:8,0x22fbedbd6f0,~
code-source-info,0x307efd7f4de,123,14507,14681,C0O14526C6O14534C7O14541C8O14552C13O14552C17O14575C23O14594C25O14599C27O14598C33O14611C38O14632C39O14644C43O14662C51O14662C57O14680,,
code-creation,JS,10,153268396,0x307efd7f91e,90,onSelfCloseWithTerminal node:internal/readline/interface:295:37,0x22fbed840f0,~
code-source-info,0x307efd7f91e,123,8549,8822,C0O8561C3O8567C14O8567C20O8614C23O8620C34O8620C40O8661C43O8667C54O8667C60O8708C68O8764C71O8771C82O8771C89O8821,,
code-creation,JS,10,153268618,0x307efd7fa6e,48,spliceOne node:internal/util:472:19,0x39e2db48270,~
code-source-info,0x307efd7fa6e,16,13827,13940,C0O13863C2O13859C6O13870C10O13863C15O13892C17O13917C20O13910C23O13904C27O13883C33O13846C37O13931C42O13931C47O13939,,
code-creation,JS,10,153268782,0x307efd7fc16,50,emitExit node:repl:837:37,0x2d4ae63cc30,~
code-source-info,0x307efd7fc16,115,29059,29185,C0O29069C6O29090C15O29109C23O29090C28O29142C29O29149C30O29162C35O29167C43O29167C49O29184,,
code-creation,JS,10,153268908,0x307efd7fd6e,86,onexit node:internal/repl/history:161:18,0x22fbeda0b98,~
code-source-info,0x307efd7fd6e,129,4120,4293,C0O4130C3O4139C9O4159C12O4164C23O4164C29O4201C30O4208C31O4221C34O4226C45O4226C51O4252C58O4255C66O4266C75O4282C78O4255C85O4292,,
code-creation,JS,10,153269146,0x307efd7ff56,60, node:internal/main/repl:47:23,0x22fbedbbcb0,~
code-source-info,0x307efd7ff56,80,1429,1633,C0O1446C3O1455C9O1479C12O1484C17O1484C21O1504C24O1516C37O1516C43O1588C44O1609C49O1617C54O1617C59O1632,,
code-creation,JS,10,153269357,0x15e27c89246,162,exit node:internal/process/per_thread:175:16,0x39e2db5cd00,~
code-source-info,0x15e27c89246,28,4963,6089,C0O4963C2O5007C10O5007C15O4985C20O5050C25O5058C33O5058C39O5111C45O5118C50O5134C57O5151C61O5173C66O5186C72O5205C78O5222C82O5237C87O5245C100O5266C110O5278C113O5245C119O5495C124O5503C134O5522C144O5534C147O5503C152O6078C157O6078C161O6088,,
code-creation,JS,10,153269568,0x15e27c89406,5,get node:internal/bootstrap/node:113:8,0x39e2db429e0,~
code-source-info,0x15e27c89406,12,4201,4236,C0O4213C4O4229,,