%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
'use strict'; const { ArrayPrototypeConcat, FunctionPrototypeBind, ObjectDefineProperty, ObjectKeys, ObjectPrototypeHasOwnProperty, } = primordials; let session; function sendInspectorCommand(cb, onError) { const { hasInspector } = internalBinding('config'); if (!hasInspector) return onError(); const inspector = require('inspector'); if (session === undefined) session = new inspector.Session(); session.connect(); try { return cb(session); } finally { session.disconnect(); } } // Create a special require function for the inspector command line API function installConsoleExtensions(commandLineApi) { if (commandLineApi.require) { return; } const { tryGetCwd } = require('internal/process/execution'); const CJSModule = require('internal/modules/cjs/loader').Module; const { makeRequireFunction } = require('internal/modules/cjs/helpers'); const consoleAPIModule = new CJSModule('<inspector console>'); const cwd = tryGetCwd(); consoleAPIModule.paths = ArrayPrototypeConcat( CJSModule._nodeModulePaths(cwd), CJSModule.globalPaths ); commandLineApi.require = makeRequireFunction(consoleAPIModule); } // Wrap a console implemented by Node.js with features from the VM inspector function wrapConsole(consoleFromNode, consoleFromVM) { const { consoleCall } = internalBinding('inspector'); for (const key of ObjectKeys(consoleFromVM)) { // If global console has the same method as inspector console, // then wrap these two methods into one. Native wrapper will preserve // the original stack. if (ObjectPrototypeHasOwnProperty(consoleFromNode, key)) { consoleFromNode[key] = FunctionPrototypeBind( consoleCall, consoleFromNode, consoleFromVM[key], consoleFromNode[key] ); ObjectDefineProperty(consoleFromNode[key], 'name', { __proto__: null, value: key }); } else { // Add additional console APIs from the inspector consoleFromNode[key] = consoleFromVM[key]; } } } // Stores the console from VM, should be set during bootstrap. let consoleFromVM; module.exports = { installConsoleExtensions, sendInspectorCommand, wrapConsole, get consoleFromVM() { return consoleFromVM; }, set consoleFromVM(val) { consoleFromVM = val; } };