github.com/primecitizens/pcz/std@v0.2.1/plat/js/webext/developerprivate/bindings/ffi_bindings.ts (about)

     1  import { importModule, Application, heap, Pointer } from "@ffi";
     2  
     3  importModule("plat/js/webext/developerprivate", (A: Application) => {
     4    const WEBEXT = typeof globalThis.browser === "undefined" ? globalThis.chrome : globalThis.browser;
     5  
     6    return {
     7      "store_AccessModifier": (ptr: Pointer, ref: heap.Ref<any>) => {
     8        const x = A.H.get<any>(ref);
     9  
    10        if (typeof x === "undefined") {
    11          A.store.Bool(ptr + 4, false);
    12          A.store.Bool(ptr + 2, false);
    13          A.store.Bool(ptr + 0, false);
    14          A.store.Bool(ptr + 3, false);
    15          A.store.Bool(ptr + 1, false);
    16        } else {
    17          A.store.Bool(ptr + 4, true);
    18          A.store.Bool(ptr + 2, "isEnabled" in x ? true : false);
    19          A.store.Bool(ptr + 0, x["isEnabled"] ? true : false);
    20          A.store.Bool(ptr + 3, "isActive" in x ? true : false);
    21          A.store.Bool(ptr + 1, x["isActive"] ? true : false);
    22        }
    23      },
    24      "load_AccessModifier": (ptr: Pointer, create: heap.Ref<boolean>, ref: heap.Ref<any>): heap.Ref<any> => {
    25        const x = create === A.H.TRUE ? {} : A.H.get<any>(ref);
    26  
    27        if (A.load.Bool(ptr + 2)) {
    28          x["isEnabled"] = A.load.Bool(ptr + 0);
    29        } else {
    30          delete x["isEnabled"];
    31        }
    32        if (A.load.Bool(ptr + 3)) {
    33          x["isActive"] = A.load.Bool(ptr + 1);
    34        } else {
    35          delete x["isActive"];
    36        }
    37        return create === A.H.TRUE ? A.H.push(x) : ref;
    38      },
    39      "constof_CommandScope": (ref: heap.Ref<string>): number => {
    40        const idx = ["GLOBAL", "CHROME"].indexOf(A.H.get(ref));
    41        return idx < 0 ? 0 : idx + 1;
    42      },
    43  
    44      "store_Command": (ptr: Pointer, ref: heap.Ref<any>) => {
    45        const x = A.H.get<any>(ref);
    46  
    47        if (typeof x === "undefined") {
    48          A.store.Bool(ptr + 23, false);
    49          A.store.Ref(ptr + 0, undefined);
    50          A.store.Ref(ptr + 4, undefined);
    51          A.store.Ref(ptr + 8, undefined);
    52          A.store.Bool(ptr + 21, false);
    53          A.store.Bool(ptr + 12, false);
    54          A.store.Enum(ptr + 16, -1);
    55          A.store.Bool(ptr + 22, false);
    56          A.store.Bool(ptr + 20, false);
    57        } else {
    58          A.store.Bool(ptr + 23, true);
    59          A.store.Ref(ptr + 0, x["description"]);
    60          A.store.Ref(ptr + 4, x["keybinding"]);
    61          A.store.Ref(ptr + 8, x["name"]);
    62          A.store.Bool(ptr + 21, "isActive" in x ? true : false);
    63          A.store.Bool(ptr + 12, x["isActive"] ? true : false);
    64          A.store.Enum(ptr + 16, ["GLOBAL", "CHROME"].indexOf(x["scope"] as string));
    65          A.store.Bool(ptr + 22, "isExtensionAction" in x ? true : false);
    66          A.store.Bool(ptr + 20, x["isExtensionAction"] ? true : false);
    67        }
    68      },
    69      "load_Command": (ptr: Pointer, create: heap.Ref<boolean>, ref: heap.Ref<any>): heap.Ref<any> => {
    70        const x = create === A.H.TRUE ? {} : A.H.get<any>(ref);
    71  
    72        x["description"] = A.load.Ref(ptr + 0, undefined);
    73        x["keybinding"] = A.load.Ref(ptr + 4, undefined);
    74        x["name"] = A.load.Ref(ptr + 8, undefined);
    75        if (A.load.Bool(ptr + 21)) {
    76          x["isActive"] = A.load.Bool(ptr + 12);
    77        } else {
    78          delete x["isActive"];
    79        }
    80        x["scope"] = A.load.Enum(ptr + 16, ["GLOBAL", "CHROME"]);
    81        if (A.load.Bool(ptr + 22)) {
    82          x["isExtensionAction"] = A.load.Bool(ptr + 20);
    83        } else {
    84          delete x["isExtensionAction"];
    85        }
    86        return create === A.H.TRUE ? A.H.push(x) : ref;
    87      },
    88  
    89      "store_ControlledInfo": (ptr: Pointer, ref: heap.Ref<any>) => {
    90        const x = A.H.get<any>(ref);
    91  
    92        if (typeof x === "undefined") {
    93          A.store.Bool(ptr + 4, false);
    94          A.store.Ref(ptr + 0, undefined);
    95        } else {
    96          A.store.Bool(ptr + 4, true);
    97          A.store.Ref(ptr + 0, x["text"]);
    98        }
    99      },
   100      "load_ControlledInfo": (ptr: Pointer, create: heap.Ref<boolean>, ref: heap.Ref<any>): heap.Ref<any> => {
   101        const x = create === A.H.TRUE ? {} : A.H.get<any>(ref);
   102  
   103        x["text"] = A.load.Ref(ptr + 0, undefined);
   104        return create === A.H.TRUE ? A.H.push(x) : ref;
   105      },
   106      "constof_ErrorType": (ref: heap.Ref<string>): number => {
   107        const idx = ["MANIFEST", "RUNTIME"].indexOf(A.H.get(ref));
   108        return idx < 0 ? 0 : idx + 1;
   109      },
   110  
   111      "store_DeleteExtensionErrorsProperties": (ptr: Pointer, ref: heap.Ref<any>) => {
   112        const x = A.H.get<any>(ref);
   113  
   114        if (typeof x === "undefined") {
   115          A.store.Bool(ptr + 12, false);
   116          A.store.Ref(ptr + 0, undefined);
   117          A.store.Ref(ptr + 4, undefined);
   118          A.store.Enum(ptr + 8, -1);
   119        } else {
   120          A.store.Bool(ptr + 12, true);
   121          A.store.Ref(ptr + 0, x["extensionId"]);
   122          A.store.Ref(ptr + 4, x["errorIds"]);
   123          A.store.Enum(ptr + 8, ["MANIFEST", "RUNTIME"].indexOf(x["type"] as string));
   124        }
   125      },
   126      "load_DeleteExtensionErrorsProperties": (
   127        ptr: Pointer,
   128        create: heap.Ref<boolean>,
   129        ref: heap.Ref<any>
   130      ): heap.Ref<any> => {
   131        const x = create === A.H.TRUE ? {} : A.H.get<any>(ref);
   132  
   133        x["extensionId"] = A.load.Ref(ptr + 0, undefined);
   134        x["errorIds"] = A.load.Ref(ptr + 4, undefined);
   135        x["type"] = A.load.Enum(ptr + 8, ["MANIFEST", "RUNTIME"]);
   136        return create === A.H.TRUE ? A.H.push(x) : ref;
   137      },
   138  
   139      "store_DependentExtension": (ptr: Pointer, ref: heap.Ref<any>) => {
   140        const x = A.H.get<any>(ref);
   141  
   142        if (typeof x === "undefined") {
   143          A.store.Bool(ptr + 8, false);
   144          A.store.Ref(ptr + 0, undefined);
   145          A.store.Ref(ptr + 4, undefined);
   146        } else {
   147          A.store.Bool(ptr + 8, true);
   148          A.store.Ref(ptr + 0, x["id"]);
   149          A.store.Ref(ptr + 4, x["name"]);
   150        }
   151      },
   152      "load_DependentExtension": (ptr: Pointer, create: heap.Ref<boolean>, ref: heap.Ref<any>): heap.Ref<any> => {
   153        const x = create === A.H.TRUE ? {} : A.H.get<any>(ref);
   154  
   155        x["id"] = A.load.Ref(ptr + 0, undefined);
   156        x["name"] = A.load.Ref(ptr + 4, undefined);
   157        return create === A.H.TRUE ? A.H.push(x) : ref;
   158      },
   159  
   160      "store_DisableReasons": (ptr: Pointer, ref: heap.Ref<any>) => {
   161        const x = A.H.get<any>(ref);
   162  
   163        if (typeof x === "undefined") {
   164          A.store.Bool(ptr + 16, false);
   165          A.store.Bool(ptr + 8, false);
   166          A.store.Bool(ptr + 0, false);
   167          A.store.Bool(ptr + 9, false);
   168          A.store.Bool(ptr + 1, false);
   169          A.store.Bool(ptr + 10, false);
   170          A.store.Bool(ptr + 2, false);
   171          A.store.Bool(ptr + 11, false);
   172          A.store.Bool(ptr + 3, false);
   173          A.store.Bool(ptr + 12, false);
   174          A.store.Bool(ptr + 4, false);
   175          A.store.Bool(ptr + 13, false);
   176          A.store.Bool(ptr + 5, false);
   177          A.store.Bool(ptr + 14, false);
   178          A.store.Bool(ptr + 6, false);
   179          A.store.Bool(ptr + 15, false);
   180          A.store.Bool(ptr + 7, false);
   181        } else {
   182          A.store.Bool(ptr + 16, true);
   183          A.store.Bool(ptr + 8, "suspiciousInstall" in x ? true : false);
   184          A.store.Bool(ptr + 0, x["suspiciousInstall"] ? true : false);
   185          A.store.Bool(ptr + 9, "corruptInstall" in x ? true : false);
   186          A.store.Bool(ptr + 1, x["corruptInstall"] ? true : false);
   187          A.store.Bool(ptr + 10, "updateRequired" in x ? true : false);
   188          A.store.Bool(ptr + 2, x["updateRequired"] ? true : false);
   189          A.store.Bool(ptr + 11, "publishedInStoreRequired" in x ? true : false);
   190          A.store.Bool(ptr + 3, x["publishedInStoreRequired"] ? true : false);
   191          A.store.Bool(ptr + 12, "blockedByPolicy" in x ? true : false);
   192          A.store.Bool(ptr + 4, x["blockedByPolicy"] ? true : false);
   193          A.store.Bool(ptr + 13, "reloading" in x ? true : false);
   194          A.store.Bool(ptr + 5, x["reloading"] ? true : false);
   195          A.store.Bool(ptr + 14, "custodianApprovalRequired" in x ? true : false);
   196          A.store.Bool(ptr + 6, x["custodianApprovalRequired"] ? true : false);
   197          A.store.Bool(ptr + 15, "parentDisabledPermissions" in x ? true : false);
   198          A.store.Bool(ptr + 7, x["parentDisabledPermissions"] ? true : false);
   199        }
   200      },
   201      "load_DisableReasons": (ptr: Pointer, create: heap.Ref<boolean>, ref: heap.Ref<any>): heap.Ref<any> => {
   202        const x = create === A.H.TRUE ? {} : A.H.get<any>(ref);
   203  
   204        if (A.load.Bool(ptr + 8)) {
   205          x["suspiciousInstall"] = A.load.Bool(ptr + 0);
   206        } else {
   207          delete x["suspiciousInstall"];
   208        }
   209        if (A.load.Bool(ptr + 9)) {
   210          x["corruptInstall"] = A.load.Bool(ptr + 1);
   211        } else {
   212          delete x["corruptInstall"];
   213        }
   214        if (A.load.Bool(ptr + 10)) {
   215          x["updateRequired"] = A.load.Bool(ptr + 2);
   216        } else {
   217          delete x["updateRequired"];
   218        }
   219        if (A.load.Bool(ptr + 11)) {
   220          x["publishedInStoreRequired"] = A.load.Bool(ptr + 3);
   221        } else {
   222          delete x["publishedInStoreRequired"];
   223        }
   224        if (A.load.Bool(ptr + 12)) {
   225          x["blockedByPolicy"] = A.load.Bool(ptr + 4);
   226        } else {
   227          delete x["blockedByPolicy"];
   228        }
   229        if (A.load.Bool(ptr + 13)) {
   230          x["reloading"] = A.load.Bool(ptr + 5);
   231        } else {
   232          delete x["reloading"];
   233        }
   234        if (A.load.Bool(ptr + 14)) {
   235          x["custodianApprovalRequired"] = A.load.Bool(ptr + 6);
   236        } else {
   237          delete x["custodianApprovalRequired"];
   238        }
   239        if (A.load.Bool(ptr + 15)) {
   240          x["parentDisabledPermissions"] = A.load.Bool(ptr + 7);
   241        } else {
   242          delete x["parentDisabledPermissions"];
   243        }
   244        return create === A.H.TRUE ? A.H.push(x) : ref;
   245      },
   246  
   247      "store_ErrorFileSource": (ptr: Pointer, ref: heap.Ref<any>) => {
   248        const x = A.H.get<any>(ref);
   249  
   250        if (typeof x === "undefined") {
   251          A.store.Bool(ptr + 12, false);
   252          A.store.Ref(ptr + 0, undefined);
   253          A.store.Ref(ptr + 4, undefined);
   254          A.store.Ref(ptr + 8, undefined);
   255        } else {
   256          A.store.Bool(ptr + 12, true);
   257          A.store.Ref(ptr + 0, x["beforeHighlight"]);
   258          A.store.Ref(ptr + 4, x["highlight"]);
   259          A.store.Ref(ptr + 8, x["afterHighlight"]);
   260        }
   261      },
   262      "load_ErrorFileSource": (ptr: Pointer, create: heap.Ref<boolean>, ref: heap.Ref<any>): heap.Ref<any> => {
   263        const x = create === A.H.TRUE ? {} : A.H.get<any>(ref);
   264  
   265        x["beforeHighlight"] = A.load.Ref(ptr + 0, undefined);
   266        x["highlight"] = A.load.Ref(ptr + 4, undefined);
   267        x["afterHighlight"] = A.load.Ref(ptr + 8, undefined);
   268        return create === A.H.TRUE ? A.H.push(x) : ref;
   269      },
   270      "constof_ErrorLevel": (ref: heap.Ref<string>): number => {
   271        const idx = ["LOG", "WARN", "ERROR"].indexOf(A.H.get(ref));
   272        return idx < 0 ? 0 : idx + 1;
   273      },
   274      "constof_EventType": (ref: heap.Ref<string>): number => {
   275        const idx = [
   276          "INSTALLED",
   277          "UNINSTALLED",
   278          "LOADED",
   279          "UNLOADED",
   280          "VIEW_REGISTERED",
   281          "VIEW_UNREGISTERED",
   282          "ERROR_ADDED",
   283          "ERRORS_REMOVED",
   284          "PREFS_CHANGED",
   285          "WARNINGS_CHANGED",
   286          "COMMAND_ADDED",
   287          "COMMAND_REMOVED",
   288          "PERMISSIONS_CHANGED",
   289          "SERVICE_WORKER_STARTED",
   290          "SERVICE_WORKER_STOPPED",
   291          "CONFIGURATION_CHANGED",
   292          "PINNED_ACTIONS_CHANGED",
   293        ].indexOf(A.H.get(ref));
   294        return idx < 0 ? 0 : idx + 1;
   295      },
   296  
   297      "store_SafetyCheckStrings": (ptr: Pointer, ref: heap.Ref<any>) => {
   298        const x = A.H.get<any>(ref);
   299  
   300        if (typeof x === "undefined") {
   301          A.store.Bool(ptr + 8, false);
   302          A.store.Ref(ptr + 0, undefined);
   303          A.store.Ref(ptr + 4, undefined);
   304        } else {
   305          A.store.Bool(ptr + 8, true);
   306          A.store.Ref(ptr + 0, x["panelString"]);
   307          A.store.Ref(ptr + 4, x["detailString"]);
   308        }
   309      },
   310      "load_SafetyCheckStrings": (ptr: Pointer, create: heap.Ref<boolean>, ref: heap.Ref<any>): heap.Ref<any> => {
   311        const x = create === A.H.TRUE ? {} : A.H.get<any>(ref);
   312  
   313        x["panelString"] = A.load.Ref(ptr + 0, undefined);
   314        x["detailString"] = A.load.Ref(ptr + 4, undefined);
   315        return create === A.H.TRUE ? A.H.push(x) : ref;
   316      },
   317  
   318      "store_HomePage": (ptr: Pointer, ref: heap.Ref<any>) => {
   319        const x = A.H.get<any>(ref);
   320  
   321        if (typeof x === "undefined") {
   322          A.store.Bool(ptr + 6, false);
   323          A.store.Ref(ptr + 0, undefined);
   324          A.store.Bool(ptr + 5, false);
   325          A.store.Bool(ptr + 4, false);
   326        } else {
   327          A.store.Bool(ptr + 6, true);
   328          A.store.Ref(ptr + 0, x["url"]);
   329          A.store.Bool(ptr + 5, "specified" in x ? true : false);
   330          A.store.Bool(ptr + 4, x["specified"] ? true : false);
   331        }
   332      },
   333      "load_HomePage": (ptr: Pointer, create: heap.Ref<boolean>, ref: heap.Ref<any>): heap.Ref<any> => {
   334        const x = create === A.H.TRUE ? {} : A.H.get<any>(ref);
   335  
   336        x["url"] = A.load.Ref(ptr + 0, undefined);
   337        if (A.load.Bool(ptr + 5)) {
   338          x["specified"] = A.load.Bool(ptr + 4);
   339        } else {
   340          delete x["specified"];
   341        }
   342        return create === A.H.TRUE ? A.H.push(x) : ref;
   343      },
   344      "constof_Location": (ref: heap.Ref<string>): number => {
   345        const idx = ["FROM_STORE", "UNPACKED", "THIRD_PARTY", "INSTALLED_BY_DEFAULT", "UNKNOWN"].indexOf(A.H.get(ref));
   346        return idx < 0 ? 0 : idx + 1;
   347      },
   348  
   349      "store_ManifestError": (ptr: Pointer, ref: heap.Ref<any>) => {
   350        const x = A.H.get<any>(ref);
   351  
   352        if (typeof x === "undefined") {
   353          A.store.Bool(ptr + 34, false);
   354          A.store.Enum(ptr + 0, -1);
   355          A.store.Ref(ptr + 4, undefined);
   356          A.store.Bool(ptr + 32, false);
   357          A.store.Bool(ptr + 8, false);
   358          A.store.Ref(ptr + 12, undefined);
   359          A.store.Ref(ptr + 16, undefined);
   360          A.store.Bool(ptr + 33, false);
   361          A.store.Int32(ptr + 20, 0);
   362          A.store.Ref(ptr + 24, undefined);
   363          A.store.Ref(ptr + 28, undefined);
   364        } else {
   365          A.store.Bool(ptr + 34, true);
   366          A.store.Enum(ptr + 0, ["MANIFEST", "RUNTIME"].indexOf(x["type"] as string));
   367          A.store.Ref(ptr + 4, x["extensionId"]);
   368          A.store.Bool(ptr + 32, "fromIncognito" in x ? true : false);
   369          A.store.Bool(ptr + 8, x["fromIncognito"] ? true : false);
   370          A.store.Ref(ptr + 12, x["source"]);
   371          A.store.Ref(ptr + 16, x["message"]);
   372          A.store.Bool(ptr + 33, "id" in x ? true : false);
   373          A.store.Int32(ptr + 20, x["id"] === undefined ? 0 : (x["id"] as number));
   374          A.store.Ref(ptr + 24, x["manifestKey"]);
   375          A.store.Ref(ptr + 28, x["manifestSpecific"]);
   376        }
   377      },
   378      "load_ManifestError": (ptr: Pointer, create: heap.Ref<boolean>, ref: heap.Ref<any>): heap.Ref<any> => {
   379        const x = create === A.H.TRUE ? {} : A.H.get<any>(ref);
   380  
   381        x["type"] = A.load.Enum(ptr + 0, ["MANIFEST", "RUNTIME"]);
   382        x["extensionId"] = A.load.Ref(ptr + 4, undefined);
   383        if (A.load.Bool(ptr + 32)) {
   384          x["fromIncognito"] = A.load.Bool(ptr + 8);
   385        } else {
   386          delete x["fromIncognito"];
   387        }
   388        x["source"] = A.load.Ref(ptr + 12, undefined);
   389        x["message"] = A.load.Ref(ptr + 16, undefined);
   390        if (A.load.Bool(ptr + 33)) {
   391          x["id"] = A.load.Int32(ptr + 20);
   392        } else {
   393          delete x["id"];
   394        }
   395        x["manifestKey"] = A.load.Ref(ptr + 24, undefined);
   396        x["manifestSpecific"] = A.load.Ref(ptr + 28, undefined);
   397        return create === A.H.TRUE ? A.H.push(x) : ref;
   398      },
   399  
   400      "store_OptionsPage": (ptr: Pointer, ref: heap.Ref<any>) => {
   401        const x = A.H.get<any>(ref);
   402  
   403        if (typeof x === "undefined") {
   404          A.store.Bool(ptr + 9, false);
   405          A.store.Bool(ptr + 8, false);
   406          A.store.Bool(ptr + 0, false);
   407          A.store.Ref(ptr + 4, undefined);
   408        } else {
   409          A.store.Bool(ptr + 9, true);
   410          A.store.Bool(ptr + 8, "openInTab" in x ? true : false);
   411          A.store.Bool(ptr + 0, x["openInTab"] ? true : false);
   412          A.store.Ref(ptr + 4, x["url"]);
   413        }
   414      },
   415      "load_OptionsPage": (ptr: Pointer, create: heap.Ref<boolean>, ref: heap.Ref<any>): heap.Ref<any> => {
   416        const x = create === A.H.TRUE ? {} : A.H.get<any>(ref);
   417  
   418        if (A.load.Bool(ptr + 8)) {
   419          x["openInTab"] = A.load.Bool(ptr + 0);
   420        } else {
   421          delete x["openInTab"];
   422        }
   423        x["url"] = A.load.Ref(ptr + 4, undefined);
   424        return create === A.H.TRUE ? A.H.push(x) : ref;
   425      },
   426  
   427      "store_Permission": (ptr: Pointer, ref: heap.Ref<any>) => {
   428        const x = A.H.get<any>(ref);
   429  
   430        if (typeof x === "undefined") {
   431          A.store.Bool(ptr + 8, false);
   432          A.store.Ref(ptr + 0, undefined);
   433          A.store.Ref(ptr + 4, undefined);
   434        } else {
   435          A.store.Bool(ptr + 8, true);
   436          A.store.Ref(ptr + 0, x["message"]);
   437          A.store.Ref(ptr + 4, x["submessages"]);
   438        }
   439      },
   440      "load_Permission": (ptr: Pointer, create: heap.Ref<boolean>, ref: heap.Ref<any>): heap.Ref<any> => {
   441        const x = create === A.H.TRUE ? {} : A.H.get<any>(ref);
   442  
   443        x["message"] = A.load.Ref(ptr + 0, undefined);
   444        x["submessages"] = A.load.Ref(ptr + 4, undefined);
   445        return create === A.H.TRUE ? A.H.push(x) : ref;
   446      },
   447      "constof_HostAccess": (ref: heap.Ref<string>): number => {
   448        const idx = ["ON_CLICK", "ON_SPECIFIC_SITES", "ON_ALL_SITES"].indexOf(A.H.get(ref));
   449        return idx < 0 ? 0 : idx + 1;
   450      },
   451  
   452      "store_SiteControl": (ptr: Pointer, ref: heap.Ref<any>) => {
   453        const x = A.H.get<any>(ref);
   454  
   455        if (typeof x === "undefined") {
   456          A.store.Bool(ptr + 6, false);
   457          A.store.Ref(ptr + 0, undefined);
   458          A.store.Bool(ptr + 5, false);
   459          A.store.Bool(ptr + 4, false);
   460        } else {
   461          A.store.Bool(ptr + 6, true);
   462          A.store.Ref(ptr + 0, x["host"]);
   463          A.store.Bool(ptr + 5, "granted" in x ? true : false);
   464          A.store.Bool(ptr + 4, x["granted"] ? true : false);
   465        }
   466      },
   467      "load_SiteControl": (ptr: Pointer, create: heap.Ref<boolean>, ref: heap.Ref<any>): heap.Ref<any> => {
   468        const x = create === A.H.TRUE ? {} : A.H.get<any>(ref);
   469  
   470        x["host"] = A.load.Ref(ptr + 0, undefined);
   471        if (A.load.Bool(ptr + 5)) {
   472          x["granted"] = A.load.Bool(ptr + 4);
   473        } else {
   474          delete x["granted"];
   475        }
   476        return create === A.H.TRUE ? A.H.push(x) : ref;
   477      },
   478  
   479      "store_RuntimeHostPermissions": (ptr: Pointer, ref: heap.Ref<any>) => {
   480        const x = A.H.get<any>(ref);
   481  
   482        if (typeof x === "undefined") {
   483          A.store.Bool(ptr + 13, false);
   484          A.store.Bool(ptr + 12, false);
   485          A.store.Bool(ptr + 0, false);
   486          A.store.Enum(ptr + 4, -1);
   487          A.store.Ref(ptr + 8, undefined);
   488        } else {
   489          A.store.Bool(ptr + 13, true);
   490          A.store.Bool(ptr + 12, "hasAllHosts" in x ? true : false);
   491          A.store.Bool(ptr + 0, x["hasAllHosts"] ? true : false);
   492          A.store.Enum(ptr + 4, ["ON_CLICK", "ON_SPECIFIC_SITES", "ON_ALL_SITES"].indexOf(x["hostAccess"] as string));
   493          A.store.Ref(ptr + 8, x["hosts"]);
   494        }
   495      },
   496      "load_RuntimeHostPermissions": (ptr: Pointer, create: heap.Ref<boolean>, ref: heap.Ref<any>): heap.Ref<any> => {
   497        const x = create === A.H.TRUE ? {} : A.H.get<any>(ref);
   498  
   499        if (A.load.Bool(ptr + 12)) {
   500          x["hasAllHosts"] = A.load.Bool(ptr + 0);
   501        } else {
   502          delete x["hasAllHosts"];
   503        }
   504        x["hostAccess"] = A.load.Enum(ptr + 4, ["ON_CLICK", "ON_SPECIFIC_SITES", "ON_ALL_SITES"]);
   505        x["hosts"] = A.load.Ref(ptr + 8, undefined);
   506        return create === A.H.TRUE ? A.H.push(x) : ref;
   507      },
   508  
   509      "store_Permissions": (ptr: Pointer, ref: heap.Ref<any>) => {
   510        const x = A.H.get<any>(ref);
   511  
   512        if (typeof x === "undefined") {
   513          A.store.Bool(ptr + 20, false);
   514          A.store.Ref(ptr + 0, undefined);
   515  
   516          A.store.Bool(ptr + 4 + 13, false);
   517          A.store.Bool(ptr + 4 + 12, false);
   518          A.store.Bool(ptr + 4 + 0, false);
   519          A.store.Enum(ptr + 4 + 4, -1);
   520          A.store.Ref(ptr + 4 + 8, undefined);
   521          A.store.Bool(ptr + 19, false);
   522          A.store.Bool(ptr + 18, false);
   523        } else {
   524          A.store.Bool(ptr + 20, true);
   525          A.store.Ref(ptr + 0, x["simplePermissions"]);
   526  
   527          if (typeof x["runtimeHostPermissions"] === "undefined") {
   528            A.store.Bool(ptr + 4 + 13, false);
   529            A.store.Bool(ptr + 4 + 12, false);
   530            A.store.Bool(ptr + 4 + 0, false);
   531            A.store.Enum(ptr + 4 + 4, -1);
   532            A.store.Ref(ptr + 4 + 8, undefined);
   533          } else {
   534            A.store.Bool(ptr + 4 + 13, true);
   535            A.store.Bool(ptr + 4 + 12, "hasAllHosts" in x["runtimeHostPermissions"] ? true : false);
   536            A.store.Bool(ptr + 4 + 0, x["runtimeHostPermissions"]["hasAllHosts"] ? true : false);
   537            A.store.Enum(
   538              ptr + 4 + 4,
   539              ["ON_CLICK", "ON_SPECIFIC_SITES", "ON_ALL_SITES"].indexOf(
   540                x["runtimeHostPermissions"]["hostAccess"] as string
   541              )
   542            );
   543            A.store.Ref(ptr + 4 + 8, x["runtimeHostPermissions"]["hosts"]);
   544          }
   545          A.store.Bool(ptr + 19, "canAccessSiteData" in x ? true : false);
   546          A.store.Bool(ptr + 18, x["canAccessSiteData"] ? true : false);
   547        }
   548      },
   549      "load_Permissions": (ptr: Pointer, create: heap.Ref<boolean>, ref: heap.Ref<any>): heap.Ref<any> => {
   550        const x = create === A.H.TRUE ? {} : A.H.get<any>(ref);
   551  
   552        x["simplePermissions"] = A.load.Ref(ptr + 0, undefined);
   553        if (A.load.Bool(ptr + 4 + 13)) {
   554          x["runtimeHostPermissions"] = {};
   555          if (A.load.Bool(ptr + 4 + 12)) {
   556            x["runtimeHostPermissions"]["hasAllHosts"] = A.load.Bool(ptr + 4 + 0);
   557          } else {
   558            delete x["runtimeHostPermissions"]["hasAllHosts"];
   559          }
   560          x["runtimeHostPermissions"]["hostAccess"] = A.load.Enum(ptr + 4 + 4, [
   561            "ON_CLICK",
   562            "ON_SPECIFIC_SITES",
   563            "ON_ALL_SITES",
   564          ]);
   565          x["runtimeHostPermissions"]["hosts"] = A.load.Ref(ptr + 4 + 8, undefined);
   566        } else {
   567          delete x["runtimeHostPermissions"];
   568        }
   569        if (A.load.Bool(ptr + 19)) {
   570          x["canAccessSiteData"] = A.load.Bool(ptr + 18);
   571        } else {
   572          delete x["canAccessSiteData"];
   573        }
   574        return create === A.H.TRUE ? A.H.push(x) : ref;
   575      },
   576  
   577      "store_StackFrame": (ptr: Pointer, ref: heap.Ref<any>) => {
   578        const x = A.H.get<any>(ref);
   579  
   580        if (typeof x === "undefined") {
   581          A.store.Bool(ptr + 18, false);
   582          A.store.Bool(ptr + 16, false);
   583          A.store.Int32(ptr + 0, 0);
   584          A.store.Bool(ptr + 17, false);
   585          A.store.Int32(ptr + 4, 0);
   586          A.store.Ref(ptr + 8, undefined);
   587          A.store.Ref(ptr + 12, undefined);
   588        } else {
   589          A.store.Bool(ptr + 18, true);
   590          A.store.Bool(ptr + 16, "lineNumber" in x ? true : false);
   591          A.store.Int32(ptr + 0, x["lineNumber"] === undefined ? 0 : (x["lineNumber"] as number));
   592          A.store.Bool(ptr + 17, "columnNumber" in x ? true : false);
   593          A.store.Int32(ptr + 4, x["columnNumber"] === undefined ? 0 : (x["columnNumber"] as number));
   594          A.store.Ref(ptr + 8, x["url"]);
   595          A.store.Ref(ptr + 12, x["functionName"]);
   596        }
   597      },
   598      "load_StackFrame": (ptr: Pointer, create: heap.Ref<boolean>, ref: heap.Ref<any>): heap.Ref<any> => {
   599        const x = create === A.H.TRUE ? {} : A.H.get<any>(ref);
   600  
   601        if (A.load.Bool(ptr + 16)) {
   602          x["lineNumber"] = A.load.Int32(ptr + 0);
   603        } else {
   604          delete x["lineNumber"];
   605        }
   606        if (A.load.Bool(ptr + 17)) {
   607          x["columnNumber"] = A.load.Int32(ptr + 4);
   608        } else {
   609          delete x["columnNumber"];
   610        }
   611        x["url"] = A.load.Ref(ptr + 8, undefined);
   612        x["functionName"] = A.load.Ref(ptr + 12, undefined);
   613        return create === A.H.TRUE ? A.H.push(x) : ref;
   614      },
   615  
   616      "store_RuntimeError": (ptr: Pointer, ref: heap.Ref<any>) => {
   617        const x = A.H.get<any>(ref);
   618  
   619        if (typeof x === "undefined") {
   620          A.store.Bool(ptr + 58, false);
   621          A.store.Enum(ptr + 0, -1);
   622          A.store.Ref(ptr + 4, undefined);
   623          A.store.Bool(ptr + 52, false);
   624          A.store.Bool(ptr + 8, false);
   625          A.store.Ref(ptr + 12, undefined);
   626          A.store.Ref(ptr + 16, undefined);
   627          A.store.Bool(ptr + 53, false);
   628          A.store.Int32(ptr + 20, 0);
   629          A.store.Enum(ptr + 24, -1);
   630          A.store.Ref(ptr + 28, undefined);
   631          A.store.Bool(ptr + 54, false);
   632          A.store.Int32(ptr + 32, 0);
   633          A.store.Bool(ptr + 55, false);
   634          A.store.Int32(ptr + 36, 0);
   635          A.store.Bool(ptr + 56, false);
   636          A.store.Int32(ptr + 40, 0);
   637          A.store.Bool(ptr + 57, false);
   638          A.store.Bool(ptr + 44, false);
   639          A.store.Ref(ptr + 48, undefined);
   640        } else {
   641          A.store.Bool(ptr + 58, true);
   642          A.store.Enum(ptr + 0, ["MANIFEST", "RUNTIME"].indexOf(x["type"] as string));
   643          A.store.Ref(ptr + 4, x["extensionId"]);
   644          A.store.Bool(ptr + 52, "fromIncognito" in x ? true : false);
   645          A.store.Bool(ptr + 8, x["fromIncognito"] ? true : false);
   646          A.store.Ref(ptr + 12, x["source"]);
   647          A.store.Ref(ptr + 16, x["message"]);
   648          A.store.Bool(ptr + 53, "id" in x ? true : false);
   649          A.store.Int32(ptr + 20, x["id"] === undefined ? 0 : (x["id"] as number));
   650          A.store.Enum(ptr + 24, ["LOG", "WARN", "ERROR"].indexOf(x["severity"] as string));
   651          A.store.Ref(ptr + 28, x["contextUrl"]);
   652          A.store.Bool(ptr + 54, "occurrences" in x ? true : false);
   653          A.store.Int32(ptr + 32, x["occurrences"] === undefined ? 0 : (x["occurrences"] as number));
   654          A.store.Bool(ptr + 55, "renderViewId" in x ? true : false);
   655          A.store.Int32(ptr + 36, x["renderViewId"] === undefined ? 0 : (x["renderViewId"] as number));
   656          A.store.Bool(ptr + 56, "renderProcessId" in x ? true : false);
   657          A.store.Int32(ptr + 40, x["renderProcessId"] === undefined ? 0 : (x["renderProcessId"] as number));
   658          A.store.Bool(ptr + 57, "canInspect" in x ? true : false);
   659          A.store.Bool(ptr + 44, x["canInspect"] ? true : false);
   660          A.store.Ref(ptr + 48, x["stackTrace"]);
   661        }
   662      },
   663      "load_RuntimeError": (ptr: Pointer, create: heap.Ref<boolean>, ref: heap.Ref<any>): heap.Ref<any> => {
   664        const x = create === A.H.TRUE ? {} : A.H.get<any>(ref);
   665  
   666        x["type"] = A.load.Enum(ptr + 0, ["MANIFEST", "RUNTIME"]);
   667        x["extensionId"] = A.load.Ref(ptr + 4, undefined);
   668        if (A.load.Bool(ptr + 52)) {
   669          x["fromIncognito"] = A.load.Bool(ptr + 8);
   670        } else {
   671          delete x["fromIncognito"];
   672        }
   673        x["source"] = A.load.Ref(ptr + 12, undefined);
   674        x["message"] = A.load.Ref(ptr + 16, undefined);
   675        if (A.load.Bool(ptr + 53)) {
   676          x["id"] = A.load.Int32(ptr + 20);
   677        } else {
   678          delete x["id"];
   679        }
   680        x["severity"] = A.load.Enum(ptr + 24, ["LOG", "WARN", "ERROR"]);
   681        x["contextUrl"] = A.load.Ref(ptr + 28, undefined);
   682        if (A.load.Bool(ptr + 54)) {
   683          x["occurrences"] = A.load.Int32(ptr + 32);
   684        } else {
   685          delete x["occurrences"];
   686        }
   687        if (A.load.Bool(ptr + 55)) {
   688          x["renderViewId"] = A.load.Int32(ptr + 36);
   689        } else {
   690          delete x["renderViewId"];
   691        }
   692        if (A.load.Bool(ptr + 56)) {
   693          x["renderProcessId"] = A.load.Int32(ptr + 40);
   694        } else {
   695          delete x["renderProcessId"];
   696        }
   697        if (A.load.Bool(ptr + 57)) {
   698          x["canInspect"] = A.load.Bool(ptr + 44);
   699        } else {
   700          delete x["canInspect"];
   701        }
   702        x["stackTrace"] = A.load.Ref(ptr + 48, undefined);
   703        return create === A.H.TRUE ? A.H.push(x) : ref;
   704      },
   705      "constof_ExtensionState": (ref: heap.Ref<string>): number => {
   706        const idx = ["ENABLED", "DISABLED", "TERMINATED", "BLACKLISTED"].indexOf(A.H.get(ref));
   707        return idx < 0 ? 0 : idx + 1;
   708      },
   709      "constof_ExtensionType": (ref: heap.Ref<string>): number => {
   710        const idx = ["HOSTED_APP", "PLATFORM_APP", "LEGACY_PACKAGED_APP", "EXTENSION", "THEME", "SHARED_MODULE"].indexOf(
   711          A.H.get(ref)
   712        );
   713        return idx < 0 ? 0 : idx + 1;
   714      },
   715      "constof_ViewType": (ref: heap.Ref<string>): number => {
   716        const idx = [
   717          "APP_WINDOW",
   718          "BACKGROUND_CONTENTS",
   719          "COMPONENT",
   720          "EXTENSION_BACKGROUND_PAGE",
   721          "EXTENSION_DIALOG",
   722          "EXTENSION_GUEST",
   723          "EXTENSION_POPUP",
   724          "EXTENSION_SERVICE_WORKER_BACKGROUND",
   725          "TAB_CONTENTS",
   726          "OFFSCREEN_DOCUMENT",
   727          "EXTENSION_SIDE_PANEL",
   728        ].indexOf(A.H.get(ref));
   729        return idx < 0 ? 0 : idx + 1;
   730      },
   731  
   732      "store_ExtensionView": (ptr: Pointer, ref: heap.Ref<any>) => {
   733        const x = A.H.get<any>(ref);
   734  
   735        if (typeof x === "undefined") {
   736          A.store.Bool(ptr + 24, false);
   737          A.store.Ref(ptr + 0, undefined);
   738          A.store.Bool(ptr + 20, false);
   739          A.store.Int32(ptr + 4, 0);
   740          A.store.Bool(ptr + 21, false);
   741          A.store.Int32(ptr + 8, 0);
   742          A.store.Bool(ptr + 22, false);
   743          A.store.Bool(ptr + 12, false);
   744          A.store.Bool(ptr + 23, false);
   745          A.store.Bool(ptr + 13, false);
   746          A.store.Enum(ptr + 16, -1);
   747        } else {
   748          A.store.Bool(ptr + 24, true);
   749          A.store.Ref(ptr + 0, x["url"]);
   750          A.store.Bool(ptr + 20, "renderProcessId" in x ? true : false);
   751          A.store.Int32(ptr + 4, x["renderProcessId"] === undefined ? 0 : (x["renderProcessId"] as number));
   752          A.store.Bool(ptr + 21, "renderViewId" in x ? true : false);
   753          A.store.Int32(ptr + 8, x["renderViewId"] === undefined ? 0 : (x["renderViewId"] as number));
   754          A.store.Bool(ptr + 22, "incognito" in x ? true : false);
   755          A.store.Bool(ptr + 12, x["incognito"] ? true : false);
   756          A.store.Bool(ptr + 23, "isIframe" in x ? true : false);
   757          A.store.Bool(ptr + 13, x["isIframe"] ? true : false);
   758          A.store.Enum(
   759            ptr + 16,
   760            [
   761              "APP_WINDOW",
   762              "BACKGROUND_CONTENTS",
   763              "COMPONENT",
   764              "EXTENSION_BACKGROUND_PAGE",
   765              "EXTENSION_DIALOG",
   766              "EXTENSION_GUEST",
   767              "EXTENSION_POPUP",
   768              "EXTENSION_SERVICE_WORKER_BACKGROUND",
   769              "TAB_CONTENTS",
   770              "OFFSCREEN_DOCUMENT",
   771              "EXTENSION_SIDE_PANEL",
   772            ].indexOf(x["type"] as string)
   773          );
   774        }
   775      },
   776      "load_ExtensionView": (ptr: Pointer, create: heap.Ref<boolean>, ref: heap.Ref<any>): heap.Ref<any> => {
   777        const x = create === A.H.TRUE ? {} : A.H.get<any>(ref);
   778  
   779        x["url"] = A.load.Ref(ptr + 0, undefined);
   780        if (A.load.Bool(ptr + 20)) {
   781          x["renderProcessId"] = A.load.Int32(ptr + 4);
   782        } else {
   783          delete x["renderProcessId"];
   784        }
   785        if (A.load.Bool(ptr + 21)) {
   786          x["renderViewId"] = A.load.Int32(ptr + 8);
   787        } else {
   788          delete x["renderViewId"];
   789        }
   790        if (A.load.Bool(ptr + 22)) {
   791          x["incognito"] = A.load.Bool(ptr + 12);
   792        } else {
   793          delete x["incognito"];
   794        }
   795        if (A.load.Bool(ptr + 23)) {
   796          x["isIframe"] = A.load.Bool(ptr + 13);
   797        } else {
   798          delete x["isIframe"];
   799        }
   800        x["type"] = A.load.Enum(ptr + 16, [
   801          "APP_WINDOW",
   802          "BACKGROUND_CONTENTS",
   803          "COMPONENT",
   804          "EXTENSION_BACKGROUND_PAGE",
   805          "EXTENSION_DIALOG",
   806          "EXTENSION_GUEST",
   807          "EXTENSION_POPUP",
   808          "EXTENSION_SERVICE_WORKER_BACKGROUND",
   809          "TAB_CONTENTS",
   810          "OFFSCREEN_DOCUMENT",
   811          "EXTENSION_SIDE_PANEL",
   812        ]);
   813        return create === A.H.TRUE ? A.H.push(x) : ref;
   814      },
   815  
   816      "store_ExtensionInfo": (ptr: Pointer, ref: heap.Ref<any>) => {
   817        const x = A.H.get<any>(ref);
   818  
   819        if (typeof x === "undefined") {
   820          A.store.Bool(ptr + 215, false);
   821          A.store.Ref(ptr + 0, undefined);
   822  
   823          A.store.Bool(ptr + 4 + 8, false);
   824          A.store.Ref(ptr + 4 + 0, undefined);
   825          A.store.Ref(ptr + 4 + 4, undefined);
   826          A.store.Ref(ptr + 16, undefined);
   827  
   828          A.store.Bool(ptr + 20 + 4, false);
   829          A.store.Ref(ptr + 20 + 0, undefined);
   830          A.store.Ref(ptr + 28, undefined);
   831          A.store.Ref(ptr + 32, undefined);
   832  
   833          A.store.Bool(ptr + 36 + 16, false);
   834          A.store.Bool(ptr + 36 + 8, false);
   835          A.store.Bool(ptr + 36 + 0, false);
   836          A.store.Bool(ptr + 36 + 9, false);
   837          A.store.Bool(ptr + 36 + 1, false);
   838          A.store.Bool(ptr + 36 + 10, false);
   839          A.store.Bool(ptr + 36 + 2, false);
   840          A.store.Bool(ptr + 36 + 11, false);
   841          A.store.Bool(ptr + 36 + 3, false);
   842          A.store.Bool(ptr + 36 + 12, false);
   843          A.store.Bool(ptr + 36 + 4, false);
   844          A.store.Bool(ptr + 36 + 13, false);
   845          A.store.Bool(ptr + 36 + 5, false);
   846          A.store.Bool(ptr + 36 + 14, false);
   847          A.store.Bool(ptr + 36 + 6, false);
   848          A.store.Bool(ptr + 36 + 15, false);
   849          A.store.Bool(ptr + 36 + 7, false);
   850  
   851          A.store.Bool(ptr + 53 + 4, false);
   852          A.store.Bool(ptr + 53 + 2, false);
   853          A.store.Bool(ptr + 53 + 0, false);
   854          A.store.Bool(ptr + 53 + 3, false);
   855          A.store.Bool(ptr + 53 + 1, false);
   856  
   857          A.store.Bool(ptr + 58 + 4, false);
   858          A.store.Bool(ptr + 58 + 2, false);
   859          A.store.Bool(ptr + 58 + 0, false);
   860          A.store.Bool(ptr + 58 + 3, false);
   861          A.store.Bool(ptr + 58 + 1, false);
   862  
   863          A.store.Bool(ptr + 64 + 6, false);
   864          A.store.Ref(ptr + 64 + 0, undefined);
   865          A.store.Bool(ptr + 64 + 5, false);
   866          A.store.Bool(ptr + 64 + 4, false);
   867          A.store.Ref(ptr + 72, undefined);
   868          A.store.Ref(ptr + 76, undefined);
   869  
   870          A.store.Bool(ptr + 80 + 4, false);
   871          A.store.Bool(ptr + 80 + 2, false);
   872          A.store.Bool(ptr + 80 + 0, false);
   873          A.store.Bool(ptr + 80 + 3, false);
   874          A.store.Bool(ptr + 80 + 1, false);
   875          A.store.Ref(ptr + 88, undefined);
   876          A.store.Ref(ptr + 92, undefined);
   877          A.store.Enum(ptr + 96, -1);
   878          A.store.Ref(ptr + 100, undefined);
   879          A.store.Ref(ptr + 104, undefined);
   880          A.store.Ref(ptr + 108, undefined);
   881          A.store.Bool(ptr + 208, false);
   882          A.store.Bool(ptr + 112, false);
   883          A.store.Ref(ptr + 116, undefined);
   884          A.store.Bool(ptr + 209, false);
   885          A.store.Bool(ptr + 120, false);
   886  
   887          A.store.Bool(ptr + 124 + 9, false);
   888          A.store.Bool(ptr + 124 + 8, false);
   889          A.store.Bool(ptr + 124 + 0, false);
   890          A.store.Ref(ptr + 124 + 4, undefined);
   891          A.store.Ref(ptr + 136, undefined);
   892  
   893          A.store.Bool(ptr + 140 + 20, false);
   894          A.store.Ref(ptr + 140 + 0, undefined);
   895  
   896          A.store.Bool(ptr + 140 + 4 + 13, false);
   897          A.store.Bool(ptr + 140 + 4 + 12, false);
   898          A.store.Bool(ptr + 140 + 4 + 0, false);
   899          A.store.Enum(ptr + 140 + 4 + 4, -1);
   900          A.store.Ref(ptr + 140 + 4 + 8, undefined);
   901          A.store.Bool(ptr + 140 + 19, false);
   902          A.store.Bool(ptr + 140 + 18, false);
   903          A.store.Ref(ptr + 164, undefined);
   904          A.store.Ref(ptr + 168, undefined);
   905          A.store.Ref(ptr + 172, undefined);
   906          A.store.Enum(ptr + 176, -1);
   907          A.store.Enum(ptr + 180, -1);
   908          A.store.Ref(ptr + 184, undefined);
   909          A.store.Bool(ptr + 210, false);
   910          A.store.Bool(ptr + 188, false);
   911          A.store.Ref(ptr + 192, undefined);
   912          A.store.Ref(ptr + 196, undefined);
   913          A.store.Ref(ptr + 200, undefined);
   914          A.store.Bool(ptr + 211, false);
   915          A.store.Bool(ptr + 204, false);
   916          A.store.Bool(ptr + 212, false);
   917          A.store.Bool(ptr + 205, false);
   918          A.store.Bool(ptr + 213, false);
   919          A.store.Bool(ptr + 206, false);
   920          A.store.Bool(ptr + 214, false);
   921          A.store.Bool(ptr + 207, false);
   922        } else {
   923          A.store.Bool(ptr + 215, true);
   924          A.store.Ref(ptr + 0, x["blacklistText"]);
   925  
   926          if (typeof x["safetyCheckText"] === "undefined") {
   927            A.store.Bool(ptr + 4 + 8, false);
   928            A.store.Ref(ptr + 4 + 0, undefined);
   929            A.store.Ref(ptr + 4 + 4, undefined);
   930          } else {
   931            A.store.Bool(ptr + 4 + 8, true);
   932            A.store.Ref(ptr + 4 + 0, x["safetyCheckText"]["panelString"]);
   933            A.store.Ref(ptr + 4 + 4, x["safetyCheckText"]["detailString"]);
   934          }
   935          A.store.Ref(ptr + 16, x["commands"]);
   936  
   937          if (typeof x["controlledInfo"] === "undefined") {
   938            A.store.Bool(ptr + 20 + 4, false);
   939            A.store.Ref(ptr + 20 + 0, undefined);
   940          } else {
   941            A.store.Bool(ptr + 20 + 4, true);
   942            A.store.Ref(ptr + 20 + 0, x["controlledInfo"]["text"]);
   943          }
   944          A.store.Ref(ptr + 28, x["dependentExtensions"]);
   945          A.store.Ref(ptr + 32, x["description"]);
   946  
   947          if (typeof x["disableReasons"] === "undefined") {
   948            A.store.Bool(ptr + 36 + 16, false);
   949            A.store.Bool(ptr + 36 + 8, false);
   950            A.store.Bool(ptr + 36 + 0, false);
   951            A.store.Bool(ptr + 36 + 9, false);
   952            A.store.Bool(ptr + 36 + 1, false);
   953            A.store.Bool(ptr + 36 + 10, false);
   954            A.store.Bool(ptr + 36 + 2, false);
   955            A.store.Bool(ptr + 36 + 11, false);
   956            A.store.Bool(ptr + 36 + 3, false);
   957            A.store.Bool(ptr + 36 + 12, false);
   958            A.store.Bool(ptr + 36 + 4, false);
   959            A.store.Bool(ptr + 36 + 13, false);
   960            A.store.Bool(ptr + 36 + 5, false);
   961            A.store.Bool(ptr + 36 + 14, false);
   962            A.store.Bool(ptr + 36 + 6, false);
   963            A.store.Bool(ptr + 36 + 15, false);
   964            A.store.Bool(ptr + 36 + 7, false);
   965          } else {
   966            A.store.Bool(ptr + 36 + 16, true);
   967            A.store.Bool(ptr + 36 + 8, "suspiciousInstall" in x["disableReasons"] ? true : false);
   968            A.store.Bool(ptr + 36 + 0, x["disableReasons"]["suspiciousInstall"] ? true : false);
   969            A.store.Bool(ptr + 36 + 9, "corruptInstall" in x["disableReasons"] ? true : false);
   970            A.store.Bool(ptr + 36 + 1, x["disableReasons"]["corruptInstall"] ? true : false);
   971            A.store.Bool(ptr + 36 + 10, "updateRequired" in x["disableReasons"] ? true : false);
   972            A.store.Bool(ptr + 36 + 2, x["disableReasons"]["updateRequired"] ? true : false);
   973            A.store.Bool(ptr + 36 + 11, "publishedInStoreRequired" in x["disableReasons"] ? true : false);
   974            A.store.Bool(ptr + 36 + 3, x["disableReasons"]["publishedInStoreRequired"] ? true : false);
   975            A.store.Bool(ptr + 36 + 12, "blockedByPolicy" in x["disableReasons"] ? true : false);
   976            A.store.Bool(ptr + 36 + 4, x["disableReasons"]["blockedByPolicy"] ? true : false);
   977            A.store.Bool(ptr + 36 + 13, "reloading" in x["disableReasons"] ? true : false);
   978            A.store.Bool(ptr + 36 + 5, x["disableReasons"]["reloading"] ? true : false);
   979            A.store.Bool(ptr + 36 + 14, "custodianApprovalRequired" in x["disableReasons"] ? true : false);
   980            A.store.Bool(ptr + 36 + 6, x["disableReasons"]["custodianApprovalRequired"] ? true : false);
   981            A.store.Bool(ptr + 36 + 15, "parentDisabledPermissions" in x["disableReasons"] ? true : false);
   982            A.store.Bool(ptr + 36 + 7, x["disableReasons"]["parentDisabledPermissions"] ? true : false);
   983          }
   984  
   985          if (typeof x["errorCollection"] === "undefined") {
   986            A.store.Bool(ptr + 53 + 4, false);
   987            A.store.Bool(ptr + 53 + 2, false);
   988            A.store.Bool(ptr + 53 + 0, false);
   989            A.store.Bool(ptr + 53 + 3, false);
   990            A.store.Bool(ptr + 53 + 1, false);
   991          } else {
   992            A.store.Bool(ptr + 53 + 4, true);
   993            A.store.Bool(ptr + 53 + 2, "isEnabled" in x["errorCollection"] ? true : false);
   994            A.store.Bool(ptr + 53 + 0, x["errorCollection"]["isEnabled"] ? true : false);
   995            A.store.Bool(ptr + 53 + 3, "isActive" in x["errorCollection"] ? true : false);
   996            A.store.Bool(ptr + 53 + 1, x["errorCollection"]["isActive"] ? true : false);
   997          }
   998  
   999          if (typeof x["fileAccess"] === "undefined") {
  1000            A.store.Bool(ptr + 58 + 4, false);
  1001            A.store.Bool(ptr + 58 + 2, false);
  1002            A.store.Bool(ptr + 58 + 0, false);
  1003            A.store.Bool(ptr + 58 + 3, false);
  1004            A.store.Bool(ptr + 58 + 1, false);
  1005          } else {
  1006            A.store.Bool(ptr + 58 + 4, true);
  1007            A.store.Bool(ptr + 58 + 2, "isEnabled" in x["fileAccess"] ? true : false);
  1008            A.store.Bool(ptr + 58 + 0, x["fileAccess"]["isEnabled"] ? true : false);
  1009            A.store.Bool(ptr + 58 + 3, "isActive" in x["fileAccess"] ? true : false);
  1010            A.store.Bool(ptr + 58 + 1, x["fileAccess"]["isActive"] ? true : false);
  1011          }
  1012  
  1013          if (typeof x["homePage"] === "undefined") {
  1014            A.store.Bool(ptr + 64 + 6, false);
  1015            A.store.Ref(ptr + 64 + 0, undefined);
  1016            A.store.Bool(ptr + 64 + 5, false);
  1017            A.store.Bool(ptr + 64 + 4, false);
  1018          } else {
  1019            A.store.Bool(ptr + 64 + 6, true);
  1020            A.store.Ref(ptr + 64 + 0, x["homePage"]["url"]);
  1021            A.store.Bool(ptr + 64 + 5, "specified" in x["homePage"] ? true : false);
  1022            A.store.Bool(ptr + 64 + 4, x["homePage"]["specified"] ? true : false);
  1023          }
  1024          A.store.Ref(ptr + 72, x["iconUrl"]);
  1025          A.store.Ref(ptr + 76, x["id"]);
  1026  
  1027          if (typeof x["incognitoAccess"] === "undefined") {
  1028            A.store.Bool(ptr + 80 + 4, false);
  1029            A.store.Bool(ptr + 80 + 2, false);
  1030            A.store.Bool(ptr + 80 + 0, false);
  1031            A.store.Bool(ptr + 80 + 3, false);
  1032            A.store.Bool(ptr + 80 + 1, false);
  1033          } else {
  1034            A.store.Bool(ptr + 80 + 4, true);
  1035            A.store.Bool(ptr + 80 + 2, "isEnabled" in x["incognitoAccess"] ? true : false);
  1036            A.store.Bool(ptr + 80 + 0, x["incognitoAccess"]["isEnabled"] ? true : false);
  1037            A.store.Bool(ptr + 80 + 3, "isActive" in x["incognitoAccess"] ? true : false);
  1038            A.store.Bool(ptr + 80 + 1, x["incognitoAccess"]["isActive"] ? true : false);
  1039          }
  1040          A.store.Ref(ptr + 88, x["installWarnings"]);
  1041          A.store.Ref(ptr + 92, x["launchUrl"]);
  1042          A.store.Enum(
  1043            ptr + 96,
  1044            ["FROM_STORE", "UNPACKED", "THIRD_PARTY", "INSTALLED_BY_DEFAULT", "UNKNOWN"].indexOf(x["location"] as string)
  1045          );
  1046          A.store.Ref(ptr + 100, x["locationText"]);
  1047          A.store.Ref(ptr + 104, x["manifestErrors"]);
  1048          A.store.Ref(ptr + 108, x["manifestHomePageUrl"]);
  1049          A.store.Bool(ptr + 208, "mustRemainInstalled" in x ? true : false);
  1050          A.store.Bool(ptr + 112, x["mustRemainInstalled"] ? true : false);
  1051          A.store.Ref(ptr + 116, x["name"]);
  1052          A.store.Bool(ptr + 209, "offlineEnabled" in x ? true : false);
  1053          A.store.Bool(ptr + 120, x["offlineEnabled"] ? true : false);
  1054  
  1055          if (typeof x["optionsPage"] === "undefined") {
  1056            A.store.Bool(ptr + 124 + 9, false);
  1057            A.store.Bool(ptr + 124 + 8, false);
  1058            A.store.Bool(ptr + 124 + 0, false);
  1059            A.store.Ref(ptr + 124 + 4, undefined);
  1060          } else {
  1061            A.store.Bool(ptr + 124 + 9, true);
  1062            A.store.Bool(ptr + 124 + 8, "openInTab" in x["optionsPage"] ? true : false);
  1063            A.store.Bool(ptr + 124 + 0, x["optionsPage"]["openInTab"] ? true : false);
  1064            A.store.Ref(ptr + 124 + 4, x["optionsPage"]["url"]);
  1065          }
  1066          A.store.Ref(ptr + 136, x["path"]);
  1067  
  1068          if (typeof x["permissions"] === "undefined") {
  1069            A.store.Bool(ptr + 140 + 20, false);
  1070            A.store.Ref(ptr + 140 + 0, undefined);
  1071  
  1072            A.store.Bool(ptr + 140 + 4 + 13, false);
  1073            A.store.Bool(ptr + 140 + 4 + 12, false);
  1074            A.store.Bool(ptr + 140 + 4 + 0, false);
  1075            A.store.Enum(ptr + 140 + 4 + 4, -1);
  1076            A.store.Ref(ptr + 140 + 4 + 8, undefined);
  1077            A.store.Bool(ptr + 140 + 19, false);
  1078            A.store.Bool(ptr + 140 + 18, false);
  1079          } else {
  1080            A.store.Bool(ptr + 140 + 20, true);
  1081            A.store.Ref(ptr + 140 + 0, x["permissions"]["simplePermissions"]);
  1082  
  1083            if (typeof x["permissions"]["runtimeHostPermissions"] === "undefined") {
  1084              A.store.Bool(ptr + 140 + 4 + 13, false);
  1085              A.store.Bool(ptr + 140 + 4 + 12, false);
  1086              A.store.Bool(ptr + 140 + 4 + 0, false);
  1087              A.store.Enum(ptr + 140 + 4 + 4, -1);
  1088              A.store.Ref(ptr + 140 + 4 + 8, undefined);
  1089            } else {
  1090              A.store.Bool(ptr + 140 + 4 + 13, true);
  1091              A.store.Bool(
  1092                ptr + 140 + 4 + 12,
  1093                "hasAllHosts" in x["permissions"]["runtimeHostPermissions"] ? true : false
  1094              );
  1095              A.store.Bool(ptr + 140 + 4 + 0, x["permissions"]["runtimeHostPermissions"]["hasAllHosts"] ? true : false);
  1096              A.store.Enum(
  1097                ptr + 140 + 4 + 4,
  1098                ["ON_CLICK", "ON_SPECIFIC_SITES", "ON_ALL_SITES"].indexOf(
  1099                  x["permissions"]["runtimeHostPermissions"]["hostAccess"] as string
  1100                )
  1101              );
  1102              A.store.Ref(ptr + 140 + 4 + 8, x["permissions"]["runtimeHostPermissions"]["hosts"]);
  1103            }
  1104            A.store.Bool(ptr + 140 + 19, "canAccessSiteData" in x["permissions"] ? true : false);
  1105            A.store.Bool(ptr + 140 + 18, x["permissions"]["canAccessSiteData"] ? true : false);
  1106          }
  1107          A.store.Ref(ptr + 164, x["prettifiedPath"]);
  1108          A.store.Ref(ptr + 168, x["runtimeErrors"]);
  1109          A.store.Ref(ptr + 172, x["runtimeWarnings"]);
  1110          A.store.Enum(ptr + 176, ["ENABLED", "DISABLED", "TERMINATED", "BLACKLISTED"].indexOf(x["state"] as string));
  1111          A.store.Enum(
  1112            ptr + 180,
  1113            ["HOSTED_APP", "PLATFORM_APP", "LEGACY_PACKAGED_APP", "EXTENSION", "THEME", "SHARED_MODULE"].indexOf(
  1114              x["type"] as string
  1115            )
  1116          );
  1117          A.store.Ref(ptr + 184, x["updateUrl"]);
  1118          A.store.Bool(ptr + 210, "userMayModify" in x ? true : false);
  1119          A.store.Bool(ptr + 188, x["userMayModify"] ? true : false);
  1120          A.store.Ref(ptr + 192, x["version"]);
  1121          A.store.Ref(ptr + 196, x["views"]);
  1122          A.store.Ref(ptr + 200, x["webStoreUrl"]);
  1123          A.store.Bool(ptr + 211, "showSafeBrowsingAllowlistWarning" in x ? true : false);
  1124          A.store.Bool(ptr + 204, x["showSafeBrowsingAllowlistWarning"] ? true : false);
  1125          A.store.Bool(ptr + 212, "showAccessRequestsInToolbar" in x ? true : false);
  1126          A.store.Bool(ptr + 205, x["showAccessRequestsInToolbar"] ? true : false);
  1127          A.store.Bool(ptr + 213, "acknowledgeSafetyCheckWarning" in x ? true : false);
  1128          A.store.Bool(ptr + 206, x["acknowledgeSafetyCheckWarning"] ? true : false);
  1129          A.store.Bool(ptr + 214, "pinnedToToolbar" in x ? true : false);
  1130          A.store.Bool(ptr + 207, x["pinnedToToolbar"] ? true : false);
  1131        }
  1132      },
  1133      "load_ExtensionInfo": (ptr: Pointer, create: heap.Ref<boolean>, ref: heap.Ref<any>): heap.Ref<any> => {
  1134        const x = create === A.H.TRUE ? {} : A.H.get<any>(ref);
  1135  
  1136        x["blacklistText"] = A.load.Ref(ptr + 0, undefined);
  1137        if (A.load.Bool(ptr + 4 + 8)) {
  1138          x["safetyCheckText"] = {};
  1139          x["safetyCheckText"]["panelString"] = A.load.Ref(ptr + 4 + 0, undefined);
  1140          x["safetyCheckText"]["detailString"] = A.load.Ref(ptr + 4 + 4, undefined);
  1141        } else {
  1142          delete x["safetyCheckText"];
  1143        }
  1144        x["commands"] = A.load.Ref(ptr + 16, undefined);
  1145        if (A.load.Bool(ptr + 20 + 4)) {
  1146          x["controlledInfo"] = {};
  1147          x["controlledInfo"]["text"] = A.load.Ref(ptr + 20 + 0, undefined);
  1148        } else {
  1149          delete x["controlledInfo"];
  1150        }
  1151        x["dependentExtensions"] = A.load.Ref(ptr + 28, undefined);
  1152        x["description"] = A.load.Ref(ptr + 32, undefined);
  1153        if (A.load.Bool(ptr + 36 + 16)) {
  1154          x["disableReasons"] = {};
  1155          if (A.load.Bool(ptr + 36 + 8)) {
  1156            x["disableReasons"]["suspiciousInstall"] = A.load.Bool(ptr + 36 + 0);
  1157          } else {
  1158            delete x["disableReasons"]["suspiciousInstall"];
  1159          }
  1160          if (A.load.Bool(ptr + 36 + 9)) {
  1161            x["disableReasons"]["corruptInstall"] = A.load.Bool(ptr + 36 + 1);
  1162          } else {
  1163            delete x["disableReasons"]["corruptInstall"];
  1164          }
  1165          if (A.load.Bool(ptr + 36 + 10)) {
  1166            x["disableReasons"]["updateRequired"] = A.load.Bool(ptr + 36 + 2);
  1167          } else {
  1168            delete x["disableReasons"]["updateRequired"];
  1169          }
  1170          if (A.load.Bool(ptr + 36 + 11)) {
  1171            x["disableReasons"]["publishedInStoreRequired"] = A.load.Bool(ptr + 36 + 3);
  1172          } else {
  1173            delete x["disableReasons"]["publishedInStoreRequired"];
  1174          }
  1175          if (A.load.Bool(ptr + 36 + 12)) {
  1176            x["disableReasons"]["blockedByPolicy"] = A.load.Bool(ptr + 36 + 4);
  1177          } else {
  1178            delete x["disableReasons"]["blockedByPolicy"];
  1179          }
  1180          if (A.load.Bool(ptr + 36 + 13)) {
  1181            x["disableReasons"]["reloading"] = A.load.Bool(ptr + 36 + 5);
  1182          } else {
  1183            delete x["disableReasons"]["reloading"];
  1184          }
  1185          if (A.load.Bool(ptr + 36 + 14)) {
  1186            x["disableReasons"]["custodianApprovalRequired"] = A.load.Bool(ptr + 36 + 6);
  1187          } else {
  1188            delete x["disableReasons"]["custodianApprovalRequired"];
  1189          }
  1190          if (A.load.Bool(ptr + 36 + 15)) {
  1191            x["disableReasons"]["parentDisabledPermissions"] = A.load.Bool(ptr + 36 + 7);
  1192          } else {
  1193            delete x["disableReasons"]["parentDisabledPermissions"];
  1194          }
  1195        } else {
  1196          delete x["disableReasons"];
  1197        }
  1198        if (A.load.Bool(ptr + 53 + 4)) {
  1199          x["errorCollection"] = {};
  1200          if (A.load.Bool(ptr + 53 + 2)) {
  1201            x["errorCollection"]["isEnabled"] = A.load.Bool(ptr + 53 + 0);
  1202          } else {
  1203            delete x["errorCollection"]["isEnabled"];
  1204          }
  1205          if (A.load.Bool(ptr + 53 + 3)) {
  1206            x["errorCollection"]["isActive"] = A.load.Bool(ptr + 53 + 1);
  1207          } else {
  1208            delete x["errorCollection"]["isActive"];
  1209          }
  1210        } else {
  1211          delete x["errorCollection"];
  1212        }
  1213        if (A.load.Bool(ptr + 58 + 4)) {
  1214          x["fileAccess"] = {};
  1215          if (A.load.Bool(ptr + 58 + 2)) {
  1216            x["fileAccess"]["isEnabled"] = A.load.Bool(ptr + 58 + 0);
  1217          } else {
  1218            delete x["fileAccess"]["isEnabled"];
  1219          }
  1220          if (A.load.Bool(ptr + 58 + 3)) {
  1221            x["fileAccess"]["isActive"] = A.load.Bool(ptr + 58 + 1);
  1222          } else {
  1223            delete x["fileAccess"]["isActive"];
  1224          }
  1225        } else {
  1226          delete x["fileAccess"];
  1227        }
  1228        if (A.load.Bool(ptr + 64 + 6)) {
  1229          x["homePage"] = {};
  1230          x["homePage"]["url"] = A.load.Ref(ptr + 64 + 0, undefined);
  1231          if (A.load.Bool(ptr + 64 + 5)) {
  1232            x["homePage"]["specified"] = A.load.Bool(ptr + 64 + 4);
  1233          } else {
  1234            delete x["homePage"]["specified"];
  1235          }
  1236        } else {
  1237          delete x["homePage"];
  1238        }
  1239        x["iconUrl"] = A.load.Ref(ptr + 72, undefined);
  1240        x["id"] = A.load.Ref(ptr + 76, undefined);
  1241        if (A.load.Bool(ptr + 80 + 4)) {
  1242          x["incognitoAccess"] = {};
  1243          if (A.load.Bool(ptr + 80 + 2)) {
  1244            x["incognitoAccess"]["isEnabled"] = A.load.Bool(ptr + 80 + 0);
  1245          } else {
  1246            delete x["incognitoAccess"]["isEnabled"];
  1247          }
  1248          if (A.load.Bool(ptr + 80 + 3)) {
  1249            x["incognitoAccess"]["isActive"] = A.load.Bool(ptr + 80 + 1);
  1250          } else {
  1251            delete x["incognitoAccess"]["isActive"];
  1252          }
  1253        } else {
  1254          delete x["incognitoAccess"];
  1255        }
  1256        x["installWarnings"] = A.load.Ref(ptr + 88, undefined);
  1257        x["launchUrl"] = A.load.Ref(ptr + 92, undefined);
  1258        x["location"] = A.load.Enum(ptr + 96, [
  1259          "FROM_STORE",
  1260          "UNPACKED",
  1261          "THIRD_PARTY",
  1262          "INSTALLED_BY_DEFAULT",
  1263          "UNKNOWN",
  1264        ]);
  1265        x["locationText"] = A.load.Ref(ptr + 100, undefined);
  1266        x["manifestErrors"] = A.load.Ref(ptr + 104, undefined);
  1267        x["manifestHomePageUrl"] = A.load.Ref(ptr + 108, undefined);
  1268        if (A.load.Bool(ptr + 208)) {
  1269          x["mustRemainInstalled"] = A.load.Bool(ptr + 112);
  1270        } else {
  1271          delete x["mustRemainInstalled"];
  1272        }
  1273        x["name"] = A.load.Ref(ptr + 116, undefined);
  1274        if (A.load.Bool(ptr + 209)) {
  1275          x["offlineEnabled"] = A.load.Bool(ptr + 120);
  1276        } else {
  1277          delete x["offlineEnabled"];
  1278        }
  1279        if (A.load.Bool(ptr + 124 + 9)) {
  1280          x["optionsPage"] = {};
  1281          if (A.load.Bool(ptr + 124 + 8)) {
  1282            x["optionsPage"]["openInTab"] = A.load.Bool(ptr + 124 + 0);
  1283          } else {
  1284            delete x["optionsPage"]["openInTab"];
  1285          }
  1286          x["optionsPage"]["url"] = A.load.Ref(ptr + 124 + 4, undefined);
  1287        } else {
  1288          delete x["optionsPage"];
  1289        }
  1290        x["path"] = A.load.Ref(ptr + 136, undefined);
  1291        if (A.load.Bool(ptr + 140 + 20)) {
  1292          x["permissions"] = {};
  1293          x["permissions"]["simplePermissions"] = A.load.Ref(ptr + 140 + 0, undefined);
  1294          if (A.load.Bool(ptr + 140 + 4 + 13)) {
  1295            x["permissions"]["runtimeHostPermissions"] = {};
  1296            if (A.load.Bool(ptr + 140 + 4 + 12)) {
  1297              x["permissions"]["runtimeHostPermissions"]["hasAllHosts"] = A.load.Bool(ptr + 140 + 4 + 0);
  1298            } else {
  1299              delete x["permissions"]["runtimeHostPermissions"]["hasAllHosts"];
  1300            }
  1301            x["permissions"]["runtimeHostPermissions"]["hostAccess"] = A.load.Enum(ptr + 140 + 4 + 4, [
  1302              "ON_CLICK",
  1303              "ON_SPECIFIC_SITES",
  1304              "ON_ALL_SITES",
  1305            ]);
  1306            x["permissions"]["runtimeHostPermissions"]["hosts"] = A.load.Ref(ptr + 140 + 4 + 8, undefined);
  1307          } else {
  1308            delete x["permissions"]["runtimeHostPermissions"];
  1309          }
  1310          if (A.load.Bool(ptr + 140 + 19)) {
  1311            x["permissions"]["canAccessSiteData"] = A.load.Bool(ptr + 140 + 18);
  1312          } else {
  1313            delete x["permissions"]["canAccessSiteData"];
  1314          }
  1315        } else {
  1316          delete x["permissions"];
  1317        }
  1318        x["prettifiedPath"] = A.load.Ref(ptr + 164, undefined);
  1319        x["runtimeErrors"] = A.load.Ref(ptr + 168, undefined);
  1320        x["runtimeWarnings"] = A.load.Ref(ptr + 172, undefined);
  1321        x["state"] = A.load.Enum(ptr + 176, ["ENABLED", "DISABLED", "TERMINATED", "BLACKLISTED"]);
  1322        x["type"] = A.load.Enum(ptr + 180, [
  1323          "HOSTED_APP",
  1324          "PLATFORM_APP",
  1325          "LEGACY_PACKAGED_APP",
  1326          "EXTENSION",
  1327          "THEME",
  1328          "SHARED_MODULE",
  1329        ]);
  1330        x["updateUrl"] = A.load.Ref(ptr + 184, undefined);
  1331        if (A.load.Bool(ptr + 210)) {
  1332          x["userMayModify"] = A.load.Bool(ptr + 188);
  1333        } else {
  1334          delete x["userMayModify"];
  1335        }
  1336        x["version"] = A.load.Ref(ptr + 192, undefined);
  1337        x["views"] = A.load.Ref(ptr + 196, undefined);
  1338        x["webStoreUrl"] = A.load.Ref(ptr + 200, undefined);
  1339        if (A.load.Bool(ptr + 211)) {
  1340          x["showSafeBrowsingAllowlistWarning"] = A.load.Bool(ptr + 204);
  1341        } else {
  1342          delete x["showSafeBrowsingAllowlistWarning"];
  1343        }
  1344        if (A.load.Bool(ptr + 212)) {
  1345          x["showAccessRequestsInToolbar"] = A.load.Bool(ptr + 205);
  1346        } else {
  1347          delete x["showAccessRequestsInToolbar"];
  1348        }
  1349        if (A.load.Bool(ptr + 213)) {
  1350          x["acknowledgeSafetyCheckWarning"] = A.load.Bool(ptr + 206);
  1351        } else {
  1352          delete x["acknowledgeSafetyCheckWarning"];
  1353        }
  1354        if (A.load.Bool(ptr + 214)) {
  1355          x["pinnedToToolbar"] = A.load.Bool(ptr + 207);
  1356        } else {
  1357          delete x["pinnedToToolbar"];
  1358        }
  1359        return create === A.H.TRUE ? A.H.push(x) : ref;
  1360      },
  1361  
  1362      "store_EventData": (ptr: Pointer, ref: heap.Ref<any>) => {
  1363        const x = A.H.get<any>(ref);
  1364  
  1365        if (typeof x === "undefined") {
  1366          A.store.Bool(ptr + 224, false);
  1367          A.store.Enum(ptr + 0, -1);
  1368          A.store.Ref(ptr + 4, undefined);
  1369  
  1370          A.store.Bool(ptr + 8 + 215, false);
  1371          A.store.Ref(ptr + 8 + 0, undefined);
  1372  
  1373          A.store.Bool(ptr + 8 + 4 + 8, false);
  1374          A.store.Ref(ptr + 8 + 4 + 0, undefined);
  1375          A.store.Ref(ptr + 8 + 4 + 4, undefined);
  1376          A.store.Ref(ptr + 8 + 16, undefined);
  1377  
  1378          A.store.Bool(ptr + 8 + 20 + 4, false);
  1379          A.store.Ref(ptr + 8 + 20 + 0, undefined);
  1380          A.store.Ref(ptr + 8 + 28, undefined);
  1381          A.store.Ref(ptr + 8 + 32, undefined);
  1382  
  1383          A.store.Bool(ptr + 8 + 36 + 16, false);
  1384          A.store.Bool(ptr + 8 + 36 + 8, false);
  1385          A.store.Bool(ptr + 8 + 36 + 0, false);
  1386          A.store.Bool(ptr + 8 + 36 + 9, false);
  1387          A.store.Bool(ptr + 8 + 36 + 1, false);
  1388          A.store.Bool(ptr + 8 + 36 + 10, false);
  1389          A.store.Bool(ptr + 8 + 36 + 2, false);
  1390          A.store.Bool(ptr + 8 + 36 + 11, false);
  1391          A.store.Bool(ptr + 8 + 36 + 3, false);
  1392          A.store.Bool(ptr + 8 + 36 + 12, false);
  1393          A.store.Bool(ptr + 8 + 36 + 4, false);
  1394          A.store.Bool(ptr + 8 + 36 + 13, false);
  1395          A.store.Bool(ptr + 8 + 36 + 5, false);
  1396          A.store.Bool(ptr + 8 + 36 + 14, false);
  1397          A.store.Bool(ptr + 8 + 36 + 6, false);
  1398          A.store.Bool(ptr + 8 + 36 + 15, false);
  1399          A.store.Bool(ptr + 8 + 36 + 7, false);
  1400  
  1401          A.store.Bool(ptr + 8 + 53 + 4, false);
  1402          A.store.Bool(ptr + 8 + 53 + 2, false);
  1403          A.store.Bool(ptr + 8 + 53 + 0, false);
  1404          A.store.Bool(ptr + 8 + 53 + 3, false);
  1405          A.store.Bool(ptr + 8 + 53 + 1, false);
  1406  
  1407          A.store.Bool(ptr + 8 + 58 + 4, false);
  1408          A.store.Bool(ptr + 8 + 58 + 2, false);
  1409          A.store.Bool(ptr + 8 + 58 + 0, false);
  1410          A.store.Bool(ptr + 8 + 58 + 3, false);
  1411          A.store.Bool(ptr + 8 + 58 + 1, false);
  1412  
  1413          A.store.Bool(ptr + 8 + 64 + 6, false);
  1414          A.store.Ref(ptr + 8 + 64 + 0, undefined);
  1415          A.store.Bool(ptr + 8 + 64 + 5, false);
  1416          A.store.Bool(ptr + 8 + 64 + 4, false);
  1417          A.store.Ref(ptr + 8 + 72, undefined);
  1418          A.store.Ref(ptr + 8 + 76, undefined);
  1419  
  1420          A.store.Bool(ptr + 8 + 80 + 4, false);
  1421          A.store.Bool(ptr + 8 + 80 + 2, false);
  1422          A.store.Bool(ptr + 8 + 80 + 0, false);
  1423          A.store.Bool(ptr + 8 + 80 + 3, false);
  1424          A.store.Bool(ptr + 8 + 80 + 1, false);
  1425          A.store.Ref(ptr + 8 + 88, undefined);
  1426          A.store.Ref(ptr + 8 + 92, undefined);
  1427          A.store.Enum(ptr + 8 + 96, -1);
  1428          A.store.Ref(ptr + 8 + 100, undefined);
  1429          A.store.Ref(ptr + 8 + 104, undefined);
  1430          A.store.Ref(ptr + 8 + 108, undefined);
  1431          A.store.Bool(ptr + 8 + 208, false);
  1432          A.store.Bool(ptr + 8 + 112, false);
  1433          A.store.Ref(ptr + 8 + 116, undefined);
  1434          A.store.Bool(ptr + 8 + 209, false);
  1435          A.store.Bool(ptr + 8 + 120, false);
  1436  
  1437          A.store.Bool(ptr + 8 + 124 + 9, false);
  1438          A.store.Bool(ptr + 8 + 124 + 8, false);
  1439          A.store.Bool(ptr + 8 + 124 + 0, false);
  1440          A.store.Ref(ptr + 8 + 124 + 4, undefined);
  1441          A.store.Ref(ptr + 8 + 136, undefined);
  1442  
  1443          A.store.Bool(ptr + 8 + 140 + 20, false);
  1444          A.store.Ref(ptr + 8 + 140 + 0, undefined);
  1445  
  1446          A.store.Bool(ptr + 8 + 140 + 4 + 13, false);
  1447          A.store.Bool(ptr + 8 + 140 + 4 + 12, false);
  1448          A.store.Bool(ptr + 8 + 140 + 4 + 0, false);
  1449          A.store.Enum(ptr + 8 + 140 + 4 + 4, -1);
  1450          A.store.Ref(ptr + 8 + 140 + 4 + 8, undefined);
  1451          A.store.Bool(ptr + 8 + 140 + 19, false);
  1452          A.store.Bool(ptr + 8 + 140 + 18, false);
  1453          A.store.Ref(ptr + 8 + 164, undefined);
  1454          A.store.Ref(ptr + 8 + 168, undefined);
  1455          A.store.Ref(ptr + 8 + 172, undefined);
  1456          A.store.Enum(ptr + 8 + 176, -1);
  1457          A.store.Enum(ptr + 8 + 180, -1);
  1458          A.store.Ref(ptr + 8 + 184, undefined);
  1459          A.store.Bool(ptr + 8 + 210, false);
  1460          A.store.Bool(ptr + 8 + 188, false);
  1461          A.store.Ref(ptr + 8 + 192, undefined);
  1462          A.store.Ref(ptr + 8 + 196, undefined);
  1463          A.store.Ref(ptr + 8 + 200, undefined);
  1464          A.store.Bool(ptr + 8 + 211, false);
  1465          A.store.Bool(ptr + 8 + 204, false);
  1466          A.store.Bool(ptr + 8 + 212, false);
  1467          A.store.Bool(ptr + 8 + 205, false);
  1468          A.store.Bool(ptr + 8 + 213, false);
  1469          A.store.Bool(ptr + 8 + 206, false);
  1470          A.store.Bool(ptr + 8 + 214, false);
  1471          A.store.Bool(ptr + 8 + 207, false);
  1472        } else {
  1473          A.store.Bool(ptr + 224, true);
  1474          A.store.Enum(
  1475            ptr + 0,
  1476            [
  1477              "INSTALLED",
  1478              "UNINSTALLED",
  1479              "LOADED",
  1480              "UNLOADED",
  1481              "VIEW_REGISTERED",
  1482              "VIEW_UNREGISTERED",
  1483              "ERROR_ADDED",
  1484              "ERRORS_REMOVED",
  1485              "PREFS_CHANGED",
  1486              "WARNINGS_CHANGED",
  1487              "COMMAND_ADDED",
  1488              "COMMAND_REMOVED",
  1489              "PERMISSIONS_CHANGED",
  1490              "SERVICE_WORKER_STARTED",
  1491              "SERVICE_WORKER_STOPPED",
  1492              "CONFIGURATION_CHANGED",
  1493              "PINNED_ACTIONS_CHANGED",
  1494            ].indexOf(x["event_type"] as string)
  1495          );
  1496          A.store.Ref(ptr + 4, x["item_id"]);
  1497  
  1498          if (typeof x["extensionInfo"] === "undefined") {
  1499            A.store.Bool(ptr + 8 + 215, false);
  1500            A.store.Ref(ptr + 8 + 0, undefined);
  1501  
  1502            A.store.Bool(ptr + 8 + 4 + 8, false);
  1503            A.store.Ref(ptr + 8 + 4 + 0, undefined);
  1504            A.store.Ref(ptr + 8 + 4 + 4, undefined);
  1505            A.store.Ref(ptr + 8 + 16, undefined);
  1506  
  1507            A.store.Bool(ptr + 8 + 20 + 4, false);
  1508            A.store.Ref(ptr + 8 + 20 + 0, undefined);
  1509            A.store.Ref(ptr + 8 + 28, undefined);
  1510            A.store.Ref(ptr + 8 + 32, undefined);
  1511  
  1512            A.store.Bool(ptr + 8 + 36 + 16, false);
  1513            A.store.Bool(ptr + 8 + 36 + 8, false);
  1514            A.store.Bool(ptr + 8 + 36 + 0, false);
  1515            A.store.Bool(ptr + 8 + 36 + 9, false);
  1516            A.store.Bool(ptr + 8 + 36 + 1, false);
  1517            A.store.Bool(ptr + 8 + 36 + 10, false);
  1518            A.store.Bool(ptr + 8 + 36 + 2, false);
  1519            A.store.Bool(ptr + 8 + 36 + 11, false);
  1520            A.store.Bool(ptr + 8 + 36 + 3, false);
  1521            A.store.Bool(ptr + 8 + 36 + 12, false);
  1522            A.store.Bool(ptr + 8 + 36 + 4, false);
  1523            A.store.Bool(ptr + 8 + 36 + 13, false);
  1524            A.store.Bool(ptr + 8 + 36 + 5, false);
  1525            A.store.Bool(ptr + 8 + 36 + 14, false);
  1526            A.store.Bool(ptr + 8 + 36 + 6, false);
  1527            A.store.Bool(ptr + 8 + 36 + 15, false);
  1528            A.store.Bool(ptr + 8 + 36 + 7, false);
  1529  
  1530            A.store.Bool(ptr + 8 + 53 + 4, false);
  1531            A.store.Bool(ptr + 8 + 53 + 2, false);
  1532            A.store.Bool(ptr + 8 + 53 + 0, false);
  1533            A.store.Bool(ptr + 8 + 53 + 3, false);
  1534            A.store.Bool(ptr + 8 + 53 + 1, false);
  1535  
  1536            A.store.Bool(ptr + 8 + 58 + 4, false);
  1537            A.store.Bool(ptr + 8 + 58 + 2, false);
  1538            A.store.Bool(ptr + 8 + 58 + 0, false);
  1539            A.store.Bool(ptr + 8 + 58 + 3, false);
  1540            A.store.Bool(ptr + 8 + 58 + 1, false);
  1541  
  1542            A.store.Bool(ptr + 8 + 64 + 6, false);
  1543            A.store.Ref(ptr + 8 + 64 + 0, undefined);
  1544            A.store.Bool(ptr + 8 + 64 + 5, false);
  1545            A.store.Bool(ptr + 8 + 64 + 4, false);
  1546            A.store.Ref(ptr + 8 + 72, undefined);
  1547            A.store.Ref(ptr + 8 + 76, undefined);
  1548  
  1549            A.store.Bool(ptr + 8 + 80 + 4, false);
  1550            A.store.Bool(ptr + 8 + 80 + 2, false);
  1551            A.store.Bool(ptr + 8 + 80 + 0, false);
  1552            A.store.Bool(ptr + 8 + 80 + 3, false);
  1553            A.store.Bool(ptr + 8 + 80 + 1, false);
  1554            A.store.Ref(ptr + 8 + 88, undefined);
  1555            A.store.Ref(ptr + 8 + 92, undefined);
  1556            A.store.Enum(ptr + 8 + 96, -1);
  1557            A.store.Ref(ptr + 8 + 100, undefined);
  1558            A.store.Ref(ptr + 8 + 104, undefined);
  1559            A.store.Ref(ptr + 8 + 108, undefined);
  1560            A.store.Bool(ptr + 8 + 208, false);
  1561            A.store.Bool(ptr + 8 + 112, false);
  1562            A.store.Ref(ptr + 8 + 116, undefined);
  1563            A.store.Bool(ptr + 8 + 209, false);
  1564            A.store.Bool(ptr + 8 + 120, false);
  1565  
  1566            A.store.Bool(ptr + 8 + 124 + 9, false);
  1567            A.store.Bool(ptr + 8 + 124 + 8, false);
  1568            A.store.Bool(ptr + 8 + 124 + 0, false);
  1569            A.store.Ref(ptr + 8 + 124 + 4, undefined);
  1570            A.store.Ref(ptr + 8 + 136, undefined);
  1571  
  1572            A.store.Bool(ptr + 8 + 140 + 20, false);
  1573            A.store.Ref(ptr + 8 + 140 + 0, undefined);
  1574  
  1575            A.store.Bool(ptr + 8 + 140 + 4 + 13, false);
  1576            A.store.Bool(ptr + 8 + 140 + 4 + 12, false);
  1577            A.store.Bool(ptr + 8 + 140 + 4 + 0, false);
  1578            A.store.Enum(ptr + 8 + 140 + 4 + 4, -1);
  1579            A.store.Ref(ptr + 8 + 140 + 4 + 8, undefined);
  1580            A.store.Bool(ptr + 8 + 140 + 19, false);
  1581            A.store.Bool(ptr + 8 + 140 + 18, false);
  1582            A.store.Ref(ptr + 8 + 164, undefined);
  1583            A.store.Ref(ptr + 8 + 168, undefined);
  1584            A.store.Ref(ptr + 8 + 172, undefined);
  1585            A.store.Enum(ptr + 8 + 176, -1);
  1586            A.store.Enum(ptr + 8 + 180, -1);
  1587            A.store.Ref(ptr + 8 + 184, undefined);
  1588            A.store.Bool(ptr + 8 + 210, false);
  1589            A.store.Bool(ptr + 8 + 188, false);
  1590            A.store.Ref(ptr + 8 + 192, undefined);
  1591            A.store.Ref(ptr + 8 + 196, undefined);
  1592            A.store.Ref(ptr + 8 + 200, undefined);
  1593            A.store.Bool(ptr + 8 + 211, false);
  1594            A.store.Bool(ptr + 8 + 204, false);
  1595            A.store.Bool(ptr + 8 + 212, false);
  1596            A.store.Bool(ptr + 8 + 205, false);
  1597            A.store.Bool(ptr + 8 + 213, false);
  1598            A.store.Bool(ptr + 8 + 206, false);
  1599            A.store.Bool(ptr + 8 + 214, false);
  1600            A.store.Bool(ptr + 8 + 207, false);
  1601          } else {
  1602            A.store.Bool(ptr + 8 + 215, true);
  1603            A.store.Ref(ptr + 8 + 0, x["extensionInfo"]["blacklistText"]);
  1604  
  1605            if (typeof x["extensionInfo"]["safetyCheckText"] === "undefined") {
  1606              A.store.Bool(ptr + 8 + 4 + 8, false);
  1607              A.store.Ref(ptr + 8 + 4 + 0, undefined);
  1608              A.store.Ref(ptr + 8 + 4 + 4, undefined);
  1609            } else {
  1610              A.store.Bool(ptr + 8 + 4 + 8, true);
  1611              A.store.Ref(ptr + 8 + 4 + 0, x["extensionInfo"]["safetyCheckText"]["panelString"]);
  1612              A.store.Ref(ptr + 8 + 4 + 4, x["extensionInfo"]["safetyCheckText"]["detailString"]);
  1613            }
  1614            A.store.Ref(ptr + 8 + 16, x["extensionInfo"]["commands"]);
  1615  
  1616            if (typeof x["extensionInfo"]["controlledInfo"] === "undefined") {
  1617              A.store.Bool(ptr + 8 + 20 + 4, false);
  1618              A.store.Ref(ptr + 8 + 20 + 0, undefined);
  1619            } else {
  1620              A.store.Bool(ptr + 8 + 20 + 4, true);
  1621              A.store.Ref(ptr + 8 + 20 + 0, x["extensionInfo"]["controlledInfo"]["text"]);
  1622            }
  1623            A.store.Ref(ptr + 8 + 28, x["extensionInfo"]["dependentExtensions"]);
  1624            A.store.Ref(ptr + 8 + 32, x["extensionInfo"]["description"]);
  1625  
  1626            if (typeof x["extensionInfo"]["disableReasons"] === "undefined") {
  1627              A.store.Bool(ptr + 8 + 36 + 16, false);
  1628              A.store.Bool(ptr + 8 + 36 + 8, false);
  1629              A.store.Bool(ptr + 8 + 36 + 0, false);
  1630              A.store.Bool(ptr + 8 + 36 + 9, false);
  1631              A.store.Bool(ptr + 8 + 36 + 1, false);
  1632              A.store.Bool(ptr + 8 + 36 + 10, false);
  1633              A.store.Bool(ptr + 8 + 36 + 2, false);
  1634              A.store.Bool(ptr + 8 + 36 + 11, false);
  1635              A.store.Bool(ptr + 8 + 36 + 3, false);
  1636              A.store.Bool(ptr + 8 + 36 + 12, false);
  1637              A.store.Bool(ptr + 8 + 36 + 4, false);
  1638              A.store.Bool(ptr + 8 + 36 + 13, false);
  1639              A.store.Bool(ptr + 8 + 36 + 5, false);
  1640              A.store.Bool(ptr + 8 + 36 + 14, false);
  1641              A.store.Bool(ptr + 8 + 36 + 6, false);
  1642              A.store.Bool(ptr + 8 + 36 + 15, false);
  1643              A.store.Bool(ptr + 8 + 36 + 7, false);
  1644            } else {
  1645              A.store.Bool(ptr + 8 + 36 + 16, true);
  1646              A.store.Bool(ptr + 8 + 36 + 8, "suspiciousInstall" in x["extensionInfo"]["disableReasons"] ? true : false);
  1647              A.store.Bool(ptr + 8 + 36 + 0, x["extensionInfo"]["disableReasons"]["suspiciousInstall"] ? true : false);
  1648              A.store.Bool(ptr + 8 + 36 + 9, "corruptInstall" in x["extensionInfo"]["disableReasons"] ? true : false);
  1649              A.store.Bool(ptr + 8 + 36 + 1, x["extensionInfo"]["disableReasons"]["corruptInstall"] ? true : false);
  1650              A.store.Bool(ptr + 8 + 36 + 10, "updateRequired" in x["extensionInfo"]["disableReasons"] ? true : false);
  1651              A.store.Bool(ptr + 8 + 36 + 2, x["extensionInfo"]["disableReasons"]["updateRequired"] ? true : false);
  1652              A.store.Bool(
  1653                ptr + 8 + 36 + 11,
  1654                "publishedInStoreRequired" in x["extensionInfo"]["disableReasons"] ? true : false
  1655              );
  1656              A.store.Bool(
  1657                ptr + 8 + 36 + 3,
  1658                x["extensionInfo"]["disableReasons"]["publishedInStoreRequired"] ? true : false
  1659              );
  1660              A.store.Bool(ptr + 8 + 36 + 12, "blockedByPolicy" in x["extensionInfo"]["disableReasons"] ? true : false);
  1661              A.store.Bool(ptr + 8 + 36 + 4, x["extensionInfo"]["disableReasons"]["blockedByPolicy"] ? true : false);
  1662              A.store.Bool(ptr + 8 + 36 + 13, "reloading" in x["extensionInfo"]["disableReasons"] ? true : false);
  1663              A.store.Bool(ptr + 8 + 36 + 5, x["extensionInfo"]["disableReasons"]["reloading"] ? true : false);
  1664              A.store.Bool(
  1665                ptr + 8 + 36 + 14,
  1666                "custodianApprovalRequired" in x["extensionInfo"]["disableReasons"] ? true : false
  1667              );
  1668              A.store.Bool(
  1669                ptr + 8 + 36 + 6,
  1670                x["extensionInfo"]["disableReasons"]["custodianApprovalRequired"] ? true : false
  1671              );
  1672              A.store.Bool(
  1673                ptr + 8 + 36 + 15,
  1674                "parentDisabledPermissions" in x["extensionInfo"]["disableReasons"] ? true : false
  1675              );
  1676              A.store.Bool(
  1677                ptr + 8 + 36 + 7,
  1678                x["extensionInfo"]["disableReasons"]["parentDisabledPermissions"] ? true : false
  1679              );
  1680            }
  1681  
  1682            if (typeof x["extensionInfo"]["errorCollection"] === "undefined") {
  1683              A.store.Bool(ptr + 8 + 53 + 4, false);
  1684              A.store.Bool(ptr + 8 + 53 + 2, false);
  1685              A.store.Bool(ptr + 8 + 53 + 0, false);
  1686              A.store.Bool(ptr + 8 + 53 + 3, false);
  1687              A.store.Bool(ptr + 8 + 53 + 1, false);
  1688            } else {
  1689              A.store.Bool(ptr + 8 + 53 + 4, true);
  1690              A.store.Bool(ptr + 8 + 53 + 2, "isEnabled" in x["extensionInfo"]["errorCollection"] ? true : false);
  1691              A.store.Bool(ptr + 8 + 53 + 0, x["extensionInfo"]["errorCollection"]["isEnabled"] ? true : false);
  1692              A.store.Bool(ptr + 8 + 53 + 3, "isActive" in x["extensionInfo"]["errorCollection"] ? true : false);
  1693              A.store.Bool(ptr + 8 + 53 + 1, x["extensionInfo"]["errorCollection"]["isActive"] ? true : false);
  1694            }
  1695  
  1696            if (typeof x["extensionInfo"]["fileAccess"] === "undefined") {
  1697              A.store.Bool(ptr + 8 + 58 + 4, false);
  1698              A.store.Bool(ptr + 8 + 58 + 2, false);
  1699              A.store.Bool(ptr + 8 + 58 + 0, false);
  1700              A.store.Bool(ptr + 8 + 58 + 3, false);
  1701              A.store.Bool(ptr + 8 + 58 + 1, false);
  1702            } else {
  1703              A.store.Bool(ptr + 8 + 58 + 4, true);
  1704              A.store.Bool(ptr + 8 + 58 + 2, "isEnabled" in x["extensionInfo"]["fileAccess"] ? true : false);
  1705              A.store.Bool(ptr + 8 + 58 + 0, x["extensionInfo"]["fileAccess"]["isEnabled"] ? true : false);
  1706              A.store.Bool(ptr + 8 + 58 + 3, "isActive" in x["extensionInfo"]["fileAccess"] ? true : false);
  1707              A.store.Bool(ptr + 8 + 58 + 1, x["extensionInfo"]["fileAccess"]["isActive"] ? true : false);
  1708            }
  1709  
  1710            if (typeof x["extensionInfo"]["homePage"] === "undefined") {
  1711              A.store.Bool(ptr + 8 + 64 + 6, false);
  1712              A.store.Ref(ptr + 8 + 64 + 0, undefined);
  1713              A.store.Bool(ptr + 8 + 64 + 5, false);
  1714              A.store.Bool(ptr + 8 + 64 + 4, false);
  1715            } else {
  1716              A.store.Bool(ptr + 8 + 64 + 6, true);
  1717              A.store.Ref(ptr + 8 + 64 + 0, x["extensionInfo"]["homePage"]["url"]);
  1718              A.store.Bool(ptr + 8 + 64 + 5, "specified" in x["extensionInfo"]["homePage"] ? true : false);
  1719              A.store.Bool(ptr + 8 + 64 + 4, x["extensionInfo"]["homePage"]["specified"] ? true : false);
  1720            }
  1721            A.store.Ref(ptr + 8 + 72, x["extensionInfo"]["iconUrl"]);
  1722            A.store.Ref(ptr + 8 + 76, x["extensionInfo"]["id"]);
  1723  
  1724            if (typeof x["extensionInfo"]["incognitoAccess"] === "undefined") {
  1725              A.store.Bool(ptr + 8 + 80 + 4, false);
  1726              A.store.Bool(ptr + 8 + 80 + 2, false);
  1727              A.store.Bool(ptr + 8 + 80 + 0, false);
  1728              A.store.Bool(ptr + 8 + 80 + 3, false);
  1729              A.store.Bool(ptr + 8 + 80 + 1, false);
  1730            } else {
  1731              A.store.Bool(ptr + 8 + 80 + 4, true);
  1732              A.store.Bool(ptr + 8 + 80 + 2, "isEnabled" in x["extensionInfo"]["incognitoAccess"] ? true : false);
  1733              A.store.Bool(ptr + 8 + 80 + 0, x["extensionInfo"]["incognitoAccess"]["isEnabled"] ? true : false);
  1734              A.store.Bool(ptr + 8 + 80 + 3, "isActive" in x["extensionInfo"]["incognitoAccess"] ? true : false);
  1735              A.store.Bool(ptr + 8 + 80 + 1, x["extensionInfo"]["incognitoAccess"]["isActive"] ? true : false);
  1736            }
  1737            A.store.Ref(ptr + 8 + 88, x["extensionInfo"]["installWarnings"]);
  1738            A.store.Ref(ptr + 8 + 92, x["extensionInfo"]["launchUrl"]);
  1739            A.store.Enum(
  1740              ptr + 8 + 96,
  1741              ["FROM_STORE", "UNPACKED", "THIRD_PARTY", "INSTALLED_BY_DEFAULT", "UNKNOWN"].indexOf(
  1742                x["extensionInfo"]["location"] as string
  1743              )
  1744            );
  1745            A.store.Ref(ptr + 8 + 100, x["extensionInfo"]["locationText"]);
  1746            A.store.Ref(ptr + 8 + 104, x["extensionInfo"]["manifestErrors"]);
  1747            A.store.Ref(ptr + 8 + 108, x["extensionInfo"]["manifestHomePageUrl"]);
  1748            A.store.Bool(ptr + 8 + 208, "mustRemainInstalled" in x["extensionInfo"] ? true : false);
  1749            A.store.Bool(ptr + 8 + 112, x["extensionInfo"]["mustRemainInstalled"] ? true : false);
  1750            A.store.Ref(ptr + 8 + 116, x["extensionInfo"]["name"]);
  1751            A.store.Bool(ptr + 8 + 209, "offlineEnabled" in x["extensionInfo"] ? true : false);
  1752            A.store.Bool(ptr + 8 + 120, x["extensionInfo"]["offlineEnabled"] ? true : false);
  1753  
  1754            if (typeof x["extensionInfo"]["optionsPage"] === "undefined") {
  1755              A.store.Bool(ptr + 8 + 124 + 9, false);
  1756              A.store.Bool(ptr + 8 + 124 + 8, false);
  1757              A.store.Bool(ptr + 8 + 124 + 0, false);
  1758              A.store.Ref(ptr + 8 + 124 + 4, undefined);
  1759            } else {
  1760              A.store.Bool(ptr + 8 + 124 + 9, true);
  1761              A.store.Bool(ptr + 8 + 124 + 8, "openInTab" in x["extensionInfo"]["optionsPage"] ? true : false);
  1762              A.store.Bool(ptr + 8 + 124 + 0, x["extensionInfo"]["optionsPage"]["openInTab"] ? true : false);
  1763              A.store.Ref(ptr + 8 + 124 + 4, x["extensionInfo"]["optionsPage"]["url"]);
  1764            }
  1765            A.store.Ref(ptr + 8 + 136, x["extensionInfo"]["path"]);
  1766  
  1767            if (typeof x["extensionInfo"]["permissions"] === "undefined") {
  1768              A.store.Bool(ptr + 8 + 140 + 20, false);
  1769              A.store.Ref(ptr + 8 + 140 + 0, undefined);
  1770  
  1771              A.store.Bool(ptr + 8 + 140 + 4 + 13, false);
  1772              A.store.Bool(ptr + 8 + 140 + 4 + 12, false);
  1773              A.store.Bool(ptr + 8 + 140 + 4 + 0, false);
  1774              A.store.Enum(ptr + 8 + 140 + 4 + 4, -1);
  1775              A.store.Ref(ptr + 8 + 140 + 4 + 8, undefined);
  1776              A.store.Bool(ptr + 8 + 140 + 19, false);
  1777              A.store.Bool(ptr + 8 + 140 + 18, false);
  1778            } else {
  1779              A.store.Bool(ptr + 8 + 140 + 20, true);
  1780              A.store.Ref(ptr + 8 + 140 + 0, x["extensionInfo"]["permissions"]["simplePermissions"]);
  1781  
  1782              if (typeof x["extensionInfo"]["permissions"]["runtimeHostPermissions"] === "undefined") {
  1783                A.store.Bool(ptr + 8 + 140 + 4 + 13, false);
  1784                A.store.Bool(ptr + 8 + 140 + 4 + 12, false);
  1785                A.store.Bool(ptr + 8 + 140 + 4 + 0, false);
  1786                A.store.Enum(ptr + 8 + 140 + 4 + 4, -1);
  1787                A.store.Ref(ptr + 8 + 140 + 4 + 8, undefined);
  1788              } else {
  1789                A.store.Bool(ptr + 8 + 140 + 4 + 13, true);
  1790                A.store.Bool(
  1791                  ptr + 8 + 140 + 4 + 12,
  1792                  "hasAllHosts" in x["extensionInfo"]["permissions"]["runtimeHostPermissions"] ? true : false
  1793                );
  1794                A.store.Bool(
  1795                  ptr + 8 + 140 + 4 + 0,
  1796                  x["extensionInfo"]["permissions"]["runtimeHostPermissions"]["hasAllHosts"] ? true : false
  1797                );
  1798                A.store.Enum(
  1799                  ptr + 8 + 140 + 4 + 4,
  1800                  ["ON_CLICK", "ON_SPECIFIC_SITES", "ON_ALL_SITES"].indexOf(
  1801                    x["extensionInfo"]["permissions"]["runtimeHostPermissions"]["hostAccess"] as string
  1802                  )
  1803                );
  1804                A.store.Ref(ptr + 8 + 140 + 4 + 8, x["extensionInfo"]["permissions"]["runtimeHostPermissions"]["hosts"]);
  1805              }
  1806              A.store.Bool(ptr + 8 + 140 + 19, "canAccessSiteData" in x["extensionInfo"]["permissions"] ? true : false);
  1807              A.store.Bool(ptr + 8 + 140 + 18, x["extensionInfo"]["permissions"]["canAccessSiteData"] ? true : false);
  1808            }
  1809            A.store.Ref(ptr + 8 + 164, x["extensionInfo"]["prettifiedPath"]);
  1810            A.store.Ref(ptr + 8 + 168, x["extensionInfo"]["runtimeErrors"]);
  1811            A.store.Ref(ptr + 8 + 172, x["extensionInfo"]["runtimeWarnings"]);
  1812            A.store.Enum(
  1813              ptr + 8 + 176,
  1814              ["ENABLED", "DISABLED", "TERMINATED", "BLACKLISTED"].indexOf(x["extensionInfo"]["state"] as string)
  1815            );
  1816            A.store.Enum(
  1817              ptr + 8 + 180,
  1818              ["HOSTED_APP", "PLATFORM_APP", "LEGACY_PACKAGED_APP", "EXTENSION", "THEME", "SHARED_MODULE"].indexOf(
  1819                x["extensionInfo"]["type"] as string
  1820              )
  1821            );
  1822            A.store.Ref(ptr + 8 + 184, x["extensionInfo"]["updateUrl"]);
  1823            A.store.Bool(ptr + 8 + 210, "userMayModify" in x["extensionInfo"] ? true : false);
  1824            A.store.Bool(ptr + 8 + 188, x["extensionInfo"]["userMayModify"] ? true : false);
  1825            A.store.Ref(ptr + 8 + 192, x["extensionInfo"]["version"]);
  1826            A.store.Ref(ptr + 8 + 196, x["extensionInfo"]["views"]);
  1827            A.store.Ref(ptr + 8 + 200, x["extensionInfo"]["webStoreUrl"]);
  1828            A.store.Bool(ptr + 8 + 211, "showSafeBrowsingAllowlistWarning" in x["extensionInfo"] ? true : false);
  1829            A.store.Bool(ptr + 8 + 204, x["extensionInfo"]["showSafeBrowsingAllowlistWarning"] ? true : false);
  1830            A.store.Bool(ptr + 8 + 212, "showAccessRequestsInToolbar" in x["extensionInfo"] ? true : false);
  1831            A.store.Bool(ptr + 8 + 205, x["extensionInfo"]["showAccessRequestsInToolbar"] ? true : false);
  1832            A.store.Bool(ptr + 8 + 213, "acknowledgeSafetyCheckWarning" in x["extensionInfo"] ? true : false);
  1833            A.store.Bool(ptr + 8 + 206, x["extensionInfo"]["acknowledgeSafetyCheckWarning"] ? true : false);
  1834            A.store.Bool(ptr + 8 + 214, "pinnedToToolbar" in x["extensionInfo"] ? true : false);
  1835            A.store.Bool(ptr + 8 + 207, x["extensionInfo"]["pinnedToToolbar"] ? true : false);
  1836          }
  1837        }
  1838      },
  1839      "load_EventData": (ptr: Pointer, create: heap.Ref<boolean>, ref: heap.Ref<any>): heap.Ref<any> => {
  1840        const x = create === A.H.TRUE ? {} : A.H.get<any>(ref);
  1841  
  1842        x["event_type"] = A.load.Enum(ptr + 0, [
  1843          "INSTALLED",
  1844          "UNINSTALLED",
  1845          "LOADED",
  1846          "UNLOADED",
  1847          "VIEW_REGISTERED",
  1848          "VIEW_UNREGISTERED",
  1849          "ERROR_ADDED",
  1850          "ERRORS_REMOVED",
  1851          "PREFS_CHANGED",
  1852          "WARNINGS_CHANGED",
  1853          "COMMAND_ADDED",
  1854          "COMMAND_REMOVED",
  1855          "PERMISSIONS_CHANGED",
  1856          "SERVICE_WORKER_STARTED",
  1857          "SERVICE_WORKER_STOPPED",
  1858          "CONFIGURATION_CHANGED",
  1859          "PINNED_ACTIONS_CHANGED",
  1860        ]);
  1861        x["item_id"] = A.load.Ref(ptr + 4, undefined);
  1862        if (A.load.Bool(ptr + 8 + 215)) {
  1863          x["extensionInfo"] = {};
  1864          x["extensionInfo"]["blacklistText"] = A.load.Ref(ptr + 8 + 0, undefined);
  1865          if (A.load.Bool(ptr + 8 + 4 + 8)) {
  1866            x["extensionInfo"]["safetyCheckText"] = {};
  1867            x["extensionInfo"]["safetyCheckText"]["panelString"] = A.load.Ref(ptr + 8 + 4 + 0, undefined);
  1868            x["extensionInfo"]["safetyCheckText"]["detailString"] = A.load.Ref(ptr + 8 + 4 + 4, undefined);
  1869          } else {
  1870            delete x["extensionInfo"]["safetyCheckText"];
  1871          }
  1872          x["extensionInfo"]["commands"] = A.load.Ref(ptr + 8 + 16, undefined);
  1873          if (A.load.Bool(ptr + 8 + 20 + 4)) {
  1874            x["extensionInfo"]["controlledInfo"] = {};
  1875            x["extensionInfo"]["controlledInfo"]["text"] = A.load.Ref(ptr + 8 + 20 + 0, undefined);
  1876          } else {
  1877            delete x["extensionInfo"]["controlledInfo"];
  1878          }
  1879          x["extensionInfo"]["dependentExtensions"] = A.load.Ref(ptr + 8 + 28, undefined);
  1880          x["extensionInfo"]["description"] = A.load.Ref(ptr + 8 + 32, undefined);
  1881          if (A.load.Bool(ptr + 8 + 36 + 16)) {
  1882            x["extensionInfo"]["disableReasons"] = {};
  1883            if (A.load.Bool(ptr + 8 + 36 + 8)) {
  1884              x["extensionInfo"]["disableReasons"]["suspiciousInstall"] = A.load.Bool(ptr + 8 + 36 + 0);
  1885            } else {
  1886              delete x["extensionInfo"]["disableReasons"]["suspiciousInstall"];
  1887            }
  1888            if (A.load.Bool(ptr + 8 + 36 + 9)) {
  1889              x["extensionInfo"]["disableReasons"]["corruptInstall"] = A.load.Bool(ptr + 8 + 36 + 1);
  1890            } else {
  1891              delete x["extensionInfo"]["disableReasons"]["corruptInstall"];
  1892            }
  1893            if (A.load.Bool(ptr + 8 + 36 + 10)) {
  1894              x["extensionInfo"]["disableReasons"]["updateRequired"] = A.load.Bool(ptr + 8 + 36 + 2);
  1895            } else {
  1896              delete x["extensionInfo"]["disableReasons"]["updateRequired"];
  1897            }
  1898            if (A.load.Bool(ptr + 8 + 36 + 11)) {
  1899              x["extensionInfo"]["disableReasons"]["publishedInStoreRequired"] = A.load.Bool(ptr + 8 + 36 + 3);
  1900            } else {
  1901              delete x["extensionInfo"]["disableReasons"]["publishedInStoreRequired"];
  1902            }
  1903            if (A.load.Bool(ptr + 8 + 36 + 12)) {
  1904              x["extensionInfo"]["disableReasons"]["blockedByPolicy"] = A.load.Bool(ptr + 8 + 36 + 4);
  1905            } else {
  1906              delete x["extensionInfo"]["disableReasons"]["blockedByPolicy"];
  1907            }
  1908            if (A.load.Bool(ptr + 8 + 36 + 13)) {
  1909              x["extensionInfo"]["disableReasons"]["reloading"] = A.load.Bool(ptr + 8 + 36 + 5);
  1910            } else {
  1911              delete x["extensionInfo"]["disableReasons"]["reloading"];
  1912            }
  1913            if (A.load.Bool(ptr + 8 + 36 + 14)) {
  1914              x["extensionInfo"]["disableReasons"]["custodianApprovalRequired"] = A.load.Bool(ptr + 8 + 36 + 6);
  1915            } else {
  1916              delete x["extensionInfo"]["disableReasons"]["custodianApprovalRequired"];
  1917            }
  1918            if (A.load.Bool(ptr + 8 + 36 + 15)) {
  1919              x["extensionInfo"]["disableReasons"]["parentDisabledPermissions"] = A.load.Bool(ptr + 8 + 36 + 7);
  1920            } else {
  1921              delete x["extensionInfo"]["disableReasons"]["parentDisabledPermissions"];
  1922            }
  1923          } else {
  1924            delete x["extensionInfo"]["disableReasons"];
  1925          }
  1926          if (A.load.Bool(ptr + 8 + 53 + 4)) {
  1927            x["extensionInfo"]["errorCollection"] = {};
  1928            if (A.load.Bool(ptr + 8 + 53 + 2)) {
  1929              x["extensionInfo"]["errorCollection"]["isEnabled"] = A.load.Bool(ptr + 8 + 53 + 0);
  1930            } else {
  1931              delete x["extensionInfo"]["errorCollection"]["isEnabled"];
  1932            }
  1933            if (A.load.Bool(ptr + 8 + 53 + 3)) {
  1934              x["extensionInfo"]["errorCollection"]["isActive"] = A.load.Bool(ptr + 8 + 53 + 1);
  1935            } else {
  1936              delete x["extensionInfo"]["errorCollection"]["isActive"];
  1937            }
  1938          } else {
  1939            delete x["extensionInfo"]["errorCollection"];
  1940          }
  1941          if (A.load.Bool(ptr + 8 + 58 + 4)) {
  1942            x["extensionInfo"]["fileAccess"] = {};
  1943            if (A.load.Bool(ptr + 8 + 58 + 2)) {
  1944              x["extensionInfo"]["fileAccess"]["isEnabled"] = A.load.Bool(ptr + 8 + 58 + 0);
  1945            } else {
  1946              delete x["extensionInfo"]["fileAccess"]["isEnabled"];
  1947            }
  1948            if (A.load.Bool(ptr + 8 + 58 + 3)) {
  1949              x["extensionInfo"]["fileAccess"]["isActive"] = A.load.Bool(ptr + 8 + 58 + 1);
  1950            } else {
  1951              delete x["extensionInfo"]["fileAccess"]["isActive"];
  1952            }
  1953          } else {
  1954            delete x["extensionInfo"]["fileAccess"];
  1955          }
  1956          if (A.load.Bool(ptr + 8 + 64 + 6)) {
  1957            x["extensionInfo"]["homePage"] = {};
  1958            x["extensionInfo"]["homePage"]["url"] = A.load.Ref(ptr + 8 + 64 + 0, undefined);
  1959            if (A.load.Bool(ptr + 8 + 64 + 5)) {
  1960              x["extensionInfo"]["homePage"]["specified"] = A.load.Bool(ptr + 8 + 64 + 4);
  1961            } else {
  1962              delete x["extensionInfo"]["homePage"]["specified"];
  1963            }
  1964          } else {
  1965            delete x["extensionInfo"]["homePage"];
  1966          }
  1967          x["extensionInfo"]["iconUrl"] = A.load.Ref(ptr + 8 + 72, undefined);
  1968          x["extensionInfo"]["id"] = A.load.Ref(ptr + 8 + 76, undefined);
  1969          if (A.load.Bool(ptr + 8 + 80 + 4)) {
  1970            x["extensionInfo"]["incognitoAccess"] = {};
  1971            if (A.load.Bool(ptr + 8 + 80 + 2)) {
  1972              x["extensionInfo"]["incognitoAccess"]["isEnabled"] = A.load.Bool(ptr + 8 + 80 + 0);
  1973            } else {
  1974              delete x["extensionInfo"]["incognitoAccess"]["isEnabled"];
  1975            }
  1976            if (A.load.Bool(ptr + 8 + 80 + 3)) {
  1977              x["extensionInfo"]["incognitoAccess"]["isActive"] = A.load.Bool(ptr + 8 + 80 + 1);
  1978            } else {
  1979              delete x["extensionInfo"]["incognitoAccess"]["isActive"];
  1980            }
  1981          } else {
  1982            delete x["extensionInfo"]["incognitoAccess"];
  1983          }
  1984          x["extensionInfo"]["installWarnings"] = A.load.Ref(ptr + 8 + 88, undefined);
  1985          x["extensionInfo"]["launchUrl"] = A.load.Ref(ptr + 8 + 92, undefined);
  1986          x["extensionInfo"]["location"] = A.load.Enum(ptr + 8 + 96, [
  1987            "FROM_STORE",
  1988            "UNPACKED",
  1989            "THIRD_PARTY",
  1990            "INSTALLED_BY_DEFAULT",
  1991            "UNKNOWN",
  1992          ]);
  1993          x["extensionInfo"]["locationText"] = A.load.Ref(ptr + 8 + 100, undefined);
  1994          x["extensionInfo"]["manifestErrors"] = A.load.Ref(ptr + 8 + 104, undefined);
  1995          x["extensionInfo"]["manifestHomePageUrl"] = A.load.Ref(ptr + 8 + 108, undefined);
  1996          if (A.load.Bool(ptr + 8 + 208)) {
  1997            x["extensionInfo"]["mustRemainInstalled"] = A.load.Bool(ptr + 8 + 112);
  1998          } else {
  1999            delete x["extensionInfo"]["mustRemainInstalled"];
  2000          }
  2001          x["extensionInfo"]["name"] = A.load.Ref(ptr + 8 + 116, undefined);
  2002          if (A.load.Bool(ptr + 8 + 209)) {
  2003            x["extensionInfo"]["offlineEnabled"] = A.load.Bool(ptr + 8 + 120);
  2004          } else {
  2005            delete x["extensionInfo"]["offlineEnabled"];
  2006          }
  2007          if (A.load.Bool(ptr + 8 + 124 + 9)) {
  2008            x["extensionInfo"]["optionsPage"] = {};
  2009            if (A.load.Bool(ptr + 8 + 124 + 8)) {
  2010              x["extensionInfo"]["optionsPage"]["openInTab"] = A.load.Bool(ptr + 8 + 124 + 0);
  2011            } else {
  2012              delete x["extensionInfo"]["optionsPage"]["openInTab"];
  2013            }
  2014            x["extensionInfo"]["optionsPage"]["url"] = A.load.Ref(ptr + 8 + 124 + 4, undefined);
  2015          } else {
  2016            delete x["extensionInfo"]["optionsPage"];
  2017          }
  2018          x["extensionInfo"]["path"] = A.load.Ref(ptr + 8 + 136, undefined);
  2019          if (A.load.Bool(ptr + 8 + 140 + 20)) {
  2020            x["extensionInfo"]["permissions"] = {};
  2021            x["extensionInfo"]["permissions"]["simplePermissions"] = A.load.Ref(ptr + 8 + 140 + 0, undefined);
  2022            if (A.load.Bool(ptr + 8 + 140 + 4 + 13)) {
  2023              x["extensionInfo"]["permissions"]["runtimeHostPermissions"] = {};
  2024              if (A.load.Bool(ptr + 8 + 140 + 4 + 12)) {
  2025                x["extensionInfo"]["permissions"]["runtimeHostPermissions"]["hasAllHosts"] = A.load.Bool(
  2026                  ptr + 8 + 140 + 4 + 0
  2027                );
  2028              } else {
  2029                delete x["extensionInfo"]["permissions"]["runtimeHostPermissions"]["hasAllHosts"];
  2030              }
  2031              x["extensionInfo"]["permissions"]["runtimeHostPermissions"]["hostAccess"] = A.load.Enum(
  2032                ptr + 8 + 140 + 4 + 4,
  2033                ["ON_CLICK", "ON_SPECIFIC_SITES", "ON_ALL_SITES"]
  2034              );
  2035              x["extensionInfo"]["permissions"]["runtimeHostPermissions"]["hosts"] = A.load.Ref(
  2036                ptr + 8 + 140 + 4 + 8,
  2037                undefined
  2038              );
  2039            } else {
  2040              delete x["extensionInfo"]["permissions"]["runtimeHostPermissions"];
  2041            }
  2042            if (A.load.Bool(ptr + 8 + 140 + 19)) {
  2043              x["extensionInfo"]["permissions"]["canAccessSiteData"] = A.load.Bool(ptr + 8 + 140 + 18);
  2044            } else {
  2045              delete x["extensionInfo"]["permissions"]["canAccessSiteData"];
  2046            }
  2047          } else {
  2048            delete x["extensionInfo"]["permissions"];
  2049          }
  2050          x["extensionInfo"]["prettifiedPath"] = A.load.Ref(ptr + 8 + 164, undefined);
  2051          x["extensionInfo"]["runtimeErrors"] = A.load.Ref(ptr + 8 + 168, undefined);
  2052          x["extensionInfo"]["runtimeWarnings"] = A.load.Ref(ptr + 8 + 172, undefined);
  2053          x["extensionInfo"]["state"] = A.load.Enum(ptr + 8 + 176, ["ENABLED", "DISABLED", "TERMINATED", "BLACKLISTED"]);
  2054          x["extensionInfo"]["type"] = A.load.Enum(ptr + 8 + 180, [
  2055            "HOSTED_APP",
  2056            "PLATFORM_APP",
  2057            "LEGACY_PACKAGED_APP",
  2058            "EXTENSION",
  2059            "THEME",
  2060            "SHARED_MODULE",
  2061          ]);
  2062          x["extensionInfo"]["updateUrl"] = A.load.Ref(ptr + 8 + 184, undefined);
  2063          if (A.load.Bool(ptr + 8 + 210)) {
  2064            x["extensionInfo"]["userMayModify"] = A.load.Bool(ptr + 8 + 188);
  2065          } else {
  2066            delete x["extensionInfo"]["userMayModify"];
  2067          }
  2068          x["extensionInfo"]["version"] = A.load.Ref(ptr + 8 + 192, undefined);
  2069          x["extensionInfo"]["views"] = A.load.Ref(ptr + 8 + 196, undefined);
  2070          x["extensionInfo"]["webStoreUrl"] = A.load.Ref(ptr + 8 + 200, undefined);
  2071          if (A.load.Bool(ptr + 8 + 211)) {
  2072            x["extensionInfo"]["showSafeBrowsingAllowlistWarning"] = A.load.Bool(ptr + 8 + 204);
  2073          } else {
  2074            delete x["extensionInfo"]["showSafeBrowsingAllowlistWarning"];
  2075          }
  2076          if (A.load.Bool(ptr + 8 + 212)) {
  2077            x["extensionInfo"]["showAccessRequestsInToolbar"] = A.load.Bool(ptr + 8 + 205);
  2078          } else {
  2079            delete x["extensionInfo"]["showAccessRequestsInToolbar"];
  2080          }
  2081          if (A.load.Bool(ptr + 8 + 213)) {
  2082            x["extensionInfo"]["acknowledgeSafetyCheckWarning"] = A.load.Bool(ptr + 8 + 206);
  2083          } else {
  2084            delete x["extensionInfo"]["acknowledgeSafetyCheckWarning"];
  2085          }
  2086          if (A.load.Bool(ptr + 8 + 214)) {
  2087            x["extensionInfo"]["pinnedToToolbar"] = A.load.Bool(ptr + 8 + 207);
  2088          } else {
  2089            delete x["extensionInfo"]["pinnedToToolbar"];
  2090          }
  2091        } else {
  2092          delete x["extensionInfo"];
  2093        }
  2094        return create === A.H.TRUE ? A.H.push(x) : ref;
  2095      },
  2096  
  2097      "store_ExtensionCommandUpdate": (ptr: Pointer, ref: heap.Ref<any>) => {
  2098        const x = A.H.get<any>(ref);
  2099  
  2100        if (typeof x === "undefined") {
  2101          A.store.Bool(ptr + 16, false);
  2102          A.store.Ref(ptr + 0, undefined);
  2103          A.store.Ref(ptr + 4, undefined);
  2104          A.store.Enum(ptr + 8, -1);
  2105          A.store.Ref(ptr + 12, undefined);
  2106        } else {
  2107          A.store.Bool(ptr + 16, true);
  2108          A.store.Ref(ptr + 0, x["extensionId"]);
  2109          A.store.Ref(ptr + 4, x["commandName"]);
  2110          A.store.Enum(ptr + 8, ["GLOBAL", "CHROME"].indexOf(x["scope"] as string));
  2111          A.store.Ref(ptr + 12, x["keybinding"]);
  2112        }
  2113      },
  2114      "load_ExtensionCommandUpdate": (ptr: Pointer, create: heap.Ref<boolean>, ref: heap.Ref<any>): heap.Ref<any> => {
  2115        const x = create === A.H.TRUE ? {} : A.H.get<any>(ref);
  2116  
  2117        x["extensionId"] = A.load.Ref(ptr + 0, undefined);
  2118        x["commandName"] = A.load.Ref(ptr + 4, undefined);
  2119        x["scope"] = A.load.Enum(ptr + 8, ["GLOBAL", "CHROME"]);
  2120        x["keybinding"] = A.load.Ref(ptr + 12, undefined);
  2121        return create === A.H.TRUE ? A.H.push(x) : ref;
  2122      },
  2123  
  2124      "store_ExtensionConfigurationUpdate": (ptr: Pointer, ref: heap.Ref<any>) => {
  2125        const x = A.H.get<any>(ref);
  2126  
  2127        if (typeof x === "undefined") {
  2128          A.store.Bool(ptr + 21, false);
  2129          A.store.Ref(ptr + 0, undefined);
  2130          A.store.Bool(ptr + 15, false);
  2131          A.store.Bool(ptr + 4, false);
  2132          A.store.Bool(ptr + 16, false);
  2133          A.store.Bool(ptr + 5, false);
  2134          A.store.Bool(ptr + 17, false);
  2135          A.store.Bool(ptr + 6, false);
  2136          A.store.Enum(ptr + 8, -1);
  2137          A.store.Bool(ptr + 18, false);
  2138          A.store.Bool(ptr + 12, false);
  2139          A.store.Bool(ptr + 19, false);
  2140          A.store.Bool(ptr + 13, false);
  2141          A.store.Bool(ptr + 20, false);
  2142          A.store.Bool(ptr + 14, false);
  2143        } else {
  2144          A.store.Bool(ptr + 21, true);
  2145          A.store.Ref(ptr + 0, x["extensionId"]);
  2146          A.store.Bool(ptr + 15, "fileAccess" in x ? true : false);
  2147          A.store.Bool(ptr + 4, x["fileAccess"] ? true : false);
  2148          A.store.Bool(ptr + 16, "incognitoAccess" in x ? true : false);
  2149          A.store.Bool(ptr + 5, x["incognitoAccess"] ? true : false);
  2150          A.store.Bool(ptr + 17, "errorCollection" in x ? true : false);
  2151          A.store.Bool(ptr + 6, x["errorCollection"] ? true : false);
  2152          A.store.Enum(ptr + 8, ["ON_CLICK", "ON_SPECIFIC_SITES", "ON_ALL_SITES"].indexOf(x["hostAccess"] as string));
  2153          A.store.Bool(ptr + 18, "showAccessRequestsInToolbar" in x ? true : false);
  2154          A.store.Bool(ptr + 12, x["showAccessRequestsInToolbar"] ? true : false);
  2155          A.store.Bool(ptr + 19, "acknowledgeSafetyCheckWarning" in x ? true : false);
  2156          A.store.Bool(ptr + 13, x["acknowledgeSafetyCheckWarning"] ? true : false);
  2157          A.store.Bool(ptr + 20, "pinnedToToolbar" in x ? true : false);
  2158          A.store.Bool(ptr + 14, x["pinnedToToolbar"] ? true : false);
  2159        }
  2160      },
  2161      "load_ExtensionConfigurationUpdate": (
  2162        ptr: Pointer,
  2163        create: heap.Ref<boolean>,
  2164        ref: heap.Ref<any>
  2165      ): heap.Ref<any> => {
  2166        const x = create === A.H.TRUE ? {} : A.H.get<any>(ref);
  2167  
  2168        x["extensionId"] = A.load.Ref(ptr + 0, undefined);
  2169        if (A.load.Bool(ptr + 15)) {
  2170          x["fileAccess"] = A.load.Bool(ptr + 4);
  2171        } else {
  2172          delete x["fileAccess"];
  2173        }
  2174        if (A.load.Bool(ptr + 16)) {
  2175          x["incognitoAccess"] = A.load.Bool(ptr + 5);
  2176        } else {
  2177          delete x["incognitoAccess"];
  2178        }
  2179        if (A.load.Bool(ptr + 17)) {
  2180          x["errorCollection"] = A.load.Bool(ptr + 6);
  2181        } else {
  2182          delete x["errorCollection"];
  2183        }
  2184        x["hostAccess"] = A.load.Enum(ptr + 8, ["ON_CLICK", "ON_SPECIFIC_SITES", "ON_ALL_SITES"]);
  2185        if (A.load.Bool(ptr + 18)) {
  2186          x["showAccessRequestsInToolbar"] = A.load.Bool(ptr + 12);
  2187        } else {
  2188          delete x["showAccessRequestsInToolbar"];
  2189        }
  2190        if (A.load.Bool(ptr + 19)) {
  2191          x["acknowledgeSafetyCheckWarning"] = A.load.Bool(ptr + 13);
  2192        } else {
  2193          delete x["acknowledgeSafetyCheckWarning"];
  2194        }
  2195        if (A.load.Bool(ptr + 20)) {
  2196          x["pinnedToToolbar"] = A.load.Bool(ptr + 14);
  2197        } else {
  2198          delete x["pinnedToToolbar"];
  2199        }
  2200        return create === A.H.TRUE ? A.H.push(x) : ref;
  2201      },
  2202  
  2203      "store_ExtensionSiteAccessUpdate": (ptr: Pointer, ref: heap.Ref<any>) => {
  2204        const x = A.H.get<any>(ref);
  2205  
  2206        if (typeof x === "undefined") {
  2207          A.store.Bool(ptr + 8, false);
  2208          A.store.Ref(ptr + 0, undefined);
  2209          A.store.Enum(ptr + 4, -1);
  2210        } else {
  2211          A.store.Bool(ptr + 8, true);
  2212          A.store.Ref(ptr + 0, x["id"]);
  2213          A.store.Enum(ptr + 4, ["ON_CLICK", "ON_SPECIFIC_SITES", "ON_ALL_SITES"].indexOf(x["siteAccess"] as string));
  2214        }
  2215      },
  2216      "load_ExtensionSiteAccessUpdate": (ptr: Pointer, create: heap.Ref<boolean>, ref: heap.Ref<any>): heap.Ref<any> => {
  2217        const x = create === A.H.TRUE ? {} : A.H.get<any>(ref);
  2218  
  2219        x["id"] = A.load.Ref(ptr + 0, undefined);
  2220        x["siteAccess"] = A.load.Enum(ptr + 4, ["ON_CLICK", "ON_SPECIFIC_SITES", "ON_ALL_SITES"]);
  2221        return create === A.H.TRUE ? A.H.push(x) : ref;
  2222      },
  2223      "constof_FileType": (ref: heap.Ref<string>): number => {
  2224        const idx = ["LOAD", "PEM"].indexOf(A.H.get(ref));
  2225        return idx < 0 ? 0 : idx + 1;
  2226      },
  2227  
  2228      "store_GetExtensionsInfoOptions": (ptr: Pointer, ref: heap.Ref<any>) => {
  2229        const x = A.H.get<any>(ref);
  2230  
  2231        if (typeof x === "undefined") {
  2232          A.store.Bool(ptr + 4, false);
  2233          A.store.Bool(ptr + 2, false);
  2234          A.store.Bool(ptr + 0, false);
  2235          A.store.Bool(ptr + 3, false);
  2236          A.store.Bool(ptr + 1, false);
  2237        } else {
  2238          A.store.Bool(ptr + 4, true);
  2239          A.store.Bool(ptr + 2, "includeDisabled" in x ? true : false);
  2240          A.store.Bool(ptr + 0, x["includeDisabled"] ? true : false);
  2241          A.store.Bool(ptr + 3, "includeTerminated" in x ? true : false);
  2242          A.store.Bool(ptr + 1, x["includeTerminated"] ? true : false);
  2243        }
  2244      },
  2245      "load_GetExtensionsInfoOptions": (ptr: Pointer, create: heap.Ref<boolean>, ref: heap.Ref<any>): heap.Ref<any> => {
  2246        const x = create === A.H.TRUE ? {} : A.H.get<any>(ref);
  2247  
  2248        if (A.load.Bool(ptr + 2)) {
  2249          x["includeDisabled"] = A.load.Bool(ptr + 0);
  2250        } else {
  2251          delete x["includeDisabled"];
  2252        }
  2253        if (A.load.Bool(ptr + 3)) {
  2254          x["includeTerminated"] = A.load.Bool(ptr + 1);
  2255        } else {
  2256          delete x["includeTerminated"];
  2257        }
  2258        return create === A.H.TRUE ? A.H.push(x) : ref;
  2259      },
  2260  
  2261      "store_MatchingExtensionInfo": (ptr: Pointer, ref: heap.Ref<any>) => {
  2262        const x = A.H.get<any>(ref);
  2263  
  2264        if (typeof x === "undefined") {
  2265          A.store.Bool(ptr + 10, false);
  2266          A.store.Ref(ptr + 0, undefined);
  2267          A.store.Enum(ptr + 4, -1);
  2268          A.store.Bool(ptr + 9, false);
  2269          A.store.Bool(ptr + 8, false);
  2270        } else {
  2271          A.store.Bool(ptr + 10, true);
  2272          A.store.Ref(ptr + 0, x["id"]);
  2273          A.store.Enum(ptr + 4, ["ON_CLICK", "ON_SPECIFIC_SITES", "ON_ALL_SITES"].indexOf(x["siteAccess"] as string));
  2274          A.store.Bool(ptr + 9, "canRequestAllSites" in x ? true : false);
  2275          A.store.Bool(ptr + 8, x["canRequestAllSites"] ? true : false);
  2276        }
  2277      },
  2278      "load_MatchingExtensionInfo": (ptr: Pointer, create: heap.Ref<boolean>, ref: heap.Ref<any>): heap.Ref<any> => {
  2279        const x = create === A.H.TRUE ? {} : A.H.get<any>(ref);
  2280  
  2281        x["id"] = A.load.Ref(ptr + 0, undefined);
  2282        x["siteAccess"] = A.load.Enum(ptr + 4, ["ON_CLICK", "ON_SPECIFIC_SITES", "ON_ALL_SITES"]);
  2283        if (A.load.Bool(ptr + 9)) {
  2284          x["canRequestAllSites"] = A.load.Bool(ptr + 8);
  2285        } else {
  2286          delete x["canRequestAllSites"];
  2287        }
  2288        return create === A.H.TRUE ? A.H.push(x) : ref;
  2289      },
  2290  
  2291      "store_ProjectInfo": (ptr: Pointer, ref: heap.Ref<any>) => {
  2292        const x = A.H.get<any>(ref);
  2293  
  2294        if (typeof x === "undefined") {
  2295          A.store.Bool(ptr + 4, false);
  2296          A.store.Ref(ptr + 0, undefined);
  2297        } else {
  2298          A.store.Bool(ptr + 4, true);
  2299          A.store.Ref(ptr + 0, x["name"]);
  2300        }
  2301      },
  2302      "load_ProjectInfo": (ptr: Pointer, create: heap.Ref<boolean>, ref: heap.Ref<any>): heap.Ref<any> => {
  2303        const x = create === A.H.TRUE ? {} : A.H.get<any>(ref);
  2304  
  2305        x["name"] = A.load.Ref(ptr + 0, undefined);
  2306        return create === A.H.TRUE ? A.H.push(x) : ref;
  2307      },
  2308  
  2309      "store_InspectOptions": (ptr: Pointer, ref: heap.Ref<any>) => {
  2310        const x = A.H.get<any>(ref);
  2311  
  2312        if (typeof x === "undefined") {
  2313          A.store.Bool(ptr + 14, false);
  2314          A.store.Ref(ptr + 0, undefined);
  2315          A.store.Ref(ptr + 4, undefined);
  2316          A.store.Ref(ptr + 8, undefined);
  2317          A.store.Bool(ptr + 13, false);
  2318          A.store.Bool(ptr + 12, false);
  2319        } else {
  2320          A.store.Bool(ptr + 14, true);
  2321          A.store.Ref(ptr + 0, x["extension_id"]);
  2322          A.store.Ref(ptr + 4, x["render_process_id"]);
  2323          A.store.Ref(ptr + 8, x["render_view_id"]);
  2324          A.store.Bool(ptr + 13, "incognito" in x ? true : false);
  2325          A.store.Bool(ptr + 12, x["incognito"] ? true : false);
  2326        }
  2327      },
  2328      "load_InspectOptions": (ptr: Pointer, create: heap.Ref<boolean>, ref: heap.Ref<any>): heap.Ref<any> => {
  2329        const x = create === A.H.TRUE ? {} : A.H.get<any>(ref);
  2330  
  2331        x["extension_id"] = A.load.Ref(ptr + 0, undefined);
  2332        x["render_process_id"] = A.load.Ref(ptr + 4, undefined);
  2333        x["render_view_id"] = A.load.Ref(ptr + 8, undefined);
  2334        if (A.load.Bool(ptr + 13)) {
  2335          x["incognito"] = A.load.Bool(ptr + 12);
  2336        } else {
  2337          delete x["incognito"];
  2338        }
  2339        return create === A.H.TRUE ? A.H.push(x) : ref;
  2340      },
  2341  
  2342      "store_InstallWarning": (ptr: Pointer, ref: heap.Ref<any>) => {
  2343        const x = A.H.get<any>(ref);
  2344  
  2345        if (typeof x === "undefined") {
  2346          A.store.Bool(ptr + 4, false);
  2347          A.store.Ref(ptr + 0, undefined);
  2348        } else {
  2349          A.store.Bool(ptr + 4, true);
  2350          A.store.Ref(ptr + 0, x["message"]);
  2351        }
  2352      },
  2353      "load_InstallWarning": (ptr: Pointer, create: heap.Ref<boolean>, ref: heap.Ref<any>): heap.Ref<any> => {
  2354        const x = create === A.H.TRUE ? {} : A.H.get<any>(ref);
  2355  
  2356        x["message"] = A.load.Ref(ptr + 0, undefined);
  2357        return create === A.H.TRUE ? A.H.push(x) : ref;
  2358      },
  2359      "constof_ItemType": (ref: heap.Ref<string>): number => {
  2360        const idx = ["hosted_app", "packaged_app", "legacy_packaged_app", "extension", "theme"].indexOf(A.H.get(ref));
  2361        return idx < 0 ? 0 : idx + 1;
  2362      },
  2363  
  2364      "store_ItemInspectView": (ptr: Pointer, ref: heap.Ref<any>) => {
  2365        const x = A.H.get<any>(ref);
  2366  
  2367        if (typeof x === "undefined") {
  2368          A.store.Bool(ptr + 18, false);
  2369          A.store.Ref(ptr + 0, undefined);
  2370          A.store.Bool(ptr + 14, false);
  2371          A.store.Int32(ptr + 4, 0);
  2372          A.store.Bool(ptr + 15, false);
  2373          A.store.Int32(ptr + 8, 0);
  2374          A.store.Bool(ptr + 16, false);
  2375          A.store.Bool(ptr + 12, false);
  2376          A.store.Bool(ptr + 17, false);
  2377          A.store.Bool(ptr + 13, false);
  2378        } else {
  2379          A.store.Bool(ptr + 18, true);
  2380          A.store.Ref(ptr + 0, x["path"]);
  2381          A.store.Bool(ptr + 14, "render_process_id" in x ? true : false);
  2382          A.store.Int32(ptr + 4, x["render_process_id"] === undefined ? 0 : (x["render_process_id"] as number));
  2383          A.store.Bool(ptr + 15, "render_view_id" in x ? true : false);
  2384          A.store.Int32(ptr + 8, x["render_view_id"] === undefined ? 0 : (x["render_view_id"] as number));
  2385          A.store.Bool(ptr + 16, "incognito" in x ? true : false);
  2386          A.store.Bool(ptr + 12, x["incognito"] ? true : false);
  2387          A.store.Bool(ptr + 17, "generatedBackgroundPage" in x ? true : false);
  2388          A.store.Bool(ptr + 13, x["generatedBackgroundPage"] ? true : false);
  2389        }
  2390      },
  2391      "load_ItemInspectView": (ptr: Pointer, create: heap.Ref<boolean>, ref: heap.Ref<any>): heap.Ref<any> => {
  2392        const x = create === A.H.TRUE ? {} : A.H.get<any>(ref);
  2393  
  2394        x["path"] = A.load.Ref(ptr + 0, undefined);
  2395        if (A.load.Bool(ptr + 14)) {
  2396          x["render_process_id"] = A.load.Int32(ptr + 4);
  2397        } else {
  2398          delete x["render_process_id"];
  2399        }
  2400        if (A.load.Bool(ptr + 15)) {
  2401          x["render_view_id"] = A.load.Int32(ptr + 8);
  2402        } else {
  2403          delete x["render_view_id"];
  2404        }
  2405        if (A.load.Bool(ptr + 16)) {
  2406          x["incognito"] = A.load.Bool(ptr + 12);
  2407        } else {
  2408          delete x["incognito"];
  2409        }
  2410        if (A.load.Bool(ptr + 17)) {
  2411          x["generatedBackgroundPage"] = A.load.Bool(ptr + 13);
  2412        } else {
  2413          delete x["generatedBackgroundPage"];
  2414        }
  2415        return create === A.H.TRUE ? A.H.push(x) : ref;
  2416      },
  2417  
  2418      "store_ItemInfo": (ptr: Pointer, ref: heap.Ref<any>) => {
  2419        const x = A.H.get<any>(ref);
  2420  
  2421        if (typeof x === "undefined") {
  2422          A.store.Bool(ptr + 88, false);
  2423          A.store.Ref(ptr + 0, undefined);
  2424          A.store.Ref(ptr + 4, undefined);
  2425          A.store.Ref(ptr + 8, undefined);
  2426          A.store.Ref(ptr + 12, undefined);
  2427          A.store.Bool(ptr + 76, false);
  2428          A.store.Bool(ptr + 16, false);
  2429          A.store.Bool(ptr + 77, false);
  2430          A.store.Bool(ptr + 17, false);
  2431          A.store.Bool(ptr + 78, false);
  2432          A.store.Bool(ptr + 18, false);
  2433          A.store.Enum(ptr + 20, -1);
  2434          A.store.Bool(ptr + 79, false);
  2435          A.store.Bool(ptr + 24, false);
  2436          A.store.Bool(ptr + 80, false);
  2437          A.store.Bool(ptr + 25, false);
  2438          A.store.Bool(ptr + 81, false);
  2439          A.store.Bool(ptr + 26, false);
  2440          A.store.Bool(ptr + 82, false);
  2441          A.store.Bool(ptr + 27, false);
  2442          A.store.Bool(ptr + 83, false);
  2443          A.store.Bool(ptr + 28, false);
  2444          A.store.Bool(ptr + 84, false);
  2445          A.store.Bool(ptr + 29, false);
  2446          A.store.Bool(ptr + 85, false);
  2447          A.store.Bool(ptr + 30, false);
  2448          A.store.Bool(ptr + 86, false);
  2449          A.store.Bool(ptr + 31, false);
  2450          A.store.Ref(ptr + 32, undefined);
  2451          A.store.Ref(ptr + 36, undefined);
  2452          A.store.Ref(ptr + 40, undefined);
  2453          A.store.Ref(ptr + 44, undefined);
  2454          A.store.Ref(ptr + 48, undefined);
  2455          A.store.Ref(ptr + 52, undefined);
  2456          A.store.Ref(ptr + 56, undefined);
  2457          A.store.Ref(ptr + 60, undefined);
  2458          A.store.Ref(ptr + 64, undefined);
  2459          A.store.Bool(ptr + 87, false);
  2460          A.store.Bool(ptr + 68, false);
  2461          A.store.Ref(ptr + 72, undefined);
  2462        } else {
  2463          A.store.Bool(ptr + 88, true);
  2464          A.store.Ref(ptr + 0, x["id"]);
  2465          A.store.Ref(ptr + 4, x["name"]);
  2466          A.store.Ref(ptr + 8, x["version"]);
  2467          A.store.Ref(ptr + 12, x["description"]);
  2468          A.store.Bool(ptr + 76, "may_disable" in x ? true : false);
  2469          A.store.Bool(ptr + 16, x["may_disable"] ? true : false);
  2470          A.store.Bool(ptr + 77, "enabled" in x ? true : false);
  2471          A.store.Bool(ptr + 17, x["enabled"] ? true : false);
  2472          A.store.Bool(ptr + 78, "isApp" in x ? true : false);
  2473          A.store.Bool(ptr + 18, x["isApp"] ? true : false);
  2474          A.store.Enum(
  2475            ptr + 20,
  2476            ["hosted_app", "packaged_app", "legacy_packaged_app", "extension", "theme"].indexOf(x["type"] as string)
  2477          );
  2478          A.store.Bool(ptr + 79, "allow_activity" in x ? true : false);
  2479          A.store.Bool(ptr + 24, x["allow_activity"] ? true : false);
  2480          A.store.Bool(ptr + 80, "allow_file_access" in x ? true : false);
  2481          A.store.Bool(ptr + 25, x["allow_file_access"] ? true : false);
  2482          A.store.Bool(ptr + 81, "wants_file_access" in x ? true : false);
  2483          A.store.Bool(ptr + 26, x["wants_file_access"] ? true : false);
  2484          A.store.Bool(ptr + 82, "incognito_enabled" in x ? true : false);
  2485          A.store.Bool(ptr + 27, x["incognito_enabled"] ? true : false);
  2486          A.store.Bool(ptr + 83, "is_unpacked" in x ? true : false);
  2487          A.store.Bool(ptr + 28, x["is_unpacked"] ? true : false);
  2488          A.store.Bool(ptr + 84, "allow_reload" in x ? true : false);
  2489          A.store.Bool(ptr + 29, x["allow_reload"] ? true : false);
  2490          A.store.Bool(ptr + 85, "terminated" in x ? true : false);
  2491          A.store.Bool(ptr + 30, x["terminated"] ? true : false);
  2492          A.store.Bool(ptr + 86, "allow_incognito" in x ? true : false);
  2493          A.store.Bool(ptr + 31, x["allow_incognito"] ? true : false);
  2494          A.store.Ref(ptr + 32, x["icon_url"]);
  2495          A.store.Ref(ptr + 36, x["path"]);
  2496          A.store.Ref(ptr + 40, x["options_url"]);
  2497          A.store.Ref(ptr + 44, x["app_launch_url"]);
  2498          A.store.Ref(ptr + 48, x["homepage_url"]);
  2499          A.store.Ref(ptr + 52, x["update_url"]);
  2500          A.store.Ref(ptr + 56, x["install_warnings"]);
  2501          A.store.Ref(ptr + 60, x["manifest_errors"]);
  2502          A.store.Ref(ptr + 64, x["runtime_errors"]);
  2503          A.store.Bool(ptr + 87, "offline_enabled" in x ? true : false);
  2504          A.store.Bool(ptr + 68, x["offline_enabled"] ? true : false);
  2505          A.store.Ref(ptr + 72, x["views"]);
  2506        }
  2507      },
  2508      "load_ItemInfo": (ptr: Pointer, create: heap.Ref<boolean>, ref: heap.Ref<any>): heap.Ref<any> => {
  2509        const x = create === A.H.TRUE ? {} : A.H.get<any>(ref);
  2510  
  2511        x["id"] = A.load.Ref(ptr + 0, undefined);
  2512        x["name"] = A.load.Ref(ptr + 4, undefined);
  2513        x["version"] = A.load.Ref(ptr + 8, undefined);
  2514        x["description"] = A.load.Ref(ptr + 12, undefined);
  2515        if (A.load.Bool(ptr + 76)) {
  2516          x["may_disable"] = A.load.Bool(ptr + 16);
  2517        } else {
  2518          delete x["may_disable"];
  2519        }
  2520        if (A.load.Bool(ptr + 77)) {
  2521          x["enabled"] = A.load.Bool(ptr + 17);
  2522        } else {
  2523          delete x["enabled"];
  2524        }
  2525        if (A.load.Bool(ptr + 78)) {
  2526          x["isApp"] = A.load.Bool(ptr + 18);
  2527        } else {
  2528          delete x["isApp"];
  2529        }
  2530        x["type"] = A.load.Enum(ptr + 20, ["hosted_app", "packaged_app", "legacy_packaged_app", "extension", "theme"]);
  2531        if (A.load.Bool(ptr + 79)) {
  2532          x["allow_activity"] = A.load.Bool(ptr + 24);
  2533        } else {
  2534          delete x["allow_activity"];
  2535        }
  2536        if (A.load.Bool(ptr + 80)) {
  2537          x["allow_file_access"] = A.load.Bool(ptr + 25);
  2538        } else {
  2539          delete x["allow_file_access"];
  2540        }
  2541        if (A.load.Bool(ptr + 81)) {
  2542          x["wants_file_access"] = A.load.Bool(ptr + 26);
  2543        } else {
  2544          delete x["wants_file_access"];
  2545        }
  2546        if (A.load.Bool(ptr + 82)) {
  2547          x["incognito_enabled"] = A.load.Bool(ptr + 27);
  2548        } else {
  2549          delete x["incognito_enabled"];
  2550        }
  2551        if (A.load.Bool(ptr + 83)) {
  2552          x["is_unpacked"] = A.load.Bool(ptr + 28);
  2553        } else {
  2554          delete x["is_unpacked"];
  2555        }
  2556        if (A.load.Bool(ptr + 84)) {
  2557          x["allow_reload"] = A.load.Bool(ptr + 29);
  2558        } else {
  2559          delete x["allow_reload"];
  2560        }
  2561        if (A.load.Bool(ptr + 85)) {
  2562          x["terminated"] = A.load.Bool(ptr + 30);
  2563        } else {
  2564          delete x["terminated"];
  2565        }
  2566        if (A.load.Bool(ptr + 86)) {
  2567          x["allow_incognito"] = A.load.Bool(ptr + 31);
  2568        } else {
  2569          delete x["allow_incognito"];
  2570        }
  2571        x["icon_url"] = A.load.Ref(ptr + 32, undefined);
  2572        x["path"] = A.load.Ref(ptr + 36, undefined);
  2573        x["options_url"] = A.load.Ref(ptr + 40, undefined);
  2574        x["app_launch_url"] = A.load.Ref(ptr + 44, undefined);
  2575        x["homepage_url"] = A.load.Ref(ptr + 48, undefined);
  2576        x["update_url"] = A.load.Ref(ptr + 52, undefined);
  2577        x["install_warnings"] = A.load.Ref(ptr + 56, undefined);
  2578        x["manifest_errors"] = A.load.Ref(ptr + 60, undefined);
  2579        x["runtime_errors"] = A.load.Ref(ptr + 64, undefined);
  2580        if (A.load.Bool(ptr + 87)) {
  2581          x["offline_enabled"] = A.load.Bool(ptr + 68);
  2582        } else {
  2583          delete x["offline_enabled"];
  2584        }
  2585        x["views"] = A.load.Ref(ptr + 72, undefined);
  2586        return create === A.H.TRUE ? A.H.push(x) : ref;
  2587      },
  2588  
  2589      "store_LoadError": (ptr: Pointer, ref: heap.Ref<any>) => {
  2590        const x = A.H.get<any>(ref);
  2591  
  2592        if (typeof x === "undefined") {
  2593          A.store.Bool(ptr + 28, false);
  2594          A.store.Ref(ptr + 0, undefined);
  2595          A.store.Ref(ptr + 4, undefined);
  2596  
  2597          A.store.Bool(ptr + 8 + 12, false);
  2598          A.store.Ref(ptr + 8 + 0, undefined);
  2599          A.store.Ref(ptr + 8 + 4, undefined);
  2600          A.store.Ref(ptr + 8 + 8, undefined);
  2601          A.store.Ref(ptr + 24, undefined);
  2602        } else {
  2603          A.store.Bool(ptr + 28, true);
  2604          A.store.Ref(ptr + 0, x["error"]);
  2605          A.store.Ref(ptr + 4, x["path"]);
  2606  
  2607          if (typeof x["source"] === "undefined") {
  2608            A.store.Bool(ptr + 8 + 12, false);
  2609            A.store.Ref(ptr + 8 + 0, undefined);
  2610            A.store.Ref(ptr + 8 + 4, undefined);
  2611            A.store.Ref(ptr + 8 + 8, undefined);
  2612          } else {
  2613            A.store.Bool(ptr + 8 + 12, true);
  2614            A.store.Ref(ptr + 8 + 0, x["source"]["beforeHighlight"]);
  2615            A.store.Ref(ptr + 8 + 4, x["source"]["highlight"]);
  2616            A.store.Ref(ptr + 8 + 8, x["source"]["afterHighlight"]);
  2617          }
  2618          A.store.Ref(ptr + 24, x["retryGuid"]);
  2619        }
  2620      },
  2621      "load_LoadError": (ptr: Pointer, create: heap.Ref<boolean>, ref: heap.Ref<any>): heap.Ref<any> => {
  2622        const x = create === A.H.TRUE ? {} : A.H.get<any>(ref);
  2623  
  2624        x["error"] = A.load.Ref(ptr + 0, undefined);
  2625        x["path"] = A.load.Ref(ptr + 4, undefined);
  2626        if (A.load.Bool(ptr + 8 + 12)) {
  2627          x["source"] = {};
  2628          x["source"]["beforeHighlight"] = A.load.Ref(ptr + 8 + 0, undefined);
  2629          x["source"]["highlight"] = A.load.Ref(ptr + 8 + 4, undefined);
  2630          x["source"]["afterHighlight"] = A.load.Ref(ptr + 8 + 8, undefined);
  2631        } else {
  2632          delete x["source"];
  2633        }
  2634        x["retryGuid"] = A.load.Ref(ptr + 24, undefined);
  2635        return create === A.H.TRUE ? A.H.push(x) : ref;
  2636      },
  2637  
  2638      "store_LoadUnpackedOptions": (ptr: Pointer, ref: heap.Ref<any>) => {
  2639        const x = A.H.get<any>(ref);
  2640  
  2641        if (typeof x === "undefined") {
  2642          A.store.Bool(ptr + 12, false);
  2643          A.store.Bool(ptr + 9, false);
  2644          A.store.Bool(ptr + 0, false);
  2645          A.store.Bool(ptr + 10, false);
  2646          A.store.Bool(ptr + 1, false);
  2647          A.store.Ref(ptr + 4, undefined);
  2648          A.store.Bool(ptr + 11, false);
  2649          A.store.Bool(ptr + 8, false);
  2650        } else {
  2651          A.store.Bool(ptr + 12, true);
  2652          A.store.Bool(ptr + 9, "failQuietly" in x ? true : false);
  2653          A.store.Bool(ptr + 0, x["failQuietly"] ? true : false);
  2654          A.store.Bool(ptr + 10, "populateError" in x ? true : false);
  2655          A.store.Bool(ptr + 1, x["populateError"] ? true : false);
  2656          A.store.Ref(ptr + 4, x["retryGuid"]);
  2657          A.store.Bool(ptr + 11, "useDraggedPath" in x ? true : false);
  2658          A.store.Bool(ptr + 8, x["useDraggedPath"] ? true : false);
  2659        }
  2660      },
  2661      "load_LoadUnpackedOptions": (ptr: Pointer, create: heap.Ref<boolean>, ref: heap.Ref<any>): heap.Ref<any> => {
  2662        const x = create === A.H.TRUE ? {} : A.H.get<any>(ref);
  2663  
  2664        if (A.load.Bool(ptr + 9)) {
  2665          x["failQuietly"] = A.load.Bool(ptr + 0);
  2666        } else {
  2667          delete x["failQuietly"];
  2668        }
  2669        if (A.load.Bool(ptr + 10)) {
  2670          x["populateError"] = A.load.Bool(ptr + 1);
  2671        } else {
  2672          delete x["populateError"];
  2673        }
  2674        x["retryGuid"] = A.load.Ref(ptr + 4, undefined);
  2675        if (A.load.Bool(ptr + 11)) {
  2676          x["useDraggedPath"] = A.load.Bool(ptr + 8);
  2677        } else {
  2678          delete x["useDraggedPath"];
  2679        }
  2680        return create === A.H.TRUE ? A.H.push(x) : ref;
  2681      },
  2682  
  2683      "store_OpenDevToolsProperties": (ptr: Pointer, ref: heap.Ref<any>) => {
  2684        const x = A.H.get<any>(ref);
  2685  
  2686        if (typeof x === "undefined") {
  2687          A.store.Bool(ptr + 34, false);
  2688          A.store.Ref(ptr + 0, undefined);
  2689          A.store.Bool(ptr + 28, false);
  2690          A.store.Int32(ptr + 4, 0);
  2691          A.store.Bool(ptr + 29, false);
  2692          A.store.Int32(ptr + 8, 0);
  2693          A.store.Bool(ptr + 30, false);
  2694          A.store.Bool(ptr + 12, false);
  2695          A.store.Bool(ptr + 31, false);
  2696          A.store.Bool(ptr + 13, false);
  2697          A.store.Ref(ptr + 16, undefined);
  2698          A.store.Bool(ptr + 32, false);
  2699          A.store.Int32(ptr + 20, 0);
  2700          A.store.Bool(ptr + 33, false);
  2701          A.store.Int32(ptr + 24, 0);
  2702        } else {
  2703          A.store.Bool(ptr + 34, true);
  2704          A.store.Ref(ptr + 0, x["extensionId"]);
  2705          A.store.Bool(ptr + 28, "renderViewId" in x ? true : false);
  2706          A.store.Int32(ptr + 4, x["renderViewId"] === undefined ? 0 : (x["renderViewId"] as number));
  2707          A.store.Bool(ptr + 29, "renderProcessId" in x ? true : false);
  2708          A.store.Int32(ptr + 8, x["renderProcessId"] === undefined ? 0 : (x["renderProcessId"] as number));
  2709          A.store.Bool(ptr + 30, "isServiceWorker" in x ? true : false);
  2710          A.store.Bool(ptr + 12, x["isServiceWorker"] ? true : false);
  2711          A.store.Bool(ptr + 31, "incognito" in x ? true : false);
  2712          A.store.Bool(ptr + 13, x["incognito"] ? true : false);
  2713          A.store.Ref(ptr + 16, x["url"]);
  2714          A.store.Bool(ptr + 32, "lineNumber" in x ? true : false);
  2715          A.store.Int32(ptr + 20, x["lineNumber"] === undefined ? 0 : (x["lineNumber"] as number));
  2716          A.store.Bool(ptr + 33, "columnNumber" in x ? true : false);
  2717          A.store.Int32(ptr + 24, x["columnNumber"] === undefined ? 0 : (x["columnNumber"] as number));
  2718        }
  2719      },
  2720      "load_OpenDevToolsProperties": (ptr: Pointer, create: heap.Ref<boolean>, ref: heap.Ref<any>): heap.Ref<any> => {
  2721        const x = create === A.H.TRUE ? {} : A.H.get<any>(ref);
  2722  
  2723        x["extensionId"] = A.load.Ref(ptr + 0, undefined);
  2724        if (A.load.Bool(ptr + 28)) {
  2725          x["renderViewId"] = A.load.Int32(ptr + 4);
  2726        } else {
  2727          delete x["renderViewId"];
  2728        }
  2729        if (A.load.Bool(ptr + 29)) {
  2730          x["renderProcessId"] = A.load.Int32(ptr + 8);
  2731        } else {
  2732          delete x["renderProcessId"];
  2733        }
  2734        if (A.load.Bool(ptr + 30)) {
  2735          x["isServiceWorker"] = A.load.Bool(ptr + 12);
  2736        } else {
  2737          delete x["isServiceWorker"];
  2738        }
  2739        if (A.load.Bool(ptr + 31)) {
  2740          x["incognito"] = A.load.Bool(ptr + 13);
  2741        } else {
  2742          delete x["incognito"];
  2743        }
  2744        x["url"] = A.load.Ref(ptr + 16, undefined);
  2745        if (A.load.Bool(ptr + 32)) {
  2746          x["lineNumber"] = A.load.Int32(ptr + 20);
  2747        } else {
  2748          delete x["lineNumber"];
  2749        }
  2750        if (A.load.Bool(ptr + 33)) {
  2751          x["columnNumber"] = A.load.Int32(ptr + 24);
  2752        } else {
  2753          delete x["columnNumber"];
  2754        }
  2755        return create === A.H.TRUE ? A.H.push(x) : ref;
  2756      },
  2757      "constof_PackStatus": (ref: heap.Ref<string>): number => {
  2758        const idx = ["SUCCESS", "ERROR", "WARNING"].indexOf(A.H.get(ref));
  2759        return idx < 0 ? 0 : idx + 1;
  2760      },
  2761  
  2762      "store_PackDirectoryResponse": (ptr: Pointer, ref: heap.Ref<any>) => {
  2763        const x = A.H.get<any>(ref);
  2764  
  2765        if (typeof x === "undefined") {
  2766          A.store.Bool(ptr + 21, false);
  2767          A.store.Ref(ptr + 0, undefined);
  2768          A.store.Ref(ptr + 4, undefined);
  2769          A.store.Ref(ptr + 8, undefined);
  2770          A.store.Bool(ptr + 20, false);
  2771          A.store.Int32(ptr + 12, 0);
  2772          A.store.Enum(ptr + 16, -1);
  2773        } else {
  2774          A.store.Bool(ptr + 21, true);
  2775          A.store.Ref(ptr + 0, x["message"]);
  2776          A.store.Ref(ptr + 4, x["item_path"]);
  2777          A.store.Ref(ptr + 8, x["pem_path"]);
  2778          A.store.Bool(ptr + 20, "override_flags" in x ? true : false);
  2779          A.store.Int32(ptr + 12, x["override_flags"] === undefined ? 0 : (x["override_flags"] as number));
  2780          A.store.Enum(ptr + 16, ["SUCCESS", "ERROR", "WARNING"].indexOf(x["status"] as string));
  2781        }
  2782      },
  2783      "load_PackDirectoryResponse": (ptr: Pointer, create: heap.Ref<boolean>, ref: heap.Ref<any>): heap.Ref<any> => {
  2784        const x = create === A.H.TRUE ? {} : A.H.get<any>(ref);
  2785  
  2786        x["message"] = A.load.Ref(ptr + 0, undefined);
  2787        x["item_path"] = A.load.Ref(ptr + 4, undefined);
  2788        x["pem_path"] = A.load.Ref(ptr + 8, undefined);
  2789        if (A.load.Bool(ptr + 20)) {
  2790          x["override_flags"] = A.load.Int32(ptr + 12);
  2791        } else {
  2792          delete x["override_flags"];
  2793        }
  2794        x["status"] = A.load.Enum(ptr + 16, ["SUCCESS", "ERROR", "WARNING"]);
  2795        return create === A.H.TRUE ? A.H.push(x) : ref;
  2796      },
  2797  
  2798      "store_ProfileConfigurationUpdate": (ptr: Pointer, ref: heap.Ref<any>) => {
  2799        const x = A.H.get<any>(ref);
  2800  
  2801        if (typeof x === "undefined") {
  2802          A.store.Bool(ptr + 2, false);
  2803          A.store.Bool(ptr + 1, false);
  2804          A.store.Bool(ptr + 0, false);
  2805        } else {
  2806          A.store.Bool(ptr + 2, true);
  2807          A.store.Bool(ptr + 1, "inDeveloperMode" in x ? true : false);
  2808          A.store.Bool(ptr + 0, x["inDeveloperMode"] ? true : false);
  2809        }
  2810      },
  2811      "load_ProfileConfigurationUpdate": (ptr: Pointer, create: heap.Ref<boolean>, ref: heap.Ref<any>): heap.Ref<any> => {
  2812        const x = create === A.H.TRUE ? {} : A.H.get<any>(ref);
  2813  
  2814        if (A.load.Bool(ptr + 1)) {
  2815          x["inDeveloperMode"] = A.load.Bool(ptr + 0);
  2816        } else {
  2817          delete x["inDeveloperMode"];
  2818        }
  2819        return create === A.H.TRUE ? A.H.push(x) : ref;
  2820      },
  2821  
  2822      "store_ProfileInfo": (ptr: Pointer, ref: heap.Ref<any>) => {
  2823        const x = A.H.get<any>(ref);
  2824  
  2825        if (typeof x === "undefined") {
  2826          A.store.Bool(ptr + 10, false);
  2827          A.store.Bool(ptr + 5, false);
  2828          A.store.Bool(ptr + 0, false);
  2829          A.store.Bool(ptr + 6, false);
  2830          A.store.Bool(ptr + 1, false);
  2831          A.store.Bool(ptr + 7, false);
  2832          A.store.Bool(ptr + 2, false);
  2833          A.store.Bool(ptr + 8, false);
  2834          A.store.Bool(ptr + 3, false);
  2835          A.store.Bool(ptr + 9, false);
  2836          A.store.Bool(ptr + 4, false);
  2837        } else {
  2838          A.store.Bool(ptr + 10, true);
  2839          A.store.Bool(ptr + 5, "canLoadUnpacked" in x ? true : false);
  2840          A.store.Bool(ptr + 0, x["canLoadUnpacked"] ? true : false);
  2841          A.store.Bool(ptr + 6, "inDeveloperMode" in x ? true : false);
  2842          A.store.Bool(ptr + 1, x["inDeveloperMode"] ? true : false);
  2843          A.store.Bool(ptr + 7, "isDeveloperModeControlledByPolicy" in x ? true : false);
  2844          A.store.Bool(ptr + 2, x["isDeveloperModeControlledByPolicy"] ? true : false);
  2845          A.store.Bool(ptr + 8, "isIncognitoAvailable" in x ? true : false);
  2846          A.store.Bool(ptr + 3, x["isIncognitoAvailable"] ? true : false);
  2847          A.store.Bool(ptr + 9, "isChildAccount" in x ? true : false);
  2848          A.store.Bool(ptr + 4, x["isChildAccount"] ? true : false);
  2849        }
  2850      },
  2851      "load_ProfileInfo": (ptr: Pointer, create: heap.Ref<boolean>, ref: heap.Ref<any>): heap.Ref<any> => {
  2852        const x = create === A.H.TRUE ? {} : A.H.get<any>(ref);
  2853  
  2854        if (A.load.Bool(ptr + 5)) {
  2855          x["canLoadUnpacked"] = A.load.Bool(ptr + 0);
  2856        } else {
  2857          delete x["canLoadUnpacked"];
  2858        }
  2859        if (A.load.Bool(ptr + 6)) {
  2860          x["inDeveloperMode"] = A.load.Bool(ptr + 1);
  2861        } else {
  2862          delete x["inDeveloperMode"];
  2863        }
  2864        if (A.load.Bool(ptr + 7)) {
  2865          x["isDeveloperModeControlledByPolicy"] = A.load.Bool(ptr + 2);
  2866        } else {
  2867          delete x["isDeveloperModeControlledByPolicy"];
  2868        }
  2869        if (A.load.Bool(ptr + 8)) {
  2870          x["isIncognitoAvailable"] = A.load.Bool(ptr + 3);
  2871        } else {
  2872          delete x["isIncognitoAvailable"];
  2873        }
  2874        if (A.load.Bool(ptr + 9)) {
  2875          x["isChildAccount"] = A.load.Bool(ptr + 4);
  2876        } else {
  2877          delete x["isChildAccount"];
  2878        }
  2879        return create === A.H.TRUE ? A.H.push(x) : ref;
  2880      },
  2881  
  2882      "store_ReloadOptions": (ptr: Pointer, ref: heap.Ref<any>) => {
  2883        const x = A.H.get<any>(ref);
  2884  
  2885        if (typeof x === "undefined") {
  2886          A.store.Bool(ptr + 4, false);
  2887          A.store.Bool(ptr + 2, false);
  2888          A.store.Bool(ptr + 0, false);
  2889          A.store.Bool(ptr + 3, false);
  2890          A.store.Bool(ptr + 1, false);
  2891        } else {
  2892          A.store.Bool(ptr + 4, true);
  2893          A.store.Bool(ptr + 2, "failQuietly" in x ? true : false);
  2894          A.store.Bool(ptr + 0, x["failQuietly"] ? true : false);
  2895          A.store.Bool(ptr + 3, "populateErrorForUnpacked" in x ? true : false);
  2896          A.store.Bool(ptr + 1, x["populateErrorForUnpacked"] ? true : false);
  2897        }
  2898      },
  2899      "load_ReloadOptions": (ptr: Pointer, create: heap.Ref<boolean>, ref: heap.Ref<any>): heap.Ref<any> => {
  2900        const x = create === A.H.TRUE ? {} : A.H.get<any>(ref);
  2901  
  2902        if (A.load.Bool(ptr + 2)) {
  2903          x["failQuietly"] = A.load.Bool(ptr + 0);
  2904        } else {
  2905          delete x["failQuietly"];
  2906        }
  2907        if (A.load.Bool(ptr + 3)) {
  2908          x["populateErrorForUnpacked"] = A.load.Bool(ptr + 1);
  2909        } else {
  2910          delete x["populateErrorForUnpacked"];
  2911        }
  2912        return create === A.H.TRUE ? A.H.push(x) : ref;
  2913      },
  2914  
  2915      "store_RequestFileSourceResponse": (ptr: Pointer, ref: heap.Ref<any>) => {
  2916        const x = A.H.get<any>(ref);
  2917  
  2918        if (typeof x === "undefined") {
  2919          A.store.Bool(ptr + 20, false);
  2920          A.store.Ref(ptr + 0, undefined);
  2921          A.store.Ref(ptr + 4, undefined);
  2922          A.store.Ref(ptr + 8, undefined);
  2923          A.store.Ref(ptr + 12, undefined);
  2924          A.store.Ref(ptr + 16, undefined);
  2925        } else {
  2926          A.store.Bool(ptr + 20, true);
  2927          A.store.Ref(ptr + 0, x["highlight"]);
  2928          A.store.Ref(ptr + 4, x["beforeHighlight"]);
  2929          A.store.Ref(ptr + 8, x["afterHighlight"]);
  2930          A.store.Ref(ptr + 12, x["title"]);
  2931          A.store.Ref(ptr + 16, x["message"]);
  2932        }
  2933      },
  2934      "load_RequestFileSourceResponse": (ptr: Pointer, create: heap.Ref<boolean>, ref: heap.Ref<any>): heap.Ref<any> => {
  2935        const x = create === A.H.TRUE ? {} : A.H.get<any>(ref);
  2936  
  2937        x["highlight"] = A.load.Ref(ptr + 0, undefined);
  2938        x["beforeHighlight"] = A.load.Ref(ptr + 4, undefined);
  2939        x["afterHighlight"] = A.load.Ref(ptr + 8, undefined);
  2940        x["title"] = A.load.Ref(ptr + 12, undefined);
  2941        x["message"] = A.load.Ref(ptr + 16, undefined);
  2942        return create === A.H.TRUE ? A.H.push(x) : ref;
  2943      },
  2944  
  2945      "store_RequestFileSourceProperties": (ptr: Pointer, ref: heap.Ref<any>) => {
  2946        const x = A.H.get<any>(ref);
  2947  
  2948        if (typeof x === "undefined") {
  2949          A.store.Bool(ptr + 25, false);
  2950          A.store.Ref(ptr + 0, undefined);
  2951          A.store.Ref(ptr + 4, undefined);
  2952          A.store.Ref(ptr + 8, undefined);
  2953          A.store.Ref(ptr + 12, undefined);
  2954          A.store.Ref(ptr + 16, undefined);
  2955          A.store.Bool(ptr + 24, false);
  2956          A.store.Int32(ptr + 20, 0);
  2957        } else {
  2958          A.store.Bool(ptr + 25, true);
  2959          A.store.Ref(ptr + 0, x["extensionId"]);
  2960          A.store.Ref(ptr + 4, x["pathSuffix"]);
  2961          A.store.Ref(ptr + 8, x["message"]);
  2962          A.store.Ref(ptr + 12, x["manifestKey"]);
  2963          A.store.Ref(ptr + 16, x["manifestSpecific"]);
  2964          A.store.Bool(ptr + 24, "lineNumber" in x ? true : false);
  2965          A.store.Int32(ptr + 20, x["lineNumber"] === undefined ? 0 : (x["lineNumber"] as number));
  2966        }
  2967      },
  2968      "load_RequestFileSourceProperties": (
  2969        ptr: Pointer,
  2970        create: heap.Ref<boolean>,
  2971        ref: heap.Ref<any>
  2972      ): heap.Ref<any> => {
  2973        const x = create === A.H.TRUE ? {} : A.H.get<any>(ref);
  2974  
  2975        x["extensionId"] = A.load.Ref(ptr + 0, undefined);
  2976        x["pathSuffix"] = A.load.Ref(ptr + 4, undefined);
  2977        x["message"] = A.load.Ref(ptr + 8, undefined);
  2978        x["manifestKey"] = A.load.Ref(ptr + 12, undefined);
  2979        x["manifestSpecific"] = A.load.Ref(ptr + 16, undefined);
  2980        if (A.load.Bool(ptr + 24)) {
  2981          x["lineNumber"] = A.load.Int32(ptr + 20);
  2982        } else {
  2983          delete x["lineNumber"];
  2984        }
  2985        return create === A.H.TRUE ? A.H.push(x) : ref;
  2986      },
  2987      "constof_SelectType": (ref: heap.Ref<string>): number => {
  2988        const idx = ["FILE", "FOLDER"].indexOf(A.H.get(ref));
  2989        return idx < 0 ? 0 : idx + 1;
  2990      },
  2991      "constof_SiteSet": (ref: heap.Ref<string>): number => {
  2992        const idx = ["USER_PERMITTED", "USER_RESTRICTED", "EXTENSION_SPECIFIED"].indexOf(A.H.get(ref));
  2993        return idx < 0 ? 0 : idx + 1;
  2994      },
  2995  
  2996      "store_SiteInfo": (ptr: Pointer, ref: heap.Ref<any>) => {
  2997        const x = A.H.get<any>(ref);
  2998  
  2999        if (typeof x === "undefined") {
  3000          A.store.Bool(ptr + 13, false);
  3001          A.store.Enum(ptr + 0, -1);
  3002          A.store.Bool(ptr + 12, false);
  3003          A.store.Int32(ptr + 4, 0);
  3004          A.store.Ref(ptr + 8, undefined);
  3005        } else {
  3006          A.store.Bool(ptr + 13, true);
  3007          A.store.Enum(
  3008            ptr + 0,
  3009            ["USER_PERMITTED", "USER_RESTRICTED", "EXTENSION_SPECIFIED"].indexOf(x["siteSet"] as string)
  3010          );
  3011          A.store.Bool(ptr + 12, "numExtensions" in x ? true : false);
  3012          A.store.Int32(ptr + 4, x["numExtensions"] === undefined ? 0 : (x["numExtensions"] as number));
  3013          A.store.Ref(ptr + 8, x["site"]);
  3014        }
  3015      },
  3016      "load_SiteInfo": (ptr: Pointer, create: heap.Ref<boolean>, ref: heap.Ref<any>): heap.Ref<any> => {
  3017        const x = create === A.H.TRUE ? {} : A.H.get<any>(ref);
  3018  
  3019        x["siteSet"] = A.load.Enum(ptr + 0, ["USER_PERMITTED", "USER_RESTRICTED", "EXTENSION_SPECIFIED"]);
  3020        if (A.load.Bool(ptr + 12)) {
  3021          x["numExtensions"] = A.load.Int32(ptr + 4);
  3022        } else {
  3023          delete x["numExtensions"];
  3024        }
  3025        x["site"] = A.load.Ref(ptr + 8, undefined);
  3026        return create === A.H.TRUE ? A.H.push(x) : ref;
  3027      },
  3028  
  3029      "store_SiteGroup": (ptr: Pointer, ref: heap.Ref<any>) => {
  3030        const x = A.H.get<any>(ref);
  3031  
  3032        if (typeof x === "undefined") {
  3033          A.store.Bool(ptr + 13, false);
  3034          A.store.Ref(ptr + 0, undefined);
  3035          A.store.Bool(ptr + 12, false);
  3036          A.store.Int32(ptr + 4, 0);
  3037          A.store.Ref(ptr + 8, undefined);
  3038        } else {
  3039          A.store.Bool(ptr + 13, true);
  3040          A.store.Ref(ptr + 0, x["etldPlusOne"]);
  3041          A.store.Bool(ptr + 12, "numExtensions" in x ? true : false);
  3042          A.store.Int32(ptr + 4, x["numExtensions"] === undefined ? 0 : (x["numExtensions"] as number));
  3043          A.store.Ref(ptr + 8, x["sites"]);
  3044        }
  3045      },
  3046      "load_SiteGroup": (ptr: Pointer, create: heap.Ref<boolean>, ref: heap.Ref<any>): heap.Ref<any> => {
  3047        const x = create === A.H.TRUE ? {} : A.H.get<any>(ref);
  3048  
  3049        x["etldPlusOne"] = A.load.Ref(ptr + 0, undefined);
  3050        if (A.load.Bool(ptr + 12)) {
  3051          x["numExtensions"] = A.load.Int32(ptr + 4);
  3052        } else {
  3053          delete x["numExtensions"];
  3054        }
  3055        x["sites"] = A.load.Ref(ptr + 8, undefined);
  3056        return create === A.H.TRUE ? A.H.push(x) : ref;
  3057      },
  3058  
  3059      "store_UserSiteSettings": (ptr: Pointer, ref: heap.Ref<any>) => {
  3060        const x = A.H.get<any>(ref);
  3061  
  3062        if (typeof x === "undefined") {
  3063          A.store.Bool(ptr + 8, false);
  3064          A.store.Ref(ptr + 0, undefined);
  3065          A.store.Ref(ptr + 4, undefined);
  3066        } else {
  3067          A.store.Bool(ptr + 8, true);
  3068          A.store.Ref(ptr + 0, x["permittedSites"]);
  3069          A.store.Ref(ptr + 4, x["restrictedSites"]);
  3070        }
  3071      },
  3072      "load_UserSiteSettings": (ptr: Pointer, create: heap.Ref<boolean>, ref: heap.Ref<any>): heap.Ref<any> => {
  3073        const x = create === A.H.TRUE ? {} : A.H.get<any>(ref);
  3074  
  3075        x["permittedSites"] = A.load.Ref(ptr + 0, undefined);
  3076        x["restrictedSites"] = A.load.Ref(ptr + 4, undefined);
  3077        return create === A.H.TRUE ? A.H.push(x) : ref;
  3078      },
  3079  
  3080      "store_UserSiteSettingsOptions": (ptr: Pointer, ref: heap.Ref<any>) => {
  3081        const x = A.H.get<any>(ref);
  3082  
  3083        if (typeof x === "undefined") {
  3084          A.store.Bool(ptr + 8, false);
  3085          A.store.Enum(ptr + 0, -1);
  3086          A.store.Ref(ptr + 4, undefined);
  3087        } else {
  3088          A.store.Bool(ptr + 8, true);
  3089          A.store.Enum(
  3090            ptr + 0,
  3091            ["USER_PERMITTED", "USER_RESTRICTED", "EXTENSION_SPECIFIED"].indexOf(x["siteSet"] as string)
  3092          );
  3093          A.store.Ref(ptr + 4, x["hosts"]);
  3094        }
  3095      },
  3096      "load_UserSiteSettingsOptions": (ptr: Pointer, create: heap.Ref<boolean>, ref: heap.Ref<any>): heap.Ref<any> => {
  3097        const x = create === A.H.TRUE ? {} : A.H.get<any>(ref);
  3098  
  3099        x["siteSet"] = A.load.Enum(ptr + 0, ["USER_PERMITTED", "USER_RESTRICTED", "EXTENSION_SPECIFIED"]);
  3100        x["hosts"] = A.load.Ref(ptr + 4, undefined);
  3101        return create === A.H.TRUE ? A.H.push(x) : ref;
  3102      },
  3103      "has_AddHostPermission": (): heap.Ref<boolean> => {
  3104        if (WEBEXT?.developerPrivate && "addHostPermission" in WEBEXT?.developerPrivate) {
  3105          return A.H.TRUE;
  3106        }
  3107        return A.H.FALSE;
  3108      },
  3109      "func_AddHostPermission": (fn: Pointer): void => {
  3110        A.store.Ref(fn, WEBEXT.developerPrivate.addHostPermission);
  3111      },
  3112      "call_AddHostPermission": (retPtr: Pointer, extensionId: heap.Ref<object>, host: heap.Ref<object>): void => {
  3113        const _ret = WEBEXT.developerPrivate.addHostPermission(A.H.get<object>(extensionId), A.H.get<object>(host));
  3114        A.store.Ref(retPtr, _ret);
  3115      },
  3116      "try_AddHostPermission": (
  3117        retPtr: Pointer,
  3118        errPtr: Pointer,
  3119        extensionId: heap.Ref<object>,
  3120        host: heap.Ref<object>
  3121      ): heap.Ref<boolean> => {
  3122        try {
  3123          const _ret = WEBEXT.developerPrivate.addHostPermission(A.H.get<object>(extensionId), A.H.get<object>(host));
  3124          A.store.Ref(retPtr, _ret);
  3125          return A.H.TRUE;
  3126        } catch (err: any) {
  3127          A.store.Ref(errPtr, err);
  3128          return A.H.FALSE;
  3129        }
  3130      },
  3131      "has_AddUserSpecifiedSites": (): heap.Ref<boolean> => {
  3132        if (WEBEXT?.developerPrivate && "addUserSpecifiedSites" in WEBEXT?.developerPrivate) {
  3133          return A.H.TRUE;
  3134        }
  3135        return A.H.FALSE;
  3136      },
  3137      "func_AddUserSpecifiedSites": (fn: Pointer): void => {
  3138        A.store.Ref(fn, WEBEXT.developerPrivate.addUserSpecifiedSites);
  3139      },
  3140      "call_AddUserSpecifiedSites": (retPtr: Pointer, options: Pointer): void => {
  3141        const options_ffi = {};
  3142  
  3143        options_ffi["siteSet"] = A.load.Enum(options + 0, ["USER_PERMITTED", "USER_RESTRICTED", "EXTENSION_SPECIFIED"]);
  3144        options_ffi["hosts"] = A.load.Ref(options + 4, undefined);
  3145  
  3146        const _ret = WEBEXT.developerPrivate.addUserSpecifiedSites(options_ffi);
  3147        A.store.Ref(retPtr, _ret);
  3148      },
  3149      "try_AddUserSpecifiedSites": (retPtr: Pointer, errPtr: Pointer, options: Pointer): heap.Ref<boolean> => {
  3150        try {
  3151          const options_ffi = {};
  3152  
  3153          options_ffi["siteSet"] = A.load.Enum(options + 0, ["USER_PERMITTED", "USER_RESTRICTED", "EXTENSION_SPECIFIED"]);
  3154          options_ffi["hosts"] = A.load.Ref(options + 4, undefined);
  3155  
  3156          const _ret = WEBEXT.developerPrivate.addUserSpecifiedSites(options_ffi);
  3157          A.store.Ref(retPtr, _ret);
  3158          return A.H.TRUE;
  3159        } catch (err: any) {
  3160          A.store.Ref(errPtr, err);
  3161          return A.H.FALSE;
  3162        }
  3163      },
  3164      "has_AutoUpdate": (): heap.Ref<boolean> => {
  3165        if (WEBEXT?.developerPrivate && "autoUpdate" in WEBEXT?.developerPrivate) {
  3166          return A.H.TRUE;
  3167        }
  3168        return A.H.FALSE;
  3169      },
  3170      "func_AutoUpdate": (fn: Pointer): void => {
  3171        A.store.Ref(fn, WEBEXT.developerPrivate.autoUpdate);
  3172      },
  3173      "call_AutoUpdate": (retPtr: Pointer): void => {
  3174        const _ret = WEBEXT.developerPrivate.autoUpdate();
  3175        A.store.Ref(retPtr, _ret);
  3176      },
  3177      "try_AutoUpdate": (retPtr: Pointer, errPtr: Pointer): heap.Ref<boolean> => {
  3178        try {
  3179          const _ret = WEBEXT.developerPrivate.autoUpdate();
  3180          A.store.Ref(retPtr, _ret);
  3181          return A.H.TRUE;
  3182        } catch (err: any) {
  3183          A.store.Ref(errPtr, err);
  3184          return A.H.FALSE;
  3185        }
  3186      },
  3187      "has_ChoosePath": (): heap.Ref<boolean> => {
  3188        if (WEBEXT?.developerPrivate && "choosePath" in WEBEXT?.developerPrivate) {
  3189          return A.H.TRUE;
  3190        }
  3191        return A.H.FALSE;
  3192      },
  3193      "func_ChoosePath": (fn: Pointer): void => {
  3194        A.store.Ref(fn, WEBEXT.developerPrivate.choosePath);
  3195      },
  3196      "call_ChoosePath": (retPtr: Pointer, selectType: number, fileType: number): void => {
  3197        const _ret = WEBEXT.developerPrivate.choosePath(
  3198          selectType > 0 && selectType <= 2 ? ["FILE", "FOLDER"][selectType - 1] : undefined,
  3199          fileType > 0 && fileType <= 2 ? ["LOAD", "PEM"][fileType - 1] : undefined
  3200        );
  3201        A.store.Ref(retPtr, _ret);
  3202      },
  3203      "try_ChoosePath": (retPtr: Pointer, errPtr: Pointer, selectType: number, fileType: number): heap.Ref<boolean> => {
  3204        try {
  3205          const _ret = WEBEXT.developerPrivate.choosePath(
  3206            selectType > 0 && selectType <= 2 ? ["FILE", "FOLDER"][selectType - 1] : undefined,
  3207            fileType > 0 && fileType <= 2 ? ["LOAD", "PEM"][fileType - 1] : undefined
  3208          );
  3209          A.store.Ref(retPtr, _ret);
  3210          return A.H.TRUE;
  3211        } catch (err: any) {
  3212          A.store.Ref(errPtr, err);
  3213          return A.H.FALSE;
  3214        }
  3215      },
  3216      "has_DeleteExtensionErrors": (): heap.Ref<boolean> => {
  3217        if (WEBEXT?.developerPrivate && "deleteExtensionErrors" in WEBEXT?.developerPrivate) {
  3218          return A.H.TRUE;
  3219        }
  3220        return A.H.FALSE;
  3221      },
  3222      "func_DeleteExtensionErrors": (fn: Pointer): void => {
  3223        A.store.Ref(fn, WEBEXT.developerPrivate.deleteExtensionErrors);
  3224      },
  3225      "call_DeleteExtensionErrors": (retPtr: Pointer, properties: Pointer): void => {
  3226        const properties_ffi = {};
  3227  
  3228        properties_ffi["extensionId"] = A.load.Ref(properties + 0, undefined);
  3229        properties_ffi["errorIds"] = A.load.Ref(properties + 4, undefined);
  3230        properties_ffi["type"] = A.load.Enum(properties + 8, ["MANIFEST", "RUNTIME"]);
  3231  
  3232        const _ret = WEBEXT.developerPrivate.deleteExtensionErrors(properties_ffi);
  3233        A.store.Ref(retPtr, _ret);
  3234      },
  3235      "try_DeleteExtensionErrors": (retPtr: Pointer, errPtr: Pointer, properties: Pointer): heap.Ref<boolean> => {
  3236        try {
  3237          const properties_ffi = {};
  3238  
  3239          properties_ffi["extensionId"] = A.load.Ref(properties + 0, undefined);
  3240          properties_ffi["errorIds"] = A.load.Ref(properties + 4, undefined);
  3241          properties_ffi["type"] = A.load.Enum(properties + 8, ["MANIFEST", "RUNTIME"]);
  3242  
  3243          const _ret = WEBEXT.developerPrivate.deleteExtensionErrors(properties_ffi);
  3244          A.store.Ref(retPtr, _ret);
  3245          return A.H.TRUE;
  3246        } catch (err: any) {
  3247          A.store.Ref(errPtr, err);
  3248          return A.H.FALSE;
  3249        }
  3250      },
  3251      "has_GetExtensionInfo": (): heap.Ref<boolean> => {
  3252        if (WEBEXT?.developerPrivate && "getExtensionInfo" in WEBEXT?.developerPrivate) {
  3253          return A.H.TRUE;
  3254        }
  3255        return A.H.FALSE;
  3256      },
  3257      "func_GetExtensionInfo": (fn: Pointer): void => {
  3258        A.store.Ref(fn, WEBEXT.developerPrivate.getExtensionInfo);
  3259      },
  3260      "call_GetExtensionInfo": (retPtr: Pointer, id: heap.Ref<object>): void => {
  3261        const _ret = WEBEXT.developerPrivate.getExtensionInfo(A.H.get<object>(id));
  3262        A.store.Ref(retPtr, _ret);
  3263      },
  3264      "try_GetExtensionInfo": (retPtr: Pointer, errPtr: Pointer, id: heap.Ref<object>): heap.Ref<boolean> => {
  3265        try {
  3266          const _ret = WEBEXT.developerPrivate.getExtensionInfo(A.H.get<object>(id));
  3267          A.store.Ref(retPtr, _ret);
  3268          return A.H.TRUE;
  3269        } catch (err: any) {
  3270          A.store.Ref(errPtr, err);
  3271          return A.H.FALSE;
  3272        }
  3273      },
  3274      "has_GetExtensionSize": (): heap.Ref<boolean> => {
  3275        if (WEBEXT?.developerPrivate && "getExtensionSize" in WEBEXT?.developerPrivate) {
  3276          return A.H.TRUE;
  3277        }
  3278        return A.H.FALSE;
  3279      },
  3280      "func_GetExtensionSize": (fn: Pointer): void => {
  3281        A.store.Ref(fn, WEBEXT.developerPrivate.getExtensionSize);
  3282      },
  3283      "call_GetExtensionSize": (retPtr: Pointer, id: heap.Ref<object>): void => {
  3284        const _ret = WEBEXT.developerPrivate.getExtensionSize(A.H.get<object>(id));
  3285        A.store.Ref(retPtr, _ret);
  3286      },
  3287      "try_GetExtensionSize": (retPtr: Pointer, errPtr: Pointer, id: heap.Ref<object>): heap.Ref<boolean> => {
  3288        try {
  3289          const _ret = WEBEXT.developerPrivate.getExtensionSize(A.H.get<object>(id));
  3290          A.store.Ref(retPtr, _ret);
  3291          return A.H.TRUE;
  3292        } catch (err: any) {
  3293          A.store.Ref(errPtr, err);
  3294          return A.H.FALSE;
  3295        }
  3296      },
  3297      "has_GetExtensionsInfo": (): heap.Ref<boolean> => {
  3298        if (WEBEXT?.developerPrivate && "getExtensionsInfo" in WEBEXT?.developerPrivate) {
  3299          return A.H.TRUE;
  3300        }
  3301        return A.H.FALSE;
  3302      },
  3303      "func_GetExtensionsInfo": (fn: Pointer): void => {
  3304        A.store.Ref(fn, WEBEXT.developerPrivate.getExtensionsInfo);
  3305      },
  3306      "call_GetExtensionsInfo": (retPtr: Pointer, options: Pointer): void => {
  3307        const options_ffi = {};
  3308  
  3309        if (A.load.Bool(options + 2)) {
  3310          options_ffi["includeDisabled"] = A.load.Bool(options + 0);
  3311        }
  3312        if (A.load.Bool(options + 3)) {
  3313          options_ffi["includeTerminated"] = A.load.Bool(options + 1);
  3314        }
  3315  
  3316        const _ret = WEBEXT.developerPrivate.getExtensionsInfo(options_ffi);
  3317        A.store.Ref(retPtr, _ret);
  3318      },
  3319      "try_GetExtensionsInfo": (retPtr: Pointer, errPtr: Pointer, options: Pointer): heap.Ref<boolean> => {
  3320        try {
  3321          const options_ffi = {};
  3322  
  3323          if (A.load.Bool(options + 2)) {
  3324            options_ffi["includeDisabled"] = A.load.Bool(options + 0);
  3325          }
  3326          if (A.load.Bool(options + 3)) {
  3327            options_ffi["includeTerminated"] = A.load.Bool(options + 1);
  3328          }
  3329  
  3330          const _ret = WEBEXT.developerPrivate.getExtensionsInfo(options_ffi);
  3331          A.store.Ref(retPtr, _ret);
  3332          return A.H.TRUE;
  3333        } catch (err: any) {
  3334          A.store.Ref(errPtr, err);
  3335          return A.H.FALSE;
  3336        }
  3337      },
  3338      "has_GetMatchingExtensionsForSite": (): heap.Ref<boolean> => {
  3339        if (WEBEXT?.developerPrivate && "getMatchingExtensionsForSite" in WEBEXT?.developerPrivate) {
  3340          return A.H.TRUE;
  3341        }
  3342        return A.H.FALSE;
  3343      },
  3344      "func_GetMatchingExtensionsForSite": (fn: Pointer): void => {
  3345        A.store.Ref(fn, WEBEXT.developerPrivate.getMatchingExtensionsForSite);
  3346      },
  3347      "call_GetMatchingExtensionsForSite": (retPtr: Pointer, site: heap.Ref<object>): void => {
  3348        const _ret = WEBEXT.developerPrivate.getMatchingExtensionsForSite(A.H.get<object>(site));
  3349        A.store.Ref(retPtr, _ret);
  3350      },
  3351      "try_GetMatchingExtensionsForSite": (
  3352        retPtr: Pointer,
  3353        errPtr: Pointer,
  3354        site: heap.Ref<object>
  3355      ): heap.Ref<boolean> => {
  3356        try {
  3357          const _ret = WEBEXT.developerPrivate.getMatchingExtensionsForSite(A.H.get<object>(site));
  3358          A.store.Ref(retPtr, _ret);
  3359          return A.H.TRUE;
  3360        } catch (err: any) {
  3361          A.store.Ref(errPtr, err);
  3362          return A.H.FALSE;
  3363        }
  3364      },
  3365      "has_GetProfileConfiguration": (): heap.Ref<boolean> => {
  3366        if (WEBEXT?.developerPrivate && "getProfileConfiguration" in WEBEXT?.developerPrivate) {
  3367          return A.H.TRUE;
  3368        }
  3369        return A.H.FALSE;
  3370      },
  3371      "func_GetProfileConfiguration": (fn: Pointer): void => {
  3372        A.store.Ref(fn, WEBEXT.developerPrivate.getProfileConfiguration);
  3373      },
  3374      "call_GetProfileConfiguration": (retPtr: Pointer): void => {
  3375        const _ret = WEBEXT.developerPrivate.getProfileConfiguration();
  3376        A.store.Ref(retPtr, _ret);
  3377      },
  3378      "try_GetProfileConfiguration": (retPtr: Pointer, errPtr: Pointer): heap.Ref<boolean> => {
  3379        try {
  3380          const _ret = WEBEXT.developerPrivate.getProfileConfiguration();
  3381          A.store.Ref(retPtr, _ret);
  3382          return A.H.TRUE;
  3383        } catch (err: any) {
  3384          A.store.Ref(errPtr, err);
  3385          return A.H.FALSE;
  3386        }
  3387      },
  3388      "has_GetUserAndExtensionSitesByEtld": (): heap.Ref<boolean> => {
  3389        if (WEBEXT?.developerPrivate && "getUserAndExtensionSitesByEtld" in WEBEXT?.developerPrivate) {
  3390          return A.H.TRUE;
  3391        }
  3392        return A.H.FALSE;
  3393      },
  3394      "func_GetUserAndExtensionSitesByEtld": (fn: Pointer): void => {
  3395        A.store.Ref(fn, WEBEXT.developerPrivate.getUserAndExtensionSitesByEtld);
  3396      },
  3397      "call_GetUserAndExtensionSitesByEtld": (retPtr: Pointer): void => {
  3398        const _ret = WEBEXT.developerPrivate.getUserAndExtensionSitesByEtld();
  3399        A.store.Ref(retPtr, _ret);
  3400      },
  3401      "try_GetUserAndExtensionSitesByEtld": (retPtr: Pointer, errPtr: Pointer): heap.Ref<boolean> => {
  3402        try {
  3403          const _ret = WEBEXT.developerPrivate.getUserAndExtensionSitesByEtld();
  3404          A.store.Ref(retPtr, _ret);
  3405          return A.H.TRUE;
  3406        } catch (err: any) {
  3407          A.store.Ref(errPtr, err);
  3408          return A.H.FALSE;
  3409        }
  3410      },
  3411      "has_GetUserSiteSettings": (): heap.Ref<boolean> => {
  3412        if (WEBEXT?.developerPrivate && "getUserSiteSettings" in WEBEXT?.developerPrivate) {
  3413          return A.H.TRUE;
  3414        }
  3415        return A.H.FALSE;
  3416      },
  3417      "func_GetUserSiteSettings": (fn: Pointer): void => {
  3418        A.store.Ref(fn, WEBEXT.developerPrivate.getUserSiteSettings);
  3419      },
  3420      "call_GetUserSiteSettings": (retPtr: Pointer): void => {
  3421        const _ret = WEBEXT.developerPrivate.getUserSiteSettings();
  3422        A.store.Ref(retPtr, _ret);
  3423      },
  3424      "try_GetUserSiteSettings": (retPtr: Pointer, errPtr: Pointer): heap.Ref<boolean> => {
  3425        try {
  3426          const _ret = WEBEXT.developerPrivate.getUserSiteSettings();
  3427          A.store.Ref(retPtr, _ret);
  3428          return A.H.TRUE;
  3429        } catch (err: any) {
  3430          A.store.Ref(errPtr, err);
  3431          return A.H.FALSE;
  3432        }
  3433      },
  3434      "has_Inspect": (): heap.Ref<boolean> => {
  3435        if (WEBEXT?.developerPrivate && "inspect" in WEBEXT?.developerPrivate) {
  3436          return A.H.TRUE;
  3437        }
  3438        return A.H.FALSE;
  3439      },
  3440      "func_Inspect": (fn: Pointer): void => {
  3441        A.store.Ref(fn, WEBEXT.developerPrivate.inspect);
  3442      },
  3443      "call_Inspect": (retPtr: Pointer, options: Pointer, callback: heap.Ref<object>): void => {
  3444        const options_ffi = {};
  3445  
  3446        options_ffi["extension_id"] = A.load.Ref(options + 0, undefined);
  3447        options_ffi["render_process_id"] = A.load.Ref(options + 4, undefined);
  3448        options_ffi["render_view_id"] = A.load.Ref(options + 8, undefined);
  3449        if (A.load.Bool(options + 13)) {
  3450          options_ffi["incognito"] = A.load.Bool(options + 12);
  3451        }
  3452  
  3453        const _ret = WEBEXT.developerPrivate.inspect(options_ffi, A.H.get<object>(callback));
  3454      },
  3455      "try_Inspect": (
  3456        retPtr: Pointer,
  3457        errPtr: Pointer,
  3458        options: Pointer,
  3459        callback: heap.Ref<object>
  3460      ): heap.Ref<boolean> => {
  3461        try {
  3462          const options_ffi = {};
  3463  
  3464          options_ffi["extension_id"] = A.load.Ref(options + 0, undefined);
  3465          options_ffi["render_process_id"] = A.load.Ref(options + 4, undefined);
  3466          options_ffi["render_view_id"] = A.load.Ref(options + 8, undefined);
  3467          if (A.load.Bool(options + 13)) {
  3468            options_ffi["incognito"] = A.load.Bool(options + 12);
  3469          }
  3470  
  3471          const _ret = WEBEXT.developerPrivate.inspect(options_ffi, A.H.get<object>(callback));
  3472          return A.H.TRUE;
  3473        } catch (err: any) {
  3474          A.store.Ref(errPtr, err);
  3475          return A.H.FALSE;
  3476        }
  3477      },
  3478      "has_InstallDroppedFile": (): heap.Ref<boolean> => {
  3479        if (WEBEXT?.developerPrivate && "installDroppedFile" in WEBEXT?.developerPrivate) {
  3480          return A.H.TRUE;
  3481        }
  3482        return A.H.FALSE;
  3483      },
  3484      "func_InstallDroppedFile": (fn: Pointer): void => {
  3485        A.store.Ref(fn, WEBEXT.developerPrivate.installDroppedFile);
  3486      },
  3487      "call_InstallDroppedFile": (retPtr: Pointer): void => {
  3488        const _ret = WEBEXT.developerPrivate.installDroppedFile();
  3489        A.store.Ref(retPtr, _ret);
  3490      },
  3491      "try_InstallDroppedFile": (retPtr: Pointer, errPtr: Pointer): heap.Ref<boolean> => {
  3492        try {
  3493          const _ret = WEBEXT.developerPrivate.installDroppedFile();
  3494          A.store.Ref(retPtr, _ret);
  3495          return A.H.TRUE;
  3496        } catch (err: any) {
  3497          A.store.Ref(errPtr, err);
  3498          return A.H.FALSE;
  3499        }
  3500      },
  3501      "has_IsProfileManaged": (): heap.Ref<boolean> => {
  3502        if (WEBEXT?.developerPrivate && "isProfileManaged" in WEBEXT?.developerPrivate) {
  3503          return A.H.TRUE;
  3504        }
  3505        return A.H.FALSE;
  3506      },
  3507      "func_IsProfileManaged": (fn: Pointer): void => {
  3508        A.store.Ref(fn, WEBEXT.developerPrivate.isProfileManaged);
  3509      },
  3510      "call_IsProfileManaged": (retPtr: Pointer): void => {
  3511        const _ret = WEBEXT.developerPrivate.isProfileManaged();
  3512        A.store.Ref(retPtr, _ret);
  3513      },
  3514      "try_IsProfileManaged": (retPtr: Pointer, errPtr: Pointer): heap.Ref<boolean> => {
  3515        try {
  3516          const _ret = WEBEXT.developerPrivate.isProfileManaged();
  3517          A.store.Ref(retPtr, _ret);
  3518          return A.H.TRUE;
  3519        } catch (err: any) {
  3520          A.store.Ref(errPtr, err);
  3521          return A.H.FALSE;
  3522        }
  3523      },
  3524      "has_LoadDirectory": (): heap.Ref<boolean> => {
  3525        if (WEBEXT?.developerPrivate && "loadDirectory" in WEBEXT?.developerPrivate) {
  3526          return A.H.TRUE;
  3527        }
  3528        return A.H.FALSE;
  3529      },
  3530      "func_LoadDirectory": (fn: Pointer): void => {
  3531        A.store.Ref(fn, WEBEXT.developerPrivate.loadDirectory);
  3532      },
  3533      "call_LoadDirectory": (retPtr: Pointer, directory: heap.Ref<object>): void => {
  3534        const _ret = WEBEXT.developerPrivate.loadDirectory(A.H.get<object>(directory));
  3535        A.store.Ref(retPtr, _ret);
  3536      },
  3537      "try_LoadDirectory": (retPtr: Pointer, errPtr: Pointer, directory: heap.Ref<object>): heap.Ref<boolean> => {
  3538        try {
  3539          const _ret = WEBEXT.developerPrivate.loadDirectory(A.H.get<object>(directory));
  3540          A.store.Ref(retPtr, _ret);
  3541          return A.H.TRUE;
  3542        } catch (err: any) {
  3543          A.store.Ref(errPtr, err);
  3544          return A.H.FALSE;
  3545        }
  3546      },
  3547      "has_LoadUnpacked": (): heap.Ref<boolean> => {
  3548        if (WEBEXT?.developerPrivate && "loadUnpacked" in WEBEXT?.developerPrivate) {
  3549          return A.H.TRUE;
  3550        }
  3551        return A.H.FALSE;
  3552      },
  3553      "func_LoadUnpacked": (fn: Pointer): void => {
  3554        A.store.Ref(fn, WEBEXT.developerPrivate.loadUnpacked);
  3555      },
  3556      "call_LoadUnpacked": (retPtr: Pointer, options: Pointer): void => {
  3557        const options_ffi = {};
  3558  
  3559        if (A.load.Bool(options + 9)) {
  3560          options_ffi["failQuietly"] = A.load.Bool(options + 0);
  3561        }
  3562        if (A.load.Bool(options + 10)) {
  3563          options_ffi["populateError"] = A.load.Bool(options + 1);
  3564        }
  3565        options_ffi["retryGuid"] = A.load.Ref(options + 4, undefined);
  3566        if (A.load.Bool(options + 11)) {
  3567          options_ffi["useDraggedPath"] = A.load.Bool(options + 8);
  3568        }
  3569  
  3570        const _ret = WEBEXT.developerPrivate.loadUnpacked(options_ffi);
  3571        A.store.Ref(retPtr, _ret);
  3572      },
  3573      "try_LoadUnpacked": (retPtr: Pointer, errPtr: Pointer, options: Pointer): heap.Ref<boolean> => {
  3574        try {
  3575          const options_ffi = {};
  3576  
  3577          if (A.load.Bool(options + 9)) {
  3578            options_ffi["failQuietly"] = A.load.Bool(options + 0);
  3579          }
  3580          if (A.load.Bool(options + 10)) {
  3581            options_ffi["populateError"] = A.load.Bool(options + 1);
  3582          }
  3583          options_ffi["retryGuid"] = A.load.Ref(options + 4, undefined);
  3584          if (A.load.Bool(options + 11)) {
  3585            options_ffi["useDraggedPath"] = A.load.Bool(options + 8);
  3586          }
  3587  
  3588          const _ret = WEBEXT.developerPrivate.loadUnpacked(options_ffi);
  3589          A.store.Ref(retPtr, _ret);
  3590          return A.H.TRUE;
  3591        } catch (err: any) {
  3592          A.store.Ref(errPtr, err);
  3593          return A.H.FALSE;
  3594        }
  3595      },
  3596      "has_NotifyDragInstallInProgress": (): heap.Ref<boolean> => {
  3597        if (WEBEXT?.developerPrivate && "notifyDragInstallInProgress" in WEBEXT?.developerPrivate) {
  3598          return A.H.TRUE;
  3599        }
  3600        return A.H.FALSE;
  3601      },
  3602      "func_NotifyDragInstallInProgress": (fn: Pointer): void => {
  3603        A.store.Ref(fn, WEBEXT.developerPrivate.notifyDragInstallInProgress);
  3604      },
  3605      "call_NotifyDragInstallInProgress": (retPtr: Pointer): void => {
  3606        const _ret = WEBEXT.developerPrivate.notifyDragInstallInProgress();
  3607      },
  3608      "try_NotifyDragInstallInProgress": (retPtr: Pointer, errPtr: Pointer): heap.Ref<boolean> => {
  3609        try {
  3610          const _ret = WEBEXT.developerPrivate.notifyDragInstallInProgress();
  3611          return A.H.TRUE;
  3612        } catch (err: any) {
  3613          A.store.Ref(errPtr, err);
  3614          return A.H.FALSE;
  3615        }
  3616      },
  3617      "has_OnItemStateChanged": (): heap.Ref<boolean> => {
  3618        if (
  3619          WEBEXT?.developerPrivate?.onItemStateChanged &&
  3620          "addListener" in WEBEXT?.developerPrivate?.onItemStateChanged
  3621        ) {
  3622          return A.H.TRUE;
  3623        }
  3624        return A.H.FALSE;
  3625      },
  3626      "func_OnItemStateChanged": (fn: Pointer): void => {
  3627        A.store.Ref(fn, WEBEXT.developerPrivate.onItemStateChanged.addListener);
  3628      },
  3629      "call_OnItemStateChanged": (retPtr: Pointer, callback: heap.Ref<object>): void => {
  3630        const _ret = WEBEXT.developerPrivate.onItemStateChanged.addListener(A.H.get<object>(callback));
  3631      },
  3632      "try_OnItemStateChanged": (retPtr: Pointer, errPtr: Pointer, callback: heap.Ref<object>): heap.Ref<boolean> => {
  3633        try {
  3634          const _ret = WEBEXT.developerPrivate.onItemStateChanged.addListener(A.H.get<object>(callback));
  3635          return A.H.TRUE;
  3636        } catch (err: any) {
  3637          A.store.Ref(errPtr, err);
  3638          return A.H.FALSE;
  3639        }
  3640      },
  3641      "has_OffItemStateChanged": (): heap.Ref<boolean> => {
  3642        if (
  3643          WEBEXT?.developerPrivate?.onItemStateChanged &&
  3644          "removeListener" in WEBEXT?.developerPrivate?.onItemStateChanged
  3645        ) {
  3646          return A.H.TRUE;
  3647        }
  3648        return A.H.FALSE;
  3649      },
  3650      "func_OffItemStateChanged": (fn: Pointer): void => {
  3651        A.store.Ref(fn, WEBEXT.developerPrivate.onItemStateChanged.removeListener);
  3652      },
  3653      "call_OffItemStateChanged": (retPtr: Pointer, callback: heap.Ref<object>): void => {
  3654        const _ret = WEBEXT.developerPrivate.onItemStateChanged.removeListener(A.H.get<object>(callback));
  3655      },
  3656      "try_OffItemStateChanged": (retPtr: Pointer, errPtr: Pointer, callback: heap.Ref<object>): heap.Ref<boolean> => {
  3657        try {
  3658          const _ret = WEBEXT.developerPrivate.onItemStateChanged.removeListener(A.H.get<object>(callback));
  3659          return A.H.TRUE;
  3660        } catch (err: any) {
  3661          A.store.Ref(errPtr, err);
  3662          return A.H.FALSE;
  3663        }
  3664      },
  3665      "has_HasOnItemStateChanged": (): heap.Ref<boolean> => {
  3666        if (
  3667          WEBEXT?.developerPrivate?.onItemStateChanged &&
  3668          "hasListener" in WEBEXT?.developerPrivate?.onItemStateChanged
  3669        ) {
  3670          return A.H.TRUE;
  3671        }
  3672        return A.H.FALSE;
  3673      },
  3674      "func_HasOnItemStateChanged": (fn: Pointer): void => {
  3675        A.store.Ref(fn, WEBEXT.developerPrivate.onItemStateChanged.hasListener);
  3676      },
  3677      "call_HasOnItemStateChanged": (retPtr: Pointer, callback: heap.Ref<object>): void => {
  3678        const _ret = WEBEXT.developerPrivate.onItemStateChanged.hasListener(A.H.get<object>(callback));
  3679        A.store.Bool(retPtr, _ret);
  3680      },
  3681      "try_HasOnItemStateChanged": (retPtr: Pointer, errPtr: Pointer, callback: heap.Ref<object>): heap.Ref<boolean> => {
  3682        try {
  3683          const _ret = WEBEXT.developerPrivate.onItemStateChanged.hasListener(A.H.get<object>(callback));
  3684          A.store.Bool(retPtr, _ret);
  3685          return A.H.TRUE;
  3686        } catch (err: any) {
  3687          A.store.Ref(errPtr, err);
  3688          return A.H.FALSE;
  3689        }
  3690      },
  3691      "has_OnProfileStateChanged": (): heap.Ref<boolean> => {
  3692        if (
  3693          WEBEXT?.developerPrivate?.onProfileStateChanged &&
  3694          "addListener" in WEBEXT?.developerPrivate?.onProfileStateChanged
  3695        ) {
  3696          return A.H.TRUE;
  3697        }
  3698        return A.H.FALSE;
  3699      },
  3700      "func_OnProfileStateChanged": (fn: Pointer): void => {
  3701        A.store.Ref(fn, WEBEXT.developerPrivate.onProfileStateChanged.addListener);
  3702      },
  3703      "call_OnProfileStateChanged": (retPtr: Pointer, callback: heap.Ref<object>): void => {
  3704        const _ret = WEBEXT.developerPrivate.onProfileStateChanged.addListener(A.H.get<object>(callback));
  3705      },
  3706      "try_OnProfileStateChanged": (retPtr: Pointer, errPtr: Pointer, callback: heap.Ref<object>): heap.Ref<boolean> => {
  3707        try {
  3708          const _ret = WEBEXT.developerPrivate.onProfileStateChanged.addListener(A.H.get<object>(callback));
  3709          return A.H.TRUE;
  3710        } catch (err: any) {
  3711          A.store.Ref(errPtr, err);
  3712          return A.H.FALSE;
  3713        }
  3714      },
  3715      "has_OffProfileStateChanged": (): heap.Ref<boolean> => {
  3716        if (
  3717          WEBEXT?.developerPrivate?.onProfileStateChanged &&
  3718          "removeListener" in WEBEXT?.developerPrivate?.onProfileStateChanged
  3719        ) {
  3720          return A.H.TRUE;
  3721        }
  3722        return A.H.FALSE;
  3723      },
  3724      "func_OffProfileStateChanged": (fn: Pointer): void => {
  3725        A.store.Ref(fn, WEBEXT.developerPrivate.onProfileStateChanged.removeListener);
  3726      },
  3727      "call_OffProfileStateChanged": (retPtr: Pointer, callback: heap.Ref<object>): void => {
  3728        const _ret = WEBEXT.developerPrivate.onProfileStateChanged.removeListener(A.H.get<object>(callback));
  3729      },
  3730      "try_OffProfileStateChanged": (retPtr: Pointer, errPtr: Pointer, callback: heap.Ref<object>): heap.Ref<boolean> => {
  3731        try {
  3732          const _ret = WEBEXT.developerPrivate.onProfileStateChanged.removeListener(A.H.get<object>(callback));
  3733          return A.H.TRUE;
  3734        } catch (err: any) {
  3735          A.store.Ref(errPtr, err);
  3736          return A.H.FALSE;
  3737        }
  3738      },
  3739      "has_HasOnProfileStateChanged": (): heap.Ref<boolean> => {
  3740        if (
  3741          WEBEXT?.developerPrivate?.onProfileStateChanged &&
  3742          "hasListener" in WEBEXT?.developerPrivate?.onProfileStateChanged
  3743        ) {
  3744          return A.H.TRUE;
  3745        }
  3746        return A.H.FALSE;
  3747      },
  3748      "func_HasOnProfileStateChanged": (fn: Pointer): void => {
  3749        A.store.Ref(fn, WEBEXT.developerPrivate.onProfileStateChanged.hasListener);
  3750      },
  3751      "call_HasOnProfileStateChanged": (retPtr: Pointer, callback: heap.Ref<object>): void => {
  3752        const _ret = WEBEXT.developerPrivate.onProfileStateChanged.hasListener(A.H.get<object>(callback));
  3753        A.store.Bool(retPtr, _ret);
  3754      },
  3755      "try_HasOnProfileStateChanged": (
  3756        retPtr: Pointer,
  3757        errPtr: Pointer,
  3758        callback: heap.Ref<object>
  3759      ): heap.Ref<boolean> => {
  3760        try {
  3761          const _ret = WEBEXT.developerPrivate.onProfileStateChanged.hasListener(A.H.get<object>(callback));
  3762          A.store.Bool(retPtr, _ret);
  3763          return A.H.TRUE;
  3764        } catch (err: any) {
  3765          A.store.Ref(errPtr, err);
  3766          return A.H.FALSE;
  3767        }
  3768      },
  3769      "has_OnUserSiteSettingsChanged": (): heap.Ref<boolean> => {
  3770        if (
  3771          WEBEXT?.developerPrivate?.onUserSiteSettingsChanged &&
  3772          "addListener" in WEBEXT?.developerPrivate?.onUserSiteSettingsChanged
  3773        ) {
  3774          return A.H.TRUE;
  3775        }
  3776        return A.H.FALSE;
  3777      },
  3778      "func_OnUserSiteSettingsChanged": (fn: Pointer): void => {
  3779        A.store.Ref(fn, WEBEXT.developerPrivate.onUserSiteSettingsChanged.addListener);
  3780      },
  3781      "call_OnUserSiteSettingsChanged": (retPtr: Pointer, callback: heap.Ref<object>): void => {
  3782        const _ret = WEBEXT.developerPrivate.onUserSiteSettingsChanged.addListener(A.H.get<object>(callback));
  3783      },
  3784      "try_OnUserSiteSettingsChanged": (
  3785        retPtr: Pointer,
  3786        errPtr: Pointer,
  3787        callback: heap.Ref<object>
  3788      ): heap.Ref<boolean> => {
  3789        try {
  3790          const _ret = WEBEXT.developerPrivate.onUserSiteSettingsChanged.addListener(A.H.get<object>(callback));
  3791          return A.H.TRUE;
  3792        } catch (err: any) {
  3793          A.store.Ref(errPtr, err);
  3794          return A.H.FALSE;
  3795        }
  3796      },
  3797      "has_OffUserSiteSettingsChanged": (): heap.Ref<boolean> => {
  3798        if (
  3799          WEBEXT?.developerPrivate?.onUserSiteSettingsChanged &&
  3800          "removeListener" in WEBEXT?.developerPrivate?.onUserSiteSettingsChanged
  3801        ) {
  3802          return A.H.TRUE;
  3803        }
  3804        return A.H.FALSE;
  3805      },
  3806      "func_OffUserSiteSettingsChanged": (fn: Pointer): void => {
  3807        A.store.Ref(fn, WEBEXT.developerPrivate.onUserSiteSettingsChanged.removeListener);
  3808      },
  3809      "call_OffUserSiteSettingsChanged": (retPtr: Pointer, callback: heap.Ref<object>): void => {
  3810        const _ret = WEBEXT.developerPrivate.onUserSiteSettingsChanged.removeListener(A.H.get<object>(callback));
  3811      },
  3812      "try_OffUserSiteSettingsChanged": (
  3813        retPtr: Pointer,
  3814        errPtr: Pointer,
  3815        callback: heap.Ref<object>
  3816      ): heap.Ref<boolean> => {
  3817        try {
  3818          const _ret = WEBEXT.developerPrivate.onUserSiteSettingsChanged.removeListener(A.H.get<object>(callback));
  3819          return A.H.TRUE;
  3820        } catch (err: any) {
  3821          A.store.Ref(errPtr, err);
  3822          return A.H.FALSE;
  3823        }
  3824      },
  3825      "has_HasOnUserSiteSettingsChanged": (): heap.Ref<boolean> => {
  3826        if (
  3827          WEBEXT?.developerPrivate?.onUserSiteSettingsChanged &&
  3828          "hasListener" in WEBEXT?.developerPrivate?.onUserSiteSettingsChanged
  3829        ) {
  3830          return A.H.TRUE;
  3831        }
  3832        return A.H.FALSE;
  3833      },
  3834      "func_HasOnUserSiteSettingsChanged": (fn: Pointer): void => {
  3835        A.store.Ref(fn, WEBEXT.developerPrivate.onUserSiteSettingsChanged.hasListener);
  3836      },
  3837      "call_HasOnUserSiteSettingsChanged": (retPtr: Pointer, callback: heap.Ref<object>): void => {
  3838        const _ret = WEBEXT.developerPrivate.onUserSiteSettingsChanged.hasListener(A.H.get<object>(callback));
  3839        A.store.Bool(retPtr, _ret);
  3840      },
  3841      "try_HasOnUserSiteSettingsChanged": (
  3842        retPtr: Pointer,
  3843        errPtr: Pointer,
  3844        callback: heap.Ref<object>
  3845      ): heap.Ref<boolean> => {
  3846        try {
  3847          const _ret = WEBEXT.developerPrivate.onUserSiteSettingsChanged.hasListener(A.H.get<object>(callback));
  3848          A.store.Bool(retPtr, _ret);
  3849          return A.H.TRUE;
  3850        } catch (err: any) {
  3851          A.store.Ref(errPtr, err);
  3852          return A.H.FALSE;
  3853        }
  3854      },
  3855      "has_OpenDevTools": (): heap.Ref<boolean> => {
  3856        if (WEBEXT?.developerPrivate && "openDevTools" in WEBEXT?.developerPrivate) {
  3857          return A.H.TRUE;
  3858        }
  3859        return A.H.FALSE;
  3860      },
  3861      "func_OpenDevTools": (fn: Pointer): void => {
  3862        A.store.Ref(fn, WEBEXT.developerPrivate.openDevTools);
  3863      },
  3864      "call_OpenDevTools": (retPtr: Pointer, properties: Pointer): void => {
  3865        const properties_ffi = {};
  3866  
  3867        properties_ffi["extensionId"] = A.load.Ref(properties + 0, undefined);
  3868        if (A.load.Bool(properties + 28)) {
  3869          properties_ffi["renderViewId"] = A.load.Int32(properties + 4);
  3870        }
  3871        if (A.load.Bool(properties + 29)) {
  3872          properties_ffi["renderProcessId"] = A.load.Int32(properties + 8);
  3873        }
  3874        if (A.load.Bool(properties + 30)) {
  3875          properties_ffi["isServiceWorker"] = A.load.Bool(properties + 12);
  3876        }
  3877        if (A.load.Bool(properties + 31)) {
  3878          properties_ffi["incognito"] = A.load.Bool(properties + 13);
  3879        }
  3880        properties_ffi["url"] = A.load.Ref(properties + 16, undefined);
  3881        if (A.load.Bool(properties + 32)) {
  3882          properties_ffi["lineNumber"] = A.load.Int32(properties + 20);
  3883        }
  3884        if (A.load.Bool(properties + 33)) {
  3885          properties_ffi["columnNumber"] = A.load.Int32(properties + 24);
  3886        }
  3887  
  3888        const _ret = WEBEXT.developerPrivate.openDevTools(properties_ffi);
  3889        A.store.Ref(retPtr, _ret);
  3890      },
  3891      "try_OpenDevTools": (retPtr: Pointer, errPtr: Pointer, properties: Pointer): heap.Ref<boolean> => {
  3892        try {
  3893          const properties_ffi = {};
  3894  
  3895          properties_ffi["extensionId"] = A.load.Ref(properties + 0, undefined);
  3896          if (A.load.Bool(properties + 28)) {
  3897            properties_ffi["renderViewId"] = A.load.Int32(properties + 4);
  3898          }
  3899          if (A.load.Bool(properties + 29)) {
  3900            properties_ffi["renderProcessId"] = A.load.Int32(properties + 8);
  3901          }
  3902          if (A.load.Bool(properties + 30)) {
  3903            properties_ffi["isServiceWorker"] = A.load.Bool(properties + 12);
  3904          }
  3905          if (A.load.Bool(properties + 31)) {
  3906            properties_ffi["incognito"] = A.load.Bool(properties + 13);
  3907          }
  3908          properties_ffi["url"] = A.load.Ref(properties + 16, undefined);
  3909          if (A.load.Bool(properties + 32)) {
  3910            properties_ffi["lineNumber"] = A.load.Int32(properties + 20);
  3911          }
  3912          if (A.load.Bool(properties + 33)) {
  3913            properties_ffi["columnNumber"] = A.load.Int32(properties + 24);
  3914          }
  3915  
  3916          const _ret = WEBEXT.developerPrivate.openDevTools(properties_ffi);
  3917          A.store.Ref(retPtr, _ret);
  3918          return A.H.TRUE;
  3919        } catch (err: any) {
  3920          A.store.Ref(errPtr, err);
  3921          return A.H.FALSE;
  3922        }
  3923      },
  3924      "has_PackDirectory": (): heap.Ref<boolean> => {
  3925        if (WEBEXT?.developerPrivate && "packDirectory" in WEBEXT?.developerPrivate) {
  3926          return A.H.TRUE;
  3927        }
  3928        return A.H.FALSE;
  3929      },
  3930      "func_PackDirectory": (fn: Pointer): void => {
  3931        A.store.Ref(fn, WEBEXT.developerPrivate.packDirectory);
  3932      },
  3933      "call_PackDirectory": (
  3934        retPtr: Pointer,
  3935        path: heap.Ref<object>,
  3936        privateKeyPath: heap.Ref<object>,
  3937        flags: number
  3938      ): void => {
  3939        const _ret = WEBEXT.developerPrivate.packDirectory(A.H.get<object>(path), A.H.get<object>(privateKeyPath), flags);
  3940        A.store.Ref(retPtr, _ret);
  3941      },
  3942      "try_PackDirectory": (
  3943        retPtr: Pointer,
  3944        errPtr: Pointer,
  3945        path: heap.Ref<object>,
  3946        privateKeyPath: heap.Ref<object>,
  3947        flags: number
  3948      ): heap.Ref<boolean> => {
  3949        try {
  3950          const _ret = WEBEXT.developerPrivate.packDirectory(
  3951            A.H.get<object>(path),
  3952            A.H.get<object>(privateKeyPath),
  3953            flags
  3954          );
  3955          A.store.Ref(retPtr, _ret);
  3956          return A.H.TRUE;
  3957        } catch (err: any) {
  3958          A.store.Ref(errPtr, err);
  3959          return A.H.FALSE;
  3960        }
  3961      },
  3962      "has_Reload": (): heap.Ref<boolean> => {
  3963        if (WEBEXT?.developerPrivate && "reload" in WEBEXT?.developerPrivate) {
  3964          return A.H.TRUE;
  3965        }
  3966        return A.H.FALSE;
  3967      },
  3968      "func_Reload": (fn: Pointer): void => {
  3969        A.store.Ref(fn, WEBEXT.developerPrivate.reload);
  3970      },
  3971      "call_Reload": (retPtr: Pointer, extensionId: heap.Ref<object>, options: Pointer): void => {
  3972        const options_ffi = {};
  3973  
  3974        if (A.load.Bool(options + 2)) {
  3975          options_ffi["failQuietly"] = A.load.Bool(options + 0);
  3976        }
  3977        if (A.load.Bool(options + 3)) {
  3978          options_ffi["populateErrorForUnpacked"] = A.load.Bool(options + 1);
  3979        }
  3980  
  3981        const _ret = WEBEXT.developerPrivate.reload(A.H.get<object>(extensionId), options_ffi);
  3982        A.store.Ref(retPtr, _ret);
  3983      },
  3984      "try_Reload": (
  3985        retPtr: Pointer,
  3986        errPtr: Pointer,
  3987        extensionId: heap.Ref<object>,
  3988        options: Pointer
  3989      ): heap.Ref<boolean> => {
  3990        try {
  3991          const options_ffi = {};
  3992  
  3993          if (A.load.Bool(options + 2)) {
  3994            options_ffi["failQuietly"] = A.load.Bool(options + 0);
  3995          }
  3996          if (A.load.Bool(options + 3)) {
  3997            options_ffi["populateErrorForUnpacked"] = A.load.Bool(options + 1);
  3998          }
  3999  
  4000          const _ret = WEBEXT.developerPrivate.reload(A.H.get<object>(extensionId), options_ffi);
  4001          A.store.Ref(retPtr, _ret);
  4002          return A.H.TRUE;
  4003        } catch (err: any) {
  4004          A.store.Ref(errPtr, err);
  4005          return A.H.FALSE;
  4006        }
  4007      },
  4008      "has_RemoveHostPermission": (): heap.Ref<boolean> => {
  4009        if (WEBEXT?.developerPrivate && "removeHostPermission" in WEBEXT?.developerPrivate) {
  4010          return A.H.TRUE;
  4011        }
  4012        return A.H.FALSE;
  4013      },
  4014      "func_RemoveHostPermission": (fn: Pointer): void => {
  4015        A.store.Ref(fn, WEBEXT.developerPrivate.removeHostPermission);
  4016      },
  4017      "call_RemoveHostPermission": (retPtr: Pointer, extensionId: heap.Ref<object>, host: heap.Ref<object>): void => {
  4018        const _ret = WEBEXT.developerPrivate.removeHostPermission(A.H.get<object>(extensionId), A.H.get<object>(host));
  4019        A.store.Ref(retPtr, _ret);
  4020      },
  4021      "try_RemoveHostPermission": (
  4022        retPtr: Pointer,
  4023        errPtr: Pointer,
  4024        extensionId: heap.Ref<object>,
  4025        host: heap.Ref<object>
  4026      ): heap.Ref<boolean> => {
  4027        try {
  4028          const _ret = WEBEXT.developerPrivate.removeHostPermission(A.H.get<object>(extensionId), A.H.get<object>(host));
  4029          A.store.Ref(retPtr, _ret);
  4030          return A.H.TRUE;
  4031        } catch (err: any) {
  4032          A.store.Ref(errPtr, err);
  4033          return A.H.FALSE;
  4034        }
  4035      },
  4036      "has_RemoveMultipleExtensions": (): heap.Ref<boolean> => {
  4037        if (WEBEXT?.developerPrivate && "removeMultipleExtensions" in WEBEXT?.developerPrivate) {
  4038          return A.H.TRUE;
  4039        }
  4040        return A.H.FALSE;
  4041      },
  4042      "func_RemoveMultipleExtensions": (fn: Pointer): void => {
  4043        A.store.Ref(fn, WEBEXT.developerPrivate.removeMultipleExtensions);
  4044      },
  4045      "call_RemoveMultipleExtensions": (retPtr: Pointer, extensionIds: heap.Ref<object>): void => {
  4046        const _ret = WEBEXT.developerPrivate.removeMultipleExtensions(A.H.get<object>(extensionIds));
  4047        A.store.Ref(retPtr, _ret);
  4048      },
  4049      "try_RemoveMultipleExtensions": (
  4050        retPtr: Pointer,
  4051        errPtr: Pointer,
  4052        extensionIds: heap.Ref<object>
  4053      ): heap.Ref<boolean> => {
  4054        try {
  4055          const _ret = WEBEXT.developerPrivate.removeMultipleExtensions(A.H.get<object>(extensionIds));
  4056          A.store.Ref(retPtr, _ret);
  4057          return A.H.TRUE;
  4058        } catch (err: any) {
  4059          A.store.Ref(errPtr, err);
  4060          return A.H.FALSE;
  4061        }
  4062      },
  4063      "has_RemoveUserSpecifiedSites": (): heap.Ref<boolean> => {
  4064        if (WEBEXT?.developerPrivate && "removeUserSpecifiedSites" in WEBEXT?.developerPrivate) {
  4065          return A.H.TRUE;
  4066        }
  4067        return A.H.FALSE;
  4068      },
  4069      "func_RemoveUserSpecifiedSites": (fn: Pointer): void => {
  4070        A.store.Ref(fn, WEBEXT.developerPrivate.removeUserSpecifiedSites);
  4071      },
  4072      "call_RemoveUserSpecifiedSites": (retPtr: Pointer, options: Pointer): void => {
  4073        const options_ffi = {};
  4074  
  4075        options_ffi["siteSet"] = A.load.Enum(options + 0, ["USER_PERMITTED", "USER_RESTRICTED", "EXTENSION_SPECIFIED"]);
  4076        options_ffi["hosts"] = A.load.Ref(options + 4, undefined);
  4077  
  4078        const _ret = WEBEXT.developerPrivate.removeUserSpecifiedSites(options_ffi);
  4079        A.store.Ref(retPtr, _ret);
  4080      },
  4081      "try_RemoveUserSpecifiedSites": (retPtr: Pointer, errPtr: Pointer, options: Pointer): heap.Ref<boolean> => {
  4082        try {
  4083          const options_ffi = {};
  4084  
  4085          options_ffi["siteSet"] = A.load.Enum(options + 0, ["USER_PERMITTED", "USER_RESTRICTED", "EXTENSION_SPECIFIED"]);
  4086          options_ffi["hosts"] = A.load.Ref(options + 4, undefined);
  4087  
  4088          const _ret = WEBEXT.developerPrivate.removeUserSpecifiedSites(options_ffi);
  4089          A.store.Ref(retPtr, _ret);
  4090          return A.H.TRUE;
  4091        } catch (err: any) {
  4092          A.store.Ref(errPtr, err);
  4093          return A.H.FALSE;
  4094        }
  4095      },
  4096      "has_RepairExtension": (): heap.Ref<boolean> => {
  4097        if (WEBEXT?.developerPrivate && "repairExtension" in WEBEXT?.developerPrivate) {
  4098          return A.H.TRUE;
  4099        }
  4100        return A.H.FALSE;
  4101      },
  4102      "func_RepairExtension": (fn: Pointer): void => {
  4103        A.store.Ref(fn, WEBEXT.developerPrivate.repairExtension);
  4104      },
  4105      "call_RepairExtension": (retPtr: Pointer, extensionId: heap.Ref<object>): void => {
  4106        const _ret = WEBEXT.developerPrivate.repairExtension(A.H.get<object>(extensionId));
  4107        A.store.Ref(retPtr, _ret);
  4108      },
  4109      "try_RepairExtension": (retPtr: Pointer, errPtr: Pointer, extensionId: heap.Ref<object>): heap.Ref<boolean> => {
  4110        try {
  4111          const _ret = WEBEXT.developerPrivate.repairExtension(A.H.get<object>(extensionId));
  4112          A.store.Ref(retPtr, _ret);
  4113          return A.H.TRUE;
  4114        } catch (err: any) {
  4115          A.store.Ref(errPtr, err);
  4116          return A.H.FALSE;
  4117        }
  4118      },
  4119      "has_RequestFileSource": (): heap.Ref<boolean> => {
  4120        if (WEBEXT?.developerPrivate && "requestFileSource" in WEBEXT?.developerPrivate) {
  4121          return A.H.TRUE;
  4122        }
  4123        return A.H.FALSE;
  4124      },
  4125      "func_RequestFileSource": (fn: Pointer): void => {
  4126        A.store.Ref(fn, WEBEXT.developerPrivate.requestFileSource);
  4127      },
  4128      "call_RequestFileSource": (retPtr: Pointer, properties: Pointer): void => {
  4129        const properties_ffi = {};
  4130  
  4131        properties_ffi["extensionId"] = A.load.Ref(properties + 0, undefined);
  4132        properties_ffi["pathSuffix"] = A.load.Ref(properties + 4, undefined);
  4133        properties_ffi["message"] = A.load.Ref(properties + 8, undefined);
  4134        properties_ffi["manifestKey"] = A.load.Ref(properties + 12, undefined);
  4135        properties_ffi["manifestSpecific"] = A.load.Ref(properties + 16, undefined);
  4136        if (A.load.Bool(properties + 24)) {
  4137          properties_ffi["lineNumber"] = A.load.Int32(properties + 20);
  4138        }
  4139  
  4140        const _ret = WEBEXT.developerPrivate.requestFileSource(properties_ffi);
  4141        A.store.Ref(retPtr, _ret);
  4142      },
  4143      "try_RequestFileSource": (retPtr: Pointer, errPtr: Pointer, properties: Pointer): heap.Ref<boolean> => {
  4144        try {
  4145          const properties_ffi = {};
  4146  
  4147          properties_ffi["extensionId"] = A.load.Ref(properties + 0, undefined);
  4148          properties_ffi["pathSuffix"] = A.load.Ref(properties + 4, undefined);
  4149          properties_ffi["message"] = A.load.Ref(properties + 8, undefined);
  4150          properties_ffi["manifestKey"] = A.load.Ref(properties + 12, undefined);
  4151          properties_ffi["manifestSpecific"] = A.load.Ref(properties + 16, undefined);
  4152          if (A.load.Bool(properties + 24)) {
  4153            properties_ffi["lineNumber"] = A.load.Int32(properties + 20);
  4154          }
  4155  
  4156          const _ret = WEBEXT.developerPrivate.requestFileSource(properties_ffi);
  4157          A.store.Ref(retPtr, _ret);
  4158          return A.H.TRUE;
  4159        } catch (err: any) {
  4160          A.store.Ref(errPtr, err);
  4161          return A.H.FALSE;
  4162        }
  4163      },
  4164      "has_SetShortcutHandlingSuspended": (): heap.Ref<boolean> => {
  4165        if (WEBEXT?.developerPrivate && "setShortcutHandlingSuspended" in WEBEXT?.developerPrivate) {
  4166          return A.H.TRUE;
  4167        }
  4168        return A.H.FALSE;
  4169      },
  4170      "func_SetShortcutHandlingSuspended": (fn: Pointer): void => {
  4171        A.store.Ref(fn, WEBEXT.developerPrivate.setShortcutHandlingSuspended);
  4172      },
  4173      "call_SetShortcutHandlingSuspended": (retPtr: Pointer, isSuspended: heap.Ref<boolean>): void => {
  4174        const _ret = WEBEXT.developerPrivate.setShortcutHandlingSuspended(isSuspended === A.H.TRUE);
  4175        A.store.Ref(retPtr, _ret);
  4176      },
  4177      "try_SetShortcutHandlingSuspended": (
  4178        retPtr: Pointer,
  4179        errPtr: Pointer,
  4180        isSuspended: heap.Ref<boolean>
  4181      ): heap.Ref<boolean> => {
  4182        try {
  4183          const _ret = WEBEXT.developerPrivate.setShortcutHandlingSuspended(isSuspended === A.H.TRUE);
  4184          A.store.Ref(retPtr, _ret);
  4185          return A.H.TRUE;
  4186        } catch (err: any) {
  4187          A.store.Ref(errPtr, err);
  4188          return A.H.FALSE;
  4189        }
  4190      },
  4191      "has_ShowOptions": (): heap.Ref<boolean> => {
  4192        if (WEBEXT?.developerPrivate && "showOptions" in WEBEXT?.developerPrivate) {
  4193          return A.H.TRUE;
  4194        }
  4195        return A.H.FALSE;
  4196      },
  4197      "func_ShowOptions": (fn: Pointer): void => {
  4198        A.store.Ref(fn, WEBEXT.developerPrivate.showOptions);
  4199      },
  4200      "call_ShowOptions": (retPtr: Pointer, extensionId: heap.Ref<object>): void => {
  4201        const _ret = WEBEXT.developerPrivate.showOptions(A.H.get<object>(extensionId));
  4202        A.store.Ref(retPtr, _ret);
  4203      },
  4204      "try_ShowOptions": (retPtr: Pointer, errPtr: Pointer, extensionId: heap.Ref<object>): heap.Ref<boolean> => {
  4205        try {
  4206          const _ret = WEBEXT.developerPrivate.showOptions(A.H.get<object>(extensionId));
  4207          A.store.Ref(retPtr, _ret);
  4208          return A.H.TRUE;
  4209        } catch (err: any) {
  4210          A.store.Ref(errPtr, err);
  4211          return A.H.FALSE;
  4212        }
  4213      },
  4214      "has_ShowPath": (): heap.Ref<boolean> => {
  4215        if (WEBEXT?.developerPrivate && "showPath" in WEBEXT?.developerPrivate) {
  4216          return A.H.TRUE;
  4217        }
  4218        return A.H.FALSE;
  4219      },
  4220      "func_ShowPath": (fn: Pointer): void => {
  4221        A.store.Ref(fn, WEBEXT.developerPrivate.showPath);
  4222      },
  4223      "call_ShowPath": (retPtr: Pointer, extensionId: heap.Ref<object>): void => {
  4224        const _ret = WEBEXT.developerPrivate.showPath(A.H.get<object>(extensionId));
  4225        A.store.Ref(retPtr, _ret);
  4226      },
  4227      "try_ShowPath": (retPtr: Pointer, errPtr: Pointer, extensionId: heap.Ref<object>): heap.Ref<boolean> => {
  4228        try {
  4229          const _ret = WEBEXT.developerPrivate.showPath(A.H.get<object>(extensionId));
  4230          A.store.Ref(retPtr, _ret);
  4231          return A.H.TRUE;
  4232        } catch (err: any) {
  4233          A.store.Ref(errPtr, err);
  4234          return A.H.FALSE;
  4235        }
  4236      },
  4237      "has_UpdateExtensionCommand": (): heap.Ref<boolean> => {
  4238        if (WEBEXT?.developerPrivate && "updateExtensionCommand" in WEBEXT?.developerPrivate) {
  4239          return A.H.TRUE;
  4240        }
  4241        return A.H.FALSE;
  4242      },
  4243      "func_UpdateExtensionCommand": (fn: Pointer): void => {
  4244        A.store.Ref(fn, WEBEXT.developerPrivate.updateExtensionCommand);
  4245      },
  4246      "call_UpdateExtensionCommand": (retPtr: Pointer, update: Pointer): void => {
  4247        const update_ffi = {};
  4248  
  4249        update_ffi["extensionId"] = A.load.Ref(update + 0, undefined);
  4250        update_ffi["commandName"] = A.load.Ref(update + 4, undefined);
  4251        update_ffi["scope"] = A.load.Enum(update + 8, ["GLOBAL", "CHROME"]);
  4252        update_ffi["keybinding"] = A.load.Ref(update + 12, undefined);
  4253  
  4254        const _ret = WEBEXT.developerPrivate.updateExtensionCommand(update_ffi);
  4255        A.store.Ref(retPtr, _ret);
  4256      },
  4257      "try_UpdateExtensionCommand": (retPtr: Pointer, errPtr: Pointer, update: Pointer): heap.Ref<boolean> => {
  4258        try {
  4259          const update_ffi = {};
  4260  
  4261          update_ffi["extensionId"] = A.load.Ref(update + 0, undefined);
  4262          update_ffi["commandName"] = A.load.Ref(update + 4, undefined);
  4263          update_ffi["scope"] = A.load.Enum(update + 8, ["GLOBAL", "CHROME"]);
  4264          update_ffi["keybinding"] = A.load.Ref(update + 12, undefined);
  4265  
  4266          const _ret = WEBEXT.developerPrivate.updateExtensionCommand(update_ffi);
  4267          A.store.Ref(retPtr, _ret);
  4268          return A.H.TRUE;
  4269        } catch (err: any) {
  4270          A.store.Ref(errPtr, err);
  4271          return A.H.FALSE;
  4272        }
  4273      },
  4274      "has_UpdateExtensionConfiguration": (): heap.Ref<boolean> => {
  4275        if (WEBEXT?.developerPrivate && "updateExtensionConfiguration" in WEBEXT?.developerPrivate) {
  4276          return A.H.TRUE;
  4277        }
  4278        return A.H.FALSE;
  4279      },
  4280      "func_UpdateExtensionConfiguration": (fn: Pointer): void => {
  4281        A.store.Ref(fn, WEBEXT.developerPrivate.updateExtensionConfiguration);
  4282      },
  4283      "call_UpdateExtensionConfiguration": (retPtr: Pointer, update: Pointer): void => {
  4284        const update_ffi = {};
  4285  
  4286        update_ffi["extensionId"] = A.load.Ref(update + 0, undefined);
  4287        if (A.load.Bool(update + 15)) {
  4288          update_ffi["fileAccess"] = A.load.Bool(update + 4);
  4289        }
  4290        if (A.load.Bool(update + 16)) {
  4291          update_ffi["incognitoAccess"] = A.load.Bool(update + 5);
  4292        }
  4293        if (A.load.Bool(update + 17)) {
  4294          update_ffi["errorCollection"] = A.load.Bool(update + 6);
  4295        }
  4296        update_ffi["hostAccess"] = A.load.Enum(update + 8, ["ON_CLICK", "ON_SPECIFIC_SITES", "ON_ALL_SITES"]);
  4297        if (A.load.Bool(update + 18)) {
  4298          update_ffi["showAccessRequestsInToolbar"] = A.load.Bool(update + 12);
  4299        }
  4300        if (A.load.Bool(update + 19)) {
  4301          update_ffi["acknowledgeSafetyCheckWarning"] = A.load.Bool(update + 13);
  4302        }
  4303        if (A.load.Bool(update + 20)) {
  4304          update_ffi["pinnedToToolbar"] = A.load.Bool(update + 14);
  4305        }
  4306  
  4307        const _ret = WEBEXT.developerPrivate.updateExtensionConfiguration(update_ffi);
  4308        A.store.Ref(retPtr, _ret);
  4309      },
  4310      "try_UpdateExtensionConfiguration": (retPtr: Pointer, errPtr: Pointer, update: Pointer): heap.Ref<boolean> => {
  4311        try {
  4312          const update_ffi = {};
  4313  
  4314          update_ffi["extensionId"] = A.load.Ref(update + 0, undefined);
  4315          if (A.load.Bool(update + 15)) {
  4316            update_ffi["fileAccess"] = A.load.Bool(update + 4);
  4317          }
  4318          if (A.load.Bool(update + 16)) {
  4319            update_ffi["incognitoAccess"] = A.load.Bool(update + 5);
  4320          }
  4321          if (A.load.Bool(update + 17)) {
  4322            update_ffi["errorCollection"] = A.load.Bool(update + 6);
  4323          }
  4324          update_ffi["hostAccess"] = A.load.Enum(update + 8, ["ON_CLICK", "ON_SPECIFIC_SITES", "ON_ALL_SITES"]);
  4325          if (A.load.Bool(update + 18)) {
  4326            update_ffi["showAccessRequestsInToolbar"] = A.load.Bool(update + 12);
  4327          }
  4328          if (A.load.Bool(update + 19)) {
  4329            update_ffi["acknowledgeSafetyCheckWarning"] = A.load.Bool(update + 13);
  4330          }
  4331          if (A.load.Bool(update + 20)) {
  4332            update_ffi["pinnedToToolbar"] = A.load.Bool(update + 14);
  4333          }
  4334  
  4335          const _ret = WEBEXT.developerPrivate.updateExtensionConfiguration(update_ffi);
  4336          A.store.Ref(retPtr, _ret);
  4337          return A.H.TRUE;
  4338        } catch (err: any) {
  4339          A.store.Ref(errPtr, err);
  4340          return A.H.FALSE;
  4341        }
  4342      },
  4343      "has_UpdateProfileConfiguration": (): heap.Ref<boolean> => {
  4344        if (WEBEXT?.developerPrivate && "updateProfileConfiguration" in WEBEXT?.developerPrivate) {
  4345          return A.H.TRUE;
  4346        }
  4347        return A.H.FALSE;
  4348      },
  4349      "func_UpdateProfileConfiguration": (fn: Pointer): void => {
  4350        A.store.Ref(fn, WEBEXT.developerPrivate.updateProfileConfiguration);
  4351      },
  4352      "call_UpdateProfileConfiguration": (retPtr: Pointer, update: Pointer): void => {
  4353        const update_ffi = {};
  4354  
  4355        if (A.load.Bool(update + 1)) {
  4356          update_ffi["inDeveloperMode"] = A.load.Bool(update + 0);
  4357        }
  4358  
  4359        const _ret = WEBEXT.developerPrivate.updateProfileConfiguration(update_ffi);
  4360        A.store.Ref(retPtr, _ret);
  4361      },
  4362      "try_UpdateProfileConfiguration": (retPtr: Pointer, errPtr: Pointer, update: Pointer): heap.Ref<boolean> => {
  4363        try {
  4364          const update_ffi = {};
  4365  
  4366          if (A.load.Bool(update + 1)) {
  4367            update_ffi["inDeveloperMode"] = A.load.Bool(update + 0);
  4368          }
  4369  
  4370          const _ret = WEBEXT.developerPrivate.updateProfileConfiguration(update_ffi);
  4371          A.store.Ref(retPtr, _ret);
  4372          return A.H.TRUE;
  4373        } catch (err: any) {
  4374          A.store.Ref(errPtr, err);
  4375          return A.H.FALSE;
  4376        }
  4377      },
  4378      "has_UpdateSiteAccess": (): heap.Ref<boolean> => {
  4379        if (WEBEXT?.developerPrivate && "updateSiteAccess" in WEBEXT?.developerPrivate) {
  4380          return A.H.TRUE;
  4381        }
  4382        return A.H.FALSE;
  4383      },
  4384      "func_UpdateSiteAccess": (fn: Pointer): void => {
  4385        A.store.Ref(fn, WEBEXT.developerPrivate.updateSiteAccess);
  4386      },
  4387      "call_UpdateSiteAccess": (retPtr: Pointer, site: heap.Ref<object>, updates: heap.Ref<object>): void => {
  4388        const _ret = WEBEXT.developerPrivate.updateSiteAccess(A.H.get<object>(site), A.H.get<object>(updates));
  4389        A.store.Ref(retPtr, _ret);
  4390      },
  4391      "try_UpdateSiteAccess": (
  4392        retPtr: Pointer,
  4393        errPtr: Pointer,
  4394        site: heap.Ref<object>,
  4395        updates: heap.Ref<object>
  4396      ): heap.Ref<boolean> => {
  4397        try {
  4398          const _ret = WEBEXT.developerPrivate.updateSiteAccess(A.H.get<object>(site), A.H.get<object>(updates));
  4399          A.store.Ref(retPtr, _ret);
  4400          return A.H.TRUE;
  4401        } catch (err: any) {
  4402          A.store.Ref(errPtr, err);
  4403          return A.H.FALSE;
  4404        }
  4405      },
  4406    };
  4407  });