diff --git a/.github/actions/install/action.yml b/.github/actions/install/action.yml index 7353adfc5..9b5d9eb05 100644 --- a/.github/actions/install/action.yml +++ b/.github/actions/install/action.yml @@ -13,7 +13,7 @@ inputs: zig-v8: description: 'zig v8 version to install' required: false - default: 'v0.5.6' + default: 'v0.5.7' v8: description: 'v8 version to install' required: false diff --git a/.github/actions/v8-snapshot/action.yml b/.github/actions/v8-snapshot/action.yml index a6492d68d..6d8e718e6 100644 --- a/.github/actions/v8-snapshot/action.yml +++ b/.github/actions/v8-snapshot/action.yml @@ -13,7 +13,7 @@ inputs: zig-v8: description: 'zig-v8 release tag the prebuilt lib came from' required: false - default: 'v0.5.6' + default: 'v0.5.7' runs: using: "composite" diff --git a/Dockerfile b/Dockerfile index 6b246470e..f62bd996c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,7 +4,7 @@ FROM debian:stable-slim ARG MINISIG=0.12 ARG ZIG_MINISIG=RWSGOq2NVecA2UPNdBUZykf1CCb147pkmdtYxgb3Ti+JO/wCYvhbAb/U ARG V8=14.9.207.35 -ARG ZIG_V8=v0.5.6 +ARG ZIG_V8=v0.5.7 ARG TARGETPLATFORM RUN apt-get update -yq && \ diff --git a/build.zig.zon b/build.zig.zon index fa9608e67..fbcf8a358 100644 --- a/build.zig.zon +++ b/build.zig.zon @@ -5,8 +5,8 @@ .minimum_zig_version = "0.16.0", .dependencies = .{ .v8 = .{ - .url = "https://github.com/lightpanda-io/zig-v8-fork/archive/d3d7b41677a0015fdfa55a8b1caa4f214de6d209.tar.gz", - .hash = "v8-0.0.0-xddH624yAwC5_H_8T303uTxiSAnAu2zrxv6MHLhvLo6t", + .url = "https://github.com/lightpanda-io/zig-v8-fork/archive/ebd2fabfb001294ed43ef65286c7db17245416e9.tar.gz", + .hash = "v8-0.0.0-xddH66lEAwB-5Ec92QAp19-aZ6-oB8UnnUm-w3fBUEaX", }, // .v8 = .{ .path = "../zig-v8-fork" }, .brotli = .{ @@ -40,8 +40,8 @@ .hash = "zenai-0.0.0-iOY_VKquBgBT36nAFRpM4tQki3JNZgFvTwQY6Pz-wiQx", }, .isocline = .{ - .url = "git+https://github.com/arrufat/isocline#ec538faf435c616a6b38716f53980b5815c30f8a", - .hash = "N-V-__8AAHhtEwBIqx5nOoiGo_FLAG8gpiVC6XzZn1teMKd0", + .url = "git+https://github.com/arrufat/isocline#4a99434bee4a5ed04c1639514224d48cd55e1405", + .hash = "N-V-__8AAHxtEwB16xj2Xz-zx_uklGdTP5C2-GHXDoSzah-8", }, .pcre2 = .{ .url = "https://github.com/PCRE2Project/pcre2/releases/download/pcre2-10.48/pcre2-10.48.tar.gz", diff --git a/orderfile/lightpanda.ld b/orderfile/lightpanda.ld index 95a42784a..0e942efb7 100644 --- a/orderfile/lightpanda.ld +++ b/orderfile/lightpanda.ld @@ -26,42 +26,43 @@ SECTIONS { ".text.network.Certificates.init" ".text.network.http.Connection.reset" ".text.provider.listChatModelIds" + ".text.browser.webapi.collections.RadioNodeList.getAtIndex" + ".text.browser.webapi.collections.NodeList.getAtIndex" ".text.network.adblock.AdBlocker.addToTrie" ".text.network.adblock.AdBlocker.fromConfig" ".text.storage.sqlite.Sqlite.Conn.rollback" - ".text.storage.sqlite.Sqlite.Conn.exec__anon_140305" + ".text.storage.sqlite.Sqlite.Conn.exec__anon_141258" ".text.network.Network.init" ".text.App.init" ".text.sys.net.epoll_ctl" ".text.server.Server.init" - ".text.Sighandler.on__anon_141520" - ".text.Sighandler.on__anon_141678" + ".text.Sighandler.on__anon_142472" + ".text.Sighandler.on__anon_142630" ".text.Sighandler.deadline" ".text.mcp.HttpServer.init" - ".text.Sighandler.on__anon_141867" + ".text.Sighandler.on__anon_142819" ".text.mcp.HttpServer.run" ".text.main.run" ".text.start.main" ".text.Io.Threaded.deinit" ".text.unlikely.Io.Threaded.Thread.futexWaitInner" ".text.Io.Threaded.mutexLock" - ".text.log.fatal__anon_142086" + ".text.log.fatal__anon_143038" ".text.process.exit" ".text.log.writeErased" ".text.log.logToErased" ".text.log.logKVs" ".text.debug.lockStderr" ".text.Io.lockStderr" - ".text.debug.print__anon_142896" + ".text.debug.print__anon_143847" ".text.Io.Writer.alignBuffer" ".text.Io.Writer.splatByteAll" ".text.Io.Writer.writeSplat" - ".text.Io.Writer.printFloat__anon_143662" - ".text.fmt.float.formatDecimal__anon_143749" - ".text.fmt.float.round__anon_143770" - ".text.fmt.float.binaryToDecimal__anon_143739" - ".text.Io.Writer.printFloat__anon_147240" - ".text.Io.Writer.print__anon_142766" + ".text.fmt.float.formatScientific__anon_144697" + ".text.fmt.float.round__anon_144721" + ".text.fmt.float.binaryToDecimal__anon_144690" + ".text.Io.Writer.printFloat__anon_148191" + ".text.Io.Writer.print__anon_143717" ".text.base64.Base64Encoder.encode" ".text.Io.Writer.writeByte" ".text.Io.Writer.writeAll" @@ -71,18 +72,17 @@ SECTIONS { ".text.Io.Writer.failingRebase" ".text.Io.Writer.noopFlush" ".text.Io.Writer.fixedDrain" - ".text.Sighandler.on__anon_142035.TypeErased.start" + ".text.Sighandler.on__anon_142987.TypeErased.start" + ".text.Thread.PosixThreadImpl.spawn__anon_148356.Instance.entryFn" ".text.agent.settings.saveRemembered" ".text.browser.js.Env.init" ".text.network.UrlBlocklist.init" ".text.browser.Browser.init" - ".text.ArenaPool._acquire__anon_149369" + ".text.ArenaPool._acquire__anon_150320" ".text.browser.Browser.newSession" ".text.ToolSession.restartSession" ".text.ToolSession.init" ".text.provider.Client.init" - ".text.agent.Terminal.printScriptDone" - ".text.agent.Spinner.emitAbove" ".text.agent.Spinner.renderLocked" ".text.Io.Writer.Allocating.toOwnedSlice" ".text.script.Runtime.deinit" @@ -90,11 +90,11 @@ SECTIONS { ".text.script.Runtime.printCompletion" ".text.script.Runtime.writeConsoleLine" ".text.script.Runtime.formatRejection" - ".text.ArenaPool._acquire__anon_155764" + ".text.ArenaPool._acquire__anon_156713" ".text.browser.Factory.registerDocument" ".text.browser.webapi.Performance.init" - ".text.ArenaPool._acquire__anon_160623" - ".text.Arena.dupe__anon_160634" + ".text.ArenaPool._acquire__anon_161561" + ".text.Arena.dupe__anon_161572" ".text.browser.js.Origin.init" ".text.browser.Page.getOrCreateOrigin" ".text.browser.js.Env.createContext" @@ -105,8 +105,9 @@ SECTIONS { ".text.browser.Frame.init" ".text.browser.URL.getOrigin" ".text.browser.js.Context.setOrigin" - ".text.ArenaPool._acquire__anon_161265" + ".text.ArenaPool._acquire__anon_162194" ".text.browser.webapi.event.NavigationCurrentEntryChangeEvent.initWithTrusted" + ".text.browser.webapi.navigation.Navigation.dispatch" ".text.browser.webapi.navigation.Navigation.fireCurrentEntryChangeEvent" ".text.browser.webapi.Event.initTrusted" ".text.browser.webapi.navigation.NavigationHistoryEntry.fireDispose" @@ -117,7 +118,7 @@ SECTIONS { ".text.network.HttpClient.Transfer.putHeader" ".text.browser.Frame.navigate" ".text.browser.Session._processFrameNavigation" - ".text.ArenaPool._acquire__anon_162179" + ".text.ArenaPool._acquire__anon_163108" ".text.browser.Session.allocatePage" ".text.browser.Session.processPageQueuedNavigation" ".text.browser.js.Scheduler.run" @@ -125,43 +126,43 @@ SECTIONS { ".text.network.HttpClient.setFetchMetadataHeaders" ".text.ascii.allocLowerString" ".text.network.SingleFlight.enter" - ".text.network.CorsGate.fetchThenResume" ".text.network.cache.Cache.get" ".text.network.HttpClient.Transfer.bufferEvents" ".text.network.HttpClient.Transfer.bufferCached" ".text.browser.URL.getRobotsUrl" ".text.network.HttpClient.pipeline" ".text.network.HttpClient.startPending" - ".text.browser.webapi.storage.Cookie.percentEncode__anon_163985" + ".text.browser.webapi.storage.Cookie.percentEncode__anon_164925" ".text.browser.webapi.storage.Cookie.parsePath" + ".text.browser.webapi.storage.Cookie.parseDomain" + ".text.datetime.Parser.time" + ".text.browser.webapi.storage.Cookie.parse" + ".text.browser.webapi.storage.Cookie.Jar.add__anon_165243" ".text.browser.webapi.storage.Cookie.Jar.populateFromResponse" ".text.network.HttpClient.Transfer.materializeResponse" - ".text.browser.URL.resolve__anon_164422" + ".text.browser.URL.resolve__anon_165360" ".text.browser.referrer.compute" ".text.network.HttpClient.Transfer.applyRedirectTarget" ".text.network.HttpClient.Transfer.handleRedirect" - ".text.storage.sqlite.Sqlite.Conn.exec__anon_164667" + ".text.storage.sqlite.Sqlite.Conn.exec__anon_165605" ".text.network.HttpClient.processOneMessage" ".text.network.HttpClient.processMessages" ".text.network.HttpClient.drainInbox" ".text.network.HttpClient._tick" - ".text.browser.Runner._tick__anon_154738" + ".text.browser.Runner._tick__anon_155689" ".text.script.Runtime.formatCaught" - ".text.browser.Page.findFrameBy__anon_165153" + ".text.browser.Page.findFrameBy__anon_166091" ".text.server.Link.send" ".text.server.bidi.BiDi.sendError" ".text.server.bidi.BiDi.replyError" ".text.server.bidi.script.resolveTarget" ".text.browser.js.Local.compile" ".text.server.bidi.script.serialize" - ".text.browser.js.Value.toStringSliceWithAlloc" - ".text.server.bidi.script.sendException" - ".text.server.bidi.script.processMessage" ".text.server.bidi.browser.processMessage" ".text.browser.Session.createPage" ".text.server.bidi.browsing_context.announceRealm" ".text.server.bidi.browsing_context.openContext" - ".text.browser.URL.resolve__anon_167189" + ".text.browser.URL.resolve__anon_168127" ".text.browser.URL.resolveNavigation" ".text.browser.Session.initiateRootNavigation" ".text.server.bidi.browsing_context.startNavigation" @@ -173,7 +174,9 @@ SECTIONS { ".text.browser.webapi.selector.Selector.querySelectorAll" ".text.browser.webapi.Node.getElementsByTagName" ".text.server.bidi.browsing_context.Locator.locate" - ".text.log.writeThunk__anon_168585__struct_168593.write" + ".text.server.bidi.input.processMessage" + ".text.server.bidi.BiDi.Command.failed" + ".text.log.writeThunk__anon_169509__struct_169517.write" ".text.json.Scanner.skipWhitespaceCheckEnd" ".text.json.Scanner.endOfBufferInString" ".text.json.Scanner.next" @@ -183,12 +186,13 @@ SECTIONS { ".text.json.Scanner.skipValue" ".text.json.Scanner.peekNextTokenType" ".text.array_list.AlignedManaged(u8,null).ensureTotalCapacity" - ".text.json.static.innerParse__anon_169136" - ".text.json.static.innerParse__anon_169256" + ".text.json.static.innerParse__anon_170060" + ".text.json.static.innerParse__anon_170180" ".text.array_list.AlignedManaged(u8,null).toOwnedSlice" - ".text.json.static.sliceToInt__anon_169342" - ".text.json.static.innerParse__anon_169289" - ".text.fmt.parse_float.parseFloat__anon_169352" + ".text.json.static.sliceToInt__anon_170266" + ".text.json.static.innerParse__anon_170213" + ".text.fmt.parse_float.parseFloat__anon_170276" + ".text.unlikely.fmt.parse_float.convert_slow.convertSlow__anon_170344" ".text.fmt.parse_float.decimal.Decimal(f128).round" ".text.fmt.parse_float.decimal.Decimal(f128).leftShift" ".text.fmt.parse_float.decimal.Decimal(f128).rightShift" @@ -206,8 +210,8 @@ SECTIONS { ".text.json.Stringify.outputSpecialEscape" ".text.server.bidi.input.Pending.cancelled" ".text.server.bidi.input.Pending.resumeFromScheduler" - ".text.json.Stringify.write__anon_171026" - ".text.json.Stringify.write__anon_171199" + ".text.json.Stringify.write__anon_171950" + ".text.json.Stringify.write__anon_172123" ".text.browser.webapi.event.KeyboardEvent.Key.fromString" ".text.browser.webapi.net.FormData.initWithCharset" ".text.browser.webapi.element.Attribute.List.getEntryAndNormalizedName" @@ -215,33 +219,51 @@ SECTIONS { ".text.browser.webapi.element.Attribute.List._put" ".text.browser.webapi.element.html.Dialog.close" ".text.browser.webapi.KeyValueList.writeFormLineEnd" - ".text.browser.webapi.KeyValueList.urlEncodeValueUtf8__anon_174457" - ".text.browser.webapi.KeyValueList.urlEncodeFormValue" - ".text.browser.webapi.net.FormData.urlEncodeEntry" - ".text.browser.webapi.net.FormData.encodeForCharset" + ".text.browser.webapi.KeyValueList.urlEncodeValueUtf8__anon_175189" + ".text.browser.StyleManager.rebuildIfDirty" + ".text.browser.StyleManager.ownProps" ".text.browser.StyleManager.compute" ".text.browser.webapi.Element.Tag.isHiddenByUaStylesheet" ".text.hash.wyhash.Wyhash.final" ".text.browser.StyleManager.checkRules" ".text.hash.wyhash.Wyhash.hash" ".text.unlikely.hash_map.HashMapUnmanaged(\*browser.webapi.Element,browser.StyleManager.Props,hash_map.AutoContext(\*browser.webapi.Element),80).grow" + ".text.sort.block.block__anon_179012" + ".text.math.ldexp.ldexp__anon_180236" + ".text.browser.css.Tokenizer.consumeString" + ".text.browser.css.Tokenizer.consumeComment" + ".text.browser.css.Tokenizer.startsWith" ".text.browser.css.Parser.RulesIterator.next" ".text.browser.webapi.Node.getTextContent" ".text.browser.StyleManager.applyLayerAtRule" ".text.browser.css.MediaQuery.matches" - ".text.mem.findPos__anon_180551" + ".text.mem.findPos__anon_181282" ".text.browser.css.MediaQuery.stripDevice" - ".text.mem.findPosLinear__anon_180562" + ".text.mem.findPosLinear__anon_181293" ".text.browser.css.MediaQuery.parseLengthPx" ".text.browser.css.MediaQuery.trimWsAndComments" ".text.browser.StyleManager.internLayer" + ".text.browser.webapi.Element.ScrollEventTask.run" + ".text.browser.webapi.Element.contentAxis__anon_182429" + ".text.browser.webapi.Element.isVisible" + ".text.browser.StyleManager.isHidden" ".text.unlikely.hash_map.HashMapUnmanaged(\*browser.webapi.Element,browser.webapi.Element.ScrollPosition,hash_map.AutoContext(\*browser.webapi.Element),80).grow" - ".text.browser.webapi.Element.clientAxis__anon_181680" - ".text.browser.webapi.Element.getElementAxis__anon_181675" - ".text.fmt.parse_float.parseFloat__anon_181818" + ".text.browser.webapi.Element.clientAxis__anon_182411" + ".text.browser.webapi.Element.getElementAxis__anon_182406" + ".text.fmt.parse_float.parseFloat__anon_182549" + ".text.unlikely.fmt.parse_float.convert_slow.convertSlow__anon_182595" + ".text.fmt.parse_float.decimal.Decimal(f64).round" ".text.browser.webapi.css.CSSStyleDeclaration.getPropertyValue" ".text.browser.webapi.css.CSSStyleDeclaration.resolvedDimension" ".text.browser.webapi.Element.getTagNameLower" + ".text.browser.webapi.css.CSSStyleDeclaration.AxisPair.formatValue" + ".text.browser.webapi.css.CSSStyleDeclaration.declaredValue" + ".text.browser.webapi.css.CSSStyleDeclaration.axisPair" + ".text.Io.File.Reader.readVec" + ".text.Io.Reader.stream" + ".text.Io.File.Reader.readVecStreaming" + ".text.Io.File.Reader.readVecPositional" + ".text.Io.File.Reader.seekBy" ".text.Io.File.Reader.discard" ".text.Io.Writer.Discarding.sendFile" ".text.Io.File.Reader.getSize" @@ -249,142 +271,136 @@ SECTIONS { ".text.Io.File.Reader.stream" ".text.array_list.Aligned(debug.Symbol,null).append" ".text.debug.Dwarf.DebugRangeIterator.init" - ".text.debug.Dwarf.readAddress" - ".text.debug.Dwarf.DebugRangeIterator.next" ".text.debug.ElfFile.load" ".text.debug.ElfFile.DebugInfoSearchPaths.native" ".text.Io.Threaded.scanEnviron" ".text.Io.Writer.printHex" ".text.debug.ElfFile.loadInner" ".text.browser.Frame.HashChangeCallback.run" - ".text.browser.js.Local.mapZigInstanceToJs__anon_205002" - ".text.browser.js.Local.mapZigInstanceToJs__anon_205295" - ".text.browser.js.Function.tryCallWithThis__anon_204896" - ".text.browser.js.Function.callWithThisRethrow__anon_205468" + ".text.browser.js.Local.mapZigInstanceToJs__anon_205733" + ".text.browser.js.Local.mapZigInstanceToJs__anon_206026" + ".text.browser.js.Function.tryCallWithThis__anon_205627" + ".text.browser.js.Function.callWithThisRethrow__anon_206199" ".text.browser.js.Local.eval" - ".text.browser.js.Function.callWithThisRethrow__anon_205565" + ".text.browser.js.Function.callWithThisRethrow__anon_206296" ".text.browser.EventManagerBase.removeListener" ".text.browser.js.Value.toStringSlice" - ".text.browser.js.js.newTrackedSlot__anon_205731" + ".text.browser.js.js.newTrackedSlot__anon_206462" ".text.browser.webapi.event.ErrorEvent.initWithTrusted" - ".text.browser.js.Function.call__anon_205858" - ".text.browser.webapi.Window.reportError" - ".text.log.Value.initRuntime__anon_206401.Thunk.logFmt" - ".text.log.writeThunk__anon_206449__struct_206455.write" - ".text.browser.js.TryCatch.Caught.format" - ".text.log.warn__anon_205506" + ".text.browser.js.Function.call__anon_206589" ".text.browser.EventManagerBase.Listener.reportException" - ".text.browser.js.Local.resolveT__anon_207641.Wrap.releaseRefFromZig" - ".text.browser.js.Local.resolveT__anon_207641.Wrap.releaseRef" - ".text.browser.js.Local.resolveT__anon_207641.Wrap.acquireRef" - ".text.browser.js.Local.resolveT__anon_208181.Wrap.releaseRefFromZig" - ".text.browser.js.Local.resolveT__anon_208181.Wrap.releaseRef" - ".text.crash_handler.report__anon_210423" - ".text.unlikely.crash_handler.crash__anon_210402" + ".text.browser.js.Local.resolveT__anon_208372.Wrap.releaseRefFromZig" + ".text.browser.js.Local.resolveT__anon_208372.Wrap.releaseRef" + ".text.browser.js.Local.resolveT__anon_208372.Wrap.acquireRef" + ".text.browser.js.Local.resolveT__anon_208912.Wrap.releaseRefFromZig" + ".text.browser.js.Local.resolveT__anon_208912.Wrap.releaseRef" + ".text.browser.js.Local.resolveT__anon_208912.Wrap.acquireRef" + ".text.unlikely.lightpanda.assertionFailure__anon_209027" + ".text.crash_handler.report__anon_209131" + ".text.unlikely.crash_handler.crash__anon_209038" + ".text.unlikely.crash_handler.crash__anon_211133" ".text.hash_map.HashMapUnmanaged(usize,browser.js.js.FinalizerCallback,hash_map.AutoContext(usize),80).getOrPut" - ".text.browser.js.Local.resolveT__anon_210828.Wrap.releaseRefFromZig" - ".text.browser.js.Local.resolveT__anon_210828.Wrap.releaseRef" - ".text.browser.js.Local.resolveT__anon_210828.Wrap.acquireRef" + ".text.browser.js.Local.resolveT__anon_211559.Wrap.releaseRefFromZig" + ".text.browser.js.Local.resolveT__anon_211559.Wrap.releaseRef" + ".text.browser.js.Local.resolveT__anon_211559.Wrap.acquireRef" ".text.browser.webapi.net.XMLHttpRequest.releaseRef" ".text.browser.webapi.net.XMLHttpRequestEventTarget.releaseListeners" ".text.browser.js.Function.Global.deinit" ".text.browser.webapi.net.XMLHttpRequest.clearResponse" ".text.network.HttpClient.Transfer.cancel" - ".text.unlikely.lightpanda.assertionFailure__anon_210973" + ".text.unlikely.lightpanda.assertionFailure__anon_211704" ".text.network.HttpClient.Transfer.abort" - ".text.crash_handler.report__anon_211075" - ".text.unlikely.crash_handler.crash__anon_211049" + ".text.crash_handler.report__anon_211806" + ".text.unlikely.crash_handler.crash__anon_211780" ".text.network.HttpClient.Transfer.requestFailed" ".text.browser.webapi.Performance.notifyObservers" ".text.browser.webapi.Performance.insertOrdered" ".text.network.HttpClient.Transfer.recordResourceTiming" - ".text.log.writeThunk__anon_211832__struct_211838.write" - ".text.browser.js.Local.mapZigInstanceToJs__anon_212143" - ".text.browser.webapi.Performance.scheduleDelivery__struct_211377.run" + ".text.log.writeThunk__anon_212563__struct_212569.write" + ".text.browser.js.Local.mapZigInstanceToJs__anon_212874" + ".text.browser.webapi.Performance.scheduleDelivery__struct_212108.run" ".text.array_list.Aligned(\*browser.webapi.Performance.Entry,null).append" - ".text.browser.webapi.Performance.scheduleBufferFull__struct_211219.run" - ".text.browser.js.Execution.hasDirectListeners__anon_211218" - ".text.browser.EventManagerBase.dispatchDirect__anon_213234" - ".text.log.warn__anon_213252" - ".text.hash_map.HashMapUnmanaged(browser.EventManagerBase.EventKey,\*DoublyLinkedList,browser.EventManagerBase.EventKeyContext,80).getIndex__anon_213316" + ".text.browser.webapi.Performance.scheduleBufferFull__struct_211950.run" + ".text.browser.js.Execution.hasDirectListeners__anon_211949" + ".text.browser.EventManagerBase.dispatchDirect__anon_213965" + ".text.log.warn__anon_213983" + ".text.hash_map.HashMapUnmanaged(browser.EventManagerBase.EventKey,\*DoublyLinkedList,browser.EventManagerBase.EventKeyContext,80).getIndex__anon_214047" ".text.hash.wyhash.Wyhash.update" ".text.network.HttpClient.Transfer.timingAllowPassed" ".text.unlikely.hash_map.HashMapUnmanaged(usize,browser.js.js.FinalizerCallback,hash_map.AutoContext(usize),80).grow" - ".text.browser.js.Local.resolveT__anon_213476.Wrap.releaseRefFromZig" - ".text.browser.js.Local.resolveT__anon_213476.Wrap.releaseRef" - ".text.unlikely.crash_handler.crash__anon_216438" - ".text.browser.js.Local.resolveValue__anon_215949" - ".text.browser.js.Local.resolveValue__anon_216693" - ".text.browser.js.Local.resolveT__anon_215804.Wrap.releaseRef" - ".text.browser.js.Local.resolveT__anon_215804.Wrap.acquireRef" - ".text.browser.js.Local.resolveT__anon_227074.Wrap.releaseRefFromZig" - ".text.browser.webapi.storage.idb.IDBTransaction.releaseRef" - ".text.browser.js.Local.resolveT__anon_227444.Wrap.releaseRefFromZig" - ".text.unlikely.lightpanda.assertionFailure__anon_227695" - ".text.browser.js.Local.resolveT__anon_227444.Wrap.releaseRef" - ".text.crash_handler.report__anon_228399" - ".text.unlikely.crash_handler.crash__anon_228378" - ".text.browser.URL.eqlDocument" - ".text.browser.Frame.hasRelToken" - ".text.fmt.allocPrintSentinel__anon_174690" - ".text.fmt.allocPrintSentinel__anon_174685" - ".text.Io.Writer.Allocating.toOwnedSliceSentinel__anon_228850" + ".text.browser.js.Local.resolveT__anon_214207.Wrap.releaseRefFromZig" + ".text.browser.js.Local.resolveT__anon_214207.Wrap.releaseRef" + ".text.browser.js.Local.resolveT__anon_214207.Wrap.acquireRef" + ".text.browser.js.Local.resolveT__anon_215390.Wrap.releaseRefFromZig" + ".text.browser.webapi.net.WebSocket.releaseRef" + ".text.browser.js.Local.resolveT__anon_215390.Wrap.releaseRef" + ".text.browser.js.Local.resolveT__anon_215390.Wrap.acquireRef" + ".text.unlikely.lightpanda.assertionFailure__anon_215642" + ".text.crash_handler.report__anon_215700" + ".text.unlikely.crash_handler.crash__anon_217169" + ".text.browser.js.Local.resolveValue__anon_216680" + ".text.browser.js.Local.resolveValue__anon_217424" + ".text.browser.js.Local.resolveT__anon_216535.Wrap.releaseRef" + ".text.fmt.allocPrintSentinel__anon_175422" + ".text.fmt.allocPrintSentinel__anon_175417" + ".text.Io.Writer.Allocating.toOwnedSliceSentinel__anon_229581" ".text.browser.webapi.element.html.Form.normalizeEnctype" ".text.browser.webapi.net.FormData.releaseRef" ".text.browser.webapi.element.html.Body.Build.attributeChange" ".text.browser.Frame.headersForRequest" ".text.browser.Frame.queueElementEvent" ".text.browser.webapi.element.html.Image.imageAddedCallback" - ".text.browser.Frame.scheduleNavigation" ".text.browser.Frame.iframeAddedCallback" ".text.browser.webapi.element.html.IFrame.Build.attributeChange" - ".text.browser.webapi.element.html.Input.sanitizeValue__anon_229463" + ".text.browser.webapi.element.html.Input.sanitizeValue__anon_230194" ".text.browser.webapi.element.html.Input.Build.attributeChange" ".text.browser.webapi.element.html.Meta.processRefresh" ".text.browser.webapi.element.html.Meta.Build.attributeChange" ".text.browser.webapi.element.html.Option.Build.attributeChange" + ".text.browser.ScriptManagerBase.takeModuleHint" ".text.network.HttpClient.blockOn" ".text.network.HttpClient.Transfer.submitSync" - ".text.browser.Frame.scriptAddedCallback__anon_229676" - ".text.browser.js.Context.enqueueMicrotask__anon_231010__struct_231033.run" - ".text.browser.js.Local.mapZigInstanceToJs__anon_231263" - ".text.browser.js.Local.zigValueToJs__anon_231283" - ".text.unlikely.lightpanda.assertionFailure__anon_231605" - ".text.crash_handler.report__anon_231705" - ".text.unlikely.crash_handler.crash__anon_231664" - ".text.browser.js.Local.resolveT__anon_231729.Wrap.releaseRefFromZig" - ".text.browser.js.Local.resolveT__anon_231729.Wrap.releaseRef" - ".text.browser.js.Local.resolveT__anon_231774.Wrap.releaseRefFromZig" - ".text.browser.js.Local.resolveT__anon_231774.Wrap.releaseRef" + ".text.browser.js.Context.enqueueMicrotask__anon_231796__struct_231819.run" + ".text.browser.js.Local.mapZigInstanceToJs__anon_232049" + ".text.browser.js.Local.zigValueToJs__anon_232069" + ".text.unlikely.lightpanda.assertionFailure__anon_232391" + ".text.crash_handler.report__anon_232491" + ".text.unlikely.crash_handler.crash__anon_232450" + ".text.browser.js.Local.resolveT__anon_232515.Wrap.releaseRefFromZig" + ".text.browser.js.Local.resolveT__anon_232515.Wrap.releaseRef" + ".text.browser.js.Local.resolveT__anon_232560.Wrap.releaseRefFromZig" + ".text.browser.js.Local.resolveT__anon_232560.Wrap.releaseRef" ".text.browser.webapi.MutationObserver.releaseRef" - ".text.unlikely.lightpanda.assertionFailure__anon_231827" - ".text.crash_handler.report__anon_231852" - ".text.unlikely.crash_handler.crash__anon_231831" + ".text.unlikely.lightpanda.assertionFailure__anon_232613" + ".text.crash_handler.report__anon_232638" + ".text.unlikely.crash_handler.crash__anon_232617" ".text.browser.webapi.MutationObserver.disconnect" ".text.browser.webapi.Node.getRootNode" ".text.browser.webapi.Element.hostedShadowRoot" ".text.browser.webapi.element.slotting.slotAttributeChanged" ".text.browser.frame.observers.notifyAttributeChange" - ".text.browser.js.Context.enqueueMicrotask__anon_232619__struct_232647.run" - ".text.crash_handler.report__anon_233245" - ".text.unlikely.crash_handler.crash__anon_233210" + ".text.browser.js.Context.enqueueMicrotask__anon_233405__struct_233433.run" + ".text.browser.js.Local.resolveT__anon_233912.Wrap.releaseRef" + ".text.unlikely.lightpanda.assertionFailure__anon_233992" + ".text.crash_handler.report__anon_234031" + ".text.unlikely.crash_handler.crash__anon_233996" ".text.browser.webapi.element.html.Custom.enqueueAttributeChangedCallbackOnElement" ".text.__zig_tag_name_browser.webapi.Element.Tag" - ".text.browser.js.Context.enqueueMicrotask__anon_233426__struct_233620.run" - ".text.log.writeThunk__anon_233619__struct_233625.write" - ".text.browser.js.Local.jsValueToZig__anon_233753" + ".text.browser.js.Context.enqueueMicrotask__anon_234212__struct_234406.run" + ".text.log.writeThunk__anon_234405__struct_234411.write" + ".text.browser.js.Local.jsValueToZig__anon_234539" ".text.browser.webapi.CustomElementRegistry.upgradeCustomElement" ".text.browser.webapi.element.html.Custom.fireReaction" ".text.array_list.Aligned(browser.CustomElementReactions.Reaction,null).append" - ".text.browser.js.Local.mapZigInstanceToJs__anon_233867" + ".text.browser.js.Local.mapZigInstanceToJs__anon_234653" ".text.browser.js.Object.getFunction" - ".text.browser.js.Function._tryCallWithThis__anon_233931" - ".text.browser.js.Object.callMethod__anon_233898" - ".text.browser.js.Object.callMethod__anon_234084" - ".text.browser.js.Local.zigValueToJs__anon_234155" - ".text.browser.js.Local.mapZigInstanceToJs__anon_234258" - ".text.browser.js.Object.callMethod__anon_234216" - ".text.browser.webapi.element.html.Custom.enqueueConnectedCallbackOnElement__anon_233695" + ".text.browser.js.Function._tryCallWithThis__anon_234717" + ".text.browser.js.Object.callMethod__anon_234684" + ".text.browser.js.Object.callMethod__anon_234870" + ".text.browser.js.Local.zigValueToJs__anon_234941" + ".text.browser.js.Local.mapZigInstanceToJs__anon_235044" + ".text.browser.js.Object.callMethod__anon_235002" + ".text.browser.webapi.element.html.Custom.enqueueConnectedCallbackOnElement__anon_234481" ".text.hash_map.HashMapUnmanaged(\*browser.webapi.Element,void,hash_map.AutoContext(\*browser.webapi.Element),80).getOrPutContext" ".text.unlikely.hash_map.HashMapUnmanaged(\*browser.webapi.Element,void,hash_map.AutoContext(\*browser.webapi.Element),80).grow" ".text.browser.webapi.element.html.Select.resetToDefaultSelection" @@ -394,35 +410,35 @@ SECTIONS { ".text.browser.ScriptManagerBase.Script.queueHintEvent" ".text.browser.ScriptManagerBase.Script.dataCallback" ".text.browser.ScriptManagerBase.Script.headerCallback" - ".text.unlikely.lightpanda.assertionFailure__anon_235655" - ".text.unlikely.lightpanda.assertionFailure__anon_235648" - ".text.crash_handler.report__anon_235776" - ".text.unlikely.crash_handler.crash__anon_235749" - ".text.crash_handler.report__anon_236040" - ".text.unlikely.crash_handler.crash__anon_235751" + ".text.unlikely.lightpanda.assertionFailure__anon_236428" + ".text.crash_handler.report__anon_236536" + ".text.unlikely.crash_handler.crash__anon_236506" + ".text.unlikely.crash_handler.crash__anon_236544" ".text.browser.ScriptManagerBase.Script.startCallback" ".text.browser.ScriptManager.evalNow" ".text.browser.ImportMap.sortedNormalizedSpecifierMap" ".text.browser.ImportMap.mergeEntries" ".text.browser.js.Context.compileModule" ".text.browser.js.Module.persist" - ".text.browser.ImportMap.resolveImportsMatch" - ".text.browser.ScriptManagerBase.preloadImport" - ".text.browser.js.Context.postCompileModule" - ".text.browser.js.Context.evaluateModule__anon_236593" - ".text.browser.js.Context.module__anon_236494" + ".text.browser.js.Context.evaluateModule__anon_237355" + ".text.browser.js.Context.module__anon_237256" ".text.browser.ScriptManagerBase.Script.eval" + ".text.log.warn__anon_237668" + ".text.unlikely.lightpanda.assertionFailure__anon_237623" + ".text.hash_map.HashMapUnmanaged(\[\]const u8,browser.js.Context.ModuleEntry,hash_map.StringContext,80).getPtr" + ".text.crash_handler.report__anon_237798" + ".text.unlikely.crash_handler.crash__anon_237793" ".text.array_hash_map.Custom(\[\]const u8,json.hashmap.ArrayHashMap(\?\[\]const u8),array_hash_map.StringContext,true).getOrPut" - ".text.json.static.innerParse__anon_238775" + ".text.json.static.innerParse__anon_239512" ".text.array_hash_map.Custom(\[\]const u8,\?\[\]const u8,array_hash_map.StringContext,true).getOrPut" ".text.array_hash_map.Custom(\[\]const u8,\?\[\]const u8,array_hash_map.StringContext,true).deinit" ".text.browser.ScriptManagerBase.Script.executeCallback" - ".text.log.info__anon_230000" - ".text.unlikely.builtin.panic__struct_229923.panic" + ".text.log.info__anon_230786" + ".text.unlikely.builtin.panic__struct_230709.panic" ".text.unlikely.crash_handler.panic" ".text.network.HttpClient.releaseBlocking" - ".text.crash_handler.report__anon_239197" - ".text.unlikely.crash_handler.crash__anon_239160" + ".text.crash_handler.report__anon_239934" + ".text.unlikely.crash_handler.crash__anon_239897" ".text.unlikely.hash_map.HashMapUnmanaged(u32,u32,hash_map.AutoContext(u32),80).grow" ".text.network.HttpClient.SyncContext.shutdownCallback" ".text.network.HttpClient.SyncContext.errorCallback" @@ -430,10 +446,10 @@ SECTIONS { ".text.network.HttpClient.SyncContext.dataCallback" ".text.network.HttpClient.SyncContext.headerCallback" ".text.network.HttpClient.hasPendingTeardown" - ".text.unlikely.lightpanda.assertionFailure__anon_239338" - ".text.log.writeValue__anon_239365" - ".text.crash_handler.report__anon_239369" - ".text.unlikely.crash_handler.crash__anon_239347" + ".text.unlikely.lightpanda.assertionFailure__anon_240075" + ".text.log.writeValue__anon_240102" + ".text.crash_handler.report__anon_240106" + ".text.unlikely.crash_handler.crash__anon_240084" ".text.browser.ScriptManagerBase.Script.deinit" ".text.browser.ScriptManager.corsSettings" ".text.browser.ScriptManagerBase.evaluate" @@ -443,7 +459,7 @@ SECTIONS { ".text.browser.webapi.element.html.Input.uncheckRadioGroup" ".text.browser.webapi.element.html.Input.sameFormOwner" ".text.browser.webapi.element.html.Input.RadioGroupIterator.next" - ".text.fmt.allocPrint__anon_229537" + ".text.fmt.allocPrint__anon_230268" ".text.browser.webapi.element.html.Input.snapToStep" ".text.browser.webapi.element.html.Input.isValidFloatingPoint" ".text.browser.webapi.element.html.Input.isValidTime" @@ -451,7 +467,7 @@ SECTIONS { ".text.browser.webapi.element.html.Input.isValidDate" ".text.browser.Frame.fireElementEvent" ".text.browser.Frame.dispatchQueuedEvents" - ".text.browser.Frame.queueElementEvent__struct_229347.cleanup" + ".text.browser.Frame.queueElementEvent__struct_230078.cleanup" ".text.browser.frame.resource_load.ImageLoad.errorCallback" ".text.browser.frame.resource_load.ImageLoad.doneCallback" ".text.browser.frame.resource_load.ImageLoad.settle" @@ -461,14 +477,20 @@ SECTIONS { ".text.browser.frame.resource_load.ImageLoad.failed" ".text.browser.webapi.element.html.Image.selectSource" ".text.browser.webapi.element.html.Image.pickCandidate" - ".text.unlikely.crash_handler.crash__anon_241641" + ".text.browser.js.Context.stringToPersistedFunction__anon_242350" + ".text.browser.webapi.Window.setWindowReflectingHandlerFromAttribute" + ".text.unlikely.lightpanda.assertionFailure__anon_229826" + ".text.crash_handler.report__anon_242439" + ".text.unlikely.crash_handler.crash__anon_242389" ".text.browser.Frame.domChanged" ".text.browser.webapi.Node.compareDocumentPosition" - ".text.browser.js.Context.enqueueMicrotask__anon_241850__struct_241852.run" - ".text.browser.js.Context.enqueueMicrotask__anon_241867__struct_241869.run" + ".text.browser.js.Context.enqueueMicrotask__anon_242598__struct_242600.run" + ".text.browser.js.Context.enqueueMicrotask__anon_242615__struct_242617.run" ".text.browser.webapi.IntersectionObserver.checkIntersection" ".text.hash_map.HashMapUnmanaged(\[\]const u8,\*browser.webapi.Element,hash_map.StringContext,80).getOrPutContext" - ".text.browser.js.Context.enqueueMicrotask__anon_241980__struct_242135.run" + ".text.browser.js.Context.enqueueMicrotask__anon_242728__struct_242883.run" + ".text.browser.webapi.element.Attribute.List._delete" + ".text.browser.webapi.element.html.Body.Build.attributeRemove" ".text.browser.webapi.element.html.Input.Build.attributeRemove" ".text.browser.webapi.element.html.Option.Build.attributeRemove" ".text.browser.webapi.element.html.Select.Build.attributeRemove" @@ -477,30 +499,37 @@ SECTIONS { ".text.browser.webapi.element.html.Option.getValue" ".text.browser.webapi.element.html.Input.getValue" ".text.browser.webapi.Element.isDisabled" - ".text.browser.webapi.Element.hasDisabledConcept" - ".text.browser.webapi.collections.node_live.NodeLive(.form).matches" - ".text.unlikely.lightpanda.assertionFailure__anon_173511" - ".text.browser.webapi.element.html.ValidityState.getValid" - ".text.browser.js.Function.tryCallWithThis__anon_245153" - ".text.browser.EventManager.dispatchPhase__anon_245181" + ".text.browser.EventManager.dispatchPhase__anon_245861" + ".text.browser.js.Function.tryCallWithThis__anon_245896" + ".text.browser.EventManager.dispatchPhase__anon_245924" ".text.browser.EventManager.dispatchNode" - ".text.browser.EventManager.dispatchDirect__anon_245199" + ".text.browser.EventManager.dispatchDirect__anon_245942" ".text.browser.EventManager.dispatch" - ".text.browser.EventManagerBase.Listener.run__anon_245229" - ".text.log.warn__anon_245240" + ".text.browser.EventManagerBase.Listener.run__anon_245972" + ".text.log.warn__anon_245983" ".text.browser.webapi.element.Html.getAttributeFunction" ".text.__zig_tag_name_browser.webapi.global_event_handlers.Handler" ".text.browser.EventManager.getInlineHandler" ".text.hash_map.HashMapUnmanaged(browser.webapi.global_event_handlers.Key,browser.js.Function.Global,browser.webapi.global_event_handlers.Context,80).remove" ".text.hash_map.HashMapUnmanaged(browser.webapi.global_event_handlers.Key,browser.js.Function.Global,browser.webapi.global_event_handlers.Context,80).put" ".text.unlikely.hash_map.HashMapUnmanaged(browser.webapi.global_event_handlers.Key,browser.js.Function.Global,browser.webapi.global_event_handlers.Context,80).grow" - ".text.browser.EventManagerBase.Listener.run__anon_245141" - ".text.log.warn__anon_248192" + ".text.browser.EventManagerBase.Listener.run__anon_245884" + ".text.log.warn__anon_248935" ".text.browser.EventManager.AdjustedTargets.apply" ".text.browser.EventManager.listenersFor" - ".text.log.warn__anon_245104" - ".text.log.warn__anon_245080" + ".text.log.warn__anon_245847" + ".text.log.warn__anon_245823" ".text.browser.webapi.element.Html.getTabIndex" + ".text.browser.webapi.element.text_entry.TextEntry(browser.webapi.element.html.Input).caretTarget" + ".text.log.warn__anon_245659" + ".text.browser.frame.user_input.JavascriptUrlTask.finalize" + ".text.browser.frame.user_input.JavascriptUrlTask.run" + ".text.browser.webapi.Element.previousElementSibling" + ".text.browser.webapi.element.popover.hideUnrelatedAutos" + ".text.browser.webapi.element.popover.show" + ".text.browser.webapi.element.popover.hide" + ".text.browser.webapi.element.popover.hasChanged" + ".text.browser.webapi.element.popover.getInvokerAction" ".text.browser.webapi.element.popover.getState" ".text.browser.webapi.element.html.Label.getControl" ".text.browser.webapi.element.html.Button.getForm" @@ -515,11 +544,15 @@ SECTIONS { ".text.browser.webapi.EventCounts.getIndex" ".text.string.String.eqlSlice" ".text.browser.webapi.element.text_entry.TextEntry(browser.webapi.element.html.Input).innerInsert" - ".text.server.bidi.remote_value.Remote.jsonStringify__anon_251797" - ".text.Io.Writer.print__anon_251877" - ".text.json.Stringify.write__anon_251829" + ".text.browser.webapi.event.KeyboardEvent.Key.asString" + ".text.browser.webapi.Event.releaseRef" + ".text.unlikely.lightpanda.assertionFailure__anon_249916" + ".text.crash_handler.report__anon_249953" + ".text.server.bidi.remote_value.Remote.jsonStringify__anon_252540" + ".text.Io.Writer.print__anon_252620" + ".text.json.Stringify.write__anon_252572" ".text.browser.webapi.Node.getLength" - ".text.fmt.allocPrint__anon_168083" + ".text.fmt.allocPrint__anon_169007" ".text.browser.webapi.CData.getLength" ".text.hash_map.HashMapUnmanaged(\*browser.webapi.Node,\*NodeRegistry.Node,NodeRegistry.NodeContext,80).remove" ".text.unlikely.hash_map.HashMapUnmanaged(u32,\*NodeRegistry.Node,hash_map.AutoContext(u32),80).grow" @@ -532,13 +565,18 @@ SECTIONS { ".text.browser.webapi.Element.getTag" ".text.string.String.intern" ".text.browser.webapi.collections.node_live.NodeLive(.tag).matches" - ".text.meta.stringToEnum__anon_252792" + ".text.meta.stringToEnum__anon_253535" ".text.browser.xpath.Parser.parse" - ".text.browser.xpath.Parser.parseExpr" + ".text.browser.xpath.functions.containsFn" + ".text.browser.xpath.functions.startsWithFn" + ".text.browser.xpath.functions.concatFn" + ".text.browser.xpath.functions.stringFn" ".text.browser.webapi.Element.getTagNameSpec" ".text.browser.webapi.Element.upperTagName" ".text.browser.webapi.Document.getElementById" ".text.browser.xpath.Evaluator.evalStep" + ".text.hash_map.HashMapUnmanaged(browser.webapi.element.Attribute.List.LookupKey,\*browser.webapi.element.Attribute,hash_map.AutoContext(browser.webapi.element.Attribute.List.LookupKey),80).getOrPutContext" + ".text.browser.xpath.Evaluator.appendDescendants" ".text.unlikely.hash_map.HashMapUnmanaged(browser.webapi.element.Attribute.List.LookupKey,\*browser.webapi.element.Attribute,hash_map.AutoContext(browser.webapi.element.Attribute.List.LookupKey),80).grow" ".text.browser.xpath.result.toNumber" ".text.browser.xpath.Evaluator.cmpString" @@ -563,10 +601,10 @@ SECTIONS { ".text.server.bidi.browsing_context.badSelector" ".text.browser.Frame.getElementByIdFromNode" ".text.browser.webapi.ShadowRoot.getElementById" - ".text.array_hash_map.Custom(\[\]const u8,browser.webapi.selector.Selector.Cache.Entry,array_hash_map.StringContext,true).getSlotByKey__anon_256711" - ".text.array_hash_map.Custom(\[\]const u8,browser.webapi.selector.Selector.Cache.Entry,array_hash_map.StringContext,true).getSlotByKey__anon_256703" - ".text.array_hash_map.Custom(\[\]const u8,browser.webapi.selector.Selector.Cache.Entry,array_hash_map.StringContext,true).getSlotByKey__anon_256738" - ".text.array_hash_map.Custom(\[\]const u8,browser.webapi.selector.Selector.Cache.Entry,array_hash_map.StringContext,true).getIndexAdapted__anon_256565" + ".text.array_hash_map.Custom(\[\]const u8,browser.webapi.selector.Selector.Cache.Entry,array_hash_map.StringContext,true).getSlotByKey__anon_257452" + ".text.array_hash_map.Custom(\[\]const u8,browser.webapi.selector.Selector.Cache.Entry,array_hash_map.StringContext,true).getSlotByKey__anon_257444" + ".text.array_hash_map.Custom(\[\]const u8,browser.webapi.selector.Selector.Cache.Entry,array_hash_map.StringContext,true).getSlotByKey__anon_257479" + ".text.array_hash_map.Custom(\[\]const u8,browser.webapi.selector.Selector.Cache.Entry,array_hash_map.StringContext,true).getIndexAdapted__anon_257306" ".text.browser.webapi.selector.Parser.parseList" ".text.browser.webapi.selector.Parser.parseEscape" ".text.browser.webapi.selector.Parser.consumeEscapedIdentTail" @@ -580,29 +618,29 @@ SECTIONS { ".text.server.bidi.remote_value.nodeFromSharedId" ".text.array_hash_map.Custom(\[\]const u8,json.dynamic.Value,array_hash_map.StringContext,true).get" ".text.hash_map.HashMapUnmanaged(u32,\*NodeRegistry.Node,hash_map.AutoContext(u32),80).get" - ".text.mem.Allocator.alloc__anon_167417" - ".text.json.static.innerParse__anon_258041" - ".text.json.Stringify.write__anon_258081" - ".text.json.static.innerParse__anon_258146" - ".text.json.static.innerParse__anon_258240" - ".text.json.static.sliceToInt__anon_258291" - ".text.json.static.innerParse__anon_258265" - ".text.json.static.innerParse__anon_258127" - ".text.json.static.innerParse__anon_258484" - ".text.fmt.parseInt__anon_258542" - ".text.json.Stringify.write__anon_258813" - ".text.json.static.innerParse__anon_258830" - ".text.log.err__anon_258916" + ".text.mem.Allocator.alloc__anon_168354" + ".text.json.static.innerParse__anon_258782" + ".text.json.Stringify.write__anon_258822" + ".text.json.static.innerParse__anon_258887" + ".text.json.static.innerParse__anon_258981" + ".text.json.static.sliceToInt__anon_259032" + ".text.json.static.innerParse__anon_259006" + ".text.json.static.innerParse__anon_258868" + ".text.json.static.innerParse__anon_259225" + ".text.fmt.parseInt__anon_259283" + ".text.json.Stringify.write__anon_259554" + ".text.json.static.innerParse__anon_259571" + ".text.log.err__anon_259657" ".text.browser.Session.discardPendingPage" ".text.browser.Frame.abortTransfers" - ".text.unlikely.lightpanda.assertionFailure__anon_167225" - ".text.fmt.allocPrintSentinel__anon_167188" + ".text.unlikely.lightpanda.assertionFailure__anon_168163" + ".text.fmt.allocPrintSentinel__anon_168126" ".text.browser.webapi.net.WebSocket.kill" - ".text.json.Stringify.write__anon_259164" - ".text.json.static.innerParse__anon_259181" - ".text.json.static.innerParse__anon_259237" - ".text.json.static.innerParse__anon_259226" - ".text.array_list.AlignedManaged(u8,null).toOwnedSliceSentinel__anon_259527" + ".text.json.Stringify.write__anon_259905" + ".text.json.static.innerParse__anon_259922" + ".text.json.static.innerParse__anon_259978" + ".text.json.static.innerParse__anon_259967" + ".text.array_list.AlignedManaged(u8,null).toOwnedSliceSentinel__anon_260268" ".text.browser.Session.PageHandle.frame" ".text.browser.Session.processDestroyQueues" ".text.browser.webapi.ServiceWorkerGlobalScope.deinit" @@ -615,129 +653,118 @@ SECTIONS { ".text.browser.webapi.ServiceWorkerGlobalScope.setState" ".text.browser.webapi.ServiceWorker.StateChangeCallback.cancelled" ".text.browser.webapi.ServiceWorker.StateChangeCallback.run" - ".text.browser.EventManagerBase.dispatchDirect__anon_260471" - ".text.json.Stringify.write__anon_262132" - ".text.json.static.innerParse__anon_262159" + ".text.browser.EventManagerBase.dispatchDirect__anon_261212" + ".text.json.static.innerParse__anon_262829" + ".text.json.Stringify.write__anon_262873" + ".text.json.static.innerParse__anon_262900" ".text.Inbox.push" ".text.server.bidi.remote_value.Serializer.items" - ".text.browser.js.Function._tryCallWithThis__anon_262720" - ".text.browser.js.Object.callMethod__anon_262709" + ".text.browser.js.Function._tryCallWithThis__anon_263461" + ".text.browser.js.Object.callMethod__anon_263450" ".text.server.bidi.remote_value.Serializer.date" - ".text.browser.js.Object.get__anon_262737" - ".text.browser.js.Object.get__anon_262746" + ".text.browser.js.Object.get__anon_263478" + ".text.browser.js.Object.get__anon_263487" ".text.browser.js.Object.Iterator.next" ".text.server.bidi.remote_value.Serializer.properties" ".text.browser.webapi.collections.RadioNodeList.getLength" ".text.browser.webapi.collections.NodeList.length" - ".text.browser.webapi.collections.RadioNodeList.getAtIndex" - ".text.browser.webapi.collections.NodeList.getAtIndex" ".text.server.bidi.remote_value.Serializer.platform" ".text.server.bidi.remote_value.Serializer.remote" - ".text.browser.webapi.DOMException.fromError" - ".text.browser.Session.currentFrame" - ".text.server.http.fillHeader__anon_166033" + ".text.server.http.fillHeader__anon_166971" ".text.server.Server.Worker.notifyLoop" ".text.http.Status.phrase" ".text.browser.js.Local.newBigInt" - ".text.browser.js.Object.set__anon_266360" - ".text.browser.js.Local.mapZigInstanceToJs__anon_266368" + ".text.browser.js.Object.set__anon_267033" + ".text.browser.js.Local.mapZigInstanceToJs__anon_267041" ".text.server.bidi.remote_value.toJs" - ".text.server.bidi.script.toJs" - ".text.browser.js.Function.callWithThisRethrow__anon_266412" - ".text.server.bidi.remote_value.specialNumber" - ".text.meta.stringToEnum__anon_266303" ".text.browser.RenderTree.resolve" ".text.browser.screenshot.collect" ".text.browser.screenshot.preparePng" ".text.browser.pdf.prepare" ".text.browser.markdown.dump" ".text.browser.webapi.element.html.Custom.checkAndAttachBuiltIn" - ".text.browser.frame.node_factory.createHtmlElementT__anon_271340" - ".text.browser.frame.node_factory.createHtmlElementT__anon_272269" - ".text.browser.frame.node_factory.constructForToken__anon_272350" - ".text.browser.frame.node_factory.createHtmlElementT__anon_270600" - ".text.browser.frame.node_factory.createHtmlElementT__anon_270605" - ".text.browser.frame.node_factory.createHtmlElementT__anon_270623" - ".text.browser.frame.node_factory.createHtmlElementT__anon_270658" - ".text.browser.frame.node_factory.createHtmlElementT__anon_270745" - ".text.browser.frame.node_factory.createHtmlElementT__anon_270750" - ".text.browser.frame.node_factory.createHtmlElementT__anon_270755" - ".text.browser.frame.node_factory.createHtmlElementT__anon_270760" - ".text.browser.frame.node_factory.createHtmlElementT__anon_270779" - ".text.browser.frame.node_factory.createHtmlElementT__anon_270884" - ".text.browser.frame.node_factory.createHtmlElementT__anon_270933" - ".text.browser.frame.node_factory.createHtmlElementT__anon_270980" - ".text.browser.frame.node_factory.createHtmlElementT__anon_271007" - ".text.browser.frame.node_factory.createHtmlElementT__anon_271049" - ".text.browser.frame.node_factory.createHtmlElementT__anon_271054" - ".text.browser.frame.node_factory.createHtmlElementT__anon_271101" - ".text.browser.frame.node_factory.createHtmlElementT__anon_271149" - ".text.browser.frame.node_factory.createHtmlElementT__anon_271154" - ".text.browser.frame.node_factory.createHtmlElementT__anon_271159" - ".text.browser.frame.node_factory.createHtmlElementT__anon_271164" - ".text.browser.frame.node_factory.createHtmlElementT__anon_271276" + ".text.browser.frame.node_factory.createHtmlElementT__anon_272013" + ".text.browser.frame.node_factory.createHtmlElementT__anon_272942" + ".text.browser.frame.node_factory.constructForToken__anon_273023" + ".text.browser.frame.node_factory.createHtmlElementT__anon_271273" + ".text.browser.frame.node_factory.createHtmlElementT__anon_271278" + ".text.browser.frame.node_factory.createHtmlElementT__anon_271296" + ".text.browser.frame.node_factory.createHtmlElementT__anon_271331" + ".text.browser.frame.node_factory.createHtmlElementT__anon_271418" + ".text.browser.frame.node_factory.createHtmlElementT__anon_271423" + ".text.browser.frame.node_factory.createHtmlElementT__anon_271428" + ".text.browser.frame.node_factory.createHtmlElementT__anon_271433" + ".text.browser.frame.node_factory.createHtmlElementT__anon_271452" + ".text.browser.frame.node_factory.createHtmlElementT__anon_271557" + ".text.browser.frame.node_factory.createHtmlElementT__anon_271606" + ".text.browser.frame.node_factory.createHtmlElementT__anon_271653" + ".text.browser.frame.node_factory.createHtmlElementT__anon_271680" + ".text.browser.frame.node_factory.createHtmlElementT__anon_271722" + ".text.browser.frame.node_factory.createHtmlElementT__anon_271727" + ".text.browser.frame.node_factory.createHtmlElementT__anon_271774" + ".text.browser.frame.node_factory.createHtmlElementT__anon_271822" + ".text.browser.frame.node_factory.createHtmlElementT__anon_271827" + ".text.browser.frame.node_factory.createHtmlElementT__anon_271832" + ".text.browser.frame.node_factory.createHtmlElementT__anon_271837" + ".text.browser.frame.node_factory.createHtmlElementT__anon_271949" ".text.browser.webapi.element.html.Meta.Build.created" - ".text.browser.frame.node_factory.createHtmlElementT__anon_271281" + ".text.browser.frame.node_factory.createHtmlElementT__anon_271954" ".text.browser.webapi.css.CSSStyleSheet.initWithOwner" ".text.browser.webapi.Document.getStyleSheets" ".text.browser.webapi.css.StyleSheetList.add" ".text.browser.webapi.element.html.Link.linkAddedCallback" - ".text.browser.frame.node_factory.createHtmlElementT__anon_271286" - ".text.browser.frame.node_factory.createHtmlElementT__anon_271291" - ".text.browser.frame.node_factory.createHtmlElementT__anon_271296" - ".text.browser.frame.node_factory.createHtmlElementT__anon_271301" - ".text.browser.frame.node_factory.createHtmlElementT__anon_271306" - ".text.browser.frame.node_factory.createHtmlElementT__anon_271311" - ".text.browser.frame.node_factory.createHtmlElementT__anon_271335" - ".text.browser.frame.node_factory.createHtmlElementT__anon_271506" - ".text.browser.frame.node_factory.createHtmlElementT__anon_271511" - ".text.browser.frame.node_factory.createHtmlElementT__anon_271536" + ".text.browser.frame.node_factory.createHtmlElementT__anon_271959" + ".text.browser.frame.node_factory.createHtmlElementT__anon_271964" + ".text.browser.frame.node_factory.createHtmlElementT__anon_271969" + ".text.browser.frame.node_factory.createHtmlElementT__anon_271974" + ".text.browser.frame.node_factory.createHtmlElementT__anon_271979" + ".text.browser.frame.node_factory.createHtmlElementT__anon_271984" + ".text.browser.frame.node_factory.createHtmlElementT__anon_272008" + ".text.browser.frame.node_factory.createHtmlElementT__anon_272179" + ".text.browser.frame.node_factory.createHtmlElementT__anon_272184" + ".text.browser.frame.node_factory.createHtmlElementT__anon_272209" ".text.browser.webapi.element.html.Input.Build.created" - ".text.browser.frame.node_factory.createHtmlElementT__anon_271585" - ".text.browser.frame.node_factory.createHtmlElementT__anon_271590" - ".text.browser.frame.node_factory.createHtmlElementT__anon_271595" - ".text.browser.Factory.svgElement__anon_279856" - ".text.browser.frame.node_factory.createSvgElementT__anon_272670" - ".text.browser.Factory.svgElement__anon_279926" - ".text.browser.frame.node_factory.createSvgElementT__anon_272687" - ".text.browser.Factory.svgElement__anon_279999" - ".text.browser.frame.node_factory.createSvgElementT__anon_272692" - ".text.browser.Factory.svgElement__anon_280069" - ".text.browser.frame.node_factory.createElementNS__anon_270577" + ".text.browser.frame.node_factory.createHtmlElementT__anon_272258" + ".text.browser.frame.node_factory.createHtmlElementT__anon_272263" + ".text.browser.frame.node_factory.createHtmlElementT__anon_272268" + ".text.browser.frame.node_factory.createHtmlElementT__anon_272273" + ".text.browser.frame.node_factory.createHtmlMediaElementT__anon_272283" + ".text.browser.frame.node_factory.createHtmlMediaElementT__anon_272287" + ".text.browser.frame.node_factory.createHtmlElementT__anon_272314" + ".text.browser.frame.node_factory.createHtmlElementT__anon_272319" + ".text.browser.Factory.svgElement__anon_280672" + ".text.browser.frame.node_factory.createSvgElementT__anon_273365" + ".text.browser.Factory.svgElement__anon_280742" + ".text.browser.frame.node_factory.createElementNS__anon_271250" ".text.browser.webapi.Document.createElement" - ".text.browser.webapi.Node.checkDocumentElementRules__anon_280198" - ".text.browser.webapi.Node.ensurePreInsertValidity__anon_280182" + ".text.browser.webapi.Node.checkDocumentElementRules__anon_280871" + ".text.browser.webapi.Node.ensurePreInsertValidity__anon_280855" ".text.browser.Frame.adoptNodeTree" ".text.browser.webapi.element.html.Picture.childInserted" ".text.browser.webapi.element.html.Style.getSheet" ".text.browser.webapi.element.html.Style.styleAddedCallback" - ".text.browser.Frame.nodeIsReady__anon_280348" + ".text.browser.Frame.nodeIsReady__anon_281021" ".text.browser.Frame.nodeIsReadySubtree" - ".text.browser.Frame._insertNodeRelative__anon_280275" + ".text.browser.Frame._insertNodeRelative__anon_280948" ".text.browser.Frame.moveAllChildren" ".text.browser.webapi.Node.appendChild" ".text.browser.webapi.Node.insertBeforeInner" - ".text.server.cdp.CDP.Command.sendResult__anon_270429" - ".text.server.cdp.CDP.Command.sendResult__anon_280436" + ".text.browser.dump.rootUncapped" ".text.browser.interactive.buildListenerTargetMap" ".text.browser.webapi.HTMLDocument.getTitle" - ".text.server.cdp.AXNode.getName.TextCaptureWriter.write__anon_280892" - ".text.server.cdp.AXNode.stripWhitespaces__anon_280925" - ".text.server.cdp.AXNode.writeString__anon_280908" + ".text.server.cdp.AXNode.getName.TextCaptureWriter.write__anon_281565" + ".text.server.cdp.AXNode.stripWhitespaces__anon_281598" + ".text.server.cdp.AXNode.writeString__anon_281581" ".text.browser.webapi.element.html.Label.LabelByForIndex.lookup" - ".text.server.cdp.AXNode.writeLabelInnerText__anon_280977" + ".text.server.cdp.AXNode.writeLabelInnerText__anon_281650" ".text.server.cdp.AXNode.writeAccessibleNameFallback" - ".text.browser.Runner.waitForSelector" - ".text.browser.actions.waitForSelector" - ".text.server.cdp.CDP.Command.sendResult__anon_282696" - ".text.server.cdp.CDP.Command.sendResult__anon_269277" + ".text.server.cdp.CDP.Command.sendResult__anon_283370" + ".text.server.cdp.CDP.Command.sendResult__anon_269950" ".text.server.cdp.domains.lp.processMessage" - ".text.server.cdp.domains.dom.processMessage" - ".text.server.cdp.domains.css.processMessage" - ".text.server.cdp.CDP.Command.sendResult__anon_284637" + ".text.server.cdp.CDP.Command.sendResult__anon_285311" ".text.server.cdp.domains.page.getFrameTree" ".text.server.cdp.domains.page.getNavigationHistory" - ".text.server.cdp.CDP.sendEvent__anon_284877" + ".text.server.cdp.CDP.sendEvent__anon_285551" ".text.server.cdp.domains.page.setLifecycleEventsEnabled" ".text.server.cdp.CDP.BrowserContext.createIsolatedWorld" ".text.server.cdp.domains.page.addScriptToEvaluateOnNewDocument" @@ -748,51 +775,56 @@ SECTIONS { ".text.server.cdp.domains.page.navigate" ".text.server.cdp.CDP.dispatchCommand" ".text.server.cdp.CDP.dispatchParsed" - ".text.json.static.innerParse__anon_285286" + ".text.json.static.innerParse__anon_285960" ".text.server.cdp.CDP.IsolatedWorld.removeContext" - ".text.unlikely.lightpanda.assertionFailure__anon_285143" - ".text.crash_handler.report__anon_285658" - ".text.unlikely.crash_handler.crash__anon_285625" + ".text.unlikely.lightpanda.assertionFailure__anon_285817" + ".text.crash_handler.report__anon_286332" + ".text.unlikely.crash_handler.crash__anon_286299" ".text.server.cdp.CDP.BrowserContext.removeIsolatedWorld" ".text.server.cdp.CDP.IsolatedWorld.removeAllContexts" ".text.server.cdp.CDP.BrowserContext.findIsolatedWorld" ".text.server.cdp.id.toLoaderId" ".text.server.cdp.id.toFrameId" - ".text.unlikely.lightpanda.assertionFailure__anon_284845" + ".text.unlikely.lightpanda.assertionFailure__anon_285519" ".text.server.cdp.CDP.BrowserContext.onFrameNetworkAlmostIdle" - ".text.log.writeValue__anon_286291" - ".text.unlikely.fmt.parse_float.convert_slow.convertSlow__anon_295132" - ".text.fmt.parse_float.convert_eisel_lemire.convertEiselLemire__anon_295128" + ".text.log.writeValue__anon_286965" + ".text.crash_handler.report__anon_286969" + ".text.fmt.parse_float.parseFloat__anon_295786" + ".text.unlikely.fmt.parse_float.convert_slow.convertSlow__anon_295806" + ".text.fmt.parse_float.convert_eisel_lemire.convertEiselLemire__anon_295802" ".text.server.cdp.CDP.BrowserContext.closeTarget" ".text.server.cdp.domains.page.close" - ".text.json.static.innerParse__anon_295508" - ".text.json.static.innerParse__anon_295575" + ".text.json.static.innerParse__anon_296182" + ".text.json.static.innerParse__anon_296249" ".text.server.cdp.CDP.BrowserContext.fetchDisableForSession" ".text.server.cdp.CDP.BrowserContext.fetchDisable" - ".text.server.cdp.domains.page.doReload" + ".text.unlikely.lightpanda.assertionFailure__anon_295974" + ".text.unlikely.lightpanda.assertionFailure__anon_296456" + ".text.crash_handler.report__anon_296485" ".text.browser.Frame.stopLoading" ".text.browser.Frame.cancelQueuedNavigation" ".text.server.cdp.domains.page.navigateToHistoryEntry" - ".text.json.static.innerParse__anon_296061" - ".text.json.Stringify.value__anon_285218" - ".text.json.Stringify.value__anon_285049" + ".text.json.static.innerParse__anon_296735" + ".text.json.Stringify.value__anon_285892" + ".text.json.Stringify.value__anon_285723" ".text.browser.Frame.IdleNotification.check" - ".text.json.Stringify.value__anon_284745" - ".text.json.Stringify.value__anon_284695" + ".text.json.Stringify.value__anon_285419" + ".text.json.Stringify.value__anon_285369" ".text.server.cdp.domains.page.handleJavaScriptDialog" - ".text.server.cdp.domains.page.FrameTreeWriter.write__anon_296324" - ".text.server.cdp.domains.page.FrameWriter.write__anon_296346" - ".text.log.warn__anon_284183" - ".text.json.static.sliceToInt__anon_297547" - ".text.json.static.innerParse__anon_297517" - ".text.unlikely.log.scoped(.default).err__anon_283861" - ".text.array_hash_map.Custom(\[\]const u8,network.ClockCache.Entry(network.Robots.RobotStore.RobotsEntry),array_hash_map.StringContext,true).getIndexAdapted__anon_300965" + ".text.server.cdp.domains.page.FrameTreeWriter.write__anon_296998" + ".text.server.cdp.domains.page.FrameWriter.write__anon_297020" + ".text.log.warn__anon_284857" + ".text.json.static.sliceToInt__anon_298221" + ".text.json.static.innerParse__anon_298191" + ".text.unlikely.log.scoped(.default).err__anon_284535" + ".text.server.cdp.domains.dom.findMainWorldContext" + ".text.array_hash_map.Custom(\[\]const u8,network.ClockCache.Entry(network.Robots.RobotStore.RobotsEntry),array_hash_map.StringContext,true).getIndexAdapted__anon_301639" ".text.array_list.Aligned(browser.structured_data.Property,null).append" ".text.array_list.Aligned(SemanticTree.OptionData,null).append" - ".text.fmt.allocPrint__anon_281588" - ".text.fmt.bufPrint__anon_281380" - ".text.browser.webapi.CSS.needsEscape__anon_281368" - ".text.log.writeThunk__anon_301758__struct_301760.write" + ".text.fmt.allocPrint__anon_282262" + ".text.browser.SelectorPath.matchCount" + ".text.fmt.allocPrint__anon_282120" + ".text.log.writeThunk__anon_302432__struct_302434.write" ".text.Regex.Context.cFree" ".text.Regex.Context.cMalloc" ".text.heap.StackFallbackAllocator(24576).free" @@ -801,41 +833,41 @@ SECTIONS { ".text.heap.StackFallbackAllocator(24576).alloc" ".text.server.cdp.AXNode.nameFromContentRole" ".text.browser.interactive.classifyInteractivity" + ".text.json.Stringify.value__anon_281324" ".text.array_hash_map.Custom(\[\]const u8,usize,array_hash_map.StringContext,true).getOrPut" + ".text.array_list.Aligned(SemanticTree.Open,null).append" ".text.array_list.Aligned(u8,null).ensureUnusedCapacity" - ".text.json.static.innerParse__anon_303580" - ".text.browser.dump.hasShellToken" + ".text.json.static.innerParse__anon_304357" ".text.browser.dump.hasRole" ".text.browser.dump.hasSectioningAncestor" - ".text.log.err__anon_280394" + ".text.log.err__anon_281067" ".text.browser.StyleManager.cascadeChanged" - ".text.log.err__anon_280372" + ".text.log.err__anon_281045" ".text.browser.webapi.element.slotting.insertionSteps" ".text.browser.webapi.element.html.Select.childInserted" ".text.browser.webapi.element.html.Select.ListChange.processInserted" - ".text.unlikely.lightpanda.assertionFailure__anon_280309" - ".text.crash_handler.report__anon_304955" - ".text.unlikely.crash_handler.crash__anon_304949" - ".text.unlikely.lightpanda.assertionFailure__anon_280298" - ".text.crash_handler.report__anon_304972" - ".text.unlikely.crash_handler.crash__anon_304970" - ".text.unlikely.lightpanda.assertionFailure__anon_280285" + ".text.unlikely.lightpanda.assertionFailure__anon_280982" + ".text.crash_handler.report__anon_305732" + ".text.unlikely.crash_handler.crash__anon_305726" + ".text.unlikely.lightpanda.assertionFailure__anon_280971" + ".text.crash_handler.report__anon_305749" + ".text.unlikely.crash_handler.crash__anon_305747" + ".text.unlikely.lightpanda.assertionFailure__anon_280958" ".text.browser.Frame.removeNode" - ".text.browser.webapi.element.html.Custom.enqueueShadowTreeCallbacks__anon_305028" + ".text.browser.webapi.element.html.Custom.enqueueShadowTreeCallbacks__anon_305805" ".text.browser.webapi.element.html.Custom.enqueueDisconnectedCallbackOnElement" ".text.browser.frame.observers.notifyChildListChange" - ".text.browser.webapi.element.html.Custom.enqueueShadowTreeCallbacks__anon_280414" - ".text.log.warn__anon_274579" + ".text.browser.webapi.element.html.Custom.enqueueShadowTreeCallbacks__anon_281087" + ".text.log.warn__anon_275252" ".text.browser.webapi.css.CSSStyleSheet.getCssRules" ".text.browser.webapi.css.CSSStyleSheet.replaceSync" ".text.browser.webapi.css.CSSStyleDeclaration.formatDeclarationEnd" ".text.browser.webapi.css.CSSStyleDeclaration.format" - ".text.browser.webapi.css.CSSStyleSheet.parseInto" ".text.browser.webapi.css.CSSStyleSheet.atRuleTypeFor" - ".text.log.warn__anon_274509" - ".text.log.info__anon_274496" - ".text.log.warn__anon_274482" - ".text.log.warn__anon_274475" + ".text.log.warn__anon_275182" + ".text.log.info__anon_275169" + ".text.log.warn__anon_275155" + ".text.log.warn__anon_275148" ".text.browser.ScriptManager.preloadScript" ".text.browser.frame.preload.scriptHint" ".text.browser.ScriptManager.PreloadedScript.shutdownCallback" @@ -846,172 +878,181 @@ SECTIONS { ".text.browser.ScriptManagerBase.preloadModuleHint" ".text.browser.frame.preload.moduleHint" ".text.browser.frame.node_factory.notSupportedError" - ".text.json.static.innerParse__anon_311201" - ".text.json.Stringify.value__anon_282755" - ".text.json.Stringify.value__anon_282716" - ".text.json.Stringify.value__anon_282545" - ".text.json.Stringify.write__anon_311847" - ".text.json.Stringify.write__anon_311875" - ".text.json.Stringify.value__anon_281106" - ".text.json.Stringify.value__anon_280566" - ".text.json.Stringify.value__anon_280516" + ".text.browser.dump.deep" + ".text.browser.RenderTree.measureChild" + ".text.json.static.innerParse__anon_311988" + ".text.json.static.innerParse__anon_311978" + ".text.json.Stringify.value__anon_283429" + ".text.json.Stringify.value__anon_283390" + ".text.json.Stringify.value__anon_283219" + ".text.json.Stringify.write__anon_312624" + ".text.json.Stringify.write__anon_312652" + ".text.json.Stringify.value__anon_281780" + ".text.json.Stringify.value__anon_281239" + ".text.json.Stringify.value__anon_281189" ".text.server.cdp.domains.inspector.processMessage" ".text.server.cdp.domains.emulation.setUserAgentOverride" ".text.server.cdp.domains.emulation.processMessage" - ".text.json.static.innerParse__anon_313642" + ".text.json.static.innerParse__anon_314424" ".text.browser.Frame.viewportChanged" ".text.browser.webapi.event.MediaQueryListEvent.initWithTrusted" - ".text.log.warn__anon_314052" + ".text.log.warn__anon_314834" ".text.network.http.Connection.setTlsVerify" ".text.server.cdp.domains.console.processMessage" - ".text.server.cdp.CDP.BrowserContext.onConsoleMessage" ".text.server.cdp.domains.storage.processMessage" ".text.browser.webapi.storage.Cookie.Jar.removeExpired" - ".text.json.static.innerParse__anon_315615" - ".text.json.static.innerParse__anon_315673" - ".text.json.Stringify.value__anon_315463" - ".text.server.cdp.domains.storage.writeCookie__anon_316937" - ".text.json.Stringify.write__anon_316882" + ".text.json.static.innerParse__anon_316397" + ".text.json.static.innerParse__anon_316455" + ".text.json.Stringify.value__anon_316245" + ".text.server.cdp.domains.storage.writeCookie__anon_317719" + ".text.json.Stringify.write__anon_317664" ".text.server.cdp.domains.network.processMessage" - ".text.json.Stringify.value__anon_317828" - ".text.hash.auto_hash.autoHash__anon_318304" - ".text.array_hash_map.Custom(server.cdp.CDP.BrowserContext.CapturedKey,server.cdp.CDP.BrowserContext.CapturedResponse,array_hash_map.AutoContext(server.cdp.CDP.BrowserContext.CapturedKey),true).getIndexAdapted__anon_318329" + ".text.json.Stringify.value__anon_318610" + ".text.hash.auto_hash.autoHash__anon_319086" + ".text.array_hash_map.Custom(server.cdp.CDP.BrowserContext.CapturedKey,server.cdp.CDP.BrowserContext.CapturedResponse,array_hash_map.AutoContext(server.cdp.CDP.BrowserContext.CapturedKey),true).getIndexAdapted__anon_319111" ".text.browser.URL.isLoopbackHost" ".text.Io.net.IpAddress.parseLiteral" - ".text.json.static.innerParse__anon_318592" + ".text.json.static.innerParse__anon_319374" + ".text.json.static.innerParse__anon_319772" ".text.server.cdp.CDP.BrowserContext.onHttpRequestServedFromCache" ".text.server.cdp.id.toRequestId" - ".text.unlikely.lightpanda.assertionFailure__anon_317309" - ".text.crash_handler.report__anon_319502" - ".text.unlikely.crash_handler.crash__anon_319462" + ".text.unlikely.lightpanda.assertionFailure__anon_318091" + ".text.crash_handler.report__anon_320284" + ".text.unlikely.crash_handler.crash__anon_320244" ".text.browser.Mime.parse" ".text.server.cdp.CDP.BrowserContext.onHttpResponseHeadersDone" - ".text.unlikely.lightpanda.assertionFailure__anon_317267" - ".text.crash_handler.report__anon_319695" - ".text.unlikely.crash_handler.crash__anon_319676" - ".text.server.cdp.SafeString.writeQuoted__anon_319873" - ".text.server.cdp.SafeString.writeObjectField__anon_319855" - ".text.json.Stringify.write__anon_319741" - ".text.json.Stringify.write__anon_319882" + ".text.unlikely.lightpanda.assertionFailure__anon_318049" + ".text.crash_handler.report__anon_320477" + ".text.unlikely.crash_handler.crash__anon_320458" + ".text.server.cdp.SafeString.writeQuoted__anon_320655" + ".text.server.cdp.SafeString.writeObjectField__anon_320637" + ".text.json.Stringify.write__anon_320523" + ".text.json.Stringify.write__anon_320664" ".text.server.cdp.CDP.BrowserContext.onHttpResponseData" - ".text.unlikely.lightpanda.assertionFailure__anon_321144" - ".text.unlikely.lightpanda.assertionFailure__anon_317226" - ".text.crash_handler.report__anon_321206" - ".text.unlikely.crash_handler.crash__anon_321182" + ".text.unlikely.lightpanda.assertionFailure__anon_321926" + ".text.unlikely.lightpanda.assertionFailure__anon_318008" + ".text.crash_handler.report__anon_321988" + ".text.unlikely.crash_handler.crash__anon_321964" ".text.server.cdp.CDP.BrowserContext.onHttpRequestDone" - ".text.unlikely.lightpanda.assertionFailure__anon_317186" + ".text.unlikely.lightpanda.assertionFailure__anon_317968" ".text.server.cdp.CDP.BrowserContext.onHttpRequestStart" - ".text.crash_handler.report__anon_321394" - ".text.unlikely.crash_handler.crash__anon_321293" - ".text.browser.webapi.storage.Cookie.Jar.forRequest__anon_321625" + ".text.crash_handler.report__anon_322176" + ".text.unlikely.crash_handler.crash__anon_322075" + ".text.browser.webapi.storage.Cookie.Jar.forRequest__anon_322407" ".text.network.HttpClient.Transfer.getCookieString" - ".text.json.Stringify.write__anon_321457" + ".text.json.Stringify.write__anon_322239" ".text.browser.webapi.storage.Cookie.areSameSite" ".text.browser.webapi.storage.Cookie.areHostsSameSite" ".text.unlikely.hash_map.HashMapUnmanaged(server.cdp.CDP.BrowserContext.CapturedKey,\[\]const u8,hash_map.AutoContext(server.cdp.CDP.BrowserContext.CapturedKey),80).grow" ".text.server.cdp.CDP.BrowserContext.onHttpRequestFail" - ".text.unlikely.lightpanda.assertionFailure__anon_321810" - ".text.json.Stringify.value__anon_317849" - ".text.json.Stringify.value__anon_317633" - ".text.json.Stringify.value__anon_317591" + ".text.unlikely.lightpanda.assertionFailure__anon_322592" + ".text.json.Stringify.value__anon_318631" + ".text.json.Stringify.value__anon_318415" + ".text.json.Stringify.value__anon_318373" ".text.network.HttpClient.clearUrlBlocklist" ".text.server.cdp.CDP.BrowserContext.clearCapturedResponses" - ".text.unlikely.lightpanda.assertionFailure__anon_322246" - ".text.crash_handler.report__anon_322270" + ".text.unlikely.lightpanda.assertionFailure__anon_323028" + ".text.crash_handler.report__anon_323052" + ".text.crash_handler.report__anon_323188" + ".text.unlikely.crash_handler.crash__anon_323156" + ".text.json.Stringify.value__anon_318695" ".text.browser.webapi.storage.Cookie.appliesTo" ".text.server.cdp.domains.runtime.processMessage" ".text.browser.webapi.storage.Cookie.matchesHost" ".text.server.cdp.CDP.BrowserContext.onRuntimeConsoleMessage" - ".text.server.cdp.CDP.Command.sendResult__anon_326098" + ".text.server.cdp.domains.webmcp.respondError" + ".text.server.cdp.domains.webmcp.respondCompleted" + ".text.server.cdp.CDP.Command.sendResult__anon_326880" ".text.server.cdp.domains.webmcp.processMessage" - ".text.unlikely.crash_handler.crash__anon_327313" - ".text.unlikely.lightpanda.assertionFailure__anon_327317" - ".text.crash_handler.report__anon_327353" - ".text.unlikely.crash_handler.crash__anon_327337" + ".text.crash_handler.report__anon_328135" + ".text.unlikely.crash_handler.crash__anon_328119" ".text.server.cdp.domains.audits.processMessage" - ".text.server.cdp.CDP.Command.sendEvent__anon_327964" + ".text.server.cdp.CDP.Command.sendEvent__anon_328746" ".text.server.cdp.domains.target.doAttachtoTarget" ".text.server.cdp.CDP.Command.createBrowserContext" - ".text.server.cdp.CDP.Command.sendEvent__anon_328657" - ".text.server.cdp.CDP.Command.sendResult__anon_328684" + ".text.server.cdp.CDP.Command.sendEvent__anon_329439" + ".text.server.cdp.CDP.Command.sendResult__anon_329466" ".text.server.cdp.domains.target.processMessage" - ".text.json.Stringify.value__anon_328704" - ".text.fmt.allocPrint__anon_328647" - ".text.json.Stringify.write__anon_328798" - ".text.unlikely.lightpanda.assertionFailure__anon_328638" - ".text.unlikely.lightpanda.assertionFailure__anon_328633" - ".text.unlikely.lightpanda.assertionFailure__anon_328560" - ".text.crash_handler.report__anon_328934" - ".text.unlikely.crash_handler.crash__anon_328916" + ".text.json.Stringify.value__anon_329486" + ".text.fmt.allocPrint__anon_329429" + ".text.json.Stringify.write__anon_329580" + ".text.unlikely.lightpanda.assertionFailure__anon_329420" + ".text.unlikely.lightpanda.assertionFailure__anon_329415" + ".text.unlikely.lightpanda.assertionFailure__anon_329342" + ".text.crash_handler.report__anon_329716" + ".text.unlikely.crash_handler.crash__anon_329698" ".text.server.cdp.CDP.BrowserContext.onJavascriptDialogOpening" - ".text.unlikely.crash_handler.crash__anon_329021" + ".text.unlikely.crash_handler.crash__anon_329803" ".text.server.cdp.CDP.BrowserContext.onFrameLoaded" - ".text.unlikely.lightpanda.assertionFailure__anon_328483" + ".text.unlikely.lightpanda.assertionFailure__anon_329265" ".text.server.cdp.CDP.BrowserContext.onFrameDOMContentLoaded" - ".text.crash_handler.report__anon_329245" - ".text.unlikely.crash_handler.crash__anon_329194" - ".text.unlikely.lightpanda.assertionFailure__anon_328450" - ".text.crash_handler.report__anon_329287" - ".text.unlikely.crash_handler.crash__anon_329253" + ".text.crash_handler.report__anon_330027" + ".text.unlikely.crash_handler.crash__anon_329976" + ".text.unlikely.lightpanda.assertionFailure__anon_329232" + ".text.crash_handler.report__anon_330069" + ".text.unlikely.crash_handler.crash__anon_330035" ".text.server.cdp.CDP.BrowserContext.onFrameDestroyed" - ".text.unlikely.lightpanda.assertionFailure__anon_328428" - ".text.crash_handler.report__anon_329311" - ".text.unlikely.crash_handler.crash__anon_329538" - ".text.server.cdp.CDP.sendEvent__anon_329654" + ".text.unlikely.lightpanda.assertionFailure__anon_329210" + ".text.crash_handler.report__anon_330093" + ".text.server.cdp.CDP.BrowserContext.onFrameNavigatedWithinDocument" + ".text.unlikely.lightpanda.assertionFailure__anon_329135" + ".text.crash_handler.report__anon_330339" + ".text.unlikely.crash_handler.crash__anon_330320" + ".text.server.cdp.CDP.sendEvent__anon_330436" ".text.server.cdp.CDP.BrowserContext.onFrameNavigated" - ".text.unlikely.lightpanda.assertionFailure__anon_328332" - ".text.crash_handler.report__anon_330225" - ".text.unlikely.crash_handler.crash__anon_330202" + ".text.unlikely.lightpanda.assertionFailure__anon_329114" + ".text.crash_handler.report__anon_331007" + ".text.unlikely.crash_handler.crash__anon_330984" ".text.server.cdp.CDP.BrowserContext.onFrameNavigate" - ".text.unlikely.lightpanda.assertionFailure__anon_328311" - ".text.crash_handler.report__anon_330383" - ".text.unlikely.crash_handler.crash__anon_330364" + ".text.unlikely.lightpanda.assertionFailure__anon_329093" + ".text.crash_handler.report__anon_331165" + ".text.unlikely.crash_handler.crash__anon_331146" ".text.server.cdp.CDP.BrowserContext.reset" ".text.server.cdp.CDP.BrowserContext.onFrameCreated" ".text.browser.js.Inspector.stopSession" ".text.server.cdp.CDP.BrowserContext.deinit" - ".text.unlikely.lightpanda.assertionFailure__anon_328284" - ".text.crash_handler.report__anon_330606" - ".text.unlikely.crash_handler.crash__anon_330585" + ".text.unlikely.lightpanda.assertionFailure__anon_329066" + ".text.crash_handler.report__anon_331388" + ".text.unlikely.crash_handler.crash__anon_331367" ".text.Notification.unregisterAll" ".text.server.cdp.CDP.BrowserContext.onFrameRemove" ".text.cookies.loadFromFile" ".text.server.cdp.CDP.BrowserContext.sendInspectorMessage" ".text.server.cdp.CDP.BrowserContext.onInspectorEvent" - ".text.unlikely.lightpanda.assertionFailure__anon_331070" + ".text.unlikely.lightpanda.assertionFailure__anon_331852" ".text.server.cdp.CDP.BrowserContext.onInspectorResponse" - ".text.unlikely.lightpanda.assertionFailure__anon_328125" + ".text.unlikely.lightpanda.assertionFailure__anon_328907" ".text.server.cdp.CDP.resolveSessionId" - ".text.json.Stringify.value__anon_328034" + ".text.json.Stringify.value__anon_328816" ".text.browser.Frame.getTitle" ".text.server.cdp.CDP.BrowserContext.getTitle" - ".text.json.Stringify.value__anon_327878" - ".text.json.Stringify.write__anon_332349" + ".text.json.Stringify.value__anon_328660" + ".text.json.Stringify.write__anon_333131" ".text.server.cdp.CDP.dispatch" - ".text.server.cdp.CDP.Command.sendEvent__anon_332451" - ".text.log.err__anon_332445" - ".text.json.static.parseFromSliceLeaky__anon_332434" - ".text.json.static.innerParse__anon_332628" - ".text.json.Stringify.value__anon_332855" - ".text.json.Stringify.value__anon_332886" - ".text.json.Stringify.value__anon_332830" - ".text.json.Stringify.value__anon_328600" - ".text.json.Stringify.value__anon_328092" - ".text.json.Stringify.value__anon_328056" + ".text.server.cdp.CDP.Command.sendEvent__anon_333233" + ".text.log.err__anon_333227" + ".text.json.static.parseFromSliceLeaky__anon_333216" + ".text.json.static.innerParse__anon_333410" + ".text.json.Stringify.value__anon_333637" + ".text.json.Stringify.value__anon_333668" + ".text.json.Stringify.value__anon_333612" + ".text.json.Stringify.value__anon_329382" + ".text.json.Stringify.value__anon_328874" + ".text.json.Stringify.value__anon_328838" ".text.server.cdp.domains.input.processMessage" ".text.network.HttpClient.Transfer.seedHeaders" ".text.server.cdp.domains.fetch.processMessage" ".text.server.cdp.AXNode.isIgnore" ".text.server.cdp.AXNode.isHidden" - ".text.json.Stringify.value__anon_339481" - ".text.json.Stringify.value__anon_282921" + ".text.json.Stringify.value__anon_340269" + ".text.json.Stringify.value__anon_283595" ".text.server.Driver.onDisconnect" ".text.server.Link.destroy" ".text.server.Link.deinit" ".text.server.bidi.http_command.navigateTo" ".text.server.bidi.http_command.getCurrentUrl" ".text.server.bidi.http_command.refresh" - ".text.server.bidi.http_command.elementClick" + ".text.server.bidi.BiDi.Command.sendResult__anon_341928" ".text.browser.webapi.CData.replaceData" ".text.browser.frame.node_factory.createTextNode" ".text.browser.webapi.Node.removeAllChildrenCollecting" @@ -1020,6 +1061,7 @@ SECTIONS { ".text.browser.webapi.Node.setTextContent" ".text.server.bidi.http_command.elementClear" ".text.browser.webapi.element.text_entry.TextEntry(browser.webapi.element.html.Input).setSelectionRange" + ".text.browser.webapi.element.text_entry.TextEntry(browser.webapi.element.html.TextArea).setSelectionRange" ".text.network.cache.Cache.ResponseHeaders.parse" ".text.sys.libcurl.errorCheck" ".text.browser.URL.getUserInfo" @@ -1030,26 +1072,24 @@ SECTIONS { ".text.array_list.Aligned(browser.webapi.storage.Cookie,null).append" ".text.browser.webapi.storage.Cookie.Jar.dispatchChange" ".text.browser.webapi.storage.Cookie.areCookiesEqual" - ".text.log.debug__anon_164283" - ".text.meta.stringToEnum__anon_164148" - ".text.mem.endsWith__anon_164030" - ".text.Uri.Component.percentEncode__anon_164011" - ".text.Io.Writer.print__anon_479759" - ".text.fmt.parseInt__anon_163946" - ".text.mem.findScalarPos__anon_163909" - ".text.mem.span__anon_163829" + ".text.log.debug__anon_165223" + ".text.meta.stringToEnum__anon_165088" + ".text.mem.endsWith__anon_164970" + ".text.Uri.Component.percentEncode__anon_164951" + ".text.Io.Writer.print__anon_480536" + ".text.fmt.parseInt__anon_164886" + ".text.mem.findScalarPos__anon_164849" + ".text.mem.span__anon_164762" ".text.network.http.Connection.getResponseHeader" ".text.network.http.AuthChallenge.parse" ".text.network.http.Connection.getConnectHeader" ".text.network.HttpClient.removeConn" ".text.network.Network.releaseConnection" - ".text.unlikely.lightpanda.assertionFailure__anon_480642" - ".text.unlikely.lightpanda.assertionFailure__anon_480703" - ".text.log.writeValue__anon_480726" - ".text.crash_handler.report__anon_480788" - ".text.unlikely.crash_handler.crash__anon_480705" - ".text.crash_handler.report__anon_481135" - ".text.unlikely.crash_handler.crash__anon_480707" + ".text.unlikely.lightpanda.assertionFailure__anon_481419" + ".text.unlikely.lightpanda.assertionFailure__anon_481480" + ".text.log.writeValue__anon_481503" + ".text.crash_handler.report__anon_481565" + ".text.unlikely.crash_handler.crash__anon_481484" ".text.network.HttpClient.trackConn" ".text.network.HttpClient.makeRequest" ".text.network.Network.getConnection" @@ -1058,39 +1098,29 @@ SECTIONS { ".text.network.HttpClient.Transfer.dataCallback" ".text.browser.URL.getHostname" ".text.network.Network.HostContext.hash" - ".text.hash_map.HashMapUnmanaged(\[\]const u8,u64,network.Network.HostContext,80).getIndex__anon_482203" + ".text.array_list.Aligned(network.Robots.Rule,null).toOwnedSlice" ".text.network.Robots.matchPattern" ".text.network.RobotsGate.RobotsContext.dataCallback" ".text.network.RobotsGate.RobotsContext.headerCallback" - ".text.log.warn__anon_163322" + ".text.log.warn__anon_164255" ".text.browser.URL.getPathname" ".text.network.cache.Cache.evict" - ".text.log.debug__anon_163259" + ".text.log.debug__anon_164192" ".text.array_list.Aligned(network.HttpClient.Event,null).ensureTotalCapacity" - ".text.log.err__anon_163172" - ".text.fmt.allocPrintSentinel__anon_162959" + ".text.log.err__anon_164101" + ".text.fmt.allocPrintSentinel__anon_163888" ".text.network.CorsGate.CorsPreflightContext.shutdownCallback" - ".text.network.CorsGate.CorsPreflightContext.errorCallback" - ".text.network.CorsGate.CorsPreflightContext.resolve" ".text.network.CorsGate.CorsPreflightContext.headerCallback" ".text.ArenaPool.release" ".text.__zig_tag_name_ArenaPool.BucketSize" ".text.network.HttpClient.Transfer.unpark" - ".text.unlikely.lightpanda.assertionFailure__anon_484748" - ".text.unlikely.lightpanda.assertionFailure__anon_484760" - ".text.log.writeValue__anon_484781" - ".text.crash_handler.report__anon_484826" - ".text.unlikely.crash_handler.crash__anon_484762" - ".text.array_list.Aligned(u8,null).append" - ".text.network.CorsGate.isSafelistedHeader" - ".text.network.CorsGate.hasNoCorsUnsafeBytes" - ".text.sort.block.blockSwap__anon_485187" - ".text.mem.reverse__anon_485228" - ".text.log.debug__anon_162749" - ".text.log.debug__anon_162745" + ".text.unlikely.lightpanda.assertionFailure__anon_485521" + ".text.unlikely.lightpanda.assertionFailure__anon_485533" + ".text.log.writeValue__anon_485554" + ".text.crash_handler.report__anon_485599" ".text.network.CorsGate.requiresPreflight" - ".text.log.debug__anon_162739" - ".text.log.debug__anon_162721" + ".text.log.debug__anon_163668" + ".text.log.debug__anon_163650" ".text.browser.URL.isPotentiallyTrustworthy" ".text.network.HttpClient.Transfer.FetchSite.forRequest" ".text.browser.URL.isSameOrigin" @@ -1098,32 +1128,30 @@ SECTIONS { ".text.browser.URL.getPort" ".text.network.adblock.Engine.match" ".text.network.adblock.Engine.matchIn" - ".text.network.adblock.pattern.matchFrom" ".text.network.adblock.domain.matchEntry" ".text.network.adblock.Engine.matchToken" ".text.network.HttpClient.dispatchCompleted" ".text.browser.webapi.Blob.initFromBytes" - ".text.browser.webapi.event.MessageEvent.initWithTrusted" - ".text.browser.EventManagerBase.dispatchDirect__anon_486257" - ".text.log.warn__anon_486409" - ".text.network.HttpClient.Transfer.notify__anon_486202" + ".text.browser.EventManagerBase.dispatchDirect__anon_487030" + ".text.log.warn__anon_487182" + ".text.network.HttpClient.Transfer.notify__anon_486975" ".text.network.HttpClient.Transfer.failDelivery" - ".text.browser.EventManagerBase.dispatchDirect__anon_486178" - ".text.browser.EventManagerBase.dispatchDirect__anon_485811" - ".text.log.warn__anon_486943" + ".text.browser.EventManagerBase.dispatchDirect__anon_486951" + ".text.browser.EventManagerBase.dispatchDirect__anon_486584" + ".text.log.warn__anon_487716" ".text.browser.Browser.msToNextTask" ".text.Watchdog.Heartbeat.exitWait" ".text.browser.Frame.checkIdleNotifications" - ".text.unlikely.lightpanda.assertionFailure__anon_487041" - ".text.unlikely.lightpanda.assertionFailure__anon_487033" + ".text.unlikely.lightpanda.assertionFailure__anon_487814" + ".text.unlikely.lightpanda.assertionFailure__anon_487806" ".text.browser.js.Env.runMicrotasks" ".text.browser.js.Context.Entered.exit" ".text.browser.Browser.sampleJsHeap" - ".text.Notification.dispatch__anon_162370" + ".text.Notification.dispatch__anon_163299" ".text.browser.Session.queuePageDestruction" ".text.browser.Session.tearDownPage" ".text.browser.webapi.navigation.Navigation.onRemoveFrame" - ".text.Notification.dispatch__anon_487306" + ".text.Notification.dispatch__anon_488079" ".text.browser.webapi.encoding.base64.decode" ".text.network.HttpClient.Transfer.submit" ".text.network.HttpClient.Transfer.deinit" @@ -1135,25 +1163,27 @@ SECTIONS { ".text.network.HttpClient.noopShutdown" ".text.browser.Frame.frameDoneCallback" ".text.browser.Frame.frameErrorCallback" - ".text.Notification.dispatch__anon_488043" - ".text.browser.frame.node_factory.createSvgElementT__anon_488932" - ".text.browser.frame.node_factory.createSvgElementT__anon_488936" - ".text.browser.frame.node_factory.createSvgElementT__anon_488940" - ".text.browser.frame.node_factory.createSvgElementT__anon_488944" - ".text.browser.frame.node_factory.createSvgElementT__anon_488948" - ".text.browser.frame.node_factory.createSvgElementT__anon_488952" - ".text.browser.frame.node_factory.createSvgElementT__anon_488956" - ".text.browser.frame.node_factory.createSvgElementT__anon_488960" + ".text.browser.frame.node_factory.createSvgElementT__anon_489693" + ".text.browser.frame.node_factory.createSvgElementT__anon_489697" + ".text.browser.frame.node_factory.createSvgElementT__anon_489701" + ".text.browser.frame.node_factory.createSvgElementT__anon_489705" + ".text.browser.frame.node_factory.createSvgElementT__anon_489709" + ".text.browser.frame.node_factory.createSvgElementT__anon_489713" + ".text.browser.frame.node_factory.createSvgElementT__anon_489717" + ".text.browser.frame.node_factory.createSvgElementT__anon_489721" + ".text.browser.frame.node_factory.createSvgElementT__anon_489725" + ".text.browser.frame.node_factory.createSvgElementT__anon_489729" + ".text.browser.frame.node_factory.createSvgElementT__anon_489733" ".text.browser.parser.Parser.settleDocument" ".text.browser.parser.Parser._appendBeforeSiblingCallback" ".text.browser.Frame.appendNew" ".text.browser.parser.Parser._appendCallback" ".text.browser.parser.Parser.appendBasedOnParentNodeCallback" - ".text.unlikely.lightpanda.assertionFailure__anon_489014" + ".text.unlikely.lightpanda.assertionFailure__anon_489787" ".text.hash_map.HashMapUnmanaged(\*browser.webapi.Element,\[\]const u8,hash_map.AutoContext(\*browser.webapi.Element),80).put" ".text.unlikely.hash_map.HashMapUnmanaged(\*browser.webapi.Element,\[\]const u8,hash_map.AutoContext(\*browser.webapi.Element),80).grow" - ".text.log.err__anon_488626" - ".text.log.warn__anon_488813" + ".text.log.err__anon_489399" + ".text.log.warn__anon_489586" ".text.browser.parser.Parser.appendBeforeSiblingCallback" ".text.browser.parser.Parser.reparentChildrenCallback" ".text.browser.webapi.Node.removeChild" @@ -1174,136 +1204,116 @@ SECTIONS { ".text.browser.parser.Parser.appendCallback" ".text.browser.parser.Parser.getDataCallback" ".text.browser.parser.Parser.createElementCallback" - ".text.unlikely.lightpanda.assertionFailure__anon_489772" - ".text.browser.frame.node_factory.populateElementAttributes__anon_489919" - ".text.browser.frame.node_factory.createHtmlElementT__anon_489915" - ".text.browser.frame.node_factory.createHtmlElementT__anon_490085" - ".text.browser.frame.node_factory.createHtmlElementT__anon_489799" - ".text.browser.frame.node_factory.createHtmlElementT__anon_489803" - ".text.browser.frame.node_factory.createHtmlElementT__anon_489807" - ".text.browser.frame.node_factory.createHtmlElementT__anon_489811" - ".text.browser.frame.node_factory.createHtmlElementT__anon_489815" - ".text.browser.frame.node_factory.createHtmlElementT__anon_489819" - ".text.browser.frame.node_factory.createHtmlElementT__anon_489823" - ".text.browser.frame.node_factory.createHtmlElementT__anon_489827" - ".text.browser.frame.node_factory.createHtmlElementT__anon_489831" - ".text.browser.frame.node_factory.createHtmlElementT__anon_489835" - ".text.browser.frame.node_factory.createHtmlElementT__anon_489839" - ".text.browser.frame.node_factory.createHtmlElementT__anon_489843" - ".text.browser.frame.node_factory.createHtmlElementT__anon_489847" - ".text.browser.frame.node_factory.createHtmlElementT__anon_489851" - ".text.browser.frame.node_factory.createHtmlElementT__anon_489855" - ".text.browser.frame.node_factory.createHtmlElementT__anon_489859" - ".text.browser.frame.node_factory.createHtmlElementT__anon_489863" - ".text.browser.frame.node_factory.createHtmlElementT__anon_489867" - ".text.browser.frame.node_factory.createHtmlElementT__anon_489871" - ".text.browser.frame.node_factory.createHtmlElementT__anon_489875" - ".text.browser.frame.node_factory.createHtmlElementT__anon_489879" - ".text.browser.frame.node_factory.createHtmlElementT__anon_489883" - ".text.browser.frame.node_factory.createHtmlElementT__anon_489887" - ".text.browser.frame.node_factory.createHtmlElementT__anon_489891" - ".text.browser.frame.node_factory.createHtmlElementT__anon_489895" - ".text.browser.frame.node_factory.createHtmlElementT__anon_489899" - ".text.browser.frame.node_factory.createHtmlElementT__anon_489903" - ".text.browser.frame.node_factory.createHtmlElementT__anon_489907" - ".text.browser.frame.node_factory.createHtmlElementT__anon_489911" - ".text.browser.frame.node_factory.createHtmlElementT__anon_489937" - ".text.browser.frame.node_factory.createHtmlElementT__anon_489941" - ".text.browser.frame.node_factory.createHtmlElementT__anon_489945" - ".text.browser.frame.node_factory.createHtmlElementT__anon_489949" - ".text.browser.frame.node_factory.createHtmlElementT__anon_489953" - ".text.browser.frame.node_factory.createHtmlElementT__anon_489957" - ".text.browser.frame.node_factory.createHtmlElementT__anon_489961" - ".text.browser.frame.node_factory.createHtmlMediaElementT__anon_489965" - ".text.browser.frame.node_factory.createHtmlMediaElementT__anon_489969" - ".text.browser.frame.node_factory.createHtmlElementT__anon_489973" - ".text.browser.frame.node_factory.createHtmlElementT__anon_489977" - ".text.browser.frame.node_factory.createHtmlElementT__anon_489981" - ".text.browser.frame.node_factory.createHtmlElementT__anon_489985" - ".text.browser.frame.node_factory.createHtmlElementT__anon_489989" - ".text.browser.frame.node_factory.createHtmlElementT__anon_489993" - ".text.browser.frame.node_factory.createHtmlElementT__anon_489997" - ".text.browser.frame.node_factory.createHtmlElementT__anon_490001" - ".text.browser.frame.node_factory.createHtmlElementT__anon_490005" - ".text.browser.frame.node_factory.createHtmlElementT__anon_490009" - ".text.browser.frame.node_factory.createHtmlElementT__anon_490013" - ".text.browser.frame.node_factory.createHtmlElementT__anon_490017" - ".text.browser.frame.node_factory.createHtmlElementT__anon_490021" - ".text.browser.frame.node_factory.createHtmlElementT__anon_490025" - ".text.browser.frame.node_factory.createHtmlElementT__anon_490029" - ".text.browser.frame.node_factory.createHtmlElementT__anon_490033" - ".text.browser.frame.node_factory.createHtmlElementT__anon_490037" - ".text.browser.frame.node_factory.createSvgElementT__anon_490153" - ".text.browser.frame.node_factory.createSvgElementT__anon_490157" - ".text.browser.frame.node_factory.createSvgElementT__anon_490161" - ".text.browser.frame.node_factory.createSvgElementT__anon_490165" - ".text.browser.frame.node_factory.createSvgElementT__anon_490169" - ".text.browser.frame.node_factory.createSvgElementT__anon_490173" - ".text.browser.frame.node_factory.createSvgElementT__anon_490177" - ".text.browser.frame.node_factory.createSvgElementT__anon_490181" - ".text.browser.frame.node_factory.createSvgElementT__anon_490185" - ".text.browser.frame.node_factory.createSvgElementT__anon_490189" - ".text.browser.frame.node_factory.createSvgElementT__anon_490193" - ".text.browser.frame.node_factory.createSvgElementT__anon_490197" - ".text.browser.frame.node_factory.createSvgElementT__anon_490201" - ".text.browser.frame.node_factory.createSvgElementT__anon_490205" - ".text.browser.frame.node_factory.createSvgElementT__anon_490209" + ".text.unlikely.lightpanda.assertionFailure__anon_490545" + ".text.browser.frame.node_factory.populateElementAttributes__anon_490692" + ".text.browser.frame.node_factory.createHtmlElementT__anon_490688" + ".text.browser.frame.node_factory.createHtmlElementT__anon_490858" + ".text.browser.frame.node_factory.createHtmlElementT__anon_490572" + ".text.browser.frame.node_factory.createHtmlElementT__anon_490576" + ".text.browser.frame.node_factory.createHtmlElementT__anon_490580" + ".text.browser.frame.node_factory.createHtmlElementT__anon_490584" + ".text.browser.frame.node_factory.createHtmlElementT__anon_490588" + ".text.browser.frame.node_factory.createHtmlElementT__anon_490592" + ".text.browser.frame.node_factory.createHtmlElementT__anon_490596" + ".text.browser.frame.node_factory.createHtmlElementT__anon_490600" + ".text.browser.frame.node_factory.createHtmlElementT__anon_490604" + ".text.browser.frame.node_factory.createHtmlElementT__anon_490608" + ".text.browser.frame.node_factory.createHtmlElementT__anon_490612" + ".text.browser.frame.node_factory.createHtmlElementT__anon_490616" + ".text.browser.frame.node_factory.createHtmlElementT__anon_490620" + ".text.browser.frame.node_factory.createHtmlElementT__anon_490624" + ".text.browser.frame.node_factory.createHtmlElementT__anon_490628" + ".text.browser.frame.node_factory.createHtmlElementT__anon_490632" + ".text.browser.frame.node_factory.createHtmlElementT__anon_490636" + ".text.browser.frame.node_factory.createHtmlElementT__anon_490640" + ".text.browser.frame.node_factory.createHtmlElementT__anon_490644" + ".text.browser.frame.node_factory.createHtmlElementT__anon_490648" + ".text.browser.frame.node_factory.createHtmlElementT__anon_490652" + ".text.browser.frame.node_factory.createHtmlElementT__anon_490656" + ".text.browser.frame.node_factory.createHtmlElementT__anon_490660" + ".text.browser.frame.node_factory.createHtmlElementT__anon_490664" + ".text.browser.frame.node_factory.createHtmlElementT__anon_490668" + ".text.browser.frame.node_factory.createHtmlElementT__anon_490672" + ".text.browser.frame.node_factory.createHtmlElementT__anon_490676" + ".text.browser.frame.node_factory.createHtmlElementT__anon_490680" + ".text.browser.frame.node_factory.createHtmlElementT__anon_490684" + ".text.browser.frame.node_factory.createHtmlElementT__anon_490710" + ".text.browser.frame.node_factory.createHtmlElementT__anon_490714" + ".text.browser.frame.node_factory.createHtmlElementT__anon_490718" + ".text.browser.frame.node_factory.createHtmlElementT__anon_490722" + ".text.browser.frame.node_factory.createHtmlElementT__anon_490726" + ".text.browser.frame.node_factory.createHtmlElementT__anon_490730" + ".text.browser.frame.node_factory.createHtmlElementT__anon_490734" + ".text.browser.frame.node_factory.createHtmlMediaElementT__anon_490738" + ".text.browser.frame.node_factory.createHtmlMediaElementT__anon_490742" + ".text.browser.frame.node_factory.createHtmlElementT__anon_490746" + ".text.browser.frame.node_factory.createHtmlElementT__anon_490750" + ".text.browser.frame.node_factory.createHtmlElementT__anon_490754" + ".text.browser.frame.node_factory.createHtmlElementT__anon_490758" + ".text.browser.frame.node_factory.createHtmlElementT__anon_490762" + ".text.browser.frame.node_factory.createHtmlElementT__anon_490766" + ".text.browser.frame.node_factory.createHtmlElementT__anon_490770" + ".text.browser.frame.node_factory.createHtmlElementT__anon_490774" + ".text.browser.frame.node_factory.createHtmlElementT__anon_490778" + ".text.browser.frame.node_factory.createHtmlElementT__anon_490782" + ".text.browser.frame.node_factory.createHtmlElementT__anon_490786" + ".text.browser.frame.node_factory.createHtmlElementT__anon_490790" + ".text.browser.frame.node_factory.createHtmlElementT__anon_490794" + ".text.browser.frame.node_factory.createHtmlElementT__anon_490798" + ".text.browser.frame.node_factory.createSvgElementT__anon_490974" + ".text.browser.frame.node_factory.createSvgElementT__anon_490978" + ".text.browser.frame.node_factory.createSvgElementT__anon_490982" ".text.browser.parser.Parser._createElementCallback" ".text.browser.parser.Parser._createElementCallbackWithDefaultnamespace" ".text.browser.frame.preload.Prescan.callback" - ".text.fmt.allocPrint__anon_489790" + ".text.fmt.allocPrint__anon_490563" ".text.browser.Frame.frameDataCallback" ".text.browser.Mime.sniff" ".text.browser.Mime.findAttrValue" ".text.browser.Frame.frameHeaderDoneCallback" - ".text.Notification.dispatch__anon_490653" - ".text.log.err__anon_490650" - ".text.log.err__anon_490639" - ".text.browser.Frame.sanitizeFilename" ".text.network.http.Header.param" ".text.ascii.findIgnoreCasePos" ".text.browser.URL.isCompleteHTTPUrl" ".text.browser.webapi.event.PageTransitionEvent.initWithTrusted" ".text.browser.Frame.documentIsComplete" - ".text.log.err__anon_491282" - ".text.log.warn__anon_491411" - ".text.log.warn__anon_491432" - ".text.log.err__anon_491404" - ".text.log.err__anon_491397" - ".text.log.warn__anon_491549" + ".text.log.err__anon_492055" + ".text.log.warn__anon_492184" + ".text.log.warn__anon_492205" + ".text.log.err__anon_492177" + ".text.log.err__anon_492170" + ".text.log.warn__anon_492322" ".text.browser.Frame._documentIsLoaded" - ".text.log.err__anon_491599" - ".text.log.warn__anon_161770" - ".text.log.warn__anon_491798" - ".text.log.warn__anon_491829" - ".text.fmt.allocPrint__anon_161360" - ".text.unlikely.lightpanda.assertionFailure__anon_492117" - ".text.Notification.dispatch__anon_161310" - ".text.crash_handler.report__anon_492137" - ".text.unlikely.crash_handler.crash__anon_492119" - ".text.Notification.dispatch__anon_161293" + ".text.log.err__anon_492372" + ".text.log.warn__anon_162699" + ".text.log.warn__anon_492571" + ".text.log.warn__anon_492602" + ".text.fmt.allocPrint__anon_162289" + ".text.unlikely.lightpanda.assertionFailure__anon_492890" + ".text.Notification.dispatch__anon_162239" + ".text.crash_handler.report__anon_492910" + ".text.unlikely.crash_handler.crash__anon_492892" + ".text.Notification.dispatch__anon_162222" ".text.browser.webapi.Document._injectBlank" ".text.browser.parser.Parser.parse" ".text.browser.parser.Parser.init" ".text.browser.Frame.isSecureContext" ".text.browser.js.Context.localScope" - ".text.fmt.allocPrint__anon_161084" - ".text.unlikely.lightpanda.assertionFailure__anon_492441" + ".text.fmt.allocPrint__anon_162022" + ".text.unlikely.lightpanda.assertionFailure__anon_493214" ".text.browser.webapi.Blob.urlBelongsToOrigin" - ".text.crash_handler.report__anon_492483" - ".text.unlikely.crash_handler.crash__anon_492448" - ".text.unlikely.lightpanda.assertionFailure__anon_161001" - ".text.browser.Frame.init__struct_160868.runIdleTasks" - ".text.unlikely.lightpanda.assertionFailure__anon_160859" + ".text.crash_handler.report__anon_493256" + ".text.unlikely.crash_handler.crash__anon_493221" + ".text.unlikely.lightpanda.assertionFailure__anon_161939" + ".text.browser.Frame.init__struct_161806.runIdleTasks" + ".text.unlikely.lightpanda.assertionFailure__anon_161797" ".text.browser.js.Env.destroyContext" ".text.browser.webapi.URL.releaseRef" ".text.browser.js.Context.deinit" - ".text.unlikely.lightpanda.assertionFailure__anon_492700" - ".text.unlikely.lightpanda.assertionFailure__anon_492642" - ".text.crash_handler.report__anon_492738" - ".text.unlikely.crash_handler.crash__anon_492710" - ".text.crash_handler.report__anon_492767" - ".text.unlikely.crash_handler.crash__anon_492712" + ".text.unlikely.lightpanda.assertionFailure__anon_493473" + ".text.unlikely.lightpanda.assertionFailure__anon_493415" + ".text.crash_handler.report__anon_493511" + ".text.crash_handler.report__anon_493540" + ".text.unlikely.crash_handler.crash__anon_493485" ".text.browser.webapi.storage.idb.Manager.detachContext" ".text.browser.webapi.storage.idb.Engine.releaseGate" ".text.browser.ScriptManager.deinit" @@ -1311,49 +1321,47 @@ SECTIONS { ".text.browser.Page.releaseOrigin" ".text.hash_map.HashMapUnmanaged(\[\]const u8,\*browser.js.Origin,hash_map.StringContext,80).remove" ".text.id.uuidv4" - ".text.browser.js.Env.hideServiceWorker__anon_156952" + ".text.browser.js.Env.hideServiceWorker__anon_157891" ".text.browser.ScriptManager.tailHook" ".text.browser.Frame.deinit" ".text.browser.webapi.DedicatedWorkerGlobalScope.deinit" ".text.browser.webapi.AbstractRange.releaseRef" - ".text.unlikely.lightpanda.assertionFailure__anon_493663" - ".text.crash_handler.report__anon_493701" - ".text.unlikely.crash_handler.crash__anon_493675" - ".text.browser.Page.findFrameBy__anon_493679" - ".text.unlikely.lightpanda.assertionFailure__anon_493628" - ".text.crash_handler.report__anon_493745" - ".text.unlikely.crash_handler.crash__anon_493709" + ".text.unlikely.lightpanda.assertionFailure__anon_494436" + ".text.crash_handler.report__anon_494474" + ".text.unlikely.crash_handler.crash__anon_494448" + ".text.browser.Page.findFrameBy__anon_494452" + ".text.unlikely.lightpanda.assertionFailure__anon_494401" + ".text.crash_handler.report__anon_494518" + ".text.unlikely.crash_handler.crash__anon_494482" ".text.slab.SlabAllocator.free" ".text.slab.SlabAllocator.alloc" - ".text.mem.Allocator.realloc__anon_493835" - ".text.array_hash_map.Custom(slab.SlabKey,slab.Slab,slab.SlabAllocator__struct_154966,false).getIndexAdapted__anon_494004" - ".text.unlikely.lightpanda.assertionFailure__anon_155617" + ".text.mem.Allocator.realloc__anon_494608" + ".text.array_hash_map.Custom(slab.SlabKey,slab.Slab,slab.SlabAllocator__struct_155915,false).getIndexAdapted__anon_494777" + ".text.unlikely.lightpanda.assertionFailure__anon_156566" ".text.script.Runtime.failAllPending" ".text.agent.Agent.ScriptOutput.observe" ".text.script.Runtime.consoleCallback" - ".text.crypto.Certificate.rsa.PKCS1v1_5Signature.concatVerify__anon_520909" + ".text.crypto.Certificate.rsa.PKCS1v1_5Signature.concatVerify__anon_521682" ".text.crypto.Sha1.round" - ".text.crypto.Certificate.rsa.encrypt__anon_520925" + ".text.crypto.Certificate.rsa.encrypt__anon_521698" ".text.crypto.ff.Modulus(4096).powPublic" ".text.script.Schema.all" - ".text.unlikely.debug.panic__anon_883219" - ".text.unlikely.debug.panicExtra__anon_883252" + ".text.unlikely.debug.panic__anon_883991" + ".text.unlikely.debug.panicExtra__anon_884024" ".text.array_list.Aligned(\[\]const u8,null).ensureTotalCapacityPrecise" - ".text.unlikely.debug.panic__anon_883119" - ".text.unlikely.debug.panicExtra__anon_883622" - ".text.json.static.parseFromSliceLeaky__anon_494798" + ".text.unlikely.debug.panic__anon_883891" + ".text.unlikely.debug.panicExtra__anon_884394" + ".text.json.static.parseFromSliceLeaky__anon_495571" ".text.script.Runtime.argJson" ".text.script.Runtime.extractSchemaString" ".text.script.Runtime.normalizeExtractSchemaString" - ".text.agent.Terminal.printToolOutcome" ".text.agent.Spinner.cancel" ".text.agent.Terminal.reindentJson" ".text.agent.Spinner.setTool" ".text.agent.Spinner.ensureWorkerLocked" - ".text.Thread.PosixThreadImpl.spawn__anon_885806.Instance.entryFn" + ".text.Thread.PosixThreadImpl.spawn__anon_886578.Instance.entryFn" ".text.lightpanda.timedWait" ".text.agent.Agent.requireLlm" - ".text.agent.prompt_assist.addPartialKeyCompletions" ".text.agent.prompt_assist.addValueCompletions" ".text.agent.prompt_assist.addPrefixedCompletion" ".text.ToolSession.deinit" @@ -1363,9 +1371,9 @@ SECTIONS { ".text.network.SingleFlight.deinit" ".text.browser.Browser.prepareForTeardown" ".text.array_list.Aligned(\*Notification.Listener,null).append" - ".text.unlikely.lightpanda.assertionFailure__anon_151660" - ".text.crash_handler.report__anon_921418" - ".text.unlikely.crash_handler.crash__anon_921391" + ".text.unlikely.lightpanda.assertionFailure__anon_152611" + ".text.crash_handler.report__anon_922190" + ".text.unlikely.crash_handler.crash__anon_922163" ".text.hash_map.HashMapUnmanaged(usize,array_list.Aligned(\*Notification.Listener,null),hash_map.AutoContext(usize),80).getOrPut" ".text.browser.Session.onConsoleMessage" ".text.unlikely.hash_map.HashMapUnmanaged(usize,array_list.Aligned(\*Notification.Listener,null),hash_map.AutoContext(usize),80).grow" @@ -1386,82 +1394,87 @@ SECTIONS { ".text.browser.js.Context.importMetaResolveCallback" ".text.browser.js.Caller.init" ".text.browser.js.Env.oomCallback" - ".text.crash_handler.report__anon_922630" - ".text.browser.js.Local.newCallback__anon_922783__struct_922873.wrap" - ".text.browser.js.Local.jsValueToZig__anon_923019" + ".text.crash_handler.report__anon_923402" + ".text.unlikely.crash_handler.crash__anon_923340" + ".text.browser.js.Local.newCallback__anon_923555__struct_923645.wrap" + ".text.browser.js.Local.jsValueToZig__anon_923791" ".text.browser.webapi.KeyValueList.getAll" ".text.browser.webapi.net.Headers.get" ".text.browser.webapi.net.Response.package" - ".text.browser.js.Local.resolvePromise__anon_923427" + ".text.browser.js.Local.resolvePromise__anon_924199" ".text.browser.webapi.streams.ReadableStreamDefaultReader.read" ".text.browser.webapi.net.Response.StreamConsumer.pumpRead" ".text.browser.webapi.net.Response.consumeAs" - ".text.browser.js.Local.newCallback__anon_923475" - ".text.browser.js.Local.newCallback__anon_923475__struct_923481.wrap" + ".text.browser.js.Local.newCallback__anon_924247" + ".text.browser.js.Local.newCallback__anon_924247__struct_924253.wrap" ".text.browser.webapi.net.Response.StreamConsumer.finish" - ".text.browser.js.Local.jsValueToArrayBufferSlice__anon_923583" - ".text.browser.js.Local.jsValueToZig__anon_923561" - ".text.browser.js.Local.newCallback__anon_923461__struct_923838.wrap" - ".text.browser.js.Local.newCallback__anon_923456__struct_923843.wrap" - ".text.browser.js.Object.set__anon_923997" - ".text.browser.js.Object.set__anon_924087" - ".text.browser.js.Local.zigValueToJs__anon_924063" - ".text.browser.js.PromiseResolver._resolve__anon_923969" - ".text.browser.js.js.simpleZigValueToJs__anon_924081" - ".text.browser.js.Function.call__anon_924263" + ".text.browser.js.Local.jsValueToArrayBufferSlice__anon_924355" + ".text.browser.js.Local.jsValueToZig__anon_924333" + ".text.browser.js.Local.newCallback__anon_924233__struct_924610.wrap" + ".text.browser.js.Local.newCallback__anon_924228__struct_924615.wrap" + ".text.browser.js.Object.set__anon_924769" + ".text.browser.js.Object.set__anon_924859" + ".text.browser.js.Local.zigValueToJs__anon_924835" + ".text.browser.js.PromiseResolver._resolve__anon_924741" + ".text.browser.js.js.simpleZigValueToJs__anon_924853" + ".text.browser.js.Function.call__anon_925035" ".text.browser.webapi.net.body_init.parseFormData" ".text.network.header_parser.Header.parse" - ".text.browser.js.Local.mapZigInstanceToJs__anon_924831" - ".text.zig.ZonGen.addErrorInner__anon_939527" + ".text.browser.js.Local.mapZigInstanceToJs__anon_925603" + ".text.browser.js.Local.resolveT__anon_925703.Wrap.releaseRefFromZig" + ".text.browser.js.Local.resolveT__anon_925712.Wrap.releaseRefFromZig" + ".text.browser.js.Local.resolveT__anon_925712.Wrap.releaseRef" + ".text.zig.ZonGen.addErrorInner__anon_940299" ".text.array_list.Aligned(u32,null).appendSlice" ".text.array_list.Aligned(u32,null).ensureUnusedCapacity" ".text.array_list.Aligned(u32,null).ensureTotalCapacity" - ".text.zig.ZonGen.addErrorTokNotes__anon_937000" - ".text.zig.ZonGen.errNoteTok__anon_936996" - ".text.zig.ZonGen.addErrorNode__anon_936981" - ".text.zig.ZonGen.addErrorNode__anon_936976" - ".text.zig.ZonGen.addErrorTok__anon_936971" - ".text.zig.ZonGen.addErrorNode__anon_936961" - ".text.zig.ZonGen.addErrorNode__anon_936956" + ".text.zig.ZonGen.addErrorTokNotes__anon_937772" + ".text.zig.ZonGen.errNoteTok__anon_937768" + ".text.zig.ZonGen.addErrorNode__anon_937753" + ".text.zig.ZonGen.addErrorNode__anon_937748" + ".text.zig.ZonGen.addErrorTok__anon_937743" + ".text.zig.ZonGen.addErrorNode__anon_937733" + ".text.zig.ZonGen.addErrorNode__anon_937728" + ".text.hash_map.HashMapUnmanaged(u32,void,hash_map.StringIndexContext,80).deinit" ".text.cookies.saveToFile" ".text.mcp.protocol.JsonEscapingWriter.drain" - ".text.json.Stringify.write__anon_948500" + ".text.json.Stringify.write__anon_949272" ".text.mcp.Server.closeSession" - ".text.hash_map.HashMapUnmanaged(\[\]const u8,\*ToolSession,hash_map.StringContext,80).getIndex__anon_948600" + ".text.hash_map.HashMapUnmanaged(\[\]const u8,\*ToolSession,hash_map.StringContext,80).getIndex__anon_949372" ".text.server.Server.shutdown" ".text.unlikely.hash_map.HashMapUnmanaged(\[\]const u8,\*ToolSession,hash_map.StringContext,80).grow" - ".text.log.fatal__anon_141964" - ".text.Thread.PosixThreadImpl.spawn__anon_950294.Instance.entryFn" + ".text.log.fatal__anon_142916" + ".text.Thread.PosixThreadImpl.spawn__anon_951066.Instance.entryFn" ".text.http.Server.Request.respond" ".text.mcp.HttpServer.deinit" - ".text.Sighandler.on__anon_141867.TypeErased.start" - ".text.log.writeThunk__anon_951245__struct_951246.write" - ".text.Thread.PosixThreadImpl.spawn__anon_951415.Instance.entryFn" + ".text.Sighandler.on__anon_142819.TypeErased.start" + ".text.log.writeThunk__anon_952017__struct_952018.write" + ".text.Thread.PosixThreadImpl.spawn__anon_952187.Instance.entryFn" ".text.lightpanda.dumpContent" - ".text.Sighandler.on__anon_141678.TypeErased.start" + ".text.Sighandler.on__anon_142630.TypeErased.start" ".text.main.FetchTerminator.releaseBrowser" - ".text.log.fatal__anon_141612" - ".text.log.debug__anon_141589" + ".text.log.fatal__anon_142564" + ".text.log.debug__anon_142541" ".text.server.Server.run" ".text.server.Server.deinit" ".text.server.Server.runOnce" ".text.server.Server.quitSession" ".text.server.Server.push" - ".text.hash_map.HashMapUnmanaged(\[36\]u8,\*server.Server.Worker,hash_map.AutoContext(\[36\]u8),80).getIndex__anon_953066" + ".text.hash_map.HashMapUnmanaged(\[36\]u8,\*server.Server.Worker,hash_map.AutoContext(\[36\]u8),80).getIndex__anon_953838" ".text.server.http.Connection.Pool.release" ".text.server.http.Connection.Buffer.reset" - ".text.mem.Allocator.realloc__anon_953534" + ".text.mem.Allocator.realloc__anon_954306" ".text.server.Link.handleMessage" - ".text.unlikely.lightpanda.assertionFailure__anon_953699" - ".text.crash_handler.report__anon_953801" - ".text.unlikely.crash_handler.crash__anon_953770" - ".text.unlikely.lightpanda.assertionFailure__anon_953582" + ".text.unlikely.lightpanda.assertionFailure__anon_954471" + ".text.crash_handler.report__anon_954573" + ".text.unlikely.crash_handler.crash__anon_954542" + ".text.unlikely.lightpanda.assertionFailure__anon_954354" ".text.server.Server.releaseWorkerSlot" - ".text.unlikely.lightpanda.assertionFailure__anon_954391" + ".text.unlikely.lightpanda.assertionFailure__anon_955163" ".text.server.http.resumeParked" - ".text.unlikely.lightpanda.assertionFailure__anon_954634" + ".text.unlikely.lightpanda.assertionFailure__anon_955406" ".text.server.Server.monitorLink" - ".text.unlikely.lightpanda.assertionFailure__anon_954700" + ".text.unlikely.lightpanda.assertionFailure__anon_955472" ".text.server.http.serveHTTPResponse" ".text.server.http.serveHTTP" ".text.server.Server.spawnWorker" @@ -1469,35 +1482,34 @@ SECTIONS { ".text.server.http.upgrade" ".text.server.Link.init" ".text.server.Server.attachConnection" - ".text.unlikely.lightpanda.assertionFailure__anon_956749" - ".text.unlikely.lightpanda.assertionFailure__anon_956711" + ".text.unlikely.lightpanda.assertionFailure__anon_957521" + ".text.unlikely.lightpanda.assertionFailure__anon_957483" ".text.server.Server.upgradeConnection" - ".text.log.warn__anon_956448" - ".text.log.warn__anon_956439" - ".text.Thread.PosixThreadImpl.spawn__anon_957100.Instance.entryFn" - ".text.server.bidi.browsing_context.onFrameNavigateFailed" + ".text.log.warn__anon_957220" + ".text.log.warn__anon_957211" + ".text.Thread.PosixThreadImpl.spawn__anon_957872.Instance.entryFn" ".text.server.bidi.browsing_context.onFrameNavigate" ".text.server.bidi.browsing_context.onFrameDestroyed" ".text.server.bidi.browsing_context.onFrameCreated" ".text.server.bidi.browsing_context.onFrameRemove" ".text.server.bidi.browsing_context.onFrameLoaded" ".text.server.Server.Worker.run" - ".text.log.err__anon_957767" - ".text.unlikely.lightpanda.assertionFailure__anon_956120" + ".text.log.err__anon_958539" + ".text.unlikely.lightpanda.assertionFailure__anon_956892" ".text.hash_map.HashMapUnmanaged(\[36\]u8,\*server.Server.Worker,hash_map.AutoContext(\[36\]u8),80).putAssumeCapacityNoClobberContext" - ".text.json.static.innerParse__anon_958142" + ".text.json.static.innerParse__anon_958914" ".text.server.http.disconnect" - ".text.unlikely.lightpanda.assertionFailure__anon_952820" + ".text.unlikely.lightpanda.assertionFailure__anon_953592" ".text.array_list.Aligned(Sighandler.Listener,null).append" - ".text.Sighandler.on__anon_141520.TypeErased.start" - ".text.log.fatal__anon_141480" - ".text.log.fatal__anon_141473" + ".text.Sighandler.on__anon_142472.TypeErased.start" + ".text.log.fatal__anon_142432" + ".text.log.fatal__anon_142425" ".text.hash_map.HashMapUnmanaged(\[36\]u8,\*server.Server.Worker,hash_map.AutoContext(\[36\]u8),80).deinit" ".text.unlikely.hash_map.HashMapUnmanaged(\[36\]u8,\*server.Server.Worker,hash_map.AutoContext(\[36\]u8),80).grow" ".text.server.http.Connection.Pool.deinit" - ".text.unlikely.lightpanda.assertionFailure__anon_963443" - ".text.crash_handler.report__anon_963473" - ".text.unlikely.crash_handler.crash__anon_963449" + ".text.unlikely.lightpanda.assertionFailure__anon_964215" + ".text.crash_handler.report__anon_964245" + ".text.unlikely.crash_handler.crash__anon_964221" ".text.sys.net.errnoError" ".text.server.Server.EPoll.deinit" ".text.App.deinit" @@ -1505,18 +1517,17 @@ SECTIONS { ".text.Metrics.write" ".text.Io.net.Ip6Address.Unresolved.parse" ".text.telemetry.telemetry.TelemetryT(telemetry.lightpanda).record" - ".text.Thread.PosixThreadImpl.spawn__anon_978207.Instance.entryFn" + ".text.Thread.PosixThreadImpl.spawn__anon_978979.Instance.entryFn" ".text.telemetry.lightpanda.writeEvent" ".text.telemetry.lightpanda.flush" - ".text.log.warn__anon_978376" + ".text.log.warn__anon_979148" ".text.network.Network.deinit" - ".text.log.warn__anon_978941" + ".text.log.warn__anon_979713" ".text.App.getAppDataDir" ".text.Watchdog.deinit" - ".text.log.warn__anon_979171" - ".text.storage.sqlite.Sqlite.Conn.exec__anon_979409" + ".text.log.warn__anon_979943" + ".text.storage.sqlite.Sqlite.Conn.exec__anon_980181" ".text.network.cache.SqliteCache.maintenance" - ".text.array_list.Aligned(network.adblock.HostnameTrie.Cell,null).append" ".text.network.adblock.HostnameTrie.addLeafCell" ".text.unlikely.hash_map.HashMapUnmanaged(u64,void,hash_map.AutoContext(u64),80).grow" ".text.heap.ArenaAllocator.reset" @@ -1531,34 +1542,25 @@ SECTIONS { ".text.array_list.Aligned(network.IpFilter.CidrV6,null).toOwnedSlice" ".text.array_list.Aligned(network.IpFilter.CidrV4,null).toOwnedSlice" ".text.array_list.Aligned(network.IpFilter.CidrV4,null).append" - ".text.unlikely.lightpanda.assertionFailure__anon_137310" - ".text.Thread.PosixThreadImpl.spawn__anon_982825.Instance.entryFn" + ".text.unlikely.lightpanda.assertionFailure__anon_138263" + ".text.Thread.PosixThreadImpl.spawn__anon_983597.Instance.entryFn" ".text.Regex.Context.deinit" ".text.browser.js.Platform.deinit" - ".text.browser.js.bridge.Accessor.init__struct_136927.wrap" + ".text.browser.js.bridge.Accessor.init__struct_137882.wrap" ".text.browser.js.bridge.unknownWindowPropertyCallback" ".text.browser.js.Snapshot.illegalConstructorCallback" - ".text.browser.js.bridge.Accessor.init__struct_136908.wrap" - ".text.browser.js.bridge.Accessor.init__struct_136889.wrap" - ".text.browser.js.bridge.Accessor.init__struct_136866.wrap" - ".text.browser.js.bridge.Function.init__struct_136277.wrap" - ".text.browser.js.bridge.Function.init__struct_136228.wrap" - ".text.browser.js.Local.jsValueToZig__anon_985135" - ".text.browser.js.Local.jsValueToZig__anon_985030" - ".text.browser.js.Local.jsValueToZig__anon_985404" - ".text.browser.js.Local.jsValueToZig__anon_985446" - ".text.browser.js.Local.jsValueToZig__anon_985516" - ".text.browser.js.Local.jsValueToZig__anon_985635" - ".text.browser.js.Local.jsValueToZig__anon_985676" - ".text.browser.js.Local.jsValueToZig__anon_985340" - ".text.browser.js.Local.jsValueToZig__anon_985886" - ".text.browser.js.Local.jsValueToTypedArray__anon_986002" - ".text.browser.js.Local.jsValueToZig__anon_985959" + ".text.browser.js.bridge.Accessor.init__struct_137863.wrap" + ".text.browser.js.bridge.Accessor.init__struct_137844.wrap" + ".text.browser.js.bridge.Accessor.init__struct_137821.wrap" + ".text.browser.js.bridge.Function.init__struct_137232.wrap" + ".text.browser.js.bridge.Function.init__struct_137183.wrap" + ".text.browser.js.Local.jsValueToZig__anon_985907" + ".text.browser.js.Local.jsValueToZig__anon_985802" ".text.browser.webapi.net.Headers.validateAndNormalize" ".text.browser.webapi.net.Headers.checkGuard" ".text.browser.webapi.net.Headers.initGuarded" - ".text.browser.webapi.KeyValueList.urlEncodeValue__anon_986556" - ".text.browser.webapi.KeyValueList.urlEncodeEntry__anon_986552" + ".text.browser.webapi.KeyValueList.urlEncodeValue__anon_987328" + ".text.browser.webapi.KeyValueList.urlEncodeEntry__anon_987324" ".text.browser.webapi.net.URLSearchParams.toString" ".text.browser.js.Value.toStringSmart" ".text.browser.webapi.streams.ReadableStream.collectBodyBytes" @@ -1570,120 +1572,124 @@ SECTIONS { ".text.browser.webapi.net.Response.initWithArena" ".text.browser.webapi.net.Fetch.submit" ".text.browser.webapi.net.Fetch.init" - ".text.browser.webapi.net.Fetch.httpShutdownCallback" ".text.browser.webapi.net.Fetch.httpErrorCallback" - ".text.browser.js.Local.mapZigInstanceToJs__anon_987107" + ".text.browser.js.Local.mapZigInstanceToJs__anon_987879" ".text.browser.webapi.net.Fetch.httpDoneCallback" - ".text.browser.js.Local.resolveT__anon_987191.Wrap.releaseRefFromZig" - ".text.browser.js.Local.resolveT__anon_987191.Wrap.releaseRef" - ".text.unlikely.lightpanda.assertionFailure__anon_987251" - ".text.crash_handler.report__anon_987274" - ".text.unlikely.crash_handler.crash__anon_987253" + ".text.browser.js.Local.resolveT__anon_987963.Wrap.releaseRefFromZig" + ".text.browser.js.Local.resolveT__anon_987963.Wrap.releaseRef" + ".text.unlikely.lightpanda.assertionFailure__anon_988023" + ".text.crash_handler.report__anon_988046" + ".text.unlikely.crash_handler.crash__anon_988025" ".text.browser.webapi.net.Fetch.httpDataCallback" ".text.browser.webapi.net.Fetch.httpHeaderDoneCallback" ".text.browser.webapi.net.Response.deinit" - ".text.browser.js.PromiseResolver.rejectError__anon_986748" + ".text.browser.js.PromiseResolver.rejectError__anon_987520" ".text.browser.webapi.net.Request.releaseRef" - ".text.unlikely.lightpanda.assertionFailure__anon_987924" - ".text.crash_handler.report__anon_987969" - ".text.unlikely.crash_handler.crash__anon_987928" - ".text.mem.sliceTo__anon_988185" + ".text.unlikely.lightpanda.assertionFailure__anon_988696" + ".text.crash_handler.report__anon_988741" + ".text.unlikely.crash_handler.crash__anon_988700" + ".text.mem.sliceTo__anon_988957" ".text.browser.webapi.net.Headers.hasCorsUnsafeByte" ".text.array_list.Aligned(browser.webapi.KeyValueList.Entry,null).ensureTotalCapacityPrecise" - ".text.browser.js.bridge.Function.init__struct_136159.wrap" - ".text.browser.js.bridge.Function.init__struct_136124.wrap" + ".text.browser.js.bridge.Function.init__struct_137114.wrap" + ".text.browser.js.bridge.Function.init__struct_137079.wrap" ".text.browser.js.Value.serialize" ".text.browser.js.Value.deserialize" - ".text.browser.js.Local.jsValueToZig__anon_989728" - ".text.browser.js.bridge.Accessor.init__struct_135818.wrap" - ".text.browser.js.bridge.Accessor.init__struct_135798.wrap" - ".text.browser.js.bridge.Accessor.init__struct_135788.wrap" - ".text.browser.js.bridge.Function.init__struct_135733.wrap" - ".text.browser.js.Local.zigValueToJs__anon_991523" - ".text.browser.js.Local.newCallback__anon_991618__struct_991633.wrap" - ".text.browser.js.bridge.Constructor.init__struct_135690.wrap" - ".text.browser.js.bridge.Accessor.init__struct_135559.wrap" - ".text.browser.js.Local.jsValueToZig__anon_991754" - ".text.browser.js.bridge.Accessor.init__struct_133122.wrap" - ".text.browser.js.bridge.Accessor.init__struct_133104.wrap" - ".text.browser.js.bridge.Constructor.init__struct_133033.wrap" - ".text.browser.js.Value.toSSO__anon_1008359" - ".text.browser.js.Local.jsValueToZig__anon_1008259" + ".text.browser.js.Local.jsValueToZig__anon_990500" + ".text.browser.js.bridge.Accessor.init__struct_136773.wrap" + ".text.browser.js.bridge.Accessor.init__struct_136753.wrap" + ".text.browser.js.bridge.Accessor.init__struct_136743.wrap" + ".text.browser.js.bridge.Function.init__struct_136688.wrap" + ".text.browser.js.Local.zigValueToJs__anon_992295" + ".text.browser.js.Local.newCallback__anon_992390__struct_992405.wrap" + ".text.browser.js.bridge.Constructor.init__struct_136645.wrap" + ".text.browser.js.bridge.Accessor.init__struct_136514.wrap" + ".text.browser.js.Local.jsValueToZig__anon_992526" + ".text.browser.js.bridge.Accessor.init__struct_134286.wrap" + ".text.browser.js.bridge.Accessor.init__struct_134064.wrap" + ".text.browser.js.bridge.Accessor.init__struct_134050.wrap" + ".text.browser.js.bridge.Accessor.init__struct_134032.wrap" + ".text.browser.js.bridge.Constructor.init__struct_133961.wrap" + ".text.browser.js.Value.toSSO__anon_1009193" + ".text.browser.js.Local.jsValueToZig__anon_1009093" ".text.browser.webapi.ImageData.init" - ".text.browser.js.bridge.Function.init__struct_132964.wrap" - ".text.browser.js.bridge.Accessor.init__struct_129727.wrap" - ".text.browser.js.bridge.Accessor.init__struct_129722.wrap" - ".text.browser.js.Caller.getArgs__anon_1021920" - ".text.browser.js.bridge.Accessor.init__struct_129705.wrap" - ".text.browser.js.bridge.Accessor.init__struct_129693.wrap" - ".text.browser.js.bridge.Constructor.init__struct_129665.wrap" - ".text.browser.js.bridge.Function.init__struct_129467.wrap" - ".text.browser.js.bridge.Function.init__struct_125198.wrap" - ".text.browser.js.Local.mapZigInstanceToJs__anon_1029231" + ".text.browser.js.bridge.Function.init__struct_130701.wrap" + ".text.browser.js.Local.resolvePromise__anon_1022564" + ".text.browser.js.bridge.Accessor.init__struct_130655.wrap" + ".text.browser.js.bridge.Accessor.init__struct_130650.wrap" + ".text.browser.js.Caller.getArgs__anon_1022753" + ".text.browser.js.bridge.Accessor.init__struct_130633.wrap" + ".text.browser.js.bridge.Accessor.init__struct_130621.wrap" + ".text.browser.js.bridge.Constructor.init__struct_130593.wrap" + ".text.browser.js.bridge.Function.init__struct_126099.wrap" + ".text.browser.js.bridge.Function.init__struct_126064.wrap" ".text.browser.webapi.event.ProgressEvent.initWithTrusted" - ".text.browser.webapi.FileReader.dispatch__anon_1029427" - ".text.browser.js.Local.resolveT__anon_1029464.Wrap.releaseRefFromZig" - ".text.browser.js.Local.resolveT__anon_1029464.Wrap.releaseRef" - ".text.browser.EventManagerBase.dispatchDirect__anon_1029459" - ".text.browser.js.bridge.Function.init__struct_122082.wrap" - ".text.browser.js.bridge.Constructor.init__struct_121991.wrap" - ".text.browser.js.bridge.Function.init__struct_121917.wrap" - ".text.browser.js.Local.zigValueToJs__anon_1035955" - ".text.browser.js.bridge.Iterator.init__struct_121856.wrap" - ".text.browser.js.bridge.Function.init__struct_118204.wrap" - ".text.browser.js.bridge.Function.init__struct_118137.wrap" - ".text.browser.js.bridge.Function.init__struct_118104.wrap" - ".text.browser.js.bridge.Function.init__struct_118070.wrap" - ".text.browser.js.bridge.Function.init__struct_117996.wrap" - ".text.browser.js.bridge.Function.init__struct_117961.wrap" - ".text.browser.js.bridge.Accessor.init__struct_117914.wrap" - ".text.browser.js.bridge.Accessor.init__struct_117909.wrap" - ".text.browser.js.bridge.Accessor.init__struct_117885.wrap" - ".text.browser.js.Local.jsValueToZig__anon_1041559" - ".text.browser.js.bridge.Accessor.init__struct_117880.wrap" - ".text.browser.js.bridge.Accessor.init__struct_117028.wrap" - ".text.browser.js.bridge.Accessor.init__struct_117023.wrap" - ".text.browser.js.bridge.Accessor.init__struct_116998.wrap" - ".text.browser.js.bridge.Accessor.init__struct_116974.wrap" - ".text.browser.js.bridge.Accessor.init__struct_116964.wrap" - ".text.browser.js.bridge.Accessor.init__struct_116934.wrap" - ".text.browser.js.bridge.Function.init__struct_116659.wrap" - ".text.browser.js.bridge.Accessor.init__struct_110254.wrap" - ".text.browser.js.bridge.Accessor.init__struct_110231.wrap" - ".text.browser.js.Local.zigValueToJs__anon_1064535" - ".text.browser.js.bridge.Function.init__struct_110190.wrap" - ".text.browser.js.Local.resolveT__anon_1064588.Wrap.releaseRefFromZig" - ".text.browser.js.Local.resolveT__anon_1064588.Wrap.releaseRef" + ".text.browser.webapi.FileReader.dispatch__anon_1030324" + ".text.browser.webapi.FileReader.readInternal" + ".text.browser.webapi.FileReader.ReadTask.cancelled" + ".text.browser.webapi.FileReader.ReadTask.deinit" + ".text.browser.webapi.FileReader.ReadTask.run" + ".text.browser.js.bridge.Function.init__struct_122966.wrap" + ".text.browser.js.bridge.Constructor.init__struct_122875.wrap" + ".text.browser.js.bridge.Function.init__struct_122801.wrap" + ".text.browser.js.Local.zigValueToJs__anon_1036850" + ".text.browser.js.bridge.Iterator.init__struct_122740.wrap" + ".text.browser.js.bridge.Function.init__struct_122714.wrap" + ".text.browser.js.bridge.Function.init__struct_119026.wrap" + ".text.browser.js.bridge.Function.init__struct_118959.wrap" + ".text.browser.js.bridge.Function.init__struct_118926.wrap" + ".text.browser.js.bridge.Function.init__struct_118892.wrap" + ".text.browser.js.bridge.Function.init__struct_118818.wrap" + ".text.browser.js.bridge.Function.init__struct_118783.wrap" + ".text.browser.js.bridge.Accessor.init__struct_118736.wrap" + ".text.browser.js.bridge.Accessor.init__struct_118731.wrap" + ".text.browser.js.bridge.Accessor.init__struct_118707.wrap" + ".text.browser.js.Local.jsValueToZig__anon_1042474" + ".text.browser.js.bridge.Accessor.init__struct_118702.wrap" + ".text.browser.js.bridge.Accessor.init__struct_117850.wrap" + ".text.browser.js.bridge.Accessor.init__struct_117845.wrap" + ".text.browser.js.bridge.Accessor.init__struct_117820.wrap" + ".text.browser.js.bridge.Accessor.init__struct_117796.wrap" + ".text.browser.js.bridge.Accessor.init__struct_117786.wrap" + ".text.browser.js.bridge.Accessor.init__struct_117756.wrap" + ".text.browser.js.bridge.Function.init__struct_117481.wrap" + ".text.browser.js.bridge.Accessor.init__struct_111077.wrap" + ".text.browser.js.bridge.Accessor.init__struct_111054.wrap" + ".text.browser.js.Local.zigValueToJs__anon_1065438" + ".text.browser.js.bridge.Function.init__struct_111015.wrap" + ".text.browser.js.Local.resolveT__anon_1065491.Wrap.releaseRefFromZig" + ".text.browser.js.Local.resolveT__anon_1065491.Wrap.releaseRef" ".text.browser.webapi.collections.NodeList.releaseRef" - ".text.unlikely.lightpanda.assertionFailure__anon_1064637" - ".text.crash_handler.report__anon_1064674" - ".text.unlikely.crash_handler.crash__anon_1064651" - ".text.browser.js.bridge.Accessor.init__struct_110067.wrap" - ".text.browser.js.bridge.Accessor.init__struct_110048.wrap" - ".text.browser.js.bridge.Accessor.init__struct_110037.wrap" - ".text.browser.js.bridge.Accessor.init__struct_110002.wrap" - ".text.browser.js.bridge.Accessor.init__struct_106971.wrap" - ".text.browser.js.bridge.Accessor.init__struct_106945.wrap" - ".text.browser.js.bridge.Accessor.init__struct_106934.wrap" - ".text.browser.js.bridge.Accessor.init__struct_106908.wrap" - ".text.browser.js.bridge.Accessor.init__struct_106900.wrap" - ".text.browser.js.bridge.Accessor.init__struct_106879.wrap" - ".text.browser.js.bridge.Accessor.init__struct_106871.wrap" - ".text.browser.js.bridge.Accessor.init__struct_106850.wrap" - ".text.browser.js.bridge.Accessor.init__struct_106842.wrap" - ".text.browser.js.bridge.Accessor.init__struct_106821.wrap" - ".text.browser.js.bridge.Accessor.init__struct_106813.wrap" - ".text.browser.js.bridge.Accessor.init__struct_106792.wrap" - ".text.browser.js.bridge.Accessor.init__struct_106779.wrap" - ".text.browser.js.bridge.Function.init__struct_106718.wrap" + ".text.unlikely.lightpanda.assertionFailure__anon_1065540" + ".text.crash_handler.report__anon_1065577" + ".text.unlikely.crash_handler.crash__anon_1065554" + ".text.browser.js.bridge.Accessor.init__struct_110971.wrap" + ".text.browser.js.bridge.Accessor.init__struct_110948.wrap" + ".text.browser.js.bridge.Accessor.init__struct_110934.wrap" + ".text.browser.js.bridge.Accessor.init__struct_110920.wrap" + ".text.browser.js.bridge.Accessor.init__struct_110908.wrap" + ".text.browser.js.bridge.Accessor.init__struct_110894.wrap" + ".text.browser.js.bridge.Accessor.init__struct_110877.wrap" + ".text.browser.js.bridge.Accessor.init__struct_110866.wrap" + ".text.browser.js.bridge.Accessor.init__struct_110831.wrap" + ".text.browser.js.bridge.Accessor.init__struct_107776.wrap" + ".text.browser.js.bridge.Accessor.init__struct_107765.wrap" + ".text.browser.js.bridge.Accessor.init__struct_107739.wrap" + ".text.browser.js.bridge.Accessor.init__struct_107731.wrap" + ".text.browser.js.bridge.Accessor.init__struct_107710.wrap" + ".text.browser.js.bridge.Accessor.init__struct_107702.wrap" + ".text.browser.js.bridge.Accessor.init__struct_107681.wrap" + ".text.browser.js.bridge.Accessor.init__struct_107673.wrap" + ".text.browser.js.bridge.Accessor.init__struct_107610.wrap" + ".text.browser.js.bridge.Function.init__struct_107549.wrap" ".text.browser.webapi.net.XMLHttpRequest.releaseSelfRef" ".text.browser.webapi.net.XMLHttpRequest.stateChanged" - ".text.browser.webapi.net.XMLHttpRequestEventTarget.dispatch__anon_1072187" + ".text.browser.webapi.net.XMLHttpRequestEventTarget.dispatch__anon_1073096" ".text.browser.webapi.net.XMLHttpRequest.handleError" - ".text.browser.EventManagerBase.dispatchDirect__anon_1072216" - ".text.log.warn__anon_1072315" - ".text.browser.EventManagerBase.dispatchDirect__anon_1072184" - ".text.browser.js.bridge.Accessor.init__struct_106512.wrap" + ".text.browser.EventManagerBase.dispatchDirect__anon_1073125" + ".text.log.warn__anon_1073224" + ".text.browser.EventManagerBase.dispatchDirect__anon_1073093" + ".text.browser.js.bridge.Accessor.init__struct_107343.wrap" ".text.browser.frame.parse.xmlDocument" ".text.browser.frame.parse.fragment" ".text.browser.webapi.net.XMLHttpRequest.getResponse" @@ -1691,126 +1697,123 @@ SECTIONS { ".text.browser.parser.Parser.createContextElementCallback" ".text.browser.parser.Parser.xmlParseErrorCallback" ".text.browser.parser.Parser.createXMLElementCallback" - ".text.browser.js.bridge.Accessor.init__struct_106486.wrap" - ".text.browser.js.bridge.Accessor.init__struct_106467.wrap" - ".text.browser.js.bridge.Accessor.init__struct_106431.wrap" - ".text.browser.js.bridge.Accessor.init__struct_106417.wrap" - ".text.browser.js.bridge.Accessor.init__struct_106399.wrap" - ".text.browser.js.bridge.Accessor.init__struct_106380.wrap" - ".text.browser.js.bridge.Accessor.init__struct_106369.wrap" - ".text.browser.js.bridge.Function.init__struct_106338.wrap" - ".text.browser.webapi.net.XMLHttpRequestEventTarget.dispatch__anon_1073261" - ".text.log.info__anon_1073295" - ".text.browser.EventManagerBase.dispatchDirect__anon_1073290" - ".text.log.warn__anon_1073325" + ".text.browser.js.bridge.Accessor.init__struct_107317.wrap" + ".text.browser.js.bridge.Accessor.init__struct_107298.wrap" + ".text.browser.js.bridge.Accessor.init__struct_107262.wrap" + ".text.browser.js.bridge.Accessor.init__struct_107248.wrap" + ".text.browser.js.bridge.Accessor.init__struct_107230.wrap" + ".text.browser.js.bridge.Accessor.init__struct_107211.wrap" + ".text.browser.js.bridge.Accessor.init__struct_107200.wrap" + ".text.browser.js.bridge.Function.init__struct_107169.wrap" + ".text.browser.webapi.net.XMLHttpRequestEventTarget.dispatch__anon_1074170" + ".text.log.info__anon_1074204" + ".text.browser.EventManagerBase.dispatchDirect__anon_1074199" + ".text.log.warn__anon_1074234" ".text.browser.webapi.net.XMLHttpRequest.httpShutdownCallback" ".text.browser.webapi.net.XMLHttpRequest.httpErrorCallback" ".text.browser.webapi.net.XMLHttpRequest.httpDoneCallback" ".text.browser.webapi.net.XMLHttpRequest.httpDataCallback" - ".text.browser.EventManagerBase.dispatchDirect__anon_1073410" - ".text.log.warn__anon_1073420" + ".text.browser.EventManagerBase.dispatchDirect__anon_1074319" + ".text.log.warn__anon_1074329" ".text.browser.webapi.net.XMLHttpRequest.httpHeaderDoneCallback" - ".text.browser.EventManagerBase.dispatchDirect__anon_1073476" - ".text.log.warn__anon_1073483" - ".text.browser.js.bridge.Function.init__struct_106295.wrap" - ".text.browser.js.bridge.Accessor.init__struct_106254.wrap" - ".text.browser.js.bridge.Accessor.init__struct_106178.wrap" - ".text.browser.js.bridge.Accessor.init__struct_106146.wrap" - ".text.browser.js.bridge.Accessor.init__struct_106133.wrap" - ".text.browser.js.Local.mapZigInstanceToJs__anon_1073972" - ".text.browser.js.bridge.Constructor.init__struct_106054.wrap" - ".text.browser.js.bridge.Function.init__struct_105930.wrap" - ".text.browser.js.Object.set__anon_1074165" - ".text.browser.js.Local.zigValueToJs__anon_1074146" - ".text.browser.js.bridge.Function.init__struct_105881.wrap" - ".text.browser.js.bridge.Function.init__struct_105832.wrap" - ".text.browser.js.bridge.Accessor.init__struct_105070.wrap" - ".text.browser.js.Local.mapZigInstanceToJs__anon_1075700" - ".text.browser.js.bridge.Function.init__struct_105053.wrap" - ".text.browser.js.bridge.Function.init__struct_105025.wrap" - ".text.browser.js.bridge.Accessor.init__struct_104987.wrap" - ".text.browser.js.bridge.Accessor.init__struct_104973.wrap" - ".text.browser.js.bridge.Accessor.init__struct_104950.wrap" - ".text.browser.js.bridge.Accessor.init__struct_104932.wrap" - ".text.browser.js.bridge.Function.init__struct_104902.wrap" - ".text.browser.js.bridge.Accessor.init__struct_78444.wrap" - ".text.browser.js.bridge.Accessor.init__struct_78422.wrap" + ".text.browser.EventManagerBase.dispatchDirect__anon_1074385" + ".text.log.warn__anon_1074392" + ".text.browser.js.bridge.Function.init__struct_107126.wrap" + ".text.browser.js.bridge.Accessor.init__struct_107085.wrap" + ".text.browser.js.bridge.Accessor.init__struct_107009.wrap" + ".text.browser.js.bridge.Accessor.init__struct_106977.wrap" + ".text.browser.js.bridge.Accessor.init__struct_106964.wrap" + ".text.browser.js.Local.mapZigInstanceToJs__anon_1074881" + ".text.browser.js.bridge.Constructor.init__struct_106885.wrap" + ".text.browser.js.bridge.Function.init__struct_106761.wrap" + ".text.browser.js.Object.set__anon_1075074" + ".text.browser.js.Local.zigValueToJs__anon_1075055" + ".text.browser.js.bridge.Function.init__struct_106712.wrap" + ".text.browser.js.bridge.Function.init__struct_106663.wrap" + ".text.browser.js.Local.mapZigInstanceToJs__anon_1076609" + ".text.browser.js.bridge.Function.init__struct_105884.wrap" + ".text.browser.js.bridge.Function.init__struct_105856.wrap" + ".text.browser.js.bridge.Accessor.init__struct_105818.wrap" + ".text.browser.js.bridge.Accessor.init__struct_105804.wrap" + ".text.browser.js.bridge.Accessor.init__struct_105781.wrap" + ".text.browser.js.bridge.Accessor.init__struct_105763.wrap" + ".text.browser.js.bridge.Function.init__struct_105733.wrap" + ".text.browser.js.bridge.Function.init__struct_105686.wrap" + ".text.browser.js.bridge.Accessor.init__struct_79253.wrap" ".text.browser.webapi.Node.setHTML" - ".text.browser.js.bridge.Accessor.init__struct_78411.wrap" - ".text.browser.js.bridge.Accessor.init__struct_56113.wrap" - ".text.browser.js.bridge.Accessor.init__struct_56080.wrap" - ".text.browser.js.bridge.Accessor.init__struct_56072.wrap" - ".text.browser.js.bridge.Accessor.init__struct_56039.wrap" - ".text.browser.js.bridge.Accessor.init__struct_56031.wrap" - ".text.browser.js.bridge.Accessor.init__struct_56003.wrap" - ".text.browser.js.bridge.Accessor.init__struct_55995.wrap" - ".text.browser.js.bridge.Function.init__struct_52440.wrap" - ".text.browser.js.bridge.Function.init__struct_52411.wrap" - ".text.browser.js.bridge.Function.init__struct_52375.wrap" - ".text.browser.js.bridge.Accessor.init__struct_52346.wrap" + ".text.browser.js.bridge.Accessor.init__struct_79242.wrap" + ".text.browser.js.bridge.Accessor.init__struct_79211.wrap" + ".text.browser.js.bridge.Accessor.init__struct_56883.wrap" + ".text.browser.js.bridge.Accessor.init__struct_56850.wrap" + ".text.browser.js.bridge.Accessor.init__struct_56842.wrap" + ".text.browser.js.bridge.Accessor.init__struct_56814.wrap" + ".text.browser.js.bridge.Function.init__struct_53255.wrap" + ".text.browser.js.bridge.Function.init__struct_53222.wrap" + ".text.browser.js.bridge.Function.init__struct_53193.wrap" + ".text.browser.js.bridge.Function.init__struct_53157.wrap" + ".text.browser.js.bridge.Accessor.init__struct_53123.wrap" + ".text.browser.js.bridge.Accessor.init__struct_53105.wrap" + ".text.browser.js.bridge.Accessor.init__struct_53091.wrap" + ".text.browser.js.bridge.Function.init__struct_52316.wrap" + ".text.browser.js.bridge.Function.init__struct_52278.wrap" + ".text.browser.js.bridge.Function.init__struct_52245.wrap" ".text.browser.webapi.Element.getAttributeNS" - ".text.browser.js.bridge.Function.init__struct_51499.wrap" - ".text.browser.js.bridge.Function.init__struct_51465.wrap" - ".text.browser.js.bridge.Function.init__struct_51434.wrap" - ".text.browser.js.bridge.Accessor.init__struct_51288.wrap" + ".text.browser.js.bridge.Accessor.init__struct_52070.wrap" + ".text.browser.js.bridge.Accessor.init__struct_52062.wrap" ".text.unlikely.hash_map.HashMapUnmanaged(usize,\*browser.webapi.element.Attribute.NamedNodeMap,hash_map.AutoContext(usize),80).grow" - ".text.browser.js.bridge.Accessor.init__struct_51260.wrap" - ".text.browser.js.bridge.Accessor.init__struct_51233.wrap" - ".text.browser.js.bridge.Accessor.init__struct_51222.wrap" - ".text.browser.js.bridge.Accessor.init__struct_51188.wrap" - ".text.browser.js.bridge.Accessor.init__struct_51180.wrap" - ".text.browser.js.bridge.Accessor.init__struct_51152.wrap" - ".text.browser.js.bridge.Accessor.init__struct_51144.wrap" - ".text.browser.js.bridge.Function.init__struct_49213.wrap" - ".text.browser.js.bridge.Function.init__struct_49173.wrap" - ".text.browser.js.bridge.Accessor.init__struct_49128.wrap" - ".text.browser.js.bridge.Function.init__struct_49100.wrap" - ".text.browser.js.bridge.Accessor.init__struct_49051.wrap" - ".text.browser.js.Local.jsValueToZig__anon_1153343" + ".text.browser.js.bridge.Accessor.init__struct_52034.wrap" + ".text.browser.js.bridge.Accessor.init__struct_51979.wrap" + ".text.browser.js.bridge.Accessor.init__struct_51968.wrap" + ".text.browser.js.bridge.Accessor.init__struct_51934.wrap" + ".text.browser.js.bridge.Accessor.init__struct_51926.wrap" + ".text.browser.js.bridge.Accessor.init__struct_51898.wrap" + ".text.browser.js.bridge.Accessor.init__struct_49984.wrap" + ".text.browser.js.bridge.Function.init__struct_49959.wrap" + ".text.browser.js.bridge.Function.init__struct_49919.wrap" + ".text.browser.js.bridge.Accessor.init__struct_49875.wrap" + ".text.browser.js.bridge.Function.init__struct_49847.wrap" + ".text.browser.js.Local.jsValueToZig__anon_1154804" + ".text.browser.js.bridge.Accessor.init__struct_49798.wrap" ".text.browser.dump.getHTML" - ".text.browser.js.bridge.Function.init__struct_38121.wrap" - ".text.browser.js.bridge.Function.init__struct_38085.wrap" - ".text.browser.js.bridge.Function.init__struct_37985.wrap" - ".text.browser.js.bridge.Function.init__struct_37947.wrap" - ".text.browser.js.bridge.Function.init__struct_37842.wrap" - ".text.browser.js.bridge.Function.init__struct_37802.wrap" - ".text.browser.js.bridge.Function.init__struct_37285.wrap" - ".text.browser.js.bridge.Function.init__struct_37249.wrap" - ".text.browser.js.bridge.Function.init__struct_37209.wrap" - ".text.browser.js.bridge.Function.init__struct_37169.wrap" - ".text.browser.js.bridge.Accessor.init__struct_37115.wrap" - ".text.browser.js.bridge.Accessor.init__struct_37104.wrap" - ".text.browser.js.bridge.Accessor.init__struct_36130.wrap" - ".text.browser.js.bridge.Accessor.init__struct_36094.wrap" - ".text.browser.js.bridge.Accessor.init__struct_36063.wrap" - ".text.browser.js.bridge.Accessor.init__struct_36055.wrap" - ".text.browser.js.bridge.Accessor.init__struct_36025.wrap" - ".text.browser.js.bridge.Indexed.init__struct_30278.wrap" - ".text.browser.js.bridge.Accessor.init__struct_30261.wrap" - ".text.browser.js.bridge.Function.init__struct_30205.wrap" - ".text.browser.js.bridge.Function.init__struct_30150.wrap" - ".text.browser.js.bridge.Function.init__struct_30094.wrap" - ".text.browser.js.Caller.Function.call__anon_1176446" - ".text.browser.js.Local.resolveT__anon_1176581.Wrap.releaseRefFromZig" - ".text.browser.js.Local.resolveT__anon_1176581.Wrap.releaseRef" - ".text.unlikely.lightpanda.assertionFailure__anon_1176627" - ".text.crash_handler.report__anon_1176660" - ".text.unlikely.crash_handler.crash__anon_1176637" - ".text.browser.js.Local.resolveT__anon_1176809.Wrap.releaseRef" - ".text.unlikely.lightpanda.assertionFailure__anon_1176855" - ".text.crash_handler.report__anon_1176899" - ".text.unlikely.crash_handler.crash__anon_1176861" - ".text.browser.js.bridge.Function.init__struct_29884.wrap" - ".text.browser.js.bridge.Function.init__struct_29850.wrap" + ".text.browser.js.bridge.Accessor.init__struct_49790.wrap" + ".text.browser.js.bridge.Function.init__struct_38843.wrap" + ".text.browser.js.bridge.Function.init__struct_38810.wrap" + ".text.browser.js.bridge.Function.init__struct_38768.wrap" + ".text.browser.js.bridge.Function.init__struct_38732.wrap" + ".text.browser.js.bridge.Function.init__struct_38626.wrap" + ".text.browser.js.bridge.Function.init__struct_38586.wrap" + ".text.browser.js.bridge.Function.init__struct_38072.wrap" + ".text.browser.js.bridge.Function.init__struct_38035.wrap" + ".text.browser.js.bridge.Function.init__struct_37995.wrap" + ".text.browser.js.bridge.Function.init__struct_37955.wrap" + ".text.browser.webapi.Document.createElementNS" + ".text.browser.js.bridge.Accessor.init__struct_37905.wrap" + ".text.browser.js.bridge.Accessor.init__struct_37604.wrap" + ".text.browser.js.bridge.Accessor.init__struct_37568.wrap" + ".text.browser.js.bridge.Accessor.init__struct_37537.wrap" + ".text.browser.js.bridge.Accessor.init__struct_37529.wrap" + ".text.browser.js.bridge.Accessor.init__struct_37500.wrap" + ".text.browser.js.bridge.Accessor.init__struct_31437.wrap" + ".text.browser.js.bridge.Function.init__struct_31382.wrap" + ".text.browser.js.bridge.Function.init__struct_31327.wrap" + ".text.browser.js.bridge.Function.init__struct_31271.wrap" + ".text.browser.js.Caller.Function.call__anon_1178388" + ".text.browser.js.Local.resolveT__anon_1178523.Wrap.releaseRefFromZig" + ".text.browser.js.Local.resolveT__anon_1178523.Wrap.releaseRef" + ".text.unlikely.lightpanda.assertionFailure__anon_1178569" + ".text.crash_handler.report__anon_1178602" + ".text.crash_handler.report__anon_1178841" + ".text.unlikely.crash_handler.crash__anon_1178803" + ".text.browser.js.bridge.Function.init__struct_31061.wrap" + ".text.browser.js.bridge.Function.init__struct_31027.wrap" ".text.browser.js.bridge.Indexed.init__struct_29766.wrap" ".text.browser.js.bridge.Accessor.init__struct_29733.wrap" ".text.browser.js.bridge.Iterator.init__struct_29664.wrap" ".text.browser.js.bridge.Function.init__struct_29651.wrap" - ".text.browser.js.bridge.Accessor.init__struct_26870.wrap" ".text.browser.js.bridge.Function.init__struct_26780.wrap" ".text.browser.js.bridge.Accessor.init__struct_26684.wrap" ".text.browser.js.bridge.Constructor.init__struct_26618.wrap" - ".text.Thread.PosixThreadImpl.spawn__anon_1181081.Instance.entryFn" + ".text.Thread.PosixThreadImpl.spawn__anon_1183049.Instance.entryFn" ".text.Sighandler.sighandle" ".text.array_hash_map.Custom(\[\]const u8,agent.auth.models_dev.parseProviderModels.Provider,array_hash_map.StringContext,true).getOrPut" ".text.array_hash_map.Custom(\[\]const u8,agent.auth.models_dev.parseProviderModels.Provider,array_hash_map.StringContext,true).deinit" @@ -1823,7 +1826,8 @@ SECTIONS { ".text.debug.print__anon_21277" ".text.agent.settings.detectLocalProvider" ".text.agent.settings.availableProviders" - ".text.json.static.innerParse__anon_1184503" + ".text.provider.useVertex" + ".text.json.static.innerParse__anon_1186471" ".text.array_hash_map.Custom(\[\]const u8,agent.auth.auth.StoredToken,array_hash_map.StringContext,true).deinit" ".text.process.Environ.Map.deinit" ".text.Io.File.MultiReader.toOwnedSlice" @@ -1842,17 +1846,19 @@ SECTIONS { ".text.network.http.opensocketCallback" ".text.network.http.Connection.discardBody" ".text.network.http.Connection.reset__struct_20257.wrap" - ".text.crash_handler.report__anon_1185674" - ".text.unlikely.crash_handler.crash__anon_1185662" + ".text.crash_handler.report__anon_1187642" + ".text.unlikely.crash_handler.crash__anon_1187630" + ".text.unlikely.lightpanda.assertionFailure__anon_1187730" ".text.Config.printUsageAndExit" ".text.Config.printPlain" ".text.array_list.Aligned(\[\]const u8,null).toOwnedSlice" ".text.Config.agentVerbosity" ".text.cli.Builder(.{ .{ ... }, .{ ... }, .{ ... }, .{ ... }, .{ ... }, .{ ... } }).unknownCommand" - ".text.log.Value.initRuntime__anon_1267068.Thunk.logFmt" - ".text.log.writeThunk__anon_1267108__struct_1267133.write" + ".text.log.Value.initRuntime__anon_1269016.Thunk.logFmt" + ".text.log.writeThunk__anon_1269056__struct_1269081.write" ".text.log.fatal__anon_19125" ".text.log.fatal__anon_19084" + ".text.log.fatal__anon_19081" ".text.Io.Threaded.lookupDns" ".text.Io.Threaded.setSocketOptionPosix" ".text.Io.Threaded.openSocketPosix" @@ -1885,7 +1891,7 @@ SECTIONS { ".text.Io.Threaded.fileMemoryMapDestroy" ".text.Io.Threaded.fileMemoryMapCreate" ".text.Io.Threaded.fileHardLink" - ".text.fmt.bufPrintSentinel__anon_1270759" + ".text.fmt.bufPrintSentinel__anon_1272707" ".text.Io.Threaded.posixFchown" ".text.Io.Threaded.fileSupportsAnsiEscapeCodes" ".text.Io.Threaded.fileEnableAnsiEscapeCodes" @@ -1902,7 +1908,6 @@ SECTIONS { ".text.Io.Threaded.fileWriteStreaming" ".text.Io.Threaded.fileClose" ".text.Io.Threaded.fileLength" - ".text.Io.Threaded.dirStatFileLinux" ".text.Io.Threaded.dirStat" ".text.Io.Threaded.dirCreateDirPathOpenPosix" ".text.Io.Threaded.filePathKind" @@ -1911,7 +1916,7 @@ SECTIONS { ".text.Io.Threaded.batchCancel" ".text.Io.Threaded.batchAwaitConcurrent" ".text.Io.Threaded.netReceivePosix" - ".text.Io.Threaded.batchAwaitConcurrent__struct_1271922.add" + ".text.Io.Threaded.batchAwaitConcurrent__struct_1273870.add" ".text.Io.Threaded.batchAwaitAsync" ".text.Io.Threaded.operate" ".text.Io.Threaded.futexWake" @@ -1925,8 +1930,8 @@ SECTIONS { ".text.Io.Threaded.Group.waitForCancelWithSignaling" ".text.Io.Threaded.groupConcurrent" ".text.Io.Threaded.groupAsync" - ".text.Thread.spawn__anon_1272218" - ".text.Thread.PosixThreadImpl.spawn__anon_1272235.Instance.entryFn" + ".text.Thread.spawn__anon_1274166" + ".text.Thread.PosixThreadImpl.spawn__anon_1274183.Instance.entryFn" ".text.Io.Threaded.netListenIpPosix" ".text.mem.trim__anon_14887" ".text.log.resolveFilters" @@ -1948,7 +1953,7 @@ SECTIONS { ".text.heap.ArenaAllocator.resize" ".text.heap.ArenaAllocator.alloc" ".text.unlikely.process.fatal__anon_2509" - ".text.unlikely.log.scoped(.default).err__anon_1276339" + ".text.unlikely.log.scoped(.default).err__anon_1278287" ".text.process.Environ.createMap" ".text.Io.Threaded.init" ".text.Io.Threaded.doNothingSignalHandler" @@ -1956,17 +1961,20 @@ SECTIONS { ".text.compress.zstd.Decompress.discardIndirect" ".text.compress.zstd.Decompress.Frame.Zstandard.Decode.decodeLiterals" ".text.compress.zstd.Decompress.Frame.Zstandard.Decode.decodeSequence" - ".text.compress.zstd.Decompress.discardDirect" + ".text.compress.flate.Decompress.streamInner" + ".text.compress.flate.Decompress.rebaseFallible" + ".text.Io.Writer.writeBytePreserve" + ".text.compress.flate.Decompress.streamDirect" + ".text.compress.flate.Decompress.discardDirect" ".text.Io.Writer.Allocating.drain" ".text.Io.Writer.Allocating.growingRebase" ".text.Io.Writer.Allocating.sendFile" - ".text.compress.flate.Decompress.readVec" - ".text.compress.flate.Decompress.discardIndirect" - ".text.compress.flate.Decompress.takeBits" - ".text.compress.flate.Decompress.streamInner" + ".text.agent.auth.codex.post" + ".text.browser.URL.percentEncodeSegment__anon_1281768" + ".text.agent.auth.codex.parseTokenResponse" ".text.agent.auth.codex.accountIdFromJwt" ".text.agent.auth.codex.stringField" - ".text.browser.URL.shouldPercentEncode__anon_1279825" + ".text.browser.URL.shouldPercentEncode__anon_1281772" ".text.browser.js.Inspector.v8_inspector__Channel__IMPL__flushProtocolNotifications" ".text.browser.js.Inspector.v8_inspector__Channel__IMPL__sendNotification" ".text.browser.js.Inspector.v8_inspector__Channel__IMPL__sendResponse" @@ -2064,6 +2072,9 @@ SECTIONS { ".text.ossl_recv" ".text.ossl_send" ".text.ossl_get_channel_binding" + ".text.sk_X509_INFO_call_free_func" + ".text.oss_x509_share_free" + ".text.ssl_msg_type" ) *ssl_x509.o( ".text.sk_X509_call_free_func" @@ -2094,6 +2105,7 @@ SECTIONS { ".text.OPENSSL_strlcat" ) *err.o( + ".text.ERR_get_error" ".text.ERR_restore_state" ".text._ZL14err_state_freePv" ) @@ -2187,6 +2199,7 @@ SECTIONS { ".text.CBB_add_u16_length_prefixed" ".text.CBB_add_u24_length_prefixed" ".text.CBB_add_asn1" + ".text.CBB_add_u8" ) *fallback_malloc.o( ".text._ZN12_GLOBAL__N_115fallback_mallocEm" @@ -2251,6 +2264,7 @@ SECTIONS { ".text._ZN10__cxxabiv120__si_class_type_infoD0Ev" ".text._ZN10__cxxabiv121__vmi_class_type_infoD0Ev" ".text._ZNK10__cxxabiv117__class_type_info9can_catchEPKNS_16__shim_type_infoERPv" + ".text.__dynamic_cast" ) *pem_info.o( ".text.PEM_X509_INFO_read_bio" @@ -2609,7 +2623,6 @@ SECTIONS { ".text.mime_file_read" ".text.mime_file_free" ".text.Curl_mime_set_subparts" - ".text.Curl_creader_set_mime" ".text.mime_size" ".text.read_part_content" ".text.escape_string" @@ -2652,8 +2665,7 @@ SECTIONS { ".text.Curl_ssl_peer_init" ".text.ssl_cf_destroy" ".text.ssl_cf_connect" - ".text.multissl_version" - ".text.multissl_random" + ".text.ssl_cf_shutdown" ".text.multissl_connect" ".text.multissl_adjust_pollset" ".text.multissl_get_internals" @@ -3121,7 +3133,6 @@ SECTIONS { ".text.Curl_output_httpsig" ) *hmac.o( - ".text.Curl_HMAC_init" ".text.Curl_hmacit" ) *strerror.o( @@ -3157,7 +3168,6 @@ SECTIONS { ".text.parsedate" ) *http2.o( - ".text.cf_h2_recv" ".text.cf_h2_cntrl" ".text.cf_h2_is_alive" ".text.cf_h2_keep_alive" @@ -3175,12 +3185,7 @@ SECTIONS { ".text.cf_h2_ctx_free" ".text.h2_progress_ingress" ) - *dynhds.o( - ".text.Curl_dynhds_to_nva" - ) *http1.o( - ".text.Curl_h1_req_parse_init" - ".text.Curl_h1_req_parse_free" ".text.Curl_h1_req_parse_read" ".text.Curl_h1_req_write_head" ) @@ -3256,6 +3261,8 @@ SECTIONS { ".text.gzip_do_init" ".text.gzip_do_write" ".text.gzip_do_close" + ".text.brotli_do_init" + ".text.brotli_do_write" ) *transform.o( ".text.Shift" @@ -3415,6 +3422,7 @@ SECTIONS { ) *socks.o( ".text.socks_proxy_cf_destroy" + ".text.socks_proxy_cf_connect" ) *vtls_scache.o( ".text.Curl_ssl_peer_key_make" @@ -3446,6 +3454,9 @@ SECTIONS { ".text.Curl_tls_keylog_file_name" ".text.Curl_tls_keylog_write_line" ) + *by_file.o( + ".text.sk_X509_INFO_call_free_func" + ) *ssl_versions.o( ".text._ZN4bssl21ssl_get_version_rangeEPKNS_13SSL_HANDSHAKEEPtS3_" ".text._ZN4bssl21ssl_has_final_versionEPK6ssl_st" @@ -3471,6 +3482,27 @@ SECTIONS { ".text.SSL_is_quic" ".text.OPENSSL_init_ssl" ".text._ZN10ssl_ctx_stC2EPK13ssl_method_st" + ".text._ZN4bssl5ArrayItED2Ev" + ".text._ZNSt3__110unique_ptrI15ssl_ech_keys_stN4bssl8internal7DeleterEED2B8ne210100Ev" + ) + *extensions.o( + ".text._ZN4bssl5ArrayItED2Ev" + ) + *handoff.o( + ".text._ZN4bssl5ArrayItED2Ev" + ) + *handshake.o( + ".text._ZN4bssl5ArrayItED2Ev" + ".text._ZNSt3__110unique_ptrI15ssl_ech_keys_stN4bssl8internal7DeleterEED2B8ne210100Ev" + ) + *ssl_credential.o( + ".text._ZN4bssl5ArrayItED2Ev" + ) + *ssl_privkey.o( + ".text._ZN4bssl5ArrayItED2Ev" + ) + *handshake_server.o( + ".text._ZNSt3__110unique_ptrI15ssl_ech_keys_stN4bssl8internal7DeleterEED2B8ne210100Ev" ) *netrc.o( ".text.netrc_scan_file" @@ -3594,6 +3626,7 @@ SECTIONS { ) *pcre2_compile.o( ".text.pcre2_code_free_8" + ".text._pcre2_check_escape_8" ".text.parse_capture_list" ".text.set_lookbehind_lengths" ".text.get_branchlength" @@ -3687,7 +3720,6 @@ SECTIONS { ".text.unlikely._RINvMNtNtCsgxBkk5gSRhY_4core4cell4onceINtB3_8OnceCellINtNtB7_6result6ResultINtNtB7_6option6OptionINtNtCs6i54tJFfzR_5alloc5boxed3BoxINtNtCslgomAybRUiZ_9addr2line4unit7DwoUnitINtNtNtCsepY7R6AGWjB_5gimli4read12endian_slice11EndianSliceNtNtB2S_9endianity12LittleEndianEEEENtB2Q_5ErrorEE8try_initNCINvB2_11get_or_initNCNvMB28_INtB28_7ResUnitB2L_E14dwarf_and_units0_0E0zECs9k3SxhrAWiO_3std" ".text.unlikely._RINvMNtNtCsgxBkk5gSRhY_4core4cell4onceINtB3_8OnceCellINtNtB7_6result6ResultINtNtB7_6option6OptionINtNtCs6i54tJFfzR_5alloc5boxed3BoxINtNtCslgomAybRUiZ_9addr2line4unit7DwoUnitINtNtNtCsepY7R6AGWjB_5gimli4read12endian_slice11EndianSliceNtNtB2S_9endianity12LittleEndianEEEENtB2Q_5ErrorEE8try_initNCINvB2_11get_or_initNCNvMB28_INtB28_7ResUnitB2L_E14dwarf_and_units2_0E0zECs9k3SxhrAWiO_3std" ".text.unlikely._RINvMNtNtCsgxBkk5gSRhY_4core4cell4onceINtB3_8OnceCellINtNtB7_6result6ResultINtNtCslgomAybRUiZ_9addr2line8function8FunctionINtNtNtCsepY7R6AGWjB_5gimli4read12endian_slice11EndianSliceNtNtB23_9endianity12LittleEndianEENtB21_5ErrorEE8try_initNCINvB2_11get_or_initNCNvMs_B1e_INtB1e_12LazyFunctionB1W_E6borrow0E0zECs9k3SxhrAWiO_3std" - ".text._RNvNtNtNtNtCs9k3SxhrAWiO_3std3sys12thread_local11destructors10linux_like8register" ".text._RNvNtNtNtNtCs9k3SxhrAWiO_3std3sys2io5error4unix12error_string" ".text._RNvNtNtNtNtCs9k3SxhrAWiO_3std3sys2io5error4unix14is_interrupted.llvm.16074470296022112615" ".text._RNvNtNtNtNtCs9k3SxhrAWiO_3std3sys2io5error4unix17decode_error_kind.llvm.16074470296022112615" @@ -3731,6 +3763,7 @@ SECTIONS { ".text._RNvMs_NtNtNtNtCsgxBkk5gSRhY_4core3num3imp7dec2flt11decimal_seqNtB4_10DecimalSeq5round" ".text._RNvMsa_NtCsgxBkk5gSRhY_4core3fmtNtB5_9Formatter12pad_integral" ".text._RNvMsa_NtCsgxBkk5gSRhY_4core3fmtNtB5_9Formatter19pad_formatted_parts" + ".text._RNvMsa_NtCsgxBkk5gSRhY_4core3fmtNtB5_9Formatter21write_formatted_parts" ".text._RNvMsu_NtNtCsgxBkk5gSRhY_4core3str7patternNtB5_11StrSearcher3new" ".text._RNvNtCsgxBkk5gSRhY_4core3fmt5write" ".text.unlikely._RNvNtCsgxBkk5gSRhY_4core3str16slice_error_fail" @@ -4404,6 +4437,8 @@ SECTIONS { ".rodata.cst4" ".rodata.cst8" ".rodata.cst32" + ".rodata.ascii.whitespace" + ".rodata.__anon_16606" ".rodata.__anon_19088" ".rodata.__anon_19127" ".rodata.__anon_19132" @@ -4423,179 +4458,178 @@ SECTIONS { ".rodata.__anon_21871" ".rodata.__anon_21954" ".rodata.__anon_20601" - ".rodata.__anon_136957" - ".rodata.__anon_137346" - ".rodata.__anon_137361" - ".rodata.__anon_138699" - ".rodata.__anon_140009" - ".rodata.__anon_137326" - ".rodata.__anon_138402" - ".rodata.__anon_140405" - ".rodata.__anon_140536" - ".rodata.__anon_140445" - ".rodata.__anon_141818" + ".rodata.__anon_137912" + ".rodata.__anon_138299" + ".rodata.__anon_138314" + ".rodata.__anon_139652" + ".rodata.__anon_140962" + ".rodata.__anon_138279" + ".rodata.__anon_139355" + ".rodata.__anon_141358" + ".rodata.__anon_141489" + ".rodata.__anon_141398" + ".rodata.__anon_142770" ".rodata.__anon_22180" - ".rodata.__anon_140569" - ".rodata.__anon_143118" - ".rodata.__anon_143125" - ".rodata.__anon_143262" - ".rodata.__anon_143275" - ".rodata.__anon_143317" - ".rodata.__anon_143362" - ".rodata.__anon_143402" - ".rodata.__anon_143431" - ".rodata.__anon_143451" - ".rodata.__anon_143574" - ".rodata.__anon_143601" - ".rodata.__anon_143777" - ".rodata.__anon_145459" - ".rodata.__anon_147177" - ".rodata.__anon_147321" - ".rodata.__anon_147331" - ".rodata.__anon_148628" - ".rodata.__anon_149150" - ".rodata.__anon_149245" - ".rodata.__anon_149476" - ".rodata.__anon_149651" - ".rodata.__anon_151669" - ".rodata.__anon_152195" - ".rodata.__anon_152210" - ".rodata.__anon_152118" + ".rodata.__anon_141522" + ".rodata.__anon_144069" + ".rodata.__anon_144076" + ".rodata.__anon_144213" + ".rodata.__anon_144226" + ".rodata.__anon_144268" + ".rodata.__anon_144313" + ".rodata.__anon_144353" + ".rodata.__anon_144382" + ".rodata.__anon_144402" + ".rodata.__anon_144525" + ".rodata.__anon_144552" + ".rodata.__anon_144728" + ".rodata.__anon_146410" + ".rodata.__anon_148128" + ".rodata.__anon_148272" + ".rodata.__anon_148282" + ".rodata.__anon_149579" + ".rodata.__anon_150101" + ".rodata.__anon_150196" + ".rodata.__anon_150427" + ".rodata.__anon_150602" + ".rodata.__anon_152620" + ".rodata.__anon_153146" + ".rodata.__anon_153161" + ".rodata.__anon_153069" ".rodata.__anon_20847" - ".rodata.__anon_148648" - ".rodata.__anon_148650" - ".rodata.__anon_151732" - ".rodata.__anon_153247" - ".rodata.__anon_153483" - ".rodata.__anon_153512" - ".rodata.__anon_153535" - ".rodata.__anon_153639" - ".rodata.__anon_153656" - ".rodata.__anon_153713" - ".rodata.__anon_153733" - ".rodata.__anon_153931" - ".rodata.__anon_153953" - ".rodata.__anon_154046" - ".rodata.__anon_154153" - ".rodata.__anon_154207" - ".rodata.__anon_154538" - ".rodata.__anon_156030" - ".rodata.__anon_156038" - ".rodata.__anon_156595" - ".rodata.__anon_156614" - ".rodata.__anon_156847" - ".rodata.__anon_156862" - ".rodata.__anon_160570" - ".rodata.__anon_160690" - ".rodata.__anon_160700" - ".rodata.__anon_156102" - ".rodata.__anon_156129" - ".rodata.__anon_156138" - ".rodata.__anon_156148" - ".rodata.__anon_156160" - ".rodata.__anon_156186" - ".rodata.__anon_156203" - ".rodata.__anon_156227" - ".rodata.__anon_156237" - ".rodata.__anon_156248" - ".rodata.__anon_156681" - ".rodata.__anon_156706" - ".rodata.__anon_156724" - ".rodata.__anon_161134" - ".rodata.__anon_162315" - ".rodata.__anon_162325" - ".rodata.__anon_152192" - ".rodata.__anon_163103" + ".rodata.__anon_149599" + ".rodata.__anon_149601" + ".rodata.__anon_152683" + ".rodata.__anon_154198" + ".rodata.__anon_154434" + ".rodata.__anon_154463" + ".rodata.__anon_154486" + ".rodata.__anon_154590" + ".rodata.__anon_154607" + ".rodata.__anon_154664" + ".rodata.__anon_154684" + ".rodata.__anon_154882" + ".rodata.__anon_154904" + ".rodata.__anon_154997" + ".rodata.__anon_155104" + ".rodata.__anon_155158" + ".rodata.__anon_155489" + ".rodata.__anon_156970" + ".rodata.__anon_156978" + ".rodata.__anon_157534" + ".rodata.__anon_157553" + ".rodata.__anon_157786" + ".rodata.__anon_157801" + ".rodata.__anon_161508" + ".rodata.__anon_161628" + ".rodata.__anon_161638" + ".rodata.__anon_157041" + ".rodata.__anon_157068" + ".rodata.__anon_157077" + ".rodata.__anon_157087" + ".rodata.__anon_157099" + ".rodata.__anon_157125" + ".rodata.__anon_157142" + ".rodata.__anon_157166" + ".rodata.__anon_157176" + ".rodata.__anon_157187" + ".rodata.__anon_157620" + ".rodata.__anon_157645" + ".rodata.__anon_157663" + ".rodata.__anon_162072" + ".rodata.__anon_163244" + ".rodata.__anon_163254" + ".rodata.__anon_153143" + ".rodata.__anon_164032" ".rodata.__anon_4010" - ".rodata.__anon_162991" - ".rodata.__anon_163213" - ".rodata.__anon_162990" - ".rodata.__anon_163264" - ".rodata.__anon_163292" - ".rodata.__anon_163449" - ".rodata.__anon_162568" - ".rodata.__anon_164023" - ".rodata.__anon_163894" + ".rodata.__anon_163920" + ".rodata.__anon_164146" ".rodata.__anon_163919" - ".rodata.__anon_122042" - ".rodata.__anon_163955" - ".rodata.__anon_163959" - ".rodata.__anon_163969" - ".rodata.__anon_164548" - ".rodata.__anon_165044" - ".rodata.__anon_165914" - ".rodata.__anon_165901" - ".rodata.__anon_165596" - ".rodata.__anon_166285" - ".rodata.__anon_166515" - ".rodata.__anon_167016" - ".rodata.__anon_167059" - ".rodata.__anon_167832" - ".rodata.__anon_167872" - ".rodata.__anon_167818" - ".rodata.__anon_167908" - ".rodata.__anon_167431" - ".rodata.__anon_169246" - ".rodata.__anon_169257" - ".rodata.__anon_169260" - ".rodata.__anon_170206" - ".rodata.__anon_170413" - ".rodata.__anon_170513" - ".rodata.__anon_170899" - ".rodata.__anon_171184" - ".rodata.__anon_172742" - ".rodata.__anon_173503" - ".rodata.__anon_51856" - ".rodata.__anon_174675" - ".rodata.__anon_172668" - ".rodata.__anon_175093" - ".rodata.__anon_175214" - ".rodata.__anon_175576" - ".rodata.__anon_175725" - ".rodata.__anon_175679" - ".rodata.__anon_175829" - ".rodata.__anon_176169" - ".rodata.__anon_179160" - ".rodata.__anon_179282" - ".rodata.__anon_179303" - ".rodata.__anon_179334" - ".rodata.__anon_179335" - ".rodata.__anon_179336" - ".rodata.__anon_179337" - ".rodata.__anon_179338" - ".rodata.__anon_179339" - ".rodata.__anon_179340" - ".rodata.__anon_179341" - ".rodata.__anon_179342" - ".rodata.__anon_180866" - ".rodata.__anon_181721" - ".rodata.__anon_181996" - ".rodata.__anon_182018" - ".rodata.__anon_187834" - ".rodata.__anon_203115" - ".rodata.__anon_203130" - ".rodata.__anon_203182" - ".rodata.__anon_203183" - ".rodata.__anon_203418" - ".rodata.__anon_203317" - ".rodata.__anon_203318" + ".rodata.__anon_164197" + ".rodata.__anon_164225" + ".rodata.__anon_164382" + ".rodata.__anon_163497" + ".rodata.__anon_164963" + ".rodata.__anon_164834" + ".rodata.__anon_164859" + ".rodata.__anon_122926" + ".rodata.__anon_164895" + ".rodata.__anon_164899" + ".rodata.__anon_164909" + ".rodata.__anon_165486" + ".rodata.__anon_165982" + ".rodata.__anon_166852" + ".rodata.__anon_166839" + ".rodata.__anon_166534" + ".rodata.__anon_167223" + ".rodata.__anon_167453" + ".rodata.__anon_167954" + ".rodata.__anon_167997" + ".rodata.__anon_168757" + ".rodata.__anon_168796" + ".rodata.__anon_168744" + ".rodata.__anon_168832" + ".rodata.__anon_168368" + ".rodata.__anon_170170" + ".rodata.__anon_170181" + ".rodata.__anon_170184" + ".rodata.__anon_171130" + ".rodata.__anon_171337" + ".rodata.__anon_171437" + ".rodata.__anon_171823" + ".rodata.__anon_172108" + ".rodata.__anon_173666" + ".rodata.__anon_174423" + ".rodata.__anon_52602" + ".rodata.__anon_175407" + ".rodata.__anon_173592" + ".rodata.__anon_175825" + ".rodata.__anon_175946" + ".rodata.__anon_176308" + ".rodata.__anon_176457" + ".rodata.__anon_176411" + ".rodata.__anon_176561" + ".rodata.__anon_176901" + ".rodata.__anon_179891" + ".rodata.__anon_180013" + ".rodata.__anon_180034" + ".rodata.__anon_180065" + ".rodata.__anon_180066" + ".rodata.__anon_180067" + ".rodata.__anon_180068" + ".rodata.__anon_180069" + ".rodata.__anon_180070" + ".rodata.__anon_180071" + ".rodata.__anon_180072" + ".rodata.__anon_180073" + ".rodata.__anon_181597" + ".rodata.__anon_182452" + ".rodata.__anon_182727" + ".rodata.__anon_182749" + ".rodata.__anon_188565" ".rodata.__anon_203861" - ".rodata.__anon_203998" - ".rodata.__anon_204125" - ".rodata.__anon_204260" - ".rodata.__anon_204296" - ".rodata.__anon_204362" - ".rodata.__anon_204577" - ".rodata.__anon_150096" - ".rodata.__anon_205779" - ".rodata.__anon_206042" - ".rodata.__anon_206707" - ".rodata.__anon_206744" - ".rodata.__anon_206803" - ".rodata.__anon_206872" - ".rodata.__anon_206911" - ".rodata.__anon_206932" - ".rodata.__anon_206957" + ".rodata.__anon_203913" + ".rodata.__anon_203914" + ".rodata.__anon_204149" + ".rodata.__anon_204048" + ".rodata.__anon_204049" + ".rodata.__anon_204592" + ".rodata.__anon_204729" + ".rodata.__anon_204856" + ".rodata.__anon_204991" + ".rodata.__anon_205027" + ".rodata.__anon_205093" + ".rodata.__anon_205308" + ".rodata.__anon_151047" + ".rodata.__anon_206510" + ".rodata.__anon_206773" + ".rodata.__anon_207438" + ".rodata.__anon_207475" + ".rodata.__anon_207534" + ".rodata.__anon_207603" + ".rodata.__anon_207642" + ".rodata.__anon_207663" + ".rodata.__anon_207688" ".rodata.browser.webapi.event.TouchEvent.JsApi.Meta.prototype_chain" ".rodata.browser.webapi.event.CompositionEvent.JsApi.Meta.prototype_chain" ".rodata.browser.webapi.event.InputEvent.JsApi.Meta.prototype_chain" @@ -4604,9 +4638,9 @@ SECTIONS { ".rodata.browser.webapi.event.KeyboardEvent.JsApi.Meta.prototype_chain" ".rodata.browser.webapi.event.MouseEvent.JsApi.Meta.prototype_chain" ".rodata.browser.webapi.net.XMLHttpRequestUpload.JsApi.Meta.prototype_chain" - ".rodata.__anon_211050" - ".rodata.__anon_212742" - ".rodata.__anon_213146" + ".rodata.__anon_211781" + ".rodata.__anon_213473" + ".rodata.__anon_213877" ".rodata.browser.webapi.net.XMLHttpRequest.JsApi.Meta.prototype_chain" ".rodata.browser.webapi.DedicatedWorkerGlobalScope.JsApi.Meta.prototype_chain" ".rodata.browser.webapi.ServiceWorkerGlobalScope.JsApi.Meta.prototype_chain" @@ -4718,1227 +4752,1162 @@ SECTIONS { ".rodata.browser.webapi.cdata.CDATASection.JsApi.Meta.prototype_chain" ".rodata.browser.webapi.storage.idb.IDBOpenDBRequest.JsApi.Meta.prototype_chain" ".rodata.browser.webapi.TaskSignal.JsApi.Meta.prototype_chain" - ".rodata.__anon_228906" - ".rodata.__anon_228956" - ".rodata.__anon_228976" - ".rodata.__anon_177819" - ".rodata.__anon_229012" - ".rodata.__anon_229055" - ".rodata.__anon_229319" - ".rodata.__anon_229393" - ".rodata.__anon_229623" - ".rodata.__anon_229843" - ".rodata.__anon_229849" - ".rodata.__anon_233914" - ".rodata.__anon_236616" - ".rodata.__anon_236721" - ".rodata.__anon_237631" - ".rodata.__anon_237643" - ".rodata.__anon_238712" - ".rodata.__anon_238728" - ".rodata.__anon_238762" - ".rodata.__anon_238777" - ".rodata.__anon_239525" - ".rodata.__anon_239824" - ".rodata.__anon_240774" - ".rodata.__anon_240841" - ".rodata.__anon_150081" - ".rodata.__anon_243332" - ".rodata.__anon_243972" - ".rodata.__anon_244012" - ".rodata.__anon_244406" - ".rodata.__anon_244620" - ".rodata.__anon_244621" - ".rodata.__anon_247524" - ".rodata.__anon_247683" - ".rodata.__anon_248272" - ".rodata.__anon_248362" - ".rodata.__anon_249958" - ".rodata.__anon_250080" - ".rodata.__anon_250196" - ".rodata.__anon_250201" - ".rodata.__anon_250213" - ".rodata.__anon_250434" - ".rodata.__anon_250435" - ".rodata.__anon_250439" - ".rodata.__anon_250952" - ".rodata.__anon_250995" - ".rodata.__anon_252793" - ".rodata.__anon_252802" - ".rodata.__anon_252811" - ".rodata.__anon_252819" - ".rodata.__anon_252827" - ".rodata.__anon_252835" - ".rodata.__anon_252843" - ".rodata.__anon_252848" - ".rodata.__anon_252856" - ".rodata.__anon_252860" - ".rodata.__anon_252868" - ".rodata.__anon_252872" - ".rodata.__anon_252880" - ".rodata.__anon_252884" - ".rodata.__anon_252892" - ".rodata.__anon_252900" - ".rodata.__anon_252905" - ".rodata.__anon_252914" - ".rodata.__anon_252923" - ".rodata.__anon_252931" - ".rodata.__anon_252935" - ".rodata.__anon_252943" - ".rodata.__anon_252951" - ".rodata.__anon_252959" - ".rodata.__anon_252968" - ".rodata.__anon_252977" - ".rodata.__anon_252985" - ".rodata.__anon_252993" - ".rodata.__anon_253001" - ".rodata.__anon_253009" - ".rodata.__anon_253017" - ".rodata.__anon_253025" - ".rodata.__anon_253029" - ".rodata.__anon_253038" - ".rodata.__anon_253046" - ".rodata.__anon_253054" - ".rodata.__anon_253062" - ".rodata.__anon_253066" - ".rodata.__anon_253070" - ".rodata.__anon_253078" - ".rodata.__anon_253086" - ".rodata.__anon_253094" - ".rodata.__anon_253102" - ".rodata.__anon_253110" - ".rodata.__anon_253118" - ".rodata.__anon_253126" - ".rodata.__anon_253134" - ".rodata.__anon_253138" - ".rodata.__anon_253146" - ".rodata.__anon_253151" - ".rodata.__anon_253160" - ".rodata.__anon_253168" - ".rodata.__anon_253172" - ".rodata.__anon_253181" - ".rodata.__anon_253185" - ".rodata.__anon_253193" - ".rodata.__anon_253200" - ".rodata.__anon_253209" - ".rodata.__anon_253213" - ".rodata.__anon_253221" - ".rodata.__anon_253229" - ".rodata.__anon_253233" - ".rodata.__anon_253237" - ".rodata.__anon_253244" - ".rodata.__anon_253252" - ".rodata.__anon_253260" - ".rodata.__anon_253264" - ".rodata.__anon_253272" - ".rodata.__anon_253280" - ".rodata.__anon_253288" - ".rodata.__anon_253296" - ".rodata.__anon_253304" - ".rodata.__anon_253312" - ".rodata.__anon_253320" - ".rodata.__anon_253328" - ".rodata.__anon_253336" - ".rodata.__anon_253344" - ".rodata.__anon_253351" - ".rodata.__anon_253359" - ".rodata.__anon_253367" - ".rodata.__anon_253375" - ".rodata.__anon_253383" - ".rodata.__anon_253391" - ".rodata.__anon_253399" - ".rodata.__anon_253406" - ".rodata.__anon_253415" - ".rodata.__anon_253419" - ".rodata.__anon_253427" - ".rodata.__anon_253435" - ".rodata.__anon_253443" - ".rodata.__anon_253447" - ".rodata.__anon_253451" - ".rodata.__anon_253455" - ".rodata.__anon_253459" - ".rodata.__anon_253468" - ".rodata.__anon_253472" - ".rodata.__anon_253481" - ".rodata.__anon_253485" - ".rodata.__anon_253494" - ".rodata.__anon_253502" - ".rodata.__anon_253506" - ".rodata.__anon_253510" - ".rodata.__anon_253518" - ".rodata.__anon_253528" - ".rodata.__anon_253532" - ".rodata.__anon_253540" - ".rodata.__anon_253548" - ".rodata.__anon_253556" - ".rodata.__anon_253566" - ".rodata.__anon_253574" + ".rodata.__anon_229637" + ".rodata.__anon_229687" + ".rodata.__anon_229707" + ".rodata.__anon_178550" + ".rodata.__anon_229743" + ".rodata.__anon_229786" + ".rodata.__anon_230050" + ".rodata.__anon_230124" + ".rodata.__anon_230354" + ".rodata.__anon_230629" + ".rodata.__anon_230635" + ".rodata.__anon_234700" + ".rodata.__anon_237378" + ".rodata.__anon_237483" + ".rodata.__anon_238384" + ".rodata.__anon_238390" + ".rodata.__anon_239449" + ".rodata.__anon_239465" + ".rodata.__anon_239499" + ".rodata.__anon_239514" + ".rodata.__anon_240258" + ".rodata.__anon_240572" + ".rodata.__anon_241522" + ".rodata.__anon_241589" + ".rodata.__anon_151032" + ".rodata.__anon_244080" + ".rodata.__anon_244720" + ".rodata.__anon_244760" + ".rodata.__anon_245123" + ".rodata.__anon_245363" + ".rodata.__anon_245364" + ".rodata.__anon_248267" + ".rodata.__anon_248426" + ".rodata.__anon_249015" + ".rodata.__anon_249105" + ".rodata.__anon_250701" + ".rodata.__anon_250823" + ".rodata.__anon_250939" + ".rodata.__anon_250944" + ".rodata.__anon_250956" + ".rodata.__anon_251177" + ".rodata.__anon_251178" + ".rodata.__anon_251182" + ".rodata.__anon_251695" + ".rodata.__anon_251738" + ".rodata.__anon_253536" + ".rodata.__anon_253545" + ".rodata.__anon_253554" + ".rodata.__anon_253562" + ".rodata.__anon_253570" ".rodata.__anon_253578" ".rodata.__anon_253586" - ".rodata.__anon_253594" - ".rodata.__anon_253602" - ".rodata.__anon_253610" - ".rodata.__anon_253618" - ".rodata.__anon_253804" - ".rodata.__anon_253840" - ".rodata.__anon_253847" - ".rodata.__anon_253849" - ".rodata.__anon_253854" - ".rodata.__anon_254020" - ".rodata.__anon_254092" - ".rodata.__anon_254351" - ".rodata.__anon_254613" - ".rodata.__anon_254673" - ".rodata.__anon_254707" - ".rodata.__anon_254750" - ".rodata.__anon_254751" - ".rodata.__anon_254752" - ".rodata.__anon_254753" - ".rodata.__anon_254754" - ".rodata.__anon_254755" - ".rodata.__anon_254156" - ".rodata.__anon_256817" - ".rodata.__anon_256821" + ".rodata.__anon_253591" + ".rodata.__anon_253599" + ".rodata.__anon_253603" + ".rodata.__anon_253611" + ".rodata.__anon_253615" + ".rodata.__anon_253623" + ".rodata.__anon_253627" + ".rodata.__anon_253635" + ".rodata.__anon_253643" + ".rodata.__anon_253648" + ".rodata.__anon_253657" + ".rodata.__anon_253666" + ".rodata.__anon_253674" + ".rodata.__anon_253678" + ".rodata.__anon_253686" + ".rodata.__anon_253694" + ".rodata.__anon_253702" + ".rodata.__anon_253711" + ".rodata.__anon_253720" + ".rodata.__anon_253728" + ".rodata.__anon_253736" + ".rodata.__anon_253744" + ".rodata.__anon_253752" + ".rodata.__anon_253760" + ".rodata.__anon_253768" + ".rodata.__anon_253772" + ".rodata.__anon_253781" + ".rodata.__anon_253789" + ".rodata.__anon_253797" + ".rodata.__anon_253805" + ".rodata.__anon_253809" + ".rodata.__anon_253813" + ".rodata.__anon_253821" + ".rodata.__anon_253829" + ".rodata.__anon_253837" + ".rodata.__anon_253845" + ".rodata.__anon_253853" + ".rodata.__anon_253861" + ".rodata.__anon_253869" + ".rodata.__anon_253877" + ".rodata.__anon_253881" + ".rodata.__anon_253889" + ".rodata.__anon_253894" + ".rodata.__anon_253903" + ".rodata.__anon_253911" + ".rodata.__anon_253915" + ".rodata.__anon_253924" + ".rodata.__anon_253928" + ".rodata.__anon_253936" + ".rodata.__anon_253943" + ".rodata.__anon_253952" + ".rodata.__anon_253956" + ".rodata.__anon_253964" + ".rodata.__anon_253972" + ".rodata.__anon_253976" + ".rodata.__anon_253980" + ".rodata.__anon_253987" + ".rodata.__anon_253995" + ".rodata.__anon_254003" + ".rodata.__anon_254007" + ".rodata.__anon_254015" + ".rodata.__anon_254023" + ".rodata.__anon_254031" + ".rodata.__anon_254039" + ".rodata.__anon_254047" + ".rodata.__anon_254055" + ".rodata.__anon_254063" + ".rodata.__anon_254071" + ".rodata.__anon_254079" + ".rodata.__anon_254087" + ".rodata.__anon_254094" + ".rodata.__anon_254102" + ".rodata.__anon_254110" + ".rodata.__anon_254118" + ".rodata.__anon_254126" + ".rodata.__anon_254134" + ".rodata.__anon_254142" + ".rodata.__anon_254149" + ".rodata.__anon_254158" + ".rodata.__anon_254162" + ".rodata.__anon_254170" + ".rodata.__anon_254178" + ".rodata.__anon_254186" + ".rodata.__anon_254190" + ".rodata.__anon_254194" + ".rodata.__anon_254198" + ".rodata.__anon_254202" + ".rodata.__anon_254211" + ".rodata.__anon_254215" + ".rodata.__anon_254224" + ".rodata.__anon_254228" + ".rodata.__anon_254237" + ".rodata.__anon_254245" + ".rodata.__anon_254249" + ".rodata.__anon_254253" + ".rodata.__anon_254261" + ".rodata.__anon_254271" + ".rodata.__anon_254275" + ".rodata.__anon_254283" + ".rodata.__anon_254291" + ".rodata.__anon_254299" + ".rodata.__anon_254309" + ".rodata.__anon_254317" + ".rodata.__anon_254321" + ".rodata.__anon_254329" + ".rodata.__anon_254337" + ".rodata.__anon_254345" + ".rodata.__anon_254353" + ".rodata.__anon_254361" + ".rodata.__anon_254547" + ".rodata.__anon_254583" + ".rodata.__anon_254590" + ".rodata.__anon_254592" + ".rodata.__anon_254597" + ".rodata.__anon_254763" + ".rodata.__anon_254835" + ".rodata.__anon_255094" + ".rodata.__anon_255356" + ".rodata.__anon_255416" + ".rodata.__anon_255450" + ".rodata.__anon_255493" + ".rodata.__anon_255494" + ".rodata.__anon_255495" + ".rodata.__anon_255496" + ".rodata.__anon_255497" + ".rodata.__anon_255498" + ".rodata.__anon_254899" + ".rodata.__anon_257558" + ".rodata.__anon_257562" ".rodata.browser.webapi.selector.Parser.scope_anchor" - ".rodata.__anon_256941" ".rodata.__anon_257682" - ".rodata.__anon_257685" - ".rodata.__anon_256895" - ".rodata.__anon_257695" - ".rodata.__anon_258084" - ".rodata.__anon_258112" - ".rodata.__anon_258120" - ".rodata.__anon_258157" - ".rodata.__anon_258211" - ".rodata.__anon_258222" - ".rodata.__anon_258244" - ".rodata.__anon_258456" - ".rodata.__anon_258476" - ".rodata.__anon_258485" - ".rodata.__anon_258489" - ".rodata.__anon_258759" - ".rodata.__anon_258864" - ".rodata.__anon_258866" - ".rodata.__anon_258867" - ".rodata.__anon_259101" - ".rodata.__anon_259219" - ".rodata.__anon_259227" - ".rodata.__anon_259241" - ".rodata.__anon_259506" - ".rodata.__anon_260931" - ".rodata.__anon_260940" - ".rodata.__anon_260959" - ".rodata.__anon_261213" - ".rodata.__anon_261512" - ".rodata.__anon_261542" - ".rodata.__anon_261704" - ".rodata.__anon_261709" - ".rodata.__anon_261710" - ".rodata.__anon_262143" - ".rodata.__anon_262152" - ".rodata.__anon_262163" - ".rodata.__anon_262471" - ".rodata.__anon_262714" - ".rodata.__anon_262826" - ".rodata.__anon_262539" - ".rodata.__anon_262579" - ".rodata.__anon_263685" - ".rodata.__anon_263749" - ".rodata.__anon_263989" - ".rodata.__anon_265224" - ".rodata.__anon_265267" - ".rodata.__anon_265329" - ".rodata.__anon_266136" - ".rodata.__anon_266210" - ".rodata.__anon_266283" - ".rodata.__anon_266287" - ".rodata.__anon_266744" - ".rodata.__anon_266791" - ".rodata.__anon_266802" - ".rodata.__anon_266957" - ".rodata.__anon_266968" - ".rodata.__anon_267018" - ".rodata.__anon_267072" - ".rodata.__anon_267078" - ".rodata.__anon_267086" - ".rodata.__anon_267438" - ".rodata.__anon_267504" - ".rodata.__anon_267515" - ".rodata.__anon_267520" - ".rodata.__anon_268185" - ".rodata.__anon_268220" - ".rodata.__anon_268369" - ".rodata.__anon_268377" - ".rodata.__anon_268388" - ".rodata.__anon_268465" - ".rodata.__anon_268471" - ".rodata.__anon_268472" - ".rodata.__anon_269046" - ".rodata.__anon_269073" - ".rodata.__anon_269167" - ".rodata.__anon_269175" - ".rodata.__anon_269182" - ".rodata.__anon_269919" - ".rodata.__anon_270308" - ".rodata.__anon_270319" - ".rodata.__anon_270330" - ".rodata.__anon_270254" - ".rodata.__anon_270412" - ".rodata.__anon_270426" - ".rodata.__anon_270479" - ".rodata.__anon_270493" - ".rodata.__anon_274548" - ".rodata.__anon_270622" - ".rodata.__anon_270641" - ".rodata.__anon_270657" - ".rodata.__anon_270676" - ".rodata.__anon_270778" - ".rodata.__anon_270797" - ".rodata.__anon_270818" - ".rodata.__anon_270839" - ".rodata.__anon_270861" - ".rodata.__anon_270882" - ".rodata.__anon_270909" - ".rodata.__anon_270931" - ".rodata.__anon_270958" - ".rodata.__anon_270979" - ".rodata.__anon_271005" - ".rodata.__anon_271079" - ".rodata.__anon_271100" - ".rodata.__anon_271126" - ".rodata.__anon_271148" - ".rodata.__anon_271189" - ".rodata.__anon_271211" - ".rodata.__anon_271233" - ".rodata.__anon_271290" - ".rodata.__anon_271333" - ".rodata.__anon_271504" + ".rodata.__anon_258423" + ".rodata.__anon_258426" + ".rodata.__anon_257636" + ".rodata.__anon_258436" + ".rodata.__anon_258825" + ".rodata.__anon_258853" + ".rodata.__anon_258861" + ".rodata.__anon_258898" + ".rodata.__anon_258952" + ".rodata.__anon_258963" + ".rodata.__anon_258985" + ".rodata.__anon_259197" + ".rodata.__anon_259217" + ".rodata.__anon_259226" + ".rodata.__anon_259230" + ".rodata.__anon_271152" + ".rodata.__anon_271166" + ".rodata.__anon_275221" + ".rodata.__anon_271295" + ".rodata.__anon_271314" + ".rodata.__anon_271330" + ".rodata.__anon_271349" + ".rodata.__anon_271451" + ".rodata.__anon_271470" + ".rodata.__anon_271491" + ".rodata.__anon_271512" ".rodata.__anon_271534" - ".rodata.__anon_271584" - ".rodata.__anon_271639" - ".rodata.__anon_271683" - ".rodata.__anon_271711" - ".rodata.__anon_271733" - ".rodata.__anon_271759" - ".rodata.__anon_271876" - ".rodata.__anon_271898" - ".rodata.__anon_271920" - ".rodata.__anon_271960" - ".rodata.__anon_271984" - ".rodata.__anon_272035" - ".rodata.__anon_272059" - ".rodata.__anon_272088" - ".rodata.__anon_272122" - ".rodata.__anon_272155" - ".rodata.__anon_272189" - ".rodata.__anon_272238" - ".rodata.__anon_272266" - ".rodata.__anon_270549" - ".rodata.__anon_270405" - ".rodata.__anon_280731" - ".rodata.__anon_281651" - ".rodata.__anon_281745" - ".rodata.__anon_282207" - ".rodata.__anon_282327" - ".rodata.__anon_282692" - ".rodata.__anon_282591" - ".rodata.__anon_137680" - ".rodata.__anon_284189" - ".rodata.__anon_284320" - ".rodata.__anon_284992" - ".rodata.__anon_285317" - ".rodata.__anon_285340" - ".rodata.__anon_285487" - ".rodata.__anon_285503" - ".rodata.__anon_285598" - ".rodata.__anon_286232" - ".rodata.__anon_287338" - ".rodata.__anon_137699" - ".rodata.compress.flate.token.fixed_lit_codes" - ".rodata.compress.flate.token.fixed_lit_bits" - ".rodata.compress.flate.token.fixed_dist_codes" - ".rodata.compress.flate.token.fixed_dist_bits" - ".rodata.__anon_291932" - ".rodata.__anon_292132" - ".rodata.__anon_293416" + ".rodata.__anon_271555" + ".rodata.__anon_271582" + ".rodata.__anon_271604" + ".rodata.__anon_271631" + ".rodata.__anon_271652" + ".rodata.__anon_271678" + ".rodata.__anon_271752" + ".rodata.__anon_271773" + ".rodata.__anon_271799" + ".rodata.__anon_271821" + ".rodata.__anon_271862" + ".rodata.__anon_271884" + ".rodata.__anon_271906" + ".rodata.__anon_271963" + ".rodata.__anon_272006" + ".rodata.__anon_272177" + ".rodata.__anon_272207" + ".rodata.__anon_272257" + ".rodata.__anon_272312" + ".rodata.__anon_272356" + ".rodata.__anon_272384" + ".rodata.__anon_272406" + ".rodata.__anon_272432" + ".rodata.__anon_272549" + ".rodata.__anon_272571" + ".rodata.__anon_272593" + ".rodata.__anon_272633" + ".rodata.__anon_272657" + ".rodata.__anon_272708" + ".rodata.__anon_272732" + ".rodata.__anon_272761" + ".rodata.__anon_272795" + ".rodata.__anon_272828" + ".rodata.__anon_272862" + ".rodata.__anon_272911" + ".rodata.__anon_272939" + ".rodata.__anon_271222" + ".rodata.__anon_271078" + ".rodata.__anon_281404" + ".rodata.__anon_282325" + ".rodata.__anon_282419" + ".rodata.__anon_282881" + ".rodata.__anon_283001" + ".rodata.__anon_283366" + ".rodata.__anon_283265" + ".rodata.__anon_138633" + ".rodata.__anon_284863" + ".rodata.__anon_284994" + ".rodata.__anon_285666" + ".rodata.__anon_285991" + ".rodata.__anon_286014" + ".rodata.__anon_286161" + ".rodata.__anon_286177" + ".rodata.__anon_286272" + ".rodata.__anon_286906" + ".rodata.__anon_288012" + ".rodata.__anon_138652" + ".rodata.__anon_294090" ".rodata.compress.flate.token.codegen_order" - ".rodata.__anon_293607" - ".rodata.__anon_293611" - ".rodata.__anon_293632" - ".rodata.__anon_293658" - ".rodata.__anon_293669" - ".rodata.__anon_293738" - ".rodata.__anon_293816" - ".rodata.__anon_293899" - ".rodata.__anon_293971" - ".rodata.__anon_293985" - ".rodata.__anon_294024" - ".rodata.__anon_294080" - ".rodata.__anon_294155" - ".rodata.__anon_294170" - ".rodata.__anon_294261" - ".rodata.__anon_295250" - ".rodata.__anon_296906" - ".rodata.__anon_296987" - ".rodata.__anon_297252" - ".rodata.__anon_297727" - ".rodata.__anon_299645" - ".rodata.__anon_299711" - ".rodata.__anon_300024" - ".rodata.__anon_301394" - ".rodata.__anon_301426" - ".rodata.__anon_301461" - ".rodata.__anon_301478" - ".rodata.__anon_301490" - ".rodata.__anon_301653" - ".rodata.__anon_301861" - ".rodata.__anon_301884" - ".rodata.__anon_301901" - ".rodata.__anon_301913" - ".rodata.__anon_301926" - ".rodata.__anon_301953" - ".rodata.__anon_301969" - ".rodata.__anon_302413" - ".rodata.__anon_302640" - ".rodata.__anon_303232" - ".rodata.__anon_303347" - ".rodata.__anon_303428" - ".rodata.__anon_304431" - ".rodata.__anon_304573" - ".rodata.__anon_307084" - ".rodata.__anon_308095" - ".rodata.__anon_308232" - ".rodata.__anon_309650" - ".rodata.__anon_310321" - ".rodata.__anon_310323" - ".rodata.__anon_310332" - ".rodata.__anon_310335" - ".rodata.__anon_310341" - ".rodata.__anon_310362" - ".rodata.__anon_310453" - ".rodata.__anon_310808" - ".rodata.__anon_311089" - ".rodata.__anon_311476" - ".rodata.__anon_312728" - ".rodata.__anon_314507" - ".rodata.__anon_314580" - ".rodata.__anon_314816" - ".rodata.__anon_315192" - ".rodata.__anon_315353" - ".rodata.__anon_315804" - ".rodata.__anon_315812" - ".rodata.__anon_315895" - ".rodata.__anon_316264" - ".rodata.__anon_316411" - ".rodata.__anon_316826" - ".rodata.__anon_316930" - ".rodata.__anon_317112" - ".rodata.__anon_317124" - ".rodata.__anon_318537" - ".rodata.__anon_318541" - ".rodata.__anon_319044" - ".rodata.__anon_319056" - ".rodata.__anon_319536" - ".rodata.__anon_319551" - ".rodata.__anon_319549" - ".rodata.__anon_319812" - ".rodata.__anon_320669" - ".rodata.__anon_321094" - ".rodata.__anon_321312" - ".rodata.__anon_322798" - ".rodata.__anon_322843" - ".rodata.__anon_323054" - ".rodata.__anon_323180" - ".rodata.__anon_323823" - ".rodata.__anon_323887" - ".rodata.__anon_325024" - ".rodata.__anon_325028" - ".rodata.__anon_325029" - ".rodata.__anon_325533" - ".rodata.__anon_327567" - ".rodata.__anon_328227" - ".rodata.__anon_328249" - ".rodata.__anon_328255" - ".rodata.__anon_328258" - ".rodata.__anon_328895" - ".rodata.__anon_330521" - ".rodata.__anon_333688" - ".rodata.__anon_333743" - ".rodata.__anon_333884" - ".rodata.__anon_333905" - ".rodata.__anon_334113" - ".rodata.__anon_138347" - ".rodata.__anon_334430" - ".rodata.__anon_334821" - ".rodata.__anon_336151" - ".rodata.__anon_336355" - ".rodata.__anon_336661" - ".rodata.__anon_336704" - ".rodata.__anon_336942" - ".rodata.__anon_336950" - ".rodata.__anon_336958" - ".rodata.__anon_337246" - ".rodata.__anon_337522" - ".rodata.__anon_337789" - ".rodata.__anon_337830" - ".rodata.__anon_338084" - ".rodata.__anon_338115" - ".rodata.__anon_338670" - ".rodata.__anon_338806" - ".rodata.__anon_339028" - ".rodata.__anon_339448" - ".rodata.__anon_339450" - ".rodata.__anon_339444" - ".rodata.__anon_339729" - ".rodata.__anon_339833" - ".rodata.__anon_340558" - ".rodata.__anon_340589" - ".rodata.__anon_341265" - ".rodata.__anon_342080" - ".rodata.__anon_342083" - ".rodata.__anon_343004" - ".rodata.__anon_343137" - ".rodata.__anon_343594" - ".rodata.__anon_345251" - ".rodata.__anon_345250" - ".rodata.__anon_150161" - ".rodata.__anon_347235" - ".rodata.__anon_479747" - ".rodata.__anon_480177" - ".rodata.__anon_480208" - ".rodata.__anon_150111" - ".rodata.__anon_150106" - ".rodata.__anon_150101" - ".rodata.__anon_481250" - ".rodata.__anon_481268" - ".rodata.__anon_481333" - ".rodata.__anon_481366" - ".rodata.__anon_481402" - ".rodata.__anon_481472" - ".rodata.__anon_481493" - ".rodata.__anon_481558" - ".rodata.__anon_481595" - ".rodata.__anon_481842" - ".rodata.__anon_481928" - ".rodata.__anon_482067" - ".rodata.__anon_482323" - ".rodata.__anon_482429" - ".rodata.__anon_482850" - ".rodata.__anon_482861" - ".rodata.__anon_482872" - ".rodata.__anon_482815" - ".rodata.__anon_482979" - ".rodata.__anon_483632" - ".rodata.__anon_483901" - ".rodata.__anon_484121" - ".rodata.__anon_484353" - ".rodata.__anon_485950" - ".rodata.__anon_89760" - ".rodata.__anon_150121" - ".rodata.__anon_150126" - ".rodata.__anon_150131" - ".rodata.__anon_150116" - ".rodata.__anon_150071" - ".rodata.__anon_150076" - ".rodata.__anon_150046" - ".rodata.__anon_227116" - ".rodata.__anon_150034" - ".rodata.__anon_487559" - ".rodata.__anon_320783" - ".rodata.__anon_211497" - ".rodata.__anon_211494" - ".rodata.__anon_211504" - ".rodata.__anon_211514" - ".rodata.__anon_487985" - ".rodata.__anon_150171" - ".rodata.__anon_489252" - ".rodata.__anon_150066" - ".rodata.__anon_490435" - ".rodata.__anon_490445" - ".rodata.__anon_490446" - ".rodata.__anon_490454" - ".rodata.__anon_490632" - ".rodata.__anon_150166" - ".rodata.__anon_490991" - ".rodata.__anon_491151" - ".rodata.__anon_491152" - ".rodata.__anon_150091" - ".rodata.__anon_150086" - ".rodata.__anon_492088" - ".rodata.__anon_150056" - ".rodata.__anon_150051" - ".rodata.__anon_492413" - ".rodata.__anon_492976" - ".rodata.__anon_493457" - ".rodata.__anon_150041" - ".rodata.__anon_493849" - ".rodata.__anon_494447" - ".rodata.__anon_494469" - ".rodata.__anon_494491" - ".rodata.__anon_148805" - ".rodata.__anon_148234" - ".rodata.__anon_494632" - ".rodata.__anon_494796" - ".rodata.__anon_494888" - ".rodata.__anon_494892" - ".rodata.__anon_494894" - ".rodata.__anon_494929" - ".rodata.__anon_495038" - ".rodata.__anon_495095" - ".rodata.__anon_495120" - ".rodata.__anon_495138" - ".rodata.__anon_495168" - ".rodata.__anon_177815" - ".rodata.__anon_495472" - ".rodata.__anon_495484" - ".rodata.__anon_495825" - ".rodata.__anon_495846" - ".rodata.__anon_496106" - ".rodata.__anon_496192" - ".rodata.__anon_496214" - ".rodata.__anon_496277" - ".rodata.__anon_496292" - ".rodata.__anon_496316" - ".rodata.__anon_496377" - ".rodata.__anon_496406" - ".rodata.__anon_496586" - ".rodata.__anon_496607" - ".rodata.__anon_496622" - ".rodata.__anon_494459" - ".rodata.__anon_496729" - ".rodata.__anon_496730" - ".rodata.__anon_496812" - ".rodata.__anon_496977" - ".rodata.__anon_497001" - ".rodata.__anon_497100" - ".rodata.__anon_497267" - ".rodata.__anon_497295" - ".rodata.__anon_497547" - ".rodata.__anon_497561" - ".rodata.__anon_497722" - ".rodata.__anon_498050" - ".rodata.__anon_498177" - ".rodata.__anon_498426" - ".rodata.__anon_498452" - ".rodata.__anon_498490" - ".rodata.__anon_498511" - ".rodata.__anon_498567" - ".rodata.__anon_498682" - ".rodata.__anon_499594" - ".rodata.__anon_499691" - ".rodata.__anon_500044" - ".rodata.__anon_500632" - ".rodata.__anon_500664" - ".rodata.__anon_500743" - ".rodata.__anon_500777" - ".rodata.__anon_501038" - ".rodata.__anon_501147" - ".rodata.__anon_501212" - ".rodata.__anon_501232" - ".rodata.__anon_502218" - ".rodata.__anon_502243" - ".rodata.__anon_502345" - ".rodata.__anon_502363" - ".rodata.__anon_502830" - ".rodata.__anon_503426" - ".rodata.__anon_503430" - ".rodata.__anon_503442" - ".rodata.__anon_503458" - ".rodata.__anon_517885" - ".rodata.__anon_517886" - ".rodata.__anon_517887" + ".rodata.__anon_294281" + ".rodata.__anon_294285" + ".rodata.__anon_294306" + ".rodata.__anon_294332" + ".rodata.__anon_294343" + ".rodata.__anon_294412" + ".rodata.__anon_294490" + ".rodata.__anon_294573" + ".rodata.__anon_294645" + ".rodata.__anon_294659" + ".rodata.__anon_294698" + ".rodata.__anon_294754" + ".rodata.__anon_294829" + ".rodata.__anon_294844" + ".rodata.__anon_294935" + ".rodata.__anon_295924" + ".rodata.__anon_297580" + ".rodata.__anon_297661" + ".rodata.__anon_297926" + ".rodata.__anon_298401" + ".rodata.__anon_300319" + ".rodata.__anon_300385" + ".rodata.__anon_300698" + ".rodata.__anon_302068" + ".rodata.__anon_302100" + ".rodata.__anon_302135" + ".rodata.__anon_302152" + ".rodata.__anon_302164" + ".rodata.__anon_302327" + ".rodata.__anon_302535" + ".rodata.__anon_302558" + ".rodata.__anon_302575" + ".rodata.__anon_302587" + ".rodata.__anon_302600" + ".rodata.__anon_302627" + ".rodata.__anon_302643" + ".rodata.__anon_303087" + ".rodata.__anon_303314" + ".rodata.__anon_303516" + ".rodata.__anon_303991" + ".rodata.__anon_304124" + ".rodata.__anon_304205" + ".rodata.__anon_305208" + ".rodata.__anon_305350" + ".rodata.__anon_307861" + ".rodata.__anon_308872" + ".rodata.__anon_309009" + ".rodata.__anon_310427" + ".rodata.__anon_311098" + ".rodata.__anon_311100" + ".rodata.__anon_311109" + ".rodata.__anon_311112" + ".rodata.__anon_311118" + ".rodata.__anon_311139" + ".rodata.__anon_311230" + ".rodata.__anon_311585" + ".rodata.__anon_311866" + ".rodata.__anon_312253" + ".rodata.__anon_313510" + ".rodata.__anon_315289" + ".rodata.__anon_315362" + ".rodata.__anon_315598" + ".rodata.__anon_315974" + ".rodata.__anon_316135" + ".rodata.__anon_316586" + ".rodata.__anon_316594" + ".rodata.__anon_316677" + ".rodata.__anon_317046" + ".rodata.__anon_317193" + ".rodata.__anon_317608" + ".rodata.__anon_317712" + ".rodata.__anon_317894" + ".rodata.__anon_317906" + ".rodata.__anon_319319" + ".rodata.__anon_319323" + ".rodata.__anon_319826" + ".rodata.__anon_319838" + ".rodata.__anon_320318" + ".rodata.__anon_320333" + ".rodata.__anon_320331" + ".rodata.__anon_320594" + ".rodata.__anon_321451" + ".rodata.__anon_321876" + ".rodata.__anon_322094" + ".rodata.__anon_323580" + ".rodata.__anon_323625" + ".rodata.__anon_323836" + ".rodata.__anon_323962" + ".rodata.__anon_324605" + ".rodata.__anon_324669" + ".rodata.__anon_325806" + ".rodata.__anon_325810" + ".rodata.__anon_325811" + ".rodata.__anon_326315" + ".rodata.__anon_328349" + ".rodata.__anon_329009" + ".rodata.__anon_329031" + ".rodata.__anon_329037" + ".rodata.__anon_329040" + ".rodata.__anon_329677" + ".rodata.__anon_331303" + ".rodata.__anon_334470" + ".rodata.__anon_334525" + ".rodata.__anon_334666" + ".rodata.__anon_334687" + ".rodata.__anon_139300" + ".rodata.__anon_335212" + ".rodata.__anon_335603" + ".rodata.__anon_336933" + ".rodata.__anon_337137" + ".rodata.__anon_337443" + ".rodata.__anon_337486" + ".rodata.__anon_337724" + ".rodata.__anon_337732" + ".rodata.__anon_337740" + ".rodata.__anon_338028" + ".rodata.__anon_338310" + ".rodata.__anon_338577" + ".rodata.__anon_338618" + ".rodata.__anon_338872" + ".rodata.__anon_338903" + ".rodata.__anon_339458" + ".rodata.__anon_339594" + ".rodata.__anon_339816" + ".rodata.__anon_340236" + ".rodata.__anon_340238" + ".rodata.__anon_340232" + ".rodata.__anon_340517" + ".rodata.__anon_340621" + ".rodata.__anon_341346" + ".rodata.__anon_341377" + ".rodata.__anon_342053" + ".rodata.__anon_342868" + ".rodata.__anon_342871" + ".rodata.__anon_343792" + ".rodata.__anon_343925" + ".rodata.__anon_344382" + ".rodata.__anon_346039" + ".rodata.__anon_346038" + ".rodata.__anon_151112" + ".rodata.__anon_348015" + ".rodata.__anon_480524" + ".rodata.__anon_480954" + ".rodata.__anon_480985" + ".rodata.__anon_151062" + ".rodata.__anon_151057" + ".rodata.__anon_151052" + ".rodata.__anon_482027" + ".rodata.__anon_482045" + ".rodata.__anon_482110" + ".rodata.__anon_482143" + ".rodata.__anon_482179" + ".rodata.__anon_482249" + ".rodata.__anon_482270" + ".rodata.__anon_482335" + ".rodata.__anon_482372" + ".rodata.__anon_482619" + ".rodata.__anon_482844" + ".rodata.__anon_483100" + ".rodata.__anon_483206" + ".rodata.__anon_483627" + ".rodata.__anon_483638" + ".rodata.__anon_483649" + ".rodata.__anon_483592" + ".rodata.__anon_483756" + ".rodata.__anon_484409" + ".rodata.__anon_484678" + ".rodata.__anon_484897" + ".rodata.__anon_485129" + ".rodata.__anon_486723" + ".rodata.__anon_90591" + ".rodata.__anon_151072" + ".rodata.__anon_151077" + ".rodata.__anon_151082" + ".rodata.__anon_151067" + ".rodata.__anon_151022" + ".rodata.__anon_151027" + ".rodata.__anon_150997" + ".rodata.__anon_227847" + ".rodata.__anon_150985" + ".rodata.__anon_488332" + ".rodata.__anon_321565" + ".rodata.__anon_212228" + ".rodata.__anon_212225" + ".rodata.__anon_212235" + ".rodata.__anon_212245" + ".rodata.__anon_488758" + ".rodata.__anon_151122" + ".rodata.__anon_490025" + ".rodata.__anon_151017" + ".rodata.__anon_491208" + ".rodata.__anon_491218" + ".rodata.__anon_491219" + ".rodata.__anon_491227" + ".rodata.__anon_491405" + ".rodata.__anon_151117" + ".rodata.__anon_491764" + ".rodata.__anon_491924" + ".rodata.__anon_491925" + ".rodata.__anon_151042" + ".rodata.__anon_151037" + ".rodata.__anon_492861" + ".rodata.__anon_151007" + ".rodata.__anon_151002" + ".rodata.__anon_493186" + ".rodata.__anon_493749" + ".rodata.__anon_494230" + ".rodata.__anon_150992" + ".rodata.__anon_494622" + ".rodata.__anon_495220" + ".rodata.__anon_495242" + ".rodata.__anon_495264" + ".rodata.__anon_149756" + ".rodata.__anon_149185" + ".rodata.__anon_495405" + ".rodata.__anon_495569" + ".rodata.__anon_495661" + ".rodata.__anon_495665" + ".rodata.__anon_495667" + ".rodata.__anon_495702" + ".rodata.__anon_495811" + ".rodata.__anon_495868" + ".rodata.__anon_518659" + ".rodata.__anon_518660" ".rodata.crypto.aes.soft.sbox_key_schedule" - ".rodata.__anon_521883" - ".rodata.__anon_521899" - ".rodata.__anon_521952" - ".rodata.__anon_521975" - ".rodata.__anon_522003" - ".rodata.__anon_522088" - ".rodata.__anon_900652" - ".rodata.__anon_900661" - ".rodata.__anon_900732" - ".rodata.__anon_900772" - ".rodata.__anon_900798" - ".rodata.__anon_900847" - ".rodata.__anon_900869" - ".rodata.__anon_900906" - ".rodata.__anon_904635" - ".rodata.__anon_905299" - ".rodata.__anon_905449" - ".rodata.__anon_905479" - ".rodata.__anon_905869" - ".rodata.__anon_906365" - ".rodata.__anon_907524" - ".rodata.__anon_907624" - ".rodata.__anon_907630" - ".rodata.__anon_907776" - ".rodata.__anon_907787" - ".rodata.__anon_907796" - ".rodata.__anon_907814" - ".rodata.__anon_907884" - ".rodata.__anon_907888" - ".rodata.__anon_907942" - ".rodata.__anon_908010" - ".rodata.__anon_908571" - ".rodata.__anon_908576" - ".rodata.__anon_908605" - ".rodata.__anon_912114" - ".rodata.__anon_912338" - ".rodata.__anon_912434" - ".rodata.__anon_912488" - ".rodata.__anon_912597" - ".rodata.__anon_912637" - ".rodata.__anon_912648" - ".rodata.__anon_912726" - ".rodata.__anon_912852" - ".rodata.__anon_912920" - ".rodata.__anon_912997" - ".rodata.__anon_913084" - ".rodata.__anon_913116" - ".rodata.__anon_913126" - ".rodata.__anon_913175" - ".rodata.__anon_913263" - ".rodata.__anon_913274" - ".rodata.__anon_913398" - ".rodata.__anon_913496" - ".rodata.__anon_913578" - ".rodata.__anon_913602" - ".rodata.__anon_913613" - ".rodata.__anon_913636" - ".rodata.__anon_913687" - ".rodata.__anon_913863" - ".rodata.__anon_913980" - ".rodata.__anon_914020" - ".rodata.__anon_914136" - ".rodata.__anon_914175" - ".rodata.__anon_914296" - ".rodata.__anon_914413" - ".rodata.__anon_914487" - ".rodata.__anon_914611" - ".rodata.__anon_914650" - ".rodata.__anon_914691" - ".rodata.__anon_914750" - ".rodata.__anon_914799" - ".rodata.__anon_914851" - ".rodata.__anon_914904" - ".rodata.__anon_915039" - ".rodata.__anon_915141" - ".rodata.__anon_915241" - ".rodata.__anon_915304" - ".rodata.__anon_915700" - ".rodata.__anon_915762" - ".rodata.__anon_915821" - ".rodata.__anon_915893" - ".rodata.__anon_916036" - ".rodata.__anon_916052" - ".rodata.__anon_916164" - ".rodata.__anon_916310" - ".rodata.__anon_916334" - ".rodata.__anon_916664" - ".rodata.__anon_916885" - ".rodata.__anon_917010" - ".rodata.__anon_917134" - ".rodata.__anon_917453" - ".rodata.__anon_917598" - ".rodata.__anon_917732" - ".rodata.__anon_917823" - ".rodata.__anon_917918" - ".rodata.__anon_917979" - ".rodata.__anon_918090" - ".rodata.__anon_918151" - ".rodata.__anon_918239" - ".rodata.__anon_918285" - ".rodata.__anon_918323" - ".rodata.__anon_918425" - ".rodata.__anon_918463" - ".rodata.__anon_918483" - ".rodata.__anon_918590" - ".rodata.__anon_918658" - ".rodata.__anon_918830" - ".rodata.__anon_918869" - ".rodata.__anon_918908" - ".rodata.__anon_918985" - ".rodata.__anon_919008" - ".rodata.__anon_919026" - ".rodata.__anon_919267" - ".rodata.__anon_919345" - ".rodata.__anon_919495" - ".rodata.__anon_919637" - ".rodata.__anon_919799" - ".rodata.__anon_919832" - ".rodata.__anon_919936" - ".rodata.__anon_920004" - ".rodata.__anon_920124" - ".rodata.__anon_920322" - ".rodata.__anon_147503" - ".rodata.__anon_921464" - ".rodata.__anon_921530" - ".rodata.__anon_925481" - ".rodata.__anon_926291" - ".rodata.__anon_927079" - ".rodata.__anon_927085" - ".rodata.__anon_947046" - ".rodata.__anon_947671" - ".rodata.__anon_947528" - ".rodata.__anon_948949" - ".rodata.__anon_949157" - ".rodata.__anon_949186" - ".rodata.__anon_950411" - ".rodata.__anon_950412" - ".rodata.__anon_950415" - ".rodata.__anon_950464" - ".rodata.__anon_950474" - ".rodata.__anon_950942" - ".rodata.__anon_951334" - ".rodata.__anon_951692" - ".rodata.__anon_951976" - ".rodata.__anon_951979" - ".rodata.__anon_952334" - ".rodata.__anon_857760" - ".rodata.__anon_953666" - ".rodata.__anon_953646" - ".rodata.__anon_956952" - ".rodata.__anon_957158" - ".rodata.__anon_957159" - ".rodata.__anon_957160" - ".rodata.__anon_957162" - ".rodata.__anon_957206" - ".rodata.__anon_957213" - ".rodata.__anon_957229" - ".rodata.__anon_958500" - ".rodata.__anon_961684" - ".rodata.__anon_961699" - ".rodata.__anon_961771" - ".rodata.__anon_961786" - ".rodata.__anon_961787" - ".rodata.__anon_962216" - ".rodata.__anon_962387" - ".rodata.__anon_962417" - ".rodata.__anon_962480" - ".rodata.__anon_962511" - ".rodata.__anon_962523" - ".rodata.__anon_962550" - ".rodata.__anon_962560" - ".rodata.__anon_962569" - ".rodata.__anon_962574" - ".rodata.__anon_962583" - ".rodata.__anon_963034" - ".rodata.__anon_963432" - ".rodata.__anon_963558" - ".rodata.__anon_963587" - ".rodata.__anon_955948" - ".rodata.__anon_963881" - ".rodata.__anon_963907" - ".rodata.__anon_964093" - ".rodata.__anon_970561" - ".rodata.__anon_970616" - ".rodata.__anon_970694" - ".rodata.__anon_970768" - ".rodata.__anon_970832" - ".rodata.__anon_970902" - ".rodata.__anon_970965" - ".rodata.__anon_971035" - ".rodata.__anon_971098" - ".rodata.__anon_971166" - ".rodata.__anon_971225" - ".rodata.__anon_971285" - ".rodata.__anon_971349" - ".rodata.__anon_971389" - ".rodata.__anon_971453" - ".rodata.__anon_971514" - ".rodata.__anon_971583" - ".rodata.__anon_971644" - ".rodata.__anon_971705" - ".rodata.__anon_971766" - ".rodata.__anon_971849" - ".rodata.__anon_971891" - ".rodata.__anon_972006" - ".rodata.__anon_972075" - ".rodata.__anon_972143" - ".rodata.__anon_972211" - ".rodata.__anon_972279" - ".rodata.__anon_972346" - ".rodata.__anon_972413" - ".rodata.__anon_972480" - ".rodata.__anon_972546" - ".rodata.__anon_972612" - ".rodata.__anon_972683" - ".rodata.__anon_972724" - ".rodata.__anon_972838" - ".rodata.__anon_972909" - ".rodata.__anon_972980" - ".rodata.__anon_973050" - ".rodata.__anon_973120" - ".rodata.__anon_973190" - ".rodata.__anon_973259" - ".rodata.__anon_973328" - ".rodata.__anon_973391" - ".rodata.__anon_973424" - ".rodata.__anon_973459" - ".rodata.__anon_973519" - ".rodata.__anon_973578" - ".rodata.__anon_973637" - ".rodata.__anon_973696" - ".rodata.__anon_973754" - ".rodata.__anon_973812" - ".rodata.__anon_973870" - ".rodata.__anon_973927" - ".rodata.__anon_973985" - ".rodata.__anon_974042" - ".rodata.__anon_974134" - ".rodata.__anon_974202" - ".rodata.__anon_974315" - ".rodata.__anon_974379" - ".rodata.__anon_974446" - ".rodata.__anon_974506" - ".rodata.__anon_974568" - ".rodata.__anon_974624" - ".rodata.__anon_974684" - ".rodata.__anon_974744" - ".rodata.__anon_974811" - ".rodata.__anon_974869" - ".rodata.__anon_974927" - ".rodata.__anon_974985" - ".rodata.__anon_975048" - ".rodata.__anon_975106" - ".rodata.__anon_975175" - ".rodata.__anon_975210" - ".rodata.__anon_975247" - ".rodata.__anon_975314" - ".rodata.__anon_975381" - ".rodata.__anon_975448" - ".rodata.__anon_975514" - ".rodata.__anon_975580" - ".rodata.__anon_975646" - ".rodata.__anon_975711" - ".rodata.__anon_975775" - ".rodata.__anon_975812" - ".rodata.__anon_975870" - ".rodata.__anon_975925" - ".rodata.__anon_975978" - ".rodata.__anon_976015" - ".rodata.__anon_976073" - ".rodata.__anon_976128" - ".rodata.__anon_976182" - ".rodata.__anon_976235" - ".rodata.__anon_976299" - ".rodata.__anon_976413" - ".rodata.__anon_976467" - ".rodata.__anon_976525" - ".rodata.__anon_976580" - ".rodata.__anon_976634" - ".rodata.__anon_976687" - ".rodata.__anon_976748" - ".rodata.__anon_976810" - ".rodata.__anon_976846" - ".rodata.__anon_976881" + ".rodata.__anon_522656" + ".rodata.__anon_522672" + ".rodata.__anon_522725" + ".rodata.__anon_522748" + ".rodata.__anon_522776" + ".rodata.__anon_522861" + ".rodata.__anon_522859" + ".rodata.__anon_901544" + ".rodata.__anon_901570" + ".rodata.__anon_901619" + ".rodata.__anon_901641" + ".rodata.__anon_901678" + ".rodata.__anon_905407" + ".rodata.__anon_906071" + ".rodata.__anon_906221" + ".rodata.__anon_906251" + ".rodata.__anon_906641" + ".rodata.__anon_907137" + ".rodata.__anon_908296" + ".rodata.__anon_908396" + ".rodata.__anon_908402" + ".rodata.__anon_908548" + ".rodata.__anon_908559" + ".rodata.__anon_908568" + ".rodata.__anon_908586" + ".rodata.__anon_908656" + ".rodata.__anon_908660" + ".rodata.__anon_908714" + ".rodata.__anon_908782" + ".rodata.__anon_909343" + ".rodata.__anon_909348" + ".rodata.__anon_909377" + ".rodata.__anon_909567" + ".rodata.__anon_910286" + ".rodata.__anon_910291" + ".rodata.__anon_914268" + ".rodata.__anon_914350" + ".rodata.__anon_914374" + ".rodata.__anon_914385" + ".rodata.__anon_914408" + ".rodata.__anon_914459" + ".rodata.__anon_914635" + ".rodata.__anon_914752" + ".rodata.__anon_914792" + ".rodata.__anon_914908" + ".rodata.__anon_914947" + ".rodata.__anon_915068" + ".rodata.__anon_915185" + ".rodata.__anon_915259" + ".rodata.__anon_915383" + ".rodata.__anon_915422" + ".rodata.__anon_915463" + ".rodata.__anon_915522" + ".rodata.__anon_915571" + ".rodata.__anon_915623" + ".rodata.__anon_915676" + ".rodata.__anon_915811" + ".rodata.__anon_915913" + ".rodata.__anon_916013" + ".rodata.__anon_916076" + ".rodata.__anon_916472" + ".rodata.__anon_916534" + ".rodata.__anon_916593" + ".rodata.__anon_916665" + ".rodata.__anon_916808" + ".rodata.__anon_916824" + ".rodata.__anon_916936" + ".rodata.__anon_917082" + ".rodata.__anon_917106" + ".rodata.__anon_917436" + ".rodata.__anon_917657" + ".rodata.__anon_917782" + ".rodata.__anon_917906" + ".rodata.__anon_918225" + ".rodata.__anon_918370" + ".rodata.__anon_918504" + ".rodata.__anon_918595" + ".rodata.__anon_918690" + ".rodata.__anon_918751" + ".rodata.__anon_918862" + ".rodata.__anon_918923" + ".rodata.__anon_919011" + ".rodata.__anon_919057" + ".rodata.__anon_919095" + ".rodata.__anon_919197" + ".rodata.__anon_919235" + ".rodata.__anon_919255" + ".rodata.__anon_919362" + ".rodata.__anon_919430" + ".rodata.__anon_919602" + ".rodata.__anon_919641" + ".rodata.__anon_919680" + ".rodata.__anon_919757" + ".rodata.__anon_919780" + ".rodata.__anon_919798" + ".rodata.__anon_920039" + ".rodata.__anon_920117" + ".rodata.__anon_920267" + ".rodata.__anon_920409" + ".rodata.__anon_920571" + ".rodata.__anon_920604" + ".rodata.__anon_920708" + ".rodata.__anon_920776" + ".rodata.__anon_920896" + ".rodata.__anon_921094" + ".rodata.__anon_148454" + ".rodata.__anon_922236" + ".rodata.__anon_922302" + ".rodata.__anon_926253" + ".rodata.__anon_927063" + ".rodata.__anon_927851" + ".rodata.__anon_927857" + ".rodata.__anon_932295" + ".rodata.__anon_932521" + ".rodata.__anon_932637" + ".rodata.__anon_932725" + ".rodata.__anon_932753" + ".rodata.__anon_932978" + ".rodata.__anon_932986" + ".rodata.__anon_933005" + ".rodata.__anon_933961" + ".rodata.__anon_934247" + ".rodata.__anon_934284" + ".rodata.__anon_934486" + ".rodata.__anon_934519" + ".rodata.__anon_934867" + ".rodata.__anon_934915" + ".rodata.__anon_934958" + ".rodata.__anon_935000" + ".rodata.__anon_935055" + ".rodata.__anon_935096" + ".rodata.__anon_935137" + ".rodata.__anon_935484" + ".rodata.__anon_935485" + ".rodata.__anon_935487" + ".rodata.__anon_935489" + ".rodata.__anon_935491" + ".rodata.__anon_935495" + ".rodata.__anon_936139" + ".rodata.__anon_934957" + ".rodata.__anon_936210" + ".rodata.__anon_936263" + ".rodata.__anon_936313" + ".rodata.__anon_936363" + ".rodata.__anon_936388" + ".rodata.__anon_936444" + ".rodata.__anon_936470" + ".rodata.__anon_936512" + ".rodata.__anon_936561" + ".rodata.__anon_936605" + ".rodata.__anon_936669" + ".rodata.__anon_936721" + ".rodata.__anon_936768" + ".rodata.__anon_936853" + ".rodata.__anon_936894" + ".rodata.__anon_936948" + ".rodata.__anon_937003" + ".rodata.__anon_937052" + ".rodata.__anon_937169" + ".rodata.__anon_937217" + ".rodata.__anon_937257" + ".rodata.__anon_937311" + ".rodata.__anon_937367" + ".rodata.__anon_937409" + ".rodata.__anon_937485" + ".rodata.__anon_937582" + ".rodata.__anon_937633" + ".rodata.__anon_937670" + ".rodata.__anon_939003" + ".rodata.__anon_939692" + ".rodata.__anon_939727" + ".rodata.__anon_939833" + ".rodata.__anon_939891" + ".rodata.__anon_940004" + ".rodata.__anon_940092" + ".rodata.__anon_941623" + ".rodata.__anon_941626" + ".rodata.__anon_941826" + ".rodata.__anon_941830" + ".rodata.__anon_942314" + ".rodata.__anon_942324" + ".rodata.__anon_944156" + ".rodata.__anon_944406" + ".rodata.__anon_945160" + ".rodata.__anon_945161" + ".rodata.__anon_945162" + ".rodata.__anon_945163" + ".rodata.__anon_945164" + ".rodata.__anon_945165" + ".rodata.__anon_945166" + ".rodata.__anon_945167" + ".rodata.__anon_945168" + ".rodata.__anon_945169" + ".rodata.__anon_945170" + ".rodata.__anon_945171" + ".rodata.__anon_945172" + ".rodata.__anon_945173" + ".rodata.__anon_945174" + ".rodata.__anon_945175" + ".rodata.__anon_945176" + ".rodata.__anon_945177" + ".rodata.__anon_945179" + ".rodata.__anon_946175" + ".rodata.__anon_946216" + ".rodata.__anon_947338" + ".rodata.__anon_947633" + ".rodata.__anon_947818" + ".rodata.__anon_948443" + ".rodata.__anon_948300" + ".rodata.__anon_949721" + ".rodata.__anon_949929" + ".rodata.__anon_949958" + ".rodata.__anon_951183" + ".rodata.__anon_951184" + ".rodata.__anon_951187" + ".rodata.__anon_951236" + ".rodata.__anon_951246" + ".rodata.__anon_951714" + ".rodata.__anon_952106" + ".rodata.__anon_952464" + ".rodata.__anon_952748" + ".rodata.__anon_952751" + ".rodata.__anon_953106" + ".rodata.__anon_858532" + ".rodata.__anon_954438" + ".rodata.__anon_954418" + ".rodata.__anon_957724" + ".rodata.__anon_957930" + ".rodata.__anon_957931" + ".rodata.__anon_957932" + ".rodata.__anon_957934" + ".rodata.__anon_957978" + ".rodata.__anon_957985" + ".rodata.__anon_958001" + ".rodata.__anon_959272" + ".rodata.__anon_962456" + ".rodata.__anon_962471" + ".rodata.__anon_962543" + ".rodata.__anon_962558" + ".rodata.__anon_962559" + ".rodata.__anon_962988" + ".rodata.__anon_963159" + ".rodata.__anon_963189" + ".rodata.__anon_963252" + ".rodata.__anon_963283" + ".rodata.__anon_963295" + ".rodata.__anon_963322" + ".rodata.__anon_963332" + ".rodata.__anon_963341" + ".rodata.__anon_963346" + ".rodata.__anon_963355" + ".rodata.__anon_963806" + ".rodata.__anon_964204" + ".rodata.__anon_964330" + ".rodata.__anon_964359" + ".rodata.__anon_956720" + ".rodata.__anon_964653" + ".rodata.__anon_964679" + ".rodata.__anon_964865" + ".rodata.__anon_971333" + ".rodata.__anon_971388" + ".rodata.__anon_971466" + ".rodata.__anon_971540" + ".rodata.__anon_971604" + ".rodata.__anon_971674" + ".rodata.__anon_971737" + ".rodata.__anon_971807" + ".rodata.__anon_971870" + ".rodata.__anon_971938" + ".rodata.__anon_971997" + ".rodata.__anon_972057" + ".rodata.__anon_972121" + ".rodata.__anon_972161" + ".rodata.__anon_972225" + ".rodata.__anon_972286" + ".rodata.__anon_972355" + ".rodata.__anon_972416" + ".rodata.__anon_972477" + ".rodata.__anon_972538" + ".rodata.__anon_972621" + ".rodata.__anon_972663" + ".rodata.__anon_972778" + ".rodata.__anon_972847" + ".rodata.__anon_972915" + ".rodata.__anon_972983" + ".rodata.__anon_973051" + ".rodata.__anon_973118" + ".rodata.__anon_973185" + ".rodata.__anon_973252" + ".rodata.__anon_973318" + ".rodata.__anon_973384" + ".rodata.__anon_973455" + ".rodata.__anon_973496" + ".rodata.__anon_973610" + ".rodata.__anon_973681" + ".rodata.__anon_973752" + ".rodata.__anon_973822" + ".rodata.__anon_973892" + ".rodata.__anon_973962" + ".rodata.__anon_974031" + ".rodata.__anon_974100" + ".rodata.__anon_974163" + ".rodata.__anon_974196" + ".rodata.__anon_974231" + ".rodata.__anon_974291" + ".rodata.__anon_974350" + ".rodata.__anon_974409" + ".rodata.__anon_974468" + ".rodata.__anon_974526" + ".rodata.__anon_974584" + ".rodata.__anon_974642" + ".rodata.__anon_974699" + ".rodata.__anon_974757" + ".rodata.__anon_974814" + ".rodata.__anon_974906" + ".rodata.__anon_974974" + ".rodata.__anon_975087" + ".rodata.__anon_975151" + ".rodata.__anon_975218" + ".rodata.__anon_975278" + ".rodata.__anon_975340" + ".rodata.__anon_975396" + ".rodata.__anon_975456" + ".rodata.__anon_975516" + ".rodata.__anon_975583" + ".rodata.__anon_975641" + ".rodata.__anon_975699" + ".rodata.__anon_975757" + ".rodata.__anon_975820" + ".rodata.__anon_975878" + ".rodata.__anon_975947" + ".rodata.__anon_975982" + ".rodata.__anon_976019" + ".rodata.__anon_976086" + ".rodata.__anon_976153" + ".rodata.__anon_976220" + ".rodata.__anon_976286" + ".rodata.__anon_976352" + ".rodata.__anon_976418" + ".rodata.__anon_976483" + ".rodata.__anon_976547" + ".rodata.__anon_976584" + ".rodata.__anon_976642" + ".rodata.__anon_976697" + ".rodata.__anon_976750" + ".rodata.__anon_976787" + ".rodata.__anon_976845" + ".rodata.__anon_976900" ".rodata.__anon_976954" - ".rodata.__anon_977022" - ".rodata.__anon_977086" - ".rodata.__anon_977145" - ".rodata.__anon_977213" - ".rodata.__anon_977276" - ".rodata.__anon_977324" - ".rodata.__anon_977394" - ".rodata.__anon_977456" - ".rodata.__anon_977498" - ".rodata.__anon_977541" + ".rodata.__anon_977007" + ".rodata.__anon_977071" + ".rodata.__anon_977185" + ".rodata.__anon_977239" + ".rodata.__anon_977297" + ".rodata.__anon_977352" + ".rodata.__anon_977406" + ".rodata.__anon_977459" + ".rodata.__anon_977520" ".rodata.__anon_977582" + ".rodata.__anon_977618" ".rodata.__anon_977653" - ".rodata.__anon_977718" - ".rodata.__anon_977783" - ".rodata.__anon_977848" - ".rodata.__anon_977963" - ".rodata.__anon_977981" - ".rodata.__anon_978082" - ".rodata.__anon_979151" - ".rodata.__anon_979667" - ".rodata.__anon_982281" - ".rodata.__anon_982387" - ".rodata.__anon_982526" - ".rodata.__anon_982534" - ".rodata.__anon_982540" - ".rodata.__anon_982564" - ".rodata.__anon_982570" - ".rodata.__anon_982645" - ".rodata.__anon_137543" - ".rodata.__anon_982649" - ".rodata.__anon_985681" - ".rodata.__anon_985167" - ".rodata.__anon_986622" - ".rodata.__anon_986211" - ".rodata.__anon_986659" - ".rodata.__anon_986792" - ".rodata.__anon_923041" - ".rodata.__anon_986791" - ".rodata.__anon_986886" - ".rodata.__anon_987820" - ".rodata.__anon_987900" - ".rodata.__anon_988149" - ".rodata.__anon_988433" - ".rodata.__anon_988554" - ".rodata.__anon_988614" - ".rodata.__anon_988910" - ".rodata.__anon_988934" - ".rodata.__anon_989110" - ".rodata.__anon_989255" - ".rodata.__anon_989280" - ".rodata.__anon_989462" - ".rodata.__anon_989493" - ".rodata.__anon_989622" - ".rodata.__anon_991805" - ".rodata.__anon_1003550" - ".rodata.__anon_1003715" - ".rodata.__anon_1003757" - ".rodata.__anon_1003903" - ".rodata.__anon_1003942" - ".rodata.__anon_993359" - ".rodata.__anon_1004144" - ".rodata.__anon_1005473" - ".rodata.__anon_1008257" - ".rodata.__anon_1009466" - ".rodata.__anon_1009631" - ".rodata.__anon_1010693" - ".rodata.__anon_1010688" - ".rodata.__anon_1011099" - ".rodata.__anon_1011172" - ".rodata.__anon_1011260" - ".rodata.__anon_1011263" - ".rodata.__anon_1011392" - ".rodata.__anon_1011579" - ".rodata.__anon_1011801" - ".rodata.__anon_1011860" - ".rodata.__anon_1011862" - ".rodata.__anon_1011878" - ".rodata.__anon_1012685" - ".rodata.__anon_1012860" - ".rodata.__anon_1012861" - ".rodata.__anon_1013293" - ".rodata.__anon_1013345" - ".rodata.__anon_1013382" - ".rodata.__anon_287371" - ".rodata.__anon_1013514" - ".rodata.__anon_287369" - ".rodata.__anon_1013758" - ".rodata.__anon_1013776" - ".rodata.__anon_1013976" - ".rodata.__anon_1014018" - ".rodata.__anon_1014174" - ".rodata.__anon_1014265" - ".rodata.__anon_1014544" - ".rodata.__anon_1014521" - ".rodata.__anon_1014523" - ".rodata.__anon_1015527" - ".rodata.__anon_177823" - ".rodata.__anon_1015612" + ".rodata.__anon_977726" + ".rodata.__anon_977794" + ".rodata.__anon_977858" + ".rodata.__anon_977917" + ".rodata.__anon_977985" + ".rodata.__anon_978048" + ".rodata.__anon_978096" + ".rodata.__anon_978166" + ".rodata.__anon_978228" + ".rodata.__anon_978270" + ".rodata.__anon_978313" + ".rodata.__anon_978354" + ".rodata.__anon_978425" + ".rodata.__anon_978490" + ".rodata.__anon_978555" + ".rodata.__anon_978620" + ".rodata.__anon_978735" + ".rodata.__anon_978753" + ".rodata.__anon_978854" + ".rodata.__anon_979923" + ".rodata.__anon_980439" + ".rodata.__anon_983053" + ".rodata.__anon_983159" + ".rodata.__anon_983298" + ".rodata.__anon_983306" + ".rodata.__anon_983312" + ".rodata.__anon_983336" + ".rodata.__anon_983342" + ".rodata.__anon_983417" + ".rodata.__anon_138496" + ".rodata.__anon_983421" + ".rodata.__anon_986453" + ".rodata.__anon_985939" + ".rodata.__anon_987394" + ".rodata.__anon_986983" + ".rodata.__anon_987431" + ".rodata.__anon_987564" + ".rodata.__anon_923813" + ".rodata.__anon_987563" + ".rodata.__anon_987658" + ".rodata.__anon_988592" + ".rodata.__anon_988672" + ".rodata.__anon_988921" + ".rodata.__anon_989205" + ".rodata.__anon_989326" + ".rodata.__anon_989386" + ".rodata.__anon_989682" + ".rodata.__anon_989706" + ".rodata.__anon_989882" + ".rodata.__anon_990027" + ".rodata.__anon_990052" + ".rodata.__anon_990234" + ".rodata.__anon_990265" + ".rodata.__anon_990394" + ".rodata.__anon_992577" + ".rodata.str1.4" + ".rodata.__anon_1003204" + ".rodata.__anon_1004326" + ".rodata.__anon_1004491" + ".rodata.__anon_1004533" + ".rodata.__anon_1004679" + ".rodata.__anon_1004718" + ".rodata.__anon_994135" + ".rodata.__anon_1004920" + ".rodata.__anon_1006255" + ".rodata.__anon_1009091" + ".rodata.__anon_288045" + ".rodata.__anon_1014347" + ".rodata.__anon_288043" + ".rodata.__anon_1014591" + ".rodata.__anon_1014609" + ".rodata.__anon_1014809" + ".rodata.__anon_1014851" + ".rodata.__anon_1015007" + ".rodata.__anon_1015098" + ".rodata.__anon_1015377" + ".rodata.__anon_1015354" + ".rodata.__anon_1015356" + ".rodata.__anon_1016360" + ".rodata.__anon_178554" + ".rodata.__anon_1016445" ".rodata.browser.webapi.canvas.OffscreenCanvas.BlankPNG.bytes" - ".rodata.__anon_1014985" - ".rodata.__anon_1023777" - ".rodata.__anon_1023880" - ".rodata.__anon_1024830" - ".rodata.__anon_1025340" - ".rodata.__anon_1025789" - ".rodata.__anon_1026850" - ".rodata.__anon_1026892" - ".rodata.__anon_1027226" - ".rodata.__anon_1028715" - ".rodata.__anon_1029335" - ".rodata.__anon_1029298" - ".rodata.__anon_1030959" - ".rodata.__anon_1030961" - ".rodata.__anon_1030963" - ".rodata.__anon_1030949" - ".rodata.__anon_1031114" - ".rodata.__anon_1031373" - ".rodata.__anon_1031380" - ".rodata.__anon_1031346" - ".rodata.__anon_232934" - ".rodata.__anon_1035178" - ".rodata.__anon_1035316" - ".rodata.__anon_242323" - ".rodata.__anon_231204" - ".rodata.__anon_231213" - ".rodata.__anon_1038845" - ".rodata.__anon_150136" - ".rodata.__anon_1040291" - ".rodata.__anon_1041153" - ".rodata.__anon_1042643" - ".rodata.__anon_1043415" - ".rodata.__anon_1043576" - ".rodata.__anon_1043927" - ".rodata.__anon_1044201" - ".rodata.__anon_1044205" - ".rodata.__anon_1044573" - ".rodata.__anon_1044825" - ".rodata.__anon_1044832" - ".rodata.__anon_1044965" - ".rodata.__anon_1043551" - ".rodata.__anon_1045067" + ".rodata.__anon_1015818" + ".rodata.__anon_1024610" + ".rodata.__anon_1024713" + ".rodata.__anon_1025663" + ".rodata.__anon_1026173" + ".rodata.__anon_1026622" + ".rodata.__anon_1027683" + ".rodata.__anon_1027725" + ".rodata.__anon_1028059" + ".rodata.__anon_1029577" + ".rodata.__anon_1030232" + ".rodata.__anon_1030195" + ".rodata.__anon_1031856" + ".rodata.__anon_1031858" + ".rodata.__anon_1031860" + ".rodata.__anon_1031846" + ".rodata.__anon_1032011" + ".rodata.__anon_1032270" + ".rodata.__anon_1032277" + ".rodata.__anon_1032243" + ".rodata.__anon_233720" + ".rodata.__anon_1036073" + ".rodata.__anon_1036211" + ".rodata.__anon_243071" + ".rodata.__anon_231990" + ".rodata.__anon_231999" + ".rodata.__anon_1039740" + ".rodata.__anon_151087" + ".rodata.__anon_1041186" + ".rodata.__anon_1042005" + ".rodata.__anon_1043357" + ".rodata.__anon_1044331" + ".rodata.__anon_1044492" + ".rodata.__anon_1044843" + ".rodata.__anon_1045117" + ".rodata.__anon_1045121" + ".rodata.__anon_1045489" + ".rodata.__anon_1045741" + ".rodata.__anon_1045748" + ".rodata.__anon_1045881" + ".rodata.__anon_1044467" + ".rodata.__anon_1045983" ".rodata.browser.webapi.net.URLSearchParams.HEX_DECODE_ARRAY" - ".rodata.__anon_1045985" - ".rodata.__anon_1046103" - ".rodata.__anon_1048042" - ".rodata.__anon_1048045" - ".rodata.__anon_1050026" - ".rodata.__anon_1050566" - ".rodata.__anon_1051067" - ".rodata.__anon_1051111" - ".rodata.__anon_1052216" - ".rodata.__anon_1052241" - ".rodata.__anon_1052265" - ".rodata.__anon_1052294" - ".rodata.__anon_1052322" - ".rodata.__anon_137687" - ".rodata.__anon_1052424" - ".rodata.__anon_1052472" - ".rodata.__anon_1052499" - ".rodata.__anon_1052578" - ".rodata.__anon_1052597" - ".rodata.__anon_1052626" - ".rodata.__anon_1052656" - ".rodata.__anon_1052686" - ".rodata.__anon_1052811" - ".rodata.__anon_1052842" - ".rodata.__anon_1053089" + ".rodata.__anon_1046901" + ".rodata.__anon_1047019" + ".rodata.__anon_1048956" + ".rodata.__anon_1048959" + ".rodata.__anon_1050940" + ".rodata.__anon_1051480" + ".rodata.__anon_1051981" + ".rodata.__anon_1052025" ".rodata.__anon_1053130" - ".rodata.__anon_1053160" - ".rodata.__anon_1053188" - ".rodata.__anon_1053327" - ".rodata.__anon_1053393" - ".rodata.__anon_1053604" - ".rodata.__anon_1053679" - ".rodata.__anon_1054135" - ".rodata.__anon_1054647" - ".rodata.__anon_1054913" - ".rodata.__anon_1055296" - ".rodata.__anon_1049192" - ".rodata.__anon_227128" - ".rodata.__anon_227138" - ".rodata.__anon_227148" - ".rodata.__anon_1058308" - ".rodata.__anon_1058473" - ".rodata.__anon_1058659" - ".rodata.__anon_1059436" - ".rodata.__anon_1062032" - ".rodata.__anon_1062209" - ".rodata.__anon_1064022" - ".rodata.__anon_1067255" - ".rodata.__anon_1070339" - ".rodata.__anon_1070874" - ".rodata.__anon_214706" - ".rodata.__anon_214722" - ".rodata.__anon_1071637" - ".rodata.__anon_1071652" - ".rodata.__anon_1072079" - ".rodata.__anon_1072513" - ".rodata.__anon_1072709" - ".rodata.__anon_1073112" - ".rodata.__anon_1073143" - ".rodata.__anon_1079411" - ".rodata.__anon_1080116" - ".rodata.__anon_215421" - ".rodata.__anon_150151" - ".rodata.__anon_1081450" - ".rodata.__anon_1081866" - ".rodata.__anon_1082024" - ".rodata.__anon_1082204" - ".rodata.__anon_1082513" - ".rodata.__anon_1083705" - ".rodata.__anon_213898" - ".rodata.__anon_1085189" - ".rodata.__anon_1086187" - ".rodata.__anon_214380" - ".rodata.__anon_226937" - ".rodata.__anon_1088112" - ".rodata.__anon_1089237" - ".rodata.__anon_1091112" - ".rodata.__anon_1091377" - ".rodata.__anon_1091472" - ".rodata.__anon_1092147" - ".rodata.__anon_1093204" - ".rodata.__anon_1093426" - ".rodata.__anon_1093718" - ".rodata.__anon_1093905" - ".rodata.__anon_1263535" - ".rodata.__anon_1266038" - ".rodata.__anon_1266116" - ".rodata.__anon_1266247" - ".rodata.__anon_1266672" - ".rodata.__anon_1266691" - ".rodata.__anon_1266756" - ".rodata.__anon_1266803" - ".rodata.__anon_1266819" - ".rodata.__anon_1266864" - ".rodata.__anon_1267956" - ".rodata.__anon_1267985" - ".rodata.__anon_1268267" - ".rodata.__anon_1268299" - ".rodata.__anon_1268506" - ".rodata.__anon_1268816" - ".rodata.__anon_1269027" - ".rodata.__anon_1269048" - ".rodata.__anon_1269320" - ".rodata.__anon_1269345" - ".rodata.__anon_1269527" - ".rodata.__anon_1270161" - ".rodata.__anon_1270473" - ".rodata.__anon_1270737" - ".rodata.__anon_1270851" - ".rodata.__anon_1271808" - ".rodata.__anon_1271863" - ".rodata.__anon_1271865" - ".rodata.__anon_1271867" - ".rodata.__anon_1271869" - ".rodata.__anon_1271871" - ".rodata.__anon_1271989" - ".rodata.__anon_1272102" - ".rodata.__anon_1272579" - ".rodata.__anon_1272683" - ".rodata.__anon_1272687" - ".rodata.__anon_1272689" - ".rodata.__anon_1272691" - ".rodata.__anon_1272693" - ".rodata.__anon_1272697" - ".rodata.__anon_1272701" - ".rodata.__anon_1273674" - ".rodata.__anon_1273738" + ".rodata.__anon_1053155" + ".rodata.__anon_1053179" + ".rodata.__anon_1053208" + ".rodata.__anon_1053236" + ".rodata.__anon_138640" + ".rodata.__anon_1053338" + ".rodata.__anon_1053386" + ".rodata.__anon_1053413" + ".rodata.__anon_1053492" + ".rodata.__anon_1053511" + ".rodata.__anon_1053540" + ".rodata.__anon_1053570" + ".rodata.__anon_1053600" + ".rodata.__anon_1053725" + ".rodata.__anon_1053756" + ".rodata.__anon_1054003" + ".rodata.__anon_1054044" + ".rodata.__anon_1054074" + ".rodata.__anon_1054102" + ".rodata.__anon_1054241" + ".rodata.__anon_1054307" + ".rodata.__anon_1054518" + ".rodata.__anon_1054593" + ".rodata.__anon_1055049" + ".rodata.__anon_1055561" + ".rodata.__anon_1055827" + ".rodata.__anon_1056210" + ".rodata.__anon_1050106" + ".rodata.__anon_227859" + ".rodata.__anon_227869" + ".rodata.__anon_227879" + ".rodata.__anon_1059222" + ".rodata.__anon_1059387" + ".rodata.__anon_1059573" + ".rodata.__anon_1060350" + ".rodata.__anon_1062946" + ".rodata.__anon_1063123" + ".rodata.__anon_1064925" + ".rodata.__anon_1068160" + ".rodata.__anon_1071248" + ".rodata.__anon_1071783" + ".rodata.__anon_215437" + ".rodata.__anon_215453" + ".rodata.__anon_1072546" + ".rodata.__anon_1072561" + ".rodata.__anon_1072988" + ".rodata.__anon_1073422" + ".rodata.__anon_1073618" + ".rodata.__anon_1074021" + ".rodata.__anon_1074052" + ".rodata.__anon_1080320" + ".rodata.__anon_1081025" + ".rodata.__anon_216152" + ".rodata.__anon_151102" + ".rodata.__anon_1082359" + ".rodata.__anon_1082775" + ".rodata.__anon_1082933" + ".rodata.__anon_1083113" + ".rodata.__anon_1083422" + ".rodata.__anon_1084614" + ".rodata.__anon_214629" + ".rodata.__anon_1086098" + ".rodata.__anon_1087096" + ".rodata.__anon_215111" + ".rodata.__anon_227668" + ".rodata.__anon_1089021" + ".rodata.__anon_1090146" + ".rodata.__anon_1092021" + ".rodata.__anon_1092286" + ".rodata.__anon_1092381" + ".rodata.__anon_1093056" + ".rodata.__anon_1094113" + ".rodata.__anon_1094335" + ".rodata.__anon_1094627" + ".rodata.__anon_1094814" + ".rodata.__anon_1094871" + ".rodata.__anon_1095207" + ".rodata.__anon_1095494" + ".rodata.__anon_1095957" + ".rodata.__anon_1096189" + ".rodata.__anon_1097060" + ".rodata.__anon_1096960" + ".rodata.__anon_1097536" + ".rodata.__anon_1097726" + ".rodata.__anon_1098774" + ".rodata.__anon_1099263" + ".rodata.__anon_1100079" + ".rodata.__anon_1100180" + ".rodata.__anon_1265483" + ".rodata.__anon_1267986" + ".rodata.__anon_1268064" + ".rodata.__anon_1268195" + ".rodata.__anon_1268620" + ".rodata.__anon_1268639" + ".rodata.__anon_1268704" + ".rodata.__anon_1268751" + ".rodata.__anon_1268767" + ".rodata.__anon_1268812" + ".rodata.__anon_1269904" + ".rodata.__anon_1269933" + ".rodata.__anon_1270215" + ".rodata.__anon_1270247" + ".rodata.__anon_1270454" + ".rodata.__anon_1270764" + ".rodata.__anon_1270975" + ".rodata.__anon_1270996" + ".rodata.__anon_1271268" + ".rodata.__anon_1271293" + ".rodata.__anon_1271475" + ".rodata.__anon_1272109" + ".rodata.__anon_1272421" + ".rodata.__anon_1272685" + ".rodata.__anon_1272799" + ".rodata.__anon_1273756" + ".rodata.__anon_1273811" + ".rodata.__anon_1273813" + ".rodata.__anon_1273815" + ".rodata.__anon_1273817" + ".rodata.__anon_1273819" + ".rodata.__anon_1273937" + ".rodata.__anon_1274050" + ".rodata.__anon_1274527" + ".rodata.__anon_1274631" + ".rodata.__anon_1274635" + ".rodata.__anon_1274637" + ".rodata.__anon_1274639" + ".rodata.__anon_1274641" + ".rodata.__anon_1274645" + ".rodata.__anon_1274649" + ".rodata.__anon_1275622" + ".rodata.__anon_1275686" ".rodata.__anon_13917" - ".rodata.__anon_1274191" - ".rodata.__anon_1274221" - ".rodata.__anon_1274419" - ".rodata.__anon_1274607" - ".rodata.__anon_1275146" - ".rodata.__anon_1275169" - ".rodata.__anon_1275420" - ".rodata.__anon_1275447" - ".rodata.__anon_1275477" - ".rodata.__anon_1275498" - ".rodata.__anon_1275516" - ".rodata.__anon_1275565" - ".rodata.__anon_1275590" - ".rodata.__anon_1275650" - ".rodata.__anon_1275698" - ".rodata.__anon_1275717" - ".rodata.__anon_1275738" - ".rodata.__anon_1275759" - ".rodata.__anon_1276397" - ".rodata.__anon_1276965" - ".rodata.__anon_1276964" - ".rodata.__anon_1277964" - ".rodata.__anon_1277988" - ".rodata.__anon_1278059" - ".rodata.__anon_1278135" - ".rodata.__anon_1278136" - ".rodata.__anon_1279726" - ".rodata.__anon_1279789" - ".rodata.__anon_1279844" - ".rodata.__anon_1279889" - ".rodata.__anon_1280037" - ".rodata.__anon_1280291" - ".rodata.__anon_1280317" - ".rodata.__anon_1280527" - ".rodata.__anon_1280564" - ".rodata.__anon_1280606" + ".rodata.__anon_1276139" + ".rodata.__anon_1276169" + ".rodata.__anon_1276367" + ".rodata.__anon_1276555" + ".rodata.__anon_1277094" + ".rodata.__anon_1277117" + ".rodata.__anon_1277368" + ".rodata.__anon_1277395" + ".rodata.__anon_1277425" + ".rodata.__anon_1277446" + ".rodata.__anon_1277464" + ".rodata.__anon_1277513" + ".rodata.__anon_1277538" + ".rodata.__anon_1277598" + ".rodata.__anon_1277646" + ".rodata.__anon_1277665" + ".rodata.__anon_1277686" + ".rodata.__anon_1277707" + ".rodata.__anon_1278345" + ".rodata.__anon_1278912" + ".rodata.__anon_1279911" + ".rodata.__anon_1279935" + ".rodata.__anon_1280006" + ".rodata.__anon_1280082" + ".rodata.__anon_1280083" + ".rodata.__anon_1281673" + ".rodata.__anon_1281736" + ".rodata.__anon_1281791" + ".rodata.__anon_1281836" + ".rodata.__anon_1281984" + ".rodata.__anon_1282238" + ".rodata.__anon_1282264" + ".rodata.__anon_1282474" + ".rodata.__anon_1282511" + ".rodata.__anon_1282553" ) *lightpanda_ffi-b5cc47667d2c70bb.url-85d11ab45289c88d.url.8a8ec6265781451b-cgu.0.rcgu.o.rcgu.o( ".rodata.str1.1" diff --git a/orderfile/v8.txt b/orderfile/v8.txt index 375db5d5d..da83e5d14 100644 --- a/orderfile/v8.txt +++ b/orderfile/v8.txt @@ -65,6 +65,7 @@ _ZN10__cxxabiv117__class_type_infoD0Ev _ZN10__cxxabiv120__si_class_type_infoD0Ev _ZN10__cxxabiv121__vmi_class_type_infoD0Ev _ZNK10__cxxabiv117__class_type_info9can_catchEPKNS_16__shim_type_infoERPv +__dynamic_cast _ZN12v8_inspector8String16D2Ev v8__Platform__NewDefaultPlatform v8__Platform__DELETE @@ -642,8 +643,7 @@ _ZNSt4__Cr15basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE9underflowEv _ZNSt4__Cr15basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE9pbackfailEi _ZNSt4__Cr15basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE8overflowEi _ZNSt4__Cr15basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE7seekoffExNS_8ios_base7seekdirEj -_ZNSt4__Cr13basic_filebufIcNS_11char_traitsIcEEE5imbueERKNS_6localeE -_ZNSt4__Cr15basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev +_ZNSt4__Cr13basic_filebufIcNS_11char_traitsIcEEE4openEPKcj _ZNSt4__Cr15basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEED0Ev _ZNSt4__Cr15basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE7seekposENS_4fposI11__mbstate_tEEj _ZNSt4__Cr18basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEED1Ev @@ -820,14 +820,6 @@ _ZNKSt4__Cr7num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4 _ZNSt4__Cr9__num_putIcE21__widen_and_group_intEPcS2_S2_S2_RS2_S3_RKNS_6localeE _ZNSt4__Cr9__num_putIcE23__widen_and_group_floatEPcS2_S2_S2_RS2_S3_RKNS_6localeE _ZNSt4__Cr9__num_putIwE21__widen_and_group_intEPcS2_S2_PwRS3_S4_RKNS_6localeE -_ZNSt4__Cr9__num_putIwE23__widen_and_group_floatEPcS2_S2_PwRS3_S4_RKNS_6localeE -_ZNKSt4__Cr8time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3getES4_S4_RNS_8ios_baseERjP2tmPKcSC_ -_ZNKSt4__Cr8time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE13do_date_orderEv -_ZNKSt4__Cr8time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE11do_get_timeES4_S4_RNS_8ios_baseERjP2tm -_ZNKSt4__Cr8time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE11do_get_dateES4_S4_RNS_8ios_baseERjP2tm -_ZNKSt4__Cr8time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE14do_get_weekdayES4_S4_RNS_8ios_baseERjP2tm -_ZNKSt4__Cr8messagesIcE6do_getEliiRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE -_ZNKSt4__Cr8messagesIcE8do_closeEl _ZNKSt4__Cr8messagesIwE7do_openERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKNS_6localeE _ZNKSt4__Cr8messagesIwE6do_getEliiRKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEE _ZNKSt4__Cr16__narrow_to_utf8ILm32EEclINS_20back_insert_iteratorINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEEwEET_SB_PKT0_SE_ @@ -1191,7 +1183,7 @@ _ZN2v84base21RandomNumberGenerator10NextDoubleEv _ZN2v84base21RandomNumberGenerator9NextInt64Ev _ZN2v84base21RandomNumberGenerator9NextBytesEPvm _ZN2v84base21RandomNumberGenerator10NextSampleEmm -_ZNSt4__Cr12__hash_tableImNS_4hashImEENS_8equal_toImEENS_9allocatorImEEE11__do_rehashILb1EEEvm +_ZN2v84baseL16ComplementSampleERKNSt4__Cr13unordered_setImNS1_4hashImEENS1_8equal_toImEENS1_9allocatorImEEEEm _ZZNSt4__Cr12__hash_tableImNS_4hashImEENS_8equal_toImEENS_9allocatorImEEE16__emplace_uniqueIJRmEEENS_4pairINS_15__hash_iteratorIPNS_11__hash_nodeImPvEEEEbEEDpOT_ENKUlRKmS9_E_clESM_S9_ _ZNK2v84base9TimeDelta10InSecondsFEv _ZNK2v84base9TimeDelta9InSecondsEv @@ -2168,6 +2160,7 @@ _ZN2v88internal7Isolate22PrintCurrentStackTraceERNSt4__Cr13basic_ostreamIcNS2_11 _ZNKRSt4__Cr19basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEE3strEv _ZN2v88internal7Isolate16IsOnCentralStackEv _ZN2v88internal7Isolate15ComputeLocationEPNS0_15MessageLocationE +_ZN2v88internal7Isolate34NotifyExceptionPropagationCallbackEv _ZN2v88internal12_GLOBAL__N_124TryGetCurrentTaskPromiseEPNS0_7IsolateE _ZN2v88internal12_GLOBAL__N_123WalkPromiseTreeInternalEPNS0_7IsolateENS0_12DirectHandleINS0_9JSPromiseEEERKNSt4__Cr8functionIFvNS2_14PromiseHandlerEEEE _ZN2v88internal7Isolate41SetCaptureStackTraceForUncaughtExceptionsEbiNS_10StackTrace17StackTraceOptionsE @@ -2421,6 +2414,7 @@ _ZN2v88internal14FutexEmulation17NotifyAsyncWaiterEPNS0_17FutexWaitListNodeE _ZN2v88internal13FutexWaitList10RemoveNodeEPNS0_17FutexWaitListNodeE _ZN2v84base8SmallMapINSt4__Cr3mapIPNS_8internal7IsolateENS4_13FutexWaitList11HeadAndTailENS2_4lessIS6_EENS2_9allocatorINS2_4pairIKS6_S8_EEEEEELm4ENS0_8internal16select_equal_keyISG_Lb0EE9equal_keyENSH_19SmallMapDefaultInitISG_EEE6insertERKSE_ _ZN2v84base8SmallMapINSt4__Cr3mapIPvNS_8internal13FutexWaitList11HeadAndTailENS2_4lessIS4_EENS2_9allocatorINS2_4pairIKS4_S7_EEEEEELm16ENS0_8internal16select_equal_keyISF_Lb0EE9equal_keyENSG_19SmallMapDefaultInitISF_EEE6insertERKSD_ +_ZN2v84base8SmallMapINSt4__Cr3mapIPvNS_8internal13FutexWaitList11HeadAndTailENS2_4lessIS4_EENS2_9allocatorINS2_4pairIKS4_S7_EEEEEELm16ENS0_8internal16select_equal_keyISF_Lb0EE9equal_keyENSG_19SmallMapDefaultInitISF_EEE4findERSC_ _ZN2v88internal14FutexEmulation4WakeEPvj _ZN2v88internal14FutexEmulation4WakeEmj _ZN2v88internal14FutexEmulation25CleanupAsyncWaiterPromiseEPNS0_17FutexWaitListNodeE @@ -3119,7 +3113,7 @@ _ZN4absl18container_internal12_GLOBAL__N_132ResizeEmptyNonAllocatedTableImplERNS _ZN4absl18container_internal4CopyERNS0_12CommonFieldsERKNS0_15PolicyFunctionsERKS1_NS_11FunctionRefIFvPvPKvEEE _ZN4absl18container_internal24ReserveTableToFitNewSizeERNS0_12CommonFieldsERKNS0_15PolicyFunctionsEm _ZN4absl18container_internal12_GLOBAL__N_121ReserveAllocatedTableERNS0_12CommonFieldsERKNS0_15PolicyFunctionsEm -_ZZNSt4__Cr12__hash_tableINS_17__hash_value_typeIPKvmEENS_22__unordered_map_hasherIS3_NS_4pairIKS3_mEENS_4hashIS3_EENS_8equal_toIS3_EEEENS_21__unordered_map_equalIS3_S8_SC_SA_EENS_9allocatorIS8_EEE16__emplace_uniqueIJS8_EEENS6_INS_15__hash_iteratorIPNS_11__hash_nodeIS4_PvEEEEbEEDpOT_ENKUlRS7_OS8_E_clESU_SV_ +_ZN4absl18container_internal18PrepareInsertLargeERNS0_12CommonFieldsERKNS0_15PolicyFunctionsEmNS0_18NonIterableBitMaskIjLi16ELi0EEENS0_8FindInfoE _ZNSt4__Cr12__hash_tableINS_17__hash_value_typeIPKvmEENS_22__unordered_map_hasherIS3_NS_4pairIKS3_mEENS_4hashIS3_EENS_8equal_toIS3_EEEENS_21__unordered_map_equalIS3_S8_SC_SA_EENS_9allocatorIS8_EEE11__do_rehashILb1EEEvm _ZNSt4__Cr6vectorIN5cppgc14HeapStatistics16ObjectStatsEntryENS_9allocatorIS3_EEE20__throw_length_errorEv _ZNK4heap4base5Stack26IteratePointersUntilMarkerEPNS0_12StackVisitorE @@ -3596,6 +3590,8 @@ _ZN2v88internal9Assembler4movlENS0_7OperandEPNS0_5LabelE _ZN2v88internal9Assembler7movsxblENS0_8RegisterES2_ _ZN2v88internal9Assembler7movsxblENS0_8RegisterENS0_7OperandE _ZN2v88internal9Assembler7movsxbqENS0_8RegisterENS0_7OperandE +_ZN2v88internal9Assembler7movsxbqENS0_8RegisterES2_ +_ZN2v88internal9Assembler7movsxwlENS0_8RegisterES2_ _ZN2v88internal9Assembler22emit_trace_instructionENS0_9ImmediateE _ZN2v88internal9Assembler5pushqENS0_8RegisterE _ZN2v88internal9Assembler4popqENS0_8RegisterE @@ -3626,7 +3622,10 @@ _ZN2v88internal9Assembler5testwENS0_7OperandENS0_8RegisterE _ZN2v88internal9Assembler5fld_dENS0_7OperandE _ZN2v88internal9Assembler6fstp_dENS0_7OperandE _ZN2v88internal9Assembler4fstpEi -_ZN2v88internal9Assembler6movupsENS0_11XMMRegisterENS0_7OperandE +_ZN2v88internal9Assembler5fpremEv +_ZN2v88internal9Assembler9fnstsw_axEv +_ZN2v88internal9Assembler4sahfEv +_ZN2v88internal9Assembler4movdENS0_11XMMRegisterENS0_8RegisterE _ZN2v88internal9Assembler6movupsENS0_7OperandENS0_11XMMRegisterE _ZN2v88internal9Assembler9sse_instrENS0_11XMMRegisterES2_hh _ZN2v88internal9Assembler9sse_instrENS0_11XMMRegisterENS0_7OperandEhh @@ -3720,7 +3719,7 @@ _ZNSt4__Cr6vectorIN2v88internal13VirtualMemoryENS_9allocatorIS3_EEE7reserveEm _ZN2v88internal4wasm17WasmCodeAllocatorD2Ev _ZN2v88internal4wasm17WasmCodeAllocatorD1Ev _ZN2v88internal4wasm17WasmCodeAllocator4InitENS0_13VirtualMemoryE -_ZN2v88internal4wasm12NativeModule12SetWireBytesENS_4base11OwnedVectorIKhEE +_ZNSt4__Cr6vectorIN2v88internal13VirtualMemoryENS_9allocatorIS3_EEE12emplace_backIJS3_EEERS3_DpOT_ _ZNK2v88internal4wasm12NativeModule6LookupEm _ZN2v88internal4wasm12NativeModuleD2Ev _ZN2v88internal4wasm12NativeModuleD1Ev @@ -3766,7 +3765,7 @@ _ZN2v88internal14SegmentedTableINS0_4wasm25WasmCodePointerTableEntryELm134217728 _ZZNSt4__Cr6vectorINS_10unique_ptrIN2v88internal4wasm8WasmCodeENS_14default_deleteIS5_EEEENS_9allocatorIS8_EEE12emplace_backIJS8_EEERS8_DpOT_ENKUlvE0_clEv _ZNSt4__Cr6vectorINS_10unique_ptrIN2v88internal4wasm8WasmCodeENS_14default_deleteIS5_EEEENS_9allocatorIS8_EEE20__throw_length_errorEv _ZZNSt4__Cr6vectorIPN2v88internal4wasm8WasmCodeENS_9allocatorIS5_EEE12emplace_backIJS5_EEERS5_DpOT_ENKUlvE0_clEv -_ZNSt4__Cr6vectorIN2v88internal4wasm19UnpublishedWasmCodeENS_9allocatorIS4_EEE24__emplace_back_slow_pathIJNS_10unique_ptrINS3_8WasmCodeENS_14default_deleteISA_EEEENS9_INS3_18AssumptionsJournalENSB_ISE_EEEEEEEPS4_DpOT_ +_ZN2v88internal4wasm19WasmModuleSourceMapD2Ev _ZNSt4__Cr25__try_key_extraction_implIN2v84base13AddressRegionENS_4pairINS_15__tree_iteratorIS3_PNS_11__tree_nodeIS3_PvEElEEbEEZNS_6__treeIS3_NS3_16StartAddressLessENS_9allocatorIS3_EEE21__emplace_hint_uniqueIJRKS3_EEESB_NS_21__tree_const_iteratorIS3_S9_lEEDpOT_EUlSJ_SJ_E_ZNSH_IJSJ_EEESB_SL_SO_EUlSJ_E_SJ_TnNS_9enable_ifIXsr7is_sameIT_u14__remove_constIu20__remove_reference_tIT3_EEEE5valueEiE4typeELi0EEET0_NS_14__priority_tagILm1EEET1_T2_OST_ _ZNSt4__Cr6__treeIN2v84base13AddressRegionENS3_16StartAddressLessENS_9allocatorIS3_EEE12__find_equalIS3_EENS_4pairIPNS_15__tree_end_nodeIPNS_16__tree_node_baseIPvEEEERSE_EENS_21__tree_const_iteratorIS3_PNS_11__tree_nodeIS3_SC_EElEESH_RKT_ _ZNSt4__Cr25__try_key_extraction_implIN2v84base13AddressRegionENS_4pairINS_15__tree_iteratorIS3_PNS_11__tree_nodeIS3_PvEElEEbEEZNS_6__treeIS3_NS3_16StartAddressLessENS_9allocatorIS3_EEE21__emplace_hint_uniqueIJS3_EEESB_NS_21__tree_const_iteratorIS3_S9_lEEDpOT_EUlRKS3_OS3_E_ZNSH_IJS3_EEESB_SJ_SM_EUlSP_E_S3_TnNS_9enable_ifIXsr7is_sameIT_u14__remove_constIu20__remove_reference_tIT3_EEEE5valueEiE4typeELi0EEET0_NS_14__priority_tagILm1EEET1_T2_OSU_ @@ -3829,7 +3828,7 @@ _ZN2v88internal12trap_handler24CoveredMemoryRecordsLockC1Ev _ZN2v88internal12trap_handler24CoveredMemoryRecordsLockD2Ev _ZN2v88internal12trap_handler24CoveredMemoryRecordsLockD1Ev _ZN2v88internal4wasm11AdaptiveMapINS1_12WireBytesRefEE20FinishInitializationEv -_ZN2v88internal12StringHasher20HashSequentialStringIcEEjPKT_jNS0_8HashSeedE +_ZNSt4__Cr6vectorIN2v88internal4wasm12WireBytesRefENS_9allocatorIS4_EEE6resizeEm _ZN2v88internal4wasm16NumFeedbackSlotsEPKNS1_10WasmModuleEi _ZNSt4__Cr6vectorIN2v88internal4wasm12WireBytesRefENS_9allocatorIS4_EEE20__throw_length_errorEv _ZNSt4__Cr6__treeINS_12__value_typeIjN2v88internal4wasm12WireBytesRefEEENS_19__map_value_compareIjNS_4pairIKjS5_EENS_4lessIjEEEENS_9allocatorISA_EEE14__tree_deleterclEPNS_11__tree_nodeIS6_PvEE @@ -3857,6 +3856,7 @@ _ZN2v88internal4wasm10WasmEngineD1Ev _ZNK2v88internal4wasm10WasmEngine37PrintCurrentMemoryConsumptionEstimateEv _ZNSt4__Cr6vectorINS_10shared_ptrIN2v88internal4wasm12NativeModuleEEENS_9allocatorIS6_EEED2Ev _ZN2v88internal4wasm17TypeCanonicalizerD2Ev +_ZN2v88internal4wasm10WasmEngine12SyncValidateEPNS0_7IsolateENS1_19WasmEnabledFeaturesENS1_18CompileTimeImportsENS_4base6VectorIKhEE _ZN2v88internal4wasm10WasmEngine24LeaveDebuggingForIsolateEPNS0_7IsolateE _ZN2v88internal4wasm10WasmEngine16FlushLiftoffCodeEv _ZN2v88internal4wasm10WasmEngine26GetOrCreateTurboStatisticsEv @@ -3940,7 +3940,6 @@ _ZN2v88internal4wasm10WasmEngine12LogCodesTask11RunInternalEv _ZThn32_N2v88internal4wasm10WasmEngine12LogCodesTaskD1Ev _ZThn32_N2v88internal4wasm10WasmEngine12LogCodesTaskD0Ev _ZNSt4__Cr6vectorIPN2v88internal4wasm8WasmCodeENS_9allocatorIS5_EEE18__insert_with_sizeINS_17_ClassicAlgPolicyEPS5_SB_EENS_11__wrap_iterISB_EENSC_IPKS5_EET0_T1_l -_ZNK2v88internal4wasm17NativeModuleCache3KeyltERKS3_ _ZZNSt4__Cr6__treeINS_12__value_typeIN2v88internal4wasm17NativeModuleCache3KeyENS_8optionalINS_8weak_ptrINS4_12NativeModuleEEEEEEENS_19__map_value_compareIS6_NS_4pairIKS6_SB_EENS_4lessIS6_EEEENS_9allocatorISG_EEE16__emplace_uniqueIJRS6_RKNS_9nullopt_tEEEENSE_INS_15__tree_iteratorISC_PNS_11__tree_nodeISC_PvEElEEbEEDpOT_ENKUlRSF_SO_SR_E_clES12_SO_SR_ _ZNSt4__Cr6__treeINS_12__value_typeIN2v88internal4wasm17NativeModuleCache3KeyENS_8optionalINS_8weak_ptrINS4_12NativeModuleEEEEEEENS_19__map_value_compareIS6_NS_4pairIKS6_SB_EENS_4lessIS6_EEEENS_9allocatorISG_EEE5eraseENS_21__tree_const_iteratorISC_PNS_11__tree_nodeISC_PvEElEE _ZZNSt4__Cr6__treeINS_12__value_typeIN2v88internal4wasm17NativeModuleCache3KeyENS_8optionalINS_8weak_ptrINS4_12NativeModuleEEEEEEENS_19__map_value_compareIS6_NS_4pairIKS6_SB_EENS_4lessIS6_EEEENS_9allocatorISG_EEE16__emplace_uniqueIJRSF_SB_EEENSE_INS_15__tree_iteratorISC_PNS_11__tree_nodeISC_PvEElEEbEEDpOT_ENKUlSO_SO_OSB_E_clESO_SO_SZ_ @@ -4182,33 +4181,6 @@ _ZN2v88internal4wasm20WasmCodePointerTable13SweepSegmentsEm _ZN2v88internal4wasm34GetProcessWideWasmCodePointerTableEv _ZN2v84base11LeakyObjectINS_8internal4wasm20WasmCodePointerTableEEC2IJEEEDpOT_ _ZN2v88internal4wasm20WasmCodePointerTable16VectorToFreelistENSt4__Cr6vectorIjNS3_9allocatorIjEEEE -_ZN2v88internal4wasm20WasmCodePointerTable17EntrypointEqualToENS0_15WasmCodePointerEm -_ZNSt4__Cr6vectorIjNS_9allocatorIjEEE20__throw_length_errorEv -_ZZNSt4__Cr6vectorIjNS_9allocatorIjEEE12emplace_backIJRKjEEERjDpOT_ENKUlvE0_clEv -_ZNSt4__Cr6__treeINS_12__value_typeImN2v88internal15WasmCodePointerEEENS_19__map_value_compareImNS_4pairIKmS4_EENS_4lessImEEEENS_9allocatorIS9_EEE14__tree_deleterclEPNS_11__tree_nodeIS5_PvEE -_ZN2v84base30EmulatedVirtualAddressSubspaceC2EPNS_19VirtualAddressSpaceEmmm -_ZN2v84base30EmulatedVirtualAddressSubspaceC1EPNS_19VirtualAddressSpaceEmmm -_ZN2v84base30EmulatedVirtualAddressSubspaceD2Ev -_ZN2v84base30EmulatedVirtualAddressSubspaceD1Ev -_ZN2v84base30EmulatedVirtualAddressSubspaceD0Ev -_ZN2v84base30EmulatedVirtualAddressSubspace13SetRandomSeedEl -_ZN2v84base30EmulatedVirtualAddressSubspace17RandomPageAddressEv -_ZN2v84base30EmulatedVirtualAddressSubspace13AllocatePagesEmmmNS_15PagePermissionsE -_ZN2v84base30EmulatedVirtualAddressSubspace9FreePagesEmm -_ZN2v84base30EmulatedVirtualAddressSubspace19AllocateSharedPagesEmmNS_15PagePermissionsENS_18SharedMemoryHandleEm -_ZN2v84base30EmulatedVirtualAddressSubspace15FreeSharedPagesEmm -_ZN2v84base30EmulatedVirtualAddressSubspace18SetPagePermissionsEmmNS_15PagePermissionsE -_ZN2v84base30EmulatedVirtualAddressSubspace19AllocateGuardRegionEmm -_ZN2v84base30EmulatedVirtualAddressSubspace15FreeGuardRegionEmm -_ZN2v84base30EmulatedVirtualAddressSubspace20CanAllocateSubspacesEv -_ZN2v84base30EmulatedVirtualAddressSubspace16AllocateSubspaceEmmmNS_15PagePermissionsENSt4__Cr8optionalIiEENS4_INS_18SharedMemoryHandleEEE -_ZN2v84base30EmulatedVirtualAddressSubspace13RecommitPagesEmmNS_15PagePermissionsE -_ZN2v84base30EmulatedVirtualAddressSubspace18DiscardSystemPagesEmm -_ZN2v84base30EmulatedVirtualAddressSubspace13DecommitPagesEmm -_ZN2v84base30EmulatedVirtualAddressSubspace25ActiveMemoryProtectionKeyEv -_ZN2v819VirtualAddressSpace7SetNameERKNSt4__Cr12basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEE -_ZNSt4__Cr6__sortIRNS_6__lessIaaEEPaEEvT0_S5_T_ -_ZNSt4__Cr11__introsortINS_17_ClassicAlgPolicyENS_6ranges4lessEPaLb1EEEvT1_S5_T0_NS_15iterator_traitsIS5_E15difference_typeEb _ZNSt4__Cr18__bitset_partitionINS_17_ClassicAlgPolicyEPdNS_6ranges4lessEEENS_4pairIT0_bEES6_S6_T1_ _ZNSt4__Cr27__insertion_sort_incompleteINS_17_ClassicAlgPolicyENS_6ranges4lessEPdEEbT1_S5_T0_ _ZNSt4__Cr19__partial_sort_implINS_17_ClassicAlgPolicyERNS_6ranges4lessEPdS5_EET1_S6_S6_T2_OT0_ @@ -4346,7 +4318,6 @@ _ZN2v88internal6String11WriteToFlatItEEvNS0_6TaggedIS1_EEPT_jjRKNS0_31SharedStri _ZN2v88internal6String11WriteToFlatIhEEvNS0_6TaggedIS1_EEPT_jjRKNS0_31SharedStringAccessGuardIfNeededE _ZN2v88internal6String12WriteToFlat2IhEEvPT_NS0_6TaggedINS0_10ConsStringEEEjjRKNS0_31SharedStringAccessGuardIfNeededERKNS0_25PerThreadAssertScopeEmptyILb0EJLNS0_19PerThreadAssertTypeE1ELSC_2EEEE _ZN2v88internal6String12WriteToFlat2ItEEvPT_NS0_6TaggedINS0_10ConsStringEEEjjRKNS0_31SharedStringAccessGuardIfNeededERKNS0_25PerThreadAssertScopeEmptyILb0EJLNS0_19PerThreadAssertTypeE1ELSC_2EEEE -_ZN2v88internal21StringCharacterStream14CountUtf8BytesEj _ZN2v88internal21StringCharacterStream14WriteUtf8BytesEjPcm _ZN2v88internal6String9ToCStringEPm _ZN2v88internal6String11ToStdStringEv @@ -4404,7 +4375,7 @@ _ZN2v84base11SmallVectorIiLm32ENSt4__Cr9allocatorIiEEE11FreeStorageEv _ZN2v84base11SmallVectorIiLm32ENSt4__Cr9allocatorIiEEE4GrowEm _ZN2v84base11SmallVectorIiLm32ENSt4__Cr9allocatorIiEEE4GrowEv _ZN2v88internal12StringSearchIhhE16SingleCharSearchEPS2_NS_4base6VectorIKhEEi -_ZN2v88internal12StringSearchIttE24BoyerMooreHorspoolSearchEPS2_NS_4base6VectorIKtEEi +_ZN2v88internal12StringSearchIhhE12LinearSearchEPS2_NS_4base6VectorIKhEEi _ZN2v88internal12StringSearchIttE23PopulateBoyerMooreTableEv _ZN2v88internal12StringSearchIttE16BoyerMooreSearchEPS2_NS_4base6VectorIKtEEi _ZN2v88internal12StringHasher20HashSequentialStringIhEEjPKT_jNS0_8HashSeedE @@ -4594,6 +4565,7 @@ _ZN2v88internal7Factory32NewJSArrayWithUnverifiedElementsENS0_12DirectHandleINS0 _ZN2v88internal7Factory33NewJSArrayForTemplateLiteralArrayENS0_12DirectHandleINS0_10FixedArrayEEES4_ii _ZN2v88internal7Factory17NewJSArrayStorageENS0_12DirectHandleINS0_7JSArrayEEEjjNS0_26ArrayStorageAllocationModeE _ZN2v88internal7Factory20NewJSModuleNamespaceEv +_ZN2v88internal7Factory28NewJSDeferredModuleNamespaceEv _ZN2v88internal7Factory28NewJSUint8ArraySetFromResultENS0_12DirectHandleINS0_5UnionIJNS0_3SmiENS0_10HeapNumberEEEEEES7_ _ZN2v88internal7Factory18NewJSBoundFunctionENS0_12DirectHandleINS0_10JSReceiverEEENS2_INS0_5UnionIJNS0_3SmiENS0_10HeapNumberENS0_6BigIntENS0_6StringENS0_6SymbolENS0_7BooleanENS0_4NullENS0_9UndefinedES3_EEEEENS_4base6VectorINS2_INS0_6ObjectEEEEENS2_INS5_IJS3_SC_EEEEE _ZN2v88internal7Factory29NewUninitializedJSGlobalProxyEi @@ -5273,6 +5245,7 @@ _ZN2v88internal24UnreachableObjectsFilter14MarkingVisitor15VisitCodeTargetENS0_6 _ZN2v88internal24UnreachableObjectsFilter14MarkingVisitor20VisitEmbeddedPointerENS0_6TaggedINS0_17InstructionStreamEEEPNS0_9RelocInfoE _ZN2v88internal24UnreachableObjectsFilter14MarkingVisitor15VisitMapPointerENS0_6TaggedINS0_10HeapObjectEEE _ZN2v88internal24UnreachableObjectsFilter14MarkingVisitor17VisitRootPointersENS0_4RootEPKcNS0_14FullObjectSlotES6_ +_ZN2v88internal24UnreachableObjectsFilter14MarkingVisitor27VisitCompressedRootPointersENS0_4RootEPKcNS0_27OffHeapCompressedObjectSlotINS0_27V8HeapCompressionSchemeImplINS0_8MainCageEEEEESA_ _ZZNSt4__Cr12__hash_tableIN2v88internal6TaggedINS2_10HeapObjectEEENS2_6Object6HasherENS_8equal_toIS5_EENS_9allocatorIS5_EEE16__emplace_uniqueIJRKS5_EEENS_4pairINS_15__hash_iteratorIPNS_11__hash_nodeIS5_PvEEEEbEEDpOT_ENKUlSF_SF_E_clESF_SF_ _ZNSt4__Cr12__hash_tableIN2v88internal6TaggedINS2_10HeapObjectEEENS2_6Object6HasherENS_8equal_toIS5_EENS_9allocatorIS5_EEE11__do_rehashILb1EEEvm _ZZNSt4__Cr6vectorIN2v88internal6TaggedINS2_10HeapObjectEEENS_9allocatorIS5_EEE12emplace_backIJRKS5_EEERS5_DpOT_ENKUlvE0_clEv @@ -5375,6 +5348,7 @@ _ZN2v88internal23FixedWeakBodyDescriptorILi4ELi8ELi8EE11IterateBodyINS0_12_GLOBA _ZN2v88internal11CodeWrapper14BodyDescriptor11IterateBodyINS0_12_GLOBAL__N_137PromotedPageRecordMigratedSlotVisitorEEEvNS0_6TaggedINS0_3MapEEENS6_INS0_10HeapObjectEEEiPT_ _ZN2v88internal24FixedRangeBodyDescriptorILi12ELi20EE11IterateBodyINS0_12_GLOBAL__N_137PromotedPageRecordMigratedSlotVisitorEEEvNS0_6TaggedINS0_3MapEEENS6_INS0_10HeapObjectEEEiPT_ _ZN2v88internal24FixedRangeBodyDescriptorILi12ELi16EE11IterateBodyINS0_12_GLOBAL__N_137PromotedPageRecordMigratedSlotVisitorEEEvNS0_6TaggedINS0_3MapEEENS6_INS0_10HeapObjectEEEiPT_ +_ZN2v88internal25SuffixRangeBodyDescriptorILi8EE11IterateBodyINS0_12_GLOBAL__N_137PromotedPageRecordMigratedSlotVisitorEEEvNS0_6TaggedINS0_3MapEEENS6_INS0_10HeapObjectEEEiPT_ _ZN2v88internal12IrRegExpData14BodyDescriptor11IterateBodyINS0_12_GLOBAL__N_137PromotedPageRecordMigratedSlotVisitorEEEvNS0_6TaggedINS0_3MapEEENS6_INS0_10HeapObjectEEEiPT_ _ZN2v88internal10RegExpData14BodyDescriptor11IterateBodyINS0_12_GLOBAL__N_137PromotedPageRecordMigratedSlotVisitorEEEvNS0_6TaggedINS0_3MapEEENS6_INS0_10HeapObjectEEEiPT_ _ZN2v88internal14WasmImportData14BodyDescriptor11IterateBodyINS0_12_GLOBAL__N_137PromotedPageRecordMigratedSlotVisitorEEEvNS0_6TaggedINS0_3MapEEENS6_INS0_10HeapObjectEEEiPT_ @@ -5542,7 +5516,6 @@ _ZN2v88internal10HeapObject16RehashBasedOnMapINS0_7IsolateEEEvPT_ _ZN2v88internal9HashTableINS0_15ObjectHashTableENS0_20ObjectHashTableShapeEE6RehashENS0_16PtrComprCageBaseE _ZN2v88internal9HashTableINS0_14NameDictionaryENS0_19NameDictionaryShapeEE6RehashENS0_16PtrComprCageBaseE _ZN2v88internal9HashTableINS0_20NameToIndexHashTableENS0_16NameToIndexShapeEE6RehashENS0_16PtrComprCageBaseE -_ZN2v88internal9HashTableINS0_20SimpleNameDictionaryENS0_25SimpleNameDictionaryShapeEE6RehashENS0_16PtrComprCageBaseE _ZN2v88internal9HashTableINS0_22SimpleNumberDictionaryENS0_27SimpleNumberDictionaryShapeEE6RehashENS0_16PtrComprCageBaseE _ZN2v88internal5JSMap6RehashEPNS0_7IsolateE _ZN2v88internal5JSSet6RehashEPNS0_7IsolateE @@ -5604,7 +5577,6 @@ _ZN2v88internal19ObjectHashTableBaseINS0_18EphemeronHashTableENS0_23EphemeronHas _ZN2v88internal9HashTableINS0_18ObjectTwoHashTableENS0_25ObjectMultiHashTableShapeILi2EEEE6RehashENS0_16PtrComprCageBaseE _ZN2v88internal9HashTableINS0_18ObjectTwoHashTableENS0_25ObjectMultiHashTableShapeILi2EEEE4SwapENS0_13InternalIndexES6_NS0_16WriteBarrierModeE _ZN2v88internal9HashTableINS0_18ObjectTwoHashTableENS0_25ObjectMultiHashTableShapeILi2EEEE6RehashENS0_16PtrComprCageBaseENS0_6TaggedIS2_EE -_ZN2v88internal10DictionaryINS0_22SimpleNumberDictionaryENS0_27SimpleNumberDictionaryShapeEE8SetEntryENS0_13InternalIndexENS0_6TaggedINS0_6ObjectEEES8_NS0_15PropertyDetailsE _ZN2v88internal10DictionaryINS0_22SimpleNumberDictionaryENS0_27SimpleNumberDictionaryShapeEE3AddINS0_7IsolateENS0_6HandleELNS0_14AllocationTypeE0EQsr3stdE16is_convertible_vITL0_0_IT_ENS0_12DirectHandleISA_EEEEET0_IS2_EPSA_SF_jNSC_INS0_6ObjectEEENS0_15PropertyDetailsEPNS0_13InternalIndexE _ZN2v88internal9HashTableINS0_16NumberDictionaryENS0_21NumberDictionaryShapeEE4SwapENS0_13InternalIndexES5_NS0_16WriteBarrierModeE _ZN2v88internal9HashTableINS0_16NumberDictionaryENS0_21NumberDictionaryShapeEE6RehashENS0_16PtrComprCageBaseENS0_6TaggedIS2_EE @@ -5677,7 +5649,6 @@ _ZN2v88internallsERNSt4__Cr13basic_ostreamIcNS1_11char_traitsIcEEEENS0_12Instanc _ZN2v88internal6Object11OptimalTypeENS0_6TaggedIS1_EEPNS0_7IsolateENS0_14RepresentationE _ZN2v88internal6Object13NewStorageForEPNS0_7IsolateENS0_6HandleINS0_5UnionIJNS0_3SmiENS0_10HeapNumberENS0_6BigIntENS0_6StringENS0_6SymbolENS0_7BooleanENS0_4NullENS0_9UndefinedENS0_10JSReceiverENS0_4HoleEEEEEENS0_14RepresentationE _ZN2v88internal6Object12ToObjectImplEPNS0_7IsolateENS0_12DirectHandleIS1_EEPKc -_ZN2v88internal6Object23CreateListFromArrayLikeEPNS0_7IsolateENS0_12DirectHandleIS1_EENS0_12ElementTypesE _ZN2v88internal6Object22GetLengthFromArrayLikeEPNS0_7IsolateENS0_12DirectHandleINS0_10JSReceiverEEE _ZN2v88internal6Object24InstantiateIfLazyClosureEPNS0_14LookupIteratorENS0_12DirectHandleIS1_EE _ZN2v88internal6Object11SetPropertyEPNS0_14LookupIteratorENS0_12DirectHandleIS1_EENS0_11StoreOriginENS_5MaybeINS0_11ShouldThrowEEE @@ -5821,14 +5792,6 @@ _ZNSt4__Cr26__insertion_sort_unguardedINS_17_ClassicAlgPolicyERN2v88internal19En _ZNSt4__Cr31__partition_with_equals_on_leftINS_17_ClassicAlgPolicyEN2v88internal10AtomicSlotERNS3_19EnumIndexComparatorINS3_14NameDictionaryEEEEET0_S9_S9_T1_ _ZNSt4__Cr32__partition_with_equals_on_rightINS_17_ClassicAlgPolicyEN2v88internal10AtomicSlotERNS3_19EnumIndexComparatorINS3_14NameDictionaryEEEEENS_4pairIT0_bEESA_SA_T1_ _ZNSt4__Cr27__insertion_sort_incompleteINS_17_ClassicAlgPolicyERN2v88internal19EnumIndexComparatorINS3_14NameDictionaryEEENS3_10AtomicSlotEEEbT1_S9_T0_ -_ZNSt4__Cr19__partial_sort_implINS_17_ClassicAlgPolicyERN2v88internal19EnumIndexComparatorINS3_14NameDictionaryEEENS3_10AtomicSlotES8_EET1_S9_S9_T2_OT0_ -_ZNSt4__Cr11__make_heapINS_17_ClassicAlgPolicyERN2v88internal19EnumIndexComparatorINS3_14NameDictionaryEEENS3_10AtomicSlotEEEvT1_S9_OT0_ -_ZNSt4__Cr11__sift_downINS_17_ClassicAlgPolicyELb0ERN2v88internal19EnumIndexComparatorINS3_14NameDictionaryEEENS3_10AtomicSlotEEEvT2_OT1_NS_15iterator_traitsIS9_E15difference_typeESE_ -_ZNSt4__Cr11__sift_downINS_17_ClassicAlgPolicyELb1ERN2v88internal19EnumIndexComparatorINS3_14NameDictionaryEEENS3_10AtomicSlotEEEvT2_OT1_NS_15iterator_traitsIS9_E15difference_typeESE_ -_ZNSt4__Cr10__pop_heapINS_17_ClassicAlgPolicyEN2v88internal19EnumIndexComparatorINS3_14NameDictionaryEEENS3_10AtomicSlotEEEvT1_S8_RT0_NS_15iterator_traitsIS8_E15difference_typeE -_ZNSt4__Cr11__introsortINS_17_ClassicAlgPolicyERN2v88internal19EnumIndexComparatorINS3_16GlobalDictionaryEEENS3_10AtomicSlotELb0EEEvT1_S9_T0_NS_15iterator_traitsIS9_E15difference_typeEb -_ZNSt4__Cr7__sort3INS_17_ClassicAlgPolicyERN2v88internal19EnumIndexComparatorINS3_16GlobalDictionaryEEENS3_10AtomicSlotETnNS_9enable_ifIXnt21__use_branchless_sortIT0_T1_EEiE4typeELi0EEEbSB_SB_SB_SA_ -_ZNSt4__Cr7__sort4INS_17_ClassicAlgPolicyERN2v88internal19EnumIndexComparatorINS3_16GlobalDictionaryEEENS3_10AtomicSlotETnNS_9enable_ifIXnt21__use_branchless_sortIT0_T1_EEiE4typeELi0EEEvSB_SB_SB_SB_SA_ _ZNSt4__Cr10__pop_heapINS_17_ClassicAlgPolicyEN2v88internal19EnumIndexComparatorINS3_16GlobalDictionaryEEENS3_10AtomicSlotEEEvT1_S8_RT0_NS_15iterator_traitsIS8_E15difference_typeE _ZN2v88internal17PrototypeIterator23AdvanceFollowingProxiesEv _ZN2v88internal17PrototypeIterator43AdvanceFollowingProxiesIgnoringAccessChecksEv @@ -5900,6 +5863,11 @@ _ZN2v88internal10JSReceiver17SetIntegrityLevelEPNS0_7IsolateENS0_12DirectHandleI _ZN2v88internal8JSObject18TestIntegrityLevelEPNS0_7IsolateENS0_12DirectHandleIS1_EENS0_18PropertyAttributesE _ZN2v88internal8JSObject31PreventExtensionsWithTransitionILNS0_18PropertyAttributesE4EEENS_5MaybeIbEEPNS0_7IsolateENS0_12DirectHandleIS1_EENS0_11ShouldThrowE _ZN2v88internal8JSObject31PreventExtensionsWithTransitionILNS0_18PropertyAttributesE5EEENS_5MaybeIbEEPNS0_7IsolateENS0_12DirectHandleIS1_EENS0_11ShouldThrowE +_ZN2v88internal10JSReceiver17PreventExtensionsEPNS0_7IsolateENS0_12DirectHandleIS1_EENS0_11ShouldThrowE +_ZN2v88internal10JSReceiver18TestIntegrityLevelEPNS0_7IsolateENS0_12DirectHandleIS1_EENS0_18PropertyAttributesE +_ZN2v88internal12_GLOBAL__N_125GenericTestIntegrityLevelEPNS0_7IsolateENS0_12DirectHandleINS0_10JSReceiverEEENS0_18PropertyAttributesE +_ZN2v88internal8JSObject17PreventExtensionsEPNS0_7IsolateENS0_12DirectHandleIS1_EENS0_11ShouldThrowE +_ZN2v88internal10JSReceiver12IsExtensibleEPNS0_7IsolateENS0_12DirectHandleIS1_EE _ZN2v88internal25FastGetOwnValuesOrEntriesEPNS0_7IsolateENS0_12DirectHandleINS0_10JSReceiverEEEbPNS0_6HandleINS0_10FixedArrayEEE _ZN2v88internal8JSObject14FastPropertyAtEPNS0_7IsolateENS0_12DirectHandleIS1_EENS0_14RepresentationENS0_10FieldIndexE _ZN2v88internal21GetOwnValuesOrEntriesEPNS0_7IsolateENS0_12DirectHandleINS0_10JSReceiverEEENS0_14PropertyFilterEbb @@ -6396,9 +6364,7 @@ _ZN2v88internal20MarkCompactCollector28CustomRootBodyMarkingVisitorD0Ev _ZN2v88internal20MarkCompactCollector28CustomRootBodyMarkingVisitor13VisitPointersENS0_6TaggedINS0_10HeapObjectEEENS0_20CompressedObjectSlotES6_ _ZN2v88internal20MarkCompactCollector28CustomRootBodyMarkingVisitor13VisitPointersENS0_6TaggedINS0_10HeapObjectEEENS0_25CompressedMaybeObjectSlotES6_ _ZN2v88internal20MarkCompactCollector28CustomRootBodyMarkingVisitor29VisitInstructionStreamPointerENS0_6TaggedINS0_4CodeEEENS0_27OffHeapCompressedObjectSlotINS0_29ExternalCodeCompressionSchemeEEE -_ZN2v88internal20MarkCompactCollector23SharedHeapObjectVisitor12VisitPointerENS0_6TaggedINS0_10HeapObjectEEENS0_25CompressedMaybeObjectSlotE -_ZN2v88internal20MarkCompactCollector23SharedHeapObjectVisitor15VisitCodeTargetENS0_6TaggedINS0_17InstructionStreamEEEPNS0_9RelocInfoE -_ZN2v88internal20MarkCompactCollector23SharedHeapObjectVisitor20VisitEmbeddedPointerENS0_6TaggedINS0_17InstructionStreamEEEPNS0_9RelocInfoE +_ZN2v88internal20MarkCompactCollector28CustomRootBodyMarkingVisitor12VisitPointerENS0_6TaggedINS0_10HeapObjectEEENS0_20CompressedObjectSlotE _ZN2v88internal20MarkCompactCollector23SharedHeapObjectVisitor15VisitMapPointerENS0_6TaggedINS0_10HeapObjectEEE _ZN2v88internal13RememberedSetILNS0_17RememberedSetTypeE3EE6InsertILNS0_10AccessModeE1EEEvPNS0_11MutablePageEm _ZNSt4__Cr26__throw_bad_variant_accessEv @@ -6433,6 +6399,8 @@ _ZN2v88internal13NativeContext14BodyDescriptor11IterateBodyINS0_18MainMarkingVis _ZN2v88internal24FixedRangeBodyDescriptorILi12ELi24EE11IterateBodyINS0_18MainMarkingVisitorEEEvNS0_6TaggedINS0_3MapEEENS5_INS0_10HeapObjectEEEiPT_ _ZN2v88internal24FixedRangeBodyDescriptorILi4ELi32EE11IterateBodyINS0_18MainMarkingVisitorEEEvNS0_6TaggedINS0_3MapEEENS5_INS0_10HeapObjectEEEiPT_ _ZN2v88internal12PreparseData14BodyDescriptor11IterateBodyINS0_18MainMarkingVisitorEEEvNS0_6TaggedINS0_3MapEEENS5_INS0_10HeapObjectEEEiPT_ +_ZN2v88internal24FixedRangeBodyDescriptorILi4ELi20EE11IterateBodyINS0_18MainMarkingVisitorEEEvNS0_6TaggedINS0_3MapEEENS5_INS0_10HeapObjectEEEiPT_ +_ZN2v88internal7JSProxy14BodyDescriptor11IterateBodyINS0_18MainMarkingVisitorEEEvNS0_6TaggedINS0_3MapEEENS5_INS0_10HeapObjectEEEiPT_ _ZNK2v88internal18MarkingVisitorBaseINS0_18MainMarkingVisitorEE23ShouldFlushBaselineCodeENS0_6TaggedINS0_10JSFunctionEEE _ZNK2v88internal10JSFunction8raw_codeENS0_17IsolateForSandboxENS_14AcquireLoadTagE _ZN2v88internal10JSFunction30NeedsResetDueToFlushedBytecodeEPNS0_7IsolateENS0_6TaggedINS0_18SharedFunctionInfoEEENS4_INS0_4CodeEEE @@ -6504,8 +6472,7 @@ _ZN2v88internal25RecordMigratedSlotVisitor15VisitMapPointerENS0_6TaggedINS0_10He _ZN2v88internal25RecordMigratedSlotVisitor12VisitPointerENS0_6TaggedINS0_10HeapObjectEEENS0_20CompressedObjectSlotE _ZN2v88internal25RecordMigratedSlotVisitor18RecordMigratedSlotENS0_6TaggedINS0_10HeapObjectEEENS2_INS0_5UnionIJNS0_3SmiES3_NS0_4WeakIS3_EEEEEEEm _ZN2v88internal13RememberedSetILNS0_17RememberedSetTypeE6EE6InsertILNS0_10AccessModeE1EEEvPNS0_11MutablePageEm -_ZN2v88internal25SmallOrderedHashTableImplINS0_19SmallOrderedHashSetEE14BodyDescriptor11IterateBodyINS0_25RecordMigratedSlotVisitorEEEvNS0_6TaggedINS0_3MapEEENS7_INS0_10HeapObjectEEEiPT_ -_ZN2v88internal25SmallOrderedHashTableImplINS0_26SmallOrderedNameDictionaryEE14BodyDescriptor11IterateBodyINS0_25RecordMigratedSlotVisitorEEEvNS0_6TaggedINS0_3MapEEENS7_INS0_10HeapObjectEEEiPT_ +_ZN2v88internal13RememberedSetILNS0_17RememberedSetTypeE5EE6InsertILNS0_10AccessModeE1EEEvPNS0_11MutablePageEm _ZN2v88internal24FixedRangeBodyDescriptorILi4ELi56EE11IterateBodyINS0_25RecordMigratedSlotVisitorEEEvNS0_6TaggedINS0_3MapEEENS5_INS0_10HeapObjectEEEiPT_ _ZN2v88internal22SubclassBodyDescriptorINS0_19FixedBodyDescriptorILi4ELi32ELi32EEENS2_ILi32ELi76ELi76EEEE11IterateBodyINS0_25RecordMigratedSlotVisitorEEEvNS0_6TaggedINS0_3MapEEENS8_INS0_10HeapObjectEEEiPT_ _ZN2v88internal19SwissNameDictionary14BodyDescriptor11IterateBodyINS0_25RecordMigratedSlotVisitorEEEvNS0_6TaggedINS0_3MapEEENS5_INS0_10HeapObjectEEEiPT_ @@ -6532,8 +6499,8 @@ _ZN2v88internal10JSFunction14BodyDescriptor11IterateBodyINS0_25RecordMigratedSlo _ZN2v88internal8JSRegExp14BodyDescriptor11IterateBodyINS0_25RecordMigratedSlotVisitorEEEvNS0_6TaggedINS0_3MapEEENS5_INS0_10HeapObjectEEEiPT_ _ZN2v88internal26JSSynchronizationPrimitive14BodyDescriptor11IterateBodyINS0_25RecordMigratedSlotVisitorEEEvNS0_6TaggedINS0_3MapEEENS5_INS0_10HeapObjectEEEiPT_ _ZN2v88internal12JSTypedArray14BodyDescriptor11IterateBodyINS0_25RecordMigratedSlotVisitorEEEvNS0_6TaggedINS0_3MapEEENS5_INS0_10HeapObjectEEEiPT_ -_ZN2v88internal23WasmTrustedInstanceData14BodyDescriptor11IterateBodyINS0_25RecordMigratedSlotVisitorEEEvNS0_6TaggedINS0_3MapEEENS5_INS0_10HeapObjectEEEiPT_ -_ZN2v88internal19WasmSuspenderObject14BodyDescriptor11IterateBodyINS0_25RecordMigratedSlotVisitorEEEvNS0_6TaggedINS0_3MapEEENS5_INS0_10HeapObjectEEEiPT_ +_ZN2v88internal9JSWeakRef14BodyDescriptor11IterateBodyINS0_25RecordMigratedSlotVisitorEEEvNS0_6TaggedINS0_3MapEEENS5_INS0_10HeapObjectEEEiPT_ +_ZN2v88internal16WasmGlobalObject14BodyDescriptor11IterateBodyINS0_25RecordMigratedSlotVisitorEEEvNS0_6TaggedINS0_3MapEEENS5_INS0_10HeapObjectEEEiPT_ _ZN2v88internal8JSObject18FastBodyDescriptor11IterateBodyINS0_25RecordMigratedSlotVisitorEEEvNS0_6TaggedINS0_3MapEEENS5_INS0_10HeapObjectEEEiPT_ _ZN2v88internal28JSAPIObjectWithEmbedderSlots14BodyDescriptor11IterateBodyINS0_25RecordMigratedSlotVisitorEEEvNS0_6TaggedINS0_3MapEEENS5_INS0_10HeapObjectEEEiPT_ _ZN2v88internal25PrecisePagePinningVisitorD0Ev @@ -6563,11 +6530,6 @@ _ZN2v88internal23EvacuateNewSpaceVisitor5VisitENS0_6TaggedINS0_10HeapObjectEEENS _ZN2v88internal19EvacuateVisitorBase16RawMigrateObjectILNS1_13MigrationModeE0EEEvPS1_NS0_6TaggedINS0_10HeapObjectEEES7_NS_4base11StrongAliasINS0_17HeapObjectSizeTagEjEENS0_15AllocationSpaceE _ZN2v88internal19EvacuateVisitorBaseD0Ev _ZN2v88internal19EvacuateVisitorBase17TryEvacuateObjectENS0_15AllocationSpaceENS0_6TaggedINS0_10HeapObjectEEENS_4base11StrongAliasINS0_17HeapObjectSizeTagEjEEPS5_ -_ZN2v88internal19EvacuationAllocator8AllocateENS0_15AllocationSpaceENS_4base11StrongAliasINS0_17HeapObjectSizeTagEjEENS0_19AllocationAlignmentE -_ZN2v88internal32EvacuateNewToOldSpacePageVisitorD0Ev -_ZN2v88internal19EvacuateVisitorBaseD2Ev -_ZN2v88internal23EvacuateOldSpaceVisitorD0Ev -_ZN2v88internal23EvacuateOldSpaceVisitor5VisitENS0_6TaggedINS0_10HeapObjectEEENS_4base11StrongAliasINS0_17HeapObjectSizeTagEjEE _ZN2v88internal19EvacuateVisitorBase16RawMigrateObjectILNS1_13MigrationModeE1EEEvPS1_NS0_6TaggedINS0_10HeapObjectEEES7_NS_4base11StrongAliasINS0_17HeapObjectSizeTagEjEENS0_15AllocationSpaceE _ZZNSt4__Cr6vectorIPN2v88internal17MigrationObserverENS_9allocatorIS4_EEE12emplace_backIJRKS4_EEERS4_DpOT_ENKUlvE0_clEv _ZNSt4__Cr6vectorIPN2v88internal17MigrationObserverENS_9allocatorIS4_EEE20__throw_length_errorEv @@ -6618,6 +6580,7 @@ _ZN4absl18container_internal23TypeErasedApplyToSlotFnIN2v88internal6Object6Hashe _ZN4absl18container_internal12raw_hash_setINS0_17FlatHashMapPolicyIN2v88internal6TaggedINS4_10HeapObjectEEENS3_4base11SmallVectorIS7_Lm1ENSt4__Cr9allocatorIS7_EEEEEEJNS4_6Object6HasherENSF_12KeyEqualSafeEEE19transfer_n_slots_fnEPvSJ_SJ_m _ZN4absl18container_internal12raw_hash_setINS0_17FlatHashMapPolicyIN2v88internal6TaggedINS4_10HeapObjectEEENS3_4base11SmallVectorIS7_Lm1ENSt4__Cr9allocatorIS7_EEEEEEJNS4_6Object6HasherENSF_12KeyEqualSafeEEE46transfer_unprobed_elements_to_next_capacity_fnERNS0_12CommonFieldsEPKNS0_6ctrl_tEPvSO_PFvSO_hmmE _ZN4absl18container_internal15map_slot_policyIN2v88internal6TaggedINS3_10HeapObjectEEENS2_4base11SmallVectorIS6_Lm1ENSt4__Cr9allocatorIS6_EEEEE8transferINSA_INS9_4pairIKS6_SC_EEEEEEDaPT_PNS0_13map_slot_typeIS6_SC_EESN_ +_ZN4heap4base8WorklistIN2v88internal9EphemeronELt64EE5Local18PublishPushSegmentEv _ZN2v88internal20MarkCompactCollector22ProcessMarkingWorklistILNS1_29MarkingWorklistProcessingModeE1EEENSt4__Cr4pairImmEENS_4base9TimeDeltaEm _ZN4absl18container_internal12raw_hash_setINS0_17FlatHashMapPolicyIN2v88internal6TaggedINS4_10HeapObjectEEENS3_4base11SmallVectorIS7_Lm1ENSt4__Cr9allocatorIS7_EEEEEEJNS4_6Object6HasherENSF_12KeyEqualSafeEEE5eraseENSI_8iteratorE _ZNK4heap4base8WorklistIN2v88internal9EphemeronELt64EE5Local10NewSegmentEv @@ -6680,6 +6643,8 @@ _ZN2v88internal16MarkingWorklists5Local7IsEmptyEv _ZNK2v88internal16MarkingWorklists5Local14IsWrapperEmptyEv _ZN2v88internal16MarkingWorklists5Local9ShareWorkEv _ZNSt4__Cr8for_eachINS_11__wrap_iterIPN4heap4base8WorklistIN2v88internal6TaggedINS6_10HeapObjectEEELt64EE5LocalEEEZNS6_16MarkingWorklists5Local9ShareWorkEvE3$_0EET0_T_SI_SH_ +_ZN2v88internal16MarkingWorklists5Local11PublishWorkEv +_ZN2v88internal16MarkingWorklists5Local11MergeOnHoldEv _ZZNSt4__Cr12__hash_tableINS_17__hash_value_typeImjEENS_22__unordered_map_hasherImNS_4pairIKmjEEN2v88internal16MarkingWorklists11ContextHashENS_8equal_toImEEEENS_21__unordered_map_equalImS6_SC_SA_EENS_9allocatorIS6_EEE16__emplace_uniqueIJRmjEEENS4_INS_15__hash_iteratorIPNS_11__hash_nodeIS2_PvEEEEbEEDpOT_ENKUlRS5_SK_OjE_clESV_SK_SW_ _ZN2v88internal11WeakObjects5LocalC2EPS1_ _ZN2v88internal11WeakObjects5LocalC1EPS1_ @@ -6967,6 +6932,7 @@ _ZN2v88internal18FlatStringToDoubleENS0_6TaggedINS0_6StringEEENS0_14ConversionFl _ZN2v88internal17TryStringToDoubleEPNS0_12LocalIsolateENS0_12DirectHandleINS0_6StringEEEj _ZN2v88internal14TryStringToIntEPNS0_12LocalIsolateENS0_12DirectHandleINS0_6StringEEEi _ZN2v88internal14IsSpecialIndexENS0_6TaggedINS0_6StringEEE +_ZN2v88internal14IsSpecialIndexENS0_6TaggedINS0_6StringEEERNS0_31SharedStringAccessGuardIfNeededE _ZN2v88internal25InternalStringToIntDoubleILi1EtEEdPKT0_S4_bb _ZN2v88internal25InternalStringToIntDoubleILi2EtEEdPKT0_S4_bb _ZN2v88internal25InternalStringToIntDoubleILi3EtEEdPKT0_S4_bb @@ -7331,6 +7297,8 @@ _ZN2v88internal12DeserializerINS0_12LocalIsolateEE13ReadRootArrayINS0_21SlotAcce _ZN2v88internal12DeserializerINS0_12LocalIsolateEE22ReadStartupObjectCacheINS0_21SlotAccessorForHandleIS2_EEEEihT_ _ZN2v88internal12DeserializerINS0_12LocalIsolateEE25ReadSharedHeapObjectCacheINS0_21SlotAccessorForHandleIS2_EEEEihT_ _ZN2v88internal12DeserializerINS0_12LocalIsolateEE21ReadExternalReferenceINS0_21SlotAccessorForHandleIS2_EEEEihT_ +_ZN2v88internal12DeserializerINS0_12LocalIsolateEE24ReadRawExternalReferenceINS0_21SlotAccessorForHandleIS2_EEEEihT_ +_ZN2v88internal12DeserializerINS0_12LocalIsolateEE21ReadAttachedReferenceINS0_21SlotAccessorForHandleIS2_EEEEihT_ _ZN2v88internal12DeserializerINS0_12LocalIsolateEE23ReadOffHeapBackingStoreINS0_24SlotAccessorForRootSlotsEEEihT_ _ZN2v88internal12DeserializerINS0_12LocalIsolateEE16ReadApiReferenceINS0_24SlotAccessorForRootSlotsEEEihT_ _ZN2v88internal12DeserializerINS0_12LocalIsolateEE13ReadHotObjectINS0_24SlotAccessorForRootSlotsEEEihT_ @@ -7347,6 +7315,18 @@ _ZN2v88internal20FixedStringAllocator8allocateEj _ZN2v88internal20FixedStringAllocator4growEPj _ZN2v88internal12StringStream3PutEc _ZN2v88internal12StringStream3AddENS_4base6VectorIKcEENS3_INS1_6FmtElmEEE +_ZN2v88internal12StringStream13PrintUsingMapEPNS0_7IsolateENS0_6TaggedINS0_8JSObjectEEE +_ZN2v88internal12StringStream15PrintFixedArrayENS0_6TaggedINS0_10FixedArrayEEEj +_ZN2v88internal12StringStream14PrintByteArrayENS0_6TaggedINS0_9ByteArrayEEE +_ZN2v88internal12StringStream25PrintMentionedObjectCacheEPNS0_7IsolateE +_ZN2v88internal12StringStream27PrintSecurityTokenIfChangedEPNS0_7IsolateENS0_6TaggedINS0_10JSFunctionEEE +_ZN2v88internal12StringStream13PrintFunctionEPNS0_7IsolateENS0_6TaggedINS0_10JSFunctionEEENS4_INS0_6ObjectEEE +_ZN2v88internal12StringStream14PrintPrototypeEPNS0_7IsolateENS0_6TaggedINS0_10JSFunctionEEENS4_INS0_6ObjectEEE +_ZN2v88internal19HeapStringAllocator4growEPj +_ZN2v88internal19HeapStringAllocatorD2Ev +_ZN2v88internal19HeapStringAllocatorD0Ev +_ZN2v88internal15StringAllocatorD2Ev +_ZN2v88internal20FixedStringAllocatorD0Ev _ZZNSt4__Cr6vectorIN2v88internal6HandleINS2_10HeapObjectEEENS_9allocatorIS5_EEE12emplace_backIJS5_EEERS5_DpOT_ENKUlvE0_clEv _ZN2v88internal9ScopeInfo6CreateINS0_7IsolateEEENS0_6HandleIS1_EEPT_PNS0_4ZoneEPNS0_5ScopeENS0_17MaybeDirectHandleIS1_EENS0_12FunctionKindE _ZN2v88internal20SourceTextModuleInfo3NewINS0_7IsolateEEENS0_12DirectHandleIS1_EEPT_PNS0_4ZoneEPNS0_26SourceTextModuleDescriptorE @@ -7624,7 +7604,6 @@ _ZN2v88internal18BasicBlockProfiler11ResetCountsEPNS0_7IsolateE _ZN2v88internal18BasicBlockProfiler7HasDataEPNS0_7IsolateE _ZN2v88internal18BasicBlockProfiler5PrintEPNS0_7IsolateERNSt4__Cr13basic_ostreamIcNS4_11char_traitsIcEEEE _ZN2v88internallsERNSt4__Cr13basic_ostreamIcNS1_11char_traitsIcEEEERKNS0_22BasicBlockProfilerDataE -_ZNSt4__Cr12__hash_tableINS_17__hash_value_typeIN2v88internal7BuiltinENS_13unordered_mapIS4_NS3_15CallProbabilityENS_4hashIS4_EENS_8equal_toIS4_EENS_9allocatorINS_4pairIKS4_S6_EEEEEEEENS_22__unordered_map_hasherIS4_NSC_ISD_SG_EES8_SA_EENS_21__unordered_map_equalIS4_SJ_SA_S8_EENSB_ISJ_EEE11__do_rehashILb1EEEvm _ZZNSt4__Cr12__hash_tableINS_17__hash_value_typeIN2v88internal7BuiltinENS3_15CallProbabilityEEENS_22__unordered_map_hasherIS4_NS_4pairIKS4_S5_EENS_4hashIS4_EENS_8equal_toIS4_EEEENS_21__unordered_map_equalIS4_SA_SE_SC_EENS_9allocatorISA_EEE16__emplace_uniqueIJRS9_RS5_EEENS8_INS_15__hash_iteratorIPNS_11__hash_nodeIS6_PvEEEEbEEDpOT_ENKUlSM_SM_SN_E_clESM_SM_SN_ _ZNSt4__Cr12__hash_tableINS_17__hash_value_typeIN2v88internal7BuiltinENS3_15CallProbabilityEEENS_22__unordered_map_hasherIS4_NS_4pairIKS4_S5_EENS_4hashIS4_EENS_8equal_toIS4_EEEENS_21__unordered_map_equalIS4_SA_SE_SC_EENS_9allocatorISA_EEE11__do_rehashILb1EEEvm _ZZNSt4__Cr12__hash_tableINS_17__hash_value_typeIN2v88internal7BuiltinEjEENS_22__unordered_map_hasherIS4_NS_4pairIKS4_jEENS_4hashIS4_EENS_8equal_toIS4_EEEENS_21__unordered_map_equalIS4_S9_SD_SB_EENS_9allocatorIS9_EEE16__emplace_uniqueIJRS4_RiEEENS7_INS_15__hash_iteratorIPNS_11__hash_nodeIS5_PvEEEEbEEDpOT_ENKUlRS8_SL_SM_E_clESX_SL_SM_ @@ -8440,8 +8419,6 @@ _ZN2v88internal16InterpretedFrame19PatchBytecodeOffsetEi _ZN2v88internal16InterpretedFrame18PatchBytecodeArrayENS0_6TaggedINS0_13BytecodeArrayEEE _ZNK2v88internal13BaselineFrame17GetBytecodeOffsetEv _ZN2v88internal4Code30GetBytecodeOffsetForBaselinePCEmNS0_6TaggedINS0_13BytecodeArrayEEE -_ZN2v88internal26FastConstructStubFrameInfoC2Eb -_ZN2v88internal26FastConstructStubFrameInfoC1Eb _ZN2v88internal28BuiltinContinuationFrameInfoC2EiRKNS0_23CallInterfaceDescriptorEPKNS0_21RegisterConfigurationEbNS0_14DeoptimizeKindENS0_23BuiltinContinuationModeENS0_13FrameInfoKindE _ZN2v88internal28BuiltinContinuationFrameInfoC1EiRKNS0_23CallInterfaceDescriptorEPKNS0_21RegisterConfigurationEbNS0_14DeoptimizeKindENS0_23BuiltinContinuationModeENS0_13FrameInfoKindE _ZNK2v88internal10TypedFrame14unchecked_codeEv @@ -8716,6 +8693,15 @@ _ZN2v88internal5Debug19return_value_handleEv _ZN2v88internal16ReturnValueScopeD2Ev _ZN2v88internal16ReturnValueScopeD1Ev _ZN2v88internal5Debug32UpdateDebugInfosForExecutionModeEv +_ZN2v88internal11StructProxy7GetNameEPNS0_7IsolateENS0_12DirectHandleINS0_10WasmStructEEEj +_ZN2v88internal10ArrayProxy14CreateTemplateEPNS_7IsolateE +_ZN2v88internal12_GLOBAL__N_117IndexedDebugProxyINS0_10ArrayProxyELNS1_12DebugProxyIdE8ENS0_9WasmArrayEE13IndexedGetterEjRKNS_20PropertyCallbackInfoINS_5ValueEEE +_ZN2v88internal12_GLOBAL__N_117IndexedDebugProxyINS0_10ArrayProxyELNS1_12DebugProxyIdE8ENS0_9WasmArrayEE12IndexedQueryEjRKNS_20PropertyCallbackInfoINS_7IntegerEEE +_ZN2v88internal12_GLOBAL__N_117IndexedDebugProxyINS0_10ArrayProxyELNS1_12DebugProxyIdE8ENS0_9WasmArrayEE17IndexedEnumeratorERKNS_20PropertyCallbackInfoINS_5ArrayEEE +_ZN2v88internal12_GLOBAL__N_117IndexedDebugProxyINS0_10ArrayProxyELNS1_12DebugProxyIdE8ENS0_9WasmArrayEE17IndexedDescriptorEjRKNS_20PropertyCallbackInfoINS_5ValueEEE +_ZN2v88internal12_GLOBAL__N_112ContextProxy14CreateTemplateEPNS_7IsolateE +_ZN2v88internal12_GLOBAL__N_111LocalsProxy6CreateEPNS0_9WasmFrameE +_ZN2v88internal12_GLOBAL__N_110StackProxy6CreateEPNS0_9WasmFrameE _ZN2v88internal12_GLOBAL__N_112ContextProxy11NamedGetterENS_5LocalINS_4NameEEERKNS_20PropertyCallbackInfoINS_5ValueEEE _ZN2v88internal10JSReceiver11GetPropertyEPNS0_7IsolateENS0_12DirectHandleIS1_EEPKc _ZN2v88internal12_GLOBAL__N_115NamedDebugProxyINS1_11LocalsProxyELNS1_12DebugProxyIdE5ENS0_10FixedArrayEE14CreateTemplateEPNS_7IsolateE @@ -8748,26 +8734,6 @@ _ZN2v88internal4wasm26WasmModuleSignatureStorage19AllocateMoreStorageEm _ZNSt4__Cr6vectorIhNS_9allocatorIhEEE6resizeEm _ZNSt4__Cr6vectorIhNS_9allocatorIhEEE20__throw_length_errorEv _ZNSt4__Cr6vectorINS0_IhNS_9allocatorIhEEEENS1_IS3_EEE24__emplace_back_slow_pathIJS3_EEEPS3_DpOT_ -_ZNSt4__Cr6vectorINS0_IhNS_9allocatorIhEEEENS1_IS3_EEE20__throw_length_errorEv -_ZN2v88internal4wasm17ModuleDecoderImpl20consume_storage_typeEv -_ZN2v88internal4wasm14StructTypeBase17InitializeOffsetsEv -_ZN2v88internal4wasm7Decoder6errorfIJjPKcS5_jS5_EEEvPKhS5_DpT_ -_ZN2v88internal4wasm7Decoder6errorfIJjjPKcEEEvPKhS5_DpT_ -_ZN2v88internal4wasm7Decoder6errorfIJjjjjEEEvPKhPKcDpT_ -_ZN2v88internal4wasm7Decoder6errorfIJjjEEEvPKhPKcDpT_ -_ZN2v88internal4wasm7Decoder6errorfIJjPKcEEEvPKhS5_DpT_ -_ZNK2v88internal4wasm10WasmModule9heap_typeENS1_15ModuleTypeIndexE -_ZNSt4__Cr6vectorIN2v88internal4wasm18CanonicalTypeIndexENS_9allocatorIS4_EEE6resizeEm -_ZN2v88internal4wasm7Decoder6errorfIJjEEEvPKcDpT_ -_ZN2v88internal4wasm7Decoder6errorfIJjjEEEvPKcDpT_ -_ZN2v88internal4wasm7Decoder6errorfIJjPKcS5_jS5_EEEvjS5_DpT_ -_ZN2v88internal4wasm7Decoder6errorfIJjjPKcEEEvjS5_DpT_ -_ZN2v88internal4wasm7Decoder6errorfIJjjjjEEEvjPKcDpT_ -_ZN2v88internal4wasm7Decoder6errorfIJjjEEEvjPKcDpT_ -_ZN2v88internal4wasm7Decoder6errorfIJjPKcEEEvjS5_DpT_ -_ZNSt4__Cr6vectorIN2v88internal4wasm18CanonicalTypeIndexENS_9allocatorIS4_EEE20__throw_length_errorEv -_ZN2v88internal4wasm17ModuleDecoderImpl25DecodeSingleOrGroupImportENS1_12WireBytesRefES3_NS1_20ImportExportKindCodeEb -_ZNSt4__Cr6vectorIN2v88internal4wasm26AsmJsOffsetFunctionEntriesENS_9allocatorIS4_EEE24__emplace_back_slow_pathIJS4_EEEPS4_DpOT_ _ZZNSt4__Cr6vectorIN2v88internal4wasm19CustomSectionOffsetENS_9allocatorIS4_EEE12emplace_backIJS4_EEERS4_DpOT_ENKUlvE0_clEv _ZNSt4__Cr6vectorIN2v88internal4wasm19CustomSectionOffsetENS_9allocatorIS4_EEE20__throw_length_errorEv _ZN2v88internal4wasm12_GLOBAL__N_121ValidateFunctionsTaskD2Ev @@ -8810,17 +8776,12 @@ _ZN7simdutf23atomic_binary_to_base64EPKcmPcNS_14base64_optionsE _ZN7simdutf16binary_to_base64EPKcmPcNS_14base64_optionsE _ZN7simdutf21base64_to_binary_safeEPKcmPcRmNS_14base64_optionsENS_27last_chunk_handling_optionsEb _ZN7simdutf26base64_to_binary_safe_implIcEENS_6resultEPKT_mPcRmNS_14base64_optionsENS_27last_chunk_handling_optionsEb -_ZNK7simdutf7haswell14implementation25utf32_length_from_utf16leEPKDsm -_ZNK7simdutf7haswell14implementation25utf32_length_from_utf16beEPKDsm -_ZNK7simdutf7haswell14implementation22utf16_length_from_utf8EPKcm -_ZNK7simdutf7haswell14implementation41utf8_length_from_utf16le_with_replacementEPKDsm -_ZNK7simdutf7haswell14implementation41utf8_length_from_utf16be_with_replacementEPKDsm -_ZNK7simdutf7haswell14implementation23utf8_length_from_latin1EPKcm -_ZNK7simdutf7haswell14implementation22utf8_length_from_utf32EPKDim -_ZNK7simdutf7haswell14implementation23utf16_length_from_utf32EPKDim -_ZNK7simdutf7haswell14implementation22utf32_length_from_utf8EPKcm -_ZNK7simdutf7haswell14implementation16base64_to_binaryEPKcmPcNS_14base64_optionsENS_27last_chunk_handling_optionsE -_ZN7simdutf7haswell12_GLOBAL__N_16base6422compress_decode_base64ILb0ELb1ELb1EcEENS_11full_resultEPcPKT2_mNS_14base64_optionsENS_27last_chunk_handling_optionsE +_ZNK7simdutf7icelake14implementation25utf32_length_from_utf16beEPKDsm +_ZNK7simdutf7icelake14implementation23utf8_length_from_latin1EPKcm +_ZNK7simdutf7icelake14implementation22utf16_length_from_utf8EPKcm +_ZNK7simdutf7icelake14implementation41utf8_length_from_utf16le_with_replacementEPKDsm +_ZNK7simdutf7icelake14implementation41utf8_length_from_utf16be_with_replacementEPKDsm +_ZNK7simdutf7icelake14implementation22utf8_length_from_utf32EPKDim _ZNK7simdutf8westmere14implementation4findEPKDsS3_Ds _ZNK7simdutf14implementation4nameEv _ZNK7simdutf14implementation11descriptionEv @@ -9038,6 +8999,19 @@ uscript_getScript_77 uscript_hasScript_77 ublock_getCode_77 uchar_addPropertyStarts_77 +_ZL24_enumPropertyStartsRangePKviij +upropsvec_addPropertyStarts_77 +ublock_addPropertyStarts_77 +utrie2_get32_77 +utrie2_openFromSerialized_77 +utrie2_close_77 +utrie2_isFrozen_77 +utrie2_enum_77 +_ZL14enumEitherTriePK6UTrie2iiPFjPKvjEPFaS3_iijES3_ +utrie2_enumForLeadSurrogate_77 +_ZL13enumSameValuePKvj +utf8_nextCharSafeBody_77 +utf8_prevCharSafeBody_77 utf8_back1SafeBody_77 uprv_malloc_77 uprv_realloc_77 @@ -9091,9 +9065,6 @@ _ZNKSt4__Cr12__hash_tableIN2v88internal4wasm17TypeCanonicalizer14CanonicalGroupE _ZNKSt4__Cr12__hash_tableIN2v88internal4wasm17TypeCanonicalizer23CanonicalSingletonGroupENS1_4base4hashIS5_EENS_8equal_toIS5_EENS_9allocatorIS5_EEE4findIS5_EENS_21__hash_const_iteratorIPNS_11__hash_nodeIS5_PvEEEERKT_ _ZNK2v88internal4wasm13ValueTypeBase23value_type_code_numericEv _ZNK2v88internal4wasm13ValueTypeBase23value_type_code_genericEv -_ZNK2v88internal4wasm13ValueTypeBase21generic_heaptype_nameEv -_ZNK2v88internal4wasm13ValueTypeBase4nameEv -_ZN2v88internal4wasm27WasmReturnTypeFromSignatureEPKNS1_12CanonicalSigE _ZN2v88internal4wasm20EquivalentNumericSigEPKNS1_12CanonicalSigEPKNS0_9SignatureINS1_9ValueTypeEEE _ZN2v88internal4wasm12CanonicalSigC2EmmPKNS1_18CanonicalValueTypeENS1_18CanonicalTypeIndexE _ZN2v88internal4wasm12CanonicalSigC1EmmPKNS1_18CanonicalValueTypeENS1_18CanonicalTypeIndexE @@ -9113,7 +9084,6 @@ _ZN2v88internal4wasm12ErrorThrowerD1Ev _ZN2v88internal4wasm22ValidSubtypeDefinitionENS1_15ModuleTypeIndexES2_PKNS1_10WasmModuleE _ZN2v88internal4wasm15IsSubtypeOfImplENS1_8HeapTypeES2_PKNS1_10WasmModuleES5_ _ZN2v88internal4wasm12_GLOBAL__N_122IsSubtypeOf_CommonImplENS1_13ValueTypeBaseES3_ -_ZNSt4__Cr32__partition_with_equals_on_rightINS_17_ClassicAlgPolicyEPN2v88internal4wasm17LiftoffStackSlots4SlotERZNS5_15SortInPushOrderEvEUlRKS6_S9_E_EENS_4pairIT0_bEESD_SD_T1_ _ZNSt4__Cr27__insertion_sort_incompleteINS_17_ClassicAlgPolicyERZN2v88internal4wasm17LiftoffStackSlots15SortInPushOrderEvEUlRKNS5_4SlotES8_E_PS6_EEbT1_SC_T0_ _ZNSt4__Cr19__partial_sort_implINS_17_ClassicAlgPolicyERZN2v88internal4wasm17LiftoffStackSlots15SortInPushOrderEvEUlRKNS5_4SlotES8_E_PS6_SB_EET1_SC_SC_T2_OT0_ _ZN2v88internal10ZoneVectorIiE4GrowEm @@ -9753,7 +9723,6 @@ _ZN2v84base19TemplateHashMapImplIPvS2_NS0_26HashEqualityThenKeyMatcherIS2_PFbS2_ _ZNSt4__Cr10__function13__policy_funcIFvvEE11__call_funcIZN2v84base8CallOnceIJEEEvPNS_6atomicIhEENS6_16FunctionWithArgsIJDpT_EE4typeESD_Qsr3stdE13conjunction_vIDpNS_9is_scalarISC_EEEEUlvE_EEvPKNS0_16__policy_storageE _ZN2v88internal8HashSeed15InitializeRootsEPNS0_7IsolateE _ZN2v88internal23Runtime_IterableForEachEiPmPNS0_7IsolateE -_ZNK2v88internal12JSTypedArray12element_sizeEv _ZNK2v88internal12JSTypedArray34GetVariableByteLengthOrOutOfBoundsERb _ZNK2v88internal12JSTypedArray30GetVariableLengthOrOutOfBoundsERb _ZN2v88internal10Protectors30InvalidateArrayBufferDetachingEPNS0_7IsolateE @@ -9878,6 +9847,7 @@ _ZN2v88internal14OrderedHashSet18ConvertToKeysArrayEPNS0_7IsolateENS0_6HandleIS1 _ZN2v88internal14OrderedHashMap7GetHashEPNS0_7IsolateEm _ZN2v88internal32ArrayConstructInitializeElementsEPNS0_7IsolateENS0_12DirectHandleINS0_7JSArrayEEEPNS0_9ArgumentsILNS0_13ArgumentsTypeE1EEE _ZN2v88internal41CopyFastNumberJSArrayElementsToTypedArrayEmmmmm +_ZN2v88internal12_GLOBAL__N_121TypedElementsAccessorILNS0_12ElementsKindE18EE25TryCopyElementsFastNumberENS0_6TaggedINS0_7ContextEEENS5_INS0_7JSArrayEEENS5_INS0_12JSTypedArrayEEEmm _ZN2v88internal12_GLOBAL__N_121TypedElementsAccessorILNS0_12ElementsKindE41EE26CopyElementsFromTypedArrayENS0_6TaggedINS0_12JSTypedArrayEEES7_mm _ZN2v88internal27CopyTypedArrayElementsSliceEmmmm _ZN2v88internal16ElementsAccessor24InitializeOncePerProcessEv @@ -9893,6 +9863,7 @@ _ZN2v88internal12_GLOBAL__N_120ElementsAccessorBaseINS1_29FastPackedSmiElementsA _ZN2v88internal12_GLOBAL__N_120ElementsAccessorBaseINS1_29FastPackedSmiElementsAccessorENS1_18ElementsKindTraitsILNS0_12ElementsKindE0EEEE16NumberOfElementsEPNS0_7IsolateENS0_6TaggedINS0_8JSObjectEEE _ZN2v88internal12_GLOBAL__N_120ElementsAccessorBaseINS1_29FastPackedSmiElementsAccessorENS1_18ElementsKindTraitsILNS0_12ElementsKindE0EEEE9SetLengthEPNS0_7IsolateENS0_12DirectHandleINS0_7JSArrayEEEj _ZN2v88internal12_GLOBAL__N_120ElementsAccessorBaseINS1_29FastPackedSmiElementsAccessorENS1_18ElementsKindTraitsILNS0_12ElementsKindE0EEEE21CollectElementIndicesENS0_12DirectHandleINS0_8JSObjectEEENS8_INS0_14FixedArrayBaseEEEPNS0_14KeyAccumulatorE +_ZN2v88internal12_GLOBAL__N_120ElementsAccessorBaseINS1_29FastPackedSmiElementsAccessorENS1_18ElementsKindTraitsILNS0_12ElementsKindE0EEEE22CollectValuesOrEntriesEPNS0_7IsolateENS0_12DirectHandleINS0_8JSObjectEEENSA_INS0_10FixedArrayEEEjbPjNS0_14PropertyFilterE _ZN2v88internal12_GLOBAL__N_120ElementsAccessorBaseINS1_29FastPackedSmiElementsAccessorENS1_18ElementsKindTraitsILNS0_12ElementsKindE0EEEE5ShiftEPNS0_7IsolateENS0_12DirectHandleINS0_7JSArrayEEE _ZN2v88internal12_GLOBAL__N_120ElementsAccessorBaseINS1_29FastPackedSmiElementsAccessorENS1_18ElementsKindTraitsILNS0_12ElementsKindE0EEEE9NormalizeEPNS0_7IsolateENS0_12DirectHandleINS0_8JSObjectEEE _ZN2v88internal12_GLOBAL__N_120ElementsAccessorBaseINS1_29FastPackedSmiElementsAccessorENS1_18ElementsKindTraitsILNS0_12ElementsKindE0EEEE11GetCapacityENS0_6TaggedINS0_8JSObjectEEENS8_INS0_14FixedArrayBaseEEE @@ -10124,6 +10095,8 @@ _ZN2v88internal6Module11RecordErrorEPNS0_7IsolateENS0_6TaggedINS0_6ObjectEEE _ZN2v88internal6Module10ResetGraphEPNS0_7IsolateENS0_12DirectHandleIS1_EE _ZN2v88internal6Module5ResetEPNS0_7IsolateENS0_12DirectHandleIS1_EE _ZN2v88internal6Module12GetExceptionEv +_ZN2v88internal6Module13ResolveExportEPNS0_7IsolateENS0_6HandleIS1_EENS0_12DirectHandleINS0_6StringEEENS4_IS7_EENS0_15MessageLocationEbPNS1_10ResolveSetE +_ZN2v88internal6Module11InstantiateEPNS0_7IsolateENS0_6HandleIS1_EENS_5LocalINS_7ContextEEERKNS1_20UserResolveCallbacksE _ZZNSt4__Cr6__treeINS_12__value_typeIPKN2v88internal12AstRawStringEPNS3_26SourceTextModuleDescriptor5EntryEEENS_19__map_value_compareIS6_NS_4pairIKS6_S9_EENS7_20AstRawStringComparerEEENS3_13ZoneAllocatorISE_EEE16__emplace_uniqueIJRS6_RS9_EEENSC_INS_15__tree_iteratorISA_PNS_11__tree_nodeISA_PvEElEEbEEDpOT_ENKUlRSD_SL_SM_E_clESX_SL_SM_ _ZZNSt4__Cr6__treeINS_12__value_typeIPKN2v88internal12AstRawStringEPKNS3_26SourceTextModuleDescriptor5EntryEEENS_19__map_value_compareIS6_NS_4pairIKS6_SA_EENS7_20AstRawStringComparerEEENS3_13ZoneAllocatorISF_EEE16__emplace_uniqueIJRSE_RSA_EEENSD_INS_15__tree_iteratorISB_PNS_11__tree_nodeISB_PvEElEEbEEDpOT_ENKUlSM_SM_SN_E_clESM_SM_SN_ _ZNSt4__Cr6__treeINS_12__value_typeIPKN2v88internal12AstRawStringEPNS3_26SourceTextModuleDescriptor5EntryEEENS_19__map_value_compareIS6_NS_4pairIKS6_S9_EENS7_20AstRawStringComparerEEENS3_13ZoneAllocatorISE_EEE15__emplace_multiIJRS6_RS9_EEENS_15__tree_iteratorISA_PNS_11__tree_nodeISA_PvEElEEDpOT_ @@ -10171,7 +10144,6 @@ _ZN2v88internal14MessageHandler25ReportMessageNoExceptionsEPNS0_7IsolateEPKNS0_1 _ZN2v88internal14MessageHandler10GetMessageEPNS0_7IsolateENS0_12DirectHandleINS0_6ObjectEEE _ZN2v88internal16MessageFormatter6FormatEPNS0_7IsolateENS0_15MessageTemplateENS_4base6VectorIKNS0_12DirectHandleINS0_6ObjectEEEEE _ZN2v88internal10ErrorUtils16FormatStackTraceEPNS0_7IsolateENS0_12DirectHandleINS0_8JSObjectEEENS4_INS0_6ObjectEEE -_ZN2v88internal10ErrorUtils17CaptureStackTraceEPNS0_7IsolateENS0_12DirectHandleINS0_8JSObjectEEENS0_13FrameSkipModeENS0_6HandleINS0_6ObjectEEE _ZN2v88internal25StringBuilderConcatHelperIhEEvNS0_6TaggedINS0_6StringEEEPT_NS2_INS0_10FixedArrayEEEj _ZN2v88internal25StringBuilderConcatHelperItEEvNS0_6TaggedINS0_6StringEEEPT_NS2_INS0_10FixedArrayEEEj _ZN2v88internal25StringBuilderConcatLengthEiNS0_6TaggedINS0_10FixedArrayEEEiPb @@ -10198,15 +10170,15 @@ _ZN2v88internal24IncrementalStringBuilder12AppendStringENS0_12DirectHandleINS0_6 _ZN2v88internal12CallSiteInfo20ConstructFromRawDataEPNS0_7IsolateENS0_12DirectHandleINS0_10FixedArrayEEEi _ZN2v88internal12CallSiteInfo20ExpandDeferredFramesEPNS0_7IsolateENS0_6HandleINS0_10FixedArrayEEE _ZNK2v88internal18SharedFunctionInfo16GetBytecodeArrayINS0_7IsolateEEENS0_6TaggedINS0_13BytecodeArrayEEEPT_ +_ZNK2v88internal12CallSiteInfo12IsPromiseAllEv +_ZNK2v88internal12CallSiteInfo19IsPromiseAllSettledEv +_ZNK2v88internal12CallSiteInfo12IsPromiseAnyEv _ZN2v88internal12CallSiteInfo15GetFunctionNameENS0_12DirectHandleIS1_EE _ZN2v88internal12CallSiteInfo20GetFunctionDebugNameENS0_12DirectHandleIS1_EE _ZN2v88internal12CallSiteInfo13GetMethodNameENS0_12DirectHandleIS1_EE _ZNK2v88internal18SharedFunctionInfo13inferred_nameEv _ZN2v88internal11PropertyKeyC2INS0_6HandleEQsr3stdE16is_convertible_vIT_INS0_4NameEENS0_12DirectHandleIS5_EEEEEPNS0_7IsolateES6_ _ZN2v88internal12CallSiteInfo11GetTypeNameENS0_12DirectHandleIS1_EE -_ZN2v88internal12CallSiteInfo21ComputeSourcePositionENS0_12DirectHandleIS1_EEi -_ZN2v88internal12CallSiteInfo15ComputeLocationENS0_12DirectHandleIS1_EEPNS0_15MessageLocationE -_ZN2v88internal21SerializeCallSiteInfoEPNS0_7IsolateENS0_12DirectHandleINS0_12CallSiteInfoEEEPNS0_24IncrementalStringBuilderE _ZN2v88internal12_GLOBAL__N_121SerializeJSStackFrameEPNS0_7IsolateENS0_12DirectHandleINS0_12CallSiteInfoEEEPNS0_24IncrementalStringBuilderE _ZN2v88internal21SerializeCallSiteInfoEPNS0_7IsolateENS0_12DirectHandleINS0_12CallSiteInfoEEE _ZN2v88internal12_GLOBAL__N_118AppendFileLocationEPNS0_7IsolateENS0_12DirectHandleINS0_12CallSiteInfoEEEPNS0_24IncrementalStringBuilderE @@ -10544,8 +10516,7 @@ _ZN2v88internal19AstTraversalVisitorINS0_21SourceRangeAstVisitorEE19VisitForInSt _ZN2v88internal19AstTraversalVisitorINS0_21SourceRangeAstVisitorEE19VisitForOfStatementEPNS0_14ForOfStatementE _ZN2v88internal19AstTraversalVisitorINS0_21SourceRangeAstVisitorEE24VisitExpressionStatementEPNS0_19ExpressionStatementE _ZN2v88internal19AstTraversalVisitorINS0_21SourceRangeAstVisitorEE33VisitSloppyBlockFunctionStatementEPNS0_28SloppyBlockFunctionStatementE -_ZN2v88internal19AstTraversalVisitorINS0_21SourceRangeAstVisitorEE16VisitConditionalEPNS0_11ConditionalE -_ZN2v88internal19AstTraversalVisitorINS0_21SourceRangeAstVisitorEE19VisitCountOperationEPNS0_14CountOperationE +_ZN2v88internal19AstTraversalVisitorINS0_21SourceRangeAstVisitorEE16VisitIfStatementEPNS0_11IfStatementE _ZN2v88internal19AstTraversalVisitorINS0_21SourceRangeAstVisitorEE25VisitImportCallExpressionEPNS0_20ImportCallExpressionE _ZN2v88internal19AstTraversalVisitorINS0_21SourceRangeAstVisitorEE18VisitOptionalChainEPNS0_13OptionalChainE _ZN2v88internal19AstTraversalVisitorINS0_21SourceRangeAstVisitorEE13VisitPropertyEPNS0_8PropertyE @@ -10834,9 +10805,6 @@ _ZL13isPOSIX_graphRK14BinaryPropertyi9UProperty _ZL13isPOSIX_printRK14BinaryPropertyi9UProperty _ZL14isPOSIX_xdigitRK14BinaryPropertyi9UProperty _ZL21changesWhenCasefoldedRK14BinaryPropertyi9UProperty -UDatamemory_assign_77 -UDataMemory_createNewInstance_77 -UDataMemory_normalizeDataPointer_77 UDataMemory_setData_77 udata_close_77 udata_getMemory_77 @@ -11027,6 +10995,9 @@ uprv_max_77 uprv_min_77 _ZN6icu_7721LoadedNormalizer2ImplD2Ev _ZN6icu_7721LoadedNormalizer2ImplD1Ev +_ZN6icu_7721LoadedNormalizer2ImplD0Ev +_ZN6icu_7721LoadedNormalizer2Impl12isAcceptableEPvPKcS3_PK9UDataInfo +_ZN6icu_7721LoadedNormalizer2Impl4loadEPKcS2_R10UErrorCode _ZNK6icu_776BMPSet8spanUTF8EPKhi17USetSpanCondition _ZNK6icu_776BMPSet12spanBackUTF8EPKhi17USetSpanCondition _ZN6icu_7712ByteSinkUtil12appendChangeEiPKDsiRNS_8ByteSinkEPNS_5EditsER10UErrorCode @@ -11095,6 +11066,7 @@ _ZN6icu_7718Normalizer2Factory14getFCDInstanceER10UErrorCode _ZN6icu_7718Normalizer2Factory10getNFCImplER10UErrorCode u_getCombiningClass_77 unorm_getFCD16_77 +_ZNK6icu_7719Normalizer2WithImpl9normalizeERKNS_13UnicodeStringERS1_R10UErrorCode _ZN2v84base7ieee7546legacy3powEdd _ZN2v84base7ieee7544sinhEd _ZN2v88internal16FuncNameInferrerC2EPNS0_15AstValueFactoryE @@ -11356,6 +11328,7 @@ _ZN2v88internal6regexp12_GLOBAL__N_110ParserImplIhE20ParseClassSetOperandEPKNS2_ _ZN2v88internal6regexp12_GLOBAL__N_110ParserImplIhE29AddMaybeSimpleCaseFoldedRangeEPNS0_8ZoneListINS1_14CharacterRangeEEES6_ _ZN2v88internal6regexp12_GLOBAL__N_110ParserImplIhE16ParseClassEscapeEPNS0_8ZoneListINS1_14CharacterRangeEEEPNS0_4ZoneEbPjPb _ZN2v88internal6regexp12_GLOBAL__N_110ParserImplIhE22ParseClassSetCharacterEv +_ZN2v88internal6regexp12_GLOBAL__N_111TextBuilder8ToRegExpEv _ZN2v88internal6regexp12_GLOBAL__N_110ParserImplIhE15ScanForCapturesENS2_18InClassEscapeStateE _ZN2v88internal10ZoneVectorIcE4GrowEm _ZN2v88internal6regexp12_GLOBAL__N_112_GLOBAL__N_123LookupPropertyValueNameE9UPropertyPKcbPNS0_8ZoneListINS1_14CharacterRangeEEEPNS0_7ZoneMapINS_4base6VectorIKjEEPNS1_4TreeENS1_24CharacterClassStringLessEEENSC_5FlagsINS1_4FlagEiiEEPNS0_4ZoneE @@ -11549,6 +11522,7 @@ _ZN2v88internal6regexp10Lookaround10ToNodeImplEPNS1_8CompilerEPNS1_4NodeE _ZN2v88internal6regexp7Capture10ToNodeImplEPNS1_8CompilerEPNS1_4NodeE _ZN2v88internal6regexp7Capture6ToNodeEPNS1_4TreeEiPNS1_8CompilerEPNS1_4NodeE _ZN2v88internal6regexp11Alternative10ToNodeImplEPNS1_8CompilerEPNS1_4NodeE +_ZN2v88internal6regexp14CharacterRange18AddCaseEquivalentsEPNS0_7IsolateEPNS0_4ZoneEPNS0_8ZoneListIS2_EEb _ZN2v88internal21FixedIntegerArrayBaseItNS0_9ByteArrayEE3NewIJEEENS0_6HandleIS3_EEPNS0_7IsolateEjDpOT_ _ZNKSt4__Cr12__hash_tableINS_17__hash_value_typeIjN2v88internal6HandleINS3_21FixedIntegerArrayBaseItNS3_9ByteArrayEEEEEEENS_22__unordered_map_hasherIjNS_4pairIKjS8_EENS2_4base4hashIjEENS_8equal_toIjEEEENS_21__unordered_map_equalIjSD_SI_SG_EENS3_13ZoneAllocatorISD_EEE4findIjEENS_21__hash_const_iteratorIPNS_11__hash_nodeIS9_PvEEEERKT_ _ZZNSt4__Cr12__hash_tableINS_17__hash_value_typeIjN2v88internal6HandleINS3_21FixedIntegerArrayBaseItNS3_9ByteArrayEEEEEEENS_22__unordered_map_hasherIjNS_4pairIKjS8_EENS2_4base4hashIjEENS_8equal_toIjEEEENS_21__unordered_map_equalIjSD_SI_SG_EENS3_13ZoneAllocatorISD_EEE16__emplace_uniqueIJRKNS_21piecewise_construct_tENS_5tupleIJRSC_EEENST_IJEEEEEENSB_INS_15__hash_iteratorIPNS_11__hash_nodeIS9_PvEEEEbEEDpOT_ENKUlSU_SS_OSV_OSW_E_clESU_SS_S17_S18_ @@ -11564,6 +11538,7 @@ _Z22ulocimp_getKeywords_77NSt4__Cr17basic_string_viewIcNS_11char_traitsIcEEEEcbR _Z22ulocimp_getKeywords_77NSt4__Cr17basic_string_viewIcNS_11char_traitsIcEEEEcRN6icu_778ByteSinkEbR10UErrorCode _ZN12_GLOBAL__N_121compareKeywordStructsEPKvS1_S1_ uloc_getKeywordValue_77 +_Z26ulocimp_getKeywordValue_77PKcNSt4__Cr17basic_string_viewIcNS1_11char_traitsIcEEEER10UErrorCode uloc_getCurrentCountryID_77 uloc_getCurrentLanguageID_77 _Z22ulocimp_getLanguage_77NSt4__Cr17basic_string_viewIcNS_11char_traitsIcEEEER10UErrorCode @@ -11593,6 +11568,7 @@ _Z32ulocimp_toBcpTypeWithFallback_77NSt4__Cr17basic_string_viewIcNS_11char_trait uloc_toLegacyKey_77 _Z34ulocimp_toLegacyKeyWithFallback_77NSt4__Cr17basic_string_viewIcNS_11char_traitsIcEEEE uloc_toLegacyType_77 +_Z35ulocimp_toLegacyTypeWithFallback_77NSt4__Cr17basic_string_viewIcNS_11char_traitsIcEEEES3_ _ZN12_GLOBAL__N_125_isUnicodeExtensionSubtagERiPKci _Z24ulocimp_toLanguageTag_77PKcRN6icu_778ByteSinkEbR10UErrorCode _ZNSt4__Cr17basic_string_viewIcNS_11char_traitsIcEEEC2EPKc @@ -11695,7 +11671,10 @@ _ZN6icu_7718UStringEnumerationC2EP12UEnumeration _ZN6icu_7718UStringEnumerationC1EP12UEnumeration _ZN6icu_7718UStringEnumerationD2Ev _ZN6icu_7718UStringEnumerationD1Ev -_ZN6icu_7710MemoryPoolINS_10CharStringELi8EE6createIJEEEPS1_DpOT_ +_ZN6icu_7718UStringEnumerationD0Ev +_ZNK6icu_7718UStringEnumeration5countER10UErrorCode +_ZN6icu_7718UStringEnumeration4nextEPiR10UErrorCode +_ZN6icu_7718UStringEnumeration5snextER10UErrorCode _ZN6icu_7710MemoryPoolINS_10CharStringELi8EE6createIJRPKcR10UErrorCodeEEEPS1_DpOT_ _ZN6icu_7710MemoryPoolI10LocExtTypeLi8EE6createIJEEEPS1_DpOT_ _ZN6icu_7710MemoryPoolI9TypeAliasLi8EE6createIJS1_EEEPS1_DpOT_ @@ -11721,13 +11700,6 @@ _ZN6icu_7710UnicodeSet9closeOverEi _ZN6icu_7710UnicodeSet10setPatternERKNS_13UnicodeStringE _ZN6icu_7710UnicodeSet24closeOverCaseInsensitiveEb _ZN6icu_7710UnicodeSet24closeOverAddCaseMappingsEv -_ZNK6icu_7724WholeStringBreakIterator7getTextEv -_ZNK6icu_7724WholeStringBreakIterator8getUTextEP5UTextR10UErrorCode -_ZN6icu_7724WholeStringBreakIterator7setTextERKNS_13UnicodeStringE -_ZN6icu_7724WholeStringBreakIterator7setTextEP5UTextR10UErrorCode -_ZN6icu_7724WholeStringBreakIterator9adoptTextEPNS_17CharacterIteratorE -_ZN6icu_7724WholeStringBreakIterator5firstEv -_ZN6icu_7724WholeStringBreakIterator4lastEv _ZN6icu_7724WholeStringBreakIterator8previousEv _ZN6icu_7724WholeStringBreakIterator4nextEv _ZNK6icu_7724WholeStringBreakIterator7currentEv @@ -11809,7 +11781,6 @@ _ZN2v88internal6regexp18ExperimentalRegExp12CanBeHandledEPNS1_4TreeENS0_12Direct _ZN2v88internal6regexp18ExperimentalRegExp10InitializeEPNS0_7IsolateENS0_12DirectHandleINS0_8JSRegExpEEENS5_INS0_6StringEEES9_NS_4base5FlagsINS1_4FlagEiiEEi _ZN2v88internal6regexp18ExperimentalRegExp10IsCompiledENS0_12DirectHandleINS0_12IrRegExpDataEEEPNS0_7IsolateE _ZN2v88internal6regexp18ExperimentalRegExp7CompileEPNS0_7IsolateENS0_12DirectHandleINS0_12IrRegExpDataEEE -_ZN2v88internal12BackingStore35TryAllocateAndPartiallyCommitMemoryEPNS0_7IsolateEmmmmmNS0_14WasmMemoryFlagENS0_10SharedFlagEb _ZN2v88internal12BackingStore18AllocateWasmMemoryEPNS0_7IsolateEmmNS0_14WasmMemoryFlagENS0_10SharedFlagE _ZN2v88internal12BackingStore14CopyWasmMemoryEPNS0_7IsolateEmmNS0_14WasmMemoryFlagE _ZN2v88internal12BackingStore21GrowWasmMemoryInPlaceEPNS0_7IsolateEmm @@ -12363,15 +12334,6 @@ _ZN2v88internal8Compiler21GetSharedFunctionInfoINS0_7IsolateEEENS0_12DirectHandl _ZN2v88internal8Compiler21GetSharedFunctionInfoINS0_12LocalIsolateEEENS0_12DirectHandleINS0_18SharedFunctionInfoEEEPNS0_15FunctionLiteralENS4_INS0_6ScriptEEEPT_ _ZN2v88internal8Compiler22LogFunctionCompilationEPNS0_7IsolateENS0_16LogEventListener7CodeTagENS0_12DirectHandleINS0_6ScriptEEENS6_INS0_18SharedFunctionInfoEEENS6_INS0_14FeedbackVectorEEENS6_INS0_12AbstractCodeEEENS0_8CodeKindEd _ZN2v88internal23OptimizedCompilationJob10ExecuteJobEPNS0_16RuntimeCallStatsEPNS0_12LocalIsolateE -_ZN2v88internal23OptimizedCompilationJob11FinalizeJobEPNS0_7IsolateE -_ZN2v88internal23OptimizedCompilationJob19CollectRetainedMapsEPNS0_7IsolateENS0_12DirectHandleINS0_4CodeEEE -_ZN2v88internal23OptimizedCompilationJob34RegisterWeakObjectsInOptimizedCodeEPNS0_7IsolateENS0_12DirectHandleINS0_13NativeContextEEENS4_INS0_4CodeEEENS0_18GlobalHandleVectorINS0_3MapEEE -_ZN2v88internal22TurbofanCompilationJobC2EPNS0_7IsolateEPNS0_24OptimizedCompilationInfoENS0_14CompilationJob5StateE -_ZN2v88internal22TurbofanCompilationJob17RetryOptimizationENS0_13BailoutReasonE -_ZN2v88internal22TurbofanCompilationJob17AbortOptimizationENS0_13BailoutReasonE -_ZN2v88internal22TurbofanCompilationJob6CancelEv -_ZNK2v88internal22TurbofanCompilationJob22RecordCompilationStatsENS0_15ConcurrencyModeEPNS0_7IsolateE -_ZNK2v88internal22TurbofanCompilationJob25RecordFunctionCompilationENS0_16LogEventListener7CodeTagEPNS0_7IsolateE _ZN2v88internal8Compiler32InstallInterpreterTrampolineCopyEPNS0_7IsolateENS0_12DirectHandleINS0_18SharedFunctionInfoEEENS0_16LogEventListener7CodeTagE _ZN2v88internal22CompilationHandleScopeD2Ev _ZN2v88internal22CompilationHandleScopeD1Ev @@ -12437,6 +12399,7 @@ _ZNK2v88internal22TurbofanCompilationJob13FinalizeOrderEv _ZN2v88internal23OptimizedCompilationJobD0Ev _ZNKSt4__Cr19__hash_map_iteratorINS_15__hash_iteratorIPNS_11__hash_nodeINS_17__hash_value_typeIiN2v88internal6TaggedINS5_9ScopeInfoEEEEEPvEEEEEptEv _ZZNSt4__Cr12__hash_tableINS_17__hash_value_typeIiN2v88internal6TaggedINS3_9ScopeInfoEEEEENS_22__unordered_map_hasherIiNS_4pairIKiS6_EENS_4hashIiEENS_8equal_toIiEEEENS_21__unordered_map_equalIiSB_SF_SD_EENS_9allocatorISB_EEE16__emplace_uniqueIJRKNS_21piecewise_construct_tENS_5tupleIJOiEEENSQ_IJEEEEEENS9_INS_15__hash_iteratorIPNS_11__hash_nodeIS7_PvEEEEbEEDpOT_ENKUlRSA_SP_OSS_OST_E_clES14_SP_S15_S16_ +_ZNSt4__Cr12__hash_tableINS_17__hash_value_typeIiN2v88internal6TaggedINS3_9ScopeInfoEEEEENS_22__unordered_map_hasherIiNS_4pairIKiS6_EENS_4hashIiEENS_8equal_toIiEEEENS_21__unordered_map_equalIiSB_SF_SD_EENS_9allocatorISB_EEE11__do_rehashILb1EEEvm _ZN2v88internal28ConstantPoolPointerForwarder14VisitScopeInfoINS0_10FixedArrayEEEvNS0_6TaggedIT_EEjNS4_INS0_9ScopeInfoEEE _ZN2v88internal5PrintILNS0_23HeapObjectReferenceTypeE1EmEEvNS0_10TaggedImplIXT_ET0_EE _ZZNSt4__Cr12__hash_tableINS_17__hash_value_typeIiN2v88internal6HandleINS3_9ScopeInfoEEEEENS_22__unordered_map_hasherIiNS_4pairIKiS6_EENS_4hashIiEENS_8equal_toIiEEEENS_21__unordered_map_equalIiSB_SF_SD_EENS_9allocatorISB_EEE16__emplace_uniqueIJRKNS_21piecewise_construct_tENS_5tupleIJOiEEENSQ_IJEEEEEENS9_INS_15__hash_iteratorIPNS_11__hash_nodeIS7_PvEEEEbEEDpOT_ENKUlRSA_SP_OSS_OST_E_clES14_SP_S15_S16_ @@ -12468,6 +12431,8 @@ _ZNSt4__Cr6vectorIN2v88internal27DeferredFinalizationJobDataENS_9allocatorIS3_EE _ZZNSt4__Cr12__hash_tableIiNS_4hashIiEENS_8equal_toIiEENS_9allocatorIiEEE16__emplace_uniqueIJiEEENS_4pairINS_15__hash_iteratorIPNS_11__hash_nodeIiPvEEEEbEEDpOT_ENKUlRKiOiE_clESL_SM_ _ZN2v88internal24OptimizedCompilationInfoC2EPNS0_4ZoneEPNS0_7IsolateENS0_6HandleINS0_18SharedFunctionInfoEEENS6_INS0_10JSFunctionEEENS0_8CodeKindENS0_14BytecodeOffsetE _ZN2v88internal24OptimizedCompilationInfoC1EPNS0_4ZoneEPNS0_7IsolateENS0_6HandleINS0_18SharedFunctionInfoEEENS6_INS0_10JSFunctionEEENS0_8CodeKindENS0_14BytecodeOffsetE +_ZN2v88internal24OptimizedCompilationInfoC2ENS_4base6VectorIKcEEPNS0_4ZoneENS0_8CodeKindENS0_7BuiltinE +_ZN2v88internal24OptimizedCompilationInfoC1ENS_4base6VectorIKcEEPNS0_4ZoneENS0_8CodeKindENS0_7BuiltinE _ZN2v88internal10Serializer16ObjectSerializer13VisitPointersENS0_6TaggedINS0_10HeapObjectEEENS0_25CompressedMaybeObjectSlotES6_ _ZN2v88internal10Serializer16ObjectSerializer29VisitInstructionStreamPointerENS0_6TaggedINS0_4CodeEEENS0_27OffHeapCompressedObjectSlotINS0_29ExternalCodeCompressionSchemeEEE _ZN2v88internal10Serializer16ObjectSerializer20VisitEmbeddedPointerENS0_6TaggedINS0_17InstructionStreamEEEPNS0_9RelocInfoE @@ -12491,6 +12456,7 @@ _ZN2v88internal10Serializer32SerializeReadOnlyObjectReferenceENS0_6TaggedINS0_10 _ZN2v88internal10SerializerD0Ev _ZN2v88internal10Serializer16ObjectSerializerD0Ev _ZZNSt4__Cr6vectorIhNS_9allocatorIhEEE12emplace_backIJRKhEEERhDpOT_ENKUlvE0_clEv +_ZN2v88internal14CodeAddressMapD2Ev _ZZNSt4__Cr12__hash_tableINS_17__hash_value_typeIN2v84base11StrongAliasINS2_8internal24JSDispatchHandleAliasTagEjEEjEENS_22__unordered_map_hasherIS7_NS_4pairIKS7_jEENS_4hashIS7_EENS_8equal_toIS7_EEEENS_21__unordered_map_equalIS7_SC_SG_SE_EENS_9allocatorISC_EEE16__emplace_uniqueIJRKNS_21piecewise_construct_tENS_5tupleIJRSB_EEENSR_IJEEEEEENSA_INS_15__hash_iteratorIPNS_11__hash_nodeIS8_PvEEEEbEEDpOT_ENKUlSS_SQ_OST_OSU_E_clESS_SQ_S15_S16_ _ZNSt4__Cr12__hash_tableINS_17__hash_value_typeIN2v84base11StrongAliasINS2_8internal24JSDispatchHandleAliasTagEjEEjEENS_22__unordered_map_hasherIS7_NS_4pairIKS7_jEENS_4hashIS7_EENS_8equal_toIS7_EEEENS_21__unordered_map_equalIS7_SC_SG_SE_EENS_9allocatorISC_EEE11__do_rehashILb1EEEvm _ZN2v88internal24ExternalReferenceEncoderC2EPNS0_7IsolateE @@ -12617,6 +12583,7 @@ _ZN2v88internal12_GLOBAL__N_144CollectPrivateMethodsAndAccessorsFromContextEPNS0 _ZZNSt4__Cr6vectorIN2v88internal13PrivateMemberENS_9allocatorIS3_EEE12emplace_backIJS3_EEERS3_DpOT_ENKUlvE0_clEv _ZNSt4__Cr6vectorIN2v88internal13PrivateMemberENS_9allocatorIS3_EEE20__throw_length_errorEv _ZN2v88internal19SwissNameDictionary3AddINS0_7IsolateENS0_12DirectHandleEQsr3stdE16is_convertible_vIT0_IS1_ENS4_IS1_EEEEES6_PT_S6_NS4_INS0_4NameEEENS4_INS0_6ObjectEEENS0_15PropertyDetailsEPNS0_13InternalIndexE +_ZN2v88internal19SwissNameDictionary11AddInternalENS0_6TaggedINS0_4NameEEENS2_INS0_6ObjectEEENS0_15PropertyDetailsE _ZN2v88internal19SwissNameDictionary16EqualsForTestingENS0_6TaggedIS1_EE _ZNSt4__Cr6vectorIZN2v88internal19SwissNameDictionary6RehashINS2_12LocalIsolateEEEvPT_E5EntryNS_9allocatorIS8_EEE20__throw_length_errorEv _ZNSt4__Cr6vectorIZN2v88internal19SwissNameDictionary6RehashINS2_7IsolateEEEvPT_E5EntryNS_9allocatorIS8_EEE20__throw_length_errorEv @@ -12624,6 +12591,7 @@ _ZN2v88internal18PropertyDescriptor8ToObjectEPNS0_7IsolateE _ZN2v88internal18PropertyDescriptor20ToPropertyDescriptorEPNS0_7IsolateENS0_6HandleINS0_5UnionIJNS0_3SmiENS0_10HeapNumberENS0_6BigIntENS0_6StringENS0_6SymbolENS0_7BooleanENS0_4NullENS0_9UndefinedENS0_10JSReceiverEEEEEEPS1_ _ZN2v88internal12_GLOBAL__N_120GetPropertyIfPresentEPNS0_7IsolateENS0_12DirectHandleINS0_10JSReceiverEEENS4_INS0_6StringEEEPNS0_6HandleINS0_5UnionIJNS0_3SmiENS0_10HeapNumberENS0_6BigIntES7_NS0_6SymbolENS0_7BooleanENS0_4NullENS0_9UndefinedES5_EEEEE _ZN2v88internal18PropertyDescriptor26CompletePropertyDescriptorEPNS0_7IsolateEPS1_ +_ZN2v88internal18PropertyDescriptor26ToPropertyDescriptorObjectEPNS0_7IsolateE _ZNK2v88internal6String9IsEqualToILNS1_12EqualityTypeE0EcEEbNS_4base6VectorIKT0_EEPNS0_12LocalIsolateE _ZN2v88internal24IcuBreakIteratorWithTextC2ENSt4__Cr10unique_ptrIN6icu_7713BreakIteratorENS2_14default_deleteIS5_EEEE _ZN2v88internal24IcuBreakIteratorWithTextC1ENSt4__Cr10unique_ptrIN6icu_7713BreakIteratorENS2_14default_deleteIS5_EEEE @@ -12636,14 +12604,13 @@ _ZN2v88internal4Intl18ToICUUnicodeStringEPNS0_7IsolateENS0_12DirectHandleINS0_6S _ZN2v88internal4Intl18ToLatin1LowerTableEv _ZN2v88internal9CopyCharsIhDsEEvPT0_PKT_m _ZN2v88internal12_GLOBAL__N_122GetUCharBufferFromFlatERKNS0_6String11FlatContentEPNSt4__Cr10unique_ptrIA_tNS6_14default_deleteIS8_EEEEj -_ZN2v88internal4Intl14BuildLocaleSetERKNSt4__Cr6vectorINS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEENS7_IS9_EEEEPKcSF_ +_ZN2v88internal4Intl21ConvertOneByteToLowerENS0_6TaggedINS0_6StringEEES4_ _ZN2v88internal12_GLOBAL__N_116ValidateResourceEN6icu_776LocaleEPKcS5_ _ZN2v88internal4Intl13ToLanguageTagERKN6icu_776LocaleE _ZN2v88internal4Intl20LegacyUnwrapReceiverEPNS0_7IsolateENS0_12DirectHandleINS0_10JSReceiverEEENS4_INS0_10JSFunctionEEEb _ZN2v88internal4Intl38ValidateAndCanonicalizeUnicodeLocaleIdEPNS0_7IsolateENSt4__Cr17basic_string_viewIcNS4_11char_traitsIcEEEE _ZNSt4__Cr12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2INS_17basic_string_viewIcS2_EETnNS_9enable_ifIXaa35__can_be_converted_to_string_view_vIcS2_T_Entsr7is_sameIu14__remove_cvrefISA_ES5_EE5valueEiE4typeELi0EEERKSA_ _ZN2v88internal4Intl22CanonicalizeLocaleListEPNS0_7IsolateENS0_12DirectHandleINS0_6ObjectEEEb -_ZN2v88internal4Intl19StringLocaleCompareEPNS0_7IsolateENS0_12DirectHandleINS0_6StringEEES6_NS4_INS0_6ObjectEEES8_PKc _ZN2v88internal4Intl14CompareStringsEPNS0_7IsolateERKN6icu_778CollatorENS0_12DirectHandleINS0_6StringEEESA_NS1_21CompareStringsOptionsE _ZN2v88internal4Intl23AsciiCollationWeightsL1Ev _ZN2v88internal4Intl23AsciiCollationWeightsL3Ev @@ -12671,7 +12638,9 @@ _ZN2v88internal16ICUTimezoneCacheD2Ev _ZN2v88internal16ICUTimezoneCacheD0Ev _ZNSt4__Cr6vectorINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS4_IS6_EEE24__emplace_back_slow_pathIJRKS6_EEEPS6_DpOT_ _ZNSt4__Cr9__find_ifIPNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEES7_ZNS_14__find_genericIS7_S7_S6_NS_10__identityEEET_SA_T0_RKT1_RT2_EUlTyOSA_E_RS9_EESA_SA_SB_OSC_OSF_ -_ZNSt4__Cr10__pop_heapINS_17_ClassicAlgPolicyENS_6__lessIvvEEPNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEEvT1_SB_RT0_NS_15iterator_traitsISB_E15difference_typeE +_ZNSt4__Cr10__function13__policy_funcIFNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPKcEE11__call_funcIZN2v88internal12_GLOBAL__N_119AvailableCollationsEPNSE_7IsolateEE3$_0EES7_PKNS0_16__policy_storageES9_ +_ZNSt4__Cr10__function13__policy_funcIFbPKcEE11__call_funcIPS4_EEbPKNS0_16__policy_storageES3_ +_ZN2v84base16LazyInstanceImplINS_8internal12_GLOBAL__N_112_GLOBAL__N_127ResourceAvailableCurrenciesENS0_32StaticallyAllocatedInstanceTraitIS5_EENS0_21DefaultConstructTraitIS5_EENS0_23ThreadSafeInitOnceTraitENS0_18LeakyInstanceTraitIS5_EEE12InitInstanceEPv _ZNSt4__Cr9__sift_upINS_17_ClassicAlgPolicyERNS_6__lessIvvEEPNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEEvT1_SC_OT0_NS_15iterator_traitsISC_E15difference_typeE _ZNSt4__Cr6__treeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_4lessIS6_EENS4_IS6_EEE14__tree_deleterclEPNS_11__tree_nodeIS6_PvEE _ZZNSt4__Cr6__treeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_4lessIS6_EENS4_IS6_EEE16__emplace_uniqueIJRKS6_EEENS_4pairINS_15__tree_iteratorIS6_PNS_11__tree_nodeIS6_PvEElEEbEEDpOT_ENKUlSD_SD_E_clESD_SD_ @@ -12686,7 +12655,6 @@ _ZN6icu_7714StringByteSinkINSt4__Cr12basic_stringIcNS1_11char_traitsIcEENS1_9all _ZN6icu_7714StringByteSinkINSt4__Cr12basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEE6AppendEPKci _ZN2v84base16LazyInstanceImplINS_8internal4Intl16AvailableLocalesINS3_17SkipResourceCheckEEENS0_32StaticallyAllocatedInstanceTraitIS6_EENS0_21DefaultConstructTraitIS6_EENS0_23ThreadSafeInitOnceTraitENS0_18LeakyInstanceTraitIS6_EEE12InitInstanceEPv _ZN2v88internal4Intl16AvailableLocalesINS1_17SkipResourceCheckEEC2Ev -_ZN6icu_7722FormattedStringBuilder6insertEiRKNS_13UnicodeStringENS0_5FieldER10UErrorCode _ZN6icu_7722FormattedStringBuilder6insertEiRKNS_13UnicodeStringEiiNS0_5FieldER10UErrorCode _ZN6icu_7722FormattedStringBuilder6spliceEiiRKNS_13UnicodeStringEiiNS0_5FieldER10UErrorCode _ZN6icu_7722FormattedStringBuilder6insertEiRKS0_R10UErrorCode @@ -12716,6 +12684,8 @@ _ZN6icu_776number4impl15CurrencySymbolsC1ENS_12CurrencyUnitERKNS_6LocaleERKNS_20 _ZNK6icu_776number4impl15CurrencySymbols10getIsoCodeEv _ZNK6icu_776number4impl15CurrencySymbols23getNarrowCurrencySymbolER10UErrorCode _ZNK6icu_776number4impl15CurrencySymbols23getFormalCurrencySymbolER10UErrorCode +_ZNK6icu_776number4impl15CurrencySymbols24getVariantCurrencySymbolER10UErrorCode +_ZNK6icu_776number4impl15CurrencySymbols17getCurrencySymbolER10UErrorCode _ZN2v88internal12_GLOBAL__N_122InstallContextFunctionEPNS0_7IsolateENS0_12DirectHandleINS0_8JSObjectEEEPKcNS0_7BuiltinENS4_INS0_7ContextEEE _ZN2v85debug12SetContextIdENS_5LocalINS_7ContextEEEi _ZN2v85debug12GetContextIdENS_5LocalINS_7ContextEEE @@ -12730,6 +12700,25 @@ _ZN2v85debug26SetBreakOnNextFunctionCallEPNS_7IsolateE _ZN2v85debug28ClearBreakOnNextFunctionCallEPNS_7IsolateE _ZN2v85debug21GetInternalPropertiesEPNS_7IsolateENS_5LocalINS_5ValueEEE _ZN2v85debug17GetPrivateMembersENS_5LocalINS_7ContextEEENS1_INS_6ObjectEEEiPNS_11LocalVectorINS_5ValueEEES9_ +_ZNK2v85debug8Location15GetColumnNumberEv +_ZNK2v85debug6Script15SetScriptSourceENS_5LocalINS_6StringEEEbbPNS0_14LiveEditResultE +_ZNK2v85debug6Script13SetBreakpointENS_5LocalINS_6StringEEEPNS0_8LocationEPi +_ZNK2v85debug6Script28SetInstrumentationBreakpointEPi +_ZN2v85debug6Script20RemoveWasmBreakpointEi +_ZN2v85debug16RemoveBreakpointEPNS_7IsolateEi +_ZN2v85debug18GetCurrentPlatformEv +_ZN2v85debug22ForceGarbageCollectionEPNS_7IsolateEN5cppgc18EmbedderStackStateE +_ZN2v85debug10WasmScript4CastEPNS0_6ScriptE +_ZNK2v85debug10WasmScript15GetDebugSymbolsEv +_ZN2v85debug10WasmScript11DisassembleEPNS0_20DisassemblyCollectorEPNSt4__Cr6vectorIiNS4_9allocatorIiEEEE +_ZN2v85debug11DisassembleENS_4base6VectorIKhEEPNS0_20DisassemblyCollectorEPNSt4__Cr6vectorIiNS7_9allocatorIiEEEE +_ZNK2v85debug10WasmScript16GetModuleBuildIdEv +_ZNK2v85debug10WasmScript10CodeOffsetEv +_ZN2v85debug8LocationC2Eii +_ZN2v85debug8LocationC1Eii +_ZN2v85debug8LocationC2Ev +_ZN2v85debug8LocationC1Ev +_ZN2v85debug16GetLoadedScriptsEPNS_7IsolateERNSt4__Cr6vectorINS_6GlobalINS0_6ScriptEEENS3_9allocatorIS7_EEEE _ZN2v85debug15GetScriptOriginEPNS_7IsolateEi _ZN2v85debug22CompileInspectorScriptEPNS_7IsolateENS_5LocalINS_6StringEEE _ZN2v85debug24EnterDebuggingForIsolateEPNS_7IsolateE @@ -12837,6 +12826,7 @@ _ZN2v88internal29SmallStringOptimizedAllocatorILm128EED0Ev _ZN2v88internal29SmallStringOptimizedAllocatorILm128EE8allocateEj _ZN2v88internal29SmallStringOptimizedAllocatorILm128EE4growEPj _ZN2v84base11SmallVectorIcLm128ENSt4__Cr9allocatorIcEEE4GrowEm +_ZN2v88internal10DateParser16ParseES5DateTimeIKhEENS1_9DateTokenEPNS1_19DateStringTokenizerIT_EEPNS1_11DayComposerEPNS1_12TimeComposerEPNS1_16TimeZoneComposerE _ZNK2v88internal13ScopeIterator11VisitLocalsERKNSt4__Cr8functionIFbNS0_6HandleINS0_6StringEEENS4_INS0_6ObjectEEENS1_9ScopeTypeEEEENS1_4ModeES9_ _ZN2v88internal12_GLOBAL__N_119ScopeChainRetriever20RetrieveClosureScopeEPNS0_5ScopeE _ZN2v88internal12_GLOBAL__N_119ScopeChainRetriever18RetrieveStartScopeEPNS0_5ScopeE @@ -12891,6 +12881,7 @@ _ZN2v88internal13DebugEvaluate14ContextBuilder12UpdateValuesEv _ZN2v88internal13DebugEvaluate20WithTopmostArgumentsEPNS0_7IsolateENS0_12DirectHandleINS0_6StringEEE _ZN2v88internal13DebugEvaluate14ContextBuilderC2EPNS0_7IsolateEPNS0_15JavaScriptFrameEi _ZN2v88internal13DebugEvaluate14ContextBuilderC1EPNS0_7IsolateEPNS0_15JavaScriptFrameEi +_ZN2v88internal13DebugEvaluate25IsSideEffectFreeIntrinsicENS0_7Runtime10FunctionIdE _ZNSt4__Cr19__partial_sort_implINS_17_ClassicAlgPolicyERPFbRKN2v88internal13CoverageBlockES6_EPS4_SA_EET1_SB_SB_T2_OT0_ _ZN2v88internal20TraceManualRecompileENS0_6TaggedINS0_10JSFunctionEEENS0_8CodeKindENS0_15ConcurrencyModeE _ZN2v88internal14TieringManager8OptimizeENS0_6TaggedINS0_10JSFunctionEEENS0_20OptimizationDecisionE @@ -12931,7 +12922,7 @@ _ZN2v88internal8baseline16BaselineCompiler26VisitLdaCurrentContextSlotEv _ZN2v88internal8baseline16BaselineCompiler9VisitStarEv _ZN2v88internal8baseline16BaselineCompiler8VisitMovEv _ZN2v88internal8baseline16BaselineCompiler16VisitPushContextEv -_ZN2v88internal8baseline16BaselineCompiler19VisitStaContextSlotEv +_ZN2v88internal8baseline16BaselineCompiler15VisitPopContextEv _ZN2v88internal8baseline16BaselineCompiler26VisitStaCurrentContextSlotEv _ZN2v88internal8baseline16BaselineCompiler18VisitLdaLookupSlotEv _ZN2v88internal8baseline16BaselineCompiler31VisitLdaLookupContextSlotNoCellEv @@ -12952,7 +12943,7 @@ _ZN2v88internal8baseline16BaselineCompiler22VisitStaModuleVariableEv _ZN2v88internal8baseline16BaselineCompiler21VisitSetNamedPropertyEv _ZN2v88internal8baseline16BaselineCompiler27VisitDefineNamedOwnPropertyEv _ZN2v88internal8baseline16BaselineCompiler21VisitSetKeyedPropertyEv -_ZN2v88internal8baseline16BaselineCompiler8VisitIncEv +_ZN2v88internal8baseline16BaselineCompiler27VisitDefineKeyedOwnPropertyEv _ZN2v88internal8baseline16BaselineCompiler8VisitDecEv _ZN2v88internal8baseline16BaselineCompiler11VisitNegateEv _ZN2v88internal8baseline16BaselineCompiler15VisitBitwiseNotEv @@ -12975,7 +12966,6 @@ _ZN2v88internal8baseline16BaselineCompiler27VisitCallUndefinedReceiver2Ev _ZN2v88internal8baseline16BaselineCompiler19VisitCallWithSpreadEv _ZN2v88internal8baseline16BaselineCompiler16VisitCallRuntimeEv _ZN2v88internal8baseline16BaselineCompiler23VisitCallRuntimeForPairEv -_ZN2v88internal8baseline16BaselineCompiler17VisitTestLessThanEv _ZN2v88internal8baseline16BaselineCompiler20VisitTestGreaterThanEv _ZN2v88internal8baseline16BaselineCompiler24VisitTestLessThanOrEqualEv _ZN2v88internal8baseline16BaselineCompiler27VisitTestGreaterThanOrEqualEv @@ -13043,7 +13033,6 @@ _ZN2v88internal8baseline16BaselineCompiler13JumpIfNotRootENS0_9RootIndexE _ZN2v88internal8baseline16BaselineCompiler15JumpIfToBooleanEbPNS0_5LabelENS3_8DistanceE _ZN2v88internal8baseline17BaselineAssembler20LdaContextSlotNoCellENS0_8RegisterEjjNS2_15CompressionModeES3_ _ZN2v88internal8baseline17BaselineAssembler20StaContextSlotNoCellENS0_8RegisterES3_jj -_ZN2v88internal8baseline16BaselineCompiler9BuildCallILNS0_19ConvertReceiverModeE2EJNS0_11interpreter12RegisterListEEEEvjjDpT0_ _ZN2v88internal8baseline16BaselineCompiler9BuildCallILNS0_19ConvertReceiverModeE1EJNS0_11interpreter12RegisterListEEEEvjjDpT0_ _ZN2v88internal8baseline16BaselineCompiler9BuildCallILNS0_19ConvertReceiverModeE1EJNS0_11interpreter8RegisterEEEEvjjDpT0_ _ZN2v88internal8baseline16BaselineCompiler9BuildCallILNS0_19ConvertReceiverModeE1EJNS0_11interpreter8RegisterES6_EEEvjjDpT0_ @@ -13169,7 +13158,6 @@ _ZN2v88internal21DebugPropertyIterator14is_array_indexEv _ZN2v85debug16PropertyIteratorD2Ev _ZN2v88internal21DebugPropertyIteratorD0Ev _ZN2v88internal27Builtin_DataViewConstructorEiPmPNS0_7IsolateE -_ZN2v88internal42Builtin_AsyncDisposableStackPrototypeDeferEiPmPNS0_7IsolateE _ZN2v88internal41Builtin_AsyncDisposableStackPrototypeMoveEiPmPNS0_7IsolateE _ZN2v88internal24Builtin_ErrorConstructorEiPmPNS0_7IsolateE _ZN2v88internal30Builtin_ErrorCaptureStackTraceEiPmPNS0_7IsolateE @@ -13194,6 +13182,8 @@ _ZN2v88internal20Builtin_GlobalEscapeEiPmPNS0_7IsolateE _ZN2v88internal22Builtin_GlobalUnescapeEiPmPNS0_7IsolateE _ZN2v88internal18Builtin_GlobalEvalEiPmPNS0_7IsolateE _ZN2v88internal3Uri6DecodeEPNS0_7IsolateENS0_12DirectHandleINS0_6StringEEEb +_ZN2v88internal3Uri8UnescapeEPNS0_7IsolateENS0_6HandleINS0_6StringEEE +_ZZNSt4__Cr6vectorItNS_9allocatorItEEE12emplace_backIJtEEERtDpOT_ENKUlvE0_clEv _ZZNSt4__Cr6vectorItNS_9allocatorItEEE12emplace_backIJRKtEEERtDpOT_ENKUlvE0_clEv _ZZNSt4__Cr6vectorIhNS_9allocatorIhEEE12emplace_backIJhEEERhDpOT_ENKUlvE0_clEv _ZN2v88internal12_GLOBAL__N_16EncodeEjPNS1_15ResizableBufferIhEE @@ -13259,6 +13249,7 @@ _ZN2v84base11SmallVectorIiLm16ENSt4__Cr9allocatorIiEEE11FreeStorageEv _ZNSt4__Cr6vectorIN2v88internal10JsonParserIhE16JsonContinuationENS_9allocatorIS5_EEE7reserveEm _ZN2v88internal10JsonParserIhE16JsonContinuationaSEOS3_ _ZNSt4__Cr6vectorIN2v88internal10JsonParserIhE16JsonContinuationENS_9allocatorIS5_EEE8pop_backEv +_ZN2v88internal10JsonParserIhE10ExpectNextILNS0_9JsonTokenE1EEEbNSt4__Cr8optionalINS0_15MessageTemplateEEE _ZN2v88internal10JsonParserIhE15BuildJsonObjectILb1EEENS0_6HandleINS0_8JSObjectEEERKNS2_16JsonContinuationENS0_12DirectHandleINS0_3MapEEE _ZN2v88internal11HandleScope14CloseAndEscapeINS0_18ObjectTwoHashTableENS0_6HandleEQsr3stdE16is_convertible_vIT0_IT_ENS0_12DirectHandleIS6_EEEEES7_S7_ _ZN2v88internal11HandleScope14CloseAndEscapeINS0_10FixedArrayENS0_6HandleEQsr3stdE16is_convertible_vIT0_IT_ENS0_12DirectHandleIS6_EEEEES7_S7_ @@ -13293,7 +13284,7 @@ _ZN2v88internal19JSDataObjectBuilder45RewindExpectedFinalMapFastPathToBeforeCurr _ZN2v88internal19JSDataObjectBuilder46RewindExpectedFinalMapFastPathToIncludeCurrentEv _ZN2v88internal15JsonStringifierC2EPNS0_7IsolateE _ZN2v88internal15JsonStringifierC1EPNS0_7IsolateE -_ZN2v88internal43Builtin_ObjectPrototypePropertyIsEnumerableEiPmPNS0_7IsolateE +_ZN2v88internal15JsonStringifier9StringifyENS0_6HandleINS0_5UnionIJNS0_3SmiENS0_10HeapNumberENS0_6BigIntENS0_6StringENS0_6SymbolENS0_7BooleanENS0_4NullENS0_9UndefinedENS0_10JSReceiverEEEEEESE_NS2_INS0_6ObjectEEE _ZN2v88internal30Builtin_ObjectDefinePropertiesEiPmPNS0_7IsolateE _ZN2v88internal28Builtin_ObjectDefinePropertyEiPmPNS0_7IsolateE _ZN2v88internal26Builtin_ObjectDefineGetterEiPmPNS0_7IsolateE @@ -13486,8 +13477,6 @@ _ZN2v88internal7Genesis31InitializeGlobal_harmony_structEv _ZN2v88internal7Genesis40InitializeGlobal_js_source_phase_importsEv _ZN2v88internal7Genesis35InitializeGlobal_regexp_linear_flagEv _ZN2v88internal7Genesis34InitializeGlobal_sharedarraybufferEv -_ZN2v88internal7Genesis16CompileExtensionEPNS0_7IsolateEPNS_9ExtensionE -_ZN2v88internal7Genesis27InitializeIteratorFunctionsEv _ZN2v88internal7Genesis32CreateInitialMapForArraySubclassEii _ZN2v88internal7Genesis21InstallExtrasBindingsEv _ZN2v88internal7Genesis19InitializeMapCachesEv @@ -13580,7 +13569,6 @@ _ZN2v88internal14V8HeapExplorerC2EPNS0_12HeapSnapshotEPNS0_38SnapshottingProgres _ZN2v88internal14V8HeapExplorerC1EPNS0_12HeapSnapshotEPNS0_38SnapshottingProgressReportingInterfaceEPNS_12HeapProfiler19ContextNameResolverE _ZN2v88internal14V8HeapExplorer13AllocateEntryEPv _ZN2v88internal14V8HeapExplorer8AddEntryENS0_6TaggedINS0_10HeapObjectEEE -_ZN2v88internal18OutputStreamWriter9AddNumberIjEEvT_ _ZN2v88internal18OutputStreamWriter9AddNumberImEEvT_ _ZN2v88internal18OutputStreamWriter9AddNumberIhEEvT_ _ZN2v88internal26HeapSnapshotJSONSerializer18SerializeTraceNodeEPNS0_19AllocationTraceNodeE @@ -13602,6 +13590,9 @@ _ZNSt4__Cr6vectorIN2v88internal14HeapObjectsMap12TimeIntervalENS_9allocatorIS4_E _ZNSt4__Cr6vectorIN2v815HeapStatsUpdateENS_9allocatorIS2_EEE24__emplace_back_slow_pathIJjRjS7_EEEPS2_DpOT_ _ZNSt4__Cr6vectorIN2v815HeapStatsUpdateENS_9allocatorIS2_EEE20__throw_length_errorEv _ZN2v88internal12_GLOBAL__N_122ExternalStringRecorder23RecordSharedMemoryUsageEPKvm +_ZN2v88internal12_GLOBAL__N_126ExternalDataEntryAllocatorD0Ev +_ZN2v88internal12_GLOBAL__N_126ExternalDataEntryAllocator13AllocateEntryEPv +_ZN2v88internal12_GLOBAL__N_126ExternalDataEntryAllocator13AllocateEntryENS0_6TaggedINS0_3SmiEEE _ZN4absl18container_internal12raw_hash_setINS0_17FlatHashMapPolicyINSt4__Cr12basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEPN2v88internal9HeapEntryEEEJEE46transfer_unprobed_elements_to_next_capacity_fnERNS0_12CommonFieldsEPKNS0_6ctrl_tEPvSL_PFvSL_hmmE _ZN4absl13hash_internal15MixingHashState18combine_contiguousES1_PKhm _ZN4absl19functional_internal12InvokeObjectIRNS_18container_internal7HashKeyINS2_10StringHashEPKcLb1EEEmJmEEET0_NS0_7VoidPtrEDpNS0_8ForwardTIT1_E4typeE @@ -13629,6 +13620,7 @@ _ZN2v88internal19AllocationTraceNodeC2EPNS0_19AllocationTraceTreeEj _ZN2v88internal19AllocationTraceNodeC1EPNS0_19AllocationTraceTreeEj _ZN2v88internal19AllocationTraceNodeD2Ev _ZN2v88internal19AllocationTraceNodeD1Ev +_ZN2v88internal19AllocationTraceNode14FindOrAddChildEj _ZNSt4__Cr12__hash_tableINS_17__hash_value_typeIPN2v88internal20SamplingHeapProfiler6SampleENS_10unique_ptrIS5_NS_14default_deleteIS5_EEEEEENS_22__unordered_map_hasherIS6_NS_4pairIKS6_SA_EENS_4hashIS6_EENS_8equal_toIS6_EEEENS_21__unordered_map_equalIS6_SF_SJ_SH_EENS_9allocatorISF_EEE6removeENS_21__hash_const_iteratorIPNS_11__hash_nodeISB_PvEEEE _ZNSt4__Cr5dequeIN2v817AllocationProfile4NodeENS_9allocatorIS3_EEE19__add_back_capacityEv _ZNSt4__Cr14__split_bufferIPN2v817AllocationProfile4NodeENS_9allocatorIS4_EENS_29__split_buffer_pointer_layoutEE12emplace_backIJRS4_EEEvDpOT_ @@ -13644,6 +13636,7 @@ _ZN2v88internal16FileOutputStreamD0Ev _ZN2v812OutputStream12GetChunkSizeEv _ZN2v88internal26ExternalizeStringExtension11BuildSourceEPcm _ZN2v88internal26ExternalizeStringExtension25GetNativeFunctionTemplateEPNS_7IsolateENS_5LocalINS_6StringEEE +_ZN2v88internal26ExternalizeStringExtension11ExternalizeERKNS_20FunctionCallbackInfoINS_5ValueEEE _ZN2v88internal6WasmJs18PrepareForSnapshotEPNS0_7IsolateE _ZN2v88internal12_GLOBAL__N_111InstallFuncEPNS0_7IsolateENS0_12DirectHandleINS0_8JSObjectEEEPKcPFvRKNS_20FunctionCallbackInfoINS_5ValueEEEEibNS0_18PropertyAttributesENS_14SideEffectTypeE _ZN2v88internal6WasmJs13InstallModuleEPNS0_7IsolateENS0_12DirectHandleINS0_8JSObjectEEE @@ -13686,6 +13679,9 @@ _ZN2v88internal17ContextSerializerD2Ev _ZN2v88internal17ContextSerializerD1Ev _ZN2v88internal17ContextSerializerD0Ev _ZN2v88internal17ContextSerializer9SerializeEPNS0_6TaggedINS0_7ContextEEERKNS0_25PerThreadAssertScopeEmptyILb0EJLNS0_19PerThreadAssertTypeE1ELS7_2EEEE +_ZN2v88internal29InternalFieldSerializeWrapperEibNS_31SerializeInternalFieldsCallbackENS_5LocalINS_6ObjectEEE +_ZN2v88internal27ContextDataSerializeWrapperEibNS_28SerializeContextDataCallbackENS_5LocalINS_7ContextEEE +_ZN2v88internal17ContextSerializer19SerializeObjectImplENS0_6HandleINS0_10HeapObjectEEENS0_22SerializerDeserializer8SlotTypeE _ZN2v88internal17ContextSerializer33SerializeObjectWithEmbedderFieldsINS0_17EmbedderDataArrayEPFNS_11StartupDataEibNS_28SerializeContextDataCallbackENS_5LocalINS_7ContextEEEES5_S8_EEvNS0_6HandleIT_EEiT0_T1_T2_ _ZNSt4__Cr6vectorIbNS_9allocatorIbEEE9push_backERKb _ZZNSt4__Cr6vectorIN2v811StartupDataENS_9allocatorIS2_EEE12emplace_backIJS2_EEERS2_DpOT_ENKUlvE0_clEv @@ -13693,7 +13689,6 @@ _ZNSt4__Cr6vectorIN2v811StartupDataENS_9allocatorIS2_EEE20__throw_length_errorEv _ZZNSt4__Cr6vectorIN2v811StartupDataENS_9allocatorIS2_EEE12emplace_backIJRKS2_EEERS2_DpOT_ENKUlvE0_clEv _ZN2v88internal21DescriptorLookupCache5ClearEv _ZN2v88internal17ReadOnlyPromotion7PromoteEPNS0_7IsolateERKNS0_14SafepointScopeERKNS0_25PerThreadAssertScopeEmptyILb0EJLNS0_19PerThreadAssertTypeE1ELS8_2EEEE -_ZNSt4__Cr6vectorIN2v88internal6TaggedINS2_10HeapObjectEEENS_9allocatorIS5_EEE18__insert_with_sizeINS_17_ClassicAlgPolicyENS_11__wrap_iterIPS5_EESD_EESD_NSB_IPKS5_EET0_T1_l _ZN2v88internal12_GLOBAL__N_121ReadOnlyPromotionImpl17LogPromotedObjectENS0_6TaggedINS0_10HeapObjectEEES5_ _ZZNSt4__Cr12__hash_tableINS_17__hash_value_typeIN2v88internal6TaggedINS3_10HeapObjectEEES6_EENS_22__unordered_map_hasherIS6_NS_4pairIKS6_S6_EENS3_6Object6HasherENSC_12KeyEqualSafeEEENS_21__unordered_map_equalIS6_SB_SE_SD_EENS_9allocatorISB_EEE16__emplace_uniqueIJRS6_SM_EEENS9_INS_15__hash_iteratorIPNS_11__hash_nodeIS7_PvEEEEbEEDpOT_ENKUlRSA_SM_SM_E_clESX_SM_SM_ _ZNSt4__Cr12__hash_tableINS_17__hash_value_typeIN2v88internal6TaggedINS3_10HeapObjectEEES6_EENS_22__unordered_map_hasherIS6_NS_4pairIKS6_S6_EENS3_6Object6HasherENSC_12KeyEqualSafeEEENS_21__unordered_map_equalIS6_SB_SE_SD_EENS_9allocatorISB_EEE11__do_rehashILb1EEEvm @@ -13808,7 +13803,6 @@ _ZNK2v88internal8compiler7Linkage29GetParameterSecondaryLocationEi _ZZNSt4__Cr6vectorIN2v88internal11MachineTypeENS_9allocatorIS3_EEE12emplace_backIJRKS3_EEERS3_DpOT_ENKUlvE0_clEv _ZNSt4__Cr6vectorIN2v88internal11MachineTypeENS_9allocatorIS3_EEE20__throw_length_errorEv _ZN2v88internal4wasm20IterateSignatureImplINS0_16SignatureBuilderINS0_9SignatureINS0_15LinkageLocationEEES5_EENS4_INS0_11MachineTypeEEEEEvPKT0_bRT_PiSF_SF_SF_ -_ZN2v88internal8compiler10turboshaft10OperationTINS2_18StringToCaseIntlOpEE18PrintOptionsHelperIJNS4_4KindENS1_16LazyDeoptOnThrowEEJLm0ELm1EEEEvRNSt4__Cr13basic_ostreamIcNS9_11char_traitsIcEEEERKNS9_5tupleIJDpT_EEENS9_16integer_sequenceImJXspT0_EEEE _ZN2v88internal8compiler10turboshaft10OperationTINS2_19ToNumberOrNumericOpEE18PrintOptionsHelperIJNS0_6Object10ConversionENS1_16LazyDeoptOnThrowEEJLm0ELm1EEEEvRNSt4__Cr13basic_ostreamIcNSA_11char_traitsIcEEEERKNSA_5tupleIJDpT_EEENSA_16integer_sequenceImJXspT0_EEEE _ZZNSt4__Cr12__hash_tableIiNS_4hashIiEENS_8equal_toIiEENS_9allocatorIiEEE16__emplace_uniqueIJRKiEEENS_4pairINS_15__hash_iteratorIPNS_11__hash_nodeIiPvEEEEbEEDpOT_ENKUlSA_SA_E_clESA_SA_ _ZNKSt4__Cr6bitsetILm8EE9to_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_12basic_stringIT_T0_T1_EES8_S8_ @@ -13816,9 +13810,6 @@ _ZNSt4__Cr7__countINS_17_ClassicAlgPolicyENS_8__bitsetILm1ELm8EEELb1EbNS_10__ide _ZN2v88internal8compiler10turboshaftlsERNSt4__Cr13basic_ostreamIcNS3_11char_traitsIcEEEENS2_27MaybeRegisterRepresentationE _ZN2v88internal8compiler10turboshaftlsERNSt4__Cr13basic_ostreamIcNS3_11char_traitsIcEEEENS2_20MemoryRepresentationE _ZN2v88internal8compiler10turboshaft8WordTypeILm32EE5RangeEjjPNS0_4ZoneE -_ZNSt4__Cr6__treeINS_12__value_typeIN2v88internal8compiler10turboshaft7OpIndexEmEENS_19__map_value_compareIS6_NS_4pairIKS6_mEENS_4lessIS6_EEEENS3_13ZoneAllocatorISB_EEE14__tree_deleterclEPNS_11__tree_nodeIS7_PvEE -_ZNSt4__Cr6__treeIN2v88internal8compiler10turboshaft7OpIndexENS_4lessIS5_EENS2_13ZoneAllocatorIS5_EEE14__tree_deleterclEPNS_11__tree_nodeIS5_PvEE -_ZN4absl19functional_internal12InvokeObjectIRZNS_18container_internal12raw_hash_setINS2_17FlatHashMapPolicyINSt4__Cr4pairIN2v88internal8compiler10turboshaft7OpIndexEiEENSA_16SnapshotTableKeyINSA_18StoreObservabilityENSA_27MaybeRedundantStoresKeyDataEEEEEJNS_13hash_internal4HashISC_EENS5_8equal_toISC_EENS8_13ZoneAllocatorINS6_IKSC_SG_EEEEEE13destroy_slotsEvEUlPKNS2_6ctrl_tEPvE_vJSU_SV_EEET0_NS0_7VoidPtrEDpNS0_8ForwardTIT1_E4typeE _ZNSt4__Cr5dequeIN2v88internal8compiler10turboshaft13SnapshotTableINS4_18StoreObservabilityENS4_27MaybeRedundantStoresKeyDataEE12SnapshotDataENS2_22RecyclingZoneAllocatorIS9_EEED2Ev _ZNSt4__Cr5dequeIN2v88internal8compiler10turboshaft18SnapshotTableEntryINS4_18StoreObservabilityENS4_27MaybeRedundantStoresKeyDataEEENS2_22RecyclingZoneAllocatorIS8_EEED2Ev _ZN2v88internal8compiler24GetBuiltinCallDescriptorENS0_7BuiltinEPNS0_4ZoneENS0_12StubCallModeEbNS_4base5FlagsINS1_8Operator8PropertyEhhEE @@ -13844,7 +13835,8 @@ _ZN2v88internal8compiler18WasmGraphAssembler32LoadExportedFunctionInstanceDataEP _ZN2v88internal8compiler18WasmGraphAssembler11FieldOffsetEPKNS0_4wasm10StructTypeEj _ZN2v88internal8compiler18WasmGraphAssembler22WasmArrayElementOffsetEPNS1_4NodeENS0_4wasm9ValueTypeE _ZN2v88internal8compiler18WasmGraphAssembler12IsDataRefMapEPNS1_4NodeE -_ZN2v88internal4wasm7AsmType18ElementSizeInBytesEv +_ZN2v88internal8compiler18WasmGraphAssembler12WasmTypeCastEPNS1_4NodeES4_NS1_19WasmTypeCheckConfigE +_ZN2v88internal8compiler18WasmGraphAssembler4NullENS0_4wasm9ValueTypeE _ZN2v88internal4wasm7AsmType8LoadTypeEv _ZN2v88internal4wasm7AsmType9StoreTypeEv _ZN2v88internal4wasm15AsmCallableType3IsAEPNS1_7AsmTypeE @@ -14298,8 +14290,6 @@ _ZN2v88internal2IC14MaybePatchCodeENS0_7BuiltinE _ZN2v88internal2IC24CopyICToMegamorphicCacheENS0_12DirectHandleINS0_4NameEEE _ZN2v88internal2IC8SetCacheENS0_12DirectHandleINS0_4NameEEERKNS0_17MaybeObjectHandleE _ZN2v88internal6LoadIC14ComputeHandlerEPNS0_14LookupIteratorE -_ZN2v88internal11KeyedLoadIC30LoadElementPolymorphicHandlersEPNS0_15MapsAndHandlersES3_NS0_19KeyedAccessLoadModeE -_ZN2v88internal11LoadHandler11LoadElementEPNS0_7IsolateENS0_12ElementsKindEbNS0_19KeyedAccessLoadModeE _ZN2v88internal11LoadHandler24TransitionAndLoadElementEPNS0_7IsolateENS0_12ElementsKindENS0_19KeyedAccessLoadModeE _ZN2v88internal12_GLOBAL__N_124GetUpdatedLoadModeForMapEPNS0_7IsolateENS0_12DirectHandleINS0_3MapEEENS0_19KeyedAccessLoadModeES7_ _ZN2v88internal11KeyedLoadIC8LoadNameENS0_6HandleINS0_5UnionIJNS0_3SmiENS0_10HeapNumberENS0_6BigIntENS0_6StringENS0_6SymbolENS0_7BooleanENS0_4NullENS0_9UndefinedENS0_10JSReceiverEEEEEENS0_12DirectHandleINS0_6ObjectEEENS2_INS0_4NameEEE @@ -14319,6 +14309,11 @@ _ZN2v88internal12StoreHandler22StoreSharedStructFieldEPNS0_7IsolateENS0_13Intern _ZN2v88internal12StoreHandler10StoreFieldEPNS0_7IsolateENS0_13InternalIndexENS0_10FieldIndexENS0_17PropertyConstnessENS0_14RepresentationE _ZN2v88internal12KeyedStoreIC18UpdateStoreElementENS0_6HandleINS0_3MapEEENS0_20KeyedAccessStoreModeES4_ _ZN2v88internal12KeyedStoreIC19StoreElementHandlerENS0_12DirectHandleINS0_3MapEEENS0_20KeyedAccessStoreModeENS0_17MaybeDirectHandleINS0_5UnionIJNS0_3SmiENS0_4CellEEEEEE +_ZN2v88internal12KeyedStoreIC31StoreElementPolymorphicHandlersEPNS0_15MapsAndHandlersENS0_20KeyedAccessStoreModeE +_ZN2v88internal21StoreInArrayLiteralIC5StoreENS0_12DirectHandleINS0_7JSArrayEEENS0_6HandleINS0_6ObjectEEENS2_IS6_EE +_ZN2v88internal19Runtime_LoadIC_MissEiPmPNS0_7IsolateE +_ZN2v88internal32Runtime_LoadIC_Miss_FromBaselineEiPmPNS0_7IsolateE +_ZN2v88internal40Runtime_PatchLoadICUninitializedBaselineEiPmPNS0_7IsolateE _ZN2v88internal40Runtime_GetStringLengthAndUpdateFeedbackEiPmPNS0_7IsolateE _ZN2v88internal29Runtime_LoadNoFeedbackIC_MissEiPmPNS0_7IsolateE _ZN2v88internal41Runtime_LoadWithReceiverNoFeedbackIC_MissEiPmPNS0_7IsolateE @@ -14374,7 +14369,6 @@ _ZN2v88internal7ICStats5BeginEv _ZN2v88internal7ICStats3EndEv _ZN2v88internal7ICStats4DumpEv _ZNK2v88internal6ICInfo19AppendToTracedValueEPNS_7tracing11TracedValueE -_ZN2v88internal27Runtime_VarargStackOverflowEiPmPNS0_7IsolateE _ZN2v88internal39Runtime_ThrowSymbolAsyncIteratorInvalidEiPmPNS0_7IsolateE _ZN2v88internal26Runtime_TerminateExecutionEiPmPNS0_7IsolateE _ZN2v88internal23Runtime_ThrowRangeErrorEiPmPNS0_7IsolateE @@ -14399,28 +14393,6 @@ _ZN2v88internal18Runtime_StackGuardEiPmPNS0_7IsolateE _ZN2v88internal36Runtime_HandleNoHeapWritesInterruptsEiPmPNS0_7IsolateE _ZN2v88internal25Runtime_StackGuardWithGapEiPmPNS0_7IsolateE _ZN2v88internal54Runtime_BytecodeBudgetInterruptWithStackCheck_IgnitionEiPmPNS0_7IsolateE -_ZN2v88internal40Runtime_BytecodeBudgetInterrupt_IgnitionEiPmPNS0_7IsolateE -_ZN2v88internal55Runtime_BytecodeBudgetInterruptWithStackCheck_SparkplugEiPmPNS0_7IsolateE -_ZN2v88internal41Runtime_BytecodeBudgetInterrupt_SparkplugEiPmPNS0_7IsolateE -_ZN2v88internal38Runtime_BytecodeBudgetInterrupt_MaglevEiPmPNS0_7IsolateE -_ZN2v88internal52Runtime_BytecodeBudgetInterruptWithStackCheck_MaglevEiPmPNS0_7IsolateE -_ZN2v88internal33Runtime_AllocateInYoungGenerationEiPmPNS0_7IsolateE -_ZN2v88internal31Runtime_AllocateInOldGenerationEiPmPNS0_7IsolateE -_ZN2v88internal28Runtime_AllocateInSharedHeapEiPmPNS0_7IsolateE -_ZN2v88internal25Runtime_AllocateByteArrayEiPmPNS0_7IsolateE -_ZN2v88internal26Runtime_ThrowIteratorErrorEiPmPNS0_7IsolateE -_ZN2v88internal27Runtime_ThrowSpreadArgErrorEiPmPNS0_7IsolateE -_ZN2v88internal30Runtime_ThrowCalledNonCallableEiPmPNS0_7IsolateE -_ZN2v88internal40Runtime_ThrowConstructedNonConstructableEiPmPNS0_7IsolateE -_ZN2v88internal42Runtime_ThrowPatternAssignmentNonCoercibleEiPmPNS0_7IsolateE -_ZN2v88internal41Runtime_ThrowConstructorReturnedNonObjectEiPmPNS0_7IsolateE -_ZN2v88internal31Runtime_CreateListFromArrayLikeEiPmPNS0_7IsolateE -_ZN2v88internal27Runtime_IncrementUseCounterEiPmPNS0_7IsolateE -_ZN2v88internal37Runtime_GetAndResetTurboProfilingDataEiPmPNS0_7IsolateE -_ZN2v88internal35Runtime_GetAndResetRuntimeCallStatsEiPmPNS0_7IsolateE -_ZN2v88internal27Runtime_OrdinaryHasInstanceEiPmPNS0_7IsolateE -_ZN2v88internal14Runtime_TypeofEiPmPNS0_7IsolateE -_ZN2v88internal28Runtime_AllowDynamicFunctionEiPmPNS0_7IsolateE _ZN2v88internal35Runtime_CreateAsyncFromSyncIteratorEiPmPNS0_7IsolateE _ZN2v88internal25Runtime_GetTemplateObjectEiPmPNS0_7IsolateE _ZN2v88internal34Runtime_ReportMessageFromMicrotaskEiPmPNS0_7IsolateE @@ -14534,6 +14506,7 @@ _ZN2v88internal18Runtime_RegExpExecEiPmPNS0_7IsolateE _ZN2v88internal33Runtime_RegExpGrowRegExpMatchInfoEiPmPNS0_7IsolateE _ZN2v88internal37Runtime_RegExpExperimentalOneshotExecEiPmPNS0_7IsolateE _ZN2v88internal26Runtime_RegExpBuildIndicesEiPmPNS0_7IsolateE +_ZN2v88internal26Runtime_RegExpExecMultipleEiPmPNS0_7IsolateE _ZN2v84base11SmallVectorIiLm2ENSt4__Cr9allocatorIiEEE4GrowEm _ZN2v84base11SmallVectorIiLm2ENSt4__Cr9allocatorIiEEE4GrowEv _ZN2v88internal6String19IsWellFormedUnicodeEPNS0_7IsolateENS0_12DirectHandleIS1_EE @@ -14547,9 +14520,6 @@ _ZN2v88internal34Runtime_SetWasmInstantiateControlsEiPmPNS0_7IsolateE _ZN2v88internal39Runtime_CountUnoptimizedWasmToJSWrapperEiPmPNS0_7IsolateE _ZN2v88internal37Runtime_HasUnoptimizedWasmToJSWrapperEiPmPNS0_7IsolateE _ZN2v88internal22Runtime_WasmTraceEnterEiPmPNS0_7IsolateE -_ZN2v88internal4wasm17return_jspi_stackEPNS0_7IsolateEPNS1_11StackMemoryE -_ZN2v88internal4wasm19return_wasmfx_stackEPNS0_7IsolateEPNS1_11StackMemoryE -_ZN2v88internal4wasm12retire_stackEPNS0_7IsolateEPNS1_11StackMemoryE _ZN2v88internal4wasm27switch_to_the_central_stackEPNS0_7IsolateEm _ZN2v88internal4wasm29switch_from_the_central_stackEPNS0_7IsolateE _ZN2v88internal4wasm34switch_to_the_central_stack_for_jsEPNS0_7IsolateEm @@ -14585,7 +14555,7 @@ _ZN2v88internal15CheckObjectTypeEmmm _ZN2v88internal24CompareOperationFeedback23GetTransitionMapAddressEv _ZN2v88internal24CompareOperationFeedback29GetFeedbackEncodeTableAddressEv _ZN2v88internal8compiler10turboshaft32ExecuteTurboshaftWasmCompilationEPNS0_4wasm14CompilationEnvERNS1_19WasmCompilationDataEPNS3_20WasmDetectedFeaturesEPNS0_21DelayedCounterUpdatesE -_ZN2v88internal4wasm16WasmWrapperCacheINS1_25StackEntryWrapperCacheKeyEE4FreeERNSt4__Cr6vectorIPNS1_8WasmCodeENS5_9allocatorIS8_EEEE +_ZN2v88internal4wasm22WasmExportWrapperCache3NewEPNS0_7IsolateEj _ZN2v88internal4wasm16WasmWrapperCacheINS1_25StackEntryWrapperCacheKeyEE11GetCompiledEPNS0_7IsolateES3_ _ZN2v88internal4wasm16WasmWrapperCacheINS1_25StackEntryWrapperCacheKeyEE20CacheCompiledWrapperEPNS0_7IsolateENS1_21WasmCompilationResultENS1_8WasmCode4KindES3_NSt4__Cr10shared_ptrINS1_17WasmWrapperHandleEEE _ZNK2v88internal4wasm16WasmWrapperCacheINS1_25StackEntryWrapperCacheKeyEE6LookupEm @@ -14637,6 +14607,7 @@ _ZN2v86bigint9Processor11ModuloLargeERNS0_8RWDigitsERNS0_6DigitsES5_ _ZN2v86bigint13ProcessorImpl21CachedMod_MakeInverseERNS0_6DigitsE _ZN2v86bigint9Processor21CachedMod_MakeInverseERNS0_6DigitsE _ZN2v86bigint13ProcessorImpl17MultiplyKaratsubaENS0_8RWDigitsENS0_6DigitsES3_ +_ZN2v86bigint13ProcessorImpl14KaratsubaStartENS0_8RWDigitsENS0_6DigitsES3_S2_j _ZN2v84base6Bignum21DivideModuloIntBignumERKS1_ _ZN2v84base6Bignum13SubtractTimesERKS1_i _ZN2v84base6Bignum7CompareERKS1_S3_ @@ -14708,7 +14679,6 @@ _ZN2v88internal17EmbedderDataArray14BodyDescriptor11IterateBodyINS0_24Concurrent _ZN2v88internal24ConcurrentMarkingVisitor10RecordSlotINS0_20CompressedObjectSlotELNS0_15RecordYoungSlotE1EEEvNS0_6TaggedINS0_10HeapObjectEEET_S7_ _ZN2v88internal3Map14BodyDescriptor11IterateBodyINS0_24ConcurrentMarkingVisitorEEEvNS0_6TaggedIS1_EENS5_INS0_10HeapObjectEEEiPT_ _ZN2v88internal18BodyDescriptorBase23IterateJSObjectBodyImplINS0_24ConcurrentMarkingVisitorEEEvNS0_6TaggedINS0_3MapEEENS4_INS0_10HeapObjectEEEiiPT_ -_ZN2v88internal16WasmGlobalObject14BodyDescriptor11IterateBodyINS0_24ConcurrentMarkingVisitorEEEvNS0_6TaggedINS0_3MapEEENS5_INS0_10HeapObjectEEEiPT_ _ZN2v88internal18WasmInstanceObject14BodyDescriptor11IterateBodyINS0_24ConcurrentMarkingVisitorEEEvNS0_6TaggedINS0_3MapEEENS5_INS0_10HeapObjectEEEiPT_ _ZN2v88internal15WasmTableObject14BodyDescriptor11IterateBodyINS0_24ConcurrentMarkingVisitorEEEvNS0_6TaggedINS0_3MapEEENS5_INS0_10HeapObjectEEEiPT_ _ZN2v88internal4Code14BodyDescriptor11IterateBodyINS0_24ConcurrentMarkingVisitorEEEvNS0_6TaggedINS0_3MapEEENS5_INS0_10HeapObjectEEEiPT_ @@ -14841,11 +14811,7 @@ _ZN2v88internal19CppHeapPointerTable15SweepAndCompactEPNS0_30CompactibleExternal _ZZNSt4__Cr6vectorIN2v88internal14SegmentedTableINS2_24CppHeapPointerTableEntryELm536870912EE7SegmentENS_9allocatorIS6_EEE12emplace_backIJRKS6_EEERS6_DpOT_ENKUlvE0_clEv _ZNSt4__Cr6vectorIN2v88internal14SegmentedTableINS2_24CppHeapPointerTableEntryELm536870912EE7SegmentENS_9allocatorIS6_EEE20__throw_length_errorEv _ZNSt4__Cr6__treeIN2v88internal14SegmentedTableINS2_24CppHeapPointerTableEntryELm536870912EE7SegmentENS_4lessIS6_EENS_9allocatorIS6_EEE14__erase_uniqueIS6_EEmRKT_ -_v8_internal_Print_TransitionTree -_v8_internal_Print_Object_MarkBit -_v8_internal_Print_FunctionCallbackInfo -_v8_internal_Print_PropertyCallbackInfo -_ZN2v88internal7TryCastINS0_10HeapObjectENS0_6ObjectENS0_6TaggedEQ24HasTryCastImplementationIT1_T_T0_EEEbS5_IS7_EPS5_IS6_E +_ZN2v88internal22EphemeronRememberedSet23RecordEphemeronKeyWriteENS0_6TaggedINS0_18EphemeronHashTableEEEm _ZNSt4__Cr6vectorIN22_v8_internal_debugonly22StackTraceDebugDetailsENS_9allocatorIS2_EEE24__emplace_back_slow_pathIJS2_EEEPS2_DpOT_ _ZNSt4__Cr6vectorIN22_v8_internal_debugonly22StackTraceDebugDetailsENS_9allocatorIS2_EEE20__throw_length_errorEv _ZNSt4__Cr12__destroy_atIN22_v8_internal_debugonly22StackTraceDebugDetailsEEEvPT_ @@ -14869,6 +14835,7 @@ _ZN2v88internal18ScavengerCollector22QuarantinedPageSweeper7JobTaskC2EPNS0_4Heap _ZN2v88internal18ScavengerCollector22QuarantinedPageSweeper7JobTaskC1EPNS0_4HeapEOKNSt4__Cr6vectorINS0_17PinnedObjectEntryENS6_9allocatorIS8_EEEE _ZN2v88internal18ScavengerCollector22QuarantinedPageSweeper7JobTask3RunEPNS_11JobDelegateE _ZN2v88internal18ScavengerCollector22QuarantinedPageSweeper7JobTask28CreateFillerFreeSpaceHandlerEPNS0_4HeapEmmb +_ZN2v88internal18ScavengerCollector22QuarantinedPageSweeper7JobTask29AddToFreeListFreeSpaceHandlerEPNS0_4HeapEmmb _ZN2v88internal18ScavengerCollector14CollectGarbageEv _ZN2v88internal12_GLOBAL__N_122PinObjectsConservativeEPNS0_4HeapERNS0_9ScavengerERNSt4__Cr6vectorINS0_17PinnedObjectEntryENS6_9allocatorIS8_EEEENS2_13StackScanModeE _ZN2v88internal12_GLOBAL__N_117PinObjectsPreciseEPNS0_4HeapERNS0_9ScavengerERNSt4__Cr6vectorINS0_17PinnedObjectEntryENS6_9allocatorIS8_EEEE @@ -14882,6 +14849,7 @@ _ZN2v88internal18ScavengerCollector40CompleteSweepingQuarantinedPagesIfNeededEv _ZN2v88internal9ScavengerC2EPNS0_4HeapEbPN4heap4base8WorklistIPNS0_11MutablePageELt64EEEPNS6_INS1_24ScavengedObjectListEntryELt256EEESD_PNS6_INS0_6TaggedINS0_18EphemeronHashTableEEELt128EEEPNS6_INSE_INS0_9JSWeakRefEEELt64EEEPNS6_INSE_INS0_8WeakCellEEELt64EEEb _ZN2v88internal9ScavengerC1EPNS0_4HeapEbPN4heap4base8WorklistIPNS0_11MutablePageELt64EEEPNS6_INS1_24ScavengedObjectListEntryELt256EEESD_PNS6_INS0_6TaggedINS0_18EphemeronHashTableEEELt128EEEPNS6_INSE_INS0_9JSWeakRefEEELt64EEEPNS6_INSE_INS0_8WeakCellEEELt64EEEb _ZN2v88internal9Scavenger25RememberPromotedEphemeronENS0_6TaggedINS0_18EphemeronHashTableEEEi +_ZN4heap4base8WorklistIPN2v88internal11MutablePageELt64EE5Local7PublishEv _ZN2v88internal9Scavenger25EvacuateShortcutCandidateINS0_18FullHeapObjectSlotEEEN4heap4base18SlotCallbackResultENS0_6TaggedINS0_3MapEEET_NS7_INS0_10ConsStringEEENS_4base11StrongAliasINS0_17HeapObjectSizeTagEjEE _ZN2v88internal9Scavenger35EvacuateInPlaceInternalizableStringINS0_18FullHeapObjectSlotEEEN4heap4base18SlotCallbackResultENS0_6TaggedINS0_3MapEEET_NS7_INS0_6StringEEENS_4base11StrongAliasINS0_17HeapObjectSizeTagEjEENS0_12ObjectFieldsE _ZN2v88internal12_GLOBAL__N_124RememberedSetEntryNeededINS0_18FullHeapObjectSlotEEEN4heap4base18SlotCallbackResultEPNS0_4HeapET_ diff --git a/src/Config.zig b/src/Config.zig index 3562346c6..8bbad8b10 100644 --- a/src/Config.zig +++ b/src/Config.zig @@ -254,6 +254,7 @@ pub const ExperimentalFeatures = packed struct(u2) { const CommonOptions = .{ .{ .name = "obey_robots", .type = bool }, .{ .name = "robot_store_entry_limit", .type = ?u32, .default = 1000 }, + .{ .name = "cors_store_entry_limit", .type = ?u32, .default = 1000 }, .{ .name = "proxy_bearer_token", .type = ?[:0]const u8 }, .{ .name = "http_proxy", .type = ?[:0]const u8 }, .{ .name = "http_max_concurrent", .type = ?u8 }, @@ -348,6 +349,7 @@ pub const AiProvider = std.meta.Tag(zenai.provider.Client); /// in `Agent.init` (explicit flag > remembered > mode default), so there is /// no Config-level accessor like `agentVerbosity`. pub const Effort = zenai.provider.Effort; +pub const SearchEngine = @import("browser/tools.zig").SearchEngine; /// Controls how chatty `agent` mode is on stderr. pub const AgentVerbosity = enum { @@ -471,6 +473,8 @@ const Commands = cli.Builder(.{ .{ .name = "attach", .short = 'a', .type = []const u8, .multiple = true }, .{ .name = "verbosity", .type = ?AgentVerbosity }, .{ .name = "effort", .type = ?Effort }, + .{ .name = "search_engine", .type = ?SearchEngine }, + .{ .name = "url", .type = ?[:0]const u8 }, .{ .name = "list_models", .type = bool }, .{ .name = "no_llm", .type = bool }, }, @@ -570,6 +574,13 @@ pub fn robotStoreEntryLimit(self: *const Config) u32 { }; } +pub fn corsStoreEntryLimit(self: *const Config) u32 { + return switch (self.mode) { + inline .serve, .fetch, .mcp, .agent => |opts| opts.cors_store_entry_limit.?, + else => 1000, + }; +} + pub fn httpVersion(self: *const Config) HttpVersion { return switch (self.mode) { inline .serve, .fetch, .mcp, .agent => |opts| opts.http_version, diff --git a/src/Metrics.zig b/src/Metrics.zig index c7dabee96..c92278d6f 100644 --- a/src/Metrics.zig +++ b/src/Metrics.zig @@ -93,7 +93,7 @@ http_navigation_delay_ms: Histogram(&.{ robots_status: CounterEnum("category", @import("network/http.zig").StatusCategory) = .{}, robots_access: CounterEnum("result", enum { allow, deny }) = .{}, robots_evictions: Counter = .{}, -cors_check: CounterEnum("result", enum { same_origin, no_cors, simple, preflight }) = .{}, +cors_check: CounterEnum("result", enum { same_origin, no_cors, simple, preflight, cached }) = .{}, cors_preflight: CounterEnum("result", enum { allowed, blocked }) = .{}, cors_response: CounterEnum("result", enum { allowed, blocked }) = .{}, adblock_verdicts: CounterEnum("verdict", @import("network/adblock/AdBlocker.zig").Verdict) = .{}, diff --git a/src/NodeRegistry.zig b/src/NodeRegistry.zig index c48213d80..a9347e36b 100644 --- a/src/NodeRegistry.zig +++ b/src/NodeRegistry.zig @@ -190,3 +190,20 @@ test "NodeRegistry: resetFrame" { try testing.expectEqual(rb, registry.lookup_by_id.get(rb.id).?); try testing.expectEqual(b_node, registry.lookup_by_node.get(b_node).?.dom); } + +test "NodeRegistry: reset never reuses an id" { + var registry = NodeRegistry.init(testing.allocator); + defer registry.deinit(); + + var page = try testing.pageTest("cdp/registry1.html", .{}); + defer page.close(); + + const frame = page.frame().?; + const dom_node = (try frame.window._document.querySelector(.wrap("#a1"), frame)).?.asNode(); + // The pool recycles the `Node` itself, so keep the id, not the pointer. + const first_id = (try registry.register(dom_node)).id; + + registry.reset(); + try testing.expectEqual(null, registry.lookup_by_id.get(first_id)); + try testing.expect((try registry.register(dom_node)).id != first_id); +} diff --git a/src/SemanticTree.zig b/src/SemanticTree.zig index aab3576ce..575337cd2 100644 --- a/src/SemanticTree.zig +++ b/src/SemanticTree.zig @@ -66,8 +66,10 @@ pub fn init(arena: std.mem.Allocator, node: *Node, registry: *NodeRegistry, fram }; } -pub fn jsonStringify(self: @This(), jw: *std.json.Stringify) error{WriteFailed}!void { - var visitor = JsonVisitor{ .jw = jw, .tree = self }; +/// Walk the pruned tree with `visitor`: `visit(*Node, *NodeData) !bool` +/// returns whether to descend into the children, `leave() !void` closes a +/// visited node. +fn visitAll(self: @This(), visitor: anytype) error{WriteFailed}!void { var xpath_buffer: std.ArrayList(u8) = .empty; const listener_targets = interactive.buildListenerTargetMap(self.frame, self.arena) catch |err| { log.err(.app, "listener map failed", .{ .err = err }); @@ -79,29 +81,20 @@ pub fn jsonStringify(self: @This(), jw: *std.json.Stringify) error{WriteFailed}! .listener_targets = listener_targets, .label_index = &label_index, }; - self.walk(&ctx, self.dom_node, null, &visitor, 1, 0) catch |err| { - log.err(.app, "semantic tree json dump failed", .{ .err = err }); + self.walk(&ctx, visitor) catch |err| { + log.err(.app, "semantic tree walk failed", .{ .err = err }); return error.WriteFailed; }; } +pub fn jsonStringify(self: @This(), jw: *std.json.Stringify) error{WriteFailed}!void { + var visitor = JsonVisitor{ .jw = jw, .tree = self }; + return self.visitAll(&visitor); +} + pub fn textStringify(self: @This(), writer: *std.Io.Writer) error{WriteFailed}!void { var visitor = TextVisitor{ .writer = writer, .tree = self, .depth = 0 }; - var xpath_buffer: std.ArrayList(u8) = .empty; - const listener_targets = interactive.buildListenerTargetMap(self.frame, self.arena) catch |err| { - log.err(.app, "listener map failed", .{ .err = err }); - return error.WriteFailed; - }; - var label_index: Label.LabelByForIndex = .{}; - var ctx: WalkContext = .{ - .xpath_buffer = &xpath_buffer, - .listener_targets = listener_targets, - .label_index = &label_index, - }; - self.walk(&ctx, self.dom_node, null, &visitor, 1, 0) catch |err| { - log.err(.app, "semantic tree text dump failed", .{ .err = err }); - return error.WriteFailed; - }; + return self.visitAll(&visitor); } const OptionData = struct { @@ -130,15 +123,60 @@ const WalkContext = struct { label_index: *Label.LabelByForIndex, }; -fn walk( +// A node whose children are still being walked +const Open = struct { + next_child: ?*Node, + // for the children's xpath index + tag_counts: std.StringArrayHashMapUnmanaged(usize) = .empty, + name: ?[]const u8, // The children's parent_name + xpath_len: usize, + visited: bool, +}; + +fn walk(self: @This(), ctx: *WalkContext, visitor: anytype) !void { + var stack: std.ArrayList(Open) = .empty; + defer stack.deinit(self.arena); + + try self.visitNode(ctx, &stack, self.dom_node, null, visitor, 1); + while (stack.items.len > 0) { + // Everything read from `top` is read before visitNode, which can grow (move) the stack. + const top = &stack.items[stack.items.len - 1]; + if (top.next_child) |child| { + top.next_child = child._next; + + var tag: []const u8 = "text()"; + if (child.is(Element)) |el| { + tag = el.getTagNameLower(); + } + const gop = try top.tag_counts.getOrPut(self.arena, tag); + if (!gop.found_existing) { + gop.value_ptr.* = 0; + } + gop.value_ptr.* += 1; + + try self.visitNode(ctx, &stack, child, top.name, visitor, gop.value_ptr.*); + continue; + } + + const done = stack.pop().?; + if (done.visited) { + try visitor.leave(); + } + ctx.xpath_buffer.shrinkRetainingCapacity(done.xpath_len); + } +} + +// Every ancestor of `node` below the root is open, so the stack's length is its depth. +fn visitNode( self: @This(), ctx: *WalkContext, + stack: *std.ArrayList(Open), node: *Node, parent_name: ?[]const u8, visitor: anytype, index: usize, - current_depth: u32, ) !void { + const current_depth = stack.items.len; if (current_depth > self.max_depth) return; // 1. Skip non-content nodes @@ -216,8 +254,6 @@ fn walk( try appendXPathSegment(node, ctx.xpath_buffer, self.arena, index); const xpath = ctx.xpath_buffer.items; - var name = try axn.getName(self.frame, self.arena, ctx.label_index); - const has_explicit_label = if (node.is(Element)) |el| el.getAttributeInterned("aria-label") != null or el.getAttributeInterned("title") != null else @@ -225,12 +261,14 @@ fn walk( const structural = isStructuralRole(role); - // Filter out computed concatenated names for generic containers without explicit labels. + // No computed concatenated names for generic containers without explicit labels. // This prevents token bloat and ensures their StaticText children aren't incorrectly pruned. // We ignore interactivity because a generic wrapper with an event listener still shouldn't hoist all text. - if (name != null and structural and !has_explicit_label) { - name = null; - } + // Not computing it also keeps a deep chain of containers from being O(depth²). + const name = if (structural and !has_explicit_label) + null + else + try axn.getName(self.frame, self.arena, ctx.label_index); var should_visit = true; if (self.interactive_only) { @@ -285,32 +323,12 @@ fn walk( did_visit = false; } - if (should_walk_children) { - // If we are printing this node normally OR skipping it and unrolling its children, - // we walk the children iterator. - var it = node.childrenIterator(); - var tag_counts: std.StringArrayHashMapUnmanaged(usize) = .empty; - while (it.next()) |child| { - var tag: []const u8 = "text()"; - if (child.is(Element)) |el| { - tag = el.getTagNameLower(); - } - - const gop = try tag_counts.getOrPut(self.arena, tag); - if (!gop.found_existing) { - gop.value_ptr.* = 0; - } - gop.value_ptr.* += 1; - - try self.walk(ctx, child, name, visitor, gop.value_ptr.*, current_depth + 1); - } - } - - if (did_visit) { - try visitor.leave(); - } - - ctx.xpath_buffer.shrinkRetainingCapacity(initial_xpath_len); + try stack.append(self.arena, .{ + .next_child = if (should_walk_children) node._first_child else null, + .name = name, + .xpath_len = initial_xpath_len, + .visited = did_visit, + }); } fn extractSelectOptions(node: *Node, frame: *Frame, arena: std.mem.Allocator) ![]OptionData { @@ -787,3 +805,34 @@ test "SemanticTree max_depth" { try testing.expect(std.mem.indexOf(u8, text_str, "other") == null); } + +test "SemanticTree: deep nesting doesn't overflow the native stack" { + var registry: NodeRegistry = .init(testing.allocator); + defer registry.deinit(); + + const frame = try testing.createFrame(); + defer testing.test_session.closeAllPages(); + + // The link's name comes from its content: the whole chain. The s are + // pruned, so the JSON only nests link > text. SVG, as an HTML element's + // pointer-events lookup walks its ancestors: O(depth²). + const depth = 50_000; + const doc = frame.window._document; + var top = try doc.createTextNode("deep"); + for (0..depth) |_| { + const parent = (try doc.createElementNS("http://www.w3.org/2000/svg", "g", frame)).asNode(); + _ = try parent.appendChild(top, frame); + top = parent; + } + const link = try doc.createElement("a", null, frame); + try link.setAttribute(.wrap("href"), .wrap("#"), frame); + _ = try link.asNode().appendChild(top, frame); + + const st: Self = try .init(testing.arena_allocator, link.asNode(), ®istry, frame, .{}); + const json_str = try std.json.Stringify.valueAlloc(testing.allocator, st, .{}); + defer testing.allocator.free(json_str); + + try testing.expect(std.mem.indexOf(u8, json_str, "\"role\":\"link\",\"name\":\"deep\"") != null); + try testing.expectEqual(depth, std.mem.count(u8, json_str, "/g[1]")); + try testing.expect(std.mem.endsWith(u8, json_str, "/text()[1]\",\"nodeType\":3,\"nodeValue\":\"deep\",\"children\":[]}]}")); +} diff --git a/src/agent/Agent.zig b/src/agent/Agent.zig index 14bbfbcbf..15b0a76b5 100644 --- a/src/agent/Agent.zig +++ b/src/agent/Agent.zig @@ -155,6 +155,9 @@ model: []u8, /// Per-turn reasoning budget for LLM turns. Mutable at runtime via `/effort`. effort: Config.Effort, script_file: ?[]const u8, +/// `--url`: opened before the first turn, so a `--task` run does not spend a +/// model turn navigating to its own start page. +start_url: ?[:0]const u8, one_shot_task: ?[]const u8, one_shot_save: ?[]const u8, one_shot_attachments: ?[]const []const u8, @@ -163,6 +166,10 @@ cancel_requested: std.atomic.Value(bool) = .init(false), /// mid-request instead of blocking until the model's full response arrives. http_interrupt: zenai.http.Interrupt = .{}, synthetic_tool_call_id: u32 = 0, +/// Per-turn CSS selector for each tool call the model made, in call order, so +/// `--save` can record a call that addressed its element by `backendNodeId`. +save_selectors: std.ArrayListUnmanaged(?[]const u8) = .empty, +capturing_for_save: bool = false, /// Aggregate Anthropic/OpenAI/Gemini token usage across every model call. /// Printed as a structured `$usage ...` line on stderr at the end of `--task` /// (one-shot) mode so wrappers can capture per-task cost. @@ -280,7 +287,14 @@ pub fn init(allocator: std.mem.Allocator, app: *App, opts: Config.Agent) !*Agent const effort = settings.resolveEffort(opts, remembered, will_repl, if (resolved) |r| r.credential.provider else null); const verbosity = settings.resolveVerbosity(opts, remembered); const stream_enabled = settings.resolveStream(remembered); - browser_tools.search_engine = settings.resolveSearchEngine(remembered); + browser_tools.search_engine = opts.search_engine orelse settings.resolveSearchEngine(remembered); + // A keyless engine over its cap fails every search; silence reads as a bad + // agent rather than a missing key. + if (browser_tools.searchKeyStatus(browser_tools.search_engine)) |key| switch (key.state) { + .set => {}, + .keyless => log.info(.app, "keyless search endpoint", .{ .env_var = key.env_var, .limit = "rate-limited per client IP" }), + .missing => log.warn(.app, "search key missing", .{ .env_var = key.env_var, .engine = @tagName(browser_tools.search_engine) }), + }; if (resolved) |r| { if (r.source == .picked) { @@ -316,6 +330,7 @@ pub fn init(allocator: std.mem.Allocator, app: *App, opts: Config.Agent) !*Agent .effort = effort, .stream_enabled = stream_enabled, .script_file = opts.script_file, + .start_url = opts.url, .one_shot_task = opts.task, .one_shot_save = opts.save, .one_shot_attachments = if (opts.attach.items.len == 0) null else opts.attach.items, @@ -351,6 +366,7 @@ pub fn init(allocator: std.mem.Allocator, app: *App, opts: Config.Agent) !*Agent pub fn deinit(self: *Agent) void { self.terminal.uninstallLogSink(); self.save_buffer.deinit(); + self.save_selectors.deinit(self.allocator); if (self.save_path) |p| self.allocator.free(p); self.terminal.deinit(); self.conversation.deinit(); @@ -495,6 +511,9 @@ const TurnInput = struct { /// Returns true on success. pub fn run(self: *Agent) bool { + if (self.start_url) |url| { + if (!self.gotoStart(url)) return false; + } if (self.one_shot_task) |task| { const saving = self.one_shot_save != null; const ok = self.runTurn(.{ @@ -517,6 +536,29 @@ pub fn run(self: *Agent) bool { return true; } +/// Opens `--url` through the tool layer, so a bad URL fails like any other +/// tool call and `/save` replays the opening navigation. +fn gotoStart(self: *Agent, url: [:0]const u8) bool { + var arena: std.heap.ArenaAllocator = .init(self.allocator); + defer arena.deinit(); + const a = arena.allocator(); + + var object: std.json.ObjectMap = .empty; + object.put(a, "url", .{ .string = url }) catch return false; + const args: std.json.Value = .{ .object = object }; + const result = browser_tools.call(a, self.ts.session, &self.ts.registry, "goto", args, .{}) catch |err| { + self.terminal.printError("could not open {s}: {s}", .{ url, browser_tools.errorMessage(err) }); + return false; + }; + // `call` reports a failed navigation in-band, not as an error. + if (result.is_error) { + self.terminal.printError("could not open {s}: {s}", .{ url, result.text }); + return false; + } + self.recordSaveCommand(Command.fromToolCall(.goto, args)); + return true; +} + /// Print single-line cumulative token usage to stderr, so wrappers driving /// `lightpanda agent --task ...` can capture per-task cost by `grep`-ing the /// `$usage` prefix. Stable key=value format: @@ -667,7 +709,8 @@ fn runRepl(self: *Agent) void { self.terminal.endTool(); self.printCommandResult(tc, result); if (!result.is_error) { - self.recordSaveCommand(navigationGoto(aa, tc.tool, tc.args) orelse cmd); + const replayable = Command.fromToolCall(tc.tool, withSelector(aa, tc.args, result.selector)); + self.recordSaveCommand(navigationGoto(aa, tc.tool, tc.args) orelse replayable); } self.recordSlashToolCall(command_text, tc.name(), tc.args, result) catch |err| { self.terminal.printWarning("LLM conversation out of sync (/{s}: {s}); next prompt may not see this action", .{ tc.name(), @errorName(err) }); @@ -1267,6 +1310,12 @@ fn synthesizeSaveTo(self: *Agent, arena: std.mem.Allocator, path: []const u8, mo return; } + // `stripCodeFence` accepts an unclosed block, so a truncated script is + // indistinguishable from a complete one once it is on disk. + if (result.finish_reason == .max_tokens) { + return self.abortSave(baseline, "the model ran out of output tokens mid-script"); + } + const raw = result.text orelse return self.abortSave(baseline, "the model returned no script"); // `result.text` lives in the conversation arena, freed by the rollback @@ -1324,6 +1373,20 @@ fn logSaveBufferError(self: *Agent, err: anyerror) void { self.terminal.printError("save buffer disabled: {s}", .{@errorName(err)}); } +/// Swap a call's ephemeral `backendNodeId` for the selector the tool layer +/// resolved, so the call can be replayed. +fn withSelector(arena: std.mem.Allocator, args: ?std.json.Value, selector: ?[]const u8) ?std.json.Value { + const sel = selector orelse return args; + const original = args orelse return args; + if (original != .object) return args; + if (!original.object.contains("backendNodeId")) return args; + + var rewritten = original.object.clone(arena) catch return args; + _ = rewritten.swapRemove("backendNodeId"); + rewritten.put(arena, "selector", .{ .string = sel }) catch return args; + return .{ .object = rewritten }; +} + fn recordSaveCommand(self: *Agent, cmd: Command) void { self.save_buffer.record(cmd) catch |err| self.logSaveBufferError(err); } @@ -1440,7 +1503,7 @@ fn printSlashHelp(self: *Agent, arena: std.mem.Allocator, target: []const u8) vo fn runCommand(self: *Agent, arena: std.mem.Allocator, tc: Command.ToolCall) browser_tools.ToolResult { // The terminal can't show an image, but the conversation can. - return browser_tools.call(arena, self.ts.session, &self.ts.registry, tc.name(), tc.args, .{ .inline_image = self.ai_client != null }) catch |err| .{ + return browser_tools.call(arena, self.ts.session, &self.ts.registry, tc.name(), tc.args, .{ .inline_image = self.ai_client != null, .record = true }) catch |err| .{ .text = switch (err) { error.OutOfMemory => "out of memory", error.FrameNotLoaded => "no page loaded — run /goto first", @@ -1667,6 +1730,10 @@ fn processUserMessage(self: *Agent, input: TurnInput) !?[]const u8 { const provider_client = self.ai_client orelse return error.NoAiClient; self.refreshAuthIfNeeded(); + self.capturing_for_save = input.capture_for_save; + defer self.capturing_for_save = false; + self.save_selectors.clearRetainingCapacity(); + self.terminal.spinner.start(); var result = provider_client.runTools( self.model, @@ -1727,11 +1794,12 @@ fn processUserMessage(self: *Agent, input: TurnInput) !?[]const u8 { const args = browser_tools.normalizeArgKeys(ca, tool, tc.arguments) catch tc.arguments; // Fall back to the navigation a read tool performed, so a // markdown/tree-driven turn isn't lost from `/save`. - const cmd = Command.fromToolCall(tool, args); + const replayable = withSelector(ca, args, if (i < self.save_selectors.items.len) self.save_selectors.items[i] else null); + const cmd = Command.fromToolCall(tool, replayable); const to_record = if (cmd.isRecorded()) cmd else - navigationGoto(ca, tool, args) orelse continue; + navigationGoto(ca, tool, replayable) orelse continue; if (!recorded_any) { if (input.record_comment) |c| self.recordSaveComment(c); recorded_any = true; @@ -1884,10 +1952,19 @@ fn handleToolCall(ctx: *anyopaque, allocator: std.mem.Allocator, tool_name: []co self.terminal.spinner.setTool(tool_name, args_str); defer self.terminal.spinner.setThinking(); - const outcome = self.toolOutcome(allocator, tool_name, arguments) catch |err| zenai.provider.Client.ToolHandler.Result{ + var selector: ?[]const u8 = null; + const outcome = self.toolOutcome(allocator, tool_name, arguments, &selector) catch |err| zenai.provider.Client.ToolHandler.Result{ .content = std.fmt.allocPrint(allocator, "Error: {s}", .{browser_tools.errorMessage(err)}) catch "Error: tool execution failed", .is_error = true, }; + if (self.capturing_for_save) { + // One entry per call, errors included, so the index lines up with + // `RunToolsResult.tool_calls_made`. The conversation arena outlives the + // turn that reads them; `allocator` here is zenai's per-call arena. + const ca = self.conversation.arena.allocator(); + const kept = if (selector) |sel| ca.dupe(u8, sel) catch null else null; + self.save_selectors.append(self.allocator, kept) catch {}; + } self.terminal.agentToolDone(tool_name, args_str, !outcome.is_error); if (self.terminal.verbosity == .high) self.terminal.printToolOutcome(tool_name, outcome.content, outcome.is_error); @@ -1895,8 +1972,12 @@ fn handleToolCall(ctx: *anyopaque, allocator: std.mem.Allocator, tool_name: []co } /// The text plus the rendered PNG, for backends that can show the model an image. -fn toolOutcome(self: *Agent, allocator: std.mem.Allocator, tool_name: []const u8, arguments: ?std.json.Value) browser_tools.ToolError!zenai.provider.Client.ToolHandler.Result { - const result = try browser_tools.call(allocator, self.ts.session, &self.ts.registry, tool_name, arguments, .{ .inline_image = true }); +fn toolOutcome(self: *Agent, allocator: std.mem.Allocator, tool_name: []const u8, arguments: ?std.json.Value, selector: *?[]const u8) browser_tools.ToolError!zenai.provider.Client.ToolHandler.Result { + const result = try browser_tools.call(allocator, self.ts.session, &self.ts.registry, tool_name, arguments, .{ + .inline_image = true, + .record = self.capturing_for_save, + }); + selector.* = result.selector; const content = capToolOutput(allocator, tool_name, result.text); return .{ .content = content, diff --git a/src/agent/settings.zig b/src/agent/settings.zig index 1e90b714b..8c6d00b9e 100644 --- a/src/agent/settings.zig +++ b/src/agent/settings.zig @@ -369,8 +369,8 @@ pub fn resolveStream(remembered: ?Remembered) bool { return true; } -/// Precedence: remembered `.lp-agent.zon` value > default (auto). No CLI -/// flag — the REPL `/searchEngine` command sets and persists it. +/// Precedence: `--search-engine` > remembered `.lp-agent.zon` value > +/// default (auto). The REPL `/searchEngine` command also sets and persists it. pub fn resolveSearchEngine(remembered: ?Remembered) lp.tools.SearchEngine { if (remembered) |r| if (r.search_engine) |e| return e; return .auto; diff --git a/src/browser/ScriptManager.zig b/src/browser/ScriptManager.zig index a0437c64a..08fced465 100644 --- a/src/browser/ScriptManager.zig +++ b/src/browser/ScriptManager.zig @@ -199,7 +199,7 @@ fn waitForPreload(self: *ScriptManager, url: [:0]const u8) ?*Script { _ = client.tickSync(200) catch return null; continue; }, - .done => |script| { + .done, .failed => |script| { // Preload scripts are single-use. We return it and it becomes // the caller's responsibility to free. _ = self.preloaded_scripts.remove(url); @@ -318,7 +318,7 @@ pub fn addFromElement(self: *ScriptManager, comptime from_parser: bool, script_e if (mode != .normal) { var preloaded = self.takePreload(remote_url); if (preloaded == null and kind == .module) { - preloaded = self.base.takeModuleHint(remote_url); + preloaded = try self.base.takeModuleHint(remote_url); } if (preloaded) |pre| { if (comptime lp.IS_DEBUG) { @@ -545,6 +545,7 @@ const PreloadedScript = struct { const State = union(enum) { loading: *Script, done: *Script, + failed: *Script, }; pub fn deinit(self: PreloadedScript) void { @@ -583,10 +584,12 @@ const PreloadedScript = struct { log.warn(.http, "script fetch error", .{ .err = err, .req = script.url, .extra = "preload", .status = script.status }); } + script.status = 0; // status == 0 is correctly treated as an error throughout + script.complete = true; + const self: *ScriptManager = @fieldParentPtr("base", script.manager); - _ = self.preloaded_scripts.remove(script.url); + self.preloaded_scripts.getPtr(script.url).?.state = .{ .failed = script }; script.queueHintEvent(.@"error"); - script.deinit(); } // Owner-driven teardown killed this preload fetch via Transfer.kill, which @@ -726,6 +729,52 @@ test "ScriptManager: preload whose submit fails synchronously releases its arena const url = "http://127.0.0.1:9582/fails-at-submit.js"; // A fetch was started (and failed), so the hint's error event fires. try testing.expectEqual(true, try sm.preloadScript(null, url)); - // errorCallback consumed the entry; nothing dangles in the map. - try testing.expectEqual(false, sm.preloaded_scripts.contains(url)); + // The failed entry stays for a + + diff --git a/src/browser/tests/element/html/media.html b/src/browser/tests/element/html/media.html index a0e23f437..3d248e075 100644 --- a/src/browser/tests/element/html/media.html +++ b/src/browser/tests/element/html/media.html @@ -308,3 +308,23 @@ testing.expectEqual(true, video.paused); } + + diff --git a/src/browser/tests/element/html/option.html b/src/browser/tests/element/html/option.html index e35cc306e..93bafa0b9 100644 --- a/src/browser/tests/element/html/option.html +++ b/src/browser/tests/element/html/option.html @@ -257,3 +257,23 @@ testing.expectEqual(1, select.selectedIndex) } + + diff --git a/src/browser/tests/element/position.html b/src/browser/tests/element/position.html index e6821653f..bf5e5d8ea 100644 --- a/src/browser/tests/element/position.html +++ b/src/browser/tests/element/position.html @@ -629,3 +629,38 @@ testing.expectEqual(0, box.scrollLeft); } + + +
content
+
content
+
content
+
+ + diff --git a/src/browser/tests/fixtures/preload_failed.html b/src/browser/tests/fixtures/preload_failed.html new file mode 100644 index 000000000..9746bc3df --- /dev/null +++ b/src/browser/tests/fixtures/preload_failed.html @@ -0,0 +1,8 @@ + + + + diff --git a/src/browser/tests/fixtures/preload_failed.js b/src/browser/tests/fixtures/preload_failed.js new file mode 100644 index 000000000..4154d458b --- /dev/null +++ b/src/browser/tests/fixtures/preload_failed.js @@ -0,0 +1 @@ +window.failed_classic_ran = true; diff --git a/src/browser/tests/fixtures/preload_failed_module.js b/src/browser/tests/fixtures/preload_failed_module.js new file mode 100644 index 000000000..d9998e62f --- /dev/null +++ b/src/browser/tests/fixtures/preload_failed_module.js @@ -0,0 +1 @@ +window.failed_module_ran = true; diff --git a/src/browser/tests/sanitizer.html b/src/browser/tests/sanitizer.html index 0f85b0c61..e11a37d17 100644 --- a/src/browser/tests/sanitizer.html +++ b/src/browser/tests/sanitizer.html @@ -368,3 +368,236 @@ testing.expectEqual(false, config.javascriptURLs); } + + + + + + + + + + + + + + + + + + + + diff --git a/src/browser/tools.zig b/src/browser/tools.zig index dab21d9e7..d70f19860 100644 --- a/src/browser/tools.zig +++ b/src/browser/tools.zig @@ -24,6 +24,8 @@ const NodeRegistry = @import("../NodeRegistry.zig"); const DOMNode = @import("webapi/Node.zig"); const Selector = @import("webapi/selector/Selector.zig"); +const SelectorPath = @import("SelectorPath.zig"); +const Element = @import("webapi/Element.zig"); const log = lp.log; const tavily = zenai.search.tavily; @@ -557,13 +559,14 @@ pub const Tool = enum { ), }, .scroll => .{ - .description = "Scroll the window, or an element's scroll container, to an absolute position; an omitted axis keeps its current offset. Page scripts receive a `scroll` event, so content that loads on scroll (infinite feeds, lazy lists) may appear: read the page again afterwards, with `waitForState` if it is still loading. Returns the final scroll position and the current page URL and title.", + .description = "Scroll the window, or an element's scroll container, to an absolute position; an omitted axis keeps its current offset. Target an element with a CSS selector (preferred for reproducibility) or a backendNodeId; omit both to scroll the window. Page scripts receive a `scroll` event, so content that loads on scroll (infinite feeds, lazy lists) may appear: read the page again afterwards, with `waitForState` if it is still loading. Returns the final scroll position and the current page URL and title.", .summary = "Scroll the page or an element", .input_schema = minify( \\{ \\ "type": "object", \\ "properties": { - \\ "backendNodeId": { "type": "integer", "description": "Optional: The backend node ID of the element to scroll. If the element is not itself a scroll container, its nearest scrollable ancestor is scrolled instead. If omitted (or 0), scrolls the window." }, + \\ "selector": { "type": "string", "description": "Optional: CSS selector of the element to scroll. Preferred over backendNodeId. If the element is not itself a scroll container, its nearest scrollable ancestor is scrolled instead." }, + \\ "backendNodeId": { "type": "integer", "description": "Optional: The backend node ID of the element to scroll. If the element is not itself a scroll container, its nearest scrollable ancestor is scrolled instead. If neither this nor selector is given (or it is 0), scrolls the window." }, \\ "x": { "type": "integer", "description": "Optional: The horizontal scroll offset." }, \\ "y": { "type": "integer", "description": "Optional: The vertical scroll offset." } \\ } @@ -820,6 +823,9 @@ pub const ToolResult = struct { is_error: bool = false, /// Only set when the caller passed `CallOpts.inline_image`. image: ?lp.screenshot.Prepared = null, + /// Resolved before the action runs, because a navigation takes the node + /// with it. + selector: ?[]const u8 = null, }; const GotoParams = struct { @@ -851,6 +857,9 @@ const NodeAndPage = struct { node: *DOMNode, page: *lp.Frame, target: ActionTarg pub const CallOpts = struct { /// The caller can hand an image to a model. inline_image: bool = false, + /// Fill in `ToolResult.selector`: a registry id means nothing in a later + /// session, so `--save` cannot replay a call that used one. + record: bool = false, }; // An inline screenshot is re-sent on every turn; keep it within what models @@ -883,13 +892,44 @@ pub fn call( }; const substituted = try substituteStringArgs(arena, tool, normalized); - return dispatch(arena, session, registry, tool, substituted, opts) catch |err| { + // Before dispatch, because a navigation takes the node with it. Gated on + // `isRecorded` because `SelectorPath.build` is the expensive part of a tool + // call and the read-only tools that take a `backendNodeId` -- tree, + // markdown, html, nodeDetails -- would only have it thrown away. + const selector = if (opts.record and tool.isRecorded()) + selectorForArgs(arena, session, registry, substituted) + else + null; + + var result = dispatch(arena, session, registry, tool, substituted, opts) catch |err| { if (err == error.NavigationFailed) { if (formatNavigationError(arena, session)) |text| return .{ .text = text, .is_error = true }; } return err; }; + result.selector = selector; + return result; +} + +/// The CSS selector for a call's `backendNodeId`, so the call can be recorded +/// in a form that still resolves in a later session. +fn selectorForArgs( + arena: std.mem.Allocator, + session: *lp.Session, + registry: *NodeRegistry, + arguments: ?std.json.Value, +) ?[]const u8 { + const args = arguments orelse return null; + if (args != .object) return null; + if (args.object.contains("selector")) return null; + const id = args.object.get("backendNodeId") orelse return null; + if (id != .integer) return null; + + const node = registry.lookup_by_id.get(std.math.cast(NodeRegistry.Id, id.integer) orelse return null) orelse return null; + const el = node.dom.is(Element) orelse return null; + const frame = session.currentFrame() orelse return null; + return SelectorPath.init(arena, frame).build(el) catch null; } fn dispatch( @@ -1052,7 +1092,7 @@ const api_engines = .{ .init_options = brave.Client.InitOptions{}, // text_decorations=false: no markup in model-read snippets. .options = brave.types.SearchOptions{ .count = 10, .text_decorations = false }, - .format = formatBraveMarkdown, + .collect = collectBrave, }, .{ .tag = SearchEngine.tavily, @@ -1060,7 +1100,7 @@ const api_engines = .{ .Client = tavily.Client, .init_options = tavily.Client.InitOptions{}, .options = tavily.types.SearchOptions{ .max_results = 10 }, - .format = formatTavilyMarkdown, + .collect = collectTavily, }, .{ .tag = SearchEngine.exa, @@ -1070,7 +1110,7 @@ const api_engines = .{ // highlights: Exa returns no snippet text unless contents is requested; // capped at 3 sentences since the default excerpts run long. .options = exa.types.SearchOptions{ .numResults = 10, .contents = .{ .highlights = .{ .numSentences = 3 } } }, - .format = formatExaMarkdown, + .collect = collectExa, }, .{ .tag = SearchEngine.keenable, @@ -1080,7 +1120,7 @@ const api_engines = .{ // snippet_max_length is a hint the API may round up to a word // boundary; 500 keeps ten results within a few KB of context. .options = keenable.types.SearchOptions{ .max_results = 10, .snippet_max_length = 500 }, - .format = formatKeenableMarkdown, + .collect = collectKeenable, }, }; @@ -1128,13 +1168,24 @@ const KeyStatus = struct { state: enum { set, keyless, missing }, }; -/// `null` for `.auto`, which has no key of its own. +fn keyStatusOf(comptime e: anytype) KeyStatus { + return .{ + .env_var = e.env_var, + .state = if (engineKey(e)) |key| (if (key != null) .set else .keyless) else |_| .missing, + }; +} + +/// For `.auto`, the rung the cascade would actually land on -- it has no key of +/// its own, but "which engine is about to serve, and on what terms" is the +/// question worth answering, and `.auto` is the default. pub fn searchKeyStatus(engine: SearchEngine) ?KeyStatus { inline for (api_engines) |e| { - if (engine == e.tag) return .{ - .env_var = e.env_var, - .state = if (engineKey(e)) |key| (if (key != null) .set else .keyless) else |_| .missing, - }; + if (engine == e.tag) return keyStatusOf(e); + } + if (engine != .auto) return null; + inline for (api_engines) |e| { + const status = keyStatusOf(e); + if (status.state != .missing) return status; } return null; } @@ -1147,19 +1198,25 @@ fn execSearch(arena: std.mem.Allocator, arguments: ?std.json.Value) ToolError!To switch (search_engine) { .auto => { var last_err: ?anyerror = null; + var last_label: []const u8 = "web"; + var last_detail: Failure = .{}; inline for (api_engines) |engine| { if (engineKey(engine)) |api_key| { // Fall through on any failure so one outage doesn't kill // a whole benchmark run. - if (apiSearch(engine, arena, api_key, timeout_ms, args.query)) |markdown_| { + var detail: Failure = .{}; + if (apiSearch(engine, arena, api_key, timeout_ms, args.query, &detail)) |markdown_| { return .{ .text = markdown_ }; } else |err| { last_err = err; + last_label = @tagName(engine.tag); + last_detail = detail; log.warn(.browser, @tagName(engine.tag) ++ " fallback", .{ .err = err }); } } else |_| {} } - return searchFailed(arena, "web", last_err.?); + // The last engine's reason, not a generic one -- the model can act on it. + return searchFailed(arena, last_label, last_err.?, last_detail); }, inline else => |tag| { inline for (api_engines) |engine| { @@ -1177,16 +1234,36 @@ fn searchExplicit(arena: std.mem.Allocator, comptime engine: anytype, timeout_ms .text = "web search engine is set to " ++ label ++ " but " ++ engine.env_var ++ " is not set in the environment", .is_error = true, }; - const markdown_ = apiSearch(engine, arena, api_key, timeout_ms, query) catch |err| - return searchFailed(arena, label, err); + var detail: Failure = .{}; + const markdown_ = apiSearch(engine, arena, api_key, timeout_ms, query, &detail) catch |err| + return searchFailed(arena, label, err, detail); return .{ .text = markdown_ }; } -fn searchFailed(arena: std.mem.Allocator, comptime label: []const u8, err: anyerror) ToolError!ToolResult { - return .{ - .text = try std.fmt.allocPrint(arena, label ++ " search failed: {s}", .{@errorName(err)}), - .is_error = true, - }; +/// Duped out of the client before `deinit` takes it; otherwise the model sees +/// only the error name. +const Failure = struct { + status: ?u10 = null, + message: []const u8 = "", +}; + +fn searchFailed(arena: std.mem.Allocator, label: []const u8, err: anyerror, detail: Failure) ToolError!ToolResult { + var aw: std.Io.Writer.Allocating = .init(arena); + writeFailure(&aw.writer, label, err, detail) catch return ToolError.OutOfMemory; + return .{ .text = aw.written(), .is_error = true }; +} + +fn writeFailure(w: *std.Io.Writer, label: []const u8, err: anyerror, detail: Failure) !void { + try w.print("{s} search failed: {s}", .{ label, @errorName(err) }); + if (detail.status) |status| try w.print(" (HTTP {d})", .{status}); + if (detail.message.len > 0) { + try w.writeAll(": "); + try writeSingleLine(w, detail.message); + } + // The one failure where the right move is not "try another query". + if (detail.status == 429) { + try w.writeAll(". This engine is rate-limited right now; wait before retrying, or read the answer from a page instead."); + } } /// `arena` owns the returned slice. @@ -1196,6 +1273,7 @@ fn apiSearch( api_key: ?[]const u8, timeout_ms: u32, query: []const u8, + detail: *Failure, ) ![]const u8 { var init_options = engine.init_options; // The cascade (or the model) is the retry; honoring a Retry-After (60 s @@ -1216,59 +1294,76 @@ fn apiSearch( .status = status, .message = client.last_error.message, }); + detail.* = .{ + .status = status, + .message = if (client.last_error.message) |m| (arena.dupe(u8, m) catch "") else "", + }; } return err; }; defer response.deinit(); + return renderResults(arena, try engine.collect(arena, response.value)); +} + +pub const Hit = struct { + title: []const u8, + url: []const u8, + snippet: []const u8, +}; + +pub const SearchResults = struct { + /// Tavily's synthesized answer; empty for the engines that have none. + answer: []const u8 = "", + hits: []const Hit = &.{}, +}; + +/// The engines agree on title and url and disagree only on which field holds +/// the snippet. +fn collectHits(arena: std.mem.Allocator, results: anytype, comptime snippet: []const u8) ![]Hit { + const hits = try arena.alloc(Hit, results.len); + for (results, hits) |r, *hit| hit.* = .{ .title = r.title, .url = r.url, .snippet = @field(r, snippet) }; + return hits; +} + +fn collectTavily(arena: std.mem.Allocator, resp: tavily.types.SearchResponse) !SearchResults { + return .{ .answer = resp.answer orelse "", .hits = try collectHits(arena, resp.results, "content") }; +} + +fn collectBrave(arena: std.mem.Allocator, resp: brave.types.SearchResponse) !SearchResults { + const results: []const brave.types.Result = if (resp.web) |web| web.results else &.{}; + return .{ .hits = try collectHits(arena, results, "description") }; +} + +fn collectExa(arena: std.mem.Allocator, resp: exa.types.SearchResponse) !SearchResults { + const hits = try arena.alloc(Hit, resp.results.len); + for (resp.results, hits) |r, *hit| { + const highlights = r.highlights orelse &[_][]const u8{}; + hit.* = .{ + .title = r.title orelse "", + .url = r.url, + .snippet = if (highlights.len > 0) highlights[0] else "", + }; + } + return .{ .hits = hits }; +} + +fn collectKeenable(arena: std.mem.Allocator, resp: keenable.types.SearchResponse) !SearchResults { + // `snippet` carries the page text; the wire format's always-empty + // `description` is deliberately not even mapped by the client. + return .{ .hits = try collectHits(arena, resp.results, "snippet") }; +} + +fn renderResults(arena: std.mem.Allocator, results: SearchResults) ToolError![]const u8 { + if (results.answer.len == 0 and results.hits.len == 0) return "No results."; var aw: std.Io.Writer.Allocating = .init(arena); - try engine.format(&aw.writer, response.value); + writeResults(&aw.writer, results) catch return ToolError.OutOfMemory; return aw.written(); } -fn formatTavilyMarkdown(w: *std.Io.Writer, resp: tavily.types.SearchResponse) !void { - const answer = resp.answer orelse ""; - if (answer.len == 0 and resp.results.len == 0) { - return w.writeAll("No results."); - } - if (answer.len > 0) { - try w.print("**Answer:** {s}\n\n", .{answer}); - } - for (resp.results, 0..) |r, i| { - try writeResultItem(w, i, r.title, r.url, r.content); - } -} - -fn formatBraveMarkdown(w: *std.Io.Writer, resp: brave.types.SearchResponse) !void { - const results: []const brave.types.Result = if (resp.web) |web| web.results else &.{}; - if (results.len == 0) { - return w.writeAll("No results."); - } - for (results, 0..) |r, i| { - try writeResultItem(w, i, r.title, r.url, r.description); - } -} - -fn formatExaMarkdown(w: *std.Io.Writer, resp: exa.types.SearchResponse) !void { - if (resp.results.len == 0) { - return w.writeAll("No results."); - } - for (resp.results, 0..) |r, i| { - const highlights = r.highlights orelse &[_][]const u8{}; - const snippet = if (highlights.len > 0) highlights[0] else ""; - try writeResultItem(w, i, r.title orelse "", r.url, snippet); - } -} - -fn formatKeenableMarkdown(w: *std.Io.Writer, resp: keenable.types.SearchResponse) !void { - if (resp.results.len == 0) { - return w.writeAll("No results."); - } - for (resp.results, 0..) |r, i| { - // snippet carries the page text (the wire format's always-empty - // `description` is deliberately not even mapped by the client). - try writeResultItem(w, i, r.title, r.url, r.snippet); - } +fn writeResults(w: *std.Io.Writer, results: SearchResults) !void { + if (results.answer.len > 0) try w.print("**Answer:** {s}\n\n", .{results.answer}); + for (results.hits, 0..) |hit, i| try writeResultItem(w, i, hit.title, hit.url, hit.snippet); } /// An empty title (providers default it to "") would render as `****`. @@ -1867,20 +1962,24 @@ fn execFill(arena: std.mem.Allocator, session: *lp.Session, registry: *NodeRegis fn execScroll(arena: std.mem.Allocator, session: *lp.Session, registry: *NodeRegistry, arguments: ?std.json.Value) ToolError![]const u8 { const Params = struct { backendNodeId: ?NodeRegistry.Id = null, + selector: ?[]const u8 = null, x: ?i32 = null, y: ?i32 = null, }; const args = try parseArgsOrDefault(Params, arena, arguments); const scope = beginAction(session); - const page = try requireFrame(session); - const target_node = try resolveOptionalNode(registry, args.backendNodeId); + const resolved: ?NodeAndPage = if (args.selector != null or args.backendNodeId != null) + try resolveTarget(session, registry, args.selector, args.backendNodeId) + else + null; + const page = if (resolved) |r| r.page else try requireFrame(session); - const result = lp.actions.scroll(target_node, args.x, args.y, page) catch |err| return mapActionError(err); + const result = lp.actions.scroll(if (resolved) |r| r.node else null, args.x, args.y, page) catch |err| return mapActionError(err); const body = (switch (result.target) { .window => std.fmt.allocPrint(arena, "Scrolled window to x: {d}, y: {d}", .{ result.x, result.y }), .node => std.fmt.allocPrint(arena, "Scrolled element ({f}) to x: {d}, y: {d}", .{ - ActionTarget{ .backend_node_id = args.backendNodeId.? }, + resolved.?.target, result.x, result.y, }), @@ -1888,7 +1987,7 @@ fn execScroll(arena: std.mem.Allocator, session: *lp.Session, registry: *NodeReg const registered = registry.register(container) catch return ToolError.InternalError; break :blk std.fmt.allocPrint(arena, "Scrolled scroll container ({f}) of element ({f}) to x: {d}, y: {d}", .{ ActionTarget{ .backend_node_id = registered.id }, - ActionTarget{ .backend_node_id = args.backendNodeId.? }, + resolved.?.target, result.x, result.y, }); @@ -2742,7 +2841,7 @@ test "formatLpEnvNames reports empty when no names" { try std.testing.expectEqualStrings("No LP_* environment variables are set.", r); } -test "formatTavilyMarkdown renders answer and results" { +test "tavily results render as markdown" { var arena: std.heap.ArenaAllocator = .init(std.testing.allocator); defer arena.deinit(); const aa = arena.allocator(); @@ -2756,9 +2855,7 @@ test "formatTavilyMarkdown renders answer and results" { }, }; - var aw: std.Io.Writer.Allocating = .init(aa); - try formatTavilyMarkdown(&aw.writer, resp); - const md = aw.written(); + const md = try renderResults(aa, try collectTavily(aa, resp)); try std.testing.expect(std.mem.indexOf(u8, md, "**Answer:** Paris") != null); try std.testing.expect(std.mem.indexOf(u8, md, "1. **Paris - Wikipedia**") != null); try std.testing.expect(std.mem.indexOf(u8, md, "https://en.wikipedia.org/wiki/Paris") != null); @@ -2766,17 +2863,15 @@ test "formatTavilyMarkdown renders answer and results" { try std.testing.expect(std.mem.indexOf(u8, md, "2. **France**") != null); } -test "formatTavilyMarkdown handles empty results" { +test "tavily: no results render as a notice" { var arena: std.heap.ArenaAllocator = .init(std.testing.allocator); defer arena.deinit(); const aa = arena.allocator(); - var aw: std.Io.Writer.Allocating = .init(aa); - try formatTavilyMarkdown(&aw.writer, .{}); - try std.testing.expectEqualStrings("No results.", aw.written()); + try std.testing.expectEqualStrings("No results.", try renderResults(aa, try collectTavily(aa, .{}))); } -test "formatBraveMarkdown renders web results" { +test "brave results render as markdown" { var arena: std.heap.ArenaAllocator = .init(std.testing.allocator); defer arena.deinit(); const aa = arena.allocator(); @@ -2790,30 +2885,24 @@ test "formatBraveMarkdown renders web results" { }, }; - var aw: std.Io.Writer.Allocating = .init(aa); - try formatBraveMarkdown(&aw.writer, resp); - const md = aw.written(); + const md = try renderResults(aa, try collectBrave(aa, resp)); try std.testing.expect(std.mem.indexOf(u8, md, "1. **Paris - Wikipedia**") != null); try std.testing.expect(std.mem.indexOf(u8, md, "https://en.wikipedia.org/wiki/Paris") != null); try std.testing.expect(std.mem.indexOf(u8, md, "Paris is the capital of France.") != null); try std.testing.expect(std.mem.indexOf(u8, md, "2. **France**") != null); } -test "formatBraveMarkdown handles empty results" { +test "brave: no results render as a notice" { var arena: std.heap.ArenaAllocator = .init(std.testing.allocator); defer arena.deinit(); const aa = arena.allocator(); - var no_web: std.Io.Writer.Allocating = .init(aa); - try formatBraveMarkdown(&no_web.writer, .{}); - try std.testing.expectEqualStrings("No results.", no_web.written()); + try std.testing.expectEqualStrings("No results.", try renderResults(aa, try collectBrave(aa, .{}))); - var empty_web: std.Io.Writer.Allocating = .init(aa); - try formatBraveMarkdown(&empty_web.writer, .{ .web = .{} }); - try std.testing.expectEqualStrings("No results.", empty_web.written()); + try std.testing.expectEqualStrings("No results.", try renderResults(aa, try collectBrave(aa, .{ .web = .{} }))); } -test "formatKeenableMarkdown reads snippet" { +test "keenable results render the snippet as the body" { var arena: std.heap.ArenaAllocator = .init(std.testing.allocator); defer arena.deinit(); const aa = arena.allocator(); @@ -2826,9 +2915,7 @@ test "formatKeenableMarkdown reads snippet" { }, }; - var aw: std.Io.Writer.Allocating = .init(aa); - try formatKeenableMarkdown(&aw.writer, resp); - const md = aw.written(); + const md = try renderResults(aa, try collectKeenable(aa, resp)); try std.testing.expect(std.mem.indexOf(u8, md, "1. **Zig (programming language)**") != null); try std.testing.expect(std.mem.indexOf(u8, md, "Zig is a system programming language.") != null); try std.testing.expect(std.mem.indexOf(u8, md, "2. **Zig guide**") != null); @@ -2843,15 +2930,14 @@ test "writeResultItem uses the URL as title when the title is empty" { try std.testing.expectEqualStrings("1. **https://example.org/x.pdf** — https://example.org/x.pdf\n snippet\n\n", aw.written()); } -test "formatKeenableMarkdown handles empty results" { +test "keenable: no results render as a notice" { var arena: std.heap.ArenaAllocator = .init(std.testing.allocator); defer arena.deinit(); - var aw: std.Io.Writer.Allocating = .init(arena.allocator()); - try formatKeenableMarkdown(&aw.writer, .{}); - try std.testing.expectEqualStrings("No results.", aw.written()); + const aa = arena.allocator(); + try std.testing.expectEqualStrings("No results.", try renderResults(aa, try collectKeenable(aa, .{}))); } -test "formatBraveMarkdown flattens newlines in titles and descriptions" { +test "brave titles and descriptions render on one line" { var arena: std.heap.ArenaAllocator = .init(std.testing.allocator); defer arena.deinit(); const aa = arena.allocator(); @@ -2864,9 +2950,30 @@ test "formatBraveMarkdown flattens newlines in titles and descriptions" { }, }; - var aw: std.Io.Writer.Allocating = .init(aa); - try formatBraveMarkdown(&aw.writer, resp); - try std.testing.expectEqualStrings("1. **Multi line title** — https://example.org\n line one line two\n\n", aw.written()); + try std.testing.expectEqualStrings( + "1. **Multi line title** — https://example.org\n line one line two\n\n", + try renderResults(aa, try collectBrave(aa, resp)), + ); +} + +test "searchFailed: a rate limit says so, a bare failure stays short" { + var arena: std.heap.ArenaAllocator = .init(std.testing.allocator); + defer arena.deinit(); + const aa = arena.allocator(); + + const limited = try searchFailed(aa, "keenable", error.ApiError, .{ + .status = 429, + .message = "Public API hourly limit reached.\nWait 2 minutes to continue.", + }); + try std.testing.expect(limited.is_error); + try std.testing.expect(std.mem.indexOf(u8, limited.text, "(HTTP 429)") != null); + try std.testing.expect(std.mem.indexOf(u8, limited.text, "Public API hourly limit reached.") != null); + try std.testing.expect(std.mem.indexOf(u8, limited.text, "rate-limited right now") != null); + try std.testing.expect(std.mem.indexOf(u8, limited.text, "\n") == null); + + const bare = try searchFailed(aa, "web", error.ConnectionRefused, .{}); + try std.testing.expectEqualStrings("web search failed: ConnectionRefused", bare.text); + try std.testing.expect(bare.is_error); } test "isPathSafe: relative paths without traversal are accepted" { diff --git a/src/browser/webapi/CSS.zig b/src/browser/webapi/CSS.zig index 213064d7b..136b8a276 100644 --- a/src/browser/webapi/CSS.zig +++ b/src/browser/webapi/CSS.zig @@ -19,7 +19,6 @@ const std = @import("std"); const js = @import("../js/js.zig"); const Frame = @import("../Frame.zig"); -const units = @import("../css/units.zig"); const Tokenizer = @import("../css/Tokenizer.zig"); const CSS = @This(); @@ -27,18 +26,6 @@ _pad: bool = false, pub const init: CSS = .{}; -// parseDimension plus viewport-relative units, which the faux layout -// resolves against the page viewport. -pub fn parseDimensionViewport(value: []const u8, frame: *Frame) ?f64 { - const parsed = units.parse(value) catch return null; - return switch (parsed.unit) { - .none, .px => parsed.value, - .vh => parsed.value * @as(f64, @floatFromInt(frame.page.getViewport().height)) / 100.0, - .vw => parsed.value * @as(f64, @floatFromInt(frame.page.getViewport().width)) / 100.0, - else => null, - }; -} - // Extract the X value from a transfrom. This could come from a translate, // translatex, translate3d or matrix function. pub fn parseTranslateX(value: []const u8) f64 { diff --git a/src/browser/webapi/DOMParser.zig b/src/browser/webapi/DOMParser.zig index f3f02fa0a..337118aa5 100644 --- a/src/browser/webapi/DOMParser.zig +++ b/src/browser/webapi/DOMParser.zig @@ -21,11 +21,9 @@ const std = @import("std"); const js = @import("../js/js.zig"); const Frame = @import("../Frame.zig"); -const Parser = @import("../parser/Parser.zig"); const Node = @import("Node.zig"); const Document = @import("Document.zig"); -const HTMLDocument = @import("HTMLDocument.zig"); const DOMParser = @This(); @@ -45,42 +43,8 @@ pub fn parseFromString( switch (target_mime) { .@"text/html" => { - const arena = try frame.getArena(.medium, "DOMParser.parseFromString"); - defer arena.release(); - - // DOMParser builds a detached Document. Borrow the same fragment - // parse-mode that `Frame.parse` uses so frame-side hooks - // triggered from `Build.created` / `nodeIsReady` (external - // stylesheet fetches, script execution, mutation-observer fan-out, - // default-script injection) treat the parsed nodes as detached and - // skip side effects on the live document. The frame's - // `_parse_mode` is restored on exit. - const previous_parse_mode = frame._parse_mode; - frame._parse_mode = .fragment; - defer frame._parse_mode = previous_parse_mode; - - // Create a new HTMLDocument - const doc = try frame._factory.document(HTMLDocument{ - ._proto = undefined, - }); + const doc = try Frame.parse.htmlDocument(frame, html, .{}); doc.asDocument()._url = frame.url; - - var normalized = std.mem.trim(u8, html, &std.ascii.whitespace); - if (normalized.len == 0) { - normalized = ""; - } - - // Parse HTML into the document - var parser = Parser.init(arena.allocator(), doc.asNode(), frame, .{}); - parser.parse(normalized); - if (parser.terminated) { - return error.ExecutionTerminated; - } - - if (parser.err) |pe| { - return pe.err; - } - return doc.asDocument(); }, else => { diff --git a/src/browser/webapi/Document.zig b/src/browser/webapi/Document.zig index 428499f49..de9fd8f5e 100644 --- a/src/browser/webapi/Document.zig +++ b/src/browser/webapi/Document.zig @@ -40,6 +40,7 @@ const DOMImplementation = @import("DOMImplementation.zig"); const StyleSheetList = @import("css/StyleSheetList.zig"); const FontFaceSet = @import("css/FontFaceSet.zig"); const Selection = @import("Selection.zig"); +const Sanitizer = @import("Sanitizer.zig"); const XPathResult = @import("XPathResult.zig"); const XPathExpression = @import("XPathExpression.zig"); @@ -1551,6 +1552,16 @@ pub const JsApi = struct { return frame._factory.genericDocument(.{ .url = "about:blank", .charset = "UTF-8" }); } + pub const parseHTML = bridge.function(_parseHTML, .{ .static = true }); + fn _parseHTML(html: []const u8, options: ?Sanitizer.Options, frame: *Frame) !*Document { + return Sanitizer.parseHTML(html, options, true, frame); + } + + pub const parseHTMLUnsafe = bridge.function(_parseHTMLUnsafe, .{ .static = true }); + fn _parseHTMLUnsafe(html: []const u8, options: ?Sanitizer.Options, frame: *Frame) !*Document { + return Sanitizer.parseHTML(html, options, false, frame); + } + pub const onselectionchange = bridge.accessor(Document.getOnSelectionChange, Document.setOnSelectionChange, .{}); pub const onclick = bridge.accessor(Document.getOnClick, Document.setOnClick, .{}); pub const ontouchstart = bridge.accessor(handlerAccessor(.ontouchstart).get, handlerAccessor(.ontouchstart).set, .{}); diff --git a/src/browser/webapi/DocumentFragment.zig b/src/browser/webapi/DocumentFragment.zig index aef884fcc..0457361f0 100644 --- a/src/browser/webapi/DocumentFragment.zig +++ b/src/browser/webapi/DocumentFragment.zig @@ -165,12 +165,6 @@ pub fn setInnerHTML(self: *DocumentFragment, html: []const u8, frame: *Frame) !v return parent.setHTML(html, .{}, frame); } -/// allows declarative shadow dom -pub fn setHTMLUnsafe(self: *DocumentFragment, html: []const u8, frame: *Frame) !void { - const parent = self.asNode(); - return parent.setHTML(html, .{ .allow_declarative_shadow = true }, frame); -} - pub fn cloneFragment(self: *DocumentFragment, deep: bool, document: *const Node.Document, frame: *Frame) !*Node { const fragment = try DocumentFragment.init(document, frame); const fragment_node = fragment.asNode(); diff --git a/src/browser/webapi/Element.zig b/src/browser/webapi/Element.zig index 4283c67ba..741ba73a8 100644 --- a/src/browser/webapi/Element.zig +++ b/src/browser/webapi/Element.zig @@ -29,6 +29,7 @@ const Node = @import("Node.zig"); const ShadowRoot = @import("ShadowRoot.zig"); const EventTarget = @import("EventTarget.zig"); const collections = @import("collections.zig"); +const Sanitizer = @import("Sanitizer.zig"); const Selector = @import("selector/Selector.zig"); const Animation = @import("animation/Animation.zig"); @@ -627,10 +628,20 @@ pub fn setInnerHTML(self: *Element, html: []const u8, frame: *Frame) !void { return parent.setHTML(html, .{}, frame); } +pub fn setHTML(self: *Element, html: []const u8, options: ?Sanitizer.Options, frame: *Frame) !void { + return Sanitizer.setAndFilterHTML(self.htmlTarget(), self, html, options, true, frame); +} + /// allows declarative shadow dom -pub fn setHTMLUnsafe(self: *Element, html: []const u8, frame: *Frame) !void { - const parent = self.asNode(); - return parent.setHTML(html, .{ .allow_declarative_shadow = true }, frame); +pub fn setHTMLUnsafe(self: *Element, html: []const u8, options: ?Sanitizer.Options, frame: *Frame) !void { + return Sanitizer.setAndFilterHTML(self.htmlTarget(), self, html, options, false, frame); +} + +fn htmlTarget(self: *Element) *Node { + if (self.is(Html.Template)) |template| { + return template.getContent().asNode(); + } + return self.asNode(); } pub fn getId(self: *const Element) ?[]const u8 { @@ -1486,27 +1497,34 @@ pub const Axis = enum { }; pub fn getElementAxis(self: *Element, frame: *Frame, comptime axis: Axis) Axis.State { - if (self.inlineStyle(frame)) |style| { - const decl = style.asCSSStyleDeclaration(); - if (CSS.parseDimensionViewport(decl.getPropertyValue(@tagName(axis), frame), frame)) |v| { + const tag = self.getTag(); + const root = tag == .html or tag == .body; + + if (self.ownerFrame(frame)) |owner| { + const style_manager = &owner._style_manager; + // Roots take only an inline size: a sheet's `height: 100vh` on body + // would shrink the box every synthetic position must fit in. + const size = if (root) style_manager.inlineSize(self, axis) else style_manager.declaredSize(self, axis); + if (size) |v| { return .{ .value = v, .explicit = true }; } } - switch (self.getTag()) { - // Root containers get large default size to contain descendant positions. - // With calculateDocumentPosition using linear depth scaling (100px per level), - // even very deep trees (100 levels) stay within 10,000px. - // 100M pixels is plausible for very long documents. - .html, .body => return .{ .value = if (axis == .width) 1920.0 else 100_000_000.0 }, - .img, .iframe => { - if (self.getAttributeSafe(comptime .wrap(@tagName(axis)))) |attr| { - if (std.fmt.parseFloat(f64, attr)) |parsed| { - return .{ .value = parsed, .explicit = true }; - } else |_| {} - } - }, - else => {}, + // Root containers get large default size to contain descendant positions. + // With calculateDocumentPosition using linear depth scaling (100px per level), + // even very deep trees (100 levels) stay within 10,000px. + // 100M pixels is plausible for very long documents. + if (root) { + return .{ .value = if (axis == .width) 1920.0 else 100_000_000.0 }; + } + + // Presentational attributes lose to CSS sizes. + if (tag == .img or tag == .iframe) { + if (self.getAttributeSafe(comptime .wrap(@tagName(axis)))) |attr| { + if (std.fmt.parseFloat(f64, attr)) |parsed| { + return .{ .value = parsed, .explicit = true }; + } else |_| {} + } } return .{ .value = 5.0 }; @@ -2662,6 +2680,7 @@ pub const JsApi = struct { pub const assignedSlot = bridge.accessor(Element.getAssignedSlot, null, .{}); pub const attachShadow = bridge.function(_attachShadow, .{}); pub const insertAdjacentHTML = bridge.function(Element.insertAdjacentHTML, .{ .ce_reactions = true }); + pub const setHTML = bridge.function(Element.setHTML, .{ .ce_reactions = true }); pub const setHTMLUnsafe = bridge.function(Element.setHTMLUnsafe, .{ .ce_reactions = true }); pub const insertAdjacentElement = bridge.function(Element.insertAdjacentElement, .{ .ce_reactions = true }); pub const insertAdjacentText = bridge.function(Element.insertAdjacentText, .{ .ce_reactions = true }); diff --git a/src/browser/webapi/Node.zig b/src/browser/webapi/Node.zig index 364178b6d..4e885bbf9 100644 --- a/src/browser/webapi/Node.zig +++ b/src/browser/webapi/Node.zig @@ -1613,6 +1613,28 @@ pub fn setHTML(self: *Node, html: []const u8, opts: Frame.parse.FragmentParseOpt } } +pub fn replaceAllWithFragment(self: *Node, fragment: *Node, frame: *Frame) !void { + frame.domChanged(); + + const notify = Frame.observers.hasMutationObservers(frame); + var added: std.ArrayList(*Node) = .empty; + if (notify) { + var it = fragment.childrenIterator(); + while (it.next()) |child| { + try added.append(frame.call_arena, child); + } + } + + const removed = try self.removeAllChildrenCollecting(notify, frame); + try frame.moveAllChildren(fragment, self, null, .silent_parent); + + if (notify and (removed.items.len > 0 or added.items.len > 0)) { + // The point here is to batch all of the adds/remove and get a combined + // mutation record + Frame.observers.notifyChildListChange(frame, self, added.items, removed.items, null, null); + } +} + // Writes a JSON representation of the node and its children pub fn jsonStringify(self: *const Node, writer: *std.json.Stringify) !void { // stupid json api requires this to be const, diff --git a/src/browser/webapi/Sanitizer.zig b/src/browser/webapi/Sanitizer.zig index 3650356af..6cf57a724 100644 --- a/src/browser/webapi/Sanitizer.zig +++ b/src/browser/webapi/Sanitizer.zig @@ -30,7 +30,11 @@ const lp = @import("lightpanda"); const js = @import("../js/js.zig"); const Page = @import("../Page.zig"); +const Frame = @import("../Frame.zig"); +const Node = @import("Node.zig"); +const Element = @import("Element.zig"); +const TreeWalker = @import("TreeWalker.zig"); const defaults = @import("sanitizer_defaults.zig"); const String = lp.String; @@ -221,6 +225,10 @@ const Config = struct { // ?js.Value because not provided, undefined and null are all handled differently pub fn init(configuration_: ?js.Value, exec: *const Execution) !*Sanitizer { + return create(configuration_, true, exec); +} + +fn create(configuration_: ?js.Value, permissive_defaults: bool, exec: *const Execution) !*Sanitizer { const arena = try exec.getPinnedArena(.small, "Sanitizer"); errdefer arena.release(); @@ -247,7 +255,7 @@ pub fn init(configuration_: ?js.Value, exec: *const Execution) !*Sanitizer { } const config: Config = if (configuration.isNull()) .{} else try configuration.toZig(Config); - if (try self.setFromConfig(config) == false) { + if (try self.setFromConfig(config, permissive_defaults) == false) { return exec.js.typeError("invalid Sanitizer configuration"); } } @@ -301,7 +309,7 @@ fn setFromDefault(self: *Sanitizer) !void { self._javascript_urls = false; } -fn setFromConfig(self: *Sanitizer, config: Config) !bool { +fn setFromConfig(self: *Sanitizer, config: Config, permissive_defaults: bool) !bool { var all_new = true; const arena = self._arena; @@ -348,11 +356,11 @@ fn setFromConfig(self: *Sanitizer, config: Config) !bool { self._remove_processing_instructions = try self.targetSet(pis, &all_new); } - self._comments = Config.boolean(config.comments, true); + self._comments = Config.boolean(config.comments, permissive_defaults); if (self._allow_attributes != null or config.dataAttributes != null) { - self._data_attributes = Config.boolean(config.dataAttributes, true); + self._data_attributes = Config.boolean(config.dataAttributes, permissive_defaults); } - self._javascript_urls = Config.boolean(config.javascriptURLs, true); + self._javascript_urls = Config.boolean(config.javascriptURLs, permissive_defaults); if (config.elements == null and config.removeElements == null) { self._remove_elements = .empty; @@ -361,7 +369,11 @@ fn setFromConfig(self: *Sanitizer, config: Config) !bool { self._remove_attributes = .empty; } if (self._allow_processing_instructions == null and self._remove_processing_instructions == null) { - self._remove_processing_instructions = .empty; + if (permissive_defaults) { + self._remove_processing_instructions = .empty; + } else { + self._allow_processing_instructions = .empty; + } } return all_new and self.isValid(); @@ -992,6 +1004,379 @@ fn hasDataAttribute(set: NameSet) bool { return false; } +// Like init: we need to tell the difference between not-set, null and undefined +// AND, this can actually be a Sanitizer config already. +pub const Options = struct { + sanitizer: ?js.Value = null, +}; + +const FromOptions = struct { + owned: bool, + sanitizer: *Sanitizer, + + fn release(self: FromOptions, page: *Page) void { + if (self.owned) { + // We have to free a Sanitizer we created, versus a Sanitizer that + // was passed to use from JS. + self.sanitizer.deinit(page); + } + } +}; + +fn fromOptions(options: ?Options, safe: bool, exec: *const Execution) !?FromOptions { + const spec = blk: { + const o = options orelse break :blk null; + const spec = o.sanitizer orelse break :blk null; + if (spec.isUndefined()) { + break :blk null; + } + if (spec.toZig(*Sanitizer)) |sanitizer| { + return .{ .sanitizer = sanitizer, .owned = false }; + } else |_| {} + break :blk spec; + }; + + if (spec == null and safe == false) { + return null; + } + // A missing spec takes the "default" preset + return .{ .sanitizer = try create(spec, safe == false, exec), .owned = true }; +} + +pub fn setAndFilterHTML(target: *Node, context: *Element, html: []const u8, options: ?Options, safe: bool, frame: *Frame) !void { + if (safe and std.mem.eql(u8, context.getLocalName(), "script")) { + if (context._namespace == .html or context._namespace == .svg) { + // hahaha, nice try! + return; + } + } + + const resolved = try fromOptions(options, safe, &frame.js.execution); + defer if (resolved) |r| r.release(frame.page); + + // Parsed into a detached fragment, so that nothing is connected (no fetch, + // no custom element reaction) until it's been sanitized. + const fragment = (try Node.DocumentFragment.init(target.getDocument(frame), frame)).asNode(); + if (html.len > 0) { + try Frame.parse.fragment(frame, fragment, html, .{ .context = context, .allow_declarative_shadow = true }); + } + if (resolved) |r| { + try r.sanitizer.sanitize(fragment, safe, frame); + } + try target.replaceAllWithFragment(fragment, frame); +} + +pub fn parseHTML(html: []const u8, options: ?Options, safe: bool, frame: *Frame) !*Node.Document { + const resolved = try fromOptions(options, safe, &frame.js.execution); + defer if (resolved) |r| r.release(frame.page); + + const document = (try Frame.parse.htmlDocument(frame, html, .{ .allow_declarative_shadow = true })).asDocument(); + document._url = "about:blank"; + if (resolved) |r| { + try r.sanitizer.sanitize(document.asNode(), safe, frame); + } + return document; +} + +fn sanitize(self: *const Sanitizer, root: *Node, safe: bool, frame: *Frame) !void { + const arena = frame.call_arena; + + // A template's contents and a shadow root are trees of their own + var trees: std.ArrayList(*Node) = .empty; + try trees.append(arena, root); + + var remove_attributes: std.ArrayList([]const u8) = .empty; + + // Parents that lost a child, whose text nodes might now be adjacent. + var touched: std.ArrayList(*Node) = .empty; + + while (trees.pop()) |tree| { + var tw = TreeWalker.FullExcludeSelf.init(tree, .{}); + while (tw.next()) |node| { + const parent = node._parent.?; + const element = node.is(Element) orelse { + if (self.keepNonElement(node) == false) { + tw.skipChildren(); + frame.removeNode(parent, node, .{ .reconnect_to = null }); + try touch(&touched, parent, arena); + } + continue; + }; + + const element_name: Name = .{ .name = .wrap(element.getLocalName()), .namespace = elementNamespace(element, frame) }; + switch (self.elementAction(element_name, safe)) { + .keep => {}, + .remove => { + tw.skipChildren(); + frame.removeNode(parent, node, .{ .reconnect_to = null }); + try touch(&touched, parent, arena); + continue; + }, + .replace => { + // Move the children up; the walker's next node is the + // first of them (or, if there are none, what follows). + // run_ready = false: nothing gets to act on them until + // they've been sanitized. + if (node.firstChild() != null) { + const previous_root = node.getRootNode(.{}); + while (node.firstChild()) |child| { + frame.removeNode(node, child, .{ .reconnect_to = parent }); + try frame.insertNodeRelative(parent, child, .{ .before = node }, .{ .previous_root = previous_root, .run_ready = false }); + } + } + frame.removeNode(parent, node, .{ .reconnect_to = null }); + try touch(&touched, parent, arena); + continue; + }, + } + + if (element.is(Element.Html.Template)) |template| { + try trees.append(arena, template.getContent().asNode()); + } + if (element.hostedShadowRoot(frame)) |shadow_root| { + try trees.append(arena, shadow_root.asNode()); + } + + // Collected first: removing one can run script (attributeChangedCallback) + remove_attributes.clearRetainingCapacity(); + for (element.attributeEntries()) |*entry| { + if (self.keepAttribute(element_name, entry.name(), entry.value(), safe) == false) { + try remove_attributes.append(arena, entry.name()); + } + } + for (remove_attributes.items) |name| { + element.removeAttributeSafe(.wrap(name), frame); + } + } + } + + var buffer: std.ArrayList(u8) = .empty; + for (touched.items) |parent| { + try mergeAdjacentText(parent, &buffer, frame); + } +} + +fn touch(touched: *std.ArrayList(*Node), parent: *Node, arena: Allocator) !void { + // Siblings are removed one after another, so this catches most repeats. + // Those it misses just get a second, no-op, merge. + if (touched.getLastOrNull() != parent) { + try touched.append(arena, parent); + } +} + +// if we removed a node between two text nodes, we need to merge the text ndoes + +fn mergeAdjacentText(parent: *Node, buffer: *std.ArrayList(u8), frame: *Frame) !void { + var child = parent.firstChild(); + while (child) |node| { + var next = node.nextSibling(); + const text = node.is(Node.CData.Text) orelse { + child = next; + continue; + }; + if (next == null or next.?.is(Node.CData.Text) == null) { + child = next; + continue; + } + + buffer.clearRetainingCapacity(); + try buffer.appendSlice(frame.call_arena, text.ownData()); + while (next) |sibling| { + const sibling_text = sibling.is(Node.CData.Text) orelse break; + try buffer.appendSlice(frame.call_arena, sibling_text.ownData()); + next = sibling.nextSibling(); + frame.removeNode(parent, sibling, .{ .reconnect_to = null }); + } + text.asCData()._data = try frame.dupeSSO(buffer.items); + child = next; + } +} + +fn keepNonElement(self: *const Sanitizer, node: *Node) bool { + const cdata = node.is(Node.CData) orelse return true; // doctype + return switch (cdata._type) { + .text, .cdata_section => true, + .comment => self._comments == true, + .processing_instruction => { + const target = cdata.subtype(Node.CData.ProcessingInstruction)._target; + if (self._allow_processing_instructions) |allowed| { + return allowed.contains(target); + } + return self._remove_processing_instructions.?.contains(target) == false; + }, + }; +} + +fn elementAction(self: *const Sanitizer, name: Name, safe: bool) enum { keep, remove, replace } { + if (safe) { + for (defaults.baseline_remove_elements) |unsafe| { + if (staticName(unsafe).eql(name)) { + return .remove; + } + } + } + if (self._replace_elements) |replace| { + if (replace.contains(name)) { + return .replace; + } + } + if (self._allow_elements) |allowed| { + return if (allowed.contains(name)) .keep else .remove; + } + return if (self._remove_elements.?.contains(name)) .remove else .keep; +} + +fn keepAttribute(self: *const Sanitizer, element: Name, qualified_name: []const u8, value: []const u8, safe: bool) bool { + const name = attributeName(element.namespace, qualified_name); + + const element_allowed = self._element_allow_attributes.getPtr(element); + if (self._element_remove_attributes.getPtr(element)) |removed| { + if (removed.contains(name)) { + return false; + } + } + + if (self._allow_attributes) |allowed| { + if (allowed.contains(name) == false and + (element_allowed == null or element_allowed.?.contains(name) == false) and + (self._data_attributes != true or name.isDataAttribute() == false)) + { + return false; + } + } else { + if (element_allowed) |set| { + if (set.contains(name) == false) { + return false; + } + } else if (self._remove_attributes.?.contains(name)) { + return false; + } + } + + if (safe and name.namespace == .none and isEventHandler(qualified_name)) { + return false; + } + + if (safe or self._javascript_urls != true) { + if (isNavigatingURLAttribute(element, name) and isJavascriptURL(value)) { + return false; + } + if (isAnimatingURLAttribute(element, name) and (std.mem.eql(u8, value, "href") or std.mem.eql(u8, value, "xlink:href"))) { + return false; + } + } + return true; +} + +fn elementNamespace(element: *Element, frame: *Frame) Namespace { + return switch (element._namespace) { + .html => .xhtml, + .svg => .svg, + .mathml => .mathml, + .xml => .xml, + .null => .none, + .unknown => .intern(element.getNamespaceUri(frame)), + }; +} + +// Attributes' namespaces aren't tracked, but the HTML parser only ever gives a +// namespace to these attributes of foreign (SVG/MathML) elements. +// https://html.spec.whatwg.org/#adjust-foreign-attributes +const foreign_attributes = std.StaticStringMap(defaults.Name).initComptime(.{ + .{ "xlink:actuate", defaults.Name{ .name = "actuate", .namespace = .xlink } }, + .{ "xlink:arcrole", defaults.Name{ .name = "arcrole", .namespace = .xlink } }, + .{ "xlink:href", defaults.Name{ .name = "href", .namespace = .xlink } }, + .{ "xlink:role", defaults.Name{ .name = "role", .namespace = .xlink } }, + .{ "xlink:show", defaults.Name{ .name = "show", .namespace = .xlink } }, + .{ "xlink:title", defaults.Name{ .name = "title", .namespace = .xlink } }, + .{ "xlink:type", defaults.Name{ .name = "type", .namespace = .xlink } }, + .{ "xml:lang", defaults.Name{ .name = "lang", .namespace = .xml } }, + .{ "xml:space", defaults.Name{ .name = "space", .namespace = .xml } }, + .{ "xmlns", defaults.Name{ .name = "xmlns", .namespace = .xmlns } }, + .{ "xmlns:xlink", defaults.Name{ .name = "xlink", .namespace = .xmlns } }, +}); + +fn attributeName(element_namespace: Namespace, qualified_name: []const u8) Name { + if (element_namespace == .svg or element_namespace == .mathml) { + if (foreign_attributes.get(qualified_name)) |name| { + return staticName(name); + } + } + return .{ .name = .wrap(qualified_name), .namespace = .none }; +} + +fn isEventHandler(name: []const u8) bool { + if (std.mem.startsWith(u8, name, "on") == false) { + return false; + } + return std.sort.binarySearch([]const u8, defaults.event_handler_attributes, name, struct { + fn order(key: []const u8, item: []const u8) std.math.Order { + return std.mem.order(u8, key, item); + } + }.order) != null; +} + +// https://html.spec.whatwg.org/#built-in-navigating-url-attributes-list +fn isNavigatingURLAttribute(element: Name, attribute: Name) bool { + const local = attribute.name.str(); + switch (element.namespace) { + .xhtml => { + if (attribute.namespace != .none) { + return false; + } + const tag = element.name.str(); + if (std.mem.eql(u8, tag, "a") or std.mem.eql(u8, tag, "area")) { + return std.mem.eql(u8, local, "href"); + } + if (std.mem.eql(u8, tag, "form")) { + return std.mem.eql(u8, local, "action"); + } + if (std.mem.eql(u8, tag, "button") or std.mem.eql(u8, tag, "input")) { + return std.mem.eql(u8, local, "formaction"); + } + return false; + }, + // any MathML element, not just + .svg, .mathml => { + if (element.namespace == .svg and std.mem.eql(u8, element.name.str(), "a") == false) { + return false; + } + return (attribute.namespace == .none or attribute.namespace == .xlink) and std.mem.eql(u8, local, "href"); + }, + else => return false, + } +} + +fn isAnimatingURLAttribute(element: Name, attribute: Name) bool { + if (element.namespace != .svg or attribute.namespace != .none) { + return false; + } + if (std.mem.eql(u8, attribute.name.str(), "attributeName") == false) { + return false; + } + const tag = element.name.str(); + return std.mem.eql(u8, tag, "animate") or std.mem.eql(u8, tag, "animateTransform") or std.mem.eql(u8, tag, "set"); +} + +fn isJavascriptURL(value: []const u8) bool { + const trimmed = std.mem.trimStart(u8, value, "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f "); + const scheme = "javascript:"; + var i: usize = 0; + for (trimmed) |c| { + if (c == '\t' or c == '\n' or c == '\r') { + continue; + } + if (std.ascii.toLower(c) != scheme[i]) { + return false; + } + i += 1; + if (i == scheme.len) { + return true; + } + } + return false; +} + pub const JsApi = struct { pub const bridge = js.Bridge(Sanitizer); diff --git a/src/browser/webapi/ShadowRoot.zig b/src/browser/webapi/ShadowRoot.zig index 99f6c1566..ac18e3935 100644 --- a/src/browser/webapi/ShadowRoot.zig +++ b/src/browser/webapi/ShadowRoot.zig @@ -24,6 +24,7 @@ const Frame = @import("../Frame.zig"); const Node = @import("Node.zig"); const Element = @import("Element.zig"); +const Sanitizer = @import("Sanitizer.zig"); const DocumentFragment = @import("DocumentFragment.zig"); const ShadowRoot = @This(); @@ -110,8 +111,12 @@ fn getSerializable(self: *const ShadowRoot) bool { return self._serializable; } -pub fn setHTMLUnsafe(self: *ShadowRoot, html: []const u8, frame: *Frame) !void { - return self.asDocumentFragment().setHTMLUnsafe(html, frame); +pub fn setHTML(self: *ShadowRoot, html: []const u8, options: ?Sanitizer.Options, frame: *Frame) !void { + return Sanitizer.setAndFilterHTML(self.asNode(), self._host, html, options, true, frame); +} + +pub fn setHTMLUnsafe(self: *ShadowRoot, html: []const u8, options: ?Sanitizer.Options, frame: *Frame) !void { + return Sanitizer.setAndFilterHTML(self.asNode(), self._host, html, options, false, frame); } pub fn getHTML(self: *ShadowRoot, opts: dump.Opts.Shadow.Declarative, writer: *std.Io.Writer, frame: *Frame) !void { @@ -219,6 +224,7 @@ pub const JsApi = struct { return self.getElementById(try value.toZig([]const u8), frame); } pub const adoptedStyleSheets = bridge.accessor(ShadowRoot.getAdoptedStyleSheets, ShadowRoot.setAdoptedStyleSheets, .{}); + pub const setHTML = bridge.function(ShadowRoot.setHTML, .{ .ce_reactions = true }); pub const setHTMLUnsafe = bridge.function(ShadowRoot.setHTMLUnsafe, .{ .ce_reactions = true }); pub const getHTML = bridge.function(_getHTML, .{}); const GetHTMLOpts = struct { diff --git a/src/help.zon b/src/help.zon index 4fcf2426d..85a0c78c8 100644 --- a/src/help.zon +++ b/src/help.zon @@ -297,12 +297,22 @@ \\ it to PATH, instead of printing the answer. Replay it later with \\ `run PATH` (no LLM calls). Overwrites PATH if it exists. \\ Requires --task. + \\ --search-engine + \\ Which web search API the `search` tool uses. Default: auto, + \\ which takes the first with a key in the environment, in the + \\ order brave, tavily, exa, keenable. `keenable` also works with + \\ no key at all, through a rate-limited public endpoint. + \\ Allowed values: auto, brave, tavily, exa, keenable. \\ --system-prompt \\ Override the default system prompt. \\ --task \\ One-shot mode: run a single user turn, print the final answer \\ to stdout, and exit. Conflicts with the positional script. With \\ --save, the answer is suppressed and a script is written instead. + \\ --url + \\ Open this page before the first turn. With --task it saves the + \\ model a turn spent navigating; with --save the opening + \\ navigation is the first line of the script. \\ --verbosity \\ Stderr chatter level. Default: high when --task captures stderr \\ to a pipe or file; low otherwise. low/medium also raise @@ -396,6 +406,9 @@ \\ --cookie-jar \\ Path to a JSON file to save cookies to on exit (write-only). \\ Defaults to no cookie saving. + \\ --cors-store-entry-limit + \\ Maximum number of entries kept in the CorsStore. 0 means no limit. + \\ Defaults to 1000. \\ --experimental-features \\ Enable an experimental, unstable feature. Can be passed multiple times. \\ Behavior may change or be removed without notice. @@ -502,12 +515,12 @@ \\ --obey-robots \\ Fetches and obeys robots.txt of the target page. \\ Defaults to false. - \\ --robot-store-entry-limit - \\ Maximum number of entries kept in the RobotStore. 0 means no limit. - \\ Defaults to 1000. \\ --proxy-bearer-token \\ Token sent for bearer authentication with the proxy: \\ Proxy-Authorization: Bearer . + \\ --robot-store-entry-limit + \\ Maximum number of entries kept in the RobotStore. 0 means no limit. + \\ Defaults to 1000. \\ --timezone \\ Time zone used by Date and Intl, e.g. Europe/Paris or UTC. \\ Defaults to the host time zone. diff --git a/src/mcp/tools.zig b/src/mcp/tools.zig index f965b02f4..c6edfe97e 100644 --- a/src/mcp/tools.zig +++ b/src/mcp/tools.zig @@ -1196,6 +1196,18 @@ test "MCP - Actions: click, fill, scroll, hover, press, selectOption, setChecked out.clearRetainingCapacity(); } + // A selector targets the element as a backendNodeId does. + { + const outer = frame.document.getElementById("outerscroll", frame).?.asNode(); + const outer_id = (try server.active_session.registry.register(outer)).id; + try router.handleMessage(server, aa, + \\{"jsonrpc":"2.0","id":41,"method":"tools/call","params":{"name":"scroll","arguments":{"selector":"#innerleaf","y":30}}} + ); + const expected = try std.fmt.allocPrint(aa, "Scrolled scroll container (backendNodeId: {d}) of element (selector: #innerleaf) to x: 0, y: 30", .{outer_id}); + try testing.expect(std.mem.indexOf(u8, out.written(), expected) != null); + out.clearRetainingCapacity(); + } + // The container may be declared in a stylesheet rather than inline. { const leaf = frame.document.getElementById("sheetleaf", frame).?.asNode(); diff --git a/src/network/ClockCache.zig b/src/network/ClockCache.zig index 4eaa21372..4a6b2ad53 100644 --- a/src/network/ClockCache.zig +++ b/src/network/ClockCache.zig @@ -64,6 +64,15 @@ pub fn ClockCache(comptime V: type) type { return &entry.value; } + pub fn remove(self: *Self, key: []const u8) ?V { + const index = self.map.getIndex(key) orelse return null; + const owned_key = self.map.keys()[index]; + const value = self.map.values()[index].value; + self.map.swapRemoveAt(index); + self.allocator.free(owned_key); + return value; + } + pub fn insert(self: *Self, key: []const u8, value: V) !InsertResult { const gop = try self.map.getOrPut(self.allocator, key); if (gop.found_existing) return .exists; diff --git a/src/network/CorsGate.zig b/src/network/CorsGate.zig index 8efbe0f45..109264584 100644 --- a/src/network/CorsGate.zig +++ b/src/network/CorsGate.zig @@ -25,11 +25,15 @@ const http = @import("http.zig"); const Transfer = @import("HttpClient.zig").Transfer; const SingleFlight = @import("SingleFlight.zig"); const HttpClient = @import("HttpClient.zig"); +const Network = @import("Network.zig"); + +const CorsStore = @import("CorsStore.zig"); const log = lp.log; const CorsGate = @This(); +network: *Network, single_flight: SingleFlight, // CORS Request Headers @@ -42,6 +46,7 @@ const ACCESS_CONTROL_ALLOW_ORIGIN = "access-control-allow-origin"; const ACCESS_CONTROL_ALLOW_METHODS = "access-control-allow-methods"; const ACCESS_CONTROL_ALLOW_HEADERS = "access-control-allow-headers"; const ACCESS_CONTROL_ALLOW_CREDENTIALS = "access-control-allow-credentials"; +const ACCESS_CONTROL_MAX_AGE = "access-control-max-age"; pub fn deinit(self: *CorsGate) void { self.single_flight.deinit(); @@ -72,7 +77,7 @@ fn flushPending(self: *CorsGate, key: []const u8, allowed: bool) void { } } -fn isSafelistedMethod(value: http.Method) bool { +pub fn isSafelistedMethod(value: http.Method) bool { return switch (value) { .GET, .HEAD, .POST => true, else => false, @@ -212,6 +217,28 @@ pub fn check(self: *CorsGate, transfer: *Transfer) !Result { return .allowed; } + const wants_credentials = req.credentials_mode == .include; + + const authored = try collectAuthoredHeaders(transfer, transfer.arena.allocator()); + + const covered = try self.network.cors_store.coversRequest( + transfer.arena.allocator(), + .{ .origin = origin, .target = req.url, .credentials = wants_credentials }, + req.method, + authored.items, + ); + + if (covered) { + log.debug(.cors, "cross origin", .{ + .url = req.url, + .origin = origin, + .preflight = false, + .cached = true, + }); + lp.metrics.cors_check.incr(.cached); + return .allowed; + } + log.debug(.cors, "cross origin", .{ .url = req.url, .origin = origin, @@ -219,10 +246,25 @@ pub fn check(self: *CorsGate, transfer: *Transfer) !Result { }); lp.metrics.cors_check.incr(.preflight); - try self.fetchThenResume(transfer); + try self.fetchThenResume(transfer, authored.items); return .pending; } +fn collectAuthoredHeaders(transfer: *Transfer, allocator: std.mem.Allocator) !std.ArrayList([]const u8) { + var header_names: std.ArrayList([]const u8) = .empty; + for (transfer.req_headers.items) |hdr| { + if (hdr.source != .author) continue; + if (isSafelistedHeader(hdr.name, hdr.value)) continue; + try header_names.append(allocator, try std.ascii.allocLowerString(allocator, hdr.name)); + } + std.mem.sort([]const u8, header_names.items, {}, struct { + fn lessThan(_: void, a: []const u8, b: []const u8) bool { + return std.mem.lessThan(u8, a, b); + } + }.lessThan); + return header_names; +} + const CorsKey = struct { url: []const u8, origin: []const u8, @@ -264,6 +306,9 @@ const CorsPreflightContext = struct { wants_credentials: bool, allowed: bool = false, + acam: ?[]const u8 = null, + acah: ?[]const u8 = null, + acma: ?[]const u8 = null, fn validateHeaders( self: *CorsPreflightContext, @@ -355,6 +400,57 @@ const CorsPreflightContext = struct { return true; } + fn cacheGrant(self: *CorsPreflightContext, acam: ?[]const u8, acah: ?[]const u8, acma: ?[]const u8) !void { + if (self.url.len == 0) return; + + const max_age_s: u64 = blk: { + const v = acma orelse break :blk 5; + if (v.len == 0) break :blk 5; + break :blk std.fmt.parseUnsigned(u64, v, 10) catch return; + }; + if (max_age_s == 0) return; + + const capped_s: u64 = @min(max_age_s, 7200); + const capped_ms = capped_s * 1000; + + const methods_wildcard = acam != null and std.mem.eql(u8, acam.?, "*") and !self.wants_credentials; + var methods = std.EnumSet(http.Method).initEmpty(); + if (!methods_wildcard) { + if (acam) |list| { + var it = std.mem.splitScalar(u8, list, ','); + while (it.next()) |raw| { + const token = std.mem.trim(u8, raw, &std.ascii.whitespace); + if (std.meta.stringToEnum(http.Method, token)) |m| methods.insert(m); + } + } + } + + const headers_wildcard = acah != null and std.mem.eql(u8, acah.?, "*") and !self.wants_credentials; + + var allowed_headers: std.ArrayList([]const u8) = .empty; + if (!headers_wildcard) { + if (acah) |list| { + var it = std.mem.splitScalar(u8, list, ','); + while (it.next()) |raw| { + const token = std.mem.trim(u8, raw, &std.ascii.whitespace); + if (token.len == 0) continue; + try allowed_headers.append(self.arena.allocator(), token); + } + } + } + + try self.gate.network.cors_store.put( + .{ .origin = self.origin, .target = self.url, .credentials = self.wants_credentials }, + .{ + .methods_wildcard = methods_wildcard, + .methods = methods, + .headers_wildcard = headers_wildcard, + .headers = allowed_headers.items, + .expires_at = lp.datetime.milliTimestamp(.real) + capped_ms, + }, + ); + } + fn methodAllowed(list: []const u8, method: http.Method) bool { const method_name = @tagName(method); var it = std.mem.splitScalar(u8, list, ','); @@ -393,6 +489,7 @@ const CorsPreflightContext = struct { var acam: ?[]const u8 = null; var acah: ?[]const u8 = null; var acac: ?[]const u8 = null; + var acma: ?[]const u8 = null; var iter = transfer.responseHeaderIterator(); while (iter.next()) |hdr| { @@ -404,15 +501,27 @@ const CorsPreflightContext = struct { acah = hdr.value; } else if (std.mem.eql(u8, hdr.name, ACCESS_CONTROL_ALLOW_CREDENTIALS)) { acac = hdr.value; + } else if (std.ascii.eqlIgnoreCase(ACCESS_CONTROL_MAX_AGE, hdr.name)) { + acma = hdr.value; } } self.allowed = self.validateHeaders(acao, acam, acah, acac); + if (self.allowed) { + self.acam = acam; + self.acah = acah; + self.acma = acma; + } return .proceed; } fn doneCallback(ctx_ptr: *anyopaque) anyerror!void { const self: *CorsPreflightContext = @ptrCast(@alignCast(ctx_ptr)); + if (self.allowed) { + self.cacheGrant(self.acam, self.acah, self.acma) catch |err| { + log.warn(.cors, "preflight cache store failed", .{ .url = self.url, .err = err }); + }; + } self.resolve(self.allowed); } @@ -441,31 +550,16 @@ const CorsPreflightContext = struct { } }; -fn fetchThenResume(self: *CorsGate, transfer: *Transfer) !void { +fn fetchThenResume(self: *CorsGate, transfer: *Transfer, authored_headers: []const []const u8) !void { const url = transfer.req.url; - const origin = transfer.req.origin orelse "null"; - - var header_names: std.ArrayList([]const u8) = .empty; - for (transfer.req_headers.items) |hdr| { - if (hdr.source != .author) continue; - if (isSafelistedHeader(hdr.name, hdr.value)) continue; - try header_names.append( - transfer.arena.allocator(), - try std.ascii.allocLowerString(transfer.arena.allocator(), hdr.name), - ); - } - std.mem.sort([]const u8, header_names.items, {}, struct { - fn lessThan(_: void, a: []const u8, b: []const u8) bool { - return std.mem.lessThan(u8, a, b); - } - }.lessThan); + const origin = transfer.effectiveOrigin(); const cors_key = CorsKey{ .url = url, .origin = origin, .method = transfer.req.method, .wants_credentials = transfer.req.credentials_mode == .include, - .authored_headers = header_names.items, + .authored_headers = authored_headers, }; const key = try cors_key.build(transfer.arena.allocator()); @@ -488,8 +582,8 @@ fn fetchThenResume(self: *CorsGate, transfer: *Transfer) !void { const referer: ?[]const u8 = transfer.findRequestHeader("referer"); - const owned_header_names = try arena.alloc([]const u8, header_names.items.len); - for (header_names.items, 0..) |name, i| { + const owned_header_names = try arena.alloc([]const u8, authored_headers.len); + for (authored_headers, 0..) |name, i| { owned_header_names[i] = try arena.dupe(u8, name); } @@ -527,11 +621,7 @@ fn fetchThenResume(self: *CorsGate, transfer: *Transfer) !void { errdefer fetch_transfer.deinit(); // Origin - try fetch_transfer.setHeader( - ORIGIN, - transfer.req.origin orelse "null", - .{}, - ); + try fetch_transfer.setHeader(ORIGIN, transfer.effectiveOrigin(), .{}); if (referer) |r| { try fetch_transfer.setHeader("Referer", r, .{}); @@ -549,8 +639,8 @@ fn fetchThenResume(self: *CorsGate, transfer: *Transfer) !void { ); // Access-Control-Allow-Headers - if (header_names.items.len > 0) { - const request_headers_value = try std.mem.join(arena.allocator(), ",", header_names.items); + if (authored_headers.len > 0) { + const request_headers_value = try std.mem.join(arena.allocator(), ",", authored_headers); try fetch_transfer.setHeader( ACCESS_CONTROL_REQUEST_HEADERS, request_headers_value, diff --git a/src/network/CorsStore.zig b/src/network/CorsStore.zig new file mode 100644 index 000000000..6674542b1 --- /dev/null +++ b/src/network/CorsStore.zig @@ -0,0 +1,418 @@ +// Copyright (C) 2023-2026 Lightpanda (Selecy SAS) +// +// Francis Bouvier +// Pierre Tachoire +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +const std = @import("std"); +const lp = @import("lightpanda"); + +const http = @import("http.zig"); +const isSafelistedMethod = @import("CorsGate.zig").isSafelistedMethod; +const ClockCache = @import("ClockCache.zig").ClockCache; + +const CorsStore = @This(); + +pub const Key = struct { + origin: []const u8, + target: []const u8, + credentials: bool, + + /// Serializes into a single string suitable as a ClockCache key. + fn build(self: Key, allocator: std.mem.Allocator) ![]const u8 { + var buf: std.ArrayList(u8) = .empty; + errdefer buf.deinit(allocator); + + try buf.appendSlice(allocator, self.origin); + try buf.append(allocator, 0); + try buf.appendSlice(allocator, self.target); + try buf.append(allocator, 0); + try buf.append(allocator, @intFromBool(self.credentials)); + + return buf.toOwnedSlice(allocator); + } +}; + +pub const Entry = struct { + methods_wildcard: bool, + methods: std.EnumSet(http.Method), + + headers_wildcard: bool, + headers: []const []const u8, + + expires_at: u64, + + fn unionHeaders( + allocator: std.mem.Allocator, + a: []const []const u8, + b: []const []const u8, + ) ![]const []const u8 { + var list: std.ArrayList([]const u8) = .empty; + errdefer { + for (list.items) |s| allocator.free(s); + list.deinit(allocator); + } + + outerA: for (a) |s| { + for (list.items) |existing| { + if (std.ascii.eqlIgnoreCase(existing, s)) continue :outerA; + } + try list.append(allocator, try allocator.dupe(u8, s)); + } + outerB: for (b) |s| { + for (list.items) |existing| { + if (std.ascii.eqlIgnoreCase(existing, s)) continue :outerB; + } + try list.append(allocator, try allocator.dupe(u8, s)); + } + + return list.toOwnedSlice(allocator); + } + + fn merge(self: Entry, allocator: std.mem.Allocator, new: Entry) !Entry { + return .{ + .methods_wildcard = self.methods_wildcard or new.methods_wildcard, + .methods = self.methods.unionWith(new.methods), + .headers_wildcard = self.headers_wildcard or new.headers_wildcard, + .headers = try unionHeaders(allocator, self.headers, new.headers), + .expires_at = @min(self.expires_at, new.expires_at), + }; + } + + fn dupe(self: Entry, allocator: std.mem.Allocator) !Entry { + var new_headers: std.ArrayList([]const u8) = try .initCapacity(allocator, self.headers.len); + errdefer { + for (new_headers.items) |hdr| allocator.free(hdr); + new_headers.deinit(allocator); + } + + for (self.headers) |hdr| { + new_headers.appendAssumeCapacity(try allocator.dupe(u8, hdr)); + } + + return .{ + .methods_wildcard = self.methods_wildcard, + .methods = self.methods, + .headers_wildcard = self.headers_wildcard, + .headers = new_headers.items, + .expires_at = self.expires_at, + }; + } + + pub fn deinit(self: Entry, allocator: std.mem.Allocator) void { + for (self.headers) |h| allocator.free(h); + allocator.free(self.headers); + } +}; + +allocator: std.mem.Allocator, +map: ClockCache(Entry), +mutex: std.Io.Mutex = .init, + +pub fn init(allocator: std.mem.Allocator, capacity: usize) CorsStore { + return .{ .allocator = allocator, .map = .init(allocator, capacity) }; +} + +pub fn deinit(self: *CorsStore) void { + self.mutex.lockUncancelable(lp.io); + defer self.mutex.unlock(lp.io); + + for (self.map.entries()) |*entry| { + entry.value.deinit(self.allocator); + } + self.map.deinit(); +} + +// Caller is expected to be holding mutex. +fn getWithExpiration(self: *CorsStore, cache_key: []const u8) ?*Entry { + const entry = self.map.get(cache_key) orelse return null; + + if (entry.expires_at <= lp.datetime.milliTimestamp(.real)) { + if (self.map.remove(cache_key)) |e| { + e.deinit(self.allocator); + } + + return null; + } + + return entry; +} + +fn matches(entry: Entry, method: http.Method, authored_headers: []const []const u8) bool { + if (!isSafelistedMethod(method) and !entry.methods_wildcard and !entry.methods.contains(method)) { + return false; + } + for (authored_headers) |name| { + const is_authorization = std.ascii.eqlIgnoreCase(name, "authorization"); + if (entry.headers_wildcard and !is_authorization) continue; + var found = false; + for (entry.headers) |allowed| { + if (std.ascii.eqlIgnoreCase(allowed, name)) { + found = true; + break; + } + } + if (!found) return false; + } + return true; +} + +pub fn coversRequest( + self: *CorsStore, + allocator: std.mem.Allocator, + key: Key, + method: http.Method, + authored_headers: []const []const u8, +) !bool { + const primary_key = try key.build(allocator); + defer allocator.free(primary_key); + + self.mutex.lockUncancelable(lp.io); + defer self.mutex.unlock(lp.io); + + if (self.getWithExpiration(primary_key)) |entry| { + if (matches(entry.*, method, authored_headers)) return true; + } + + if (key.credentials) return false; + + const cred_key = try (Key{ .origin = key.origin, .target = key.target, .credentials = true }).build(allocator); + defer allocator.free(cred_key); + + const entry = self.getWithExpiration(cred_key) orelse return false; + return matches(entry.*, method, authored_headers); +} + +/// Insert or merge a CORS grant for (origin, target). `entry` is not +/// consumed: `put` copies whatever it needs (via `dupe`/`merge`, which +/// always allocate their own copies) and never takes ownership of +/// `entry.headers` or its contents. +/// +/// Callers remain responsible for +/// freeing `entry.headers` after this call, on both the insert and +/// the merge path. +pub fn put(self: *CorsStore, key: Key, entry: Entry) !void { + const cache_key = try key.build(self.allocator); + defer self.allocator.free(cache_key); + + self.mutex.lockUncancelable(lp.io); + defer self.mutex.unlock(lp.io); + + if (self.getWithExpiration(cache_key)) |existing| { + const merged = try existing.merge(self.allocator, entry); + existing.deinit(self.allocator); + existing.* = merged; + return; + } + + const owned_entry = try entry.dupe(self.allocator); + errdefer owned_entry.deinit(self.allocator); + + switch (try self.map.insert(cache_key, owned_entry)) { + .exists => unreachable, + .inserted => |evicted| { + if (evicted) |v| { + var e = v; + e.deinit(self.allocator); + } + }, + } +} + +const testing = @import("../testing.zig"); + +fn freeHeaders(allocator: std.mem.Allocator, headers: []const []const u8) void { + for (headers) |h| allocator.free(h); + allocator.free(headers); +} + +test "CorsStore: put then covers, miss on different origin/target/credentials" { + const allocator = testing.allocator; + var store = CorsStore.init(allocator, 10); + defer store.deinit(); + + const headers = try allocator.alloc([]const u8, 1); + headers[0] = try allocator.dupe(u8, "x-custom"); + defer freeHeaders(allocator, headers); + + try store.put(.{ .origin = "https://a.example", .target = "https://api.example", .credentials = false }, .{ + .methods_wildcard = false, + .methods = std.EnumSet(http.Method).initOne(.POST), + .headers_wildcard = false, + .headers = headers, + .expires_at = lp.datetime.milliTimestamp(.real) + 60_000, + }); + + try testing.expect(try store.coversRequest( + allocator, + .{ .origin = "https://a.example", .target = "https://api.example", .credentials = false }, + .POST, + &.{}, + )); + try testing.expect(!try store.coversRequest( + allocator, + .{ .origin = "https://a.example", .target = "https://api.example", .credentials = false }, + .PUT, + &.{}, + )); + + try testing.expect(!try store.coversRequest( + allocator, + .{ .origin = "https://b.example", .target = "https://api.example", .credentials = false }, + .POST, + &.{}, + )); + try testing.expect(!try store.coversRequest( + allocator, + .{ .origin = "https://a.example", .target = "https://other.example", .credentials = false }, + .POST, + &.{}, + )); + + // Same origin/target but different credentials mode: separate entry, must miss. + try testing.expect(!try store.coversRequest( + allocator, + .{ .origin = "https://a.example", .target = "https://api.example", .credentials = true }, + .POST, + &.{}, + )); +} + +test "CorsStore: expired entries are treated as a miss on covers" { + const allocator = testing.allocator; + var store = CorsStore.init(allocator, 10); + defer store.deinit(); + + try store.put(.{ .origin = "https://a.example", .target = "https://api.example", .credentials = false }, .{ + .methods_wildcard = true, + .methods = .initEmpty(), + .headers_wildcard = true, + .headers = &.{}, // empty slice, nothing to free + .expires_at = lp.datetime.milliTimestamp(.real) - 1, + }); + + try testing.expect(!try store.coversRequest( + allocator, + .{ .origin = "https://a.example", .target = "https://api.example", .credentials = false }, + .GET, + &.{}, + )); +} + +test "CorsStore: put merges into existing entry rather than clobbering" { + const allocator = testing.allocator; + var store = CorsStore.init(allocator, 10); + defer store.deinit(); + + const key = Key{ .origin = "https://a.example", .target = "https://api.example", .credentials = false }; + + const h1 = try allocator.alloc([]const u8, 1); + h1[0] = try allocator.dupe(u8, "x-one"); + try store.put(key, .{ + .methods_wildcard = false, + .methods = std.EnumSet(http.Method).initOne(.POST), + .headers_wildcard = false, + .headers = h1, + .expires_at = lp.datetime.milliTimestamp(.real) + 60_000, + }); + freeHeaders(allocator, h1); + + const h2 = try allocator.alloc([]const u8, 1); + h2[0] = try allocator.dupe(u8, "x-two"); + try store.put(key, .{ + .methods_wildcard = false, + .methods = std.EnumSet(http.Method).initOne(.PUT), + .headers_wildcard = false, + .headers = h2, + .expires_at = lp.datetime.milliTimestamp(.real) + 60_000, + }); + freeHeaders(allocator, h2); + + try testing.expect(try store.coversRequest(allocator, key, .POST, &.{"x-one"})); + try testing.expect(try store.coversRequest(allocator, key, .PUT, &.{"x-two"})); + try testing.expect(!try store.coversRequest(allocator, key, .DELETE, &.{})); +} + +test "CorsStore: credentialed and non-credentialed grants for same origin/target stay separate" { + const allocator = testing.allocator; + var store = CorsStore.init(allocator, 10); + defer store.deinit(); + + const origin = "https://a.example"; + const target = "https://api.example"; + + // Non-credentialed grant: wildcard headers allowed (valid per spec for non-cred requests). + try store.put(.{ .origin = origin, .target = target, .credentials = false }, .{ + .methods_wildcard = true, + .methods = .initEmpty(), + .headers_wildcard = true, + .headers = &.{}, + .expires_at = lp.datetime.milliTimestamp(.real) + 60_000, + }); + + // Credentialed grant: explicit methods/headers only, no wildcard. + const h = try allocator.alloc([]const u8, 1); + h[0] = try allocator.dupe(u8, "x-custom"); + try store.put(.{ .origin = origin, .target = target, .credentials = true }, .{ + .methods_wildcard = false, + .methods = std.EnumSet(http.Method).initOne(.GET), + .headers_wildcard = false, + .headers = h, + .expires_at = lp.datetime.milliTimestamp(.real) + 60_000, + }); + freeHeaders(allocator, h); + + // A credentialed request asking for an arbitrary header must be rejected + // against the credentialed entry, even though the non-cred entry has a wildcard. + try testing.expect(!try store.coversRequest( + allocator, + .{ .origin = origin, .target = target, .credentials = true }, + .GET, + &.{"x-anything"}, + )); + try testing.expect(try store.coversRequest( + allocator, + .{ .origin = origin, .target = target, .credentials = true }, + .GET, + &.{"x-custom"}, + )); + try testing.expect(!try store.coversRequest( + allocator, + .{ .origin = origin, .target = target, .credentials = true }, + .PUT, + &.{}, + )); + + // The non-credentialed entry's wildcard still works for non-cred requests. + try testing.expect(try store.coversRequest(allocator, .{ .origin = origin, .target = target, .credentials = false }, .GET, &.{"x-anything"})); +} + +test "CorsStore: covers never lets a wildcard cover Authorization" { + const allocator = testing.allocator; + var store = CorsStore.init(allocator, 10); + defer store.deinit(); + + const key = Key{ .origin = "https://a.example", .target = "https://api.example", .credentials = false }; + try store.put(key, .{ + .methods_wildcard = true, + .methods = .initEmpty(), + .headers_wildcard = true, + .headers = &.{}, + .expires_at = std.math.maxInt(u64), + }); + + try testing.expect(!try store.coversRequest(allocator, key, .GET, &.{"authorization"})); + try testing.expect(try store.coversRequest(allocator, key, .GET, &.{"x-anything"})); +} diff --git a/src/network/HttpClient.zig b/src/network/HttpClient.zig index 695209ff8..245d4255e 100644 --- a/src/network/HttpClient.zig +++ b/src/network/HttpClient.zig @@ -243,7 +243,10 @@ pub fn init(self: *Client, app: *lp.App) !void { .network = network, .single_flight = .init(allocator), }, - .cors = .{ .single_flight = .init(allocator) }, + .cors = .{ + .network = network, + .single_flight = .init(allocator), + }, .url_blocklist = url_blocklist, .arena_pool = &app.arena_pool, }; diff --git a/src/network/Network.zig b/src/network/Network.zig index f6593c008..b27dc4329 100644 --- a/src/network/Network.zig +++ b/src/network/Network.zig @@ -27,6 +27,7 @@ const libcurl = @import("../sys/libcurl.zig"); const http = @import("http.zig"); const IpFilter = @import("IpFilter.zig"); const RobotStore = @import("Robots.zig").RobotStore; +const CorsStore = @import("CorsStore.zig"); const WebBotAuth = @import("WebBotAuth.zig"); const RateLimiter = @import("RateLimiter.zig"); const Certificates = @import("Certificates.zig"); @@ -43,6 +44,7 @@ cache: Cache, allocator: Allocator, config: *const Config, robot_store: RobotStore, +cors_store: CorsStore, web_bot_auth: ?WebBotAuth, rate_limiter: ?RateLimiter, certificates: Certificates, @@ -122,6 +124,7 @@ pub fn init(app: *App) !Network { .cache = cache, .robot_store = RobotStore.init(allocator, config.robotStoreEntryLimit()), + .cors_store = CorsStore.init(allocator, config.corsStoreEntryLimit()), .web_bot_auth = web_bot_auth, .rate_limiter = if (config.httpNavDelay()) |ms| RateLimiter.init(allocator, ms, config.httpNavBurst()) else null, .adblocker = adblocker, @@ -144,6 +147,8 @@ pub fn deinit(self: *Network) void { self.ws_pool.deinit(self.allocator); self.robot_store.deinit(); + self.cors_store.deinit(); + if (self.rate_limiter) |*rl| { rl.deinit(); } diff --git a/src/script/Runtime.zig b/src/script/Runtime.zig index 5410bb132..8a9140e41 100644 --- a/src/script/Runtime.zig +++ b/src/script/Runtime.zig @@ -975,7 +975,8 @@ fn stringToOwned( self.env.isolate.handle, buf.ptr, buf.len, - v8.NO_NULL_TERMINATION | v8.REPLACE_INVALID_UTF8, + v8.WRITE_REPLACE_INVALID_UTF8, + null, ); return buf[0..written]; } diff --git a/src/server/cdp/AXNode.zig b/src/server/cdp/AXNode.zig index 64dc8e703..af0fc17e0 100644 --- a/src/server/cdp/AXNode.zig +++ b/src/server/cdp/AXNode.zig @@ -22,6 +22,7 @@ const lp = @import("lightpanda"); const Frame = @import("../../browser/Frame.zig"); const DOMNode = @import("../../browser/webapi/Node.zig"); const Label = @import("../../browser/webapi/element/html/Label.zig"); +const TreeWalker = @import("../../browser/webapi/TreeWalker.zig"); const interactive = @import("../../browser/interactive.zig"); const NodeRegistry = @import("../../NodeRegistry.zig"); @@ -1058,7 +1059,7 @@ fn writeName( if (use_name_for_content) { var buf: std.Io.Writer.Allocating = .init(scratchAllocator(temp_arena, frame)); - try writeAccessibleNameFallback(node, &buf.writer, frame); + try writeAccessibleNameFallback(node, &buf.writer); if (buf.written().len > 0) { try writeString(buf.written(), w); return .contents; @@ -1085,9 +1086,22 @@ fn writeName( }; } -fn writeAccessibleNameFallback(node: *DOMNode, writer: *std.Io.Writer, frame: *Frame) !void { - var it = node.childrenIterator(); - while (it.next()) |child| { +fn writeAccessibleNameFallback(node: *DOMNode, writer: *std.Io.Writer) !void { + var tw = TreeWalker.FullExcludeSelf.init(node, .{}); + while (tw.next()) |child| { + const parent = child._parent.?; + const in_svg = if (parent.is(DOMNode.Element)) |p| p.getTag() == .svg else false; + if (in_svg and parent != node) { + // Inside an SVG, only a names it + const is_title = if (child.is(DOMNode.Element)) |el| std.mem.eql(u8, el.getTagNameLower(), "title") else false; + if (is_title) { + try writer.writeByte(' '); + } else { + tw.skipChildren(); + } + continue; + } + switch (child._type) { .cdata => { const cd = child.subtype(DOMNode.CData); @@ -1101,26 +1115,15 @@ fn writeAccessibleNameFallback(node: *DOMNode, writer: *std.Io.Writer, frame: *F }, .element => { const el = child.subtype(DOMNode.Element); - if (el.getTag() == .img) { + const tag = el.getTag(); + if (tag == .img) { if (el.getAttributeSafe(.wrap("alt"))) |alt| { try writer.writeAll(alt); try writer.writeByte(' '); } - } else if (el.getTag() == .svg) { - // Try to find a <title> inside SVG - var sit = child.childrenIterator(); - while (sit.next()) |s_child| { - if (s_child.is(DOMNode.Element)) |s_el| { - if (std.mem.eql(u8, s_el.getTagNameLower(), "title")) { - try writeAccessibleNameFallback(s_child, writer, frame); - try writer.writeByte(' '); - } - } - } - } else { - if (!el.getTag().isMetadata()) { - try writeAccessibleNameFallback(child, writer, frame); - } + tw.skipChildren(); + } else if (tag != .svg and tag.isMetadata()) { + tw.skipChildren(); } }, else => {},